*{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#0d0d0f;--bg2:#141416;--bg3:#1a1a1d;--bg4:#222226;--bg5:#2a2a2f;
  --bdr:rgba(255,255,255,.07);--bdr2:rgba(255,255,255,.13);--bdr3:rgba(255,255,255,.2);
  --t1:#f0ede8;--t2:rgba(240,237,232,.55);--t3:rgba(240,237,232,.3);
  --amber:#EF9F27;--amber2:rgba(239,159,39,.15);--amber3:rgba(239,159,39,.25);
  --teal:#1D9E75;--teal2:rgba(29,158,117,.15);--teal3:rgba(29,158,117,.25);
  --coral:#D85A30;--coral2:rgba(216,90,48,.15);--coral3:rgba(216,90,48,.25);
  --blue:#378ADD;--blue2:rgba(55,138,221,.15);--blue3:rgba(55,138,221,.25);
  --green:#25D366;--green2:rgba(37,211,102,.15);
  --purple:#7c3aed;--purple2:rgba(124,58,237,.15);
  --r:12px;--rm:8px;
  --ff:'Syne',sans-serif;--mono:'DM Mono',monospace;
}
html,body{min-height:100vh;background:var(--bg);color:var(--t1);font-family:var(--ff)}
button{font-family:var(--ff);cursor:pointer}
input,textarea,select{font-family:var(--ff)}

