/* Hopfaddict POS — premium theme layer (loaded after pos.css). Brand: navy / red / gold / cream from the logo. */
@font-face{font-family:"Plex Thai";font-weight:400;font-display:swap;src:url(/fonts/plex-thai-400.woff2) format("woff2");unicode-range:U+0E01-0E5B,U+200C-200D,U+25CC}
@font-face{font-family:"Plex Thai";font-weight:500;font-display:swap;src:url(/fonts/plex-thai-500.woff2) format("woff2");unicode-range:U+0E01-0E5B,U+200C-200D,U+25CC}
@font-face{font-family:"Plex Thai";font-weight:600;font-display:swap;src:url(/fonts/plex-thai-600.woff2) format("woff2");unicode-range:U+0E01-0E5B,U+200C-200D,U+25CC}
@font-face{font-family:"Plex Thai";font-weight:700 900;font-display:swap;src:url(/fonts/plex-thai-700.woff2) format("woff2");unicode-range:U+0E01-0E5B,U+200C-200D,U+25CC}
@font-face{font-family:"Plex Thai";font-weight:400;font-display:swap;src:url(/fonts/plex-latin-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD,U+0E3F}
@font-face{font-family:"Plex Thai";font-weight:500;font-display:swap;src:url(/fonts/plex-latin-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD,U+0E3F}
@font-face{font-family:"Plex Thai";font-weight:600;font-display:swap;src:url(/fonts/plex-latin-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD,U+0E3F}
@font-face{font-family:"Plex Thai";font-weight:700 900;font-display:swap;src:url(/fonts/plex-latin-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD,U+0E3F}
@font-face{font-family:"Prompt";font-weight:500;font-display:swap;src:url(/fonts/prompt-thai-500.woff2) format("woff2");unicode-range:U+0E01-0E5B,U+200C-200D,U+25CC}
@font-face{font-family:"Prompt";font-weight:600;font-display:swap;src:url(/fonts/prompt-thai-600.woff2) format("woff2");unicode-range:U+0E01-0E5B,U+200C-200D,U+25CC}
@font-face{font-family:"Prompt";font-weight:700 900;font-display:swap;src:url(/fonts/prompt-thai-700.woff2) format("woff2");unicode-range:U+0E01-0E5B,U+200C-200D,U+25CC}
@font-face{font-family:"Prompt";font-weight:500;font-display:swap;src:url(/fonts/prompt-latin-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+0E3F}
@font-face{font-family:"Prompt";font-weight:600;font-display:swap;src:url(/fonts/prompt-latin-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+0E3F}
@font-face{font-family:"Prompt";font-weight:700 900;font-display:swap;src:url(/fonts/prompt-latin-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+0E3F}
:root{--navy:#13203d;--navy2:#1c2d55;--navy3:#2a3f73;--red:#d0142c;--red2:#a30f22;--gold:#d9a92e;--gold2:#f2cc6b;--gold3:#fff1c9;--cream:#faf5ea;--cream2:#f3ead7;--ink:#17203a;--muted:#6f7486;--line:#ebe2cf;--ok:#16a05a;--warn:#e8890c;
--r:18px;--r-sm:12px;--tap:50px;--f:"Plex Thai","Noto Sans Thai","Leelawadee UI",system-ui,sans-serif;--fh:"Prompt","Plex Thai",system-ui,sans-serif;
--fs-xs:12px;--fs-sm:13.5px;--fs-base:15.5px;--fs-md:17px;--fs-lg:20px;--fs-xl:26px;--fs-2xl:34px;--fs-3xl:44px;
--sh1:0 1px 2px rgba(19,32,61,.06),0 2px 8px rgba(19,32,61,.05);--sh2:0 2px 4px rgba(19,32,61,.06),0 12px 28px rgba(19,32,61,.10);--sh3:0 24px 60px rgba(10,16,34,.35)}
html,body{font-size:var(--fs-base);letter-spacing:.1px;-webkit-font-smoothing:antialiased;background:radial-gradient(1200px 600px at 100% -10%,#fff8e6 0,transparent 60%),var(--cream)}
h1,h2,h3,h4,.brand,.kpi .v,.due .v,.tot .g,.tk .h b,.tbl .n,.ticket .hd h2,.btn.lg{font-family:var(--fh);letter-spacing:.2px}
h2{font-size:var(--fs-xl);font-weight:600}h3{font-size:var(--fs-lg);font-weight:600}
.mono,.kpi .v,.due .v,.tot .g,.amt,table.t td.n{font-variant-numeric:tabular-nums}
/* top bar + nav */
.top{background:linear-gradient(100deg,#0f1a33 0,var(--navy) 40%,var(--navy2) 100%);min-height:60px;padding:6px 14px;box-shadow:0 1px 0 rgba(217,169,46,.55),0 6px 20px rgba(10,16,34,.25);gap:12px}
.top .logo{height:40px;width:40px;border:2px solid var(--gold);box-shadow:0 0 0 3px rgba(217,169,46,.18)}
.top .brand{font-weight:600;font-size:var(--fs-md)}.top .brand small{font-family:var(--f);font-weight:500;font-size:var(--fs-xs);color:var(--gold2);letter-spacing:.4px;margin-top:2px}
.top .who{font-size:var(--fs-sm)}.top .btn.ghost{box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);border-radius:999px;min-height:36px}
.pill{background:rgba(255,255,255,.1);font-weight:600;font-size:var(--fs-xs);padding:5px 11px}.pill::before{content:"";width:7px;height:7px;border-radius:50%;background:#3ddc84;box-shadow:0 0 0 3px rgba(61,220,132,.22)}.pill.off::before,.pill.q::before{background:#fff}
.nav{background:var(--navy2);padding:7px 10px;gap:4px;box-shadow:inset 0 -1px 0 rgba(255,255,255,.06)}
.nav button{border-radius:999px;min-height:42px;padding:6px 16px;color:#cdd6ec;font-weight:500;letter-spacing:.2px;transition:background .15s,color .15s}
.nav button:hover{background:rgba(255,255,255,.07);color:#fff}
.nav button.on{background:linear-gradient(180deg,var(--gold2),var(--gold));color:var(--navy);font-weight:600;box-shadow:0 4px 12px rgba(217,169,46,.35)}
/* controls */
.btn{border-radius:14px;font-weight:600;letter-spacing:.2px;box-shadow:var(--sh1),inset 0 0 0 1px var(--line);transition:transform .08s,box-shadow .15s,filter .15s}
.btn:hover{filter:brightness(1.03)}
.btn.primary{background:linear-gradient(180deg,#e2213a,var(--red));box-shadow:0 6px 16px rgba(208,20,44,.28),inset 0 -2px 0 rgba(0,0,0,.12)}
.btn.gold{background:linear-gradient(180deg,var(--gold2),var(--gold));box-shadow:0 6px 16px rgba(217,169,46,.3),inset 0 -2px 0 rgba(0,0,0,.08)}
.btn.navy{background:linear-gradient(180deg,var(--navy3),var(--navy2));box-shadow:0 6px 16px rgba(19,32,61,.25)}
.btn.ok{background:linear-gradient(180deg,#1fb866,var(--ok));box-shadow:0 6px 16px rgba(22,160,90,.25)}
.btn.ghost{background:transparent;box-shadow:inset 0 0 0 1.5px currentColor}
.btn.sm{border-radius:11px;font-size:var(--fs-sm)}
.inp{border-radius:12px;border:1px solid var(--line);background:#fff;box-shadow:inset 0 1px 2px rgba(19,32,61,.04);transition:border-color .15s,box-shadow .15s}
.inp:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 4px rgba(217,169,46,.18)}
label.f{font-size:var(--fs-sm);font-weight:500}
.chip{background:#fff;color:var(--navy);box-shadow:inset 0 0 0 1px var(--line);font-weight:500;min-height:38px;padding:7px 15px;transition:all .15s}
.chip.on{background:var(--navy);color:#fff;box-shadow:0 4px 12px rgba(19,32,61,.22)}
.badge{border-radius:999px;padding:3px 10px;font-weight:600;font-size:var(--fs-xs);letter-spacing:.2px}
.card{border-radius:var(--r);box-shadow:var(--sh1);border:1px solid rgba(235,226,207,.8);padding:16px}
.kpi{border-radius:var(--r);box-shadow:var(--sh1);border:1px solid rgba(235,226,207,.8);padding:14px 16px;position:relative;overflow:hidden}
.kpi::after{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(var(--gold2),var(--gold))}
.kpi .l{font-size:var(--fs-sm);font-weight:500}.kpi .v{font-size:var(--fs-xl);font-weight:600;letter-spacing:-.2px;margin-top:2px}
table.t{font-size:var(--fs-sm)}table.t th{background:#f7f1e4;font-weight:600;color:var(--navy);font-size:var(--fs-xs);letter-spacing:.3px}table.t td{border-bottom:1px solid #f2ebdc}
/* login */
.login{background:radial-gradient(900px 500px at 15% 0%,#2a3f73 0,transparent 60%),radial-gradient(700px 500px at 100% 100%,rgba(208,20,44,.35) 0,transparent 60%),linear-gradient(160deg,#0f1a33,#13203d 60%,#0b1224)}
.login .box{border-radius:28px;background:linear-gradient(180deg,#fffdf8,var(--cream));box-shadow:var(--sh3),inset 0 0 0 1px rgba(255,255,255,.6);padding:26px}
.login .box h2{font-weight:700}
.key{border-radius:18px;font-family:var(--fh);font-weight:500;box-shadow:var(--sh1),inset 0 0 0 1px var(--line)}
.tabs button{border-radius:12px;font-weight:600}
/* floor */
.floorbar{padding:12px 12px 8px}.floorbar h2{font-size:var(--fs-lg)}
.floorwrap{border-radius:22px;background:radial-gradient(circle,#e9dfc9 1px,transparent 1.4px) 0 0/22px 22px,linear-gradient(180deg,#fffdf7,#fbf5e8);box-shadow:inset 0 0 0 1px var(--line),var(--sh1)}
.tbl{border-radius:16px;background:#fff;box-shadow:0 1px 2px rgba(19,32,61,.08),0 6px 14px rgba(19,32,61,.08),inset 0 0 0 1.5px #e3d6ba;transition:transform .12s}
.tbl .n{font-weight:600}.tbl.busy{background:linear-gradient(180deg,#ffe08f,var(--gold2));box-shadow:0 8px 18px rgba(217,169,46,.35)}
.tbl.cooking{background:linear-gradient(180deg,#ffc79b,#ffad6e);box-shadow:0 8px 18px rgba(232,137,12,.3)}
.tbl.ready{background:linear-gradient(180deg,#9eecb9,#5fd38c);box-shadow:0 8px 18px rgba(22,160,90,.35)}
.tbl.billreq{background:linear-gradient(180deg,#e8344b,var(--red));box-shadow:0 8px 18px rgba(208,20,44,.35)}.tbl.billed{background:linear-gradient(180deg,var(--navy3),var(--navy))}
.bk{border-radius:14px;box-shadow:var(--sh1),inset 0 0 0 1.5px #8d63e0}
/* order */
.cats{background:rgba(255,255,255,.85);backdrop-filter:blur(8px);padding:10px;gap:8px}
.it{border-radius:18px;box-shadow:var(--sh1);border:1px solid rgba(235,226,207,.9);transition:transform .1s,box-shadow .15s}
.it:active{transform:scale(.97)}.it:hover{box-shadow:var(--sh2)}
.it .ph{background:linear-gradient(135deg,#fbf0d9,#fff)}.it .nm{font-weight:600;font-size:var(--fs-sm);padding:8px 10px 0}.it .pr{font-family:var(--fh);font-weight:600;padding:2px 10px 10px}
.ticket{box-shadow:-8px 0 30px rgba(19,32,61,.06)}.ticket .hd{background:linear-gradient(180deg,#fbf3e1,#f6ecd6)}.ticket .hd h2{font-weight:600}
.ln{border-bottom:1px solid #f4eddf}.ln .q{font-family:var(--fh);font-weight:600}.ln .d b{font-weight:600}
.tot .g{font-weight:700}.acts{background:#f7efde}
/* pay */
.due{background:linear-gradient(135deg,var(--navy2),var(--navy));border-radius:var(--r);box-shadow:var(--sh2);padding:16px 18px}.due .v{font-weight:700;font-size:var(--fs-3xl)}
.mth{border-radius:16px;box-shadow:var(--sh1),inset 0 0 0 1px var(--line);font-weight:600}.mth.on{background:linear-gradient(180deg,var(--gold2),var(--gold));box-shadow:0 8px 18px rgba(217,169,46,.35)}
.tg{border-radius:12px;font-weight:600}
/* modal / toast / sheet */
.modal-wrap{background:rgba(10,16,34,.55);backdrop-filter:blur(4px)}
.modal{border-radius:26px;background:linear-gradient(180deg,#fffdf8,var(--cream));box-shadow:var(--sh3);padding:20px 22px}.modal h3{font-weight:600;font-size:var(--fs-lg)}
.toast,.snackbar{border-radius:14px;font-weight:600;box-shadow:var(--sh3)}
.sheet{border-radius:26px 26px 0 0}
.compliance{background:#fff7dc;border:1px solid #edc65a;border-radius:14px}
.empty img{filter:drop-shadow(0 10px 20px rgba(19,32,61,.15))}
/* ---------- KDS: dark, high-contrast ---------- */
body[data-route=kitchen],body[data-route=bar]{background:#0b1120}
body[data-route=kitchen] main,body[data-route=bar] main{background:radial-gradient(900px 400px at 50% -10%,#1a2647 0,transparent 70%),#0b1120;color:#e8ecf6}
body[data-route=kitchen] .floorbar h2,body[data-route=bar] .floorbar h2{color:#fff!important}
body[data-route=kitchen] .chip,body[data-route=bar] .chip{background:#1a2440;color:#cfd7ee;box-shadow:inset 0 0 0 1px #2a3760}
body[data-route=kitchen] .chip.on,body[data-route=bar] .chip.on{background:var(--gold);color:var(--navy);box-shadow:0 4px 14px rgba(217,169,46,.35)}
body[data-route=kitchen] .badge.navy,body[data-route=bar] .badge.navy{background:#1a2440;font-family:var(--fh);font-size:var(--fs-md);padding:4px 12px;color:var(--gold2)}
.kds{gap:14px;padding:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.tk{background:#151d33;color:#eef1f8;border-radius:18px;box-shadow:0 10px 30px rgba(0,0,0,.35),inset 0 0 0 1px #24304f}
.tk .h{background:linear-gradient(180deg,#22325c,#1b2848);padding:10px 14px;border-bottom:1px solid #2b3a62}.tk .h b{font-size:var(--fs-lg);font-weight:600}.tk .h span{font-size:var(--fs-sm);color:#b8c3e0}
.tk.warn .h{background:linear-gradient(180deg,#f29b1f,#d9790a)}.tk.warn .h span{color:#fff}
.tk.late .h{background:linear-gradient(180deg,#ee3047,#b9142a)}.tk.late .h span{color:#fff}
.tk .li{border-bottom:1px solid #222c47;font-size:var(--fs-md);font-weight:600;padding:10px 14px;display:block}
.tk .li small{color:#9aa6c6}.tk .li .note{color:#ff8a98}
.tk .li.preparing{background:rgba(242,155,31,.14);box-shadow:inset 4px 0 0 #f29b1f}
.tk .li.ready{background:rgba(31,184,102,.14);color:#7be3a8;box-shadow:inset 4px 0 0 #1fb866}
.tk .li.note{background:rgba(255,138,152,.08)}
.tk .li.cut.yes{background:var(--gold2);color:#2a1d00}.tk .li.cut.no{background:#2a3454;color:#e7ebf5}
.tk .f{background:#121a2e}.tk .f .btn:not(.ok){background:#1f2a48;color:#dfe5f5;box-shadow:inset 0 0 0 1px #2d3a63}
.tk .li .rp1{color:#fff}
.tk .li .rdy{float:right;margin-left:6px;border:0;border-radius:999px;background:#1fb866;color:#fff;font:600 13px var(--f);padding:4px 10px;cursor:pointer}
.tk .li.ready .rdy{display:none}
body[data-route=kitchen] .empty,body[data-route=bar] .empty{color:#9aa6c6}
/* ---------- AI bubble = Nong Hop mascot ---------- */
.aibub{width:64px;height:64px;background:radial-gradient(circle at 50% 35%,#fffaf0 0,#ffe9b8 70%);border:2.5px solid var(--gold);box-shadow:0 10px 24px rgba(19,32,61,.28),0 0 0 4px rgba(217,169,46,.18);opacity:1;overflow:visible;animation:hopfloat 3.6s ease-in-out infinite}
.aibub img{width:118%;height:118%;object-fit:contain;margin-top:-14%;pointer-events:none;filter:drop-shadow(0 3px 4px rgba(0,0,0,.18));animation:hoptilt 5.2s ease-in-out infinite;transform-origin:50% 90%}
.aibub:active{animation:none;transform:scale(.95)}
.aibub .bd{top:-6px;right:-6px;min-width:24px;height:24px;border-radius:12px;background:var(--red);color:#fff;font-size:13px;box-shadow:0 0 0 2.5px #fff;z-index:2;animation:hopping 1.8s ease-out infinite}
.aibub.talk img{animation:hoptalk .35s ease-in-out infinite alternate}
.aibub .zz{position:absolute;left:-4px;bottom:-4px;width:20px;height:20px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;display:grid;place-items:center;box-shadow:0 0 0 2px #fff}
@keyframes hopfloat{0%,100%{translate:0 0}50%{translate:0 -5px}}
@keyframes hoptilt{0%,100%{rotate:0deg}20%{rotate:-6deg}28%{rotate:4deg}36%{rotate:0deg}}
@keyframes hoptalk{from{scale:1}to{scale:1.06 .96}}
@keyframes hopping{0%{box-shadow:0 0 0 2.5px #fff,0 0 0 2.5px rgba(208,20,44,.6)}80%,100%{box-shadow:0 0 0 2.5px #fff,0 0 0 12px rgba(208,20,44,0)}}
@media (prefers-reduced-motion:reduce){.aibub,.aibub img{animation:none}}
.aipanel{background:linear-gradient(180deg,#fffdf8,#fbf4e4);border-radius:24px;box-shadow:var(--sh3),inset 0 0 0 1px rgba(255,255,255,.7);padding:0;gap:0;width:min(400px,calc(100vw - 24px));max-height:min(620px,calc(100vh - 90px));overflow:hidden}
.aihead{display:flex;align-items:center;gap:10px;padding:12px 14px;background:linear-gradient(110deg,var(--navy),var(--navy2));color:#fff;position:relative}
.aihead::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,var(--gold),transparent)}
.aihead img{width:46px;height:46px;border-radius:50%;background:#ffefc9;border:2px solid var(--gold);object-fit:contain}
.aihead b{font-family:var(--fh);font-weight:600;font-size:var(--fs-md);display:block;line-height:1.1}.aihead small{color:var(--gold2);font-size:var(--fs-xs)}
.aihead .ib{width:36px;height:36px;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:#fff;font-size:16px;display:grid;place-items:center}
.aihead .ib.on{background:var(--gold);color:var(--navy)}
.aibody{padding:12px 14px;overflow:auto;display:flex;flex-direction:column;gap:10px;flex:1;min-height:0}
.aimatch{background:linear-gradient(135deg,#0f4a2c,#13203d);border-radius:16px;padding:12px 14px;box-shadow:var(--sh1)}.aimatch.muted{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
.aimatch .fxr{display:flex;align-items:center;gap:8px;padding:5px 0;border-top:1px solid rgba(255,255,255,.08);font-size:var(--fs-sm)}.aimatch .fxr:first-of-type{border-top:0}
.aimatch .fxr .tm{font-family:var(--fh);font-weight:600;background:rgba(255,255,255,.12);border-radius:8px;padding:1px 7px}
.aichat{max-height:none;gap:8px}.aichat .me{background:linear-gradient(135deg,var(--navy3),var(--navy));border-radius:16px 16px 4px 16px;padding:8px 12px}
.aichat .ai{display:flex;gap:8px;align-items:flex-end;background:none;box-shadow:none;padding:0;max-width:95%;white-space:normal}
.aichat .ai img{width:30px;height:30px;border-radius:50%;background:#ffefc9;flex:0 0 auto;object-fit:contain}
.aichat .ai .bb{background:#fff;border-radius:16px 16px 16px 4px;padding:9px 12px;box-shadow:var(--sh1),inset 0 0 0 1px var(--line);line-height:1.55}
.aichat .ai .bb p{margin:0 0 6px}.aichat .ai .bb p:last-child{margin:0}.aichat .ai .bb ul{margin:4px 0;padding-left:18px}
.aichat .ai .spk{border:0;background:none;font-size:15px;opacity:.55;padding:2px;cursor:pointer}.aichat .ai .spk:hover{opacity:1}
.aichat .dots span{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--muted);margin:0 2px;animation:aidot 1s infinite}.aichat .dots span:nth-child(2){animation-delay:.15s}.aichat .dots span:nth-child(3){animation-delay:.3s}
@keyframes aidot{0%,100%{opacity:.25;translate:0 0}50%{opacity:1;translate:0 -3px}}
.aiform{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--line);background:#fffdf8}
.aiform .inp{border-radius:999px;min-height:46px;padding:0 16px}
.aiform .rb{width:46px;height:46px;border-radius:50%;border:0;flex:0 0 auto;display:grid;place-items:center;font-size:18px;background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.aiform .rb.send{background:linear-gradient(180deg,#e2213a,var(--red));color:#fff;box-shadow:0 6px 14px rgba(208,20,44,.3)}
.aiform .rb.rec{background:var(--red);color:#fff;animation:hopping 1.2s infinite}
.aiq{display:flex;flex-wrap:wrap;gap:6px}.aiq .chip{font-size:var(--fs-sm);min-height:34px;padding:6px 12px}
@media (max-width:600px){.aipanel{max-height:calc(100vh - 80px)}}
/* ---------- AI match plan: visual cards ---------- */
.mp{display:flex;flex-direction:column;gap:14px}
.mp-hero{display:flex;gap:14px;align-items:center;background:linear-gradient(120deg,var(--navy) 0,var(--navy2) 60%,#3b2a5a 100%);color:#fff;border-radius:22px;padding:16px 18px;position:relative;overflow:hidden;box-shadow:var(--sh2)}
.mp-hero::before{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(242,204,107,.35),transparent 70%)}
.mp-hero img{width:84px;height:84px;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 6px 10px rgba(0,0,0,.3))}
.mp-hero h4{margin:0;font-size:var(--fs-lg);font-weight:600}.mp-hero p{margin:4px 0 0;color:#d5dcf0;font-size:var(--fs-sm)}
.mp-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.mp-stat{background:#fff;border-radius:18px;padding:12px 14px;box-shadow:var(--sh1);border:1px solid rgba(235,226,207,.8)}
.mp-stat .k{font-size:var(--fs-xs);color:var(--muted);font-weight:500}.mp-stat .v{font-family:var(--fh);font-size:var(--fs-2xl);font-weight:600;color:var(--navy);line-height:1.1;margin:4px 0 2px;letter-spacing:-.5px}
.mp-stat .v.up{color:var(--ok)}.mp-stat .s{font-size:var(--fs-xs);color:var(--muted)}
.mp-days{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.mp-day{background:#fff;border-radius:20px;box-shadow:var(--sh1);border:1px solid rgba(235,226,207,.8);overflow:hidden;display:flex;flex-direction:column}
.mp-day .dh{display:flex;align-items:center;gap:10px;padding:12px 14px;background:linear-gradient(180deg,#fbf3e1,#fff)}
.mp-day .dd{width:52px;height:56px;border-radius:14px;background:var(--navy);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;flex:0 0 auto;box-shadow:var(--sh1)}
.mp-day .dd b{font-family:var(--fh);font-size:22px;font-weight:600}.mp-day .dd small{font-size:11px;color:var(--gold2);margin-top:3px}
.mp-day.big .dd{background:linear-gradient(180deg,#e2213a,var(--red2))}
.mp-day .dt{font-family:var(--fh);font-weight:600;font-size:var(--fs-md);color:var(--navy)}
.fxchips{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 10px}
.fxchip{display:inline-flex;align-items:center;gap:6px;background:#f5efe2;border-radius:999px;padding:4px 10px 4px 4px;font-size:var(--fs-xs);font-weight:500;color:var(--ink)}
.fxchip .tm{background:var(--navy);color:#fff;border-radius:999px;padding:2px 8px;font-family:var(--fh);font-weight:600}.fxchip.hot{background:#ffe7ea}.fxchip.hot .tm{background:var(--red)}
.mp-nums{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.mp-nums>div{background:#fff;padding:10px 14px}.mp-nums .k{font-size:var(--fs-xs);color:var(--muted)}.mp-nums .v{font-family:var(--fh);font-size:var(--fs-xl);font-weight:600;color:var(--navy);line-height:1.15}.mp-nums .s{font-size:var(--fs-xs);color:var(--ok);font-weight:600}
.mp-day details{border-top:1px solid #f3ecdd}.mp-day details:first-of-type{border-top:0}
.mp-day summary,.mp-ai summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:11px 14px;font-weight:600;color:var(--navy)}
.mp-day summary::-webkit-details-marker,.mp-ai summary::-webkit-details-marker{display:none}
.mp-day summary::after,.mp-ai summary::after{content:"›";margin-left:auto;font-size:22px;line-height:1;color:var(--muted);transition:rotate .2s}
details[open]>summary::after{rotate:90deg}
.mp .ico{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;font-size:16px;flex:0 0 auto;background:#f5efe2}
.mp .ico.staff{background:#e6efff}.mp .ico.prep{background:#e7f7ec}.mp .ico.promo{background:#fff1d1}.mp .ico.warn{background:#ffe7ea}.mp .ico.ai{background:#efe7ff}
.mp-day .dbody{padding:0 14px 12px 54px;font-size:var(--fs-sm);color:var(--ink)}
.prep{display:flex;flex-direction:column;gap:6px}.prep .pr{display:flex;align-items:center;gap:8px}.prep .pr .nm{flex:1}.prep .pr .q{font-family:var(--fh);font-weight:600;color:var(--navy)}
.mp-ai{background:#fff;border-radius:20px;box-shadow:var(--sh1);border:1px solid rgba(235,226,207,.8);overflow:hidden}
.mp-ai .aih{display:flex;align-items:center;gap:10px;padding:12px 14px;background:linear-gradient(110deg,#f3ecff,#fff)}
.mp-ai .aih img{width:40px;height:40px;object-fit:contain}.mp-ai .aih b{font-family:var(--fh);font-weight:600;color:var(--navy)}
.mp-ai details{border-top:1px solid #f3ecdd}.mp-ai .sec{padding:0 16px 12px 54px;font-size:var(--fs-sm);line-height:1.65;text-transform:none;font-weight:400;color:var(--ink);display:block}
.md p{margin:0 0 8px}.md ul,.md ol{margin:4px 0 8px;padding-left:20px}.md li{margin:3px 0}.md li::marker{color:var(--gold)}.md strong{color:var(--navy);font-weight:600}.md h5{margin:8px 0 4px;font-size:var(--fs-sm);color:var(--navy);font-family:var(--fh);font-weight:600}
.mp-promos{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.mp-promo{background:#fff;border-radius:18px;padding:12px 14px;box-shadow:var(--sh1);border:1px solid rgba(235,226,207,.8);display:flex;gap:10px;align-items:flex-start}
.mp-promo.bad{background:#fff3f4;border-color:#f6c9cf}.mp-promo b{display:block;color:var(--navy);font-weight:600}.mp-promo .muted{font-size:var(--fs-xs)}
.mp-title{display:flex;align-items:center;gap:8px;font-family:var(--fh);font-weight:600;font-size:var(--fs-md);color:var(--navy);margin:4px 0 -4px}
@media (max-width:600px){.mp-stats{grid-template-columns:1fr 1fr 1fr;gap:6px}.mp-stat{padding:10px}.mp-stat .v{font-size:22px}.mp-hero img{width:64px;height:64px}.mp-days{grid-template-columns:1fr}.modal{padding:16px;border-radius:22px}.mp-day .dbody,.mp-ai .sec{padding-left:14px}}
/* ---------- waiter ready alerts ---------- */
.rdyalert{position:fixed;inset:auto 10px 10px 10px;z-index:70;display:flex;flex-direction:column;gap:10px;max-width:520px;margin:0 auto}
.rdycard{background:linear-gradient(135deg,#0f4a2c,#13203d 70%);color:#fff;border-radius:24px;padding:14px;box-shadow:var(--sh3),0 0 0 3px rgba(31,184,102,.5);display:flex;gap:12px;align-items:center;animation:rdyin .35s cubic-bezier(.2,1.4,.4,1)}
.rdycard img{width:76px;height:76px;object-fit:contain;flex:0 0 auto;animation:hopfloat 1.6s ease-in-out infinite}
.rdycard .tb{font-family:var(--fh);font-size:var(--fs-2xl);font-weight:700;color:var(--gold2);line-height:1}
.rdycard .ttl{font-weight:600;font-size:var(--fs-sm);color:#bdf3d3}.rdycard .its{font-size:var(--fs-md);font-weight:600;margin:4px 0 8px;line-height:1.35}
.rdycard .btn{min-height:46px}.rdycard .x{background:rgba(255,255,255,.12);color:#fff;box-shadow:none}
.rdycard.nag{animation:rdyin .35s,rdyshake .5s .35s 2}
@keyframes rdyin{from{opacity:0;translate:0 30px;scale:.95}}
@keyframes rdyshake{25%{rotate:-1.5deg}75%{rotate:1.5deg}}
@media (max-width:600px){.top{gap:8px;padding:6px 10px}.top .who{display:none}.top .brand{font-size:15px;max-width:42vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top .btn.sm{padding:0 10px;min-height:34px}.pill{padding:4px 8px}}
.modal-wrap{z-index:80}#toasts{z-index:95}.rdyalert{z-index:90}
