@charset "UTF-8";
:root{--ink:#261b14;--paper:#f5f0e7;--amber:#ddb88d;--brown:#835b3d;--muted:#766b60;--line:#ded5c9;--serif:Georgia,'Times New Roman',serif;--sans:Inter,'Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:var(--sans);background:var(--paper);font-size:14px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ad7847;outline-offset:3px}button{transition:background .16s,transform .16s}button:active:not(:disabled){transform:translateY(1px)}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h1{font-size:clamp(2.1rem,3vw,3.4rem);line-height:1.1}h2{font-size:1.9rem}em{color:var(--amber);font-weight:400}.eyebrow{font-size:.64rem;letter-spacing:.16em;font-weight:700;line-height:1.5}.muted{color:var(--muted);line-height:1.65}.error{color:#a02518;font-size:.86rem;line-height:1.5;min-height:.2rem}small{line-height:1.5}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;font:1.65rem var(--serif);white-space:nowrap}.brand img{height:54px;width:54px;object-fit:contain;border-radius:50%;background:white}.brand small{font:600 .48rem var(--sans);letter-spacing:.19em;display:block;margin-top:6px}.primary,.secondary,.danger{min-height:48px;padding:13px 20px;border-radius:10px;display:inline-flex;justify-content:center;align-items:center;gap:20px;font-weight:600}.primary{background:var(--ink);color:var(--paper)}.primary:hover{background:#513b2b}.primary span{margin-left:auto}.secondary{border:1px solid var(--line);background:white;color:var(--ink)}.danger{background:#f7e4de;color:#8b2418}.quiet{background:transparent;color:var(--muted);min-height:44px;padding:10px;border-radius:8px}.quiet:hover{background:#e8dfd4;color:var(--ink)}.icon{font-size:1.7rem;width:44px;height:44px;border-radius:50%;background:#efe8de;color:var(--ink)}label{display:block;font-size:.76rem;font-weight:600}input,select,textarea{width:100%;padding:13px 14px;min-height:46px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:#fffdf9;outline-offset:2px}label>input,label>select,label>textarea{margin-top:8px}input::placeholder{color:#968c80;font-weight:400}textarea{resize:vertical;min-height:90px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}#toast{position:fixed;top:18px;left:50%;transform:translateX(-50%);padding:13px 22px;background:var(--ink);color:white;border-radius:10px;z-index:1000;box-shadow:0 8px 40px #0003;max-width:90vw;display:none}#toast.show{display:block}
.login-screen{min-height:100vh;display:grid;grid-template-columns:1.5fr 1fr;background:linear-gradient(90deg,#170f09aa,#261b140d),url('welcome.webp') center/cover}.login-story{display:flex;flex-direction:column;justify-content:space-between;padding:48px 6vw;color:#fff6e8;min-height:100vh}.login-story h1{font-size:clamp(3.8rem,6vw,6.8rem);letter-spacing:-.04em;margin-bottom:25px}.login-story p:not(.eyebrow){line-height:1.8;color:#e3d4c4}.login-story>small{color:#d4c1af}.login-card{align-self:center;margin:40px 5vw 40px 0;padding:42px;border:1px solid #ffffff66;border-radius:20px;background:#f9f5eeeF;backdrop-filter:blur(22px);box-shadow:0 30px 90px #10090035;max-width:460px}.login-card h2{font-size:2.4rem;margin-bottom:8px}.login-card label{margin:22px 0}.login-card .primary{width:100%;margin-bottom:20px}.login-card>small{display:block;text-align:center}
.app-header{height:90px;display:flex;align-items:center;gap:35px;padding:0 30px;border-bottom:1px solid var(--line);background:#f8f3eb;position:sticky;top:0;z-index:20}.app-header .brand{font-size:1.45rem}.app-header nav{display:flex;gap:5px;margin-left:auto}.app-header nav button{background:none;color:var(--muted);padding:13px 18px;min-height:44px;border-radius:9px;font-size:.84rem}.app-header nav button.active{background:var(--ink);color:white}.staff{display:flex;align-items:center;gap:10px;border-left:1px solid var(--line);padding-left:20px;font-size:.75rem}.staff>span{font-weight:600}.register-view{display:grid;grid-template-columns:minmax(0,1fr) 390px;height:calc(100vh - 90px)}.catalog-pane{overflow:auto;padding:26px 30px;background:linear-gradient(#f5f0e7ed,#f5f0e7df),url('ritual.webp') center/cover;background-attachment:local}.counter-banner{padding:28px 32px;border-radius:14px;color:white;background:linear-gradient(90deg,#21150eee,#25191030),url('espresso.webp') 55% 50%/cover;min-height:170px}.counter-banner .eyebrow{color:var(--amber)}.counter-banner h1{margin:12px 0;font-size:2.3rem}.counter-banner>p:last-child{color:#ddd0c4;font-size:.75rem;margin-bottom:0}.catalog-tools{display:flex;gap:10px;align-items:center;margin:22px 0 16px}.search-label{flex:1}.search-label input{margin:0;background:#fffaf4dc}.categories{display:flex;gap:8px;flex-wrap:wrap}.categories button{background:#fcfaf5a8;border:1px solid #d6c9b8;border-radius:30px;min-height:44px;padding:10px 16px;color:#675745;font-size:.75rem;font-weight:600}.categories button.active{color:#fff7e9;background:#6e4b32;border-color:#6e4b32}.catalog-caption{display:flex;align-items:center;justify-content:space-between;margin:26px 0 15px}.catalog-caption h2{font-size:1.5rem;margin:0}.catalog-caption>span{font-size:.7rem;color:var(--muted)}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.product-card{position:relative;overflow:hidden;min-height:143px;text-align:left;padding:21px 18px;border:1px solid #fff7eb;border-radius:12px;background:#fffaf0d9;backdrop-filter:blur(12px);box-shadow:0 3px 8px #2b1b0c04;color:var(--ink);display:flex;flex-direction:column;justify-content:space-between;gap:18px}.product-card:hover{background:#fffaf0;box-shadow:0 8px 20px #35241412;border-color:#c1a17d}.product-card h3{font-size:1.25rem;margin:0;max-width:90%}.product-card small{color:#88735f;font-size:.65rem}.product-card .product-bottom{display:flex;align-items:center;justify-content:space-between}.product-card strong{font-weight:600;font-size:.9rem}.product-card .plus{width:29px;height:29px;display:grid;place-items:center;background:#ede0cf;border-radius:50%;font-size:1.2rem}.catalog-pane[data-theme="matcha"] .counter-banner{background-image:linear-gradient(90deg,#182011eb,#18201120),url('matcha.webp')}.catalog-pane[data-theme="frappe"] .counter-banner{background-image:linear-gradient(90deg,#24140eeb,#24140e20),url('frappe.webp')}.catalog-pane[data-theme="pastries"] .counter-banner{background-image:linear-gradient(90deg,#2d1d11eb,#2d1d1120),url('pastries.webp')}.illustrative{font-size:.62rem;color:#857665;margin:25px 0 0}.empty-state{grid-column:1/-1;text-align:center;padding:55px 20px;border:1px dashed #ccbda9;border-radius:12px;color:var(--muted);line-height:1.7}.empty-state h3{font-size:1.6rem;color:var(--ink);margin:10px}
.order-panel{display:flex;flex-direction:column;min-height:0;padding:25px 24px;background:#fffcf6;border-left:1px solid var(--line);box-shadow:-8px 0 30px #291e1005}.order-heading{display:flex;align-items:center;justify-content:space-between}.order-heading .eyebrow{color:#8b7762;margin-bottom:7px}.order-heading h2{font-size:1.6rem;margin-bottom:20px}.order-heading h2 span{font:.72rem var(--sans);background:#ece0d0;display:inline-grid;place-items:center;min-width:24px;height:24px;border-radius:50%;vertical-align:middle}.order-context input{background:white}.segments{display:flex;padding:4px;background:#eee6da;border-radius:10px;gap:4px;margin:12px 0}.segments button{flex:1;border-radius:7px;background:transparent;min-height:40px;padding:10px;color:#7b6855;font-size:.8rem;font-weight:600}.segments button.selected{background:#fffdf9;color:var(--ink);box-shadow:0 2px 8px #35251415}.cart-lines{flex:1;overflow:auto;min-height:100px;margin:4px -3px 10px;padding:0 3px}.cart-empty{height:100%;min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#9a8b7a;gap:10px}.cart-empty b{font:2.8rem var(--serif);color:#cfbca2}.cart-empty p{max-width:200px;line-height:1.6;font-size:.8rem}.cart-line{padding:16px 0;border-bottom:1px solid var(--line)}.cart-line-top{display:flex;justify-content:space-between;gap:15px}.cart-line-top h3{font-size:1.05rem;margin:0 0 7px}.cart-line-top strong{font-size:.85rem;white-space:nowrap}.cart-line p{font-size:.69rem;color:#86715d;line-height:1.6;margin:0 0 9px}.line-controls{display:flex;align-items:center;gap:12px}.line-controls button{height:32px;min-width:32px;border:1px solid var(--line);border-radius:6px;background:#fffaf3;font-size:1rem}.line-controls .remove{margin-left:auto;font-size:.68rem;border:0;color:#906857}.order-note{color:#8a7560;font-size:.68rem}.order-note input{font-size:.76rem;min-height:42px;padding:10px}.order-total{display:flex;justify-content:space-between;align-items:center;margin:22px 0}.order-total span{color:var(--muted)}.order-total strong{font-size:1.8rem;font-weight:500}.counter-footnote{text-align:center;font-size:.61rem;color:#978575;margin:12px 0 0}
.page-view{padding:30px;max-width:1500px;margin:auto}.page-heading{padding:35px 40px;border-radius:15px;color:white;background-size:cover;background-position:center;min-height:185px;margin-bottom:28px}.page-heading h1{margin:15px 0}.page-heading>p:last-child{color:#e0d2c0;font-size:.82rem;margin:0}.bleed-ritual{background-image:linear-gradient(90deg,#1b1008ed,#1b100845),url('ritual.webp')}.bleed-pastries{background-image:linear-gradient(90deg,#1b1008ed,#1b100845),url('pastries.webp')}.toolbar{display:flex;align-items:end;gap:15px;margin:24px 0;flex-wrap:wrap}.toolbar label{max-width:220px}.toolbar .muted{align-self:center;font-size:.76rem}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:24px}.stat{background:#fffcf6;border:1px solid var(--line);padding:22px;border-radius:12px}.stat span{display:block;color:#8c755e;font-size:.72rem}.stat strong{display:block;font-size:1.8rem;font-weight:500;margin-top:12px}.table-wrap{overflow:auto;background:#fffaf3;border:1px solid var(--line);border-radius:12px}table{border-collapse:collapse;width:100%;font-size:.79rem;text-align:left}th,td{padding:16px;border-bottom:1px solid var(--line);white-space:nowrap}th{font-size:.65rem;text-transform:uppercase;letter-spacing:.07em;color:#8c755e}td:last-child button{min-height:36px;padding:7px 12px}.status{padding:5px 9px;border-radius:15px;font-size:.65rem;background:#e8efe0;color:#50643d}.status.voided{background:#f6e1d7;color:#9d4b36}.manage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.manage-card{padding:22px;background:#fffcf6;border:1px solid var(--line);border-radius:12px}.manage-card h3{font-size:1.3rem;margin:0 0 8px}.manage-card p{font-size:.74rem;color:var(--muted);line-height:1.7}.manage-card .quiet{padding-left:0;color:#85572f}.manage-card input[type=number]{max-width:150px}.subheading{margin-top:40px}.check-label{display:flex;align-items:center;gap:10px;margin:20px 0}.check-label input{width:18px;min-height:18px;margin:0;accent-color:var(--brown)}
dialog{border:1px solid #dec9af;background:#fffaf3;color:var(--ink);border-radius:18px;padding:28px;width:min(550px,94vw);max-height:90vh;box-shadow:0 25px 100px #130a0040}dialog::backdrop{background:#171009aa;backdrop-filter:blur(5px)}dialog form>label{margin-top:18px}.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:25px}.dialog-heading .eyebrow{color:#9b7450;margin-bottom:8px}.dialog-heading h2{margin:0;font-size:2rem}.dialog-heading .icon{flex-shrink:0}fieldset{border:0;margin:0 0 25px;padding:0}legend{font-size:.73rem;font-weight:600;margin-bottom:12px}.option-grid{display:flex;gap:9px}.option-grid label{flex:1}.option-grid input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}.option-grid span{display:block;border:1px solid var(--line);padding:15px 9px;border-radius:10px;text-align:center;font-size:.75rem;cursor:pointer}.option-grid strong{display:block;margin-top:8px;font-size:.95rem}.option-grid input:checked+span{border:2px solid var(--brown);padding:14px 8px;background:#eee0cc}.option-grid input:focus-visible+span{outline:3px solid var(--amber)}.addon-options{display:grid;gap:8px}.addon-option{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:8px;font-weight:400}.addon-option input{margin:0;width:18px;min-height:18px;accent-color:var(--brown)}.addon-option strong{margin-left:auto;font-size:.8rem}.form-row{display:grid;grid-template-columns:100px 1fr;gap:18px}.dialog-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:28px}.dialog-footer>strong{font-size:1.7rem;font-weight:500}.payment-total{display:flex;justify-content:space-between;align-items:center;padding:22px;background:#eee2cf;border-radius:12px;margin-bottom:20px}.payment-total strong{font-size:2rem;font-weight:500}.payment-total span{font-size:.75rem}.quick-cash{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.quick-cash button{background:#f0e4d4;padding:10px 13px;border-radius:7px;font-size:.78rem;min-height:40px}.change-row{display:flex;justify-content:space-between;margin:24px 0;color:#745b42}.change-row strong{font-size:1.3rem}#payment-form>.primary{width:100%}#payment-form>small{display:block;margin-top:15px;text-align:center;font-size:.65rem}.edit-prices{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}#edit-form>.primary{width:100%}.receipt{font-size:.8rem;line-height:1.6}.receipt-logo{display:block;width:70px;height:70px;margin:0 auto 10px}.receipt h3{text-align:center;margin:4px}.receipt .center{text-align:center}.receipt .receipt-meta{border-block:1px dashed #b6aa98;padding:12px 0;margin:15px 0}.receipt .rline{display:flex;justify-content:space-between;gap:20px;margin:14px 0}.receipt .rline small{display:block;color:#756854}.receipt .rtotal{border-top:1px dashed #b6aa98;padding-top:12px;display:flex;justify-content:space-between;font-size:1.3rem}.receipt .rfoot{text-align:center;margin-top:24px;font-size:.68rem;color:#7a6a56}.audit-details{white-space:normal;max-width:650px;word-break:break-word;font-size:.7rem}
@media(min-width:1550px){.product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.register-view{grid-template-columns:minmax(0,1fr) 430px}}
@media(max-width:1100px){.register-view{grid-template-columns:minmax(0,1fr) 350px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-pane{padding:20px}.app-header{padding:0 20px;gap:15px}.app-header nav button{padding:12px}.staff{padding-left:10px}.staff>span{max-width:80px}.counter-banner{padding:24px}.counter-banner h1{font-size:2rem}.manage-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.app-header{height:auto;min-height:82px;flex-wrap:wrap;padding:15px;gap:15px}.app-header nav{order:3;width:100%;justify-content:center;margin:0}.staff{margin-left:auto}.register-view{height:auto;grid-template-columns:1fr}.catalog-pane{overflow:visible}.order-panel{border-left:0;border-top:1px solid var(--line)}.cart-lines{max-height:350px}.login-screen{grid-template-columns:1fr}.login-story{min-height:430px;padding:25px}.login-story h1{font-size:4rem}.login-story>small{display:none}.login-card{margin:0 20px 30px;max-width:none;padding:30px}.page-view{padding:18px}.page-heading{padding:25px}.summary-grid{grid-template-columns:1fr 1fr}.manage-grid{grid-template-columns:1fr}.product-grid{gap:10px}.product-card{min-height:130px}.product-card h3{font-size:1.2rem}.categories{gap:6px}.categories button{font-size:.7rem;padding:9px 12px}.counter-banner h1{font-size:1.9rem}.edit-prices{grid-template-columns:1fr}.dialog-heading h2{font-size:1.7rem}.summary-grid .stat{padding:18px}.stat strong{font-size:1.5rem}}
@media print{body>*{display:none!important}body>#receipt-dialog{display:block!important;position:static;max-height:none;width:76mm;border:0;padding:3mm;margin:0;box-shadow:none;background:white}#receipt-dialog .dialog-heading,#receipt-dialog .dialog-footer{display:none!important}.receipt{color:#000;font:12px/1.5 monospace}.receipt .rfoot,.receipt .rline small{color:#000}dialog::backdrop{display:none}@page{size:80mm auto;margin:2mm}}

.discount-field{margin:0 0 18px}.discount-field .segments button{flex:1;padding-inline:8px;font-size:.8rem}.discount-help{font-size:.78rem;line-height:1.55;color:var(--muted)}#discount-details .check-label{display:flex;align-items:flex-start;gap:10px;margin-top:14px;font-weight:400;font-size:.78rem}#discount-details .check-label input{flex:0 0 18px;width:18px;min-height:18px;margin:2px 0 0}.discount-breakdown{padding:12px 16px;margin-bottom:14px;border:1px solid var(--line);border-radius:10px;background:#f8f1e6}.discount-breakdown>div{display:flex;justify-content:space-between;gap:14px;font-size:.8rem;margin:7px 0}.discount-breakdown strong{white-space:nowrap}.discount-receipt{border-top:1px dashed #b6aa98;margin-top:15px;padding-top:10px;overflow-wrap:anywhere}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
