:root{--paper:#f3efe7;--surface:#fffcf6;--ink:#272b27;--muted:#61675d;--line:#deded1;--clay:#954632;--claylight:#f0dfd6;--sage:#e4e8dc;--green:#40654d;--shadow:0 20px 70px #24271f18}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px Heebo,Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;background:none;color:inherit;min-height:44px}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--clay);outline-offset:3px}input,select,textarea{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:12px;color:var(--ink);min-width:0;width:100%}textarea{resize:vertical;min-height:85px}label{display:grid;gap:7px;font-weight:500}small,.muted{color:var(--muted)}h1,h2,h3,p{margin-top:0}h1{font-size:38px;line-height:1.2;font-weight:500;letter-spacing:-1.5px}h2{font-size:23px;font-weight:500}h3{font-size:17px;font-weight:600}a{color:var(--clay)}.logo{display:flex;align-items:center;gap:9px;font-size:32px;font-weight:800;letter-spacing:-2px}.logo svg{width:34px;height:34px;color:var(--clay)}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:22px;padding:16px 4vw;background:#f3efe7f2;backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.topbar .brand{margin-inline-end:auto}.topbar .business{border-inline-start:1px solid var(--line);padding-inline-start:20px;line-height:1.5}.topbar .search{max-width:320px}.pill,.tag{border-radius:100px;background:var(--sage);padding:5px 11px;font-size:12px;display:inline-block}.demo{font-size:11px;letter-spacing:.5px;color:var(--clay)}.icon-btn{border:1px solid var(--line);border-radius:50%;width:44px;flex-shrink:0}.primary{background:var(--clay);color:white;border-radius:10px;padding:12px 21px;font-weight:600}.secondary{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:10px 17px}.text-btn{color:var(--clay);text-decoration:underline;text-underline-offset:4px}.danger{color:#a33f35}.row{display:flex;align-items:center;gap:12px}.spread{justify-content:space-between}.wrap{flex-wrap:wrap}.stack{display:grid;gap:16px}.rule{border-top:1px solid var(--line);padding-top:16px}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--clay);margin-bottom:12px}.page{max-width:1600px;margin:auto;padding:34px 4vw 140px}.intro{display:flex;align-items:end;justify-content:space-between;margin-bottom:27px}.intro p{color:var(--muted);margin-bottom:0}.chips{display:flex;gap:8px;overflow:auto;padding:0 0 18px;scrollbar-width:none}.chip{white-space:nowrap;border:1px solid var(--line);border-radius:30px;padding:8px 20px}.chip.active{background:var(--ink);border-color:var(--ink);color:white}.catalog{max-width:100%}.shelf{margin-bottom:35px}.shelf-head{display:flex;align-items:center;gap:12px;margin-bottom:15px}.shelf-head h2{margin:0}.shelf-head:after{content:'';height:1px;background:var(--line);flex:1}.rail{display:grid;grid-template-rows:repeat(2,auto);grid-auto-flow:column;grid-auto-columns:218px;gap:14px;overflow:auto;padding:3px 3px 14px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#c8cbbb transparent}.product{background:var(--surface);border:1px solid transparent;border-radius:15px;overflow:hidden;scroll-snap-align:start;transition:border-color .2s}.product.selected{border-color:var(--clay)}.product-open{display:block;text-align:right;width:100%;padding:0}.product-art{height:143px;background:#e8e9df;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.product-art img{height:100%;width:100%;object-fit:cover}.product-art .fallback{font-size:61px;filter:saturate(.65);transform:rotate(-8deg)}.product-art .selected-label{position:absolute;bottom:9px;right:9px;background:var(--surface);color:var(--clay);padding:3px 8px;border-radius:5px;font-size:10px}.product-copy{padding:12px 14px 3px}.product-copy h3{margin-bottom:4px}.product-bottom{padding:6px 14px 13px}.price{font-size:19px;font-weight:600}.qty{display:flex;align-items:center;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--surface)}.qty button{min-height:36px;width:35px;font-size:20px}.qty input{padding:0;border:0;width:42px;min-height:36px;text-align:center;border-radius:0;-moz-appearance:textfield}.qty input::-webkit-inner-spin-button{appearance:none}.stock{font-size:11px;color:var(--green);margin:7px 0}.stock.low{color:var(--clay)}.empty{text-align:center;padding:60px 20px;border:1px dashed var(--line);border-radius:15px}.empty p{color:var(--muted)}.living{position:fixed;z-index:30;bottom:18px;left:4vw;right:4vw;max-width:680px;margin:auto;background:var(--ink);color:white;border-radius:20px;box-shadow:var(--shadow);height:88px;overflow:hidden;transition:height .28s cubic-bezier(.2,.8,.2,1)}.living.expanded{height:min(76vh,680px);background:var(--surface);color:var(--ink)}.living-handle{width:100%;padding:7px 20px 14px;touch-action:none;display:block;text-align:right}.grab{display:block;width:33px;height:4px;border-radius:10px;background:currentColor;opacity:.25;margin:0 auto 9px}.living-title{font-size:17px}.living-content{padding:0 20px 24px;overflow:auto;height:calc(100% - 82px)}.living .primary{background:#d4deba;color:var(--ink)}.living.expanded .primary{background:var(--clay);color:white}.cartline{display:grid;grid-template-columns:1fr auto;gap:8px;padding:15px 0;border-bottom:1px solid var(--line)}.cartline h3{margin-bottom:4px}.cartline.unavailable{color:#a33f35}.totals{display:grid;gap:10px;padding:17px 0}.totals>div{display:flex;justify-content:space-between}.totals .grand{font-size:21px;border-top:1px solid var(--line);padding-top:12px}.notice{background:var(--sage);padding:13px 16px;border-radius:10px;font-size:13px}.notice.warn{background:var(--claylight)}.overlay{position:fixed;inset:0;z-index:60;background:#25291f55;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:25px}.dialog{width:min(620px,100%);max-height:90dvh;overflow:auto;background:var(--surface);border-radius:22px;padding:27px;box-shadow:var(--shadow);animation:appear .22s ease}.dialog.wide{width:min(900px,100%)}.dialog-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:22px}.dialog-head h2{margin:0}.dialog .product-art{height:250px;border-radius:13px;margin-bottom:20px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field-grid .full{grid-column:1/-1}.form-actions{display:flex;gap:10px;margin-top:22px;align-items:center}.field-error{color:#a33f35;font-size:13px}.drawer-overlay{justify-content:flex-start;padding:0}.drawer{height:100%;width:min(360px,87vw);border-radius:0;padding:28px;background:var(--surface);overflow:auto;touch-action:pan-y;transition:transform .25s}.drawer.tools{margin-right:auto}.drawer nav{display:grid;gap:9px;margin-top:35px}.drawer nav button{text-align:right;font-size:20px;border-bottom:1px solid var(--line);padding:14px 0}.edge{position:fixed;top:90px;bottom:110px;width:13px;z-index:25;touch-action:pan-y}.edge.right{right:0}.edge.left{left:0}.admin-nav{display:flex;overflow:auto;gap:6px;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:28px}.admin-nav button{white-space:nowrap;padding:9px 17px;border-radius:9px}.admin-nav .active{background:var(--ink);color:white}.desk{display:grid;grid-template-columns:340px minmax(0,1fr);gap:25px;align-items:start}.queue{display:grid;gap:8px}.queue-item{display:block;text-align:right;background:#ffffff6b;border:1px solid var(--line);border-radius:12px;padding:18px;width:100%}.queue-item.active{background:var(--surface);border-color:var(--clay);box-shadow:3px 0 var(--clay)}.queue-item h3{margin:7px 0}.queue-item .row{font-size:12px}.focus-pane{background:var(--surface);border-radius:18px;padding:28px;min-height:420px}.order-lines{width:100%;border-collapse:collapse;margin:20px 0}.order-lines td,.order-lines th{text-align:right;border-bottom:1px solid var(--line);padding:12px 5px;font-size:13px}.timeline{border-inline-start:2px solid var(--line);margin:18px 7px;padding-inline-start:20px;display:grid;gap:15px}.timeline div{position:relative;font-size:13px}.timeline div:before{content:'';width:7px;height:7px;position:absolute;right:-25px;top:6px;background:var(--clay);border-radius:50%}.ledger{display:grid;gap:10px}.ledger-item{padding:13px 0;border-bottom:1px solid var(--line)}.operations{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}.operations button{background:var(--sage);padding:10px 17px;border-radius:8px}.welcome{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr}.welcome-copy{padding:8vw;display:flex;flex-direction:column;justify-content:center}.welcome-copy h1{font-size:clamp(45px,5vw,76px);line-height:1.1;margin-top:50px}.welcome-copy p{font-size:17px;line-height:1.8;color:var(--muted)}.welcome-art{background:#dce2d1;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.display-shelf{width:75%;border-bottom:14px solid #b37b5c;display:flex;align-items:end;gap:18px;padding:0 30px;box-shadow:0 24px 28px #38432b25}.display-shelf span{display:block;border-radius:60px 60px 8px 8px;background:#8b9a76;width:30%;height:210px;box-shadow:inset -18px 0 #0000000a}.display-shelf span:nth-child(2){background:#bd8466;height:300px;border-radius:8px}.display-shelf span:nth-child(3){height:155px;background:#eee9d9;border-radius:70px 70px 8px 8px}.welcome-art .caption{position:absolute;bottom:50px;right:50px;font-size:13px;letter-spacing:3px}.login-options{display:grid;gap:10px;max-width:330px;margin-top:20px}.check{display:flex;align-items:center;gap:9px}.check input{width:auto}.top-notice{background:var(--claylight);padding:10px 4vw;font-size:13px}.hidden{display:none!important}#toast{position:fixed;bottom:120px;left:50%;transform:translateX(-50%);z-index:100;background:var(--ink);color:white;border-radius:12px;padding:14px 22px;max-width:90vw;box-shadow:var(--shadow);display:none}#toast.show{display:flex;gap:15px;align-items:center}#toast button{color:#e4d5ab;text-decoration:underline}.mobile-back{display:none}@keyframes appear{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(min-width:1200px){body.cart-open .catalog{margin-left:395px}.living.expanded{left:3vw;right:auto;width:360px;max-width:360px;bottom:25px;height:calc(100vh - 125px)}.living.expanded .living-handle{padding-top:15px}}@media(max-width:760px){.topbar{gap:10px;padding:12px 18px;flex-wrap:wrap}.topbar .business{font-size:11px;padding-inline-start:10px}.topbar .search{order:5;max-width:none;width:100%}.topbar .desktop{display:none}.logo{font-size:28px}.page{padding:25px 18px 135px}h1{font-size:31px}.intro{align-items:start;gap:10px}.intro p{font-size:12px}.rail{grid-auto-columns:174px;gap:10px;margin-left:-18px;padding-left:18px}.product-art{height:123px}.product-copy{padding:10px 11px 0}.product-copy h3{font-size:14px}.product-bottom{padding:7px 11px 11px}.price{font-size:16px}.qty button{width:31px}.qty input{width:33px}.living{left:12px;right:12px;bottom:12px;border-radius:16px}.dialog{max-height:92dvh;padding:22px;border-radius:22px 22px 0 0}.overlay{padding:0;align-items:end}.field-grid{grid-template-columns:1fr}.dialog.wide{width:100%}.desk{grid-template-columns:1fr}.desk.has-selection .queue{display:none}.focus-pane{padding:20px}.mobile-back{display:inline-flex}.welcome{grid-template-columns:1fr}.welcome-copy{padding:35px 28px}.welcome-copy h1{margin-top:35px;font-size:50px}.welcome-art{min-height:260px;order:2}.display-shelf{transform:scale(.65);width:100%;transform-origin:bottom}.welcome-art .caption{bottom:20px;right:25px}.welcome-copy p{font-size:14px}.login-options{max-width:none}.order-lines th,.order-lines td{font-size:12px;padding:10px 3px}.drawer-overlay{align-items:stretch}.drawer{border-radius:0}.admin-nav{margin-left:-18px}.intro .eyebrow{font-size:10px}.business .status{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media(max-width:760px){.topbar{display:grid;grid-template-columns:44px 1fr auto 44px;gap:9px}.topbar .search{grid-column:1/-1;order:initial}.topbar .demo{display:none}.topbar .business{font-size:10px;padding-inline-start:8px}.topbar .business:after{content:""}.rail{grid-auto-columns:192px}.product-bottom>.row{gap:6px}.intro>.text-btn{min-width:80px}.living-handle small{color:inherit;opacity:.8}}
.date-field{font-size:11px;min-width:135px}.order-tools{flex-wrap:wrap}.image-zoom{max-width:100%;max-height:65vh;object-fit:contain}.drawer-overlay{overflow:hidden}.drawer{overscroll-behavior:contain}.edge{touch-action:none}.form-error:empty{display:none}.living small{color:inherit;opacity:.8}.product.selected{animation:select-feedback .2s ease}@keyframes select-feedback{from{box-shadow:0 0 0 3px #a3543f20}to{box-shadow:none}}

.changed-row{background:#a3543f0b}.rail-button[hidden]{display:none}.qty button,.qty input{min-height:44px}.order-tools input[type="search"]{flex:1;min-width:160px}.order-tools select{width:auto}.order-tools .date-field{flex:0 0 145px}.order-tools .date-field input{padding:8px}.product-preview-caption{padding:8px}.date-field input{min-height:44px}

.inbox-sort{max-width:220px;display:flex;align-items:center;gap:10px;margin-bottom:15px;font-size:12px}.inbox-sort select{width:auto}.queue-item{transition:opacity .16s,transform .16s}.queue-item.resolved{opacity:.35;transform:translateX(-6px)}@media(max-width:1000px){.desk{grid-template-columns:1fr}.desk.has-selection .queue{display:none}.desk.has-selection .mobile-back{display:inline-flex}}
/* Admin mode switch (management ↔ own customer side) */
.mode-switch{white-space:nowrap;min-height:44px;font-weight:600}
@media(max-width:760px){.topbar .mode-switch{grid-column:1/-1;order:9;min-height:40px;padding:6px 12px}}
.changed-row small{color:#4a4f46}
/* Sign-in: brand logo and Google button */
.brand-logo{display:block;inline-size:min(260px,62vw);block-size:auto}
.google-login{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;font-size:17px}
.google-login svg{inline-size:20px;block-size:20px;flex:none}
/* ── Motion & lighter surfaces (v2.2) ───────────────────────────── */
:root{--shadow:0 14px 44px #24271f12;--ease-out:cubic-bezier(.2,.8,.2,1)}
.logo img{display:block;block-size:30px;inline-size:auto}
.topbar{background:#f3efe7e6;border-bottom-color:#deded180}
/* Overlays: fade in, drawers slide from their edge (RTL: nav right, tools left), and leave the same way */
@keyframes fade-in{from{opacity:0}}
@keyframes fade-out{to{opacity:0}}
@keyframes from-right{from{transform:translateX(100%)}}
@keyframes from-left{from{transform:translateX(-100%)}}
@keyframes to-right{to{transform:translateX(100%)}}
@keyframes to-left{to{transform:translateX(-100%)}}
@keyframes dialog-out{to{opacity:0;transform:translateY(14px) scale(.985)}}
@keyframes view-in{from{opacity:0;transform:translateY(8px)}}
.overlay{animation:fade-in .22s ease}
.drawer{animation:from-right .32s var(--ease-out);box-shadow:0 0 40px #24271f1f}
.drawer.tools{animation-name:from-left}
.overlay.closing{animation:fade-out .22s ease forwards;pointer-events:none}
.overlay.closing .drawer{animation:to-right .24s var(--ease-out) forwards}
.overlay.closing .drawer.tools{animation-name:to-left}
.overlay.closing .dialog{animation:dialog-out .2s ease forwards}
/* Section change: tabs and page frame stay put; only the text and content beneath them ease in */
main.page.view-enter>:not(.intro):not(.admin-nav){animation:view-in .34s var(--ease-out)}
main.page.view-enter>.intro>div{animation:fade-in .26s ease}
.admin-nav button{transition:background-color .25s ease,color .25s ease}
/* Living cart: light surface; on wide screens it is anchored to the side from the start and only grows upward */
.living{background:var(--surface);color:var(--ink);border:1px solid var(--line);transition:height .32s var(--ease-out),box-shadow .32s ease}
.living .primary{background:var(--clay);color:#fff}
.living.expanded{box-shadow:0 24px 70px #24271f22}
@media(min-width:1200px){.living,.living.expanded{left:3vw;right:auto;width:360px;max-width:360px;margin:0;bottom:25px}body .catalog{transition:margin .32s var(--ease-out)}}
/* Drawers: clip instead of hidden so focusing inside never scrolls the overlay mid-slide */
.drawer-overlay{overflow:clip}
/* Scrollbars: thin and invisible until the element is scrolled, then fade out (class removed after 1.5s) */
*{scrollbar-width:thin;scrollbar-color:transparent transparent}
.scrolling{scrollbar-color:#61675d70 transparent}
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:transparent;border-radius:6px}
.scrolling::-webkit-scrollbar-thumb{background:#61675d70}
/* Reduced motion: no sliding or moving, but gentle fades instead of hard cuts */
@media(prefers-reduced-motion:reduce){
.overlay,.drawer,.drawer.tools,.dialog,main.page.view-enter>:not(.intro):not(.admin-nav),main.page.view-enter>.intro>div{animation:fade-in .2s ease!important}
.overlay.closing,.overlay.closing .drawer,.overlay.closing .drawer.tools,.overlay.closing .dialog{animation:fade-out .18s ease forwards!important}
.living{transition:opacity .2s ease!important}}
