:root{--forest:#163c2b;--cream:#f7f2e8;--orange:#f47b35;--charcoal:#282c29;--muted:#646b65;--line:#e6e0d5;--clay:#f6f1e8;--shadow:8px 8px 19px #d9d4cb,-8px -8px 19px #fff;--inset:inset 4px 4px 9px #ddd7ce,inset -4px -4px 9px white}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--charcoal);font:14px/1.45 system-ui,-apple-system,'Segoe UI',sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}button:disabled{opacity:.45;cursor:not-allowed}.shell{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:100vh}.side{background:var(--forest);padding:26px 18px;color:white;display:flex;flex-direction:column;gap:9px;overflow-y:auto;overscroll-behavior:contain;position:sticky;top:0;height:100vh}.brand{font-size:25px;font-weight:850;letter-spacing:.5px;margin:0 7px 2px}.small{font-size:11px;opacity:.7;margin:0 7px 22px}.side button{width:100%;text-align:left;background:transparent;color:#dce9df;padding:12px 15px;border-radius:16px;font-weight:600}.side button.active,.side button:hover{background:#ffffff25;color:white}.side .bottom{margin-top:auto;font-size:11px;opacity:.75;padding:10px}.content{padding:28px clamp(16px,3vw,46px);min-width:0}.top{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px;gap:12px;flex-wrap:wrap}.top h1{font-size:29px;margin:0;letter-spacing:-.9px}.glass{background:#ffffffa8;backdrop-filter:blur(16px);border:1px solid #ffffffb3;box-shadow:0 12px 30px #19352512;border-radius:21px;padding:13px 19px}.clay{background:var(--clay);box-shadow:var(--shadow);border:1px solid #ffffffac;border-radius:23px;padding:22px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:22px 0 29px}.stat span{color:var(--muted);font-size:12px}.stat b{display:block;font-size:27px;margin-top:8px;letter-spacing:-1px}.grid2{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:24px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.btn{background:var(--forest);color:white;border-radius:14px;padding:11px 16px;font-weight:700;box-shadow:4px 4px 10px #bdc6bf,-3px -3px 9px #fff}.btn.secondary{background:#e8e4db;color:var(--forest)}.btn.orange{background:var(--orange);color:#231a13}.btn.danger{background:#b42318}.btn.sm{padding:7px 10px;font-size:12px}input,select,textarea{padding:11px 13px;border:1px solid #ddd5ca;border-radius:13px;background:#fff;min-width:0;max-width:100%;color:var(--charcoal)}input:focus,select:focus,textarea:focus{outline:2px solid var(--orange);outline-offset:1px}label{display:flex;flex-direction:column;gap:6px;color:#52615a;font-size:12px;font-weight:700;margin:8px 0}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 15px}.wide{grid-column:1/-1}.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:19px}.product{background:#f3eee4;border:1px solid white;border-radius:18px;padding:17px 12px;text-align:left;box-shadow:5px 5px 12px #dcd6cb,-5px -5px 12px white;min-height:100px}.product b{display:block;font-size:15px}.product span{color:#b95421;font-weight:800}.product:hover{transform:translateY(-2px)}.product:disabled{opacity:.45}.cartline,.orderline{display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.badge{font-size:11px;background:#e4eadf;color:#244d37;border-radius:20px;padding:4px 9px;font-weight:750}.muted{color:var(--muted)}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left}th,td{border-bottom:1px solid var(--line);padding:11px 9px}th{font-size:12px;color:var(--muted)}h2{font-size:18px;margin:0 0 14px}h3{font-size:15px;margin:10px 0}.empty{padding:35px 10px;text-align:center;color:var(--muted)}.notice{padding:12px 16px;border:1px solid #e9c69e;border-radius:13px;background:#fff6e9;margin:15px 0}.auth{min-height:100vh;display:grid;place-items:center;padding:20px}.auth .clay{width:min(430px,100%);padding:38px}.auth h1{margin:0;color:var(--forest);font-size:32px}.auth input{width:100%}.screen{display:none}.screen.active{display:block}.toast{position:fixed;right:18px;bottom:18px;background:#183f2d;color:white;padding:15px 20px;border-radius:14px;max-width:400px;z-index:100;box-shadow:0 8px 24px #0003}.toast.error{background:#9d2920}.receipt-preview{background:white;color:#111;font-family:ui-monospace,Consolas,monospace;font-size:12px;line-height:1.34;width:302px;max-width:100%;padding:13px;margin:15px auto;box-shadow:0 4px 25px #0002;white-space:pre-wrap;overflow-wrap:anywhere}.receipt-preview.narrow{width:219px;font-size:10px}.receipt-preview b{font-size:17px}.receipt-preview .center{text-align:center}.receipt-preview .total{font-size:16px;font-weight:900;border-top:1px dashed #333;padding-top:6px}.receipt-preview .sep{border-top:1px dashed #555;margin:7px 0}.pill{padding:4px 9px;border-radius:15px;background:#e9ece7;color:#475b4d;font-size:12px}.kitchen{display:flex;flex-direction:column;gap:10px}.kitchen>.clay{display:grid;grid-template-columns:minmax(150px,.85fr) minmax(220px,1.5fr) minmax(150px,.9fr) auto;align-items:center;gap:8px 16px;padding:13px 16px;border-radius:17px}.kitchen>.clay h2{grid-column:1;grid-row:1;margin:0;font-size:16px}.kitchen>.clay>.badge{grid-column:1;grid-row:2;justify-self:start}.kitchen>.clay>p{grid-column:3;grid-row:1/3;margin:0;font-size:12px;color:var(--muted)}.kitchen>.clay>div[id^="k-"]{grid-column:2;grid-row:1/3;min-width:0}.kitchen>.clay>div[id^="k-"] .orderline{padding:4px 0;gap:8px;align-items:baseline}.kitchen>.clay>div[id^="k-"] .orderline b{font-size:13px}.kitchen>.clay>div[id^="k-"] .orderline small{font-size:11px;color:var(--muted)}.kitchen>.clay>[data-step]{grid-column:4;grid-row:1/3;white-space:nowrap}.kitchen>.clay.empty{display:block;padding:24px;text-align:center}.login-note{font-size:12px;color:var(--muted)}@media(max-width:1100px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.products{grid-template-columns:repeat(2,minmax(0,1fr))}.kitchen>.clay{grid-template-columns:minmax(130px,.8fr) minmax(190px,1.5fr) auto;gap:8px 12px}.kitchen>.clay>p{grid-column:1;grid-row:3}.kitchen>.clay>div[id^="k-"]{grid-column:2;grid-row:1/4}.kitchen>.clay>[data-step]{grid-column:3;grid-row:1/4}}@media(max-width:780px){.shell{display:block}.side{flex-direction:row;overflow-x:auto;align-items:center;padding:8px;gap:3px;position:sticky;top:0;z-index:20}.side .brand{font-size:15px;white-space:nowrap}.side .small,.side .bottom{display:none}.side button{width:auto;white-space:nowrap;font-size:12px;padding:9px}.content{padding:20px 15px}.grid2{grid-template-columns:1fr}.stats{gap:12px}.clay{padding:17px}.products{grid-template-columns:repeat(2,minmax(0,1fr))}.kitchen>.clay{grid-template-columns:minmax(110px,.7fr) minmax(0,1.5fr);gap:8px 10px;padding:12px}.kitchen>.clay h2{grid-column:1;grid-row:1}.kitchen>.clay>.badge{grid-column:1;grid-row:2}.kitchen>.clay>p{grid-column:1;grid-row:3;font-size:11px}.kitchen>.clay>div[id^="k-"]{grid-column:2;grid-row:1/4}.kitchen>.clay>[data-step]{grid-column:1/-1;grid-row:4;justify-self:start}}@media print{body{background:#fff}body *{visibility:hidden!important}#printArea,#printArea *{visibility:visible!important}#printArea{position:absolute;left:0;top:0;margin:0!important;box-shadow:none!important;padding:0!important;border:0;width:var(--print-width,72mm)!important;max-width:none!important;font-size:11px;break-inside:avoid}@page{margin:2mm}}

/* Hanan Cafe visual refinement: tactile menu cards, restrained glass surfaces and purposeful motion. */
:root{--forest:#123b2b;--cream:#f8f4ec;--orange:#ff853d;--charcoal:#202923;--muted:#69736c;--line:#e6e0d5;--clay:#f7f2e9;--shadow:9px 9px 22px #d9d3c8,-7px -7px 20px #fff;--inset:inset 3px 3px 8px #ddd7cc,inset -3px -3px 8px #fff;--accent-soft:#fff0e4;--green-soft:#e2eee4}
body{background:radial-gradient(ellipse at 86% 0%,#fffaf0 0,transparent 36%),var(--cream);font-size:14px;letter-spacing:.005em}
button,.clay,.glass,.product,.btn,input,select,textarea{transition:transform .18s ease,box-shadow .2s ease,border-color .2s ease,background-color .2s ease,opacity .2s ease}
.shell{grid-template-columns:246px minmax(0,1fr)}
.side{position:sticky;top:0;height:100vh;background:linear-gradient(160deg,#123b2b 0%,#174b35 60%,#103324 100%);padding:28px 16px;box-shadow:12px 0 34px #123b2b12;z-index:15}
.brand{font-size:27px;line-height:1.16;letter-spacing:-.7px;margin:4px 10px 0;max-width:180px}
.small{margin:7px 10px 25px;font-size:11px;letter-spacing:.03em}
.side button{border:1px solid transparent;border-radius:14px;padding:12px 14px;color:#e2eee7;position:relative}
.side button.active{background:linear-gradient(135deg,#ffffff2b,#ffffff10);border-color:#ffffff20;box-shadow:inset 3px 3px 8px #0a261b44,0 7px 18px #061c1224}
.side button.active:before{content:"";position:absolute;left:-1px;top:9px;bottom:9px;width:3px;border-radius:4px;background:var(--orange)}
.side button:hover:not(.active){background:#ffffff12;transform:translateX(2px)}
.content{padding:30px clamp(18px,3vw,48px) 42px;animation:pageIn .28s ease both}
.top{margin-bottom:30px}
.top h1{font-size:clamp(27px,2.3vw,35px);font-weight:850;letter-spacing:-1.2px}
.glass{background:#ffffffa8;backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%);border:1px solid #ffffffd9;box-shadow:0 14px 35px #19352513,inset 0 1px #fff;border-radius:19px;padding:11px 15px}
.clay{background:linear-gradient(145deg,#faf6ef,#f3ede2);box-shadow:var(--shadow);border:1px solid #ffffffd9;border-radius:25px;padding:23px;position:relative}
.clay h2{font-size:19px;font-weight:800;letter-spacing:-.4px}
.clay:hover{box-shadow:10px 11px 26px #d6d0c4,-8px -8px 22px #fff}
.btn{background:linear-gradient(135deg,#164b35,#123b2b);color:#fff;border-radius:13px;padding:11px 16px;font-weight:750;box-shadow:4px 5px 11px #bbc7bd,-2px -2px 7px #fff}
.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 9px 19px #173e2b25}
.btn.orange{background:linear-gradient(135deg,#ff9a54,#f47b35);color:#251a12;box-shadow:4px 5px 12px #e3c7b0,-2px -2px 7px #fff}
.btn.secondary{background:linear-gradient(145deg,#fdf9f2,#eae3d8);color:#173d2c}
.btn.danger{background:linear-gradient(135deg,#c63c30,#9d2920);color:white}
input,select,textarea{border:1px solid #ded6c9;border-radius:13px;padding:12px 13px;background:#fffefa;box-shadow:inset 0 1px 2px #251d0b05}
input:focus,select:focus,textarea:focus{outline:3px solid #ff853d35;border-color:#f47b35;box-shadow:0 0 0 1px #f47b35}
label{font-size:12px;color:#4e6055;gap:7px}
.products{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:13px}
.product{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:10px;min-height:195px;padding:11px;text-align:left;background:linear-gradient(145deg,#fffdf8,#f0e9dd);border:1px solid #fff;border-radius:20px;box-shadow:6px 7px 15px #d7d0c4,-4px -4px 12px #fff;overflow:hidden}
.product:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 13px 24px #173e2b20}
.product.selected{background:linear-gradient(145deg,#eff8ef,#e0eee2);border:1.5px solid #327b51;box-shadow:inset 0 0 0 1px #327b5118,0 8px 18px #174b351c}
.product:disabled{opacity:.52;filter:saturate(.6);cursor:not-allowed}
.product-copy{display:flex;flex-direction:column;gap:4px;padding:0 3px 3px}
.product-copy b{font-size:14px;line-height:1.25;overflow-wrap:anywhere}
.product-copy small{font-size:11px;color:var(--muted)}
.product-copy strong{font-size:15px;color:#c65b24;margin-top:3px}
.menu-thumb{width:100%;height:96px;object-fit:cover;border-radius:13px;background:#e8e1d5;display:block}
.image-placeholder{display:grid;place-items:center;color:#9aab9c;font-size:28px;background:linear-gradient(145deg,#eee8dc,#fffaf1)}
.selected-count{position:absolute;top:17px;right:17px;background:#174b35;color:#fff;border-radius:100px;min-width:28px;height:28px;display:grid;place-items:center;font-size:12px;font-weight:850;box-shadow:0 4px 9px #123b2b30}
.sold-out{position:absolute;top:15px;right:12px;background:#fff0e4;color:#a84b19;padding:4px 7px;border-radius:7px;font-size:10px;font-weight:800}
.pos-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);align-items:start;gap:22px}
.menu-panel{min-width:0}.cart-panel{position:sticky;top:18px;min-width:0}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:17px}
.section-head h2{margin:3px 0 0}.section-head p{margin:5px 0 0;font-size:12px}
.eyebrow{display:block;font-size:10px;letter-spacing:.16em;color:#c65b24;font-weight:900}
.count-badge{display:inline-flex;align-items:center;justify-content:center;background:#e3eee4;color:#1c5638;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}
.cart-item{align-items:flex-start;padding:14px 0}.cart-item-main{min-width:0;flex:1}.cart-item-main b{display:block;overflow-wrap:anywhere}.item-note{margin-top:9px;width:100%;padding:8px 10px;font-size:11px}
.qty-control{display:flex;align-items:center;gap:9px;padding:5px;background:#f0e9de;border-radius:12px;box-shadow:inset 2px 2px 5px #d8d0c4,inset -2px -2px 5px #fff}
.qty-btn{width:28px;height:28px;border-radius:9px;background:#fff;color:#174b35;font-size:18px;font-weight:800;box-shadow:2px 2px 5px #d4cec3,-2px -2px 5px #fff}.qty-btn:hover{background:#e2eee4}
.empty{padding:28px 10px;text-align:center;color:var(--muted)}.cart-empty{padding:25px 8px}.cart-empty b{display:block;color:#33463a}.cart-empty p{font-size:12px}.empty-icon{display:grid;place-items:center;margin:0 auto 10px;width:44px;height:44px;border-radius:15px;background:#e4eee3;color:#1b5437;font-size:26px}
.totals-card{background:#f0e9de;border:1px solid #fff;border-radius:18px;padding:14px 16px;margin-top:18px;box-shadow:inset 2px 2px 6px #dcd4c8,inset -2px -2px 6px #fff}
.totals-card .orderline{padding:8px 0}.checkout-btn{width:100%;display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding:14px 17px;font-size:14px}
.page-intro{margin:0 0 21px}.page-intro h2{font-size:27px;margin:4px 0}.page-intro p{margin:5px 0}
.menu-forms{grid-template-columns:minmax(0,1.35fr) minmax(260px,.8fr)}.menu-table-card{margin-top:23px}.menu-row-name{display:flex;align-items:center;gap:11px;min-width:170px}.table-thumb{width:44px;height:44px;object-fit:cover;border-radius:12px;background:#eee6d8;flex-shrink:0}.compact-actions{gap:6px;flex-wrap:nowrap}.compact-actions .btn{white-space:nowrap}.status-pill{display:inline-block;border-radius:99px;padding:5px 9px;font-size:10px;font-weight:850;background:#ece7dd;color:#536056;white-space:nowrap}.status-active{background:#e0efe2;color:#1d673d}.status-archived{background:#fbe7df;color:#a44328}.check-label{display:flex;flex-direction:row;align-items:center;gap:10px}.check-label input{width:17px;height:17px;accent-color:#174b35}
.modal-scrim{position:fixed;inset:0;z-index:1000;background:#0d2119a8;backdrop-filter:blur(8px);display:grid;place-items:center;padding:20px;animation:fadeIn .18s ease}.edit-modal{width:min(540px,100%);max-height:90vh;overflow:auto;box-shadow:0 25px 80px #0004}.edit-modal .row{margin-top:14px}.small-note{margin-top:16px}
.finance-callout{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:100%;background:radial-gradient(circle at 100% 0,#fff1e5,transparent 45%),linear-gradient(145deg,#faf6ef,#f1eadd)}.finance-callout .stat b{font-size:clamp(28px,3vw,40px)}.finance-export{margin-top:22px;display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(110deg,#f9f4ea,#f0e8db)}.finance-export h2{margin:4px 0}.finance-stats .stat small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.cloud-config{border-top:1px solid var(--line);margin-top:20px;padding-top:17px}.cloud-config h3{margin-top:0}
table tr{transition:background .15s ease}tbody tr:hover{background:#fffaf1}th{letter-spacing:.04em;text-transform:uppercase;font-size:10px}
.toast{animation:toastIn .22s ease both;box-shadow:0 12px 30px #102e2050}
@keyframes pageIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes toastIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1150px){.pos-layout{grid-template-columns:minmax(0,1fr)}.cart-panel{position:static}.menu-forms{grid-template-columns:1fr}.products{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}
@media(max-width:780px){.shell{display:block}.side{height:auto;position:sticky;top:0;flex-direction:row;overflow-x:auto;align-items:center;padding:9px;gap:3px}.side .brand{font-size:15px;white-space:nowrap;max-width:none}.side .small,.side .bottom{display:none}.side button{width:auto;white-space:nowrap;font-size:12px;padding:9px}.content{padding:19px 13px 30px}.grid2,.pos-layout{grid-template-columns:1fr}.stats{gap:12px}.clay{padding:17px;border-radius:20px}.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product{min-height:170px;padding:9px}.menu-thumb{height:82px}.section-head{align-items:flex-start}.finance-export{align-items:flex-start;flex-direction:column}.compact-actions{flex-wrap:wrap}.tablewrap table{min-width:680px}.cart-panel{padding:16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Compact POS checkout: keep the primary action visible on laptop and phone screens. */
.cart-panel{padding:17px 18px;min-width:0}
.cart-panel .cart-heading{align-items:center;margin-bottom:4px}
.cart-panel .cart-heading h2{margin:2px 0 0;font-size:17px}
.cart-panel .cart-heading .eyebrow{font-size:9px;letter-spacing:.12em}
.cart-items-compact{max-height:clamp(48px,11vh,94px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.cart-items-compact .cartline{padding:6px 0;gap:8px}
.cart-items-compact .cart-item-main b{font-size:12px;line-height:1.25}
.cart-items-compact .cart-item-main .muted{font-size:11px}
.cart-items-compact .item-note{margin-top:4px;padding:5px 8px;font-size:11px;height:29px}
.cart-items-compact .cart-empty{padding:11px 6px;font-size:12px}
.cart-panel #saleForm{margin:0}
.checkout-fields{gap:4px 10px;margin-top:5px}
.checkout-fields label{margin:2px 0;font-size:11px;gap:3px;line-height:1.2}
.checkout-fields input,.checkout-fields select{height:35px;padding:7px 10px;border-radius:11px;font-size:12px}
.checkout-fields textarea{padding:7px 10px;font-size:12px}
.checkout-fields [hidden]{display:none!important}
.notes-disclosure{margin-top:2px}
.notes-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:6px 2px;background:transparent;color:var(--forest);font-weight:750;text-align:left;font-size:11px}
.notes-toggle span{color:var(--muted);font-weight:500}
.notes-disclosure label{margin-top:4px}
.notes-disclosure textarea{min-height:45px;resize:vertical}
.compact-totals{padding:7px 11px;margin-top:5px;border-radius:14px}
.compact-totals .orderline{padding:5px 0;font-size:12px}
.compact-totals .grand-line{font-size:14px;font-weight:850;border-bottom:0}
.payment-disclaimer{font-size:9px;line-height:1.25;margin:3px 0 5px}
.cart-panel .checkout-btn{margin-top:5px;padding:10px 13px;font-size:13px;border-radius:12px;min-height:40px}
@media(max-width:780px){
 .content{padding:12px 12px 22px}
 .top{margin-bottom:12px}
 .top h1{font-size:24px}
 .pos-layout{gap:14px}
 .cart-panel{position:sticky;bottom:7px;z-index:18;max-height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain;padding:12px 13px;border-radius:19px;box-shadow:0 10px 28px #19352524,0 0 0 1px #ffffffd9}
 .cart-panel .cart-heading{margin-bottom:3px}
 .cart-items-compact{max-height:clamp(42px,8vh,68px)}
 .checkout-fields{gap:3px 9px;margin-top:3px}
 .checkout-fields label{font-size:10px}
 .checkout-fields input,.checkout-fields select{height:33px;padding:6px 8px;font-size:12px}
 .compact-totals{margin-top:4px;padding:6px 9px}
 .compact-totals .orderline{padding:4px 0}
 .payment-disclaimer{font-size:9px;margin:2px 0 4px}
 .cart-panel .checkout-btn{min-height:38px;padding:9px 12px;margin-top:4px}
 .cart-panel #saleForm{display:block}
}
@media(max-height:760px){.cart-panel{padding:12px 14px}.cart-items-compact{max-height:55px}.checkout-fields{gap:2px 8px}.checkout-fields input,.checkout-fields select{height:31px}.compact-totals{padding:5px 9px}.compact-totals .orderline{padding:3px 0}.payment-disclaimer{display:none}.cart-panel .checkout-btn{min-height:35px;padding:7px 11px}}
@media(prefers-reduced-motion:reduce){button,.clay,.glass,.product,.btn,input,select,textarea{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
/* Finance period selector and compact reporting controls */
.finance-period{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 8px}.finance-dates{font-size:12px;margin-top:4px}.finance-stats .stat small{display:block;color:var(--muted);font-size:11px;margin-top:7px;line-height:1.4}.finance-export{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px}.finance-export h2{margin:5px 0 8px}.finance-export p{margin:0;max-width:680px}@media(max-width:760px){.finance-export{align-items:stretch;flex-direction:column}.finance-export .btn{width:100%}.finance-period .btn{flex:1 1 auto}}
/* v0.3.4: concise horizontal kitchen tickets */
.kitchen>.kitchen-ticket{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px}
.kitchen-ticket .kitchen-main{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(220px,1.3fr);align-items:center;gap:18px;flex:1;min-width:0}
.kitchen-ticket .kitchen-main h2{margin:0 0 7px}
.kitchen-ticket .kitchen-main p{margin:7px 0 0;color:var(--muted);font-size:12px}
.kitchen-ticket .kitchen-items{min-width:0}
.kitchen-ticket .kitchen-items .orderline{padding:5px 0;align-items:baseline}
.kitchen-ticket>[data-step]{white-space:nowrap;flex-shrink:0}
@media(max-width:780px){.kitchen>.kitchen-ticket{align-items:stretch;flex-direction:column;gap:10px}.kitchen-ticket .kitchen-main{grid-template-columns:1fr;gap:8px}.kitchen-ticket>[data-step]{align-self:flex-start}}

/* v0.3.5: clear category controls and focused dashboard start action */
.dashboard-start{min-height:300px;display:flex;align-items:flex-start;justify-content:center;padding:28px}.start-order-btn{width:min(100%,360px);min-height:72px;display:flex;align-items:center;justify-content:space-between;font-size:19px;letter-spacing:.3px;padding:20px 24px;border-radius:19px;box-shadow:0 12px 24px #f47b3540}.start-order-btn span{font-size:25px}.category-list{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.category-list h3{margin-bottom:8px}.category-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.kitchen-ticket [data-next="READY"]{background:#1769aa!important;color:#fff!important;box-shadow:0 4px 12px #1769aa35}.kitchen-ticket [data-next="COMPLETED"],.kitchen-ticket [data-next="DELIVERED"]{background:#167447!important;color:#fff!important;box-shadow:0 4px 12px #16744735}.kitchen-ticket [data-next="READY"]:hover{background:#0f548d!important}.kitchen-ticket [data-next="COMPLETED"]:hover,.kitchen-ticket [data-next="DELIVERED"]:hover{background:#105d38!important}
@media(max-width:780px){.dashboard-start{min-height:160px;padding:18px}.start-order-btn{min-height:64px;font-size:16px}.category-row{align-items:flex-start}.category-row .row{gap:6px}}

/* Thermal print selection at checkout */
#saleForm label:has(#printMode){margin-top:2px}
#saleForm #printMode{font-weight:700}

/* Hanan Cafe heritage / liquid-glass navigation and compact administration */
.side{background:linear-gradient(150deg,#0d3828f2 0%,#174c37eF 55%,#0b2f22f5 100%);backdrop-filter:blur(24px) saturate(145%);-webkit-backdrop-filter:blur(24px) saturate(145%);border-right:1px solid #ffffff24;box-shadow:14px 0 42px #09261918}
.side:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,#ffffff0c,transparent 38%,#ffffff04);z-index:-1}
.brand{display:flex;align-items:center;gap:10px;font-size:26px;line-height:1.03;letter-spacing:-.8px;font-weight:900;text-shadow:0 2px 18px #0002}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid #ffffff55;border-radius:13px;background:linear-gradient(145deg,#ffffff35,#ffffff08);box-shadow:inset 1px 1px 0 #ffffff70,0 7px 18px #0002;color:#fff}.brand strong{letter-spacing:1.5px}.side .small{font-size:11px;letter-spacing:1.1px;text-transform:uppercase;color:#d4e6d9;margin-top:8px}
.side button{backdrop-filter:blur(12px);transition:background .2s ease,transform .2s ease,border-color .2s ease}.side button.active{background:linear-gradient(135deg,#ffffff32,#ffffff0d);border-color:#ffffff35;box-shadow:inset 1px 1px 0 #ffffff35,0 8px 22px #001b1040}.side button.active:before{background:linear-gradient(#ffb16c,#f47b35);box-shadow:0 0 12px #ff8b45aa}
.category-list{max-height:220px;overflow:auto;margin-top:12px;padding-top:10px}.category-list h3{font-size:12px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin:0 0 5px}.category-row{padding:6px 0;min-height:38px}.category-row .btn{padding:5px 8px}.menu-forms>form:nth-child(2){padding:16px}.menu-forms>form:nth-child(2)>p{display:none}.menu-forms>form:nth-child(2) label{margin:4px 0}.menu-forms>form:nth-child(2) input{padding:9px 11px}.permission-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 12px;margin:10px 0 18px}.permission-grid .check-label{display:flex;flex-direction:row;align-items:center;gap:7px;margin:2px 0;font-size:12px}.permission-grid input{width:auto}.profile-layout{display:grid;grid-template-columns:90px minmax(0,1fr);gap:18px;align-items:start}.avatar{width:82px;height:82px;border-radius:24px;background:linear-gradient(145deg,#fff9ef,#e9e1d4);box-shadow:var(--shadow);display:grid;place-items:center;font-size:26px;color:var(--forest);overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.small-avatar{width:44px;height:44px;border-radius:14px;font-size:18px}.user-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.user-info{flex:1;min-width:130px;display:flex;flex-direction:column}.user-info small{color:var(--muted)}
@media(max-width:780px){.brand{font-size:15px;gap:5px}.brand-mark{width:28px;height:28px;border-radius:9px}.permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-layout{grid-template-columns:1fr}.user-row{align-items:flex-start}}
/* Heritage 0.4: quiet functional surfaces, selected glass and tactile accents. */
:root{--shadow:0 4px 18px #163c2b08;--clay:#fff;--radius:18px}body{background:#f7f2e8}.side{background:linear-gradient(165deg,#163c2bf5,#102c21f2);backdrop-filter:blur(22px);position:sticky;top:0;height:100vh;overflow-y:auto;gap:3px;border-right:1px solid #ffffff33}.side button{border-radius:11px;padding:10px 14px;font-size:13px}.side .brand{font-size:29px;letter-spacing:1px;line-height:1.05;margin:10px 4px}.side .small{margin-bottom:25px}.side .bottom{padding-top:24px}.brand strong{color:#f5b37b}.content{padding:26px 30px;max-width:1900px;width:100%;margin:auto}.top{padding:0 0 20px;border-bottom:1px solid var(--line);margin-bottom:24px}.top h1{font-size:23px}.glass{padding:8px 14px;border-radius:14px;background:#ffffff99;box-shadow:0 3px 18px #163c2b09}.clay{border:1px solid #e6e0d5;border-radius:18px;background:#fff;box-shadow:var(--shadow)}.btn{border-radius:10px;box-shadow:none;min-height:38px;font-weight:650}.btn.orange{background:#f47b35;color:#282c29}.btn.secondary{background:#f7f5f0;color:#163c2b;border:1px solid #e6e0d5}.btn.danger{background:#fff0ee;color:#b42318;border:1px solid #f2c6c0}.btn:hover{filter:brightness(.97);transform:translateY(-1px)}input,select,textarea{border-radius:10px;box-shadow:none;background:#fff;border:1px solid #dcded6;min-width:0}input:focus-visible,button:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #f47b35;outline-offset:3px}h2{font-weight:750;letter-spacing:-.6px}.studio-hero{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:24px;padding:28px;border-radius:20px;background:linear-gradient(115deg,#e9eee5,#f7f5ed);border:1px solid #dce3d6}.studio-hero h2{font-size:32px;margin:8px 0;color:#163c2b}.studio-hero p{color:#646b65;margin:6px 0}.eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:750;color:#646b65}.catalogue-toolbar{display:flex;gap:10px;margin-bottom:22px;flex-wrap:wrap}.catalogue-toolbar input{flex:1;min-width:170px}.catalogue-toolbar select{width:auto;max-width:100%}.catalogue-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.dish-card{background:white;border:1px solid #e6e0d5;border-radius:17px;overflow:hidden;box-shadow:0 4px 14px #163c2b04;min-width:0}.dish-photo{position:relative;display:block;width:100%;height:166px;padding:0;background:#eee9df;overflow:hidden}.dish-photo img,.pos-photo img{width:100%;height:100%;object-fit:cover}.photo-badge{position:absolute;left:12px;bottom:12px;background:#fffffff0;color:#163c2b;backdrop-filter:blur(10px);border-radius:6px;font-size:10px;font-weight:700;padding:4px 8px}.dish-body{padding:16px}.dish-body h3{font-size:15px;line-height:1.35;margin:11px 0 7px}.dish-body p{font-size:12px;line-height:1.5;color:#646b65;min-height:36px;margin:0 0 12px}.dish-price{font-size:16px;color:#163c2b}.status-dot{font-size:10px;color:#18794e}.status-dot:before{content:'';display:inline-block;width:6px;height:6px;background:currentColor;border-radius:50%;margin-right:5px}.status-dot.off{color:#a65d00}.dish-actions{display:flex;gap:6px;margin-top:14px;padding-top:12px;border-top:1px solid #efede7}.dish-actions button{flex:1;font-size:10px;min-height:31px;padding:5px}.pagination{padding:24px 0;color:#646b65;font-size:12px}.image-error{display:grid;place-items:center;padding:18px;min-height:90px;color:#b42318;background:#fff0ee;font-size:12px}.image-error[hidden]{display:none}.list-view{grid-template-columns:1fr}.list-view .dish-card{display:grid;grid-template-columns:180px 1fr}.list-view .dish-photo{height:100%;min-height:180px}.list-view .dish-body p{min-height:0}.pos-photo{width:100%;height:145px;display:block;overflow:hidden;border-radius:10px}.product{display:flex;flex-direction:column;padding:8px;gap:10px;background:#fff;border:1px solid #e6e0d5;border-radius:14px;position:relative}.product-copy{width:100%;padding:2px 5px 6px}.product-copy b{font-size:13px}.product-copy strong{color:#163c2b}.product.selected{border:2px solid #f47b35;background:#fff8ef}.products{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.pos-layout{grid-template-columns:minmax(0,1.8fr) minmax(310px,1fr);align-items:start}.cart-panel{position:sticky;top:16px;padding:18px}.menu-panel{padding:20px}.menu-panel .section-head{align-items:start;gap:12px;flex-wrap:wrap}.menu-panel input{width:100%}.cart-items-compact{max-height:280px;overflow-y:auto}.cart-empty{padding:20px}.checkout-fields{gap:7px 10px}.checkout-fields label{font-size:11px}.checkout-fields input,.checkout-fields select{padding:7px 9px}.cart-heading h2{font-size:18px}.stats .stat{box-shadow:none}.stat b{color:#163c2b}.stat span{font-weight:600}.danger-zone{border:1px solid #f2c6c0;background:#fff8f6;border-radius:18px;padding:24px;margin:22px 0}.recovery-list{margin-top:22px}dialog{color:#282c29;border:1px solid #e6e0d5;border-radius:20px;padding:24px;max-width:670px;width:calc(100% - 32px);max-height:90vh;overflow:auto;box-shadow:0 30px 100px #102c2150}dialog::backdrop{background:#163c2b66;backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px}.dialog-head h2{font-size:21px;margin:0}.large-food{height:280px;background:#f7f2e8;border-radius:12px;overflow:hidden}.large-food img{height:100%;width:100%;object-fit:contain}.history-images{display:flex;gap:10px;overflow-x:auto}.history-image{flex:0 0 130px;background:#f7f2e8;padding:6px;border-radius:10px}.history-image img{width:118px;height:88px;object-fit:cover;border-radius:6px}.history-image span{display:block;font-size:10px;padding:5px}#cropCanvas{width:100%;border-radius:12px}#sensitiveError{color:#b42318}.category-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #e6e0d5}.category-row b{font-size:13px}.notice{border-radius:12px}.kitchen{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.kitchen-ticket{display:flex;flex-direction:column;align-items:stretch;padding:18px;border-top:4px solid #f47b35}.kitchen-main{display:block}.kitchen-items{min-width:0}.kitchen-ticket h2{font-size:25px}.kitchen-ticket .btn{width:100%;margin-top:14px;min-height:44px}.kitchen-lanes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.kitchen-lane{background:#ecebe3;border-radius:16px;padding:14px}.kitchen-lane h3{color:#163c2b;margin:0 0 15px}.kitchen-lane .clay{margin-bottom:12px}.kitchen-lane .empty{font-size:13px}.kitchen-meta{font-size:11px;color:#646b65}.overdue{border-color:#b42318}.kitchen-ticket .orderline{display:block}.kitchen-ticket small{display:block}.fields{min-width:0}[hidden]{display:none!important}@media(min-width:1550px){.catalogue-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.products{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1200px){.catalogue-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.products{grid-template-columns:repeat(2,minmax(0,1fr))}.shell{grid-template-columns:195px minmax(0,1fr)}.content{padding:22px}.kitchen-lanes{grid-template-columns:1fr 1fr}.kitchen-lane:last-child{grid-column:1/-1}}@media(max-width:900px){.catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-layout{grid-template-columns:1fr}.cart-panel{position:static}.products{grid-template-columns:repeat(3,minmax(0,1fr))}.studio-hero{padding:20px;flex-wrap:wrap}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:780px){.shell{display:block}.side{position:static;height:auto;display:flex;flex-direction:row;flex-wrap:wrap;padding:12px;gap:5px}.side .brand{font-size:20px;margin:6px 12px 10px 0}.side .brand br{display:none}.side .brand-mark{display:none}.side .small,.side .bottom{display:none}.side button{width:auto;padding:8px 11px;font-size:12px}.side .brand{width:100%}.content{padding:16px}.top{gap:10px}.top .glass{font-size:11px}.top h1{font-size:21px}.kitchen-lanes{grid-template-columns:1fr}.kitchen-lane:last-child{grid-column:auto}.grid2{grid-template-columns:1fr}}@media(max-width:500px){.catalogue-grid{gap:10px}.dish-photo{height:125px}.dish-body{padding:12px}.dish-body h3{font-size:13px}.dish-body p{font-size:11px}.dish-body .row{gap:4px}.dish-price{font-size:13px}.dish-actions{flex-direction:column}.products{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-photo{height:120px}.studio-hero h2{font-size:26px}.list-view .dish-card{grid-template-columns:110px 1fr}.catalogue-toolbar select{flex:1;min-width:120px}.fields{grid-template-columns:1fr 1fr}.top .glass .pill{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media print{.side,.top,.catalogue-toolbar{display:none}}
