:root{color-scheme:dark;--bg:#0e1112;--panel:#171b1e;--border:#353c40;--muted:#aeb7bb;--gold:#efb440;--ink:#f5f6f6}*{box-sizing:border-box}body{margin:0;font:16px/1.45 'Segoe UI',sans-serif;background:radial-gradient(ellipse at top left,#232624 0,var(--bg) 55%);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit;background:linear-gradient(#22282c,#181c20);border:1px solid var(--border);border-radius:9px;padding:12px 16px;min-height:46px}button:hover{border-color:var(--gold);background:#2b3032}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.gold,.active{background:linear-gradient(110deg,#eab144,#f4bd52);border-color:#f5bd4e;color:#15150f;font-weight:700}.gold:hover,.active:hover{background:#ffd074}.green{background:#098f43;border-color:#17b85e;font-weight:700}.blue{background:#1265d0;border-color:#3189f6;font-weight:700}.danger{color:#ff9696;background:#301c1f}.muted,small{color:var(--muted)}header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 24px;border-bottom:1px solid var(--border)}h1{margin:0;font-size:30px;letter-spacing:.03em}h1 em{color:var(--gold);font-style:normal}.brand{display:flex;align-items:center;gap:16px}.brand small{font-size:12px;letter-spacing:.2em}.brandmark{border:2px solid #af8a76;background:#faf4e9;color:#943a2e;width:64px;height:64px;border-radius:50%;text-align:center;font:italic 20px/1 Georgia;padding-top:10px}.testbar{display:flex;justify-content:space-between;color:#d1b774;font-size:12px;padding:7px 24px;background:#1d1b14;border-bottom:1px solid #393327}nav{display:flex;gap:8px;padding:12px 24px;border-bottom:1px solid var(--border);overflow:auto}nav button{white-space:nowrap;min-height:40px;padding:8px 16px}main{padding:18px 24px}.pos{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(340px,1fr);gap:22px}.modes{display:flex;gap:12px;margin-bottom:16px}.modes button{min-width:210px;font-size:20px}.categories{display:flex;gap:8px;margin-bottom:20px}.categories button{flex:1}.sectiontitle{display:flex;align-items:center;gap:14px;font-size:19px;margin:20px 0 10px;text-transform:uppercase;letter-spacing:.03em}.sectiontitle:after{content:'';height:1px;flex:1;background:var(--border)}.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.product{padding:0;overflow:hidden;text-align:left;min-height:154px;display:flex;flex-direction:column}.food{height:74px;background:radial-gradient(ellipse at center,#58533a 0%,#272b25 45%,#191d1f 75%);display:flex;align-items:center;justify-content:center;font-size:42px}.product .name{padding:9px 10px 3px;font-weight:650;line-height:1.2}.product .price{padding:0 10px 10px;color:var(--gold);font-weight:700;font-size:20px}.product .detail{padding:0 10px 5px;font-size:12px;color:var(--muted)}.panel{background:linear-gradient(135deg,#1b2023,#121618);border:1px solid var(--border);border-radius:12px;padding:18px}.cart{position:sticky;top:16px;align-self:start}.cart h2{margin:0 0 16px;font-size:21px;display:flex;justify-content:space-between}.line{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid var(--border)}.quantity{display:flex;align-items:center;gap:9px}.quantity button{min-height:32px;padding:1px 9px;font-size:20px}.line small{display:block}.summary{margin:18px 0}.summary>div{display:flex;justify-content:space-between;margin:6px 0}.total{font-size:24px;font-weight:750;padding:10px 0;border-top:1px solid var(--border)}.total strong{color:var(--gold)}.paygrid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}.empty{padding:36px 12px;text-align:center;color:var(--muted)}.tools{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.stat{background:var(--panel);padding:18px;border:1px solid var(--border);border-radius:10px}.stat strong{display:block;font-size:25px;color:var(--gold);margin-top:8px}.pagehead{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:20px}h2{margin:0 0 14px;font-size:24px}h3{margin:18px 0 10px}input,select,textarea{background:#101518;border:1px solid #42494f;border-radius:7px;color:var(--ink);padding:11px 12px;max-width:100%;width:100%}input[type=checkbox]{width:auto}label{display:block;margin:12px 0 5px;color:#d7dce0}label.check{display:flex;gap:10px;align-items:center}.row{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.row>*{flex:1;min-width:150px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left}th{color:var(--muted);font-size:14px;font-weight:600}th,td{padding:12px;border-bottom:1px solid var(--border)}td button{padding:7px 11px;min-height:35px}.badge{display:inline-block;background:#2c3227;color:#d8cf8d;border:1px solid #454735;border-radius:5px;padding:2px 6px;font-size:12px}.warning{color:#e5c384;background:#292217;border:1px solid #5c4930;border-radius:8px;padding:12px;font-size:14px}.good{color:#8fe5b0}dialog{border:1px solid #50585b;border-radius:14px;background:#171c1f;color:var(--ink);padding:24px;width:min(690px,95vw);max-height:90vh;overflow:auto}dialog::backdrop{background:#000b;backdrop-filter:blur(3px)}.dialoghead{display:flex;align-items:center;justify-content:space-between}.dialoghead button{min-height:32px;padding:5px 12px}.receipt{background:#fff;color:#111;padding:24px;font:14px/1.5 monospace}.receipt table{font:inherit}.receipt th{color:#333}.receipt h2{text-align:center}.receipt p{white-space:pre-line}.receipt .total{font-size:20px}.receipt .total strong{color:#111}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#f0c66f;color:#181814;border-radius:9px;padding:14px 24px;box-shadow:0 8px 50px #0009;display:none;z-index:100}.login{max-width:470px;margin:40px auto}.daystats{display:flex;justify-content:space-between;gap:8px;border-top:1px solid var(--border);margin-top:18px;padding-top:14px;font-size:14px}.daystats strong{display:block;color:#fff}.link{color:var(--gold)}@media(max-width:1100px){.pos{grid-template-columns:minmax(0,1.25fr) minmax(320px,1fr)}header #clock{display:none}.products{grid-template-columns:repeat(auto-fill,minmax(125px,1fr))}.stats{grid-template-columns:1fr 1fr}}@media(max-width:760px){header{padding:12px}.brandmark{display:none}h1{font-size:22px}.brand small{font-size:10px}main,nav{padding:12px}.pos,.grid2{grid-template-columns:1fr}.cart{position:static}.modes button{min-width:0;flex:1}.categories{flex-wrap:wrap}.categories button{flex:auto}.stats{grid-template-columns:1fr 1fr}.testbar{padding:6px 12px}.product{min-height:145px}.pagehead{align-items:start;flex-wrap:wrap}}@media print{body>*{display:none!important}body #modal{display:block!important;position:static;width:100%;border:0;background:#fff;max-height:none;padding:0}#dialog-content>*{display:none!important}#dialog-content .receipt{display:block!important}dialog::backdrop{display:none}}
.food.photo{width:100%;height:100px;display:block;background:#111518}.food.drink-photo{height:100px;background:#14191c}.product{min-height:176px}.product:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0005}.product .name{font-size:16px}.mail-preview{white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;color:#172026;padding:22px;border-radius:9px;max-height:52vh;overflow:auto}.panel ol{padding-left:24px}.panel li{margin:10px 0}details{margin-top:18px}summary{cursor:pointer;color:var(--gold)}@media(min-width:1500px){.products{grid-template-columns:repeat(6,minmax(120px,1fr))}.pos{grid-template-columns:minmax(0,1.85fr) minmax(420px,1fr)}}

/* Landscape register: all standard products remain visible, only ticket lines scroll. */
.catalog-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;min-height:0}
.ticket-lines{min-height:0;overflow:auto;overscroll-behavior:contain}
@media(min-width:800px) and (orientation:landscape){
body.pos-mode{height:100dvh;overflow:hidden;display:flex;flex-direction:column}
.pos-mode header{height:48px;min-height:48px;padding:4px 12px;gap:8px}.pos-mode h1{font-size:22px}.pos-mode .brandmark{width:38px;height:38px;font-size:13px;padding-top:5px}.pos-mode .brand{gap:8px}.pos-mode .brand small{display:none}.pos-mode #clock{font-size:12px}.pos-mode header button{min-height:36px;padding:4px 10px;font-size:13px}
.pos-mode .testbar{padding:2px 12px;font-size:10px;min-height:20px}.pos-mode nav{padding:3px 10px;gap:4px;flex-shrink:0}.pos-mode nav button{min-height:34px;padding:4px 8px;font-size:12px}
.pos-mode main{flex:1;min-height:0;padding:6px 10px}.pos-mode .pos{height:100%;grid-template-columns:minmax(0,1fr) 32%;gap:8px}.pos-mode .pos>section{min-height:0;display:flex;flex-direction:column;gap:6px}
.pos-mode .modes{margin:0;gap:6px;flex-shrink:0}.pos-mode .modes button{font-size:15px;min-height:36px;padding:4px 12px;flex:1;min-width:0}
.pos-mode .catalog-grid{flex:1;grid-template-rows:repeat(4,minmax(0,1fr))}
.pos-mode .product{min-height:0;position:relative;border-radius:6px;display:grid;grid-template-rows:minmax(20px,1fr) 28px 19px;align-content:stretch}
.pos-mode .product[data-category="Entrées"]{border-top:3px solid #efb440}.pos-mode .product[data-category="Salades"]{border-top:3px solid #72b978}.pos-mode .product[data-category="Bowls"]{border-top:3px solid #cf795c}.pos-mode .product[data-category="Boissons"]{border-top:3px solid #75aaca}
.pos-mode .food.photo,.pos-mode .food.drink-photo{height:100%;min-height:0}.pos-mode .product .name{font-size:clamp(10px,1.15vw,15px);line-height:1.08;padding:2px 5px;align-self:center}.pos-mode .product .price{padding:0 5px;font-size:14px;line-height:18px}.pos-mode .product:hover{transform:none}
.pos-mode .pos>section>.tools{margin:0;display:grid;grid-template-columns:repeat(6,1fr);gap:4px;flex-shrink:0}.pos-mode .tools button{min-height:36px;padding:4px;font-size:11px}
.pos-mode .cart{height:100%;position:static;display:flex;flex-direction:column;padding:9px;min-height:0;overflow:hidden}.pos-mode .cart h2{font-size:17px;margin:0 0 4px}.pos-mode .cart .row>*{min-width:0}.pos-mode .cart label{font-size:11px;margin:2px 0}.pos-mode .cart input,.pos-mode .cart select{min-height:30px;padding:4px 6px;font-size:12px}.pos-mode .ticket-lines{flex:1;min-height:40px;margin-top:5px}.pos-mode .line{padding:5px 0;gap:5px;font-size:12px}.pos-mode .line small{font-size:10px}.pos-mode .quantity{gap:4px}.pos-mode .quantity button{min-height:32px;min-width:30px;padding:0;font-size:18px}
.pos-mode .summary{margin:5px 0;flex-shrink:0;font-size:11px}.pos-mode .summary>div{margin:2px 0}.pos-mode .total{font-size:20px;padding:4px 0}.pos-mode .cart>.tools{margin:4px 0}.pos-mode .cart>.tools button{width:100%;min-height:30px}.pos-mode .paygrid{margin-top:4px;gap:5px;flex-shrink:0}.pos-mode .paygrid button{min-height:38px;padding:5px;font-size:12px}.pos-mode .daystats{margin-top:5px;padding-top:4px;font-size:10px;flex-shrink:0}.pos-mode .daystats strong{font-size:11px}
}
@media(max-width:799px){.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ticket-lines{max-height:35vh}}

.pos-mode .food.drink-photo{width:auto!important;aspect-ratio:0.44;justify-self:center;max-width:100%}

.client-picker{display:flex;gap:5px;align-items:center}.client-picker select{flex:1;min-width:0}.client-picker button{white-space:nowrap}
@media(min-width:800px) and (orientation:landscape){.pos-mode .cart>.row{flex:0 0 auto}.pos-mode .cart>.row label{display:none}.pos-mode .client-picker{flex-shrink:0;margin:4px 0}.pos-mode .client-picker button{font-size:11px;min-height:32px;padding:3px 7px}.pos-mode .daystats{display:none}.pos-mode .ticket-lines{min-height:0}.pos-mode .cart .summary{margin:4px 0}}
