:root{--navy:#0c5551;--navy-2:#073e3b;--gold:#fc8834;--gold-light:#ffb37a;--cream:#f7f3ea;--paper:#fff;--ink:#153936;--muted:#58706d;--border:#d9ded7;--danger:#a13d3d;--success:#2f6b4f;--shadow:0 16px 44px #0c55511a}*{box-sizing:border-box}html{background:var(--cream)}body{min-height:100vh;color:var(--ink);background:var(--cream);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--navy);letter-spacing:-.035em;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:800}h1{margin-bottom:12px;font-size:clamp(2.35rem,6vw,4.25rem);line-height:1}h2{margin-bottom:12px;font-size:clamp(1.4rem,3vw,2rem);line-height:1.1}h3{margin-bottom:8px;font-size:1.3rem}.shell{width:min(1220px,100% - 32px);margin:0 auto}.site-header{z-index:40;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f7f3eaf0;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:20px;min-height:94px;display:flex}.brand-logo{align-items:center;width:190px;height:64px;display:flex}.brand-logo img{object-fit:contain;width:190px;height:auto}.surface-switch{background:#f4eee5;border-radius:16px;gap:6px;padding:5px;display:flex}.header-actions,.account-actions{align-items:center;gap:10px;display:flex}.account-actions{gap:7px}.account-actions span{max-width:170px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:700;overflow:hidden}.header-auth-link{min-height:35px;color:var(--navy);background:0 0;border:0;border-radius:9px;align-items:center;padding:7px 9px;font-size:.8rem;font-weight:850;display:inline-flex}.header-auth-link:hover{background:#f4eee5}.surface-link{color:var(--navy);border-radius:12px;padding:10px 13px;font-size:.9rem;font-weight:800}.surface-link.is-active{color:#fff;background:var(--navy)}.page-shell{padding-top:clamp(24px,4vw,42px);padding-bottom:64px}.auth-shell{background:linear-gradient(135deg,#fffdf9,#f4ecdf);place-items:center;min-height:100vh;padding:28px 16px;display:grid}.auth-card{gap:16px;width:min(100%,470px);display:grid}.auth-card .brand-logo{width:220px}.auth-card h1{font-size:clamp(2.25rem,8vw,3.4rem)}.auth-form{gap:14px;margin-top:4px;display:grid}.auth-switch{color:var(--muted);margin:0;font-size:.92rem}.auth-switch a{color:var(--navy);text-underline-offset:3px;font-weight:800;text-decoration:underline}.approvals-card{max-width:850px}.approval-list{gap:10px;display:grid}.approval-row{border:1px solid var(--border);background:#fffdf9;border-radius:14px;justify-content:space-between;align-items:center;gap:18px;padding:14px;display:flex}.approval-row>div{gap:3px;min-width:0;display:grid}.approval-row strong{color:var(--navy)}.approval-row span,.approval-row small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.87rem;overflow:hidden}.page-intro{max-width:750px;margin:0 0 30px}.compact-intro{margin-bottom:24px}.eyebrow{color:var(--gold);letter-spacing:.13em;text-transform:uppercase;margin-bottom:8px;font-size:.76rem;font-weight:900}.lead,.muted-text{color:var(--muted);line-height:1.65}.lead{margin-bottom:0;font-size:1.05rem}.card,.hero-panel{border:1px solid var(--border);background:var(--paper);box-shadow:var(--shadow);border-radius:24px}.card{padding:clamp(20px,3vw,32px)}.hero-panel{background:linear-gradient(135deg,#fff,#fbf4e8);margin-bottom:24px;padding:clamp(24px,5vw,54px)}.button{border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;min-height:44px;padding:10px 16px;font-weight:850;transition:transform .15s,background .15s,border-color .15s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button-primary{color:#fff;background:var(--navy)}.button-primary:hover:not(:disabled){background:var(--navy-2)}.button-secondary{color:var(--navy);border-color:var(--navy);background:#fff}.button-danger{color:var(--danger);background:snow;border-color:#a13d3d73}.button-full{width:100%}input,select,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #d9d2c8;border-radius:12px;outline:none;padding:12px 13px}input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c99a3d26}input[readonly]{color:#68707c;background:#f5f4f1}textarea{resize:vertical}label{color:var(--navy);gap:7px;font-size:.92rem;font-weight:750;display:grid}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.form-message{min-height:1.3em;color:var(--muted);margin:0;font-size:.9rem;line-height:1.45}.form-message.error,.field-error{color:var(--danger);font-weight:750}.shop-layout{grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:start;gap:24px;display:grid}.catalog-toolbar{z-index:10;margin-bottom:18px;padding:18px;position:sticky;top:110px;box-shadow:0 8px 24px #0c55510f}.category-pills{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.category-pill{border:1px solid var(--border);color:var(--navy);background:#fff;border-radius:999px;padding:9px 13px;font-weight:750}.category-pill.is-active{border-color:var(--navy);color:#fff;background:var(--navy)}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.product-card{flex-direction:column;min-height:400px;padding:0;display:flex;overflow:hidden}.product-card-content,.product-purchase{padding-left:22px;padding-right:22px}.product-card-content{padding-top:20px}.product-purchase{margin-top:auto;padding-bottom:22px}.product-visual{min-height:142px;color:var(--gold-light);background:linear-gradient(135deg,#0c5551,#073e3b) 50%/cover;place-items:center;display:grid}.product-visual span{font-family:Georgia,Times New Roman,serif;font-size:3rem;font-weight:700}.product-visual small{color:#f7f3ea;letter-spacing:.08em;text-transform:uppercase;margin-top:-54px;font-size:.75rem}.product-visual.has-image{display:block}.product-visual.has-image img{object-fit:cover;width:100%;height:100%;min-height:142px;display:block}.product-image-card{gap:20px;padding:22px;display:grid}.product-image-management{grid-template-columns:minmax(130px,190px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.admin-image-preview,.image-placeholder{border:1px solid var(--border);background:#f4eee5;border-radius:14px;width:100%;min-height:130px;margin:0}.admin-image-preview{aspect-ratio:1;object-fit:cover}.image-placeholder{color:var(--muted);text-align:center;place-items:center;padding:14px;font-size:.88rem;line-height:1.4;display:grid}.image-upload-form{gap:12px;display:grid}.image-upload-form input[type=file]{width:100%;margin-top:8px;display:block}.image-actions{margin-top:0}.category-path{color:var(--gold);letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px;font-size:.73rem;font-weight:900}.price{color:var(--navy);margin:16px 0 14px;font-size:1.2rem;display:block}.quantity-control{grid-template-columns:minmax(100px,130px) 1fr;align-items:end;gap:9px 12px;margin-bottom:10px;display:grid}.quantity-control label{grid-column:1/-1}.quantity-explainer{color:var(--navy);padding-bottom:10px;font-size:.88rem;font-weight:800;line-height:1.35}.cart{position:sticky;top:110px}.cart h2{margin-bottom:18px}.cart-line{border-bottom:1px solid var(--border);padding:13px 0}.cart-line strong,.cart-line span{display:block}.cart-line strong{color:var(--navy)}.cart-line span{color:var(--muted);margin-top:4px;font-size:.88rem}.cart-line-bottom{justify-content:space-between;align-items:center;gap:12px;margin-top:8px;display:flex}.text-button{color:var(--danger);background:0 0;border:0;padding:2px 0;font-weight:750}.cart-total{color:var(--navy);justify-content:space-between;align-items:center;padding:20px 0;font-size:1.12rem;display:flex}.cart-note{margin-bottom:13px}.cart-empty{padding:10px 0 16px}.empty-state{color:var(--muted);grid-column:1/-1}.admin-layout{grid-template-columns:minmax(0,1fr) 332px;align-items:start;gap:24px;display:grid}.admin-main,.admin-side{min-width:0}.admin-side{gap:18px;display:grid;position:sticky;top:110px}.compact-card{padding:20px;box-shadow:0 8px 24px #0c55510f}.compact-card h2{margin-bottom:14px}.barcode-row{grid-template-columns:minmax(0,1fr) auto auto;gap:10px;margin-top:25px;display:grid}.scanner-panel{gap:8px;margin-top:14px;display:grid}.scanner-video{object-fit:cover;background:#101820;border-radius:16px;width:100%;min-height:250px}.section-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.status-badge{color:var(--navy);background:#edf2f7;border-radius:999px;flex:none;align-items:center;padding:7px 10px;font-size:.76rem;font-weight:850;display:inline-flex}.status-badge.warning{color:#765215;background:#fff4d9}.field-group+.field-group{border-top:1px solid var(--border);margin-top:26px;padding-top:26px}.group-title{color:var(--navy);margin-bottom:4px;font-family:Georgia,Times New Roman,serif;font-size:1.15rem;font-weight:700}.group-help{color:var(--muted);margin-bottom:16px;font-size:.9rem;line-height:1.5}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.wide-field{grid-column:1/-1}.form-actions{align-items:center;gap:14px;margin-top:24px;display:flex}.visibility-card{justify-content:space-between;align-items:center;gap:26px;margin-top:24px;display:flex}.visibility-card h2{margin-bottom:8px}.visibility-card .muted-text{max-width:600px;margin-bottom:0}.visibility-control{flex:0 0 min(280px,100%);gap:12px;display:grid}.toggle-label{grid-template-columns:none;align-items:center;gap:10px;display:flex}.toggle-label input{width:20px;height:20px;accent-color:var(--navy)}.lot-layout{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:24px;display:grid}.lot-form,.category-form{gap:13px;display:grid}.lot-list{align-content:start;gap:10px;display:grid}.lot-row{border:1px solid var(--border);background:#fffdf9;border-radius:14px;gap:4px;padding:14px;display:grid}.lot-row-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.lot-row strong{color:var(--navy)}.lot-row span{color:var(--muted);font-size:.88rem}.lot-expiry-badge{color:var(--muted);white-space:nowrap;background:#edf2f7;border-radius:999px;flex:none;padding:4px 8px;font-size:.74rem;font-weight:850;line-height:1.25}.lot-expiry-badge.expired,.lot-expiry-badge.missing_expiry{color:#8c2e2e;background:#fdeced}.lot-expiry-badge.within_30_days{color:#8c2e2e;background:#ffe8d8}.lot-expiry-badge.within_60_days,.lot-expiry-badge.within_90_days{color:#765215;background:#fff4d9}.lot-expiry-badge.current{color:var(--success);background:#e9f5ed}.orders-card{margin-top:24px}.central-import-card,.source-staging-panel{margin-bottom:24px}.source-file-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.source-file-grid .import-file-label{min-width:0}.import-file-label span{color:var(--muted);font-size:.82rem;font-weight:600}.source-staging-actions{margin-top:14px;display:flex}.source-staging-preview{border:1px solid var(--border);background:#fffdf9;border-radius:18px;gap:16px;margin-top:20px;padding:18px;display:grid}.source-staging-preview .import-counts{grid-template-columns:repeat(5,minmax(0,1fr))}.source-staging-caption{color:var(--muted);margin:0;line-height:1.55}.source-review-list{border-top:1px solid var(--border);padding-top:16px}.source-review-list h3{margin-bottom:12px}.source-review-list ul{gap:9px;max-height:330px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.source-review-list li{border:1px solid var(--border);background:#fff;border-radius:12px;gap:4px;padding:12px;display:grid}.source-review-list li strong{color:var(--navy)}.source-review-list li span{color:var(--muted);font-size:.86rem;line-height:1.4}.import-intro{max-width:820px;margin-bottom:12px}.import-note{border-left:3px solid var(--gold);color:var(--navy);background:#fffaf1;margin-bottom:20px;padding:12px 14px;line-height:1.55}.import-controls{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.import-file-label{flex:320px;min-width:min(100%,320px)}.import-file-label input{min-height:44px;padding:8px}.import-preview{border:1px solid var(--border);background:#fffdf9;border-radius:18px;gap:18px;margin-top:20px;padding:18px;display:grid}.import-counts{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.import-counts span{color:var(--muted);background:#f5f1ea;border-radius:12px;gap:2px;padding:11px;font-size:.82rem;display:grid}.import-counts strong{color:var(--navy);font-size:1.12rem}.import-ready{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px 18px;line-height:1.5;display:flex}.import-ready strong{color:var(--success)}.import-ready .button{margin-left:auto}.import-errors{padding-top:4px}.import-error-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.import-error-heading h3{margin-bottom:0}.import-issue-list{max-height:220px;color:var(--danger);gap:8px;margin:14px 0 0;padding:0 0 0 20px;line-height:1.45;display:grid;overflow:auto}.import-issue-list strong{color:var(--navy)}.import-history{border-top:1px solid var(--border);margin-top:24px;padding-top:20px}.import-history h3{margin-bottom:12px}.import-history-list{gap:8px;display:grid}.import-history-row{border:1px solid var(--border);background:#fffdf9;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;padding:11px 12px;display:flex}.import-history-row div{gap:3px;min-width:0;display:grid}.import-history-row strong{color:var(--navy);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.import-history-row div span{color:var(--muted);font-size:.83rem}.import-status-applied{color:#266143;background:#e8f6ed}.import-status-failed{color:var(--danger);background:#fdeced}.import-status-preview{color:#765215;background:#fff4d9}.import-status-running{color:#20578f;background:#e9f4ff}.orders-intro{max-width:760px;margin-bottom:12px}.order-list{gap:14px;margin-top:16px;display:grid}.order-row{border:1px solid var(--border);background:#fffdf9;border-radius:18px;padding:18px}.order-row-head,.order-footer{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.order-number{color:var(--navy);margin:0 0 4px;font-size:1.08rem;font-weight:900}.order-row-head span:not(.order-status){color:var(--muted);font-size:.84rem}.order-status{color:var(--navy);background:#edf2f7;border-radius:999px;flex:none;padding:6px 9px;font-size:.78rem;font-weight:850;display:inline-flex}.status-new{color:#765215;background:#fff4d9}.status-accepted{color:#184f62;background:#e2f3f8}.status-picking{color:#544a84;background:#eeeafe}.status-ready{color:#266143;background:#e8f6ed}.status-completed{color:#4f5d6e;background:#edf0f3}.status-cancelled{color:var(--danger);background:#fdeced}.order-items{border-top:1px solid var(--border);border-bottom:1px solid var(--border);gap:9px;margin:16px 0;padding:14px 0;display:grid}.order-item{grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;display:grid}.order-item strong{color:var(--navy)}.order-item span{color:var(--muted);font-size:.88rem}.order-item b{color:var(--navy);grid-area:1/2/span 2;align-self:center}.order-meta{gap:8px;margin:0 0 16px;display:grid}.order-meta div{grid-template-columns:100px 1fr;gap:10px;display:grid}.order-meta dt{color:var(--muted);font-size:.86rem}.order-meta dd{color:var(--ink);margin:0;font-size:.9rem}.order-footer{align-items:center}.order-footer>strong{color:var(--navy)}.order-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.admin-product-list{gap:6px;max-height:440px;display:grid;overflow:auto}.admin-product-row{width:100%;color:var(--ink);text-align:left;background:0 0;border:1px solid #0000;border-radius:12px;gap:4px;padding:12px;display:grid}.admin-product-row:hover,.admin-product-row.is-active{border-color:var(--border);background:#fffaf1}.admin-product-row strong{color:var(--navy);line-height:1.3}.admin-product-row span,.admin-product-row small,.admin-summary span{color:var(--muted);font-size:.82rem}.admin-summary{gap:6px;display:grid}.admin-summary strong{color:var(--navy);font-size:1.05rem;line-height:1.3}.source-review-card{border:1px solid var(--border);background:var(--cream);border-radius:22px;gap:20px;max-width:860px;padding:clamp(20px,4vw,34px);display:grid;box-shadow:0 16px 42px #071f3f14}.source-review-intro{max-width:70ch;margin:-10px 0 0}.source-review-summary,.source-review-navigation,.source-review-actions,.source-choice-list{flex-wrap:wrap;gap:10px;display:flex}.source-review-summary span{border:1px solid var(--border);color:var(--muted);background:#fffdf9;border-radius:999px;padding:9px 12px;font-size:.88rem}.source-review-summary strong{color:var(--navy)}.source-review-navigation{background:#ddbb7221;border-radius:14px;justify-content:space-between;align-items:end;padding:14px}.source-review-navigation label{flex:280px}.source-readonly-data,.source-review-section{border:1px solid var(--border);background:#fffdf9;border-radius:16px;gap:12px;padding:18px;display:grid}.source-readonly-data h2,.source-review-section h2{color:var(--navy);margin:0;font-size:1.08rem}.source-readonly-data dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px;margin:0;display:grid}.source-readonly-data dl>div{gap:3px;display:grid}.source-readonly-data dt{color:var(--muted);font-size:.8rem}.source-readonly-data dd{color:var(--ink);margin:0;font-weight:600}.source-choice-list{flex-direction:column}.source-choice-list label,.source-confirmation{color:var(--ink);align-items:center;gap:9px;display:flex}.source-manual-input{gap:6px;max-width:360px;display:grid}.source-review-errors{color:#722a19;background:#fff2ec;border:1px solid #d99172;border-radius:14px;gap:6px;margin:0;padding:14px 18px 14px 34px;display:grid}.source-review-ready{color:#215a35;background:#f0f8ee;border:1px solid #91b891;border-radius:14px;margin:0;padding:13px 15px}.source-review-actions{justify-content:flex-end}@media (max-width:980px){.admin-layout{grid-template-columns:1fr}.admin-side{grid-template-columns:repeat(2,minmax(0,1fr));position:static}.admin-summary{grid-column:1/-1}}@media (max-width:780px){.header-inner{flex-direction:column;align-items:flex-start;gap:3px;min-height:0;padding:8px 0 10px}.brand-logo{width:160px;height:55px}.brand-logo img{width:160px}.surface-switch{width:100%}.header-actions{flex-direction:column;align-items:stretch;width:100%}.account-actions{justify-content:flex-end}.surface-link{text-align:center;flex:1;padding:10px 6px;font-size:.84rem}.shop-layout,.lot-layout{grid-template-columns:1fr}.catalog-toolbar,.cart,.admin-side{position:static}.product-grid{grid-template-columns:1fr}.barcode-row{grid-template-columns:1fr 1fr}.barcode-row input{grid-column:1/-1}.form-grid,.product-image-management{grid-template-columns:1fr}.admin-image-preview,.image-placeholder{width:min(100%,250px)}.wide-field{grid-column:auto}.visibility-card,.form-actions{flex-direction:column;align-items:stretch}.visibility-control{flex-basis:auto}.admin-side{grid-template-columns:1fr}.admin-summary{grid-column:auto}.order-row-head,.order-footer,.approval-row{flex-direction:column;align-items:stretch}.approval-row .button{width:100%}.order-actions{justify-content:stretch}.order-actions .button{flex:150px}.import-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.source-file-grid,.source-readonly-data dl{grid-template-columns:1fr}.source-review-navigation,.source-review-actions{flex-direction:column;align-items:stretch}.source-review-navigation .button,.source-review-actions .button{width:100%}.source-staging-preview .import-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.import-ready{flex-direction:column;align-items:stretch}.import-ready .button{width:100%;margin-left:0}.import-error-heading,.import-history-row{flex-direction:column;align-items:stretch}}
