/*
 * Cores da marca, num lugar só.
 *
 * PRIMARY = #ED0022 — cor oficial da marca, fixada em 23/09/2026.
 *
 * `--marca-escura` é um nome histórico: apesar dele, o token NÃO é hover. Ele
 * pinta o preenchimento do botão principal, as bordas, os destaques dos títulos,
 * os ícones dos indicadores e o total do pedido — ou seja, é a primária em uso.
 * Por isso aponta para `--marca`. Valia #ED0028, que não aparece como decisão
 * em documento nenhum; a diferença para #ED0022 é imperceptível (6/255 no
 * azul), e a troca não mexe em nenhum estado de hover.
 *
 * O HOVER do botão principal é #cc0022, escrito à parte em `.primary:hover`,
 * e continua exatamente como estava.
 */
:root {
  --marca: #ed0022;
  --marca-escura: var(--marca);
}

*{box-sizing:border-box}body{margin:0;font:14px/1.45 Arial,Helvetica,sans-serif;color:#15213a;background:#f8fafc}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}svg{width:23px;height:23px;flex-shrink:0}h1,h2,h3,p{margin:0}h1{font-size:29px;letter-spacing:-1px;line-height:1.18}h2{font-size:18px;letter-spacing:-.45px;color:#111827}h3{font-size:16px}button,a,input,select{outline-offset:4px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #e91c43}.muted{color:#72819d;font-size:14px;line-height:1.6}.brand{display:block;width:193px}.brand svg{width:100%;height:auto;aspect-ratio:165/48}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:11px 19px;border-radius:8px;font-weight:700;border:1px solid var(--marca-escura)}.primary{color:white;background:var(--marca-escura)}.primary:hover{background:#cc0022}.primary svg{width:19px;height:19px}.secondary{background:white;color:#dc0027}.alert,.success,.notice{padding:15px 17px;border-radius:9px;margin:19px 0;line-height:1.6}.alert{color:#9d1733;background:#fff0f3;border:1px solid #fbcbd6}.success{color:#16743b;background:#eafbef;border:1px solid #c7eed2}.notice{background:#fff5f7;color:#884657;border:1px solid #ffe2e9}.notice a{text-decoration:underline}form label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700;color:#465470}input,select{width:100%;min-width:0;background:white;border:1px solid #dde4ef;border-radius:7px;padding:12px;color:#28354b;min-height:44px}input[readonly]{background:#f6f8fc;color:#64738b}form small{color:#7b8494;font-size:12px;font-weight:400}.login-page{display:grid;grid-template-columns:61% 39%;background:white;min-height:100vh}.login-story{background:#fcedef;min-height:100vh;position:relative;overflow:hidden;isolation:isolate}.login-story .brand{position:absolute;left:6.8%;top:4.5%;width:150px;z-index:2}.login-art{position:absolute;right:0;top:0;width:59.15%;height:100%;z-index:-1}.story-copy{padding:21vh 0 0 6.8%;position:relative}.story-copy h1{color:#980019;font-size:clamp(38px,4.05vw,69px);font-weight:800;line-height:1.02;letter-spacing:-2.4px}.story-copy h1 em{font-style:normal;color:var(--marca-escura)}.story-copy ul{list-style:none;margin:48px 0 0;padding:0;display:grid;gap:30px}.story-copy li{display:flex;align-items:center;gap:22px}.story-copy li>span{width:60px;height:60px;border-radius:50%;background:#ffdee5;display:grid;place-items:center;color:#e31d41}.story-copy li svg{width:29px;height:29px}.story-copy strong{font-size:18px;color:#302a30}.story-copy p{color:#7d7780;font-size:14px;margin-top:5px}.login-access{position:relative;padding:120px 4.7vw 70px 2.1vw;display:flex;align-items:center;justify-content:center;min-height:100vh}.tagline{position:absolute;top:5.2%;right:4.1vw;color:#777f8c;font-size:15px}.tagline b{color:var(--marca-escura);margin-left:10px;font-size:22px}.login-card{width:100%;max-width:520px;border:1px solid #edf0f4;border-radius:12px;background:white;padding:40px 42px 28px;box-shadow:0 4px 22px #19254108}.login-badge{display:flex;gap:7px;align-items:center;justify-content:center;color:#cc173d;font-size:12px;font-weight:700;margin-bottom:18px}.login-badge svg{width:15px;height:15px}.login-card h2{font-size:32px;text-align:center;letter-spacing:-1.1px}.login-card h2 em{color:var(--marca-escura);font-style:italic;font-weight:900}.login-card>p.muted{text-align:center;margin-top:12px}.login-card form{display:grid;gap:18px;margin-top:28px}.login-card .primary{margin-top:5px;width:100%}.login-footer{display:flex;justify-content:center;align-items:center;gap:8px;color:#8a7b87;font-size:12px;margin-top:30px;padding-top:22px;border-top:1px solid #f0f0f3}.login-footer svg{width:16px;height:16px}.back-link{display:block;text-align:center;margin-top:20px;color:#cc173d;font-size:13px}.dashboard{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:235px;padding:24px 14px;background:white;border-right:1px solid #e7edf5;display:flex;flex-direction:column}.sidebar .brand{margin:0 auto 28px}.sidebar nav{display:grid;gap:9px}.sidebar nav a,.sidebar-bottom a,.sidebar-bottom button{display:flex;align-items:center;gap:17px;padding:13px 15px;border-radius:9px;color:#354567;background:none;border:0;font-size:14px;width:100%;text-align:left}.sidebar nav a.selected{background:#fff0f3;color:#e90026;font-weight:700}.sidebar nav a:hover,.sidebar-bottom a:hover,.sidebar-bottom button:hover{background:#fff4f6}.sidebar-bottom{margin-top:auto;border-top:1px solid #edf1f7;padding-top:14px}.sidebar-bottom form{margin-top:3px}.admin-main{margin-left:235px;padding:29px 24px 0;max-width:2100px}.topbar{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:25px}.eyebrow{font-size:10px;letter-spacing:1.8px;color:#df1640;font-weight:700;margin-bottom:8px}.topbar h1{margin-bottom:7px}.profile{display:flex;align-items:center;gap:12px}.avatar{width:43px;height:43px;border-radius:50%;background:#727e91;color:white;display:grid;place-items:center;font-size:20px}.profile strong{display:block;font-size:13px}.profile small{display:block;color:#75839a;font-size:11px;margin-top:3px;max-width:230px;overflow-wrap:anywhere}.kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:19px}.kpi{background:white;border:1px solid #e8edf5;border-radius:12px;padding:18px 13px;display:flex;align-items:flex-start;gap:12px;box-shadow:0 3px 15px #17284802}.kpi>span{width:43px;height:46px;display:grid;place-items:center;color:var(--marca-escura);background:#fff2f5;border-radius:9px;flex-shrink:0}.kpi p{font-size:11px;color:#556585;min-height:30px}.kpi strong{font-size:23px;letter-spacing:-.5px;color:#101827;display:block;white-space:nowrap}.kpi small{display:block;color:#8b98ae;font-size:9px;margin-top:8px}.panel{border:1px solid #e8edf5;background:white;border-radius:12px;padding:19px;min-width:0;box-shadow:0 3px 15px #17284802}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.panel-heading .muted{font-size:11px}.panel h2>span{color:#7a88a2;font-weight:400}.overview-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:16px}.empty{text-align:center;min-height:225px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;gap:10px;color:#8090a9}.empty svg{width:39px;height:39px;color:#f3a1b3}.empty h3{color:#53617b;font-size:15px}.empty p{max-width:340px;font-size:12px;line-height:1.7}.chart-empty{position:relative;isolation:isolate;min-height:255px}.chart-lines{position:absolute;inset:15px 5px;z-index:-1;background:repeating-linear-gradient(to bottom,transparent 0,transparent 48px,#edf1f6 49px,#edf1f6 50px);opacity:.6}.big-number{display:flex;flex-direction:column;justify-content:center;align-items:center;color:#e90026;font-size:54px;font-weight:800;padding:20px}.big-number small{font-size:11px;color:#8090a9;font-weight:400}.summary-row{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #edf1f7;padding:11px 0;font-size:12px;color:#596985}.summary-row strong{color:#1b2a45}.text-link{display:block;font-size:12px;font-weight:700;color:#e90026;margin-top:15px}.bottom-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:16px;margin-top:17px}.panel>h2{margin-bottom:13px}.panel>p.muted{font-size:12px;margin-bottom:18px}.detail-note{font-size:12px!important;margin-top:20px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{background:#f5f8fc;color:#354363;font-size:11px;font-weight:700;padding:12px 10px}td{padding:14px 10px;border-bottom:1px solid #eff2f7;color:#65738d}td strong{color:#24304a}tbody tr:last-child td{border:0}.restaurant-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(300px,1fr);gap:17px;align-items:start}.search{display:flex;gap:12px;margin-bottom:20px}.search input{flex:1}.restaurant-form,.account form{display:grid;gap:17px}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.status{display:inline-block;border-radius:99px;padding:5px 9px;font-size:10px;white-space:nowrap;background:#fff6df;color:#af7900}.status.active{background:#e8faed;color:#07994e}.status.suspended{background:#fff0f2;color:#d12848}.status.paused{background:#fff6df;color:#af7900}.status-form{display:flex;align-items:center;gap:7px}.status-form select{font-size:10px;padding:7px;min-width:113px;min-height:32px}.small-button{background:white;border:1px solid #e3e8ef;padding:7px 9px;border-radius:6px;color:#d9193a;font-size:10px}.account{max-width:650px;padding:30px}.account .notice{font-size:13px;margin-bottom:30px}.admin-footer{text-align:center;color:#9ba5b7;font-size:11px;padding:24px}
@media(min-width:1500px){.admin-main{padding:29px 26px}.kpi{padding:20px 16px}.kpi p{font-size:12px}.kpi strong{font-size:24px}.overview-grid .panel{min-height:290px}}
@media(max-width:1300px){.sidebar{width:205px}.sidebar .brand{width:170px}.admin-main{margin-left:205px;padding:25px 18px}.kpis{grid-template-columns:repeat(3,1fr)}.kpi p{min-height:auto}.kpi strong{margin-top:7px}.restaurant-layout{grid-template-columns:1fr}.overview-grid{grid-template-columns:1.5fr 1fr}.overview-grid>.panel:last-child{grid-column:1/-1}.overview-grid>.panel:last-child .empty{min-height:130px}.login-card{padding:32px 27px 25px}.login-card h2{font-size:27px}.story-copy strong{font-size:15px}.story-copy p{font-size:12px}.story-copy li>span{width:48px;height:48px}.story-copy li{gap:16px}}
@media(max-width:800px){.login-page{grid-template-columns:1fr}.login-story{min-height:390px}.login-story .brand{top:25px;left:6%;width:130px}.story-copy{padding:110px 0 25px 6%}.story-copy h1{font-size:37px;letter-spacing:-1.4px}.story-copy ul{gap:15px;margin-top:24px}.story-copy li>span{width:32px;height:32px}.story-copy li svg{width:19px;height:19px}.story-copy strong{font-size:12px}.story-copy p{font-size:10px;max-width:145px}.login-art{width:55%;right:-5%}.login-access{min-height:0;padding:65px 20px 35px}.tagline{top:22px;right:24px;font-size:12px}.login-card{max-width:480px}.sidebar{position:static;width:100%;padding:17px;border-right:0;border-bottom:1px solid #e5ebf3}.sidebar .brand{width:130px;margin:0 0 18px}.sidebar nav{grid-template-columns:repeat(4,1fr);gap:6px}.sidebar nav a{padding:9px 4px;font-size:10px;gap:6px;flex-direction:column}.sidebar nav svg{width:20px;height:20px}.sidebar-bottom{display:flex;align-items:center;padding-top:8px;margin-top:9px;justify-content:space-between}.sidebar-bottom a,.sidebar-bottom button{font-size:11px;padding:8px;width:auto;gap:8px}.sidebar-bottom svg{width:17px;height:17px}.admin-main{margin-left:0;padding:23px 15px}.topbar{align-items:flex-start}.topbar h1{font-size:23px}.topbar .muted{font-size:12px}.profile>div{display:none}.avatar{width:34px;height:34px;font-size:15px}.eyebrow{font-size:8px}.kpis{grid-template-columns:repeat(2,1fr);gap:9px}.kpi{padding:13px 10px;gap:9px}.kpi>span{width:30px;height:34px}.kpi svg{width:21px;height:21px}.kpi p{font-size:10px}.kpi strong{font-size:20px}.kpi small{font-size:8px}.overview-grid,.bottom-grid{grid-template-columns:1fr}.overview-grid>.panel:last-child{grid-column:auto}.restaurant-layout{grid-template-columns:1fr}.panel{padding:16px}.panel h2{font-size:17px}.account{padding:22px}.form-columns{grid-template-columns:1fr}.profile{margin-top:18px}}
.login-story .brand{mix-blend-mode:multiply}
.brand svg{aspect-ratio:1900/530}

/* Barras e fatias no painel da plataforma, quando há dados reais. */
.bar-chart{display:flex;align-items:flex-end;gap:8px;height:170px;flex:1;padding:0 4px}
.bar-col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;flex:1;height:100%}
.bar-col .bar{display:block;width:100%;max-width:40px;background:var(--marca);border-radius:6px 6px 0 0;min-height:4px}
.bar-col small{font-size:11px;color:#626678;white-space:nowrap}
.slice-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.slice-list li{display:grid;grid-template-columns:1fr auto;gap:0 10px;align-items:baseline}
.slice-list li small{grid-column:1/-1;color:#626678;font-size:12px}

/* Altura da barra por classe, nao por style inline: a CSP do portal nao tem
   'unsafe-inline' em style-src, e isso vale tambem para o atributo style=.
   Com style="height:X%" as barras saiam sem altura em producao. */
.bar.h-5{height:5%}.bar.h-10{height:10%}.bar.h-15{height:15%}.bar.h-20{height:20%}.bar.h-25{height:25%}.bar.h-30{height:30%}.bar.h-35{height:35%}.bar.h-40{height:40%}.bar.h-45{height:45%}.bar.h-50{height:50%}.bar.h-55{height:55%}.bar.h-60{height:60%}.bar.h-65{height:65%}.bar.h-70{height:70%}.bar.h-75{height:75%}.bar.h-80{height:80%}.bar.h-85{height:85%}.bar.h-90{height:90%}.bar.h-95{height:95%}.bar.h-100{height:100%}
/* Fila de operacao do restaurante. */
.order-queue{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.order-card{border:1px solid #e8edf5;border-radius:11px;padding:15px;background:#fff}
.order-card.status-recebido{border-color:#f7c2cf;background:#fffafb}
.order-card-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.order-card-head strong{font-size:15px;color:#16223c}
.order-card-head .muted{font-size:11px}
.order-total{margin-left:auto;font-size:16px!important;color:var(--marca-escura)!important}
.order-card-body p{font-size:12px;color:#5b6a86;margin-bottom:4px}
.order-items{list-style:none;margin:8px 0;padding:0 0 0 2px;font-size:12px;color:#3c4a66;display:grid;gap:3px}
.order-note{background:#fff6df;border-radius:6px;padding:8px 10px;font-size:12px;color:#8a6200!important}
.order-card-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid #eff2f7}
.order-action{display:flex;align-items:center;gap:6px}
.order-action input[type=number]{width:74px;min-height:34px;padding:6px 8px;font-size:12px}
.order-action input[name=motivo]{width:210px;min-height:34px;padding:6px 8px;font-size:12px}
.order-action .small-button{min-height:34px}
.order-action .primary.small-button{background:var(--marca-escura);color:#fff;border-color:var(--marca-escura)}
/* Segredos e convites mostrados uma unica vez. */
.token-box{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;background:#f5f8fc;border:1px dashed #cfd9e8;border-radius:8px;padding:12px;overflow-wrap:anywhere;margin:12px 0;color:#24304a}
.codigos{list-style:none;margin:12px 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}
.codigos li{background:#f5f8fc;border-radius:6px;padding:8px 10px;text-align:center;color:#24304a}
.inline-form{display:inline-block;margin:10px 10px 0 0}
.link-button{background:none;border:0;color:#d9193a;font-size:12px;text-decoration:underline;padding:8px 0}
.bank-form{margin-top:18px}
.bank-form summary{cursor:pointer;font-weight:700;font-size:13px;color:#d9193a;padding:10px 0}
.tag{display:inline-block;border-radius:99px;padding:3px 8px;font-size:10px;background:#eef2f8;color:#55637d}

/* Sinais de seguranca na tela de auditoria. */
.sinal{border:1px solid #f3d4dc;background:#fffafb;border-radius:10px;padding:15px 17px;margin:14px 0}
.sinal h3{font-size:14px;color:#9d1733;display:flex;align-items:center;gap:8px}
.sinal p{margin:6px 0 10px;font-size:12px}
.sinal ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:12px;color:#3c4a66}
.sinal li{background:#fff;border-radius:6px;padding:7px 10px}
.search select{max-width:190px}

/* Pagina publica de parceria. */
.parceiro-main{margin-left:0;max-width:1080px;margin-inline:auto;padding-inline:20px}
.parceiro-main .topbar{display:block;padding-top:24px}
.parceiro-main .brand{margin-bottom:22px}
.parceiro-main .summary-row span{width:24px;height:24px;border-radius:50%;background:#fff0f3;color:#e90026;display:grid;place-items:center;font-weight:700;flex-shrink:0}
.parceiro-main .summary-row{align-items:center;gap:12px;justify-content:flex-start}
.parceiro-main .summary-row strong{text-align:left}
/* A armadilha precisa existir no DOM e nao existir para quem enxerga. */
.armadilha{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.item-acoes details{margin-top:8px}.item-acoes summary{cursor:pointer;font-weight:700;font-size:11px;color:#d9193a}.item-acoes details form{margin-top:10px;min-width:220px}
.horarios-tabela td{padding:6px 5px;white-space:nowrap}.horarios-tabela input{display:inline-block;width:auto;min-height:34px;padding:5px;font-size:12px}.horarios-tabela input+input{margin-left:3px}
.grupo-opcoes{border:1px solid #e8edf5;border-radius:9px;padding:14px;display:grid;gap:12px}.grupo-opcoes legend{font-weight:700;padding:0 6px;color:#24304a}.grupo-opcoes textarea{width:100%;border:1px solid #dde4ef;border-radius:7px;padding:10px;font:inherit;color:#28354b}
