/* =====================================================================
   CAFECITO · sistema interno
   Visual do protótipo aprovado: fundo preto, GT America Mono em caixa
   alta, destaque verde-limão, prioridades em laranja. Escuro e claro.
   ===================================================================== */

@font-face{font-family:'GT America Mono';src:url(../fonts/GT-America-Mono-Medium.woff2) format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'GT America Mono';src:url(../fonts/GT-America-Mono-Bold.woff2) format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'GT America';src:url(../fonts/GT-America-Regular.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'GT America';src:url(../fonts/GT-America-Regular-Italic.woff2) format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'GT America';src:url(../fonts/GT-America-Bold.woff2) format('woff2');font-weight:700;font-display:swap}

:root{--nav-h:58px}
:root,.escuro{--bg:#0A0A0A;--sf:#141414;--sf2:#1D1D1D;--sf3:#262626;--bd:#262626;--bd2:#333;--tx:#F2F2F2;--mu:#9A9A9A;--mu2:#6E6E6E;--ac:#C2D500;--act:#C2D500;--ink:#0A0A0A;--sh:0 10px 30px rgba(0,0,0,.45);--img:#2B2B2B;--laranja:#FF9015;--amarelo:#FFB71B;--vermelho:#C8191E;--azul:#7FB8E6;color-scheme:dark}
.claro{--bg:#F3F3F0;--sf:#FFFFFF;--sf2:#F7F7F4;--sf3:#ECECE8;--bd:#E1E1DC;--bd2:#CFCFC9;--tx:#0A0A0A;--mu:#6B6B66;--mu2:#8A8A84;--ac:#C2D500;--act:#5E6800;--ink:#0A0A0A;--sh:0 10px 30px rgba(20,20,20,.08);--img:#DADAD5;--azul:#2F6FA3;color-scheme:light}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--tx);font-family:'GT America',system-ui,sans-serif;font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}
img,svg,video,canvas{max-width:100%}
a{color:var(--tx)}a:hover{color:var(--act)}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--ac);outline-offset:2px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pular{position:absolute;left:-999px;top:8px;z-index:100;background:var(--ac);color:var(--ink);padding:8px 14px;border-radius:10px}
.pular:focus{left:8px}
[hidden]{display:none!important}

/* ---- Tipografia ---- */
.mono{font-family:'GT America Mono',ui-monospace,monospace;font-weight:500;text-transform:uppercase;letter-spacing:.02em}
.lbl{font-family:'GT America Mono',ui-monospace,monospace;font-weight:500;text-transform:uppercase;font-size:11px;letter-spacing:.08em;color:var(--mu)}
.h1{font-family:'GT America Mono',ui-monospace,monospace;font-weight:500;text-transform:uppercase;font-size:22px;letter-spacing:.02em;color:var(--act);margin:0;line-height:1.2}
.h2{font-family:'GT America Mono',ui-monospace,monospace;font-weight:500;text-transform:uppercase;font-size:15px;letter-spacing:.02em;color:var(--tx);margin:0}
.h3{font-family:'GT America Mono',ui-monospace,monospace;font-weight:500;text-transform:uppercase;font-size:13px;letter-spacing:.03em;margin:0}
.mu{color:var(--mu)}.mu2{color:var(--mu2)}.ac{color:var(--act)}.peq{font-size:12px}.mpeq{font-size:13px}.grande{font-size:28px}
.num-grande{font-family:'GT America Mono',monospace;font-weight:500;font-size:28px;letter-spacing:-.01em;line-height:1}
.marca{font-family:'GT America';font-weight:700;font-size:22px;letter-spacing:-.02em;color:var(--tx);line-height:1;text-decoration:none;white-space:nowrap}
.marca-entrar{display:inline-flex;align-items:center;gap:14px}
.marca sup{font-family:'GT America Mono';font-size:.4em;letter-spacing:0;margin-left:1px;vertical-align:top}
p{margin:0 0 .6em}
.quebra{white-space:pre-line}
.trunc{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}

/* ---- Superfícies ---- */
.card{background:var(--sf);border:1px solid var(--bd);border-radius:22px;padding:18px}
.card2{background:var(--sf2);border:1px solid var(--bd);border-radius:16px;padding:14px}
.card.sem-pad,.card2.sem-pad{padding:0}
.card-ac{background:var(--ac);border-color:var(--ac);color:var(--ink)}
.card-ac .mu,.card-ac .lbl{color:rgba(10,10,10,.7)}
a.card,a.card2{text-decoration:none;color:var(--tx)}
:where(a.card,a.card2):not([class*=linha],.kpi,.atalho,.item){display:block}
a.card:hover,a.card2:hover{border-color:var(--bd2);color:var(--tx)}
.linha-card{display:flex;align-items:center;gap:12px}

/* ---- Botões ---- */
.btn,.btn2,.btn3{height:46px;padding:0 18px;border-radius:12px;font-family:'GT America Mono',monospace;font-weight:500;text-transform:uppercase;font-size:13px;letter-spacing:.04em;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;cursor:pointer;white-space:nowrap;border:1px solid transparent;transition:filter .12s, background .12s}
.btn{background:var(--ac);color:var(--ink);border-color:var(--ac)}
.btn:hover{filter:brightness(1.07);color:var(--ink)}
.btn2{background:var(--sf2);border-color:var(--bd2);color:var(--tx)}
.btn2:hover{background:var(--sf3);color:var(--tx)}
.btn3{background:transparent;color:var(--tx);border-color:transparent;padding:0 10px}
.btn3:hover{background:var(--sf2)}
.btn-perigo{background:var(--vermelho);border-color:var(--vermelho);color:#fff}
.btn-perigo:hover{color:#fff;filter:brightness(1.1)}
.btn.sm,.btn2.sm,.btn3.sm{height:36px;padding:0 12px;font-size:11.5px;border-radius:10px}
.btn.lg,.btn2.lg{height:56px;font-size:15px;border-radius:14px}
.largo{width:100%}
button[disabled],.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}
.ico{width:44px;height:44px;border-radius:12px;background:var(--sf2);border:1px solid var(--bd2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--tx);text-decoration:none;flex-shrink:0;position:relative;padding:0}
.ico:hover{background:var(--sf3);color:var(--tx)}
.ico.redondo{border-radius:999px;width:40px;height:40px}
.ico.sm{width:34px;height:34px;border-radius:10px}
.badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--vermelho);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}
.ponto-ac{position:absolute;top:8px;right:8px;width:8px;height:8px;border-radius:999px;background:var(--ac)}
.grupo-btn{display:flex;gap:8px;flex-wrap:wrap;align-items:center}

/* ---- Tags ---- */
.tag{font-family:'GT America Mono',monospace;font-weight:500;text-transform:uppercase;font-size:11px;letter-spacing:.04em;height:26px;padding:0 10px;border-radius:8px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;flex-shrink:0}
.t-alta{background:var(--laranja);color:#0A0A0A}.t-media{background:var(--amarelo);color:#0A0A0A}.t-baixa{background:var(--sf3);color:var(--tx);border:1px solid var(--bd2)}
.t-pend{background:var(--vermelho);color:#fff}.t-ok{background:var(--ac);color:#0A0A0A}.t-and{background:var(--sf3);color:var(--tx);border:1px solid var(--bd2)}
.t-azul{background:var(--azul);color:#0A0A0A}.claro .t-azul{color:#fff}
.t-contorno{background:transparent;border:1px solid var(--bd2);color:var(--mu)}

/* ---- Formulários ---- */
.campo{display:flex;flex-direction:column;gap:7px;min-width:0}
.campo>label,.campo>.lbl{font-family:'GT America Mono',monospace;font-weight:500;text-transform:uppercase;font-size:11px;letter-spacing:.08em;color:var(--mu)}
.inp,.sel,textarea.inp{width:100%;height:50px;border-radius:14px;background:var(--sf);border:1px solid var(--bd2);padding:0 16px;font-size:15px;color:var(--tx);outline:none;appearance:none;-webkit-appearance:none}
textarea.inp{height:auto;min-height:110px;padding:13px 16px;resize:vertical;line-height:1.45}
.inp:focus,.sel:focus{border-color:var(--ac);box-shadow:0 0 0 3px rgba(194,213,0,.18)}
.inp::placeholder{color:var(--mu2)}
.sel{font-family:'GT America Mono',monospace;text-transform:uppercase;font-size:13px;letter-spacing:.04em;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239A9A9A' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;cursor:pointer}
.sel.normal{font-family:'GT America',sans-serif;text-transform:none;letter-spacing:0;font-size:15px}
.inp.sm,.sel.sm{height:40px;border-radius:11px;font-size:13px;padding:0 12px}
.sel.sm{padding-right:34px;background-position:right 11px center}
.ajuda{font-size:12px;color:var(--mu)}
.erro-campo{font-size:12px;color:#FF6B6B}
.form{display:flex;flex-direction:column;gap:16px}
.form-grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.form-acoes{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;padding-top:4px}
fieldset{border:1px solid var(--bd);border-radius:16px;padding:16px;margin:0;display:flex;flex-direction:column;gap:14px}
legend{padding:0 8px}
.marca-chk{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;min-height:30px}
.marca-chk input{width:20px;height:20px;accent-color:var(--ac);flex-shrink:0}
.chk{width:22px;height:22px;border-radius:7px;border:1.5px solid var(--bd2);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:transparent;cursor:pointer;color:#0A0A0A;padding:0}
.chk.on{background:var(--ac);border-color:var(--ac)}
.sw{width:46px;height:26px;border-radius:999px;background:var(--sf3);border:1px solid var(--bd2);position:relative;display:inline-block;cursor:pointer;flex-shrink:0;appearance:none;-webkit-appearance:none;margin:0}
.sw::after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:999px;background:var(--tx);transition:left .15s}
.sw:checked{background:var(--ac);border-color:var(--ac)}
.sw:checked::after{left:23px;background:#0A0A0A}
.arquivo-zona{border:1.5px dashed var(--bd2);border-radius:16px;padding:22px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;cursor:pointer;color:var(--mu)}
.arquivo-zona:hover{border-color:var(--ac);color:var(--tx)}
.arquivo-zona img{max-height:220px;border-radius:12px}
.segmentos{display:flex;gap:6px;background:var(--sf2);border:1px solid var(--bd);border-radius:14px;padding:4px;overflow-x:auto;position:relative}
.segmentos a,.segmentos button,.segmentos label{flex:1 0 auto;height:38px;padding:0 14px;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:6px;font-family:'GT America Mono',monospace;text-transform:uppercase;font-size:12px;letter-spacing:.04em;color:var(--mu);text-decoration:none;border:0;background:transparent;cursor:pointer;white-space:nowrap}
.segmentos .on,.segmentos input:checked+span{background:var(--sf);color:var(--tx);box-shadow:inset 0 0 0 1px var(--bd2)}
.segmentos label{padding:0}.segmentos label span{display:flex;align-items:center;justify-content:center;height:100%;width:100%;padding:0 14px;border-radius:10px}
.segmentos input{position:absolute;opacity:0;pointer-events:none}
.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none;position:relative}
.chips::-webkit-scrollbar{display:none}
.chip{height:34px;padding:0 14px;border-radius:999px;border:1px solid var(--bd2);background:var(--sf);display:inline-flex;align-items:center;gap:6px;font-family:'GT America Mono',monospace;text-transform:uppercase;font-size:11.5px;letter-spacing:.04em;color:var(--mu);text-decoration:none;white-space:nowrap;cursor:pointer;flex-shrink:0}
.chip.on,.chip:hover{color:var(--tx);border-color:var(--tx)}
.chip.on{background:var(--tx);color:var(--bg)}

/* ---- Indicadores ---- */
.bar{height:8px;border-radius:999px;background:var(--sf3);overflow:hidden}
.bar>span{display:block;height:100%;background:var(--ac);border-radius:999px}
.av{border-radius:999px;background:var(--sf3);border:1px solid var(--bd2);display:inline-flex;align-items:center;justify-content:center;font-family:'GT America Mono',monospace;font-size:12px;color:var(--tx);flex-shrink:0;object-fit:cover;overflow:hidden}
.av-ac{border:2px solid var(--ac)}
.pilha-av{display:flex}.pilha-av>*+*{margin-left:-10px}
.kpi{display:flex;flex-direction:column;gap:8px;padding:16px}
.kpi .valor{font-family:'GT America Mono',monospace;font-size:24px;letter-spacing:-.01em;line-height:1.05}
.kpi .var-pos{color:var(--act);font-size:12px}.kpi .var-neg{color:var(--laranja);font-size:12px}
.vazio{display:flex;flex-direction:column;align-items:center;gap:10px;padding:34px 16px;color:var(--mu);text-align:center}
.vazio p{margin:0;max-width:34ch}

/* ---- Tabelas ---- */
.tabela-box{overflow-x:auto;border:1px solid var(--bd);border-radius:18px;background:var(--sf)}
table{border-collapse:collapse;width:100%}
th{text-align:left;font-family:'GT America Mono',monospace;font-weight:500;text-transform:uppercase;font-size:11px;letter-spacing:.06em;color:var(--mu);padding:12px 14px;border-bottom:1px solid var(--bd);white-space:nowrap}
td{padding:12px 14px;border-bottom:1px solid var(--bd);font-size:13.5px;color:var(--tx);vertical-align:middle}
tr:last-child td{border-bottom:0}
tbody tr:hover td{background:var(--sf2)}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
td a{text-decoration:none}
.nw td{white-space:nowrap}

/* ---- Listas ---- */
.lista{display:flex;flex-direction:column;gap:10px}
.item{display:flex;align-items:center;gap:12px;padding:14px;background:var(--sf2);border:1px solid var(--bd);border-radius:16px;text-decoration:none;color:var(--tx);min-width:0}
a.item:hover{border-color:var(--bd2);color:var(--tx)}
.item .meio{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.item .titulo{font-family:'GT America Mono',monospace;text-transform:uppercase;font-size:13px;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.item .sub{font-size:12px;color:var(--mu);overflow:hidden;text-overflow:ellipsis}
.lista-div>*{border-bottom:1px solid var(--bd);padding:12px 0}.lista-div>*:last-child{border-bottom:0}

/* ---- Layout do app ---- */
.app{min-height:100vh}
.lateral{display:none}
.topo{position:sticky;top:0;z-index:20;height:64px;display:flex;align-items:center;gap:8px;padding:0 16px;padding-top:env(safe-area-inset-top);box-sizing:content-box;border-bottom:1px solid var(--bd);background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(10px)}
.barra-ac{width:2px;height:24px;background:var(--ac);flex-shrink:0}
.titulo-pag{font-size:17px;margin:0 0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.cresce{flex:1}
.topo .marca{font-size:17px;margin-left:4px}
.topo .voltar+.barra-ac{display:none}
.busca-topo{display:none}
.so-pc{display:none}
.principal{padding:18px 16px calc(var(--nav-h) + env(safe-area-inset-bottom) + 32px);display:flex;flex-direction:column;gap:18px;max-width:1400px;margin:0 auto}
.nav-inferior{position:fixed;left:0;right:0;bottom:0;z-index:30;height:var(--nav-h);padding:0 6px env(safe-area-inset-bottom);background:var(--sf);border-top:1px solid var(--bd);border-radius:20px 20px 0 0;display:flex;align-items:center;justify-content:space-around;box-sizing:content-box}
.navi{display:flex;flex-direction:column;align-items:center;gap:3px;text-decoration:none;font-family:'GT America Mono',monospace;text-transform:uppercase;font-size:10px;letter-spacing:.04em;color:var(--tx);width:64px}
.navi.off{color:var(--mu)}
.criar{width:48px;height:48px;border-radius:16px;background:var(--ac);color:#0A0A0A;display:flex;align-items:center;justify-content:center;margin-top:-6px;box-shadow:0 4px 12px rgba(194,213,0,.22);border:0;cursor:pointer;flex-shrink:0}
.flash{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;background:var(--sf2);border:1px solid var(--bd2);font-size:14px}
.flash span{flex:1}
.flash-ok{border-color:var(--ac)}.flash-ok svg{color:var(--act)}
.flash-erro{border-color:var(--vermelho)}.flash-erro svg{color:#FF6B6B}
.flash-aviso{border-color:var(--amarelo)}.flash-aviso svg{color:var(--amarelo)}
.fecha-flash{background:none;border:0;color:var(--mu);cursor:pointer;padding:4px}

/* Folha inferior (bottom sheet) e modais */
.folha-fundo{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.55);display:flex;align-items:flex-end;justify-content:center}
.folha{width:100%;max-width:560px;background:var(--sf);border:1px solid var(--bd);border-radius:28px 28px 0 0;padding:12px 20px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:16px;max-height:88vh;overflow:auto;animation:sobe .2s ease-out}
.folha-alca{width:44px;height:5px;border-radius:9px;background:var(--bd2);margin:0 auto}
@keyframes sobe{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
.grade-atalhos{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.atalho{display:flex;flex-direction:column;gap:8px;align-items:flex-start;font-size:12.5px;line-height:1.25;min-height:92px;text-decoration:none}
.atalho svg{color:var(--act)}
.modal-fundo{position:fixed;inset:0;z-index:70;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;padding:16px}
.modal{width:100%;max-width:520px;background:var(--sf);border:1px solid var(--bd2);border-radius:22px;padding:22px;display:flex;flex-direction:column;gap:16px;max-height:90vh;overflow:auto;box-shadow:var(--sh)}
.modal.largo{max-width:860px}

/* Grades */
.grade{display:grid;gap:14px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(2,minmax(0,1fr))}
.auto{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.auto-sm{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
.colunas{display:grid;gap:18px;grid-template-columns:minmax(0,1fr)}
.colunas>*{min-width:0}
fieldset{min-width:0}
.pilha{display:flex;flex-direction:column;gap:12px}
.pilha-sm{display:flex;flex-direction:column;gap:6px}
.pilha-xs{display:flex;flex-direction:column;gap:2px;min-width:0}
.pilha-lg{display:flex;flex-direction:column;gap:20px}
.linha{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.linha-nw{display:flex;align-items:center;gap:10px;min-width:0}
.entre{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.secao-t{display:flex;align-items:center;justify-content:space-between;gap:12px}
.secao-t a{font-size:12px;color:var(--mu);text-decoration:none}
.cabeca-pag{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap}
.cabeca-pag .h1{font-size:18px}
.paginacao{display:flex;align-items:center;justify-content:center;gap:12px;padding:8px}
.so-celular{}
hr.div{border:0;border-top:1px solid var(--bd);margin:4px 0;width:100%}

@media (min-width:700px){
  .g4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .principal{padding:24px 24px 130px}
}

@media (min-width:1024px){
  .topo{margin-left:var(--lat-w);height:72px;padding:0 32px;gap:14px;transition:margin-left .18s ease}
  .titulo-pag{font-size:20px}
  .busca-topo{display:flex;align-items:center;gap:10px;height:42px;width:320px;border-radius:12px;background:var(--sf);border:1px solid var(--bd2);padding:0 14px;color:var(--mu)}
  .busca-topo input{background:none;border:0;outline:none;flex:1;font-size:13px;color:var(--tx);min-width:0}
  .so-celular{display:none!important}
  .so-pc{display:inline-flex}
  .principal{margin-left:var(--lat-w);padding:28px 32px 48px;max-width:none;transition:margin-left .18s ease}
  .nav-inferior{display:none}
  .colunas.c2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .colunas.c21{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
  .colunas.c12{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
  .colunas.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .folha-fundo{align-items:center}
  .folha{border-radius:24px}
}
@media (min-width:1440px){.principal{padding:32px 40px 56px}}

/* ---- Páginas soltas: entrar, instalar, tablet ---- */
.pagina-solta{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}
.caixa-entrar{width:100%;max-width:420px;display:flex;flex-direction:column;gap:26px}
.onda{background-color:var(--img);background-image:url(../img/onda.svg);background-size:cover;background-position:center;border-radius:22px;border:1px solid var(--bd);height:150px}

/* ---- Kanban de tarefas ---- */
.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(270px,1fr);gap:14px;overflow-x:auto;padding-bottom:6px}
.coluna-k{background:var(--sf);border:1px solid var(--bd);border-radius:18px;padding:12px;display:flex;flex-direction:column;gap:10px;min-height:220px}
.coluna-k.sobre{border-color:var(--ac)}
.cartao-t{background:var(--sf2);border:1px solid var(--bd);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:8px;text-decoration:none;color:var(--tx);cursor:grab}
.cartao-t:hover{border-color:var(--bd2);color:var(--tx)}

/* ---- Chat ---- */
.chat{display:flex;flex-direction:column;height:calc(100vh - 64px - 130px);min-height:420px}
.chat-msgs{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:6px 2px 12px}
.bolha{max-width:78%;padding:10px 13px;border-radius:18px;background:var(--sf2);border:1px solid var(--bd);font-size:14.5px;align-self:flex-start;word-wrap:break-word;overflow-wrap:anywhere}
.bolha.minha{align-self:flex-end;background:var(--ac);color:var(--ink);border-color:var(--ac)}
.bolha .meta{display:block;font-size:10.5px;opacity:.7;margin-top:4px;font-family:'GT America Mono',monospace;text-transform:uppercase}
.bolha img{border-radius:12px;max-height:280px;display:block}
.bolha audio{width:230px;max-width:100%;height:40px;display:block}
.bolha .autor{font-family:'GT America Mono',monospace;text-transform:uppercase;font-size:10.5px;color:var(--act);display:block;margin-bottom:2px}
.bolha.minha .autor{display:none}
.chat-barra{display:flex;align-items:flex-end;gap:8px;padding-top:10px;border-top:1px solid var(--bd)}
.chat-barra textarea{flex:1;min-height:46px;height:46px;max-height:140px;border-radius:14px;resize:none;padding:12px 14px}
.gravando{color:#FF6B6B;font-family:'GT America Mono',monospace;font-size:12px;text-transform:uppercase}
.dia-sep{align-self:center;font-family:'GT America Mono',monospace;font-size:10.5px;text-transform:uppercase;color:var(--mu);padding:6px 0}
@media (min-width:1024px){.chat{height:calc(100vh - 72px - 76px)}}

/* ---- Calendário / escala ---- */
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.cal .dsem{font-family:'GT America Mono',monospace;font-size:10.5px;text-transform:uppercase;color:var(--mu);text-align:center;padding:4px 0}
.cal .dia{aspect-ratio:1/1.05;border-radius:12px;background:var(--sf2);border:1px solid var(--bd);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-family:'GT America Mono',monospace;font-size:13px;position:relative}
.cal .dia small{font-size:9px;color:var(--mu);text-transform:uppercase}
.cal .dia.folga{background:var(--ac);color:var(--ink);border-color:var(--ac)}.cal .dia.folga small{color:rgba(0,0,0,.7)}
.cal .dia.hoje{outline:2px solid var(--tx);outline-offset:1px}
.cal .dia.fora{opacity:.3}
.cal .dia.ferias{background:var(--azul);color:#0A0A0A;border-color:var(--azul)}
.cal .dia.atestado{background:var(--laranja);color:#0A0A0A}
.grade-escala{border-collapse:separate;border-spacing:0}
.grade-escala td,.grade-escala th{padding:6px;border-bottom:1px solid var(--bd);text-align:center}
.grade-escala td:first-child,.grade-escala th:first-child{text-align:left;position:sticky;left:0;background:var(--sf);z-index:1;min-width:170px}
.celula-escala{width:100%;min-width:92px;height:44px;border-radius:10px;border:1px solid var(--bd2);background:var(--sf2);font-family:'GT America Mono',monospace;font-size:11px;text-transform:uppercase;cursor:pointer;color:var(--tx);line-height:1.2}
.celula-escala.folga{background:var(--ac);color:var(--ink);border-color:var(--ac)}
.celula-escala.ferias{background:var(--azul);color:#0A0A0A}
.celula-escala.atestado{background:var(--laranja);color:#0A0A0A}
.celula-escala.vazia{color:var(--mu2);border-style:dashed}

/* ---- PDV ---- */
.pdv{display:grid;gap:16px}
@media (min-width:1024px){.pdv{grid-template-columns:minmax(0,1.6fr) minmax(360px,1fr);align-items:start}.pdv .carrinho{position:sticky;top:96px}}
.produtos-pdv{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.prod-btn{background:var(--sf2);border:1px solid var(--bd);border-radius:16px;padding:12px;display:flex;flex-direction:column;gap:6px;text-align:left;cursor:pointer;min-height:96px;color:var(--tx)}
.prod-btn:hover{border-color:var(--ac)}
.prod-btn .preco{font-family:'GT America Mono',monospace;font-size:13px;color:var(--act);margin-top:auto}
.prod-btn .cor-cafe{width:10px;height:10px;border-radius:3px;display:inline-block}
.leitor{display:flex;gap:10px}
.leitor .inp{font-family:'GT America Mono',monospace;letter-spacing:.06em}
.carrinho-itens{display:flex;flex-direction:column;max-height:46vh;overflow:auto}
.carrinho-item{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--bd)}
.qtd-ctrl{display:flex;align-items:center;gap:4px}
.qtd-ctrl button{width:30px;height:30px;border-radius:9px;border:1px solid var(--bd2);background:var(--sf2);cursor:pointer;color:var(--tx)}
.total-pdv{font-family:'GT America Mono',monospace;font-size:34px;letter-spacing:-.01em}
.formas{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.forma{height:64px;border-radius:14px;border:1px solid var(--bd2);background:var(--sf2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;font-family:'GT America Mono',monospace;font-size:11px;text-transform:uppercase;color:var(--tx)}
.forma.on,.forma:hover{border-color:var(--ac);color:var(--act)}

/* ---- Tela de preparo (cozinha/bar) ---- */
.kds{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.ticket{background:var(--sf);border:1px solid var(--bd2);border-radius:18px;padding:14px;display:flex;flex-direction:column;gap:10px}
.ticket.atrasado{border-color:var(--laranja)}
.ticket-cab{display:flex;justify-content:space-between;align-items:center}
pre.cupom{font-family:'GT America Mono',ui-monospace,monospace;font-size:12px;line-height:1.35;background:#fff;color:#111;padding:14px;border-radius:10px;white-space:pre;overflow:auto;max-width:100%;text-transform:none}

/* ---- Treinos / gamificação ---- */
.nivel-anel{width:84px;height:84px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:conic-gradient(var(--ac) calc(var(--p,0)*1%),var(--sf3) 0);flex-shrink:0}
.nivel-anel>span{width:68px;height:68px;border-radius:999px;background:var(--sf);display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:'GT America Mono',monospace;font-size:18px;line-height:1}
.nivel-anel small{font-size:9px;color:var(--mu)}
.medalhas{display:flex;gap:10px;flex-wrap:wrap}
.medalha{width:64px;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:10px;text-align:center;color:var(--mu)}
.medalha i{width:48px;height:48px;border-radius:14px;background:var(--sf2);border:1px solid var(--bd2);display:flex;align-items:center;justify-content:center;color:var(--mu2)}
.medalha.tem i{background:var(--ac);color:#0A0A0A;border-color:var(--ac)}
.medalha.tem{color:var(--tx)}
.opcao-quiz{display:flex;align-items:center;gap:12px;padding:14px;border-radius:14px;border:1px solid var(--bd2);background:var(--sf2);cursor:pointer}
.opcao-quiz:has(input:checked){border-color:var(--ac)}
.opcao-quiz input{accent-color:var(--ac);width:18px;height:18px}
.conteudo-aula{font-size:15.5px;line-height:1.6}
.conteudo-aula h2,.conteudo-aula h3{font-family:'GT America Mono',monospace;text-transform:uppercase;font-size:15px;color:var(--act)}
.conteudo-aula img{border-radius:14px}

/* ---- Gráficos simples ---- */
.barras{display:flex;align-items:flex-end;gap:6px;height:160px;padding-top:10px}
.barras .b{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end;min-width:0}
.barras .b i{display:block;width:100%;max-width:34px;border-radius:7px 7px 3px 3px;background:var(--ac);min-height:2px}
.barras .b i.sec{background:var(--sf3)}
.barras .b span{font-family:'GT America Mono',monospace;font-size:9.5px;color:var(--mu);text-transform:uppercase}

/* ---- Mural ---- */
.post{display:flex;flex-direction:column;gap:12px}
.post-img{border-radius:16px;max-height:520px;object-fit:cover;width:100%;background:var(--img)}
.acoes-post{display:flex;gap:6px;align-items:center}

/* ---- Assistente IA ---- */
.ia-msg{padding:14px 16px;border-radius:18px;background:var(--sf2);border:1px solid var(--bd);font-size:15px;line-height:1.55;max-width:860px}
.ia-msg.eu{background:var(--sf3);align-self:flex-end;max-width:80%}
.ia-msg p:last-child{margin-bottom:0}
.ia-msg ul,.ia-msg ol{padding-left:20px;margin:.3em 0 .6em}
.ia-msg code{font-family:'GT America Mono',monospace;font-size:13px;background:var(--sf3);padding:1px 5px;border-radius:5px}
.ia-sugestoes{display:flex;flex-wrap:wrap;gap:8px}
.digitando i{display:inline-block;width:6px;height:6px;border-radius:9px;background:var(--mu);margin:0 2px;animation:pisca 1s infinite}
.digitando i:nth-child(2){animation-delay:.15s}.digitando i:nth-child(3){animation-delay:.3s}
@keyframes pisca{0%,100%{opacity:.2}50%{opacity:1}}

/* ---- Impressão ---- */

/* ---- Diálogos da Cafecito (substituem alert/confirm do navegador) ---- */
.dlg-fundo{position:fixed;inset:0;z-index:200;display:flex;align-items:flex-end;justify-content:center;padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom));background:rgba(0,0,0,.55);backdrop-filter:blur(3px);opacity:0;transition:opacity .15s}
.dlg-fundo.on{opacity:1}
.dlg{width:100%;max-width:440px;background:var(--sf);border:1px solid var(--bd2);border-radius:22px;padding:22px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--sh);transform:translateY(14px);transition:transform .18s ease}
.dlg-fundo.on .dlg{transform:none}
.dlg-cab{display:flex;align-items:center;gap:12px}
.dlg-ico{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--sf2);border:1px solid var(--bd2);color:var(--act);flex-shrink:0}
.dlg-perigo .dlg-ico{color:#FF6B6B;border-color:color-mix(in srgb,var(--vermelho) 55%,var(--bd2))}
.dlg-titulo{margin:0;font-family:'GT America Mono',monospace;font-weight:500;text-transform:uppercase;font-size:16px;letter-spacing:.03em}
.dlg-corpo{display:flex;flex-direction:column;gap:12px;color:var(--mu);font-size:14.5px}
.dlg-corpo p{margin:0}
.dlg-acoes{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.dlg-acoes>*{flex:1 1 auto}
.btn-perigo-cheio{background:var(--vermelho)!important;border-color:var(--vermelho)!important;color:#fff!important}
.dlg-pessoa{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border-radius:14px;background:var(--sf2);border:1px solid var(--bd)}
.dlg-pessoa .mono{color:var(--tx);font-size:14px}
.dlg-alerta{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:14px;border:1px solid var(--laranja);background:color-mix(in srgb,var(--laranja) 12%,transparent);color:var(--tx);font-size:13.5px}
.dlg-alerta svg{color:var(--laranja);flex-shrink:0;margin-top:1px}
.dlg-saindo{align-items:center;text-align:center;padding:30px 22px}
.dlg-saindo p{margin:0;color:var(--tx)}
html.com-dialogo{overflow:hidden}
@media (min-width:700px){.dlg-fundo{align-items:center}.dlg-acoes>*{flex:0 0 auto}}

/* ---- Erros de preenchimento no visual do sistema (no lugar do balão do navegador) ---- */
.inp-erro,.inp.inp-erro{border-color:var(--vermelho)!important}
.erro-campo{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:12.5px;color:#FF6B6B}
.claro .erro-campo{color:var(--vermelho)}

/* ---- Menu lateral (computador): aberto ou recolhido com a mesma estrutura; recolhido abre ao passar o mouse ---- */
:root{--lat-w:264px}
@media (min-width:1024px){
  html.menu-recolhido{--lat-w:76px}
  .lateral{display:flex;flex-direction:column;gap:12px;position:fixed;left:0;top:0;bottom:0;width:var(--lat-w);padding:18px 12px 14px;background:var(--sf);border-right:1px solid var(--bd);z-index:25;overflow:hidden;transition:width .2s cubic-bezier(.2,.7,.2,1),box-shadow .2s}
  .lateral .lat-txt,.lateral .dnav>span,.lateral .menu-rotulo>span,.lateral .eu-txt,.lateral .eu>svg,.lateral .lat-tecla,.lateral .marca-nome,.lateral .lat-trava{transition:opacity .14s ease}
  .lat-topo{display:flex;align-items:center;gap:8px;height:40px;flex-shrink:0}
  .lateral .marca{flex:1;display:flex;align-items:center;height:40px;min-width:0;text-decoration:none;color:var(--tx)}
  .marca-nome{font-family:'GT America',sans-serif;font-weight:700;font-size:23px;letter-spacing:-.02em;line-height:1;padding-left:12px;white-space:nowrap}
  .marca-planta{display:none;width:52px;justify-content:center;color:var(--act);flex-shrink:0}
  .lat-trava{width:36px;height:36px;border-radius:11px;border:1px solid var(--bd2);background:var(--sf2);color:var(--mu);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}
  .lat-trava:hover{color:var(--act);border-color:var(--act)}
  .lat-trava .ic-fixar{display:none}
  .menu-recolhido .lat-trava .ic-fixar{display:inline-flex}
  .menu-recolhido .lat-trava .ic-recolher{display:none}
  .lat-ico{position:absolute;left:0;top:0;bottom:0;width:52px;display:flex;align-items:center;justify-content:center;color:var(--mu);pointer-events:none;z-index:1}
  .troca-filial{position:relative;flex-shrink:0}
  .troca-filial .sel{height:46px;border-radius:13px;font-size:12px;padding-left:50px;background-color:var(--sf2)}
  .filial-fixa{position:relative;display:flex;align-items:center;height:46px;padding-left:50px;border-radius:13px;border:1px solid var(--bd);background:var(--sf2);font-family:'GT America Mono',monospace;text-transform:uppercase;font-size:12px;letter-spacing:.04em;white-space:nowrap;flex-shrink:0}
  .lat-busca{position:relative;flex-shrink:0;height:42px;border-radius:13px;border:1px solid var(--bd);background:var(--bg)}
  .lat-busca:focus-within{border-color:var(--ac);box-shadow:0 0 0 3px rgba(194,213,0,.15)}
  .lat-busca input{width:100%;height:100%;border:0;background:none;outline:none;color:var(--tx);font-size:13.5px;padding:0 36px 0 50px;border-radius:13px}
  .lat-busca input::-webkit-search-cancel-button{display:none}
  .lat-busca input::placeholder{color:var(--mu2);transition:opacity .14s}
  .lat-tecla{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-family:'GT America Mono',monospace;font-size:11px;color:var(--mu2);border:1px solid var(--bd2);border-radius:6px;padding:1px 6px;pointer-events:none}
  .lat-busca:focus-within .lat-tecla{opacity:0}
  .menu-caixa{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}
  .menu{display:flex;flex-direction:column;gap:6px;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior:contain}
  .menu::-webkit-scrollbar{display:none;width:0;height:0}
  .menu-secao{display:flex;flex-direction:column;gap:2px}
  .menu-rotulo{position:relative;height:28px;display:flex;align-items:flex-end;padding:0 0 5px 16px;flex-shrink:0}
  .menu-rotulo>span{font-family:'GT America Mono',monospace;text-transform:uppercase;font-size:10.5px;letter-spacing:.08em;color:var(--mu2);white-space:nowrap}
  .menu-rotulo::after{content:'';position:absolute;left:12px;right:12px;bottom:12px;height:1px;background:var(--bd);opacity:0;transition:opacity .14s}
  .menu-secao:first-child .menu-rotulo::after{display:none}
  .dnav{display:flex;align-items:center;gap:14px;height:42px;flex-shrink:0;padding:0 15px;border-radius:12px;text-decoration:none;font-family:'GT America Mono',monospace;text-transform:uppercase;font-size:12px;letter-spacing:.04em;color:var(--mu);border:1px solid transparent;white-space:nowrap;overflow:hidden}
  .dnav svg{flex-shrink:0}
  .dnav:hover{color:var(--tx);background:var(--sf2)}
  .dnav.on{background:var(--sf2);color:var(--tx);border-color:var(--bd)}
  .dnav.on svg{color:var(--act)}
  .dnav.marcado{background:var(--sf2);color:var(--tx);border-color:var(--ac)}
  .dnav mark{background:none;color:var(--act)}
  .menu-vazio{margin:8px 16px;font-size:12.5px;color:var(--mu)}
  .menu-rolar{position:absolute;left:0;right:0;height:34px;display:flex;align-items:center;justify-content:center;border:0;padding:0;cursor:pointer;color:var(--act);z-index:2;opacity:0;pointer-events:none;transition:opacity .15s}
  .menu-rolar.cima{top:0;background:linear-gradient(var(--sf) 45%,transparent)}
  .menu-rolar.cima svg{transform:rotate(180deg)}
  .menu-rolar.baixo{bottom:0;background:linear-gradient(transparent,var(--sf) 55%)}
  .menu-caixa.pode-cima:hover .menu-rolar.cima,.menu-caixa.pode-baixo:hover .menu-rolar.baixo{opacity:1;pointer-events:auto}
  .menu-rolar:hover svg{filter:drop-shadow(0 0 4px var(--act))}
  .lateral .eu{display:flex;align-items:center;gap:12px;flex-shrink:0;padding:7px 12px 7px 7px;border-radius:14px;background:var(--sf2);border:1px solid var(--bd);text-decoration:none;color:var(--tx);overflow:hidden;white-space:nowrap}
  .lateral .eu:hover{border-color:var(--bd2);color:var(--tx)}
  .lateral .eu>svg{color:var(--mu);flex-shrink:0}
  .lateral .eu-txt{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;font-size:11.5px}
  .lateral .eu-txt .mono{font-size:12.5px}
  .sair-lat{background:none;cursor:pointer;width:100%;font:inherit;font-family:'GT America Mono',monospace;font-size:12px}
  .sair-lat:hover{color:#FF6B6B}
  /* recolhido: as mesmas peças no mesmo lugar, só sem os textos */
  .menu-recolhido .lateral:not(.expandido) .marca-nome,
  .menu-recolhido .lateral:not(.expandido) .lat-trava,
  .menu-recolhido .lateral:not(.expandido) .lat-txt,
  .menu-recolhido .lateral:not(.expandido) .dnav>span,
  .menu-recolhido .lateral:not(.expandido) .menu-rotulo>span,
  .menu-recolhido .lateral:not(.expandido) .eu-txt,
  .menu-recolhido .lateral:not(.expandido) .eu>svg,
  .menu-recolhido .lateral:not(.expandido) .lat-tecla,
  .menu-recolhido .lateral:not(.expandido) .lat-busca input::placeholder,
  .menu-recolhido .lateral:not(.expandido) .troca-filial .csel-txt{opacity:0}
  .menu-recolhido .lateral:not(.expandido) .troca-filial .sel{background-image:none}
  .menu-recolhido .lateral:not(.expandido) .menu-rotulo::after{opacity:1}
  .menu-recolhido .lateral .marca-planta{display:flex}
  .menu-recolhido .lateral .marca-nome{display:none}
  .menu-recolhido .lateral.expandido .marca-planta{display:none}
  .menu-recolhido .lateral.expandido .marca-nome{display:block}
  .menu-recolhido .lateral.expandido{width:264px;box-shadow:16px 0 48px rgba(0,0,0,.4)}
}

/* ---- Seletores e calendário próprios (assets/js/campos.js) ---- */
.campo-nativo{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;border:0!important;opacity:0!important;pointer-events:none!important;clip:rect(0 0 0 0)!important;overflow:hidden!important}
button.csel{display:flex;align-items:center;text-align:left;width:100%;cursor:pointer;color:var(--tx);font:inherit;font-family:'GT America Mono',monospace;text-transform:uppercase;font-size:13px;letter-spacing:.04em;line-height:1.2}
button.csel.normal{font-family:'GT America',sans-serif;text-transform:none;letter-spacing:0;font-size:15px}
button.csel.sm{font-size:12.5px}
button.csel:disabled{opacity:.55;cursor:not-allowed}
button.csel:hover:not(:disabled){border-color:var(--mu2)}
button.csel[aria-expanded="true"]{border-color:var(--ac);box-shadow:0 0 0 3px rgba(194,213,0,.18)}
.csel-txt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
button.csel.csel-vazio .csel-txt{color:var(--mu)}
.csel-pop,.dtp-pop{position:fixed;z-index:200;background:var(--sf);border:1px solid var(--bd2);border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.45),0 2px 6px rgba(0,0,0,.2);opacity:0;transform:translateY(-4px) scale(.99);transform-origin:top left;transition:opacity .12s ease,transform .12s ease;color:var(--tx)}
.claro .csel-pop,.claro .dtp-pop{box-shadow:0 18px 50px rgba(20,20,20,.16),0 2px 6px rgba(20,20,20,.06)}
.csel-pop.aberto,.dtp-pop.aberto{opacity:1;transform:none}
.csel-pop{display:flex;flex-direction:column;max-width:min(420px,calc(100vw - 24px));overflow:hidden;padding:6px}
.csel-busca{display:flex;align-items:center;gap:8px;height:40px;padding:0 12px;margin:0 0 6px;border-radius:11px;background:var(--bg);border:1px solid var(--bd);color:var(--mu);flex-shrink:0}
.csel-busca:focus-within{border-color:var(--ac)}
.csel-busca input{flex:1;min-width:0;border:0;background:none;outline:none;color:var(--tx);font-size:14px;height:100%}
.csel-lista{overflow-y:auto;overscroll-behavior:contain;outline:none;display:flex;flex-direction:column;gap:1px}
.csel-op{display:flex;align-items:center;gap:10px;min-height:40px;padding:8px 12px;border-radius:10px;cursor:pointer;font-size:14px;line-height:1.3;color:var(--tx)}
.csel-op>span{flex:1;min-width:0}
.csel-op svg{color:var(--act);flex-shrink:0}
.csel-op.ativo{background:var(--sf2)}
.csel-op.escolhido{font-weight:500;color:var(--act)}
.csel-op.vazia>span{color:var(--mu)}
.csel-op.off{opacity:.4;cursor:not-allowed}
.csel-grupo{padding:10px 12px 4px;font-family:'GT America Mono',monospace;text-transform:uppercase;font-size:10.5px;letter-spacing:.08em;color:var(--mu2)}
.csel-nada{margin:10px 12px;font-size:13px;color:var(--mu)}
.inp.campo-data{font-family:'GT America Mono',monospace;letter-spacing:.03em;padding-right:42px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 24 24' fill='none' stroke='%239A9A9A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15.5' rx='2.5'/%3E%3Cpath d='M3.5 10h17M8 3v4M16 3v4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;cursor:pointer}
.inp.campo-data.sm{padding-right:36px;background-position:right 11px center;min-width:140px}
.inp.campo-data[style*="width:auto"]{width:150px!important}
.inp.campo-data:focus{cursor:text}
.dtp-pop{padding:14px;display:flex;flex-direction:column;gap:12px;max-height:none!important;width:max-content;max-width:calc(100vw - 24px);user-select:none}
.dtp-topo{display:flex;align-items:center;justify-content:space-between;gap:8px}
.dtp-seta{width:36px;height:36px;border-radius:11px;border:1px solid var(--bd);background:var(--sf2);color:var(--tx);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.dtp-seta:hover{border-color:var(--ac);color:var(--act)}
.dtp-ano{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border-radius:11px;border:1px solid transparent;background:none;color:var(--tx);font-family:'GT America Mono',monospace;font-size:14px;letter-spacing:.04em;cursor:pointer}
.dtp-ano:hover{background:var(--sf2);border-color:var(--bd)}
.dtp-ano svg{color:var(--mu)}
.dtp-ano-fixo{font-family:'GT America Mono',monospace;font-size:14px;letter-spacing:.04em}
.dtp-meses{display:flex;gap:24px}
.dtp-mes{width:266px;display:flex;flex-direction:column;gap:6px}
.dtp-nome{display:flex;justify-content:center}
.dtp-titulo{background:none;border:0;padding:4px 10px;border-radius:9px;cursor:pointer;font-family:'GT America Mono',monospace;text-transform:uppercase;font-size:12.5px;letter-spacing:.08em;color:var(--tx)}
.dtp-titulo span{color:var(--mu)}
.dtp-titulo:hover{background:var(--sf2);color:var(--act)}
.dtp-sem,.dtp-grade{display:grid;grid-template-columns:repeat(7,38px)}
.dtp-sem span{text-align:center;font-family:'GT America Mono',monospace;font-size:10.5px;color:var(--mu2);padding:4px 0}
.dtp-grade{row-gap:2px}
.dtp-dia{position:relative;height:38px;border:0;background:none;color:var(--tx);font-size:13.5px;font-variant-numeric:tabular-nums;cursor:pointer;border-radius:11px;outline:none;z-index:0}
.dtp-dia:hover:not(.off){background:var(--sf2)}
.dtp-dia:focus-visible{box-shadow:inset 0 0 0 2px var(--ac)}
.dtp-dia.hoje::after{content:'';position:absolute;left:50%;bottom:5px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--act)}
.dtp-dia.off{color:var(--mu2);opacity:.45;cursor:not-allowed;text-decoration:line-through}
.dtp-dia.meio{background:rgba(194,213,0,.10);border-radius:0;color:var(--tx)}
.claro .dtp-dia.meio{background:rgba(94,104,0,.12)}
.dtp-dia.meio.previa{background:rgba(194,213,0,.08)}
.dtp-dia.ini{border-radius:11px 0 0 11px;background:rgba(194,213,0,.10)}
.dtp-dia.fim{border-radius:0 11px 11px 0;background:rgba(194,213,0,.10)}
.dtp-dia.escolhido::before{content:'';position:absolute;inset:0;border-radius:11px;background:var(--ac);z-index:-1}
.dtp-dia.escolhido{color:var(--ink);font-weight:600}
.dtp-dia.escolhido.hoje::after{background:var(--ink)}
.dtp-dia.previa.escolhido.fim::before{background:transparent;box-shadow:inset 0 0 0 2px var(--ac)}
.dtp-dia.previa.escolhido.fim{color:var(--tx)}
.dtp-opcoes{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;min-width:280px}
.dtp-opcao{height:46px;border-radius:12px;border:1px solid var(--bd);background:var(--sf2);color:var(--tx);font-family:'GT America Mono',monospace;text-transform:uppercase;font-size:13px;letter-spacing:.04em;cursor:pointer}
.dtp-opcao:hover:not(:disabled){border-color:var(--ac);color:var(--act)}
.dtp-opcao.hoje{border-color:var(--mu2)}
.dtp-opcao.escolhido{background:var(--ac);border-color:var(--ac);color:var(--ink)}
.dtp-opcao:disabled{opacity:.35;cursor:not-allowed}
.dtp-pop:not(.so-meses) .dtp-opcoes{width:100%}
.dtp-rodape{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--bd);padding-top:12px}
.dtp-atalhos{display:flex;gap:6px;flex-wrap:wrap}
.dtp-atalho{height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--bd2);background:none;color:var(--mu);font-family:'GT America Mono',monospace;text-transform:uppercase;font-size:10.5px;letter-spacing:.05em;cursor:pointer}
.dtp-atalho:hover{color:var(--act);border-color:var(--ac)}
.dtp-resumo{font-family:'GT America Mono',monospace;font-size:12px;color:var(--mu);white-space:nowrap}
.campo-fundo{position:fixed;inset:0;z-index:199;background:rgba(0,0,0,.45);animation:campo-fade .15s ease}
@keyframes campo-fade{from{opacity:0}}
/* celular: abre como folha por baixo */
.csel-pop.campo-folha,.dtp-pop.campo-folha{left:0!important;right:0;bottom:0;top:auto!important;min-width:0!important;max-width:none;width:auto;border-radius:20px 20px 0 0;border-bottom:0;padding:16px 14px calc(16px + env(safe-area-inset-bottom));transform:translateY(24px);max-height:82vh!important}
.csel-pop.campo-folha.aberto,.dtp-pop.campo-folha.aberto{transform:none}
.csel-pop.campo-folha .csel-op{min-height:48px;font-size:15px}
.dtp-pop.campo-folha .dtp-mes{width:100%}
.dtp-pop.campo-folha .dtp-sem,.dtp-pop.campo-folha .dtp-grade{grid-template-columns:repeat(7,1fr)}
.dtp-pop.campo-folha .dtp-dia{height:44px;font-size:15px}
.dtp-pop.campo-folha .dtp-opcoes{min-width:0}
.dtp-pop.campo-folha .dtp-resumo{white-space:normal}

@media print{
  .lateral,.topo,.nav-inferior,.nao-imprimir,.flash{display:none!important}
  .principal{margin:0!important;padding:0!important}
  body{background:#fff;color:#000}
  .card,.card2,.tabela-box{border-color:#ccc;background:#fff}
  .escuro{--bg:#fff;--sf:#fff;--sf2:#fff;--sf3:#eee;--bd:#ccc;--bd2:#bbb;--tx:#000;--mu:#555;--act:#000}
}

/* Computador do caixa: gerente por cima */
.faixa-terminal{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;margin-bottom:16px;border:1px solid var(--ac);border-radius:14px;background:color-mix(in srgb,var(--ac) 10%,var(--sf));font-size:14px}
.faixa-terminal span{flex:1;min-width:200px}
.faixa-terminal>svg{color:var(--act)}
.faixa-banco{display:flex;align-items:center;gap:12px;padding:12px 14px;margin-bottom:16px;border:1px solid var(--laranja);border-radius:14px;background:color-mix(in srgb,var(--laranja) 12%,var(--sf));color:var(--tx);text-decoration:none;font-size:14px}
.faixa-banco>svg{color:var(--laranja);flex-shrink:0}
.faixa-banco:hover{border-color:var(--tx)}

/* Sem barras de rolagem no sistema todo: setinhas (js/rolagem.js) ajudam no computador */
html,body,*{scrollbar-width:none;-ms-overflow-style:none}
html::-webkit-scrollbar,body::-webkit-scrollbar,*::-webkit-scrollbar{display:none;width:0;height:0}
.rolar-seta{position:fixed;z-index:80;height:30px;display:flex;align-items:center;justify-content:center;border:1px solid var(--bd2);padding:0;margin:0;border-radius:999px;cursor:pointer;color:var(--act);background:color-mix(in srgb,var(--sf2) 88%,transparent);backdrop-filter:blur(6px);box-shadow:var(--sh);opacity:0;pointer-events:none;transition:opacity .15s}
.rolar-seta.cima svg{transform:rotate(180deg)}
.rolar-seta.on{opacity:1;pointer-events:auto}
.rolar-seta:hover svg{filter:drop-shadow(0 0 4px var(--act))}
@media print{.rolar-seta{display:none!important}}
.link-btn{background:none;border:0;padding:0;cursor:pointer;font:inherit;color:inherit;text-decoration:underline dotted;text-underline-offset:3px}

/* Menu completo (folha do + e /menu) */
.folha-menu{height:88vh;max-height:88vh;overflow:hidden;gap:12px;padding-bottom:0}
.folha-menu-topo{flex-wrap:nowrap}
.folha-menu .mc{flex:1;min-height:0}
.mc{display:flex;flex-direction:column;gap:12px}
.mc-busca{display:flex;align-items:center;gap:10px;height:46px;padding:0 8px 0 14px;border-radius:14px;background:var(--sf2);border:1px solid var(--bd2);color:var(--mu);flex-shrink:0}
.mc-busca:focus-within{border-color:var(--ac);color:var(--tx)}
.mc-busca input{flex:1;min-width:0;height:100%;background:none;border:0;outline:none;color:var(--tx);font-size:16px}
.mc-busca input::-webkit-search-cancel-button{display:none}
.mc-limpar{width:30px;height:30px;border-radius:9px;border:0;background:var(--sf3);color:var(--tx);display:flex;align-items:center;justify-content:center;cursor:pointer}
.mc-limpar[hidden]{display:none}
.mc-lista{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:18px;padding-bottom:calc(20px + env(safe-area-inset-bottom))}
.mc-secao{display:flex;flex-direction:column;gap:8px}
.mc-secao[hidden]{display:none}
.mc-grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
@media (min-width:520px){.mc-grade{grid-template-columns:repeat(3,minmax(0,1fr))}}
.mc-item{display:flex;align-items:center;gap:10px;min-height:52px;padding:10px 12px;border-radius:14px;background:var(--sf2);border:1px solid var(--bd);color:var(--tx);text-decoration:none;font-size:13px;line-height:1.25}
.mc-item[hidden]{display:none}
.mc-item svg{color:var(--act);flex-shrink:0}
.mc-item:active,.mc-item:hover{border-color:var(--ac)}
.mc-item.on{border-color:var(--ac);background:color-mix(in srgb,var(--ac) 10%,var(--sf2))}
.mc-item span{min-width:0;overflow-wrap:anywhere}
.mc-nada{text-align:center;padding:24px 0;font-size:13px}
.mc-nada[hidden]{display:none}
.mc.buscando .mc-sair{display:none}
.mc-pagina .mc-lista{overflow:visible}
.mc.buscando .mc-sug{display:none}
.mc-sug .mc-item{background:color-mix(in srgb,var(--ac) 7%,var(--sf2))}

/* Terminais do caixa: no celular as informações ficam em cima e os botões embaixo */
.term-item{flex-wrap:wrap}
.term-item .meio{flex:1 1 220px}
.term-item .titulo{white-space:normal}
.term-login{overflow-wrap:anywhere}
.term-acoes{display:flex;align-items:center;gap:8px;margin-left:auto}
.term-acoes form{margin:0}
@media (max-width:699px){.term-acoes{width:100%;justify-content:flex-end;padding-top:10px;border-top:1px solid var(--bd)}}
/* celular com botão voltar: a marca sai do topo para o título da página caber */
@media (max-width:699px){.topo:has(.voltar) .marca{display:none}}

/* ---- Falta para funcionar (implantação): bloco fixo no Início e no painel de notificações ---- */
.imp-falta{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-radius:20px;background:var(--sf);border:1px solid var(--laranja)}
.imp-falta-cab{display:flex;align-items:center;gap:12px;color:var(--tx);text-decoration:none}
.imp-falta-ico{width:36px;height:36px;border-radius:11px;background:var(--laranja);color:#0A0A0A;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.imp-falta-t{font-size:13px;letter-spacing:.04em;text-transform:uppercase}
.imp-falta-pct{font-size:18px;color:var(--laranja)}
.imp-falta-barra{display:block;height:6px;border-radius:999px;background:var(--sf3);overflow:hidden}
.imp-falta-barra i{display:block;height:100%;background:var(--ac);border-radius:999px}
.imp-falta-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.imp-falta-lista a,.imp-ok-linha{display:flex;align-items:center;gap:12px;padding:9px 8px;border-radius:12px;color:var(--tx);text-decoration:none;font-size:13px}
.imp-falta-lista a:hover,.imp-falta-lista a:focus-visible{background:var(--sf2);outline:none}
.imp-falta-lista a>svg{color:var(--mu);flex-shrink:0}
.imp-falta-lista strong{font-size:13px}
.imp-falta-bola{width:18px;height:18px;border-radius:999px;border:2px solid var(--laranja);flex-shrink:0;display:flex;align-items:center;justify-content:center}
.imp-falta-bola.ok{background:var(--ac);border-color:var(--ac);color:#0A0A0A}
.imp-ok-linha{color:var(--mu)}
.imp-falta-mais{align-self:flex-start;font-size:12px;color:var(--act);text-decoration:none;font-family:'GT America Mono',monospace;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px}
.np-imp{margin:12px 14px 0;flex-shrink:0}
.imp-un-lista .btn2{flex-shrink:0}
.imp-ponto{position:absolute;top:6px;left:6px;width:9px;height:9px;border-radius:999px;background:var(--laranja);box-shadow:0 0 0 2px var(--bg)}