/* ── Layout ── */
.app{display:flex;min-height:100vh}
.sidebar{width:228px;background:var(--bg2);border-right:.5px solid var(--bdr);display:flex;flex-direction:column;position:fixed;height:100vh;z-index:100;overflow-y:auto}
.main{margin-left:228px;flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{background:var(--bg2);border-bottom:.5px solid var(--bdr);padding:13px 28px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50}
.content{padding:24px 28px;flex:1}

/* ── Sidebar ── */
.sb-logo{padding:18px 16px;border-bottom:.5px solid var(--bdr)}
.sb-icon{width:34px;height:34px;background:var(--amber);border-radius:9px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}
.sb-icon svg{width:18px;height:18px}
.sb-name{font-size:14px;font-weight:700}
.sb-ver{font-family:var(--mono);font-size:9px;color:var(--t3);letter-spacing:.08em;margin-top:2px}
.sb-nav{padding:10px 8px;flex:1}
.sb-sec{font-family:var(--mono);font-size:9px;color:var(--t3);text-transform:uppercase;letter-spacing:.1em;padding:10px 10px 4px}
.ni{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:var(--rm);cursor:pointer;font-size:12px;font-weight:500;color:var(--t2);border:.5px solid transparent;transition:all .15s;margin-bottom:1px;background:none;width:100%;text-align:left}
.ni svg{width:15px;height:15px;flex-shrink:0;opacity:.55}
.ni:hover{background:var(--bg4);color:var(--t1)}
.ni.on{background:var(--amber2);border-color:var(--amber3);color:var(--amber)}
.ni.on svg{opacity:1}
.ni .badge-dot{width:6px;height:6px;border-radius:50%;margin-left:auto;flex-shrink:0}
.sb-foot{padding:12px 14px;border-top:.5px solid var(--bdr)}
.sb-user{display:flex;align-items:center;gap:9px}
.sb-av{width:28px;height:28px;border-radius:50%;background:var(--amber);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#1a1000;flex-shrink:0}
.sb-uname{font-size:12px;font-weight:600}
.sb-urole{font-family:var(--mono);font-size:9px;color:var(--t3)}

/* ── Topbar ── */
.tb-title{font-size:15px;font-weight:700}
.tb-r{display:flex;align-items:center;gap:10px}
.clock{font-family:var(--mono);font-size:11px;color:var(--t3);background:var(--bg3);border:.5px solid var(--bdr);padding:5px 10px;border-radius:var(--rm)}
.icon-btn{width:32px;height:32px;border-radius:var(--rm);background:var(--bg3);border:.5px solid var(--bdr);display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;transition:all .15s}
.icon-btn:hover{border-color:var(--bdr2);background:var(--bg4)}
.icon-btn svg{width:15px;height:15px;color:var(--t2)}
.notif-badge{position:absolute;top:4px;right:4px;width:7px;height:7px;border-radius:50%;background:var(--coral);border:2px solid var(--bg2)}
.btn{font-family:var(--ff);font-size:12px;font-weight:600;padding:7px 14px;border-radius:var(--rm);border:.5px solid var(--bdr2);background:var(--bg4);color:var(--t1);cursor:pointer;transition:all .15s}
.btn:hover{background:var(--bg5);border-color:var(--bdr3)}
.btn.pri{background:var(--amber);border-color:transparent;color:#1a1000}
.btn.pri:hover{background:#f5a830}
.btn.sm{font-size:11px;padding:5px 10px}
.btn.danger{background:var(--coral2);border-color:var(--coral3);color:var(--coral)}
.btn.success{background:var(--teal2);border-color:var(--teal3);color:var(--teal)}

/* ── Pages ── */
.page{display:none}
.page.on{display:block;animation:fadeIn .18s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.pulse{animation:pulse 2s ease-in-out infinite}
@keyframes slideIn{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:none}}

/* ── Common ── */
.sec-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;gap:12px}
.sec-title{font-size:17px;font-weight:700}
.sec-sub{font-family:var(--mono);font-size:10px;color:var(--t3);margin-top:3px}
.row{display:flex;align-items:center;gap:8px}
.tag{font-family:var(--mono);font-size:9px;padding:3px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.05em;display:inline-block}
.tag.live{background:var(--teal2);color:var(--teal);border:.5px solid var(--teal3)}
.tag.warn{background:var(--coral2);color:var(--coral);border:.5px solid var(--coral3)}
.tag.ok{background:var(--teal2);color:var(--teal);border:.5px solid var(--teal3)}
.tag.crit{background:var(--coral2);color:var(--coral);border:.5px solid var(--coral3)}
.tag.low{background:var(--amber2);color:var(--amber);border:.5px solid var(--amber3)}
.tag.info{background:var(--blue2);color:var(--blue);border:.5px solid var(--blue3)}
.tag.new{background:var(--purple2);color:var(--purple);border:.5px solid rgba(124,58,237,.25)}
.tag.gold{background:rgba(239,159,39,.2);color:#f5c842;border:.5px solid rgba(245,200,66,.3)}
.tag.silver{background:rgba(180,180,180,.1);color:#b4b4b4;border:.5px solid rgba(180,180,180,.2)}
.tag.bronze{background:rgba(180,100,50,.15);color:#c87050;border:.5px solid rgba(200,112,80,.25)}
.divider{height:.5px;background:var(--bdr);margin:16px 0}

/* ── Metric cards ── */
.mrow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:20px}
.mrow.cols3{grid-template-columns:repeat(3,minmax(0,1fr))}
.mrow.cols2{grid-template-columns:repeat(2,minmax(0,1fr))}
.mc{background:var(--bg2);border:.5px solid var(--bdr);border-radius:var(--r);padding:14px 16px;position:relative;overflow:hidden;transition:border-color .2s}
.mc:hover{border-color:var(--bdr2)}
.mc::after{content:'';position:absolute;top:0;left:0;width:100%;height:2px}
.mc.a::after{background:linear-gradient(90deg,var(--amber),transparent)}
.mc.t::after{background:linear-gradient(90deg,var(--teal),transparent)}
.mc.c::after{background:linear-gradient(90deg,var(--coral),transparent)}
.mc.b::after{background:linear-gradient(90deg,var(--blue),transparent)}
.mc.g::after{background:linear-gradient(90deg,var(--green),transparent)}
.mc.p::after{background:linear-gradient(90deg,var(--purple),transparent)}
.mc-lbl{font-family:var(--mono);font-size:9px;color:var(--t3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}
.mc-val{font-size:22px;font-weight:700;line-height:1}
.mc-d{font-family:var(--mono);font-size:10px;margin-top:5px}
.mc-d.up{color:var(--teal)} .mc-d.dn{color:var(--coral)} .mc-d.nu{color:var(--t3)}

/* ── Cards ── */
.card{background:var(--bg2);border:.5px solid var(--bdr);border-radius:var(--r);padding:18px;transition:border-color .2s}
.card:hover{border-color:var(--bdr2)}
.ch{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.ct{font-family:var(--mono);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.07em;color:var(--t3)}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
.g2w{display:grid;grid-template-columns:1.8fr 1fr;gap:14px}
.g2ws{display:grid;grid-template-columns:1fr 1.5fr;gap:14px}
.mb14{margin-bottom:14px} .mb20{margin-bottom:20px}
.chart-wrap{position:relative;width:100%}

/* ── Mesas ── */
.mgrid{display:grid;grid-template-columns:repeat(8,1fr);gap:7px}
.mesa{border-radius:var(--rm);padding:10px 6px;text-align:center;cursor:pointer;border:.5px solid var(--bdr);transition:all .2s;background:var(--bg3)}
.mesa:hover{transform:translateY(-1px);border-color:var(--bdr2)}
.mesa.livre{border-color:var(--teal3);background:var(--teal2)}
.mesa.ocupada{border-color:var(--amber3);background:var(--amber2)}
.mesa.reservada{border-color:var(--blue3);background:var(--blue2)}
.mesa.aguarda{border-color:var(--coral3);background:var(--coral2)}
.mesa-n{font-size:14px;font-weight:700}
.mesa-s{font-family:var(--mono);font-size:8px;text-transform:uppercase;letter-spacing:.06em;margin-top:3px}
.mesa.livre .mesa-s{color:var(--teal)} .mesa.ocupada .mesa-s{color:var(--amber)}
.mesa.reservada .mesa-s{color:var(--blue)} .mesa.aguarda .mesa-s{color:var(--coral)}
.mesa-i{font-family:var(--mono);font-size:8px;color:var(--t3);margin-top:2px}
.mesa-sel{box-shadow:0 0 0 2px var(--amber);transform:translateY(-1px)}

/* ── Clientes table ── */
.tbl{width:100%;border-collapse:collapse}
.tbl th{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--t3);padding:9px 10px;text-align:left;border-bottom:.5px solid var(--bdr)}
.tbl td{padding:10px 10px;border-bottom:.5px solid var(--bdr);font-size:12px;color:var(--t2)}
.tbl tr:last-child td{border-bottom:none}
.tbl tr:hover td{background:var(--bg3);color:var(--t1)}
.tbl-wrap{overflow-x:auto}
.cl-name{color:var(--t1);font-weight:600;font-size:13px}
.stars{color:var(--amber);font-size:10px}
.act-btn{background:none;border:.5px solid var(--bdr);border-radius:5px;padding:3px 9px;font-family:var(--mono);font-size:9px;color:var(--t3);cursor:pointer;transition:all .15s}
.act-btn:hover{border-color:var(--bdr2);color:var(--t2)}
.si{flex:1;background:var(--bg3);border:.5px solid var(--bdr);border-radius:var(--rm);padding:8px 12px;font-size:12px;color:var(--t1);outline:none;transition:border-color .15s}
.si:focus{border-color:var(--bdr2)}
.si::placeholder{color:var(--t3)}
.fb{background:var(--bg3);border:.5px solid var(--bdr);border-radius:var(--rm);padding:7px 12px;font-family:var(--mono);font-size:10px;color:var(--t2);cursor:pointer;transition:all .15s;white-space:nowrap}
.fb:hover,.fb.on{background:var(--amber2);border-color:var(--amber3);color:var(--amber)}

/* ── Reservas ── */
.ri{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--rm);border:.5px solid var(--bdr);background:var(--bg3);transition:all .15s;margin-bottom:7px}
.ri:hover{border-color:var(--bdr2)}
.ri-t{font-family:var(--mono);font-size:12px;font-weight:500;color:var(--amber);min-width:48px}
.ri-av{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}
.ri-name{font-size:13px;font-weight:600}
.ri-det{font-family:var(--mono);font-size:9px;color:var(--t3);margin-top:2px}
.ri-mesa{font-family:var(--mono);font-size:10px;color:var(--t2);background:var(--bg4);border:.5px solid var(--bdr);padding:3px 9px;border-radius:4px;white-space:nowrap}

/* ── Delivery / iFood ── */
.order-card{background:var(--bg3);border:.5px solid var(--bdr);border-radius:var(--r);padding:14px;margin-bottom:10px;transition:all .2s;animation:slideIn .3s ease}
.order-card.new-order{border-color:var(--amber3)}
.order-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.order-id{font-family:var(--mono);font-size:11px;color:var(--t3)}
.order-items{font-size:12px;color:var(--t2);margin-bottom:10px;line-height:1.6}
.order-foot{display:flex;align-items:center;justify-content:space-between}
.order-val{font-size:14px;font-weight:700;color:var(--t1)}
.order-actions{display:flex;gap:6px}
.dlv-h{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.dlv-logo{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0;font-family:var(--mono)}
.dlv-rows{display:flex;flex-direction:column;gap:7px}
.dlv-r{display:flex;justify-content:space-between;align-items:center}
.dlv-rl{font-family:var(--mono);font-size:10px;color:var(--t3)}
.dlv-rv{font-size:12px;font-weight:600}
.prog{width:100%;height:3px;background:var(--bg4);border-radius:2px;margin-top:10px;overflow:hidden}
.pf{height:100%;border-radius:2px}

/* ── WhatsApp ── */
.wa-container{display:grid;grid-template-columns:280px 1fr;gap:0;background:var(--bg2);border:.5px solid var(--bdr);border-radius:var(--r);overflow:hidden;height:560px}
.wa-sidebar{border-right:.5px solid var(--bdr);display:flex;flex-direction:column}
.wa-search{padding:10px 12px;border-bottom:.5px solid var(--bdr)}
.wa-si{width:100%;background:var(--bg3);border:.5px solid var(--bdr);border-radius:20px;padding:7px 12px;font-size:12px;color:var(--t1);outline:none}
.wa-si::placeholder{color:var(--t3)}
.wa-contacts{flex:1;overflow-y:auto}
.wa-contact{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;border-bottom:.5px solid var(--bdr);transition:background .15s}
.wa-contact:hover,.wa-contact.on{background:var(--bg3)}
.wa-av{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}
.wa-cname{font-size:13px;font-weight:600;color:var(--t1)}
.wa-clast{font-size:11px;color:var(--t3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}
.wa-ctime{font-family:var(--mono);font-size:9px;color:var(--t3);white-space:nowrap}
.wa-unread{background:var(--teal);color:#fff;border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;font-family:var(--mono);flex-shrink:0}
.wa-chat{display:flex;flex-direction:column}
.wa-chat-head{padding:12px 16px;border-bottom:.5px solid var(--bdr);display:flex;align-items:center;gap:10px}
.wa-status{font-family:var(--mono);font-size:9px;color:var(--teal)}
.wa-messages{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:8px;background:var(--bg)}
.msg{max-width:75%;padding:9px 12px;border-radius:10px;font-size:12px;line-height:1.5}
.msg.in{background:var(--bg3);color:var(--t1);align-self:flex-start;border-bottom-left-radius:3px}
.msg.out{background:rgba(55,138,221,.2);color:var(--t1);align-self:flex-end;border-bottom-right-radius:3px}
.msg-time{font-family:var(--mono);font-size:9px;color:var(--t3);margin-top:4px}
.wa-input{padding:10px 14px;border-top:.5px solid var(--bdr);display:flex;gap:8px;align-items:center}
.wa-ti{flex:1;background:var(--bg3);border:.5px solid var(--bdr);border-radius:20px;padding:8px 14px;font-size:12px;color:var(--t1);outline:none;resize:none}
.wa-ti::placeholder{color:var(--t3)}
.wa-send{width:34px;height:34px;border-radius:50%;background:var(--teal);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}
.wa-send svg{width:15px;height:15px;color:#fff}
.msg-badge{font-family:var(--mono);font-size:9px;padding:2px 7px;border-radius:3px;margin-bottom:2px;display:inline-block}
.msg-badge.pedido{background:var(--amber2);color:var(--amber)}
.msg-badge.auto{background:var(--blue2);color:var(--blue)}

/* ── Fidelidade ── */
.loyalty-card{background:linear-gradient(135deg,#1a1200 0%,#2a1f00 50%,#1a1200 100%);border:1px solid rgba(239,159,39,.3);border-radius:16px;padding:22px 24px;position:relative;overflow:hidden;margin-bottom:20px}
.lc-bg{position:absolute;top:-30px;right:-30px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(239,159,39,.1),transparent 70%)}
.lc-logo{font-size:12px;font-weight:700;color:var(--amber);font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;margin-bottom:16px}
.lc-name{font-size:18px;font-weight:700;color:var(--t1);margin-bottom:4px}
.lc-tier{display:flex;align-items:center;gap:8px;margin-bottom:18px}
.lc-pts{display:flex;align-items:baseline;gap:6px}
.lc-pts-n{font-size:36px;font-weight:700;color:var(--amber);line-height:1}
.lc-pts-l{font-family:var(--mono);font-size:11px;color:var(--t3)}
.lc-progress{margin-top:14px}
.lc-pb{width:100%;height:4px;background:rgba(255,255,255,.1);border-radius:2px;overflow:hidden}
.lc-pf{height:100%;background:linear-gradient(90deg,var(--amber),#f5c842);border-radius:2px;transition:width .6s ease}
.lc-pl{display:flex;justify-content:space-between;font-family:var(--mono);font-size:9px;color:var(--t3);margin-top:5px}
.benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}
.benefit{background:var(--bg2);border:.5px solid var(--bdr);border-radius:var(--r);padding:14px;text-align:center;transition:all .2s;cursor:pointer}
.benefit:hover{border-color:var(--amber3)}
.benefit.used{opacity:.4}
.ben-pts{font-family:var(--mono);font-size:11px;color:var(--amber);margin-bottom:6px}
.ben-name{font-size:12px;font-weight:600;margin-bottom:4px}
.ben-desc{font-family:var(--mono);font-size:10px;color:var(--t3)}
.customers-loyalty{display:flex;flex-direction:column;gap:7px}
.cl-row{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--bg3);border-radius:var(--rm);border:.5px solid var(--bdr);cursor:pointer;transition:all .15s}
.cl-row:hover{border-color:var(--bdr2)}
.cl-rank{font-family:var(--mono);font-size:11px;color:var(--t3);min-width:22px;text-align:center}
.cl-info{flex:1}
.cl-nm{font-size:13px;font-weight:600}
.cl-meta{font-family:var(--mono);font-size:9px;color:var(--t3);margin-top:2px}
.cl-pts-badge{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--amber)}

/* ── Vouchers ── */
.voucher-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}
.form-group{display:flex;flex-direction:column;gap:5px}
.form-label{font-family:var(--mono);font-size:9px;color:var(--t3);text-transform:uppercase;letter-spacing:.08em}
.form-input{background:var(--bg3);border:.5px solid var(--bdr);border-radius:var(--rm);padding:9px 12px;font-size:12px;color:var(--t1);outline:none;transition:border-color .15s}
.form-input:focus{border-color:var(--bdr2)}
.form-select{background:var(--bg3);border:.5px solid var(--bdr);border-radius:var(--rm);padding:9px 12px;font-size:12px;color:var(--t1);outline:none;cursor:pointer;appearance:none}
.vouchers-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.voucher{background:var(--bg2);border:.5px solid var(--bdr);border-radius:var(--r);overflow:hidden;transition:border-color .2s}
.voucher:hover{border-color:var(--bdr2)}
.voucher.used{opacity:.45}
.voucher-left{padding:16px;border-right:.5px dashed var(--bdr)}
.voucher-code{font-family:var(--mono);font-size:16px;font-weight:700;color:var(--amber);letter-spacing:.1em;margin-bottom:6px}
.voucher-desc{font-size:12px;color:var(--t2);margin-bottom:8px}
.voucher-meta{font-family:var(--mono);font-size:9px;color:var(--t3)}
.voucher-right{padding:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg3);min-width:100px}
.qr-svg{width:70px;height:70px}
.voucher-uses{font-family:var(--mono);font-size:9px;color:var(--t3);margin-top:8px;text-align:center}
.voucher-layout{display:flex}

/* ── Estoque ── */
.stock-row{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--rm);border:.5px solid var(--bdr);background:var(--bg3);margin-bottom:7px;transition:border-color .2s}
.stock-row:hover{border-color:var(--bdr2)}
.stock-row.crit-row{border-color:var(--coral3);background:var(--coral2)}
.stock-row.low-row{border-color:var(--amber3);background:var(--amber2)}
.stock-name{flex:1;font-size:13px;font-weight:600}
.stock-unit{font-family:var(--mono);font-size:10px;color:var(--t3);min-width:60px}
.stock-bar-wrap{min-width:120px;flex:0 0 120px}
.stock-bar{height:4px;background:var(--bg4);border-radius:2px;overflow:hidden}
.stock-bar-fill{height:100%;border-radius:2px;transition:width .4s}
.stock-qty{font-family:var(--mono);font-size:11px;font-weight:600;min-width:70px;text-align:right}
.stock-qty.ok-c{color:var(--teal)} .stock-qty.low-c{color:var(--amber)} .stock-qty.crit-c{color:var(--coral)}
.stock-action{background:none;border:.5px solid var(--bdr);border-radius:5px;padding:3px 9px;font-family:var(--mono);font-size:9px;color:var(--t3);cursor:pointer;transition:all .15s}
.stock-action:hover{border-color:var(--bdr2);color:var(--t2)}
.alert-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--rm);margin-bottom:12px;animation:slideIn .3s ease}
.alert-banner.crit{background:var(--coral2);border:.5px solid var(--coral3)}
.alert-banner.low{background:var(--amber2);border:.5px solid var(--amber3)}
.ab-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ab-icon.crit{background:var(--coral3)}
.ab-icon.low{background:var(--amber3)}
.ab-text{flex:1;font-size:12px;color:var(--t1)}
.ab-btn{font-family:var(--mono);font-size:10px;padding:4px 10px;border-radius:4px;cursor:pointer;border:.5px solid;transition:all .15s;white-space:nowrap}
.ab-btn.crit{background:var(--coral2);border-color:var(--coral3);color:var(--coral)}
.ab-btn.low{background:var(--amber2);border-color:var(--amber3);color:var(--amber)}

/* ── Pratos ── */
.dish-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--rm);background:var(--bg3);border:.5px solid var(--bdr);margin-bottom:8px;transition:all .2s;cursor:pointer}
.dish-row:hover{border-color:var(--bdr2)}
.dish-rank{font-family:var(--mono);font-size:13px;font-weight:700;min-width:28px;text-align:center}
.dish-rank.r1{color:#f5c842} .dish-rank.r2{color:#b4b4b4} .dish-rank.r3{color:#c87050}
.dish-emoji{font-size:20px;width:36px;text-align:center}
.dish-info{flex:1}
.dish-name{font-size:13px;font-weight:600}
.dish-cat{font-family:var(--mono);font-size:9px;color:var(--t3);margin-top:2px}
.dish-bar-wrap{flex:0 0 140px}
.dish-bar{height:4px;background:var(--bg4);border-radius:2px;overflow:hidden;margin-bottom:4px}
.dish-bar-fill{height:100%;border-radius:2px;background:var(--amber)}
.dish-count{font-family:var(--mono);font-size:10px;color:var(--t3)}
.dish-val{font-size:13px;font-weight:700;min-width:80px;text-align:right}
.dish-margin{font-family:var(--mono);font-size:9px;text-align:right;margin-top:2px}
.dish-margin.high{color:var(--teal)} .dish-margin.mid{color:var(--amber)} .dish-margin.low-m{color:var(--coral)}

/* ── Scrollbar ── */
::-webkit-scrollbar{width:4px;height:4px}
::-webkit-scrollbar-track{background:var(--bg2)}
::-webkit-scrollbar-thumb{background:var(--bg5);border-radius:2px}

@media(max-width:960px){
  .sidebar{width:54px}
  .sb-name,.sb-ver,.ni span,.sb-sec,.sb-uname,.sb-urole{display:none}
  .main{margin-left:54px}
  .mrow{grid-template-columns:repeat(2,1fr)}
  .g2,.g2w,.g2ws,.g3{grid-template-columns:1fr}
  .mgrid{grid-template-columns:repeat(3,1fr)}
  .vouchers-list{grid-template-columns:1fr}
  .wa-container{grid-template-columns:1fr}
  .wa-sidebar{display:none}
  .voucher-form{grid-template-columns:1fr}
}
