:root{--bg:#06111d;--panel:#0b1b2b;--panel2:#10243a;--border:#29465f;--text:#eef7ff;--muted:#91a8bf;--orange:#ff7b42;--amber:#ffb34f;--green:#4bdda2;--red:#ff687a;--shadow:0 16px 45px #0007}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:radial-gradient(circle at 0 0,#173b58 0,#07131f 42%,#030811 100%);color:var(--text)}button,input,select,textarea{font:inherit}.hidden{display:none!important}.btn{border:0;border-radius:14px;padding:11px 15px;background:#213b55;color:#fff;font-weight:850;cursor:pointer}.btn:disabled{opacity:.42}.btn-primary{background:linear-gradient(135deg,var(--orange),var(--amber));color:#1b1109}.btn-danger{background:#3a1824;color:#ff9fac;border:1px solid #783448}.btn-xl{min-height:54px;font-size:17px}.btn-compact{padding:8px 10px;font-size:12px}.icon-btn{width:46px;height:46px;border:1px solid #365570;border-radius:14px;background:#112940;color:#fff;font-size:20px}.eyebrow{color:#809ab4;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.login{min-height:100dvh;display:grid;place-items:center;padding:24px}.login-card{width:min(520px,100%);padding:30px;border:1px solid var(--border);border-radius:28px;background:linear-gradient(145deg,#102338,#081421);box-shadow:var(--shadow)}.login-brand{display:flex;align-items:center;gap:18px}.login-brand img{width:105px;height:105px;object-fit:contain}.login h1{font-size:42px;line-height:1;margin:5px 0;color:#ff8c4d}.login p{color:var(--muted)}.pin{width:100%;margin:20px 0 12px;padding:14px;border:1px solid #365570;border-radius:15px;background:#06121f;color:#fff;text-align:center;font-size:30px;letter-spacing:.35em}.login .btn{width:100%}.hint,.version{text-align:center;color:#8197ac;font-size:12px;margin-top:11px}.shell{height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;padding:10px}.topbar{display:grid;grid-template-columns:minmax(250px,.75fr) minmax(430px,1.25fr) auto;align-items:center;gap:14px;padding:9px 12px;border:1px solid var(--border);border-radius:22px;background:linear-gradient(145deg,#0f2235,#07131f);box-shadow:var(--shadow)}.brand{display:flex;align-items:center;gap:10px}.brand img{width:58px;height:58px;object-fit:contain}.brand h1{margin:0;color:#ff8c4d;font-size:28px}.brand p{margin:4px 0 0;color:var(--muted);font-size:12px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green)}.dot.offline{background:var(--red);box-shadow:0 0 10px var(--red)}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.service{min-height:48px;border:1px solid #35546f;border-radius:14px;background:#10253a;color:#bfd0de;font-weight:850}.service.active{background:linear-gradient(135deg,var(--orange),var(--amber));color:#17100b;border-color:#ffa35c}.top-actions{display:flex;align-items:center;gap:8px}.held-top{min-width:58px;height:46px;border:1px solid #365570;border-radius:14px;background:#112940;color:#fff;font-weight:900}.held-top.has-orders{border-color:#ffb34f;color:#ffd28d;box-shadow:0 0 16px #ffb34f33}.clock{min-width:108px;text-align:center;font-size:22px;font-weight:950;font-variant-numeric:tabular-nums}.workspace{min-height:0;display:grid;grid-template-columns:minmax(350px,31%) minmax(0,1fr);gap:10px}.cart,.catalog{min-height:0;border:1px solid var(--border);border-radius:22px;background:linear-gradient(145deg,#0d1e2f,#07131f);box-shadow:var(--shadow);overflow:hidden}.cart{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto}.cart-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px;border-bottom:1px solid #223b54}.cart-head h2{margin:4px 0 0;font-size:21px}.cart-head-actions{display:flex;gap:6px}.order-note-display{margin:8px 10px 0;padding:9px 11px;border:1px solid #8a692d;border-radius:12px;background:#30250e;color:#ffe29a;font-size:12px}.cart-list{overflow:auto;padding:10px}.empty{align-self:center;justify-self:center;text-align:center;color:#8399ad;display:grid;gap:5px}.empty b{color:#dce9f3}.empty span:first-child{font-size:48px}.line{padding:12px;border:1px solid #2b465f;border-radius:15px;background:#0b1a2a;margin-bottom:9px}.line-main{display:flex;justify-content:space-between;gap:10px}.line-main b{font-size:16px}.line-main strong{color:#ffb565}.mods{margin:7px 0 0;padding:0;list-style:none;font-size:13px;color:#9ee2c0}.mods .remove{color:#ff9ca8}.note{margin-top:7px;color:#f0d48d;font-size:12px}.line-actions{display:flex;align-items:center;gap:7px;margin-top:10px;flex-wrap:wrap}.line-actions button{border:1px solid #365570;border-radius:9px;background:#142a41;color:#fff;padding:6px 10px;font-weight:900}.line-actions .edit{color:#ffd398;border-color:#765d34}.line-actions .delete{margin-left:auto;color:#ff9ba7;border-color:#76364a}.cart-foot{padding:12px 14px;border-top:1px solid #223b54;background:#081522}.total-row{display:flex;justify-content:space-between;align-items:center}.vat{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.vat span{padding:4px 7px;border:1px solid #314b64;border-radius:999px;color:#8fa5ba;font-size:10px}.grand{padding-top:10px;border-top:1px dashed #35516c;font-size:25px}.grand strong{color:#ffb35f}.cart-buttons{display:grid;grid-template-columns:1fr 1.35fr;gap:8px;margin:12px 0 9px}.pay{width:100%;min-height:58px;display:flex;justify-content:space-between;align-items:center;font-size:19px}.catalog{display:grid;grid-template-rows:auto minmax(0,1fr)}.catalog-head{padding:10px;border-bottom:1px solid #223b54}.cats{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px}.cat{min-width:132px;min-height:69px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;text-align:left;border:1px solid #31506b;border-radius:15px;background:#11263b;color:#c7d4df;padding:9px 11px}.cat span{font-size:25px}.cat b{font-size:13px}.cat.active{border-color:var(--c);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--c) 50%,transparent)}.search{width:100%;padding:11px 13px;border:1px solid #365570;border-radius:14px;background:#06121f;color:#fff}.products{overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));grid-auto-rows:minmax(145px,1fr);gap:10px;padding:10px}.product{position:relative;border:1px solid color-mix(in srgb,var(--p) 70%,#28435d);border-radius:18px;background:linear-gradient(145deg,color-mix(in srgb,var(--p) 22%,#0d2133),#081521);color:#fff;overflow:hidden;isolation:isolate}.product-add{position:absolute;inset:0;width:100%;height:100%;display:grid;grid-template-rows:1fr auto;text-align:left;border:0;background:transparent;color:#fff;padding:14px;cursor:pointer}.product-add:active{background:#ffffff0d;transform:scale(.995)}.product b{display:block;font-size:19px;line-height:1.15;margin-top:18px;padding-right:56px}.product small{display:block;color:#a8bacb;margin-top:7px;line-height:1.3;padding-right:8px}.price{font-size:20px;font-weight:1000;color:#fff0dc;padding-right:50px}.vat-badge{position:absolute;right:9px;top:9px;padding:4px 6px;border-radius:999px;background:#07121ddd;color:#bccbd7;font-size:9px;font-weight:900}.product-options{position:absolute;z-index:3;right:9px;bottom:9px;width:36px;height:36px;display:grid;place-items:center;padding:0;border:1px solid color-mix(in srgb,var(--p) 80%,#48637a);border-radius:50%;background:#071522ed;color:#ffd7b8;font-size:18px;font-weight:950;cursor:pointer;box-shadow:0 4px 14px #0007}.product-options:active{transform:scale(.96)}.footer{display:flex;justify-content:space-between;color:#8197aa;font-size:12px;padding:0 7px}.modal{position:fixed;z-index:50;inset:0;display:grid;place-items:center;padding:18px;background:#000b;backdrop-filter:blur(7px)}.modal-card{width:min(900px,100%);max-height:92dvh;overflow:auto;border:1px solid #36536f;border-radius:24px;background:linear-gradient(145deg,#10253a,#07131f);box-shadow:0 28px 80px #000b}.small-card{width:min(620px,100%)}.modal-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:17px 19px;border-bottom:1px solid #29445f;background:#0b1b2bee}.modal-head h2{margin:4px 0 0;font-size:28px}.modal-body{padding:16px}.group{margin-bottom:18px}.group-title{display:flex;justify-content:space-between;margin-bottom:8px}.group-title span{color:#8fa6ba;font-size:12px}.options{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.option{min-height:68px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;text-align:left;border:1px solid #36536f;border-radius:14px;background:#11263b;color:#fff;padding:10px}.option>span{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#173b32;color:#63e5a9;font-size:20px;font-weight:1000}.option.negative>span{background:#3b1b25;color:#ff8997}.option small{color:#9ab0c4}.option.selected{border-color:#ff9e57;background:#302417;box-shadow:inset 0 0 0 2px #ff9e5744}.textarea,.form input,.form select,.form textarea,.money{width:100%;padding:13px;border:1px solid #365570;border-radius:14px;background:#06121f;color:#fff}.modal-foot{position:sticky;bottom:0;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 18px;border-top:1px solid #29445f;background:#081522ee}.qty{display:flex;align-items:center;gap:12px}.qty button{width:48px;height:48px;border:1px solid #3d5b75;border-radius:13px;background:#142a41;color:#fff;font-size:26px}.qty strong{font-size:24px}.payment-card{width:min(720px,100%)}.payment-total{display:flex;justify-content:space-between;align-items:center;margin:18px;padding:17px;border:1px solid #3a5771;border-radius:17px;background:#0c1d2e;font-size:20px}.payment-total strong{font-size:32px;color:#ffb25d}.pay-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0 18px 18px}.pay-method{min-height:135px;display:grid;place-items:center;align-content:center;gap:5px;border:1px solid #36536f;border-radius:18px;background:#11263b;color:#fff}.pay-method span{font-size:38px}.pay-method b{font-size:18px}.pay-method small{color:#91a7bb}.pay-method.selected{border-color:#ff9f58;background:#302417}.cash{padding:0 18px 18px}.field-label{display:block;margin-bottom:6px;color:#a7bacd;font-size:12px}.money{font-size:24px;text-align:right}.quick{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.quick button{padding:10px 14px;border:1px solid #36536f;border-radius:12px;background:#142a41;color:#fff}.change{display:flex;justify-content:space-between;padding:14px;border:1px solid #3a5771;border-radius:14px;background:#0a1a2a}.change strong{font-size:26px;color:#5ee3a7}.mixed-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:10px}.mixed-grid label span{display:block;margin-bottom:6px;color:#a7bacd}.tables{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:18px}.table{position:relative;min-height:105px;border:1px solid #36536f;border-radius:17px;background:#11263b;color:#fff}.table strong{display:block;font-size:28px}.table span{color:#91a7bb}.table.active{border-color:#ff9f58;background:#302417}.table.occupied{border-color:#f0b84a}.table .occupied-badge{position:absolute;right:7px;top:7px;padding:3px 6px;border-radius:999px;background:#4a3511;color:#ffd98d;font-size:9px;font-weight:900}.held-orders{padding:16px}.held-empty{padding:38px;text-align:center;color:#91a8bf}.held-order{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:14px;border:1px solid #35516c;border-radius:16px;background:#0d2032;margin-bottom:10px}.held-order h3{margin:0 0 5px}.held-order p{margin:3px 0;color:#9db0c2;font-size:12px}.held-order .held-total{font-size:21px;color:#ffb35f;font-weight:950}.held-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.form{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:18px}.form label span{display:block;margin-bottom:6px;color:#9bb0c4;font-size:12px}.form .wide{grid-column:1/-1}.notice{margin:0 18px 18px;padding:12px;border:1px solid #775e2f;border-radius:13px;background:#2c240e;color:#ffe4a1;font-size:12px}.option-config{display:flex;gap:18px;flex-wrap:wrap;border:1px solid #35516c;border-radius:14px;padding:13px}.option-config legend{padding:0 7px;color:#9bb0c4}.option-config label{display:flex;gap:7px;align-items:center}.toast{position:fixed;z-index:100;left:50%;bottom:24px;transform:translateX(-50%);padding:12px 18px;border:1px solid #3e745d;border-radius:14px;background:#0e3025;color:#adf1ce;box-shadow:var(--shadow);font-weight:800}.toast.error{border-color:#824052;background:#35131d;color:#ffc0c9}
@media(max-width:1000px){.shell{height:auto;min-height:100dvh}.topbar{grid-template-columns:1fr auto}.services{grid-column:1/-1;grid-row:2}.workspace{grid-template-columns:1fr}.cart{min-height:520px}.catalog{min-height:650px}.products{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.footer{padding-bottom:8px}}@media(max-width:650px){.topbar{grid-template-columns:1fr}.top-actions{justify-content:space-between}.services{grid-template-columns:1fr}.workspace{display:block}.cart,.catalog{margin-bottom:10px}.cart-head{align-items:flex-start}.cart-head-actions{flex-direction:column}.pay-methods{grid-template-columns:1fr}.form,.mixed-grid{grid-template-columns:1fr}.tables{grid-template-columns:repeat(2,1fr)}.held-order{grid-template-columns:1fr}}


/* Dino Caisse v0.1.7 — scission de note et paiements séparés */
.checkout-actions{display:grid;grid-template-columns:minmax(170px,.78fr) minmax(230px,1.35fr);gap:8px}
.split-pay{min-height:58px;display:flex;align-items:center;justify-content:center;gap:10px;border-color:#8a6b38;background:linear-gradient(145deg,#2c2618,#17263a);color:#ffe0a2}
.split-pay>span:first-child{font-size:25px}.split-pay b,.split-pay small{display:block}.split-pay b{font-size:14px}.split-pay small{margin-top:2px;color:#bdad8c;font-size:10px;font-weight:600}
.split-pay:disabled{opacity:.45}
.split-card{width:min(920px,100%)}
.split-help{margin:16px 18px 8px;padding:13px 15px;border:1px solid #80652f;border-radius:14px;background:#2b240f;color:#ffe4a1;line-height:1.4}
.split-toolbar{display:flex;justify-content:flex-end;gap:8px;padding:0 18px 10px}
.split-items{max-height:52dvh;overflow:auto;padding:0 18px 10px}
.split-item{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(100px,auto);gap:16px;align-items:center;padding:13px 14px;border:1px solid #31506b;border-radius:15px;background:#0b1b2b;margin-bottom:9px}
.split-item-copy{min-width:0}.split-item-copy b{display:block;font-size:17px}.split-item-copy small{display:block;margin-top:4px;color:#9cb1c4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.split-item-copy span{display:block;margin-top:5px;color:#ffcc8f;font-size:12px}
.split-qty{display:flex;align-items:center;gap:11px}.split-qty button{width:44px;height:44px;border:1px solid #46647e;border-radius:12px;background:#142a41;color:#fff;font-size:24px;font-weight:900}.split-qty strong{min-width:28px;text-align:center;font-size:23px}
.split-line-total{min-width:100px;text-align:right;color:#ffb35f;font-size:19px;font-weight:950}
.split-footer{position:sticky;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:15px 18px;border-top:1px solid #29445f;background:#081522f2}
.split-footer>div{display:grid;gap:3px}.split-footer span{color:#9eb2c5;font-size:12px}.split-footer strong{font-size:29px;color:#ffb35f}.split-footer small{color:#83a0b8}
.partial-payment-notice{margin:14px 18px 0;padding:10px 13px;border:1px solid #80652f;border-radius:13px;background:#2b240f;color:#ffe4a1;font-size:12px}
@media(max-width:700px){.checkout-actions{grid-template-columns:1fr}.split-item{grid-template-columns:1fr auto}.split-line-total{grid-column:1/-1;text-align:right}.split-footer{align-items:stretch;flex-direction:column}.split-footer .btn{width:100%}}


/* Dino Caisse v0.1.7 — paiement unique prioritaire et scission exceptionnelle */
.paid-summary{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;margin:8px 0;padding:9px 11px;border:1px solid #3a6b59;border-radius:12px;background:#0d2a22;color:#b8ecd5}
.paid-summary>div{display:contents}.paid-summary span{font-size:12px}.paid-summary strong{grid-column:2;font-size:18px;color:#66e0aa}.paid-summary small{grid-column:1/-1;color:#86bca5;font-size:10px}
.split-preference{display:flex;align-items:center;gap:12px;margin:16px 18px 10px;padding:13px 15px;border:1px solid #3d765e;border-radius:14px;background:#0e2d24;color:#c7f3df}
.split-preference>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#1d5a46;color:#7ff0b9;font-size:20px;font-weight:1000}.split-preference b,.split-preference small{display:block}.split-preference small{margin-top:3px;color:#91c7af;line-height:1.35}
.split-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:0 18px 14px}
.split-mode{min-height:105px;display:grid;place-items:center;align-content:center;gap:4px;border:1px solid #36536f;border-radius:16px;background:#10253a;color:#fff;padding:10px;text-align:center}
.split-mode>span{font-size:29px}.split-mode b{font-size:15px}.split-mode small{color:#92a8bb;line-height:1.25}.split-mode.active{border-color:#ff9f58;background:#302417;box-shadow:inset 0 0 0 2px #ff9f5838}.split-mode.disabled-mode{opacity:.38}
.split-pane{min-height:250px}.split-form-area{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:15px;align-items:center;padding:18px}
.split-form-copy b,.split-form-copy small{display:block}.split-form-copy b{font-size:19px}.split-form-copy small{margin-top:5px;color:#9cb1c4;line-height:1.4}
.people-stepper{display:flex;align-items:center;gap:14px}.people-stepper button{width:50px;height:50px;border:1px solid #46647e;border-radius:14px;background:#142a41;color:#fff;font-size:28px;font-weight:900}.people-stepper strong{min-width:44px;text-align:center;font-size:30px}
.equal-result{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;padding:15px;border:1px solid #3a5771;border-radius:15px;background:#0a1a2a}.equal-result span{color:#9fb2c5}.equal-result strong{font-size:30px;color:#ffb35f}.equal-result small{grid-column:1/-1;color:#829db4}
.split-form-area>.btn{grid-column:1/-1;justify-self:end;min-width:260px}
.amount-field{display:block}.amount-field span{display:block;margin-bottom:7px;color:#9fb2c5}.amount-field input{width:100%;padding:15px;border:1px solid #46647e;border-radius:14px;background:#06121f;color:#fff;font-size:28px;text-align:right}
.amount-quick{grid-column:1/-1;margin:0}.amount-quick button{font-weight:800}
@media(max-width:700px){.split-modes{grid-template-columns:1fr}.split-form-area{grid-template-columns:1fr}.people-stepper{justify-content:center}.split-form-area>.btn{justify-self:stretch;min-width:0}.equal-result{grid-template-columns:1fr}.equal-result strong{grid-column:1}.paid-summary{grid-template-columns:1fr}}


/* Dino Caisse v0.1.7 — cycle normal de commande et plan de salle */
.btn-kitchen{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;min-height:64px;margin-bottom:9px;border:1px solid #65d2a1;background:linear-gradient(135deg,#157554,#0f9d6b);color:#fff;box-shadow:0 10px 22px #0e9a6540}
.btn-kitchen>span:first-child{font-size:26px}.btn-kitchen>span:last-child{display:flex;flex-direction:column;align-items:flex-start}.btn-kitchen b{font-size:17px}.btn-kitchen small{font-size:11px;color:#d9fff0}.btn-kitchen:disabled{filter:grayscale(.7);opacity:.45;box-shadow:none}
.cart-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.cart-buttons .hidden{display:none}.cart-head-actions{flex-wrap:wrap;justify-content:flex-end}
.floor-card{width:min(1120px,96vw);max-height:92vh;overflow:auto}
.floor-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.floor-summary>div{padding:12px 14px;border:1px solid #294966;border-radius:14px;background:#0b1d2d}.floor-summary span{display:block;color:#91aac2;font-size:11px;text-transform:uppercase;font-weight:900}.floor-summary strong{display:block;margin-top:3px;font-size:28px;color:#fff}
.floor-tables{display:grid;grid-template-columns:repeat(3,minmax(190px,1fr));gap:12px}.floor-table{position:relative;min-height:155px;padding:14px;border:2px solid #27445f;border-radius:18px;background:linear-gradient(145deg,#0c2032,#071522);display:flex;flex-direction:column;gap:8px}.floor-table.free{border-color:#2c9e72;background:linear-gradient(145deg,#0d2b27,#081b1d)}.floor-table.occupied{border-color:#ff9d48;background:linear-gradient(145deg,#332016,#15151a);box-shadow:0 0 20px #ff8d3025}.floor-table-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.floor-table-top strong{font-size:28px}.floor-table-top span{font-size:12px;color:#a9bed1}.floor-state{font-weight:900;color:#5ce1a6}.floor-table.occupied .floor-state{color:#ffb363}.floor-order-info{display:grid;grid-template-columns:1fr auto;gap:3px 10px;align-items:end}.floor-order-info b{font-size:22px;color:#ffb260}.floor-order-info span,.floor-order-info small{color:#9fb4c8;font-size:11px}.floor-order-info small{grid-column:1/3}.floor-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:auto}.floor-new{margin-top:auto}.floor-section-title{margin:20px 0 10px;color:#91aac2;font-size:12px;text-transform:uppercase;font-weight:1000;letter-spacing:.06em}
.transfer-source{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:14px;border:1px solid #345370;border-radius:15px;background:#0a1b2b;margin-bottom:14px}.transfer-source strong{font-size:20px}.transfer-source span{color:#a8bdd0}.transfer-source small{grid-column:2;grid-row:1/3;align-self:center;font-size:21px;color:#ffb260;font-weight:900}.transfer-tables{grid-template-columns:repeat(3,1fr)}.disabled-table{opacity:.4;cursor:not-allowed}
.saved-card{width:min(570px,94vw);text-align:center;padding:30px}.saved-icon{font-size:58px}.saved-card h2{margin:7px 0}.saved-card p{color:#a9bed0}.saved-kitchen-summary{display:flex;justify-content:space-between;gap:12px;margin:18px 0;padding:14px;border:1px solid #2b4b67;border-radius:14px;background:#091a29;text-align:left}.saved-kitchen-summary span{color:#a7bbcf}.saved-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:10px}
.held-top{min-width:76px}
@media(max-width:900px){.floor-tables{grid-template-columns:repeat(2,1fr)}.floor-summary{grid-template-columns:1fr}.saved-actions{grid-template-columns:1fr}}

/* Dino Caisse v0.1.7 — TVA automatique et synchronisation provisoire des tables */
.floor-summary{grid-template-columns:repeat(4,1fr)}
.floor-summary small{display:block;margin-top:4px;color:#7f97ad;font-size:10px}
.floor-summary .sync-ok{color:#5ce1a6}.floor-summary .sync-error{color:#ff9eaa}.floor-summary .sync-offline{color:#ffcc7e}.floor-summary .sync-pending{color:#a9bed1;font-size:17px}
.table.remote-occupied{opacity:.72;cursor:not-allowed;background:linear-gradient(145deg,#271e2b,#121521);border-color:#a67bc7}
.remote-floor{border-color:#a67bc7!important;background:linear-gradient(145deg,#281e31,#11151e)!important}
.remote-lock{margin-top:auto;padding:8px;border:1px solid #6f5488;border-radius:10px;text-align:center;color:#d8baf0;font-size:12px;font-weight:900}
@media(max-width:1100px){.floor-summary{grid-template-columns:repeat(2,1fr)}}


/* Dino Caisse v0.1.7 — panier toujours accessible et suivi Emporter */
.workspace,.cart,.catalog{height:100%;min-height:0}
.cart{min-height:0;overflow:hidden;grid-template-rows:auto auto minmax(0,1fr) auto}
.cart-list{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.cart-foot{position:relative;z-index:5;flex:0 0 auto;box-shadow:0 -12px 24px #02070d88}
.held-order .held-status-badge{display:inline-flex;margin-bottom:7px;padding:5px 9px;border:1px solid #45627b;border-radius:999px;background:#12283d;color:#c8d6e3;font-size:11px;font-weight:950}
.held-order.status-ready_unpaid{border-color:#ffb64f;background:linear-gradient(145deg,#34230d,#102134);box-shadow:0 0 22px #ffb34f35}
.held-order.status-ready_unpaid .held-status-badge{border-color:#e9a43f;background:#4a300d;color:#ffe1a3}
.held-order.status-ready_paid{border-color:#50dca0;background:linear-gradient(145deg,#0e3226,#102134)}
.held-order.status-ready_paid .held-status-badge,.held-order.status-paid_preparing .held-status-badge{border-color:#44b986;background:#113c2d;color:#a9f1d0}
.held-order.status-preparing_unpaid .held-status-badge{border-color:#6084a4;background:#152e45;color:#cbe3f7}
.held-order .paid-label{color:#58e0a7;font-size:16px;letter-spacing:.05em}
.btn-ready{background:linear-gradient(135deg,#9a671b,#d08d27);color:#fff5db}

@media(max-height:850px) and (min-width:800px){
  .shell{gap:6px;padding:6px}
  .topbar{padding:6px 9px}
  .brand img{width:48px;height:48px}.brand h1{font-size:24px}
  .service{min-height:42px}
  .cart-head{padding:9px 11px}.cart-head h2{font-size:18px}
  .cart-list{padding:7px 9px}
  .line{padding:8px 10px;margin-bottom:6px}.line-main b{font-size:14px}.mods{margin-top:4px;font-size:11px}.line-actions{margin-top:6px}.line-actions button{padding:4px 8px}
  .cart-foot{padding:7px 10px}
  .total-row:not(.grand){font-size:12px}.vat{margin:4px 0}.vat span{padding:3px 6px}
  .grand{padding-top:6px;font-size:21px}
  .btn-kitchen{min-height:48px;margin-bottom:6px}.btn-kitchen>span:first-child{font-size:21px}.btn-kitchen b{font-size:14px}.btn-kitchen small{font-size:9px}
  .cart-buttons{margin:6px 0;gap:6px}.cart-buttons .btn{padding:8px 9px}
  .checkout-actions{gap:6px}.split-pay,.pay{min-height:48px}.pay{font-size:16px}.split-pay b{font-size:12px}.split-pay small{font-size:9px}
  .footer{font-size:10px}
}


/* Dino Caisse v0.1.7 — correction définitive du panneau commande.
   La présence ou l'absence de la note ne peut plus décaler le pied de panier. */
.cart{
  display:flex;
  flex-direction:column;
  min-height:0;
  overflow:hidden;
}
.cart-head,.order-note-display,.cart-foot{flex:0 0 auto}
.cart-list{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
.cart-list:empty{display:none}
.empty{
  flex:1 1 auto;
  min-height:0;
  place-content:center;
}
.cart-foot{
  margin-top:auto;
  position:relative;
  z-index:10;
  width:100%;
  box-shadow:0 -14px 28px #02070daa;
}
@media(max-height:720px) and (min-width:800px){
  .cart-foot{padding:5px 8px}
  .vat{display:none}
  .total-row:not(.grand){display:none}
  .grand{padding-top:2px;font-size:19px}
  .btn-kitchen{min-height:44px}
  .cart-buttons{margin:4px 0;gap:5px}
  .checkout-actions{gap:5px}
  .split-pay,.pay{min-height:44px}
}

/* Dino Caisse v0.1.9 — ajout rapide des produits */
.takeaway-info-card{width:min(720px,96vw)}
.takeaway-form{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:18px}
.takeaway-form label span{display:block;margin-bottom:6px;color:#9bb0c4;font-size:12px;font-weight:800}
.takeaway-form input,.takeaway-form select{width:100%;padding:13px;border:1px solid #365570;border-radius:14px;background:#06121f;color:#fff;font-size:17px}
.takeaway-timing{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 18px 18px}
.takeaway-timing>div{padding:13px;border:1px solid #365570;border-radius:14px;background:#0a1b2b;text-align:center}
.takeaway-timing span{display:block;color:#91a9be;font-size:11px;text-transform:uppercase;font-weight:900}
.takeaway-timing strong{display:block;margin-top:5px;color:#ffb35f;font-size:20px}
.takeaway-card{width:min(1080px,96vw);max-height:92dvh;overflow:auto}
.takeaway-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:16px 18px 0}
.takeaway-summary>div{padding:12px 14px;border:1px solid #294966;border-radius:14px;background:#0b1d2d}
.takeaway-summary span{display:block;color:#91aac2;font-size:10px;text-transform:uppercase;font-weight:900}
.takeaway-summary strong{display:block;margin-top:4px;font-size:28px;color:#fff}
.takeaway-order{border-width:2px}
.takeaway-order h3{font-size:20px}
.takeaway-order.status-scheduled_unpaid,.takeaway-order.status-scheduled_paid{border-color:#5b88af;background:linear-gradient(145deg,#102a42,#0a1928)}
.takeaway-order.status-scheduled_unpaid .held-status-badge,.takeaway-order.status-scheduled_paid .held-status-badge{border-color:#5b88af;background:#173652;color:#d6eaff}
.takeaway-order.status-ready_unpaid{animation:takeawayPulse 1.8s ease-in-out infinite}
@keyframes takeawayPulse{0%,100%{box-shadow:0 0 14px #ffb34f22}50%{box-shadow:0 0 28px #ffb34f66}}
@media(max-width:800px){.takeaway-form,.takeaway-timing,.takeaway-summary{grid-template-columns:1fr}.takeaway-summary{padding-top:12px}}

/* Dino Caisse v0.2.0 — panneau de commande compact et lisible */
.cart-foot-v020{
  display:grid;
  gap:6px;
  padding:8px 10px 9px;
}
.cart-summary-compact{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  min-height:37px;
  padding:0 2px;
}
.cart-summary-details{min-width:0}
.subtotal-compact{
  color:#9db1c3;
  font-size:11px;
  line-height:1.15;
}
.subtotal-compact strong{color:#dfeaf3;font-size:12px}
.cart-summary-compact .vat{
  display:flex;
  gap:4px;
  min-height:15px;
  margin:3px 0 0;
  overflow:hidden;
  white-space:nowrap;
}
.cart-summary-compact .vat span{
  padding:2px 5px;
  font-size:8px;
  line-height:1.1;
}
.cart-summary-compact .grand{
  display:grid;
  justify-items:end;
  align-content:center;
  gap:0;
  min-width:125px;
  padding:0;
  border:0;
  line-height:1;
}
.cart-summary-compact .grand span{
  color:#a8bbcc;
  font-size:11px;
  font-weight:800;
}
.cart-summary-compact .grand strong{
  margin-top:2px;
  font-size:25px;
}
.cart-foot-v020 .paid-summary{
  margin:0;
  padding:6px 9px;
  font-size:11px;
}
.cart-foot-v020 .paid-summary strong{font-size:14px}
.operation-row{
  display:grid;
  grid-template-columns:minmax(0,2.5fr) minmax(64px,.62fr) minmax(96px,.9fr);
  gap:6px;
}
.operation-row .btn-kitchen{
  min-height:46px;
  margin:0;
  padding:6px 10px;
  border-radius:11px;
  justify-content:flex-start;
  gap:9px;
  overflow:hidden;
}
.operation-row .btn-kitchen>span:first-child{font-size:21px}
.operation-row .btn-kitchen>span:last-child{min-width:0;text-align:left}
.operation-row .btn-kitchen b{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:13px;
}
.operation-row .btn-kitchen small{
  display:block;
  margin-top:1px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:8px;
}
.compact-operation{
  min-width:0;
  min-height:46px;
  display:grid;
  grid-template-columns:auto 1fr;
  place-items:center;
  align-content:center;
  gap:4px;
  padding:5px 7px;
  border-radius:11px;
  font-size:11px;
}
.compact-operation span{font-size:16px}
.compact-operation b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cart-foot-v020 .checkout-actions{
  grid-template-columns:minmax(100px,.62fr) minmax(220px,1.65fr);
  gap:6px;
}
.cart-foot-v020 .split-pay,
.cart-foot-v020 .pay{min-height:49px;border-radius:12px}
.cart-foot-v020 .split-pay{gap:6px;padding:6px 8px}
.cart-foot-v020 .split-pay>span:first-child{font-size:20px}
.cart-foot-v020 .split-pay b{font-size:12px}
.cart-foot-v020 .split-pay small{font-size:8px}
.cart-foot-v020 .pay{padding:8px 12px;font-size:16px}

/* Les lignes prennent moins de hauteur sans perdre les informations utiles. */
.cart-list{padding:7px 9px}
.line{padding:9px 10px;margin-bottom:6px;border-radius:13px}
.line-main b,.line-main strong{font-size:14px}
.mods{
  display:flex;
  flex-wrap:wrap;
  gap:2px 9px;
  margin-top:4px;
  font-size:11px;
  line-height:1.25;
}
.note{margin-top:4px;font-size:11px}
.line-actions{gap:5px;margin-top:6px;flex-wrap:nowrap}
.line-actions button{min-height:28px;padding:3px 8px;font-size:11px}
.line-actions .delete{width:34px;padding:3px;font-size:0}
.line-actions .delete::after{content:'🗑️';font-size:14px}
.line-actions .edit{white-space:nowrap}

@media(max-height:850px) and (min-width:800px){
  .cart-foot-v020{gap:5px;padding:6px 8px 7px}
  .cart-summary-compact{min-height:32px}
  .cart-summary-compact .grand strong{font-size:22px}
  .operation-row .btn-kitchen,.compact-operation{min-height:42px}
  .cart-foot-v020 .split-pay,.cart-foot-v020 .pay{min-height:44px}
}
@media(max-width:980px){
  .operation-row{grid-template-columns:minmax(0,2fr) 58px 82px}
  .compact-operation{grid-template-columns:1fr}.compact-operation b{display:none}
  .cart-foot-v020 .checkout-actions{grid-template-columns:92px minmax(0,1fr)}
}

/* Dino Caisse v0.3.4 — catalogue Dino Base + miniatures */
.cat{min-width:148px;grid-template-columns:44px 1fr;padding:7px 10px;overflow:hidden}
.cat-thumb,.cat-fallback{width:42px;height:42px;border-radius:11px;object-fit:cover;display:block;background:#06121f;border:1px solid #ffffff20}
.cat-fallback{display:grid;place-items:center;font-size:18px;color:#ffbf72}
.product-with-thumb{min-height:200px}
.product-with-thumb .product-add{grid-template-rows:86px 1fr auto;padding:0 12px 12px}
.product-thumb{width:calc(100% + 24px);height:86px;margin-left:-12px;object-fit:cover;border-bottom:1px solid #ffffff18;background:#0a1622}
.product-thumb-empty{display:grid;place-items:center;color:#8ea2b5;font-weight:900;letter-spacing:.12em}
.product-copy{padding-top:6px;min-width:0}
.product-with-thumb b{font-size:16px;margin-top:2px;padding-right:52px}
.product-with-thumb small{font-size:11px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.product-with-thumb .price{font-size:18px}
.catalog-meta{display:flex;justify-content:flex-end;margin-top:5px;color:#7f97ad;font-size:10px;font-weight:800}
.admin-links{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 18px 18px}
.admin-links a{display:flex;align-items:center;justify-content:center;min-height:48px;text-decoration:none;text-align:center}
@media(max-width:850px){.admin-links{grid-template-columns:1fr}.product-with-thumb{min-height:190px}}

/* Dino Caisse v0.3.5 — corrections catalogue / navigation */
.cats{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(145px,1fr));
  gap:8px;
  overflow:visible;
  padding-bottom:8px;
}
.cat{min-width:0;width:100%;min-height:62px;cursor:pointer}
.cat-thumb,.cat-fallback{flex:0 0 auto}
.products{
  align-content:start;
  grid-template-columns:repeat(auto-fill,minmax(175px,1fr));
  grid-auto-rows:220px;
  overflow-y:auto;
  overflow-x:hidden;
}
.product-with-thumb{min-height:220px;height:220px}
.product-with-thumb .product-add{grid-template-rows:92px minmax(0,1fr) auto}
.product-thumb{height:92px;object-fit:cover}
.product-thumb-empty{background:linear-gradient(145deg,#10243a,#07131f);font-size:12px}
@media(max-width:1100px){
  .cats{grid-template-columns:repeat(4,minmax(135px,1fr))}
  .products{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));grid-auto-rows:210px}
  .product-with-thumb{height:210px;min-height:210px}
}
@media(max-width:700px){
  .cats{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
  .cat{min-width:145px;scroll-snap-align:start}
  .products{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:205px}
}

/* v0.3.6 — source options Dino Menu Table */
.option-source{margin:0 0 14px;padding:10px 14px;border:1px solid #2f7b59;border-radius:12px;background:rgba(34,197,94,.10);color:#9be8b9;font-weight:800;font-size:13px}
.modal-body .group{margin-bottom:18px}
.modal-body .options{align-items:stretch}

/* v0.3.7 — bouton personnalisation compact : icône seule pour libérer la carte produit */
.product-options:hover{background:#10263a;color:#fff0dc}


.product-with-thumb{min-height:190px;height:190px}
.product-with-thumb .product-add{grid-template-rows:92px 1fr auto}
.product-copy{display:flex;align-items:flex-start;justify-content:flex-start;padding-top:8px;padding-right:84px;min-height:58px}
.product-with-thumb b{font-size:16px;margin-top:0;padding-right:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.product-with-thumb small{display:none!important}
.product-with-thumb .price{font-size:18px;padding-right:90px;align-self:end}
.product-options,.product-info{position:absolute;z-index:3;bottom:9px;width:36px;height:36px;display:grid;place-items:center;padding:0;border:1px solid color-mix(in srgb,var(--p) 80%,#48637a);border-radius:50%;background:#071522ed;color:#ffd7b8;font-size:18px;font-weight:950;cursor:pointer;box-shadow:0 4px 14px #0007}
.product-options{right:9px}
.product-info{right:51px;font-family:Georgia,serif}
.product-options:hover,.product-info:hover{background:#10263a;color:#fff0dc}
.info-card .modal-body{padding:18px}
.info-description{margin:0;color:#dfe9f3;font-size:16px;line-height:1.55;white-space:pre-wrap}
.info-vat-badge{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;padding:7px 11px;border:1px solid #35516c;border-radius:999px;background:#0c1e2f;color:#b8cad9;font-size:12px;font-weight:900}

.server-inbox-top{min-width:108px;height:46px;border:1px solid #365570;border-radius:14px;background:#112940;color:#cbd8e4;font-weight:900;padding:0 12px;white-space:nowrap}
.server-inbox-top strong{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:4px;padding:0 5px;border-radius:999px;background:#203b55;color:#fff}
.server-inbox-top.has-alert{border-color:#ffad48;background:#35250d;color:#ffe0a1;box-shadow:0 0 0 2px #ffad4828,0 0 18px #ffad4835;animation:serverAlertPulse 1.5s ease-in-out infinite}
.server-inbox-top.has-alert strong{background:#ff9d39;color:#1b1007}
@keyframes serverAlertPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}
.server-inbox-card{width:min(760px,100%)}
.server-inbox-help{margin:16px;padding:13px 15px;border:1px solid #365570;border-radius:14px;background:#0b1b2b;color:#a9bdcf;line-height:1.45}
.server-inbox-list{padding:0 16px 18px}
.server-inbox-item{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:15px;border:1px solid #3a5871;border-radius:16px;background:#0c2032;margin-bottom:10px}
.server-inbox-item h3{margin:5px 0 4px;font-size:22px;color:#fff1d2}.server-inbox-item p{margin:0;color:#9eb3c6}.server-inbox-item>div:last-child{display:grid;gap:8px;justify-items:end}.server-inbox-item>div:last-child strong{font-size:20px;color:#ffb45e}
.server-inbox-badge{display:inline-block;padding:3px 7px;border-radius:999px;background:#754a0d;color:#ffe0a1;font-size:10px;font-weight:950;letter-spacing:.08em}
@media(max-width:900px){.server-inbox-top{min-width:48px}.server-inbox-top #serverInboxLabel{display:none}.server-inbox-item{grid-template-columns:1fr}.server-inbox-item>div:last-child{grid-template-columns:1fr auto;align-items:center;justify-items:stretch}}

/* ============================================================
   Dino Caisse v0.3.13 — thème premium inspiré Dino Menu Table
   DESIGN ONLY : aucune logique métier modifiée.
   ============================================================ */
:root{
  --bg:#070707;
  --panel:#0b0d0f;
  --panel2:#12100d;
  --border:#7a531d;
  --border-strong:#c58a35;
  --text:#fff7e8;
  --muted:#bcb4a8;
  --orange:#c98428;
  --amber:#f3c86d;
  --gold:#dba749;
  --gold2:#ffe7a0;
  --green:#54e0a0;
  --red:#ff6978;
  --shadow:0 18px 48px #000a;
  --gold-line:linear-gradient(180deg,#f5d37d 0%,#b57a25 44%,#5f3b10 100%);
  --gold-fill:linear-gradient(180deg,#ffe39a 0%,#dca54b 35%,#a66a1f 66%,#f0c66c 100%);
  --gold-dark:linear-gradient(180deg,#252019 0%,#12100e 50%,#080807 100%);
}
html,body{
  background:
    radial-gradient(circle at 76% 10%,rgba(182,111,23,.14),transparent 28%),
    radial-gradient(circle at 8% 0%,rgba(255,197,92,.07),transparent 22%),
    linear-gradient(145deg,#0b0b0b,#050505 58%,#100b05);
  color:var(--text);
}
body{accent-color:#dba749}
.shell{gap:8px;padding:8px;background:transparent}

/* HEADER / IDENTITÉ */
.topbar{
  grid-template-columns:minmax(240px,.72fr) minmax(430px,1.22fr) auto;
  gap:12px;
  padding:8px 12px;
  border:1px solid #8c6024;
  box-shadow:inset 0 1px 0 #ffe2993d,0 12px 38px #0009;
  background:linear-gradient(145deg,#10100f,#070707 72%,#171006);
}
.brand{gap:12px}
.brand img{
  width:66px;height:66px;border-radius:50%;object-fit:cover;
  border:2px solid #c58a35;
  box-shadow:0 0 0 2px #3d2609,0 0 20px #cc8e2f35;
}
.brand h1{
  font-family:Georgia,"Times New Roman",serif;
  font-size:30px;
  letter-spacing:.01em;
  color:#f5d37d;
  text-shadow:0 1px 0 #4e310d,0 0 14px #d9972940;
}
.brand p{color:#d0c5b4}
.dot{background:#55e7a3;box-shadow:0 0 10px #55e7a3}
.clock{color:#ffe5aa;text-shadow:0 0 12px #d7942c33}

/* boutons généraux : plaque métal sombre/or */
.btn,.icon-btn,.held-top,.server-inbox-top,.service,.cat,.pay-method,.split-mode,
.quick button,.line-actions button,.qty button,.people-stepper button,.table{
  border:1px solid #8f6327;
  background:linear-gradient(180deg,#191816 0%,#0c0c0b 58%,#15110b 100%);
  color:#fff1d2;
  box-shadow:inset 0 1px 0 #ffe3a52e,0 2px 7px #0007;
}
.btn:hover,.icon-btn:hover,.held-top:hover,.server-inbox-top:hover,.service:hover,.cat:hover{
  border-color:#d39b48;
  box-shadow:inset 0 1px 0 #fff0bd42,0 0 14px #c3832530;
}
.btn-primary,.service.active{
  color:#221404;
  border-color:#f0c66b;
  background:
    linear-gradient(135deg,rgba(255,255,255,.28),transparent 22% 70%,rgba(255,255,255,.10)),
    linear-gradient(180deg,#ffe6a1 0%,#d89c3e 34%,#a7691f 64%,#efc66f 100%);
  box-shadow:inset 0 2px 1px #fff8d07a,inset 0 -2px 0 #6e430f,0 3px 0 #55330c,0 9px 18px #0007;
  text-shadow:0 1px 0 #fff0bf88;
}
.btn-primary:active,.service.active:active{transform:translateY(2px);box-shadow:inset 0 2px 3px #7c4b15,0 1px 0 #55330c}
.btn-danger{background:linear-gradient(180deg,#43191b,#261010);border-color:#8e3f3d;color:#ffb7ae}
.icon-btn{border-radius:14px;color:#ffd889}
.services{gap:7px}
.service{min-height:50px;border-radius:13px;text-transform:none;font-size:14px}
.top-actions{gap:7px}
.server-inbox-top.has-alert{border-color:#f0b34e;background:linear-gradient(180deg,#4a310e,#241807);color:#ffe1a0}
.server-inbox-top.has-alert strong{background:#d59632;color:#1d1103}
.held-top.has-orders{border-color:#d99c3c;color:#ffe09d;box-shadow:0 0 14px #d99c3c30}

/* PANIER / CATALOGUE */
.cart,.catalog{
  border:1px solid #76501e;
  border-radius:20px;
  background:linear-gradient(145deg,#0e0f10,#070808 62%,#120d07);
  box-shadow:inset 0 1px 0 #ffe5a41a,0 14px 36px #0008;
}
.cart-head,.catalog-head{border-bottom-color:#604019;background:linear-gradient(180deg,#15130f,#0a0a09)}
.cart-head h2,.modal-head h2{color:#fff2d2}
.eyebrow{color:#c69c59}
.order-note-display{border-color:#9b6b27;background:#261b0c;color:#ffe3a2}
.line{
  border-color:#55401f;
  background:linear-gradient(145deg,#111311,#090b0b);
  box-shadow:inset 0 1px 0 #ffe9ae12;
}
.line-main strong,.grand strong,.held-total,.payment-total strong{color:#f5c86f}
.line-actions .edit{color:#ffe0a0;border-color:#9a6d31}
.line-actions .delete{border-color:#7b3839}
.cart-foot{border-top-color:#624219;background:linear-gradient(180deg,#0b0b0a,#100b05)}
.cart-summary-compact .vat span,.vat span{border-color:#725025;color:#c7b58d;background:#15110b}
.paid-summary{border-color:#625021!important;background:#12140b!important}
.operation-row .btn-kitchen{
  border-color:#8e652c;
  background:linear-gradient(180deg,#191815,#0d0d0c 60%,#151008);
  color:#ffe3a0;
}
.cart-foot-v020 .pay{font-weight:1000}

/* CATÉGORIES : navigation compacte et tactile */
.cats{
  grid-template-columns:repeat(auto-fit,minmax(128px,1fr));
  gap:7px;
  padding:2px 0 8px;
}
.cat{
  min-height:64px;
  grid-template-columns:48px 1fr;
  border-color:#76501f;
  border-radius:16px;
  background:linear-gradient(180deg,#191713,#0b0b0a 62%,#120d07);
  color:#f2d79f;
  padding:7px 9px;
  transition:.16s ease;
}
.cat-thumb,.cat-fallback{
  width:46px;height:46px;border-radius:12px;
  border:1px solid #956929;
  box-shadow:inset 0 1px 0 #fff3c528,0 3px 8px #0007;
}
.cat b{font-size:12px;line-height:1.1}
.cat.active{
  border-color:#e2aa51;
  background:linear-gradient(180deg,#2b2112,#11100d 58%,#191006);
  box-shadow:inset 0 0 0 1px #e6b55c55,0 0 16px #d4963036;
  color:#ffe6aa;
}
.search{
  border-color:#75501f;
  background:#080a0b;
  color:#fff2dc;
  box-shadow:inset 0 1px 5px #000a;
}
.search:focus{outline:0;border-color:#c68b37;box-shadow:0 0 0 2px #c68b3722,inset 0 1px 5px #000a}
.catalog-meta{color:#9e8b6c}

/* PRODUITS */
.products{gap:9px;padding:9px;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));grid-auto-rows:198px}
.product-with-thumb{height:198px;min-height:198px;border-color:#8a5e24!important;border-radius:17px;background:linear-gradient(160deg,#171512,#080909 58%,#151008)!important;box-shadow:inset 0 1px 0 #fff1b71a,0 5px 15px #0007}
.product-with-thumb .product-add{grid-template-rows:92px minmax(0,1fr) auto;padding:0 11px 10px}
.product-thumb{height:92px;border-bottom-color:#8d602560;background:#0b0b0b}
.product-thumb-empty{background:linear-gradient(145deg,#15130f,#090909);color:#a98a59}
.product-copy{padding-top:7px;padding-right:84px;min-height:48px}
.product-with-thumb b{color:#fff6e7;font-size:15px;line-height:1.12}
.product-with-thumb .price{color:#f6ca71;font-size:18px;font-weight:1000;padding-right:88px}
.vat-badge{background:#14110cdd;border:1px solid #7a5426;color:#f1d28f;font-size:9px}
.product-options,.product-info{
  border:1px solid #d49a44;
  color:#3a2205;
  background:
    linear-gradient(135deg,#fff5ca80,transparent 25% 72%,#fff4bf30),
    linear-gradient(180deg,#f7d784,#c28a37 48%,#e3b45c);
  box-shadow:inset 0 1px 0 #fff4c5,0 2px 0 #6a410f,0 5px 10px #0008;
  text-shadow:0 1px 0 #fff0bd;
}
.product-options:hover,.product-info:hover{background:linear-gradient(180deg,#ffe59c,#d59c44 52%,#f2ca70);color:#241303}
.product-options:active,.product-info:active{transform:translateY(2px);box-shadow:inset 0 1px 3px #7d4c16,0 1px 0 #6a410f}

/* MODALES / PERSONNALISATION */
.modal{background:#000d;backdrop-filter:blur(8px)}
.modal-card{
  border-color:#96672a;
  background:linear-gradient(145deg,#15130f,#090a0a 65%,#161006);
  box-shadow:0 28px 80px #000d,inset 0 1px 0 #ffe2a02b;
}
.modal-head,.modal-foot{border-color:#67451c;background:linear-gradient(180deg,#17140fef,#0a0a09f5)}
.option{
  border-color:#674a27;
  background:linear-gradient(180deg,#171713,#0e100f);
  color:#fff1d6;
}
.option.selected{border-color:#dfaa55;background:linear-gradient(180deg,#342711,#1c1408);box-shadow:inset 0 0 0 1px #f0bf653d}
.option>span{background:#173428;color:#67e0a7}.option.negative>span{background:#3a171c;color:#ff8b98}
.option-source{border-color:#52754e;background:#102316;color:#a9ebb9}
.info-vat-badge{border-color:#775324;background:#16110a;color:#e4c584}
.info-description{color:#f0e6d5}
.payment-total,.change,.equal-result,.split-help,.split-form-area,.server-inbox-help,.server-inbox-item{border-color:#69491f;background:#11110e}
.pay-method.selected,.split-mode.active{border-color:#d49b45;background:#2a2010;box-shadow:inset 0 0 0 1px #e5ae553d}
.table.active{border-color:#dca84f;background:#2a2110}.table.occupied{border-color:#af8037}
.notice{border-color:#806024;background:#241d0c;color:#ffe3a1}

/* LOGIN */
.login-card{border-color:#8e6226;background:linear-gradient(145deg,#15130f,#080808);box-shadow:0 22px 70px #000c,inset 0 1px 0 #ffe7ab2d}
.login-brand img{width:112px;height:112px;border-radius:50%;border:2px solid #c48a38;box-shadow:0 0 20px #c88b2d40}
.login h1{font-family:Georgia,"Times New Roman",serif;color:#f1c66e;text-shadow:0 1px 0 #5d3a0c}
.login p{color:#c5bba9}.pin{border-color:#775326;background:#080909;color:#fff0d7}

/* PLANS / SUIVI */
.floor-summary>div,.held-order,.server-inbox-item{border-color:#65471f;background:linear-gradient(145deg,#13130f,#0b0c0b)}
.floor-table,.takeaway-order-card{border-color:#6c4a20!important}

/* RESPONSIVE PC + TABLETTE */
@media (min-width:1400px){
  .workspace{grid-template-columns:minmax(390px,30%) minmax(0,1fr)}
  .products{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-auto-rows:202px}
  .product-with-thumb{height:202px;min-height:202px}
}
@media (max-width:1280px) and (min-width:901px){
  .shell{padding:6px;gap:6px}
  .topbar{grid-template-columns:minmax(205px,.65fr) minmax(390px,1.2fr) auto;padding:7px 9px}
  .brand img{width:56px;height:56px}.brand h1{font-size:25px}.brand p{font-size:10px}
  .service{min-height:46px;font-size:12px}.clock{min-width:86px;font-size:18px}
  .workspace{grid-template-columns:minmax(345px,38%) minmax(0,1fr);gap:6px}
  .cats{grid-template-columns:repeat(4,minmax(110px,1fr));gap:6px}
  .cat{min-height:57px;grid-template-columns:40px 1fr;padding:6px}.cat-thumb,.cat-fallback{width:39px;height:39px}.cat b{font-size:11px}
  .products{grid-template-columns:repeat(auto-fill,minmax(145px,1fr));grid-auto-rows:186px;gap:7px;padding:7px}
  .product-with-thumb{height:186px;min-height:186px}.product-with-thumb .product-add{grid-template-rows:82px minmax(0,1fr) auto}.product-thumb{height:82px}
  .product-copy{min-height:44px}.product-with-thumb b{font-size:14px}.product-with-thumb .price{font-size:16px}
  .product-options,.product-info{width:34px;height:34px;bottom:8px}.product-info{right:49px}.product-options{right:8px}
  .cart-head{padding:10px}.cart-head h2{font-size:18px}.cart-list{padding:6px}.line{padding:7px;margin-bottom:5px}
}
@media (max-width:1000px) and (min-width:901px){
  .top-actions .clock{display:none}
  .server-inbox-top{min-width:46px;padding:0 7px}.server-inbox-top #serverInboxLabel{display:none}
  .topbar{grid-template-columns:190px minmax(380px,1fr) auto}
  .workspace{grid-template-columns:minmax(330px,40%) minmax(0,1fr)}
  .products{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:900px){
  html,body{min-height:100%;overflow:auto}
  .shell{height:auto;min-height:100dvh;display:block;padding:6px}
  .topbar{position:sticky;top:0;z-index:20;grid-template-columns:1fr auto;gap:7px;margin-bottom:7px}
  .brand img{width:52px;height:52px}.brand h1{font-size:23px}.brand p{font-size:10px}
  .services{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(3,1fr)}
  .top-actions{grid-column:2;grid-row:1}.clock{display:none}
  .workspace{display:grid;grid-template-columns:1fr;gap:7px}
  .cart,.catalog{min-height:auto;overflow:visible}
  .cart{display:grid;grid-template-rows:auto auto minmax(260px,auto) auto}
  .cart-list{max-height:44vh;overflow:auto}
  .cats{display:flex;overflow-x:auto;scroll-snap-type:x proximity;gap:6px;padding-bottom:7px}
  .cat{min-width:130px;width:130px;scroll-snap-align:start}
  .products{overflow:visible;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:182px}
  .product-with-thumb{height:182px;min-height:182px}.product-with-thumb .product-add{grid-template-rows:78px minmax(0,1fr) auto}.product-thumb{height:78px}
  .footer{padding:8px 5px}
}
@media (max-width:720px){
  .products{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:184px}
  .brand h1{font-size:21px}.services{gap:5px}.service{font-size:11px;padding:7px}
  .top-actions .held-top{display:none}
}


/* ===== Dino Caisse v0.3.16 — parcours Budget identique Dino Menu Table v0.2.37 ===== */
.budget-client-overlay{z-index:180;background:rgba(2,5,9,.78);backdrop-filter:blur(5px);align-items:flex-end!important;padding:0!important}
.budget-client-card{position:relative;width:min(900px,100%);max-width:900px;max-height:94vh;overflow:auto;margin:0 auto;border-radius:28px 28px 0 0!important;border:1px solid #d69a46!important;background:linear-gradient(180deg,#fffaf0,#fff2dd)!important;color:#172033!important;box-shadow:0 -20px 50px rgba(0,0,0,.45)!important}
.budget-mode-card-shell{padding:18px 28px 30px!important}.budget-config-shell{padding:18px 28px 28px!important}
.budget-client-close{position:sticky;float:right;top:4px;z-index:10;width:54px;height:54px;border:2px solid #d9881a;border-radius:17px;background:#101824;color:#ffc15e;font-size:28px;cursor:pointer}
.budget-handle{width:65px;height:6px;margin:2px auto 16px;border-radius:999px;background:#d1c5b5}
.budget-client-title{font-family:Georgia,'Times New Roman',serif;font-size:clamp(32px,4vw,54px);line-height:1.03;margin:6px 0 12px;color:#172033}
.budget-client-intro{margin:0 0 20px;color:#687286;font-size:clamp(18px,2vw,26px);line-height:1.35;text-align:center}
.budget-mode-grid-pos{display:grid;grid-template-columns:1fr;gap:18px;margin-top:22px}
.budget-choice-card-pos{display:grid;grid-template-columns:82px minmax(0,1fr) auto;align-items:center;gap:16px;min-height:126px;border:2px solid #d3a15a;border-radius:28px;background:#fff;padding:18px 22px;text-align:left;color:#172033;cursor:pointer;box-shadow:0 8px 24px rgba(116,70,16,.08)}
.budget-choice-card-pos:hover{background:#fff5e5}.budget-choice-icon-pos{width:82px;height:82px;border-radius:50%;background:linear-gradient(145deg,#e49522,#a65b0e);display:grid;place-items:center;font-size:44px;box-shadow:inset 0 0 0 5px rgba(255,210,130,.45),0 7px 18px rgba(126,70,9,.22)}
.budget-choice-card-pos strong{display:block;font-size:clamp(24px,3vw,38px);line-height:1.1}.budget-choice-card-pos small{display:block;color:#687286;margin-top:7px;font-size:clamp(16px,1.8vw,22px)}.budget-arrow{font-size:46px;color:#c86909}
.budget-product-hero{margin:6px 0 20px;border-radius:26px;overflow:hidden;max-height:380px;background:#20150d}.budget-product-hero img{display:block;width:100%;height:min(38vh,380px);object-fit:cover}.budget-hero-fallback{height:280px;display:grid;place-items:center;font-size:110px;background:linear-gradient(145deg,#d3731e,#1b120d)}
.budget-config-body{padding:0 4px 8px}.budget-product-title{font-size:clamp(30px,4vw,52px);line-height:1.05;margin:12px 0;color:#172033}.budget-product-description{font-size:clamp(17px,2vw,25px);line-height:1.5;color:#536077;margin:10px 0 22px}
.budget-custom-panel-pos{margin:14px 0;padding:24px;border:2px solid #d89b45;border-radius:28px;background:linear-gradient(145deg,#fff9ed,#ffedd2);box-shadow:0 8px 22px rgba(91,48,7,.12)}
.budget-custom-panel-pos h3{margin:0;color:#172033;font-size:clamp(28px,3vw,42px)}.budget-custom-panel-pos>p{margin:8px 0 18px;color:#657084;font-size:clamp(16px,1.8vw,21px);line-height:1.42}.budget-custom-panel-pos h4{margin:22px 0 11px;color:#273142;font-size:clamp(18px,2vw,26px)}
.budget-formula-summary-pos{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 18px;padding:18px 20px;border:2px solid #d5b27a;border-radius:22px;background:linear-gradient(145deg,#fff8ec,#f5e2c2);color:#263142}.budget-formula-summary-pos strong{display:block;font-size:22px}.budget-formula-summary-pos small{display:block;margin-top:4px;color:#6b7280;font-size:17px;font-weight:750}.budget-formula-summary-pos button{border:2px solid #ad6b1d;border-radius:999px;background:#111923;color:#ffd28a;font-weight:950;padding:13px 24px;font-size:18px}
.budget-choice-grid-pos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.budget-meat-choice-pos,.budget-bacon-choice-pos{position:relative;min-height:86px;border:2px solid #d8bd91;border-radius:22px;padding:14px 20px;display:flex;align-items:center;gap:15px;background:#fff;color:#273142;text-align:left;font-size:22px;font-weight:950}.budget-meat-choice-pos>span{font-size:34px}.budget-meat-choice-pos.selected,.budget-bacon-choice-pos.selected{border:3px solid #d66f0b;background:#fff0d8;box-shadow:0 0 0 4px rgba(255,168,52,.15)}.budget-meat-choice-pos.selected::after,.budget-bacon-choice-pos.selected::after{content:'✓';position:absolute;right:12px;top:12px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#d66f0b;color:#fff;font-size:16px}.budget-bacon-choice-pos{width:100%;justify-content:space-between}.budget-bacon-choice-pos span strong{display:block}.budget-bacon-choice-pos span small{display:block;margin-top:4px;color:#7b6650;font-size:17px}.budget-bacon-choice-pos>b{color:#b9520b;font-size:24px}
.budget-menu-panel-pos{margin:20px 0 0;padding:20px;border:2px solid #d3a15a;border-radius:26px;background:#fffaf1}.budget-menu-panel-pos.hidden{display:none!important}.budget-menu-included-pos{display:flex;align-items:center;gap:10px;padding:17px 20px;border-radius:20px;background:#edf8f1;border:2px solid #a7cbb5;color:#27613f;font-weight:950;font-size:clamp(19px,2vw,28px)}.budget-menu-panel-pos h4{margin:22px 0 11px}
.budget-menu-grid-pos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.budget-menu-choice-pos{position:relative;display:flex;align-items:center;gap:14px;min-height:84px;padding:15px 18px;border:2px solid #d7c29e;border-radius:20px;background:#fff;color:#30394a;font-size:20px;font-weight:900;text-align:left}.budget-menu-choice-pos.selected{border:3px solid #d66f0b;background:#fff0d8;box-shadow:0 0 0 4px rgba(255,168,52,.14)}.budget-menu-choice-pos.selected::after{content:'✓';position:absolute;right:10px;top:10px;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#d66f0b;color:#fff;font-size:15px}.budget-menu-icon-pos{font-size:34px}.budget-menu-label-pos{display:flex;flex-direction:column;align-items:flex-start;gap:4px;line-height:1.15}.budget-menu-label-pos small{font-size:16px;font-weight:900;color:#b9520b}
.budget-restriction-toggle{position:relative;display:block;width:min(560px,100%);margin:28px auto 18px;border:0;background:transparent;padding:0;cursor:pointer}.budget-restriction-toggle img{display:block;width:100%;height:auto}.budget-restriction-badge{position:absolute;right:7%;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#d66f0b;color:#fff;font-weight:950;font-size:18px}.budget-restriction-panel-pos{margin:0 0 20px;padding:20px;border:2px solid #c9a46c;border-radius:24px;background:#fffaf1}.budget-restriction-panel-pos.hidden{display:none!important}.budget-restriction-panel-pos h3{font-size:28px;margin:0 0 6px}.budget-restriction-panel-pos p{color:#687286;font-size:17px}.budget-restriction-grid-pos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.budget-restriction-choice-pos{min-height:60px;border:2px solid #d7c29e;border-radius:17px;background:#fff;color:#273142;font-size:17px;font-weight:900}.budget-restriction-choice-pos.selected{border-color:#a63238;background:#ffe8e8;color:#8f242b;box-shadow:0 0 0 3px rgba(166,50,56,.12)}
.budget-prepare-panel-pos{margin:20px 0;padding:24px;border:2px solid #d3a15a;border-radius:26px;background:#fffaf1}.budget-prepare-panel-pos h3{font-size:30px;margin:0 0 6px}.budget-prepare-panel-pos p{color:#687286;font-size:18px}.budget-prepare-panel-pos label{display:block;margin-top:18px;font-size:19px;font-weight:900}.budget-prepare-panel-pos textarea{width:100%;margin-top:9px;border:2px solid #d7c29e;border-radius:18px;background:#fff;padding:16px;color:#273142;font-size:18px;resize:vertical}
.budget-final-bar{position:sticky;bottom:-1px;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px;padding:18px;border:2px solid #d89b45;border-radius:22px;background:rgba(255,248,233,.96);backdrop-filter:blur(8px);box-shadow:0 -8px 28px rgba(68,38,8,.13)}.budget-final-bar>div small{display:block;color:#687286;font-weight:800}.budget-final-bar>div strong{display:block;color:#172033;font-size:30px}.budget-add-order{flex:1;max-width:520px;min-height:68px;border:2px solid #d9881a;border-radius:20px;background:linear-gradient(180deg,#1b2937,#0b141f);color:#ffd28a;font-size:21px;font-weight:950}.budget-add-order:disabled{opacity:.45;filter:grayscale(.3)}.budget-validation{color:#a13b2f;font-weight:900;text-align:center;font-size:17px}
.budget-grid-prompt{grid-column:1/-1;display:grid;place-items:center;gap:10px;min-height:240px;padding:30px;border:2px dashed #b98031;border-radius:26px;background:#11100e;color:#f7d493;text-align:center}.budget-grid-prompt b{font-size:30px}.budget-grid-prompt span{color:#d7c6aa;font-size:18px}.budget-grid-prompt button{min-height:58px;padding:0 26px;border:2px solid #d89a39;border-radius:18px;background:linear-gradient(#7b4a17,#3b210c);color:#ffe2a2;font-size:19px;font-weight:950}
@media(min-width:720px){.budget-mode-grid-pos{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-menu-grid-pos{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.budget-client-card{padding-left:15px!important;padding-right:15px!important}.budget-choice-card-pos{grid-template-columns:66px 1fr auto;min-height:105px;padding:14px}.budget-choice-icon-pos{width:66px;height:66px;font-size:34px}.budget-choice-grid-pos,.budget-menu-grid-pos,.budget-restriction-grid-pos{grid-template-columns:1fr}.budget-formula-summary-pos{align-items:flex-start;flex-direction:column}.budget-formula-summary-pos button{width:100%}.budget-final-bar{flex-direction:column;align-items:stretch}.budget-add-order{max-width:none;width:100%}.budget-product-hero img{height:260px}}

/* v0.3.19 — Dino Base v0.1.6 : classification burger + HALAL */
.halal-badge{
  position:absolute;z-index:3;left:8px;top:8px;
  padding:4px 8px;border-radius:999px;
  background:#0c5f3f;color:#dfffee;border:1px solid #52d49c;
  font-size:10px;font-weight:1000;letter-spacing:.04em;
  box-shadow:0 2px 8px #0008;
}
.burger-type-label{
  display:block!important;margin-top:4px!important;padding-right:0!important;
  color:#dfc58e!important;font-size:10px!important;font-weight:850;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

/* v0.3.20 — Budget Burger : choix direct dans la grille, sans fenêtre intermédiaire */
.budget-direct-product .product-add{cursor:pointer}
.budget-direct-product .product-copy small{display:block;margin-top:4px}

/* v0.3.27 — tickets client STAR + réimpression rapide */
.receipt-quick-top{min-width:78px;justify-content:center;gap:6px;border-color:#c6902f!important;background:linear-gradient(#5c4517,#231b0b)!important;color:#ffe0a0!important}
.receipt-modal-card{width:min(820px,96vw)}
.receipt-list{display:grid;gap:8px;max-height:62vh;overflow:auto;margin-top:12px}
.receipt-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;border:1px solid #294a62;border-radius:14px;padding:12px;background:#091a28}
.receipt-row>div{display:grid;gap:3px}.receipt-row span{color:#9eb4c7;font-size:12px}.receipt-row>strong{font-size:18px;color:#ffd27f}
@media(max-width:700px){.receipt-row{grid-template-columns:1fr auto}.receipt-row .receipt-print{grid-column:1/-1}}

/* ==========================================================
   v0.3.28 — TABLETTE PAYSAGE : PANIER / PRODUITS / CATÉGORIES
   ========================================================== */
.fullscreen-btn{
  min-height:46px;padding:0 11px;display:flex;align-items:center;justify-content:center;gap:6px;
  border:1px solid #47647c;border-radius:14px;background:#112940;color:#fff;font-weight:900
}
.fullscreen-btn.active{border-color:#67d9a7;background:#123d31;color:#b9f6d9;box-shadow:0 0 14px #50d59a22}
.fullscreen-btn.preferred:not(.active){border-color:#d59b3d;color:#ffd794}
.fullscreen-icon{font-size:20px}.fullscreen-label{font-size:11px;white-space:nowrap}

.category-rail{
  min-height:0;border:1px solid var(--border);border-radius:22px;
  background:linear-gradient(145deg,#0d1e2f,#07131f);box-shadow:var(--shadow);overflow:hidden;
  display:grid;grid-template-rows:auto minmax(0,1fr)
}
.category-rail-head{padding:12px 12px 8px;border-bottom:1px solid #223b54}
.category-rail-head h2{margin:2px 0 0;font-size:19px;color:#ffe0ad}
.catalog-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.catalog-title-row h2{font-size:18px;margin:2px 0 0;color:#ffe0ad}
.catalog-head-products{padding:8px 10px}
.cats-vertical{min-height:0;overflow-y:auto;overflow-x:hidden;padding:8px;display:grid;grid-auto-rows:minmax(50px,auto);align-content:start;gap:7px}
.cats-vertical .cat{min-width:0;width:100%;min-height:52px;padding:7px 9px;border-radius:13px}
.cats-vertical .cat span{font-size:22px}.cats-vertical .cat b{font-size:12px;line-height:1.15}

@media (min-width:900px) and (orientation:landscape){
  html,body{width:100%;height:100%;overflow:hidden}
  .shell{
    width:100vw;height:100dvh;min-height:0;
    grid-template-rows:auto minmax(0,1fr);
    gap:6px;padding:6px
  }
  .footer{display:none}
  .topbar{
    min-height:54px;grid-template-columns:minmax(155px,.52fr) minmax(280px,.95fr) auto;
    gap:7px;padding:5px 8px;border-radius:16px
  }
  .brand{gap:6px}.brand img{width:38px;height:38px}.brand h1{font-size:20px}.brand p{display:none}
  .brand .eyebrow{font-size:8px}.brand #onlineLabel{font-size:9px}
  .services{gap:5px}.service{min-height:38px;border-radius:11px;font-size:11px;padding:5px}
  .top-actions{gap:5px;justify-content:flex-end}
  .held-top,.server-inbox-top,.receipt-quick-top,.fullscreen-btn,.icon-btn,.patron-top-link{height:38px;min-height:38px;border-radius:11px}
  .clock{min-width:74px;font-size:16px}
  .workspace{
    min-height:0;
    display:grid;
    grid-template-columns:minmax(300px,27%) minmax(0,1fr) minmax(178px,21%);
    gap:6px
  }
  .cart,.catalog,.category-rail{border-radius:16px}
  .cart-head{padding:8px 9px;gap:6px}.cart-head h2{font-size:16px}.cart-head .eyebrow{font-size:8px}
  .cart-head-actions{gap:4px}.btn-compact{padding:6px 8px;font-size:10px}
  .cart-list{padding:7px}.line{padding:8px;margin-bottom:6px;border-radius:11px}.line-main b{font-size:13px}
  .line-actions{margin-top:6px}.line-actions button{padding:5px 7px;font-size:10px}
  .cart-foot{padding:7px 8px}.grand{font-size:20px;padding-top:6px}.vat{margin:4px 0}
  .operation-row{gap:5px}.checkout-actions{gap:5px}
  .btn-kitchen,.pay,.split-pay{min-height:48px}
  .catalog{display:grid;grid-template-rows:auto minmax(0,1fr)}
  .catalog-head-products{padding:7px;border-bottom:1px solid #223b54}
  .catalog-title-row{margin-bottom:5px}.catalog-title-row h2{font-size:15px}.catalog-meta{font-size:9px}
  .search{padding:8px 10px;border-radius:10px;font-size:12px}
  .products{
    min-height:0;overflow:auto;padding:7px;gap:7px;
    grid-template-columns:repeat(auto-fill,minmax(142px,1fr));
    grid-auto-rows:minmax(126px,1fr)
  }
  .product{border-radius:13px}.product-add{padding:9px}.product b{font-size:15px;margin-top:14px;padding-right:42px}
  .product small{font-size:10px;margin-top:4px}.price{font-size:17px;padding-right:38px}
  .product-options{right:6px;bottom:6px;width:30px;height:30px;font-size:15px}.vat-badge{right:6px;top:6px;font-size:8px}
  .category-rail-head{padding:8px}.category-rail-head h2{font-size:15px}
  .cats-vertical{padding:6px;gap:5px;grid-auto-rows:minmax(46px,1fr);align-content:stretch}
  .cats-vertical .cat{min-height:46px;padding:5px 7px;border-radius:10px;grid-template-columns:28px 1fr}
  .cats-vertical .cat span{font-size:19px}.cats-vertical .cat b{font-size:11px}
}
@media (min-width:900px) and (max-width:1280px) and (orientation:landscape){
  .server-inbox-top span,#receiptQuickBtn span,.patron-top-link b,.fullscreen-label{display:none}
  .server-inbox-top,.receipt-quick-top,.patron-top-link,.fullscreen-btn{min-width:40px!important;width:40px!important;padding:0!important}
  .topbar{grid-template-columns:minmax(140px,.45fr) minmax(260px,.9fr) auto}
}
@media (min-width:1281px) and (orientation:landscape){
  .workspace{grid-template-columns:minmax(340px,27%) minmax(0,1fr) minmax(205px,20%)}
  .products{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));grid-auto-rows:minmax(135px,1fr)}
}

/* ==========================================================
   v0.3.29 — CORRECTION VISUELLE TABLETTE
   Produits compacts + catégories longues type Menu Table
   ========================================================== */
@media (min-width:900px) and (orientation:landscape){
  /* Centre : cartes produit compactes, proches de l'ancienne caisse */
  .products{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-rows:182px!important;
    align-content:start!important;
    gap:7px!important;
    padding:7px!important;
  }
  .product{
    min-width:0!important;
    height:182px!important;
    border-radius:14px!important;
  }
  .product-add{
    grid-template-rows:78px minmax(0,1fr) auto!important;
    padding:0 10px 9px!important;
  }
  .product-thumb{
    width:calc(100% + 20px)!important;
    height:78px!important;
    margin-left:-10px!important;
    object-fit:cover!important;
  }
  .product b{
    font-size:13px!important;
    line-height:1.12!important;
    margin-top:8px!important;
    padding-right:40px!important;
  }
  .product small{
    font-size:9px!important;
    line-height:1.1!important;
  }
  .price{
    font-size:16px!important;
    padding-right:38px!important;
  }
  .vat-badge{
    font-size:8px!important;
    top:5px!important;
    right:5px!important;
  }
  .halal-badge{
    font-size:8px!important;
    top:5px!important;
    left:5px!important;
    padding:3px 6px!important;
  }
  .product-options{
    width:29px!important;
    height:29px!important;
    right:5px!important;
    bottom:5px!important;
  }

  /* Droite : une catégorie par ligne, longue comme le Menu Table */
  .cats-vertical{
    grid-template-columns:1fr!important;
    grid-auto-rows:58px!important;
    gap:6px!important;
    align-content:start!important;
    padding:7px!important;
    overflow-y:auto!important;
  }
  .cats-vertical .cat{
    width:100%!important;
    min-width:0!important;
    min-height:58px!important;
    height:58px!important;
    grid-template-columns:48px minmax(0,1fr)!important;
    gap:10px!important;
    padding:6px 10px!important;
    border-radius:13px!important;
    text-align:left!important;
  }
  .cats-vertical .cat-thumb,
  .cats-vertical .cat-fallback{
    width:46px!important;
    height:46px!important;
    border-radius:11px!important;
    object-fit:cover!important;
  }
  .cats-vertical .cat b{
    font-size:13px!important;
    line-height:1.12!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  .cats-vertical .cat.active{
    transform:none!important;
    box-shadow:inset 4px 0 0 #e5b359,0 0 12px #d4963022!important;
  }
}

@media (min-width:900px) and (max-width:1180px) and (orientation:landscape){
  .products{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-rows:172px!important;
  }
  .product{height:172px!important}
  .product-add{grid-template-rows:72px minmax(0,1fr) auto!important}
  .product-thumb{height:72px!important}
  .cats-vertical{grid-auto-rows:54px!important}
  .cats-vertical .cat{height:54px!important;min-height:54px!important;grid-template-columns:42px 1fr!important}
  .cats-vertical .cat-thumb,.cats-vertical .cat-fallback{width:40px!important;height:40px!important}
}

/* ==========================================================
   v0.3.30 — PRODUITS EN VRAIES TUILES PORTRAIT
   Plus hautes que larges
   ========================================================== */
@media (min-width:900px) and (orientation:landscape){
  .products{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    grid-auto-rows:auto!important;
    align-content:start!important;
    gap:8px!important;
    padding:8px!important;
  }
  .product{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:0.78!important; /* largeur / hauteur : portrait */
    border-radius:15px!important;
  }
  .product-add{
    display:grid!important;
    grid-template-rows:118px minmax(0,1fr) auto!important;
    padding:0 11px 10px!important;
  }
  .product-thumb{
    width:calc(100% + 22px)!important;
    height:118px!important;
    margin-left:-11px!important;
    object-fit:cover!important;
  }
  .product b{
    font-size:14px!important;
    line-height:1.15!important;
    margin-top:10px!important;
    padding-right:42px!important;
  }
  .product small{
    font-size:9.5px!important;
    line-height:1.15!important;
    margin-top:5px!important;
  }
  .price{
    font-size:18px!important;
    line-height:1!important;
    padding-right:42px!important;
    margin-top:8px!important;
  }
  .product-options{
    width:32px!important;
    height:32px!important;
    right:6px!important;
    bottom:6px!important;
  }
  .vat-badge{
    top:6px!important;
    right:6px!important;
  }
  .halal-badge{
    top:6px!important;
    left:6px!important;
  }
}

/* Tablettes paysage plus étroites : 3 colonnes mais toujours portrait */
@media (min-width:900px) and (max-width:1199px) and (orientation:landscape){
  .products{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .product{
    aspect-ratio:0.82!important;
  }
  .product-add{
    grid-template-rows:110px minmax(0,1fr) auto!important;
  }
  .product-thumb{
    height:110px!important;
  }
}

/* Grand écran / tablette large : 4 colonnes portrait */
@media (min-width:1200px) and (orientation:landscape){
  .products{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}

/* ==========================================================
   v0.3.31 — STABILISATION TUILES PORTRAIT
   - aucune superposition
   - photo grande et proportionnelle
   - dimensions réservées par la grille
   ========================================================== */
@media (min-width:900px) and (orientation:landscape){

  .products{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    grid-auto-rows:310px!important;
    grid-auto-flow:row!important;
    align-items:stretch!important;
    align-content:start!important;
    gap:9px!important;
    padding:9px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }

  .product{
    position:relative!important;
    display:block!important;
    width:100%!important;
    height:310px!important;
    min-height:310px!important;
    max-height:310px!important;
    aspect-ratio:auto!important;
    overflow:hidden!important;
    border-radius:15px!important;
  }

  .product-add{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    display:grid!important;
    grid-template-rows:160px minmax(0,1fr) 34px!important;
    padding:0 11px 10px!important;
    overflow:hidden!important;
  }

  .product-thumb{
    display:block!important;
    width:calc(100% + 22px)!important;
    height:160px!important;
    min-height:160px!important;
    max-height:160px!important;
    margin:0 0 0 -11px!important;
    object-fit:cover!important;
    object-position:center center!important;
    border-bottom:1px solid #8d602560!important;
    background:#0b0b0b!important;
  }

  .product-copy{
    min-height:0!important;
    overflow:hidden!important;
    padding-top:9px!important;
  }

  .product b{
    display:block!important;
    font-size:14px!important;
    line-height:1.18!important;
    margin:0 0 5px!important;
    padding:0 42px 0 0!important;
    max-height:34px!important;
    overflow:hidden!important;
  }

  .product small{
    display:block!important;
    font-size:9.5px!important;
    line-height:1.15!important;
    max-height:34px!important;
    overflow:hidden!important;
    margin:0!important;
  }

  .price{
    position:relative!important;
    align-self:end!important;
    display:flex!important;
    align-items:center!important;
    min-height:34px!important;
    font-size:18px!important;
    line-height:1!important;
    margin:0!important;
    padding:0 76px 0 0!important;
  }

  .product-options{
    width:32px!important;
    height:32px!important;
    right:7px!important;
    bottom:7px!important;
    z-index:5!important;
  }

  .product-qty,
  .product-plus,
  .product-minus{
    z-index:5!important;
  }

  .vat-badge{
    top:7px!important;
    right:7px!important;
    z-index:6!important;
  }

  .halal-badge{
    top:7px!important;
    left:7px!important;
    z-index:6!important;
  }
}

/* Tablettes paysage plus étroites :
   3 colonnes, même géométrie, photo toujours généreuse */
@media (min-width:900px) and (max-width:1199px) and (orientation:landscape){
  .products{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-rows:300px!important;
  }
  .product{
    height:300px!important;
    min-height:300px!important;
    max-height:300px!important;
  }
  .product-add{
    grid-template-rows:154px minmax(0,1fr) 34px!important;
  }
  .product-thumb{
    height:154px!important;
    min-height:154px!important;
    max-height:154px!important;
  }
}

/* Grands écrans : un peu plus de photo, toujours sans chevauchement */
@media (min-width:1500px) and (orientation:landscape){
  .products{
    grid-auto-rows:326px!important;
  }
  .product{
    height:326px!important;
    min-height:326px!important;
    max-height:326px!important;
  }
  .product-add{
    grid-template-rows:174px minmax(0,1fr) 36px!important;
  }
  .product-thumb{
    height:174px!important;
    min-height:174px!important;
    max-height:174px!important;
  }
}

/* ==========================================================
   v0.3.32 — ALIGNEMENTS / NOMS COMPLETS / HALAL
   ========================================================== */

/* Centrage cohérent des commandes de l'interface.
   Les cartes produits et catégories gardent leur alignement métier. */
button:not(.product-add):not(.cat),
a.btn,
.patron-top-link,
.fullscreen-btn,
.held-top,
.server-inbox-top,
.receipt-quick-top,
.icon-btn,
.service{
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  vertical-align:middle!important;
  line-height:1.1!important;
}
button:not(.product-add):not(.cat),
a.btn,
.patron-top-link{
  display:inline-flex!important;
}
.top-actions{
  align-items:center!important;
}
.top-actions > *{
  align-self:center!important;
  margin-top:0!important;
  margin-bottom:0!important;
}
.top-actions .icon-btn,
.top-actions .held-top,
.top-actions .server-inbox-top,
.top-actions .receipt-quick-top,
.top-actions .patron-top-link,
.top-actions .fullscreen-btn{
  box-sizing:border-box!important;
}

/* Les catégories restent de grandes tuiles horizontales, texte à gauche. */
.cats-vertical .cat{
  justify-items:start!important;
  text-align:left!important;
}
.cats-vertical .cat b{
  text-align:left!important;
}

/* Noms complets : exploiter l'espace disponible de la tuile. */
@media (min-width:900px) and (orientation:landscape){
  .product-copy{
    padding-top:9px!important;
    overflow:visible!important;
    min-height:0!important;
  }
  .product b{
    display:block!important;
    font-size:14px!important;
    line-height:1.18!important;
    margin:0 0 5px!important;
    padding:0!important;
    max-height:none!important;
    overflow:visible!important;
    white-space:normal!important;
    text-overflow:clip!important;
    overflow-wrap:anywhere!important;
  }
  .product small{
    display:block!important;
    font-size:9.5px!important;
    line-height:1.15!important;
    max-height:30px!important;
    overflow:hidden!important;
    margin-top:4px!important;
    padding-right:0!important;
  }

  /* Les deux boutons du bas ont strictement la même taille. */
  .product-info,
  .product-options{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
    max-width:34px!important;
    max-height:34px!important;
    bottom:7px!important;
    border-radius:50%!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    font-size:17px!important;
    line-height:1!important;
  }
  .product-options{right:7px!important}
  .product-info{right:48px!important}

  /* Un peu plus d'espace utile dans la partie texte sans réduire la photo. */
  .product-add{
    grid-template-rows:160px minmax(0,1fr) 38px!important;
  }
  .price{
    min-height:38px!important;
    padding-right:82px!important;
  }
}

@media (min-width:900px) and (max-width:1199px) and (orientation:landscape){
  .product-add{
    grid-template-rows:154px minmax(0,1fr) 38px!important;
  }
  .product b{font-size:13.5px!important}
}

/* Catégorie HALAL : repère visuel vert sans changer le style global. */
.cats-vertical .cat[data-id="halal"]{
  border-color:#278f62!important;
}
.cats-vertical .cat[data-id="halal"].active{
  border-color:#51d69a!important;
  box-shadow:inset 4px 0 0 #51d69a,0 0 14px #28a86b33!important;
}

/* ==========================================================
   v0.3.33 — NOM PRODUIT PRIORITAIRE
   Suppression de la mention type de viande redondante
   ========================================================== */
@media (min-width:900px) and (orientation:landscape){
  .product-copy{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    padding:10px 0 0!important;
    overflow:visible!important;
  }
  .product-copy b,
  .product b{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    padding:0!important;
    margin:0!important;
    font-size:15px!important;
    font-weight:950!important;
    line-height:1.16!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }

  /* Cette information reste disponible dans Dino Base/fiche produit,
     mais n'occupe plus la tuile de caisse. */
  .product .burger-type-label{
    display:none!important;
  }
}

@media (min-width:900px) and (max-width:1199px) and (orientation:landscape){
  .product-copy b,
  .product b{
    font-size:14px!important;
  }
}

/* ==========================================================
   v0.3.34 — NOM PRODUIT DESCENDU ET CENTRÉ
   ========================================================== */
@media (min-width:900px) and (orientation:landscape){
  .product-copy{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    padding:20px 10px 0!important;
    box-sizing:border-box!important;
    overflow:visible!important;
    text-align:center!important;
  }

  .product-copy b,
  .product b{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    text-align:center!important;
    font-size:15px!important;
    line-height:1.18!important;
    font-weight:950!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
}

@media (min-width:900px) and (max-width:1199px) and (orientation:landscape){
  .product-copy{
    padding-top:18px!important;
  }
  .product-copy b,
  .product b{
    font-size:14px!important;
  }
}

/* ==========================================================
   v0.3.35 — PHOTO AGRANDIE + NOM PLUS BAS
   Référence visuelle validée par capture utilisateur
   ========================================================== */
@media (min-width:900px) and (orientation:landscape){

  /* Tuile stable : aucune modification de largeur/hauteur globale */
  .product{
    overflow:hidden!important;
  }

  /* Photo plus grande vers le bas */
  .product-add{
    grid-template-rows:190px minmax(0,1fr) 38px!important;
  }

  .product-thumb{
    height:190px!important;
    min-height:190px!important;
    max-height:190px!important;
    object-fit:cover!important;
    object-position:center center!important;
  }

  /* Nom descendu davantage dans la zone noire */
  .product-copy{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
    padding:24px 10px 0!important;
    text-align:center!important;
    overflow:visible!important;
  }

  .product-copy b,
  .product b{
    width:100%!important;
    margin:0!important;
    padding:0!important;
    text-align:center!important;
    font-size:15px!important;
    line-height:1.18!important;
    font-weight:950!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }

  /* Prix et boutons restent bien calés en bas */
  .price{
    min-height:38px!important;
    display:flex!important;
    align-items:center!important;
    padding-right:82px!important;
    margin:0!important;
  }

  .product-info,
  .product-options{
    bottom:7px!important;
  }
}

/* Tablettes paysage plus étroites */
@media (min-width:900px) and (max-width:1199px) and (orientation:landscape){
  .product-add{
    grid-template-rows:182px minmax(0,1fr) 38px!important;
  }
  .product-thumb{
    height:182px!important;
    min-height:182px!important;
    max-height:182px!important;
  }
  .product-copy{
    padding-top:22px!important;
  }
  .product-copy b,
  .product b{
    font-size:14px!important;
  }
}

/* Très grands écrans */
@media (min-width:1500px) and (orientation:landscape){
  .product-add{
    grid-template-rows:198px minmax(0,1fr) 40px!important;
  }
  .product-thumb{
    height:198px!important;
    min-height:198px!important;
    max-height:198px!important;
  }
  .product-copy{
    padding-top:25px!important;
  }
}

/* ==========================================================
   v0.3.36 — SOUS-CATÉGORIES VIANDES BURGERS
   ========================================================== */
.burger-meat-filters{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  align-items:center;
  margin:0 0 7px;
}
.burger-meat-filters.hidden{display:none!important}
.meat-filter{
  min-height:34px;
  padding:7px 11px!important;
  border:1px solid #79551f!important;
  border-radius:10px!important;
  background:linear-gradient(#1d1a13,#0b0b09)!important;
  color:#f4d49a!important;
  font-size:11px!important;
  font-weight:900!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
.meat-filter.active{
  background:linear-gradient(#e5b65a,#9f6715)!important;
  color:#161005!important;
  border-color:#ffd985!important;
  box-shadow:0 0 10px #dca74840!important;
}
@media (min-width:900px) and (orientation:landscape){
  .catalog-head-products{padding-bottom:6px!important}
  .burger-meat-filters{flex-wrap:nowrap;gap:5px;margin-bottom:5px}
  .meat-filter{flex:1 1 auto;min-width:0;min-height:31px;padding:5px 6px!important;font-size:9.5px!important}
}

/* v0.3.39 — écran allégé / menu rapide */
.quick-menu-top{height:42px;min-width:90px;padding:0 12px;border:1px solid #936522;border-radius:11px;background:linear-gradient(#2c2414,#0d0c09);color:#ffd78c;font-weight:1000;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:7px}
.quick-menu-card{width:min(860px,95vw)}.quick-menu-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:16px}
.quick-tool{min-height:82px;border:1px solid #3a566f;border-radius:16px;background:#0c2032;color:#fff;padding:12px;text-decoration:none;display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;text-align:left}
.quick-tool>span{grid-row:1/3;font-size:28px;text-align:center}.quick-tool>b{font-size:17px}.quick-tool>small{color:#9db2c5;font-size:12px}.quick-tool:active{transform:scale(.99);background:#132d43}
.quick-settings{margin:0 16px 16px;padding:14px;border:1px solid #8b682a;border-radius:15px;background:#261e0d;display:flex;justify-content:space-between;align-items:center;gap:18px}.quick-settings b{font-size:16px}.quick-settings small{display:block;color:#d8bd85;margin-top:4px;max-width:650px}
.big-toggle,.terminal-mini-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.big-toggle input,.terminal-mini-toggle input{display:none}.big-toggle span,.terminal-mini-toggle span{width:54px;height:30px;border-radius:99px;background:#63312f;position:relative;border:1px solid #95615b}.big-toggle span:before,.terminal-mini-toggle span:before{content:"";position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:.18s}.big-toggle input:checked+span,.terminal-mini-toggle input:checked+span{background:#176e4b;border-color:#48c28e}.big-toggle input:checked+span:before,.terminal-mini-toggle input:checked+span:before{transform:translateX(24px)}
.quick-menu-foot{display:flex;justify-content:space-between;padding:0 16px 16px}.terminal-inline-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px}.terminal-mini-toggle span{width:44px;height:25px}.terminal-mini-toggle span:before{width:17px;height:17px}.terminal-mini-toggle input:checked+span:before{transform:translateX(19px)}
.customer-ticket-toggle.selected{background:linear-gradient(135deg,#1f8b61,#45ce94)!important;color:#06170f!important;border-color:#74efb8!important}
@media(min-width:900px) and (orientation:landscape){.topbar{grid-template-columns:minmax(145px,.42fr) minmax(360px,1fr) auto!important;min-height:58px!important;padding:6px 8px!important}.brand img{width:42px!important;height:42px!important}.brand h1{font-size:23px!important}.brand p{font-size:10px!important}.service{min-height:43px!important;font-size:13px!important}.top-actions{gap:6px!important}.held-top,.server-inbox-top,.receipt-quick-top,.quick-menu-top{height:42px!important;font-size:12px!important}.clock{font-size:18px!important;min-width:64px!important}.cart-head h2{font-size:18px!important}.cart-head .btn{font-size:11px!important}.category-rail-head h2,.catalog-title-row h2{font-size:17px!important}.cats-vertical .cat b{font-size:13px!important}}
@media(max-width:700px){.quick-menu-grid{grid-template-columns:1fr}.quick-settings{align-items:flex-start}}

/* ===== v0.3.49 — Avantages Client Carte CFC ===== */
.cfc-benefit-box{margin:12px 0;padding:13px;border:1px solid #7b5a20;border-radius:16px;background:linear-gradient(180deg,#1b160d,#0e1115);box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.cfc-benefit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.cfc-benefit-head b{display:block;color:#ffd98a}.cfc-benefit-head small{display:block;margin-top:3px;color:#b8b4a9}.cfc-benefit-head>span{font-size:11px;font-weight:900;color:#d3b36f;border:1px solid #72551f;border-radius:999px;padding:5px 8px;white-space:nowrap}
.cfc-benefit-actions{display:grid;grid-template-columns:minmax(170px,1fr) auto auto;gap:8px;margin-top:11px}.cfc-benefit-actions input{min-width:0;border:1px solid #5b626a;border-radius:12px;background:#080b0f;color:#fff;padding:11px 12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.cfc-benefit-actions input:focus{outline:none;border-color:#d29a31}.cfc-benefit-actions .btn{min-height:44px;padding:8px 12px}
.cfc-benefit-result{margin-top:10px;padding:10px 12px;border-radius:12px;background:#0d281b;border:1px solid #2c8158;color:#bdf4d1;line-height:1.4}.cfc-benefit-result.error{background:#2a1010;border-color:#8a3434;color:#ffb7b7}.cfc-benefit-result strong{color:#fff}.cfc-benefit-remove{margin-top:9px;background:#171a1e!important;color:#ffd98a!important;border-color:#665024!important}
.cfc-scan-overlay{position:fixed;inset:0;z-index:4000;background:rgba(0,0,0,.92);display:grid;place-items:center;padding:18px}.cfc-scan-card{width:min(520px,100%);background:#0e1318;border:1px solid #b17b23;border-radius:18px;padding:14px}.cfc-scan-card video{width:100%;aspect-ratio:4/3;object-fit:cover;background:#000;border-radius:12px}.cfc-scan-copy{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;color:#f4db9c}.cfc-scan-copy button{min-height:42px}
@media(max-width:760px){.cfc-benefit-actions{grid-template-columns:1fr 1fr}.cfc-benefit-actions input{grid-column:1/-1}}

/* v0.3.51 — commandes web distinctes de Dino Serveur */
.web-orders-top{border:2px solid #b68aff;background:#32146c;color:#fff;border-radius:14px;padding:9px 12px;font-weight:900;box-shadow:0 0 0 rgba(123,44,255,0);transition:.2s}.web-orders-top.has-alert{background:#771fff;box-shadow:0 0 24px rgba(123,44,255,.8)}
.web-order-big-alert{position:fixed;z-index:20000;right:24px;top:92px;width:min(470px,calc(100vw - 48px));min-height:145px;padding:22px;border-radius:24px;border:4px solid #d8c5ff;background:linear-gradient(135deg,#5510d7,#9d42ff);color:#fff;box-shadow:0 0 55px rgba(123,44,255,.9);cursor:pointer;animation:webOrderPulse .9s infinite alternate}.web-order-big-alert.hidden{display:none}.web-order-kicker{font-size:15px;letter-spacing:.12em;font-weight:900}.web-order-big-alert strong{display:block;font-size:31px;margin:8px 0}.web-order-big-alert span{display:block;font-size:18px}@keyframes webOrderPulse{to{transform:scale(1.025);box-shadow:0 0 75px rgba(158,67,255,1)}}
