@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700&family=Space+Grotesk:wght@400;500;600&display=swap";*{box-sizing:border-box;margin:0;padding:0}body{color:#1a1a1a;background:#fff;min-height:100vh;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6}.app{min-height:100vh;padding:0}.landing{--landing-ink:#141414;--landing-muted:#5a5a5a;--landing-border:#e6e1d8;--landing-card:#fff;min-height:100vh;color:var(--landing-ink);background:radial-gradient(800px 400px at 10% 10%,#f05d5e2e,#0000 60%),radial-gradient(700px 380px at 85% 5%,#2d6cdf26,#0000 65%),linear-gradient(135deg,#f7f2ea 0%,#fdfbf7 60%,#f3f7f5 100%);padding:3.5rem 2rem 4rem;font-family:Space Grotesk,sans-serif}.landing-hero{background:var(--landing-card);border:1px solid var(--landing-border);grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:2rem;padding:2.5rem;display:grid;box-shadow:0 18px 40px #0f0f0f14}.landing-hero-text h1{letter-spacing:-.01em;margin-bottom:1rem;font-family:Playfair Display,serif;font-size:clamp(2.2rem,4vw,3.5rem);font-weight:700}.landing-eyebrow{text-transform:uppercase;letter-spacing:.28em;color:var(--landing-muted);margin-bottom:1rem;font-size:.7rem;font-weight:600}.landing-subhead{color:var(--landing-muted);max-width:520px;font-size:1.1rem}.landing-hero-actions{flex-wrap:wrap;gap:1rem;margin-top:2rem;display:flex}.landing-btn-primary,.landing-btn-secondary,.landing-link{font-family:Space Grotesk,sans-serif}.landing-btn-primary{color:#fff;text-transform:uppercase;letter-spacing:.12em;cursor:pointer;background:#141414;border:1px solid #141414;justify-content:center;align-items:center;min-height:48px;padding:.75rem 1.8rem;font-size:.8rem;text-decoration:none;transition:all .2s;display:inline-flex}.landing-btn-primary:hover{background:#2b2b2b;border-color:#2b2b2b}.landing-btn-secondary{color:#141414;text-transform:uppercase;letter-spacing:.12em;cursor:pointer;background:0 0;border:1px solid #141414;justify-content:center;align-items:center;min-height:48px;padding:.75rem 1.8rem;font-size:.8rem;transition:all .2s;display:inline-flex}.landing-btn-secondary:hover{color:#fff;background:#141414}.landing-hero-panel{border-left:1px solid var(--landing-border);padding-left:2rem}.landing-panel-title{text-transform:uppercase;letter-spacing:.2em;color:var(--landing-muted);margin-bottom:1.5rem;font-size:.95rem;font-weight:600}.landing-panel-steps{flex-direction:column;gap:1rem;display:flex}.landing-step{align-items:center;gap:.75rem;font-size:.95rem;display:flex}.landing-step-number{border:1px solid var(--landing-border);color:#141414;background:#fdfbf7;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-weight:600;display:inline-flex}.landing-panel-note{color:var(--landing-muted);margin-top:1.5rem;font-size:.9rem}.landing-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-top:2.5rem;display:grid}.landing-card{background:var(--landing-card);border:1px solid var(--landing-border);border-top:4px solid var(--card-accent,#141414);flex-direction:column;gap:1rem;padding:1.75rem;display:flex;box-shadow:0 12px 30px #0f0f0f0f}.landing-card h3{margin:0;font-size:1.25rem;font-weight:600}.landing-card p{color:var(--landing-muted);font-size:.95rem}.landing-card-tag{text-transform:uppercase;letter-spacing:.2em;color:var(--landing-muted);font-size:.7rem;font-weight:600}.landing-card-actions{margin-top:auto}.landing-footer{text-align:center;color:var(--landing-muted);margin-top:3rem;font-size:.95rem}.landing-link{color:#141414;cursor:pointer;background:0 0;border:none;margin-left:.4rem;padding:0;font-weight:600;text-decoration:underline}@media (width<=900px){.landing-hero{grid-template-columns:1fr}.landing-hero-panel{border-left:none;border-top:1px solid var(--landing-border);padding-top:1.5rem;padding-left:0}}@media (width<=600px){.landing{padding:2.5rem 1.5rem 3rem}.landing-hero{padding:2rem 1.5rem}.landing-hero-actions{flex-direction:column;align-items:stretch}}.container{background:#fff;max-width:1200px;margin:0 auto;padding:4rem 2rem}.app-shell header{margin-bottom:3rem;padding-bottom:0}.app-shell header.header-compact{margin-bottom:1.75rem}.app-shell header>div{justify-content:space-between;align-items:flex-start;gap:2rem;display:flex}.app-shell header>div>div:first-child{flex:1}.app-shell header h1{color:#1a1a1a;letter-spacing:-.02em;margin-bottom:.75rem;font-size:2.5rem;font-weight:400}.app-shell header p{color:#666;font-size:1rem;font-weight:300}.header-link{margin-top:.5rem}.header-link a{color:#06c;font-weight:400;text-decoration:none;transition:color .2s}.header-link a:hover{color:#0052a3;text-decoration:underline}.header-hidden{display:none}.manual-quote-section{border-top:1px solid #e5e5e5;margin-top:2rem;padding-top:2rem}.manual-quote-section h2{color:#1a1a1a;margin-bottom:.5rem;font-size:1.5rem;font-weight:400}.manual-quote-subtitle{color:#666;margin-bottom:1.5rem;font-size:.95rem;font-weight:300}.manual-files h3{text-transform:uppercase;letter-spacing:.5px;margin-bottom:.75rem;font-size:1rem}.manual-file{background:#fff;border:1px solid #e5e5e5;margin-bottom:1rem;padding:1rem}.manual-file-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.manual-file-fields{grid-template-columns:180px 1fr;gap:1rem;display:grid}@media (width<=768px){.manual-file-fields{grid-template-columns:1fr}}.manual-inline-field label{color:#1a1a1a;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem;font-size:.9rem;font-weight:500;display:block}.manual-customer{margin-top:2rem}.link-upload-section{border-top:1px solid #e5e5e5;margin-top:2rem;padding-top:2rem}.link-upload-only{border-top:none;margin-top:0;padding-top:0}.link-upload-section h2{color:#1a1a1a;margin-bottom:.5rem;font-size:1.5rem;font-weight:400}.link-upload-subtitle{color:#666;margin-bottom:1.5rem;font-size:.95rem;font-weight:300}.link-upload-form{flex-direction:column;gap:1rem;display:flex}.link-actions{justify-content:flex-end;display:flex}.link-validation{color:#a53d3d;margin-top:.5rem;font-size:.85rem}.link-disclaimer{color:#666;font-size:.875rem;font-weight:300}.privacy-link{color:#666;margin:0;font-size:.85rem}.privacy-link a{color:#06c;text-decoration:none}.privacy-link a:hover{text-decoration:underline}.entry-panel{flex-direction:column;gap:1.5rem;display:flex}.entry-panel-body{min-height:320px}@media (width<=768px){.entry-panel-body{min-height:260px}}.link-toggle{color:#666;align-items:center;gap:.75rem;margin-top:1rem;font-size:.9rem;display:flex}.link-toggle-inline{margin-top:1.5rem}.link-toggle-btn{color:#06c;cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem;font-weight:500;text-decoration:underline}.link-toggle-btn:hover{color:#0052a3}.upload-section{margin-bottom:3rem}.upload-area{text-align:center;cursor:pointer;background:#fafafa;border:2px dashed #d0d0d0;padding:4rem 2rem;transition:all .2s}.upload-area:hover{background:#f5f5f5;border-color:#1a1a1a}.upload-area.dragover{background:#f0f0f0;border-color:#1a1a1a}.upload-area.uploading{cursor:not-allowed;background:#f5f5f5;border-color:#1a1a1a}.upload-content{flex-direction:column;align-items:center;gap:1rem;display:flex}.upload-content svg{color:#1a1a1a;opacity:.6}.upload-text{color:#1a1a1a;font-size:1rem;font-weight:400}.upload-text strong{font-weight:500}.upload-hint{color:#999;font-size:.875rem;font-weight:300}.file-info{background:#f5f5f5;border:1px solid #e5e5e5;justify-content:space-between;align-items:center;margin-top:1.5rem;padding:1rem 1.5rem;display:flex}.file-info p{color:#1a1a1a;font-size:.9rem}.btn-clear{color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;background:#1a1a1a;border:none;padding:.5rem 1.25rem;font-size:.875rem;font-weight:400;transition:background .2s}.btn-clear:hover{background:#333}.error-message{color:#1a1a1a;background:#fafafa;border-left:3px solid #1a1a1a;margin:1.5rem 0;padding:1rem 1.5rem;font-size:.9rem}.draft-restored-message{color:#1f3e67;background:#eef6ff;border-left:3px solid #2d6cdf;justify-content:space-between;align-items:center;gap:1rem;margin:0 0 1.5rem;padding:.85rem 1rem;font-size:.9rem;display:flex}.draft-restored-message p{margin:0}.draft-restored-message button{color:#1f3e67;cursor:pointer;font:inherit;background:#fff;border:1px solid #a6d1ff;flex:none;padding:.4rem .7rem;font-size:.82rem}.draft-restored-message button:hover{background:#f8fbff}.main-content-layout{grid-template-columns:1fr 1fr;gap:2rem;margin-top:3rem;display:grid}.preview-column{flex-direction:column;display:flex}.preview-column.expanded{grid-column:1/-1}.preview-column.expanded .preview-container{width:100%;height:600px;min-height:600px}.preview-header{justify-content:space-between;align-items:center;margin-top:0;margin-bottom:1.5rem;display:flex}.preview-header h2{color:#1a1a1a;letter-spacing:-.01em;margin:0;font-size:1.75rem;font-weight:400}.preview-toggle-btn{color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;background:#1a1a1a;border:none;padding:.5rem 1rem;font-size:.875rem;font-weight:400;transition:background .2s}.preview-toggle-btn:hover{background:#333}.preview-container{background:#fafafa;border:1px solid #e5e5e5;width:100%;height:400px;min-height:400px;transition:all .3s;display:block;position:relative;overflow:hidden}.preview-container.expanded{height:600px;min-height:600px}.results-column{flex-direction:column;display:flex}.results-column.full-width{grid-column:1/-1}.preview-canvas{cursor:grab;display:block;position:relative;width:100%!important;height:100%!important}.preview-canvas canvas{display:block;width:100%!important;height:100%!important}.preview-canvas:active{cursor:grabbing}.preview-hint{color:#999;pointer-events:none;font-size:.9rem;font-weight:300;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.preview-controls-hint{color:#999;pointer-events:none;background:#fffc;padding:.5rem 1rem;font-size:.75rem;font-weight:300;position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}.image-preview-container{justify-content:center;align-items:center;width:100%;height:100%;display:flex;overflow:hidden}.preview-image{object-fit:contain;max-width:100%;max-height:100%;display:block}.results-section{margin-top:0}.results-section h2{color:#1a1a1a;letter-spacing:-.01em;margin-top:0;margin-bottom:1rem;font-size:1.5rem;font-weight:400}.results-compact{background:#fafafa;border:1px solid #e5e5e5;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.color-selection-section{border-top:1px solid #e5e5e5;margin-top:1.5rem;padding-top:1.5rem}.color-selection-section h3{color:#1a1a1a;letter-spacing:-.01em;margin-bottom:1rem;font-size:1.25rem;font-weight:400}.material-selection{flex-direction:column;gap:.75rem;margin-bottom:1.25rem;display:flex}.material-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.material-header h3{margin-bottom:0}.material-info{align-items:center;display:inline-flex;position:relative}.info-icon{color:#1a1a1a;cursor:pointer;background:#fff;border:1px solid #1a1a1a;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.75rem;font-weight:600;line-height:1;transition:background .2s,color .2s;display:inline-flex}.info-icon:hover,.info-icon:focus{color:#fff;background:#1a1a1a}.info-icon:focus{outline:none;box-shadow:0 0 0 2px #1a1a1a33}.material-tooltip{color:#fff;opacity:0;pointer-events:none;z-index:10;background:#1a1a1a;border-radius:8px;width:min(320px,75vw);padding:.75rem .9rem;font-size:.75rem;line-height:1.4;transition:opacity .2s,transform .2s;position:absolute;top:28px;right:0;transform:translateY(6px);box-shadow:0 12px 24px #0003}.material-tooltip p{margin:0 0 .5rem}.material-tooltip p:last-child{margin-bottom:0}.material-info:hover .material-tooltip,.material-info:focus-within .material-tooltip{opacity:1;pointer-events:auto;transform:translateY(0)}.material-options{flex-wrap:wrap;gap:.5rem;display:flex}.material-option{color:#1a1a1a;text-transform:uppercase;letter-spacing:.6px;cursor:pointer;background:#fff;border:2px solid #e5e5e5;border-radius:999px;padding:.45rem .9rem;font-size:.7rem;transition:all .2s}.material-option:hover{background:#fafafa;border-color:#1a1a1a}.material-option.selected{background:#f0f0f0;border-color:#1a1a1a;box-shadow:0 2px 6px #00000026}.color-options{flex-wrap:wrap;gap:.5rem;display:flex}.color-option{cursor:pointer;background:#fff;border:2px solid #e5e5e5;border-radius:4px;flex-direction:column;align-items:center;gap:.25rem;min-width:60px;padding:.5rem;transition:all .2s;display:flex}.color-option:hover{background:#fafafa;border-color:#1a1a1a}.color-option.selected{background:#f0f0f0;border-color:#1a1a1a;box-shadow:0 2px 6px #00000026}.color-swatch{border:2px solid #d0d0d0;border-radius:50%;width:32px;height:32px;box-shadow:0 1px 3px #0000001a}.color-name{color:#1a1a1a;text-align:center;font-size:.7rem;font-weight:500;line-height:1.2}.color-type{color:#666;text-align:center;text-transform:uppercase;letter-spacing:.3px;font-size:.65rem}.color-disclaimer{color:#666;text-align:center;margin-top:.5rem;font-size:.75rem;font-style:italic}.result-item{color:#1a1a1a;justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.9rem;display:flex}.result-label{color:#666;text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:500}.result-value-small{color:#1a1a1a;font-weight:400}.quote-section{background:#fafafa;border:1px solid #e5e5e5;width:100%;margin-top:3rem;padding:2rem}.quote-section h2{color:#1a1a1a;letter-spacing:-.01em;margin-bottom:1rem;font-size:1.75rem;font-weight:400}.quote-minimum-notice{background:#f0f0f0;border-left:3px solid #1a1a1a;margin-bottom:1.5rem;padding:.75rem 1rem}.quote-minimum-notice p{color:#1a1a1a;margin:0;font-size:.95rem}.quote-minimum-notice strong{font-weight:500}.quote-options{grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem;display:grid}@media (width<=768px){.quote-options{grid-template-columns:1fr;gap:1.5rem}}.quote-options-left{flex-direction:column;gap:1rem;display:flex}.quote-options-right{flex-direction:column;align-items:flex-start;gap:1rem;display:flex}.quantity-discount-notice{color:#1a1a1a;background:#e8f5e9;border-left:3px solid #4caf50;border-radius:4px;width:100%;padding:.75rem 1rem;font-size:.875rem}.quantity-discount-notice p{margin:0;line-height:1.4}.quote-discount-info{color:#28a745;font-weight:500}.quote-notes{width:100%;margin-top:1.5rem}.quote-notes label{color:#1a1a1a;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem;font-size:.9rem;font-weight:500;display:block}.checkbox-label{cursor:pointer;color:#1a1a1a;-webkit-user-select:none;user-select:none;align-items:center;gap:.75rem;font-size:.95rem;display:flex}.checkbox-label input[type=checkbox]{cursor:pointer;accent-color:#1a1a1a;width:18px;height:18px}.quote-display{background:#fff;border:1px solid #e5e5e5;padding:1.5rem}.quote-breakdown{flex-direction:column;gap:.75rem;display:flex}.quote-line{color:#1a1a1a;justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.95rem;display:flex}.quote-line.quote-meta{color:#555;font-size:.9rem}.quote-line.quote-total{border-top:2px solid #1a1a1a;margin-top:.5rem;padding-top:1rem;font-size:1.25rem}.auto-fee-notice{color:#1f3e67;background:#eef6ff;border-left:3px solid #a6d1ff;margin-top:.5rem;padding:.75rem}.auto-fee-notice small{font-size:.875rem;line-height:1.4}.minimum-notice{color:#666;border-top:1px solid #e5e5e5;margin-top:.75rem;padding-top:.75rem;font-size:.875rem}.quote-quantity-option{align-items:center;gap:.75rem;width:100%;display:flex}.quote-quantity-option label{color:#1a1a1a;min-width:80px;font-size:.9rem;font-weight:500}.quantity-input-simple{text-align:center;border:1px solid #d0d0d0;border-radius:4px;width:70px;padding:.5rem;font-size:.9rem;font-weight:500}.quantity-input-simple:focus{border-color:#1a1a1a;outline:none}.add-to-cart-section{text-align:center;border-top:1px solid #e5e5e5;flex-direction:column;align-items:center;gap:1rem;margin-top:2rem;padding-top:2rem;display:flex}.btn-add-to-cart{color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;background:#1a1a1a;border:none;padding:.75rem 2rem;font-size:1rem;font-weight:400;transition:background .2s}.btn-add-to-cart:hover{background:#333}.cart-hint{color:#666;margin-top:.75rem;font-size:.875rem;font-weight:300}.cart-hint-error{color:#b91c1c;margin-top:.75rem;font-size:.875rem;font-weight:400}.cart-hint-success{color:#155724;text-align:center;margin-top:.75rem;font-size:.875rem;font-weight:400}.cart-section{background:#fafafa;border:1px solid #e5e5e5;margin-top:3rem;padding:2rem}.cart-section h2{color:#1a1a1a;letter-spacing:-.01em;margin-bottom:1.5rem;font-size:1.75rem;font-weight:400}.cart-items{flex-direction:column;gap:1rem;margin-bottom:1.5rem;display:flex}.cart-item{background:#fff;border:1px solid #e5e5e5;justify-content:space-between;align-items:center;padding:1rem;display:flex}.cart-item-info{flex:1;justify-content:space-between;align-items:center;gap:1rem;display:flex}.cart-item-name-section{flex-direction:column;gap:.5rem;display:flex}.cart-item-failed{background:#eef6ff;border-color:#cfe2ff}.cart-item-error-message{margin-top:.5rem}.cart-item-error-badge{color:#1c5d99;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem;font-size:.75rem;font-weight:500;display:inline-block}.cart-item-error-text{color:#666;margin:0;font-size:.875rem;font-style:italic;line-height:1.4}.cart-item-color{color:#666;align-items:center;gap:.5rem;margin-top:.25rem;font-size:.75rem;display:flex}.color-dot{border:1px solid #d0d0d0;border-radius:50%;width:12px;height:12px;display:inline-block}.order-item-color{color:#666;align-items:center;gap:.5rem;margin-top:.25rem;font-size:.75rem;display:flex}.cart-item-name{color:#1a1a1a;font-weight:500}.cart-item-link,.order-item-link,.submitted-item-link{color:#06c;font-size:.75rem}.cart-item-link a,.order-item-link a,.submitted-item-link a{color:#06c;word-break:break-all;text-decoration:none}.cart-item-link a:hover,.order-item-link a:hover,.submitted-item-link a:hover{text-decoration:underline}.cart-item-quantity-price{flex-direction:column;align-items:flex-end;gap:.5rem;display:flex}.quantity-controls{align-items:center;gap:.5rem;display:flex}.qty-btn{cursor:pointer;background:#fff;border:1px solid #d0d0d0;border-radius:2px;justify-content:center;align-items:center;width:24px;height:24px;font-size:1rem;line-height:1;transition:all .2s;display:flex}.qty-btn:hover:not(:disabled){background:#f0f0f0;border-color:#1a1a1a}.qty-btn:disabled{opacity:.5;cursor:not-allowed}.quantity-display{color:#666;text-align:center;min-width:50px;font-size:.875rem}.cart-item-price{color:#1a1a1a;font-weight:500}.quantity-badge{color:#666;font-size:.875rem;font-weight:400}.quantity-selector{justify-content:center;align-items:center;gap:.75rem;display:flex}.quantity-selector label{color:#1a1a1a;font-size:.9rem;font-weight:500}.add-to-cart-section .quantity-controls{align-items:center;gap:.5rem;display:flex}.quantity-input-inline{text-align:center;background:#fff;border:1px solid #d0d0d0;border-radius:2px;width:50px;padding:.25rem;font-size:.9rem;font-weight:500}.quantity-input-inline:focus{border-color:#1a1a1a;outline:none}.large-batch-notice{color:#1f3e67;background:#eef6ff;border-left:3px solid #a6d1ff;border-radius:4px;margin-top:.75rem;padding:.75rem 1rem;font-size:.875rem}.large-batch-notice p{margin:0;line-height:1.5}.large-batch-notice a{color:#1c5d99;font-weight:500;text-decoration:underline}.large-batch-notice a:hover{color:#0f4b7b}.large-batch-notice-inline{color:#1f3e67;background:#eef6ff;border-left:3px solid #a6d1ff;border-radius:4px;margin-top:.5rem;padding:.5rem .75rem;font-size:.8rem}.large-batch-notice-inline p{margin:0;line-height:1.4}.large-batch-notice-inline a{color:#1c5d99;font-weight:500;text-decoration:underline}.large-batch-notice-inline a:hover{color:#0f4b7b}.order-submitted-modal{max-width:800px;max-height:90vh;overflow-y:auto}.order-submitted-content{flex-direction:column;gap:2rem;display:flex}.order-id-section{text-align:center;background:#f5f5f5;border:2px solid #1a1a1a;border-radius:8px;padding:2rem}.order-id-section h3{color:#1a1a1a;margin:0 0 1rem;font-size:1.25rem;font-weight:500}.order-id-display{color:#1a1a1a;letter-spacing:.1em;background:#fff;border:1px solid #d0d0d0;border-radius:4px;margin:1rem 0;padding:1rem;font-family:Courier New,monospace;font-size:2rem;font-weight:600}.order-id-hint{color:#666;margin:.5rem 0 0;font-size:.875rem;font-style:italic}.submitted-order-summary{background:#fafafa;border:1px solid #e5e5e5;border-radius:8px;padding:1.5rem}.submitted-order-summary h3{color:#1a1a1a;margin:0 0 1.5rem;font-size:1.5rem;font-weight:500}.submitted-order-summary h4{color:#1a1a1a;margin:1.5rem 0 1rem;font-size:1.125rem;font-weight:500}.submitted-order-summary h4:first-of-type{margin-top:0}.submitted-customer-info{margin-bottom:2rem}.info-row{border-bottom:1px solid #e5e5e5;justify-content:space-between;padding:.5rem 0;display:flex}.info-row:last-child{border-bottom:none}.info-label{color:#666;font-weight:500}.info-value{color:#1a1a1a}.submitted-items-list{margin-bottom:1.5rem}.submitted-item{background:#fff;border:1px solid #e5e5e5;border-radius:4px;margin-bottom:1rem;padding:1rem}.submitted-item-failed{background:#eef6ff;border-color:#cfe2ff}.submitted-item-header{justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;display:flex}.submitted-item-header>div{flex:1}.submitted-item-color{color:#666;align-items:center;gap:.5rem;margin-top:.25rem;font-size:.75rem;display:flex}.submitted-item-error-badge{color:#1f5f9e;background:#d6e8ff;border-radius:4px;margin-top:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;display:inline-block}.submitted-item-price{color:#1a1a1a;font-size:1.125rem;font-weight:600}.submitted-item-breakdown{color:#666;margin-top:.5rem;font-size:.875rem;line-height:1.6}.submitted-item-error{color:#666;margin-top:.5rem;font-size:.875rem;line-height:1.5}.submitted-item-error p{margin:.5rem 0}.submitted-item-error p:first-child{margin-top:0}.submitted-item-error strong{color:#1f4f7a;font-weight:600}.submitted-order-total{border-top:2px solid #1a1a1a;margin-top:1.5rem;padding-top:1.5rem}.total-row{justify-content:space-between;align-items:center;font-size:1.25rem;display:flex}.next-steps-message{background:#e8f5e9;border-left:4px solid #4caf50;border-radius:4px;padding:1.5rem}.next-steps-message h3{color:#1a1a1a;margin:0 0 1rem;font-size:1.25rem;font-weight:500}.next-steps-message p{color:#1a1a1a;margin:.75rem 0;line-height:1.6}.timeline-message{font-weight:500;font-size:1rem!important}.contact-note{color:#666;font-size:.875rem;font-style:italic}.btn-remove-item{color:#ff6b6b;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;background:0 0;border:1px solid #ff6b6b;margin-left:1rem;padding:.5rem 1rem;font-size:.875rem;font-weight:400;transition:all .2s}.btn-remove-item:hover{color:#fff;background:#ff6b6b}.cart-total{border-top:2px solid #1a1a1a;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem 0;font-size:1.25rem;display:flex}.cart-notice{color:#1f3e67;background:#eef6ff;border-left:3px solid #a6d1ff;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.btn-prepare-order{color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;background:#1a1a1a;border:none;width:100%;padding:.75rem 2rem;font-size:1rem;font-weight:400;transition:background .2s}.btn-prepare-order:hover{background:#333}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border:1px solid #e5e5e5;width:100%;max-width:800px;max-height:90vh;position:relative;overflow-y:auto;box-shadow:0 4px 20px #0003}.modal-header{border-bottom:1px solid #e5e5e5;justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex}.modal-header h2{color:#1a1a1a;letter-spacing:-.01em;margin:0;font-size:1.75rem;font-weight:400}.modal-close{color:#666;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;font-size:2rem;line-height:1;transition:color .2s;display:flex}.modal-close:hover{color:#1a1a1a}.modal-close:disabled{opacity:.45;cursor:not-allowed}.modal-blocking-overlay{z-index:15;color:#1a1a1a;text-align:center;background:#ffffffe6;flex-direction:column;justify-content:center;align-items:center;gap:.9rem;display:flex;position:absolute;inset:0}.modal-blocking-overlay p{margin:0;font-size:.95rem;font-weight:500}.modal-spinner{border:3px solid #d9d9d9;border-top-color:#1a1a1a;border-radius:50%;width:34px;height:34px;animation:.9s linear infinite spin}.modal-body{padding:2rem}.order-summary{border-top:1px solid #e5e5e5;margin-top:2rem;padding-top:2rem}.order-summary h3{color:#1a1a1a;letter-spacing:-.01em;margin-bottom:1rem;font-size:1.5rem;font-weight:400}.order-items-list{flex-direction:column;gap:1rem;margin-bottom:1rem;display:flex}.order-item{background:#fafafa;border:1px solid #e5e5e5;padding:1rem}.order-item-header{justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;display:flex}.order-item-actions{text-align:right;flex-direction:column;align-items:flex-end;gap:.35rem;display:flex}.order-item-header>div{flex-direction:column;gap:.5rem;display:flex}.order-item-header strong{color:#1a1a1a;font-size:1rem}.order-item-failed{background:#eef6ff;border-color:#cfe2ff}.order-item-error-badge{color:#1c5d99;text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:500}.order-item-details{color:#666;font-size:.875rem}.btn-item-details{color:#333;text-transform:uppercase;letter-spacing:.4px;cursor:pointer;background:#fff;border:1px solid #d0d0d0;padding:.2rem .45rem;font-size:.75rem}.btn-item-details:hover{color:#111;border-color:#999}.order-item-error-header{margin-bottom:.5rem}.order-item-drilldown{border-top:1px dashed #d9d9d9;flex-direction:column;gap:.45rem;margin-top:.55rem;padding-top:.6rem;display:flex}.order-item-meta{color:#555;font-size:.85rem;line-height:1.45}.order-item-error{color:#666;font-size:.875rem;line-height:1.5}.order-item-error p{margin:.5rem 0}.order-item-error p:first-child{margin-top:0}.order-item-error strong{color:#1f4f7a;font-weight:600}.order-item-breakdown{line-height:1.6}.order-total{border-top:2px solid #1a1a1a;justify-content:space-between;align-items:center;margin-top:1rem;padding:1rem 0;font-size:1.25rem;display:flex}.order-notice{color:#1f3e67;background:#eef6ff;border-left:3px solid #a6d1ff;margin-top:1rem;padding:.75rem 1rem;font-size:.875rem}.customer-form-section{margin-top:0}.customer-form-section h3{color:#1a1a1a;letter-spacing:-.01em;margin-bottom:.35rem;font-size:1.35rem;font-weight:400}.form-hint{color:#666;margin-top:0;margin-bottom:.65rem;font-size:.8125rem;font-weight:300;line-height:1.35}.fulfillment-options{background:#fafafa;border:1px solid #e5e5e5;margin-bottom:.75rem;padding:.55rem .65rem}.fulfillment-legend{text-transform:uppercase;letter-spacing:.04em;color:#1a1a1a;margin:0 0 .4rem;font-size:.8rem;font-weight:600}.fulfillment-choice-row{flex-wrap:wrap;gap:.45rem;display:flex}.fulfillment-choice-btn{cursor:pointer;font:inherit;text-align:left;background:#fff;border:1px solid #c8c8c8;border-radius:2px;flex-direction:column;flex:136px;align-items:flex-start;gap:.1rem;margin:0;padding:.45rem .55rem;transition:border-color .15s,background .15s,box-shadow .15s;display:flex;position:relative}.fulfillment-choice-btn:hover{border-color:#1a1a1a}.fulfillment-choice-btn--active{background:#f2f2f2;border-color:#1a1a1a;box-shadow:inset 0 0 0 1px #1a1a1a}.fulfillment-choice-btn:focus-within{outline-offset:2px;outline:2px solid #1a1a1a}.fulfillment-radio-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fulfillment-choice-text{color:#1a1a1a;font-size:.875rem;font-weight:600}.fulfillment-choice-sub{color:#555;font-size:.75rem;font-weight:400;line-height:1.25}.fulfillment-hint{color:#555;margin-top:0;margin-bottom:0;font-size:.8125rem;line-height:1.35}.pickup-details{border-top:1px solid #e8e8e8;flex-direction:column;align-items:flex-start;gap:.35rem;margin-top:.5rem;padding-top:.45rem;display:flex}.store-map-link{color:#1a1a1a;text-underline-offset:2px;font-size:.875rem;text-decoration:underline}.store-map-link:hover{color:#333}.customer-form{flex-direction:column;gap:1.5rem;display:flex}.customer-form--order-modal{gap:.65rem}.customer-form-fields{grid-template-columns:1fr;gap:.55rem;display:grid}@media (width>=520px){.customer-form-fields{grid-template-columns:1fr 1fr;gap:.55rem .85rem}.customer-form-fields .form-group--full{grid-column:1/-1}}.form-group{flex-direction:column;gap:.25rem;display:flex}.form-group label{color:#1a1a1a;text-transform:uppercase;letter-spacing:.4px;font-size:.8rem;font-weight:500}.form-group .required{color:#ff6b6b}.form-input{color:#1a1a1a;background:#fff;border:1px solid #e5e5e5;padding:.75rem 1rem;font-family:inherit;font-size:.95rem;transition:border-color .2s}.customer-form--order-modal .form-input{padding:.5rem .7rem;font-size:.9rem}.form-input:focus{border-color:#1a1a1a;outline:none}.form-input::placeholder{color:#999}.form-textarea{color:#1a1a1a;resize:vertical;background:#fff;border:1px solid #e5e5e5;width:100%;min-height:96px;padding:.75rem 1rem;font-family:inherit;font-size:.95rem;transition:border-color .2s}.form-textarea:focus{border-color:#1a1a1a;outline:none}.form-textarea::placeholder{color:#999}.btn-submit{color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;background:#1a1a1a;border:1px solid #0000;justify-content:center;align-items:center;min-height:48px;padding:.75rem 2rem;font-size:1rem;font-weight:400;line-height:1;transition:background .2s;display:inline-flex}.btn-submit:hover:not(:disabled){background:#333}.btn-submit:disabled{cursor:not-allowed;background:#999}.modal-actions{justify-content:flex-end;gap:1rem;margin-top:1.5rem;display:flex}.customer-form--order-modal .modal-actions{margin-top:.65rem}.btn-cancel{color:#1a1a1a;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;background:0 0;border:1px solid #1a1a1a;justify-content:center;align-items:center;min-height:48px;padding:.75rem 2rem;font-size:1rem;font-weight:400;line-height:1;transition:all .2s;display:inline-flex}.btn-cancel:hover:not(:disabled){color:#fff;background:#1a1a1a}.btn-cancel:disabled{opacity:.5;cursor:not-allowed}.success-message{color:#155724;background:#d4edda;border-left:3px solid #28a745;margin-top:1rem;padding:1rem 1.5rem;font-size:.9rem}.success-message p{margin:0}.loading-section{justify-content:center;align-items:center;min-height:300px;margin:3rem 0;display:flex}.loading-content{flex-direction:column;align-items:center;gap:2rem;display:flex}.loading-logo{width:auto;max-width:200px;height:auto;max-height:200px;animation:2s ease-in-out infinite pulse}.loading-status{color:#1a1a1a;text-align:center;font-size:1rem;font-weight:400}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.98)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=768px){.container{padding:2rem 1.5rem}.app-shell header{margin-bottom:3rem;padding-bottom:1.5rem}.app-shell header h1{font-size:2rem}.upload-area{padding:3rem 1.5rem}.main-content-layout{grid-template-columns:1fr;gap:2rem}.preview-column.expanded,.results-column.full-width{grid-column:1}.results-grid{grid-template-columns:1fr;gap:1.5rem}.preview-container{height:400px}.preview-container.expanded{height:500px}.results-section{margin-top:0}}
