/* ====== Painel financeiro · estilo "Bento neutro" ====== */
/* Poppins (recorte latino, 4 pesos), servida do próprio painel. Caminho absoluto: este CSS é publicado dentro de /v/<carimbo>/. */
@font-face{font-family:"Poppins";font-style:normal;font-weight:400;font-display:swap;src:url("/fontes/poppins-400.woff2") format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:400;font-display:swap;src:url("/fontes/poppins-500.woff2") format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:500;font-display:swap;src:url("/fontes/poppins-600.woff2") format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:600;font-display:swap;src:url("/fontes/poppins-700.woff2") format("woff2")}
/* Atyp: a fonte padrão da área da equipe e do portal das agências (pedido dele, 14/10). A fonte enviada nas Configurações da agência,
   se houver, vem na frente dela. No resto do painel continua a Poppins. */
@font-face{font-family:"Atyp Display";font-style:normal;font-weight:300;font-display:swap;src:url("/fontes/atyp-display-300.woff2") format("woff2")}
@font-face{font-family:"Atyp Display";font-style:normal;font-weight:500;font-display:swap;src:url("/fontes/atyp-display-500.woff2") format("woff2")}
@font-face{font-family:"Atyp Equipe";font-style:normal;font-weight:400;font-display:swap;src:url("/fontes/atyp-text-400.woff2") format("woff2")}
@font-face{font-family:"Atyp Equipe";font-style:normal;font-weight:500;font-display:swap;src:url("/fontes/atyp-text-500.woff2") format("woff2")}
@font-face{font-family:"Atyp Equipe";font-style:normal;font-weight:600 700;font-display:swap;src:url("/fontes/atyp-text-600.woff2") format("woff2")}
:root{
  --bg:#f4f4f2; --card:#ffffff; --line:#e6e6e2; --line2:#efefec;
  --ink:#111111; --ink2:#5a5a57; --ink3:#696966;   /* ink3 = texto de apoio. Era #8a8a86 (3,5:1 no branco); assim dá 5,5:1 no cartão e 4,9:1 no fundo */
  --good:#137a3a; --good-soft:#e8f5ec; --good-bar:#22c55e;   /* era #15803d: na etiqueta verde clara dava 4,47:1; assim dá 4,8:1 */
  --warn:#9a5b00; --warn-soft:#fbf1dc; --warn-bar:#f59e0b;
  --crit:#b91c1c; --crit-soft:#fdeaea; --crit-bar:#ef4444;
  --accent:#111111; --accent-soft:#f0f0ed;
  /* sobre-tinta = texto em cima de fundo var(--ink) (botões, selecionados) · tinta = cartão escuro de destaque (texto sempre branco) */
  --on-ink:#ffffff; --tinta:#111111; --tinta-mut:#9a9a96;
  --viz-1:#2a78d6; --viz-2:#eb6834; --viz-3:#1baf7a; --viz-4:#eda100; --viz-5:#e87ba4; --viz-outras:#c9c8c2;
  --st-warn:#fab219; --st-crit:#d03b3b; --viz-eixo:#6b6a65;
  --chk:#c4c4c0; --nav:#3a3a37; --hover:#f3f3f1; --sel:#efefed; --vidro:rgba(255,255,255,.94); --pisca:#fff7d6;
  --track:#ececea; --r:24px; --r2:16px; --r3:12px;
  --sombra:0 1px 2px rgba(0,0,0,.03);
  --sombra-2:0 16px 40px rgba(0,0,0,.14);
  --fonte:"Poppins",-apple-system,BlinkMacSystemFont,"SF Pro Text","Inter","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color-scheme:light;
}
/* Modo escuro: escolhido no menu da foto (Claro · Escuro · Automático). Fica guardado no aparelho. */
:root[data-tema="escuro"]{
  --bg:#1e1f22; --card:#2a2b2f; --line:#3a3b40; --line2:#323338;   /* 16/10: cinza escuro, não preto (pedido dele) */
  --ink:#f3f3f1; --ink2:#b9b9b5; --ink3:#86868a;
  --good:#4ade80; --good-soft:#11301d; --good-bar:#22c55e;
  --warn:#fbbf24; --warn-soft:#382a08; --warn-bar:#f59e0b;
  --crit:#f87171; --crit-soft:#3a1515; --crit-bar:#ef4444;
  --accent:#f3f3f1; --accent-soft:#26262a; --track:#2b2b2f;
  --on-ink:#111111; --tinta:#2a2a30; --tinta-mut:#a5a5aa;
  --viz-1:#3987e5; --viz-2:#d95926; --viz-3:#199e70; --viz-4:#c98500; --viz-5:#d55181; --viz-outras:#4b4b50; --viz-eixo:#898781;
  --chk:#5a5a60; --nav:#c6c6c2; --hover:#222226; --sel:#2b2b2f; --vidro:rgba(25,25,28,.94); --pisca:#3a3210;
  --sombra:0 1px 2px rgba(0,0,0,.35); --sombra-2:0 16px 40px rgba(0,0,0,.6);
  color-scheme:dark;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
html,body{background:var(--bg);min-height:100%}
body{color:var(--ink);font-family:var(--fonte);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0}
a{color:inherit;text-decoration:none}
[hidden]{display:none!important}
b,strong,h1,h2,h3,h4{font-weight:600}   /* com a Poppins, um degrau mais leve em tudo: negrito e títulos são 600, não 700 */
.num{font-variant-numeric:tabular-nums}
.cap{font-size:12.5px;font-weight:500;color:var(--ink3)}
.mut{color:var(--ink2)} .mut2{color:var(--ink3)}
.in{color:var(--good)}
svg.ic{width:18px;height:18px;flex:0 0 auto;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* ---------- casca: barra lateral + topo ---------- */
.app{display:grid;grid-template-columns:216px minmax(0,1fr);min-height:calc(100dvh / var(--z,1))}
.side{position:sticky;top:0;height:calc(100dvh / var(--z,1));overflow:auto;padding:20px 12px 14px;display:flex;flex-direction:column;gap:2px;border-right:1px solid var(--line);background:var(--card)}
.marca{display:flex;align-items:center;justify-content:center;padding:2px 10px 18px;min-height:56px}
.marca .logo{width:34px;height:34px;border-radius:11px;background:var(--ink);color:var(--on-ink);display:grid;place-items:center;font-weight:700;font-size:12px;letter-spacing:.02em}
.marca .logo-img{max-height:32px;max-width:130px;width:auto;height:auto;display:block}
.nav{display:flex;flex-direction:column;gap:4px}
.nav a{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:12px;color:var(--nav);font-size:14px;font-weight:400;line-height:1.2}
.nav a:hover{background:var(--hover);color:var(--ink)}
.nav a[aria-current="page"]{background:var(--sel);color:var(--ink);font-weight:500}
.nav a svg{width:19px;height:19px;stroke-width:1.5;opacity:1;color:var(--nav)}
.nav .grupo{height:8px;padding:0;font-size:0}
.nav .nav-ag{display:flex;align-items:center;gap:8px;padding:12px 12px 4px;font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink3);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.nav .nav-ag i{width:8px;height:8px;border-radius:50%;background:var(--ac);flex:none}
.nav a.volta{color:var(--ink3);font-size:12.5px;padding:6px 12px 12px}
.nav a.volta svg{width:15px;height:15px}
.side .fim{margin-top:auto;display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;color:var(--nav);font-size:14px;font-weight:400}
.side .fim:hover{background:var(--hover)}
.side .fim .avatar{width:26px;height:26px;font-size:11px}
.side .fim .quem b{display:block;font-size:14px;font-weight:400}
.side .fim .quem small{display:none}
.avatar{width:34px;height:34px;border-radius:50%;background:var(--card);border:1px solid var(--line);color:var(--ink);display:grid;place-items:center;font-weight:600;font-size:13px;flex:0 0 auto;overflow:hidden}
.avatar img{width:100%;height:100%;object-fit:cover;display:block}
.hub-logo{display:flex;justify-content:center;padding:8px 0 18px}
.hub-logo img{max-height:56px;max-width:220px}
.main{min-width:0;display:flex;flex-direction:column}
.topo{display:flex;align-items:center;gap:10px;padding:16px 28px 4px;max-width:1240px;width:100%;margin:0 auto}
.titulo-pg{font-size:22px;font-weight:600;letter-spacing:-.02em;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.topo .dir{margin-left:auto;display:flex;align-items:center;gap:8px}
.sel{position:relative;display:inline-flex;align-items:center}
.sel select{appearance:none;-webkit-appearance:none;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:8px 34px 8px 14px;font-size:13.5px;font-weight:500;width:auto}
.sel svg{position:absolute;right:11px;pointer-events:none;color:var(--ink3);width:16px;height:16px}
.ibtn{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:var(--ink2);border:1px solid var(--line);background:var(--card)}
.ibtn:hover{color:var(--ink);border-color:var(--ink3)}
.ibtn[aria-pressed="true"]{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}
.conteudo{padding:10px 28px 60px;max-width:1240px;width:100%;margin:0 auto}
.saud{display:flex;align-items:center;gap:16px;margin:10px 0 20px}
.saud .foto{width:56px;height:56px;border-radius:50%;background:var(--ink);color:var(--on-ink);display:grid;place-items:center;font-weight:600;font-size:20px;overflow:hidden;flex:0 0 auto}
.saud .foto img{width:100%;height:100%;object-fit:cover;display:block}
.saud h2{font-size:30px;font-weight:600;letter-spacing:-.03em;line-height:1.05}
.saud h2 em{font-style:normal;color:var(--ink3);font-weight:400}
.saud small{display:block;font-size:13px;color:var(--ink3);font-weight:400;margin-top:5px}
.cabec{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 0 14px}
.cabec .filtros{display:flex;gap:6px;flex-wrap:wrap}
.cabec .dir{margin-left:auto;display:flex;gap:8px}
.pill-f{border:1px solid var(--line);background:var(--card);color:var(--ink2);font-size:13px;padding:7px 13px;border-radius:999px;font-weight:400}
.pill-f[aria-selected="true"]{background:var(--ink);border-color:var(--ink);color:var(--on-ink);font-weight:500}
.lista-t{display:flex;flex-direction:column}
.lt{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line2);cursor:pointer;min-width:0}
.lt:last-child{border-bottom:0}
.lt:hover{background:var(--accent-soft);margin:0 -10px;padding:11px 10px;border-radius:12px}
.lt .dia{width:40px;flex:0 0 auto;text-align:center;font-size:12px;color:var(--ink3);line-height:1.1}
.lt .dia b{display:block;font-size:17px;color:var(--ink);font-weight:600}
.lt .tx{flex:1;min-width:0}
.lt .tx b{display:block;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lt .tx small{display:block;color:var(--ink3);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lt .val{font-weight:600;white-space:nowrap;text-align:right}
.lt .val small{display:block;font-weight:400;color:var(--ink3);font-size:11.5px}
.lt.pago .tx b,.lt.pago .val{color:var(--ink3);font-weight:400}
.lt .val.in{color:var(--good)}
.lt .val.out{color:var(--ink)}
.lt.vencida .dia b{color:var(--crit)}
.vazio-c{color:var(--ink3);font-size:13px;padding:14px 0}
.cat-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--c,#999);margin-right:6px;vertical-align:middle}
.barras .b{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;font-size:13.5px;padding:7px 0;align-items:center}
.barras .b .n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.barras .b .v{font-weight:500;white-space:nowrap}
.barras .b .bar{grid-column:1 / -1;height:6px}
.campo.meio{display:inline-flex;width:calc(50% - 5px)}
.campos{display:flex;flex-wrap:wrap;gap:0 10px}
.campos .campo{flex:1 1 100%}
.campos .campo.meio{flex:1 1 calc(50% - 5px)}
.campos .campo.terco{flex:1 1 calc(33.33% - 7px);min-width:0}
.campo textarea{border:1px solid var(--line);border-radius:var(--r3);padding:11px 14px;background:var(--card);font-size:15px;outline:none;resize:vertical;font:inherit}
.campo textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px var(--accent-soft)}
.campo .ajuda{color:var(--ink3);font-size:12px}
label.check{display:flex;align-items:center;gap:10px;padding:10px 0;font-size:14px;cursor:pointer}
label.check input{width:20px;height:20px;accent-color:var(--ink)}
.acoes{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.perigo-txt{color:var(--crit)!important}
.tabela-c{width:100%}
.tabela-c .r button{font-size:12.5px;color:var(--ink2);padding:4px 8px;border-radius:8px;border:1px solid var(--line);background:var(--card)}
.tabela-c .r button:hover{border-color:var(--ink);color:var(--ink)}
.add{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--ink);padding:8px 14px;border-radius:999px;border:1px dashed var(--ink3)}
.add:hover{border-style:solid}
.col-h{font-size:12.5px;font-weight:600;margin-bottom:6px;display:flex;align-items:center;gap:8px}
.col-h .n{font-size:11px;font-weight:600;padding:1px 7px;border-radius:999px;background:var(--line2);color:var(--ink2)}
.col-h.crit{color:var(--crit)}.col-h.crit .n{background:var(--crit-soft);color:var(--crit)}
.col-h.warn{color:var(--warn)}.col-h.warn .n{background:var(--warn-soft);color:var(--warn)}

/* ---------- mosaico ---------- */
.bento{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:150px;grid-auto-flow:dense;gap:12px}
.t{border-radius:var(--r);padding:20px 22px;background:var(--card);border:1px solid var(--line);box-shadow:var(--sombra);display:flex;flex-direction:column;position:relative;overflow:hidden;min-width:0}
.t .cap{font-size:12.5px;font-weight:500;color:var(--ink3)}
.t .big{font-size:clamp(22px,2.3vw,34px);font-weight:600;letter-spacing:-.03em;margin-top:auto;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t .big small{font-size:17px;font-weight:500;color:var(--ink3)}
.t .s{font-size:12.5px;color:var(--ink3);margin-top:6px}
.t .huge{font-size:56px;font-weight:700;letter-spacing:-.04em;line-height:.95;margin-top:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t .huge small{font-size:22px;font-weight:500;color:var(--ink3)}
.t.x2{grid-column:span 2}.t.x3{grid-column:span 3}.t.x4{grid-column:span 4}.t.x6{grid-column:span 6}.t.y2{grid-row:span 2}
.t.ink{background:var(--tinta);color:#fff;border-color:var(--tinta)}
.t.ink .cap,.t.ink .s,.t.ink .huge small,.t.ink .big small{color:var(--tinta-mut)}
.t.ink .in{color:#4ade80}
.t a.mais{font-size:12.5px;font-weight:500;color:inherit;opacity:.7;margin-top:auto;padding-top:8px}
.t .rows{display:flex;flex-direction:column;gap:7px;margin-top:10px;overflow:hidden}
.t .row{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;align-items:center}
.t .row .l{display:flex;gap:8px;align-items:center;min-width:0}
.t .row .l span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.t .row .l .d{color:var(--ink3);flex:0 0 auto;width:22px}
.t .row b{font-weight:500;white-space:nowrap}
.t .chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:10px}
.t .chip{background:var(--accent-soft);border:1px solid var(--line)}
.t.ink .chip{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.14);color:#fff}
.ring{position:absolute;right:18px;top:18px;width:64px;height:64px;border-radius:50%;background:conic-gradient(var(--ink) 0 var(--p,0%),var(--line) 0);display:grid;place-items:center}
.ring::after{content:attr(data-p);width:48px;height:48px;border-radius:50%;background:var(--card);display:grid;place-items:center;font-size:12px;font-weight:600}
.t .minis{display:flex;gap:8px;margin-top:auto;padding-top:14px}
.t .minis .conta{flex:1;min-height:64px;padding:10px 12px;border-radius:14px;box-shadow:none}
.t .minis .conta .logo{height:calc(13px * var(--k,1))}.t .minis .conta .wordmark{font-size:11.5px}.t .minis .conta .nome-c{font-size:11px}.t .minis .conta .saldo-c{font-size:14px}
.t .mini-bar{height:4px;border-radius:2px;background:var(--track);overflow:hidden;margin:4px 0 0}
.t .mini-bar i{display:block;height:100%;background:var(--ink);border-radius:2px}
.t .mini-bar i.crit{background:var(--crit-bar)}.t .mini-bar i.warn{background:var(--warn-bar)}
.t .chart{margin-top:auto}
.t.ink .mini-bar{background:rgba(255,255,255,.15)}.t.ink .mini-bar i{background:#fff}

/* ---------- blocos comuns das outras abas ---------- */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;box-shadow:var(--sombra);min-width:0}
.card h2{font-size:15px;font-weight:600;letter-spacing:-.01em;display:flex;align-items:baseline;gap:10px;margin-bottom:12px}
.card h2 span{margin-left:auto;font-size:12.5px;font-weight:400;color:var(--ink3);text-align:right}
.card h3{font-size:13.5px;font-weight:500;margin:14px 0 8px}
.nota{color:var(--ink2);font-size:12.5px;line-height:1.5;margin-top:12px}
.sec{margin-top:14px}
.sec-t{display:flex;align-items:baseline;gap:10px;margin:24px 0 10px}
.sec-t h2{font-size:20px;font-weight:600;letter-spacing:-.02em}
.sec-t span{color:var(--ink3);font-size:12.5px;margin-left:auto}
.grid{display:grid;gap:12px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.g5{grid-template-columns:repeat(5,minmax(0,1fr))}
.g23{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}

.tile{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px 18px;box-shadow:var(--sombra);display:flex;flex-direction:column;gap:4px;min-width:0;min-height:130px}
.tile .ico{display:none}
.tile .v{font-size:30px;font-weight:600;letter-spacing:-.03em;line-height:1.05;margin-top:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;order:2}
.tile .l{font-size:12.5px;color:var(--ink3);font-weight:500;order:1}
.tile .s{font-size:12.5px;color:var(--ink3);order:3;margin-top:6px}

.fluxo{display:grid;grid-template-columns:repeat(5,minmax(0,1fr) 18px) minmax(0,1.1fr);gap:8px;align-items:stretch}
.fluxo .box{background:var(--card);border:1px solid var(--line);border-radius:var(--r2);padding:14px 16px;min-width:0;box-shadow:var(--sombra)}
.fluxo .box .v{font-size:20px;font-weight:600;letter-spacing:-.02em;margin-top:4px}
.fluxo .box small{display:block;color:var(--ink3);font-size:11.5px;line-height:1.35;margin-top:3px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.fluxo .op{display:grid;place-items:center;color:var(--ink3);font-size:18px;font-weight:400}
.fluxo .res{background:var(--tinta);color:#fff;border-color:var(--tinta)}
.fluxo .res.neg{background:var(--crit);border-color:var(--crit)}
.fluxo .res .cap,.fluxo .res small{color:rgba(255,255,255,.65)}

.chip{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:500;padding:3px 9px;border-radius:999px;white-space:nowrap;background:var(--accent-soft);color:var(--ink2)}
.chip.ok{background:var(--good-soft);color:var(--good)} .chip.warn{background:var(--warn-soft);color:var(--warn)} .chip.crit{background:var(--crit-soft);color:var(--crit)} .chip.info{background:var(--ink);color:var(--on-ink)}

table{width:100%;border-collapse:collapse;font-size:13.5px}
th{font-size:11.5px;color:var(--ink3);font-weight:500;text-align:left;padding:0 10px 8px 0;border-bottom:1px solid var(--line)}
td{padding:10px 10px 10px 0;border-bottom:1px solid var(--line2);vertical-align:baseline}
tr:last-child td{border-bottom:0}
td.r,th.r{text-align:right;padding-right:0;padding-left:12px;white-space:nowrap}
td.d{white-space:nowrap;color:var(--ink3);width:54px}
td small{display:block;color:var(--ink3);font-size:12px;margin-top:1px}
tr.done td{color:var(--ink3)} tr.done td .in{color:var(--ink3)}
tr.next td{background:var(--accent-soft)}
td.sal{font-weight:500}
.scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}

.meter{margin-bottom:12px}.meter:last-child{margin-bottom:0}
.meter .t{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;margin-bottom:6px;border:0;padding:0;background:none;border-radius:0;box-shadow:none;flex-direction:row}
.meter .t span:last-child{color:var(--ink2);white-space:nowrap;font-weight:500}
.bar{height:6px;background:var(--track);border-radius:3px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--ink);border-radius:3px}
.bar i.crit{background:var(--crit-bar)} .bar i.warn{background:var(--warn-bar)} .bar i.good{background:var(--good-bar)}
.meter .sub{font-size:12px;color:var(--ink3);margin-top:4px}
.meter .sub b{color:var(--ink);font-weight:500}
.mini{height:4px;background:var(--track);border-radius:2px;margin-top:6px;overflow:hidden;max-width:260px}
.mini i{display:block;height:100%;border-radius:2px;background:var(--ink)}

.hero{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:12px 14px;background:var(--accent-soft);border-radius:var(--r3);margin-bottom:14px}
.hero b{font-size:20px;font-weight:600}
.hero small{color:var(--ink3);font-size:12px}

.chart{margin:2px 0 10px}
.chart svg{display:block;width:100%;height:auto;overflow:visible}
.chart .ax{font-size:10px;fill:var(--ink3)}
.legenda{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12.5px;color:var(--ink2);margin-top:6px}
.legenda .dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ink);margin-right:6px}

.partes{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.parte{border:1px solid var(--line);border-radius:var(--r2);padding:14px 15px;background:var(--bg)}
.parte.t-violet{background:var(--tinta);color:#fff;border-color:var(--tinta)} .parte.t-violet .cap,.parte.t-violet .per{color:var(--tinta-mut)}
.parte.t-warn{background:var(--warn-soft);border-color:transparent} .parte.t-good{background:var(--good-soft);border-color:transparent}
.parte .big{font-size:24px;font-weight:600;letter-spacing:-.02em;line-height:1.1;margin:6px 0 1px}
.parte .per{font-size:12px;color:var(--ink3)}
.parte .l{display:flex;justify-content:space-between;gap:8px;font-size:12.5px;color:var(--ink2);padding:2px 0}
.parte .l span:last-child{white-space:nowrap}
.parte .l.h{color:var(--ink);font-size:13.5px;margin-top:9px;padding-top:8px;border-top:1px solid var(--line)}
.parte .l.tot{color:var(--ink);font-weight:500;border-top:1px solid var(--line);margin-top:5px;padding-top:6px}
.seg{display:flex;gap:2px;margin:14px 0 0;height:6px}
.seg i{display:block;height:100%;background:var(--ink);border-radius:2px}
.seg i.plan{background:repeating-linear-gradient(135deg,var(--ink) 0 3px,#bdbdb9 3px 6px)}
.seg i.rest{background:var(--track);flex:1 1 auto}

ul.lista{list-style:none}
ul.lista li{position:relative;padding:8px 0 8px 18px;border-bottom:1px solid var(--line2);font-size:13.5px;line-height:1.45}
ul.lista li::before{content:"";position:absolute;left:0;top:15px;width:7px;height:7px;border-radius:50%;background:var(--ink)}
ul.lista li:last-child{border-bottom:0}

.linha{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line2);font-size:13.5px}
.linha:last-child{border-bottom:0}
.linha small{display:block;color:var(--ink3);font-size:12px;margin-top:1px}
.linha b{font-size:15px;font-weight:600;white-space:nowrap}
.linha.nada b{font-weight:400;color:var(--ink3)}

/* ---------- cartõezinhos de conta e de crédito ---------- */
.faixa-contas{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.conta{border-radius:var(--r2);padding:12px 14px;min-height:96px;display:flex;flex-direction:column;box-shadow:0 6px 16px rgba(0,0,0,.12);position:relative;overflow:hidden}
.conta::after,.cc::after{content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.14);pointer-events:none}
.conta .topo-c,.cc-topo{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:24px}
.wordmark{font-weight:700;letter-spacing:-.02em;font-size:13px;opacity:.95}
.conta .logo,.cc .logo{height:calc(18px * var(--k,1));width:auto;max-width:100%;display:block;object-fit:contain;object-position:left center;flex:0 0 auto}
.conta .nome-c{font-size:12px;opacity:.85;margin-top:auto}
.conta .saldo-c{font-size:17px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.conta.grande{min-height:150px;padding:18px 20px;border-radius:var(--r)}
.conta.grande .wordmark{font-size:16px}.conta.grande .logo{height:calc(24px * var(--k,1))}
.conta.grande .nome-c{font-size:13px}.conta.grande .saldo-c{font-size:26px}
.cc{aspect-ratio:1.586;border-radius:var(--r);padding:18px 20px;display:flex;flex-direction:column;gap:6px;cursor:pointer;position:relative;overflow:hidden;box-shadow:0 10px 24px rgba(0,0,0,.14);transition:transform .15s,box-shadow .15s}
.cc:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(0,0,0,.2)}
.cc:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
.cc .wordmark{font-size:16px}.cc .logo{height:calc(22px * var(--k,1))}
.cc-chip{font-size:10.5px;font-weight:600;padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.14);white-space:nowrap}
.cc-nome{font-size:13px;opacity:.85}
.cc-fat{margin-top:auto}
.cc-fat .cap{color:inherit;opacity:.7}
.cc-fat .num{font-size:22px;font-weight:600;letter-spacing:-.01em;line-height:1.15}
.cc-fat small{font-size:12px;opacity:.8}
.cc-lim small{display:block;font-size:11.5px;opacity:.85;margin-top:5px}
.cc-bar{height:5px;border-radius:3px;background:rgba(255,255,255,.28);overflow:hidden}
.cc-bar i{display:block;height:100%;background:rgba(255,255,255,.95);border-radius:3px}
.cc[style*="#163300"] .cc-bar{background:rgba(22,51,0,.18)}.cc[style*="#163300"] .cc-bar i{background:#163300}

/* ---------- etapa 2: marcar pago, lançar gasto, toast ---------- */
.chk{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--chk);background:var(--card);display:grid;place-items:center;padding:0;flex:0 0 auto;transition:background .12s,border-color .12s}
.chk:hover{border-color:var(--ink)}
.chk[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}
.t.ink .chk{background:transparent;border-color:rgba(255,255,255,.4)}.t.ink .chk[aria-pressed="true"]{background:#fff;color:#111;border-color:#fff}
.chk svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
td.c{width:32px;padding-right:6px;vertical-align:middle}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border-radius:999px;font-weight:500;font-size:14px;background:var(--ink);color:var(--on-ink);border:1px solid var(--ink);transition:opacity .12s}
.btn:hover{opacity:.88}.btn:disabled{opacity:.5;cursor:default}
.btn.sec{background:var(--card);color:var(--ink);border-color:var(--line)}
.btn.sec:hover{border-color:var(--ink);opacity:1}
.btn.perigo{background:var(--crit);border-color:var(--crit)}
.btn.bloco{width:100%}
.btn.lancar{padding:8px 14px;gap:6px}
.btn.lancar svg{width:16px;height:16px;stroke:var(--on-ink)}
.btn.fab{display:none;position:fixed;right:16px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:31;width:54px;height:54px;padding:0;border-radius:50%;place-items:center;box-shadow:0 10px 24px rgba(0,0,0,.3)}
.btn.fab svg{width:24px;height:24px;stroke:var(--on-ink)}
table.lan .x{width:26px;height:26px;border-radius:50%;color:var(--ink3);font-size:16px;line-height:1}
table.lan .x:hover{background:var(--crit-soft);color:var(--crit)}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);background:var(--ink);color:var(--on-ink);padding:10px 16px;border-radius:999px;font-size:13.5px;font-weight:400;box-shadow:var(--sombra-2);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:60;max-width:92vw}
.toast.on{opacity:1;transform:translateX(-50%) translateY(0)}
.toast.erro{background:#b91c1c;color:#fff}

/* ---------- diálogo e formulários ---------- */
dialog{margin:auto;border:0;border-radius:var(--r);padding:0;width:min(560px,94vw);max-height:88dvh;background:var(--card);color:var(--ink);box-shadow:var(--sombra-2);font:inherit;overflow:hidden}
dialog::backdrop{background:rgba(17,17,17,.45)}
.dlg{display:flex;flex-direction:column;max-height:88dvh}
.dlg-hd{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:22px 24px 14px}
.dlg-hd h3{font-size:22px;font-weight:600;letter-spacing:-.02em;margin-top:2px}
.dlg-hd small{display:block;color:var(--ink3);font-size:12.5px;margin-top:3px}
.dlg-x{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);font-size:18px;line-height:1;color:var(--ink2);flex:0 0 auto}
.dlg-x:hover{background:var(--bg);color:var(--ink)}
.dlg-bd{padding:4px 24px 22px;overflow:auto}
.pills{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.pill{border:1px solid var(--line);background:var(--card);color:var(--ink2);font-size:13px;padding:6px 13px;border-radius:999px;font-weight:400}
.pill[aria-selected="true"]{background:var(--ink);border-color:var(--ink);color:var(--on-ink);font-weight:500}
.campo{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.campo label{font-size:12.5px;font-weight:500;color:var(--ink2)}
.campo input{border:1px solid var(--line);border-radius:var(--r3);padding:12px 14px;background:var(--card);font-size:16px;outline:none}
.campo input:focus{border-color:var(--ink);box-shadow:0 0 0 3px var(--accent-soft)}
.campo input[hidden]{display:none}
.campo input + input{margin-top:8px}
select{appearance:none;-webkit-appearance:none;border:1px solid var(--line);border-radius:var(--r3);padding:12px 36px 12px 14px;background:var(--card) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a8a86' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>") no-repeat right 12px center/16px;font-size:16px;width:100%}
.campo select:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px var(--accent-soft)}
.alerta{border-radius:var(--r3);padding:10px 12px;font-size:13px;margin-top:12px;line-height:1.45}
.alerta.aviso{background:var(--warn-soft);color:var(--ink)} .prev-soltos{display:flex;align-items:center;justify-content:space-between;gap:10px 14px;flex-wrap:wrap;margin:0 0 14px}   /* respiro embaixo: o aviso ficava colado nos quadros */ .prev-soltos > span{flex:1 1 260px}
.alerta.erro{background:var(--crit-soft);color:var(--crit)} .alerta.ok{background:var(--good-soft);color:var(--good)} .alerta.info{background:var(--accent-soft);color:var(--ink2)}
.login{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:var(--bg);padding:20px}
.login .caixa{width:min(420px,100%);background:var(--card);border:1px solid var(--line);border-radius:28px;padding:34px 30px 28px;box-shadow:var(--sombra-2)}
.login .marca{padding:0 0 22px}
.login .marca b{display:block;font-size:14px;font-weight:600}
.login .marca small{display:block;color:var(--ink3);font-size:12px}
.login h1{font-size:30px;font-weight:600;letter-spacing:-.03em;margin-bottom:6px}
.login p{color:var(--ink2);font-size:13.5px;margin-bottom:22px}
.login .rodape{margin-top:18px;font-size:12px;color:var(--ink3);text-align:center}
.carregando{display:grid;place-items:center;padding:60px 0;color:var(--ink3);font-size:13.5px;gap:10px}
.spinner{width:22px;height:22px;border-radius:50%;border:2.5px solid var(--line);border-top-color:var(--ink);animation:gira .8s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}
/* tela de abertura: cobre tudo até o painel estar pronto, pra não piscar menu/título provisórios.
   O círculo só aparece se demorar (0,4s) e o aviso de conexão lenta só depois de 6s. */
.abrindo{position:fixed;inset:0;z-index:60;display:grid;place-content:center;justify-items:center;gap:14px;background:var(--bg);transition:opacity .22s ease}
.abrindo.saindo{opacity:0;pointer-events:none}
.abrindo .spinner{opacity:0;animation:gira .8s linear infinite,aparecer .3s ease .4s forwards}
.abrindo small{color:var(--ink3);font-size:12.5px;opacity:0;animation:aparecer .4s ease 6s forwards}
@keyframes aparecer{to{opacity:1}}
.vazio{color:var(--ink3);font-size:13.5px;padding:24px 0;text-align:center}
.cfg-l{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line2);font-size:13.5px}
.cfg-l:last-child{border-bottom:0}
.cfg-l small{display:block;color:var(--ink3);font-size:12px}
/* Configurações: seções empilhadas (Perfil · Painel · Financeiro · Dados), alinhadas com o título da página */
.cfg{display:grid;gap:16px;max-width:760px}
.cfg .card h2{margin-bottom:2px}
.cfg-sub{color:var(--ink3);font-size:12.5px;line-height:1.45;margin-bottom:6px}
.cfg-txt{flex:1;min-width:0;line-height:1.35}
.cfg-txt small{margin-top:2px;line-height:1.4}
.cfg-img{justify-content:flex-start;align-items:center}
.cfg-previa{width:44px;height:44px;flex:0 0 auto;border:1px solid var(--line);border-radius:var(--r3);background:var(--bg);display:grid;place-items:center;overflow:hidden;padding:6px}
.cfg-previa.larga{width:88px}
.cfg-previa img{max-width:100%;max-height:100%;display:block;object-fit:contain}
.cfg-previa span{font-size:10.5px;color:var(--ink3)}
.cfg-previa.escura{background:#1c1c1e;border-color:#3a3a3c}
.cfg-previa.escura span{color:#8e8e93}
.cfg-btns{display:flex;gap:6px;flex:0 0 auto}
.cfg-bloco{padding:14px 0 2px;font-size:13.5px}
@media (max-width:600px){
  .cfg-img{flex-wrap:wrap}
  .cfg-img .cfg-txt{flex-basis:calc(100% - 110px)}
  .cfg-img .cfg-btns{width:100%}
  .cfg-img .cfg-btns .btn{flex:1;justify-content:center}
}
input[type=file]{font-size:13px}
.progresso{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--ink2);white-space:pre-wrap;background:var(--bg);border-radius:var(--r3);padding:10px 12px;margin-top:10px;max-height:220px;overflow:auto}

/* ---------- mobile ---------- */
.tabbar{display:none}
.folha{position:fixed;inset:0;z-index:40;background:rgba(17,17,17,.45);align-items:flex-end;display:none}
.folha[data-aberta="1"]{display:flex}
.folha .painel{background:var(--card);width:100%;border-radius:24px 24px 0 0;padding:14px 14px calc(16px + env(safe-area-inset-bottom));max-height:80dvh;overflow:auto}
.folha .painel .alca{width:40px;height:4px;border-radius:2px;background:var(--line);margin:0 auto 10px}
.folha .nav{flex-direction:column;margin:0}
.folha .nav a{padding:12px 14px;font-size:15px;border-radius:var(--r3)}
.folha .nav a svg{display:block}
@media (max-width:1100px){
  .faixa-contas{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cards-grid,.contas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .g4,.g5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .g3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .g23{grid-template-columns:minmax(0,1fr)}
  .fluxo{grid-template-columns:repeat(3,minmax(0,1fr))}
  .fluxo .op{display:none}
  .bento{grid-template-columns:repeat(4,minmax(0,1fr))}
  .t.x3{grid-column:span 2}.t.x4,.t.x6{grid-column:span 4}
}
@media (max-width:860px){
  .app{grid-template-columns:minmax(0,1fr)}
  .side{display:none}
  .topo{padding:12px 16px 4px;gap:8px}
  .titulo-pg{font-size:20px}
  .campos .campo.meio{flex-basis:100%}
  .conteudo{padding:4px 16px calc(84px + env(safe-area-inset-bottom))}
  .saud{font-size:26px;margin:10px 0 16px}
  .g2,.g3{grid-template-columns:minmax(0,1fr)}
  .g4,.g5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tile{min-height:0;padding:16px 18px}
  .tile .v{font-size:24px;margin-top:6px}
  .fluxo{grid-template-columns:repeat(2,minmax(0,1fr))}
  .card{padding:16px 16px;border-radius:20px}
  .bento{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:140px;gap:10px}
  .t{padding:16px 16px;border-radius:20px}
  .t.x3,.t.x4,.t.x6{grid-column:span 2}
  .t .huge{font-size:40px}.t .big{font-size:26px}
  .t .minis .conta{padding:8px 10px;min-height:56px}
  .faixa-contas{display:flex;gap:10px;overflow-x:auto;margin:0 -16px;padding:4px 16px 8px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
  .faixa-contas .conta{flex:0 0 150px;scroll-snap-align:start}
  .cards-grid,.contas-grid{grid-template-columns:minmax(0,1fr)}
  .contas-grid .conta.grande{min-height:130px}
  .btn.lancar{display:none}
  .btn.fab{display:grid}
  .toast{bottom:calc(140px + env(safe-area-inset-bottom))}
  table.cal thead{display:none}
  table.cal tr{display:grid;grid-template-columns:30px 34px minmax(0,1fr) auto;grid-template-areas:"c d t v" "c d t s";column-gap:8px;padding:9px 0;border-bottom:1px solid var(--line2)}
  table.cal tr:last-child{border-bottom:0}
  table.cal td{border:0;padding:0}
  table.cal td.c{grid-area:c;width:auto}
  table.cal td.d{grid-area:d;width:auto}
  table.cal td:nth-child(3){grid-area:t}
  table.cal td.r:not(.sal){grid-area:v;padding-left:0}
  table.cal td.sal{grid-area:s;font-size:12px;font-weight:400;color:var(--ink3);padding-left:0}
  table.cal tr.next{background:var(--accent-soft);margin:0 -8px;padding:9px 8px;border-radius:10px}
  table.cal tr.next td{background:none}
  .tabbar{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--vidro);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}
  .tabbar a,.tabbar button{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;color:var(--ink3);font-size:10.5px;font-weight:500;border-radius:10px}
  .tabbar a[aria-current="page"]{color:var(--ink)}
  .tabbar svg{width:22px;height:22px}
  dialog{width:100vw;max-width:none;max-height:92dvh;margin:auto 0 0;border-radius:24px 24px 0 0}
  .dlg{max-height:92dvh}
}
/* o menu lateral no celular (Head): ☰ abre o menu da esquerda por cima; as bolinhas das áreas e a barra de baixo saem */
#btnMenu{display:none}
.side-fundo{display:none}
@media (max-width:860px){
  .com-menu-lateral #btnMenu:not([hidden]){display:inline-grid;margin-left:-6px}
  .com-menu-lateral .hc-areas,.com-menu-lateral .tabbar{display:none}
  .com-menu-lateral .hc{grid-template-columns:minmax(0,1fr)} .com-menu-lateral .hc-lado{grid-column:1 / -1}   /* sem a coluna das áreas, o conteúdo usa a largura toda (701–860 px reservava 190 px para ela) */
  .com-menu-lateral .conteudo{padding-bottom:calc(24px + env(safe-area-inset-bottom))}
  body.menu-lateral{overflow:hidden}
  body.menu-lateral .app .side{display:flex;position:fixed;top:0;left:0;bottom:0;z-index:70;width:min(300px,84vw);height:100dvh;box-shadow:0 0 40px rgba(0,0,0,.25);padding-top:calc(20px + env(safe-area-inset-top))}
  .side-fundo:not([hidden]){display:block;position:fixed;inset:0;z-index:69;background:rgba(0,0,0,.38)}
}
@media (max-width:860px) and (prefers-reduced-motion:no-preference){ body.menu-lateral .app .side{animation:entrarLado .22s cubic-bezier(.2,.7,.2,1)} .side-fundo:not([hidden]){animation:escurecer .22s ease-out} }
@keyframes entrarLado{from{transform:translateX(-100%)}to{transform:none}}
.avatar img.av-logo{object-fit:contain;padding:4px;background:#fff}
@media (display-mode:standalone){
  .topo{padding-top:calc(12px + env(safe-area-inset-top))}
}

/* ---------- hub de setores ---------- */
.hub{max-width:1000px;margin:0 auto}
.setores{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.setor{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px 26px;min-height:200px;position:relative;transition:transform .15s,box-shadow .15s}
.setor:hover{transform:translateY(-2px);box-shadow:var(--sombra-2)}
.setor.ink{background:var(--tinta);color:#fff;border-color:var(--tinta)}
.setor .cap{font-size:12.5px;font-weight:500;color:var(--ink3)}
.setor.ink .cap,.setor.ink .s{color:var(--tinta-mut)}
.setor h3{font-size:26px;font-weight:600;letter-spacing:-.03em;margin:6px 0 14px}
.setor .kv{display:flex;flex-direction:column;gap:6px}
.setor .kv div{display:flex;justify-content:space-between;gap:10px;font-size:13.5px}
.setor .kv b{font-weight:500;white-space:nowrap}
.setor .ir{position:absolute;right:22px;top:22px;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--ink2)}
.setor.ink .ir{border-color:rgba(255,255,255,.25);color:#fff}
.setor .ir svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.setor.breve{opacity:.6;border-style:dashed}
/* tela inicial: quadro de boas-vindas em degradê (a mesma arte da entrada) e um bloco por setor, cada um com a sua cor */
.hub-heroi{position:relative;overflow:hidden;isolation:isolate;border-radius:32px;min-height:236px;padding:26px 30px 28px;color:#fff;background:#0d0d11 url(/icones/arte-grafite.svg) right center / cover no-repeat;display:flex;flex-direction:column;justify-content:space-between;gap:34px;box-shadow:0 24px 50px -28px rgba(0,0,0,.55)}
.hub-heroi .luz{position:absolute;z-index:-1;border-radius:50%;pointer-events:none;will-change:transform}
.hub-heroi .luz.a{width:560px;height:560px;right:-150px;bottom:-380px;background:radial-gradient(closest-side,rgba(233,196,106,.42),rgba(233,196,106,0))}
.hub-heroi .luz.b{width:520px;height:520px;left:-200px;top:-330px;background:radial-gradient(closest-side,rgba(255,255,255,.13),rgba(255,255,255,0))}
.hh-logo{min-height:30px;display:flex;align-items:center}
.hh-logo img{max-height:30px;max-width:190px;width:auto;display:block}
.hh-logo img.sobre-claro{background:#fff;border-radius:10px;padding:6px 10px;box-sizing:content-box}
.hh-nome{font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.hh-saud{display:flex;align-items:center;gap:16px}
.hh-saud .foto{width:60px;height:60px;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;display:grid;place-items:center;font-weight:600;font-size:21px;overflow:hidden;flex:0 0 auto;box-shadow:0 0 0 2px rgba(255,255,255,.22)}
.hh-saud .foto img{width:100%;height:100%;object-fit:cover;display:block}
.hh-saud h2{font-size:34px;font-weight:600;letter-spacing:-.03em;line-height:1.05}
.hh-saud small{display:block;font-size:13.5px;color:rgba(255,255,255,.66);margin-top:6px}
.hub-cap{font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);margin:26px 4px 12px}
.setor.cor{display:flex;flex-direction:column;overflow:hidden;min-height:214px;padding:24px 26px;border:0;color:#fff;background:url(/icones/ruido.svg) 0 0 / 220px 220px,radial-gradient(130% 120% at 100% 0%,rgba(var(--brilho),.34) 0%,rgba(var(--brilho),0) 60%),var(--g);box-shadow:0 22px 44px -26px rgb(var(--tom))}   /* só a cor: degradê, um radial suave e ruído fino */
.setor.cor.st-fin{--g:linear-gradient(140deg,#06241b 0%,#0e4a37 52%,#1d8460 118%);--tom:14,74,55;--brilho:126,240,190}
.setor.cor.st-cli{--g:linear-gradient(140deg,#11163f 0%,#252e86 52%,#5a67e0 118%);--tom:37,46,134;--brilho:176,186,255}
/* o início do sistema de agências (059): Head (laranja quente) e Desenvolvedor (violeta) */
.setor.cor.st-head{--g:linear-gradient(140deg,#2a1206 0%,#7a3510 52%,#e0782a 118%);--tom:122,53,16;--brilho:255,196,140}
.setor.cor.st-dev{--g:linear-gradient(140deg,#150f33 0%,#3a2a86 52%,#7c5cff 118%);--tom:58,42,134;--brilho:196,180,255}
.st-ic{width:48px;height:48px;border-radius:16px;background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);display:grid;place-items:center;margin-bottom:auto}
.st-ic .ic{width:22px;height:22px;stroke:#fff}
.setor.cor h3{font-size:28px;margin:26px 0 6px}
.setor.cor p{font-size:13.5px;line-height:1.45;color:rgba(255,255,255,.86);max-width:34ch}
.setor.cor .ir{border-color:rgba(255,255,255,.28);color:#fff;background:rgba(255,255,255,.08)}
.st-avisos{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px}
.setor.cor .st-ic{margin-bottom:0}.setor.cor .st-avisos{margin-top:auto;padding-top:16px}   /* 17/10: o título fica preso no alto (Financeiro e Clientes alinhados); só os avisos descem */
.st-aviso{font-size:12px;font-weight:500;padding:5px 11px;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;white-space:nowrap}
.st-aviso.forte{background:#fff;color:#111}
.st-aviso.calmo{background:transparent;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);color:rgba(255,255,255,.72)}
@media (max-width:860px){ .hub-heroi{border-radius:26px;min-height:200px;padding:22px 22px 24px;gap:26px} .hh-saud h2{font-size:27px} .hh-saud .foto{width:52px;height:52px} .setor.cor{min-height:0} .setor.cor h3{font-size:24px;margin-top:20px} }
@media (prefers-reduced-motion:no-preference){
  @keyframes luzVai{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-90px,-50px,0) scale(1.18)}}
  @keyframes luzVem{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(110px,60px,0) scale(1.12)}}
  .hub-heroi .luz.a{animation:luzVai 16s ease-in-out infinite alternate}
  .hub-heroi .luz.b{animation:luzVem 22s ease-in-out infinite alternate}
  .setor.cor:hover .ir{transform:translateX(3px)}
  .setor.cor .ir{transition:transform .25s cubic-bezier(.2,.7,.2,1)}
}
.nav a.volta{color:var(--ink3);font-size:13px;padding:6px 12px;margin-bottom:6px}
/* ---------- editor de proposta / kanban ---------- */
.inp{width:100%;border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:14px;background:var(--card);outline:none}
.inp:focus{border-color:var(--ink)}
.inp.peq{margin-top:4px;font-size:12.5px;color:var(--ink2)}
.inp.r{text-align:right}
table.itens td{vertical-align:top;padding:8px 8px 8px 0}
table.itens .x{width:26px;height:26px;border-radius:50%;color:var(--ink3);font-size:16px}
table.itens .x:hover{background:var(--crit-soft);color:var(--crit)}
.total-ed{display:flex;justify-content:space-between;align-items:baseline;border-top:2px solid var(--ink);margin-top:12px;padding-top:10px;font-size:14px}
.total-ed b{font-size:22px;letter-spacing:-.02em}
.kanban{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:start}
.kcol{background:var(--accent-soft);border-radius:var(--r2);padding:10px;min-height:120px}
.kcard{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-top:8px;cursor:pointer}
.kcard:hover{border-color:var(--ink)}
.kcard b{display:block;font-size:13.5px;font-weight:500}
.kcard small{display:block;color:var(--ink3);font-size:12px}
.kfoot{display:flex;justify-content:space-between;font-size:12px;margin-top:6px;font-weight:500}
.kfoot .crit{color:var(--crit)}
.lt .avatar{width:36px;height:36px}
@media (max-width:1100px){.kanban{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:860px){.setores{grid-template-columns:minmax(0,1fr)}.setor{min-height:0}.kanban{grid-template-columns:minmax(0,1fr)}.setor h3{font-size:22px}}

/* ---------- primeiros passos ---------- */
.passos-l{display:flex;flex-direction:column}
.passo{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--line2)}
.passo:last-child{border-bottom:0}
.passo .n{width:30px;height:30px;border-radius:50%;background:var(--ink);color:var(--on-ink);display:grid;place-items:center;font-weight:600;font-size:13px;flex:0 0 auto}
.passo.ok .n{background:var(--good-soft);color:var(--good)}
.passo .tx{flex:1;min-width:0}.passo .tx b{display:block;font-size:14px}.passo .tx small{display:block;color:var(--ink3);font-size:12.5px}
.passo.ok .tx b{color:var(--ink2)}

/* hub sem coluna lateral */
.app.sem-lateral{grid-template-columns:minmax(0,1fr)}
.app.sem-lateral .side{display:none}
.app.sem-lateral .topo{max-width:1000px}
.app.sem-lateral .conteudo{max-width:1000px}
.app.sem-lateral .tabbar{display:none}

/* ---------- movimento (fluidez) ---------- */
@media (prefers-reduced-motion:no-preference){
  .conteudo.entrando > *{animation:subir .38s cubic-bezier(.2,.7,.2,1) both}
  .conteudo.entrando > *:nth-child(2){animation-delay:.05s}.conteudo.entrando > *:nth-child(3){animation-delay:.1s}.conteudo.entrando > *:nth-child(4){animation-delay:.15s}.conteudo.entrando > *:nth-child(5){animation-delay:.2s}.conteudo.entrando > *:nth-child(n+6){animation-delay:.25s}
  @keyframes subir{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
  .bento .t,.tile,.card,.setor,.conta,.cc,.kcard{transition:transform .22s cubic-bezier(.2,.7,.2,1),box-shadow .22s,border-color .18s,background-color .18s}
  .bento .t:hover,.tile:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,0,0,.08)}
  .conta:hover{transform:translateY(-3px) scale(1.01);box-shadow:0 12px 28px rgba(0,0,0,.18)}
  .nav a,.pill-f,.pill,.btn,.ibtn,.chip,.lt,.chk,.tabbar a{transition:background-color .18s,color .18s,border-color .18s,transform .18s,opacity .18s,box-shadow .18s}
  .nav a:active,.btn:active,.pill-f:active,.ibtn:active{transform:scale(.97)}
  .btn:hover{transform:translateY(-1px)}
  .btn.fab:active{transform:scale(.92)}
  .chk:active{transform:scale(.85)}
  .chk[aria-pressed="true"] svg{animation:pop .3s cubic-bezier(.2,.9,.3,1.4)}
  @keyframes pop{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}
  .bar i,.mini-bar i,.cc-bar i,.seg i{transition:width .6s cubic-bezier(.2,.7,.2,1),flex-basis .6s}
  .ring{transition:--p .6s}
  dialog[open]{animation:abrir .28s cubic-bezier(.2,.7,.2,1)}
  dialog[open]::backdrop{animation:escurecer .28s ease-out}
  @keyframes abrir{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
  @keyframes escurecer{from{opacity:0}to{opacity:1}}
  .folha[data-aberta="1"] .painel{animation:deslizar .3s cubic-bezier(.2,.7,.2,1)}
  @keyframes deslizar{from{transform:translateY(100%)}to{transform:none}}
  .toast{transition:opacity .25s,transform .3s cubic-bezier(.2,.7,.2,1)}
  .saud .foto,.avatar{transition:transform .2s}
  .saud .foto:hover{transform:rotate(-4deg) scale(1.04)}
  .chart path{transition:d .5s}
  .num.vivo{animation:piscar .5s}
  @keyframes piscar{from{background:var(--pisca)}to{background:transparent}}
  .lt:hover{transform:translateX(2px)}
  @media (max-width:860px){dialog[open]{animation:deslizar .32s cubic-bezier(.2,.7,.2,1)}}
}

.mes-nav{display:flex;align-items:center;gap:8px;font-size:15px}
.mes-nav .ibtn{width:32px;height:32px;font-size:18px;line-height:1}
.mes-nav a{text-decoration:underline}

/* ---------- metas ---------- */
.metas-grid{align-items:stretch}
.meta{display:flex;flex-direction:column;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;min-width:0}
.meta.done{opacity:.92}
.meta-topo{display:flex;align-items:center;gap:12px}
.meta-ico{width:40px;height:40px;border-radius:12px;background:var(--accent-soft);display:grid;place-items:center;font-size:20px;flex:0 0 auto}
.meta-ico.grande{width:52px;height:52px;font-size:26px;border-radius:16px}
.meta-tit{flex:1;min-width:0}.meta-tit b{display:block;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meta-tit small{display:block;color:var(--ink3);font-size:12px}
.meta-num{display:flex;align-items:baseline;gap:8px;margin-top:4px}.meta-num b{font-size:24px;letter-spacing:-.02em}.meta-num span{font-size:12.5px}
.meta-pe{display:flex;justify-content:space-between;font-size:12px;color:var(--ink3)}
.meta.compacta{padding:14px 16px;gap:8px}.meta.compacta .meta-num b{font-size:20px}
.meta-hero .meta-big{display:flex;align-items:baseline;gap:10px;margin:16px 0 10px}.meta-hero .meta-big b{font-size:34px;letter-spacing:-.03em}.meta-hero .meta-big span{color:var(--ink3)}
.item-meta:hover{background:var(--accent-soft);margin:0 -10px;padding:8px 10px;border-radius:12px}

.foto-atual{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:var(--r3);padding:10px 12px;background:var(--bg)}
.foto-atual img{max-height:48px;max-width:160px;display:block}
.foto-atual img.redonda{width:48px;height:48px;border-radius:50%;object-fit:cover}
.foto-atual.vazia{justify-content:flex-start}
.foto-atual.escura{background:#1c1c1e;border-color:#1c1c1e}
.foto-atual.escura .btn.sec{background:#2c2c2e;border-color:#3a3a3c;color:#fff}
.foto-acoes{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.btn.mini{padding:7px 12px;font-size:12.5px;gap:6px;cursor:pointer}
.btn.mini svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.recorte{position:relative;width:280px;height:280px;margin:0 auto;border-radius:16px;overflow:hidden;background:#111;touch-action:none;cursor:grab}
.recorte:active{cursor:grabbing}
.recorte canvas{display:block}
.recorte .mascara{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 140px rgba(0,0,0,.55);border-radius:50%}
.zoom{display:flex;align-items:center;gap:10px;max-width:280px;margin:14px auto 0;color:var(--ink3);font-size:18px}
.zoom input{flex:1;accent-color:var(--ink)}

/* toast com desfazer e barra de tempo */
.toast{display:flex;align-items:center;gap:14px;overflow:hidden;padding:12px 18px 14px}
/* o aviso usa a largura que o texto pede (até 92% da tela). Sem isto, por estar preso no meio da tela, ele só usava metade dela
   e um texto comprido virava uma bola no celular. Canto de 24px: numa linha continua pílula; em duas, vira um cartão arredondado. */
.toast{width:max-content;border-radius:24px}
.toast .desfazer{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px;padding:2px 0;white-space:nowrap}
.toast .desfazer:disabled{opacity:.6}
.toast .tempo{position:absolute;left:0;bottom:0;height:3px;background:rgba(255,255,255,.55);width:100%;transform-origin:left;animation:esvaziar linear forwards}
.toast.erro .tempo{background:rgba(255,255,255,.5)}
@keyframes esvaziar{from{transform:scaleX(1)}to{transform:scaleX(0)}}
.toast.com-desfazer{padding-right:16px}
/* primeiros passos: recolher e fechar */
.passos h2 .ctl{margin-left:auto;display:flex;gap:4px}
.passos h2 .ctl button{width:28px;height:28px;border-radius:50%;border:1px solid var(--line);color:var(--ink2);display:grid;place-items:center;font-size:14px;line-height:1}
.passos h2 .ctl button:hover{color:var(--ink);border-color:var(--ink)}
.passos.recolhido .passos-l{display:none}
.passos.recolhido h2{margin-bottom:0}

/* caixinhas dentro da conta */
.cx-tot{font-size:11px;font-weight:500;background:rgba(255,255,255,.14);padding:2px 8px;border-radius:999px;white-space:nowrap}
.caixinhas{margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.25);display:flex;flex-direction:column;gap:5px}
.caixinhas .cx{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;opacity:.92}
.caixinhas .cx small{opacity:.88}
.caixinhas .cx.zerada{opacity:.8}
.campo input.travado{background:var(--bg);color:var(--ink2)}
.campo[data-campo="usar_nome"]{margin-top:-6px}
.contas-grid{grid-auto-rows:1fr}   /* todos os quadros de conta com a mesma altura */
.contas-grid .conta{height:100%}
.conta[style*="#163300"] .caixinhas{border-top-color:rgba(22,51,0,.2)}

/* ---------- folhas de "ver" (detalhes.js): tocar mostra, editar é botão à parte ---------- */
.toque{cursor:pointer;border-radius:10px;transition:background-color .15s}
.barras .b.toque,.toque:has(> .meter){margin:0 -8px;padding-left:8px;padding-right:8px}
.toque:has(> .meter){padding-top:8px;padding-bottom:8px;margin-bottom:4px}
.toque:hover{background:var(--bg)}
.ibtn.mini{width:30px;height:30px}.ibtn.mini .ic{width:16px;height:16px}
/* copiar o nome do vídeo (lista do pacote e título da página do vídeo). Não usa ".mini": essa classe também é a barrinha de progresso */
.ibtn.copia-nome{width:30px;height:30px;flex:0 0 auto;cursor:pointer} .ibtn.copia-nome .ic{width:15px;height:15px} .ibtn.copia-nome:hover{color:var(--ink);border-color:var(--ink3)}
.tb-quem h2 .copia-nome{display:inline-grid;vertical-align:middle;margin:-3px 0 0 4px}
/* no celular o nome do vídeo é o que importa: ele quebra em duas linhas e a etiqueta (que repete a linha de baixo) sai */
@media (max-width:560px){ .lt[data-video] .tx b{white-space:normal;overflow:visible} .lt[data-video] > .chip{display:none} }
.card h2 span .ibtn{display:inline-grid;vertical-align:middle}
.ver-dest{padding:0 0 14px}
.ver-dest .v{font-size:32px;font-weight:600;letter-spacing:-.025em;line-height:1.1}
.ver-dest .v.in{color:var(--good)}
.ver-dest .s{color:var(--ink3);font-size:13px;margin-top:8px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.ver-dest .s b{color:var(--ink)}
.ver-dest .bar{height:8px;border-radius:99px}
.ver-dest .bar i{border-radius:99px}
.ver-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}
.ver-nav .ibtn{width:32px;height:32px;font-size:18px;line-height:1}
.ver-partes{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px;margin-bottom:4px}
.ver-partes div{background:var(--bg);border-radius:12px;padding:10px 12px;min-width:0}
.ver-partes small{display:block;color:var(--ink3);font-size:11.5px}
.ver-partes b{font-size:15px;font-weight:600;white-space:nowrap}
@media (max-width:420px){.ver-partes div{padding:10px 9px}.ver-partes b{font-size:13px}}   /* com centavos (R$ 3.081,85) os três valores cabem lado a lado no celular */
.ver-l{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid var(--line2);font-size:13.5px}
.ver-l span:first-child{color:var(--ink3);flex:0 0 auto}
.ver-l span:last-child{text-align:right;font-weight:400;min-width:0;overflow-wrap:anywhere}
.ver-h{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink3);margin:20px 0 2px}
.dlg.ver .lista-t .lt:last-child{border-bottom:0}
.ver-acoes{display:flex;gap:8px;margin-top:20px;flex-wrap:wrap}
.ver-acoes .btn{flex:1;white-space:nowrap}
.ver-acoes .btn .ic{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.dlg.ver:focus{outline:none}
/* a logo nunca encolhe; quem cede espaço é o selo ao lado ("+ R$ … guardados", "quase sem limite") */
.conta .topo-c .cx-tot,.cc-topo .cc-chip{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:0 1 auto}

/* ---------- botão "novo" só com o ícone (fora da aba Lançamentos) ---------- */
.btn.lancar.so-icone{width:38px;height:38px;padding:0;border-radius:50%}
.btn.lancar.so-icone svg{width:18px;height:18px}

/* ---------- menu da foto de perfil ---------- */
.topo .avatar{cursor:pointer}
.menu-perfil{position:fixed;z-index:45;width:268px;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--sombra-2);padding:8px;font-size:14px}
.menu-perfil .mp-quem{display:flex;align-items:center;gap:10px;padding:8px 10px 12px;border-bottom:1px solid var(--line2);margin-bottom:6px;min-width:0}
.menu-perfil .mp-quem .avatar{width:38px;height:38px}
.menu-perfil .mp-quem b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.menu-perfil .mp-quem small{display:block;color:var(--ink3);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.menu-perfil .mp-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border-radius:11px;color:var(--ink);font-weight:400;text-align:left}
.menu-perfil .mp-item:hover{background:var(--hover)}
.menu-perfil .mp-item .ic{color:var(--ink2)}
.menu-perfil .mp-tema{padding:8px 10px 10px}
.menu-perfil .mp-tema > span{display:block;font-size:12px;font-weight:500;color:var(--ink3);margin-bottom:7px}
.menu-perfil .mp-seg{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:var(--bg);border-radius:11px;padding:3px}
.menu-perfil .mp-seg button{padding:7px 4px;border-radius:9px;font-size:12.5px;font-weight:500;color:var(--ink2)}
.menu-perfil .mp-seg button[aria-pressed="true"]{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.14)}
.menu-perfil .mp-linha{height:1px;background:var(--line2);margin:6px 0}
@media (prefers-reduced-motion:no-preference){ .menu-perfil{animation:abrir .16s ease-out;transform-origin:top right} }

/* ---------- modo escuro: ajustes pontuais ---------- */
/* logo feita para fundo claro, no modo escuro e sem versão escura enviada: ganha um fundo claro pra não sumir */
.marca .logo-img.sobre-claro,.hub-logo img.sobre-claro{background:#fff;border-radius:10px;padding:6px 8px;box-sizing:content-box}
:root[data-tema="escuro"] dialog::backdrop{background:rgba(0,0,0,.62)}
:root[data-tema="escuro"] .folha{background:rgba(0,0,0,.62)}
:root[data-tema="escuro"] .conta,:root[data-tema="escuro"] .cc{box-shadow:0 8px 20px rgba(0,0,0,.4)}
/* prévias das configurações mostram o fundo em que a imagem vai aparecer: claro é sempre claro, escuro é sempre escuro */
.cfg-previa:not(.escura){background:#f4f4f2;border-color:#e6e6e2}
.cfg-previa:not(.escura) span{color:#696966}
/* Configurações centralizadas: título, seta de voltar, foto e os quadros na mesma coluna, no meio da tela */
.app.pg-config .topo,.app.pg-config .conteudo{max-width:1060px}
.app.pg-config .cfg{max-width:none}
/* Configurações por setor: o menu (Geral · Financeiro · Clientes) ao lado e, à direita, só os quadros do item aberto */
.cfg2{display:grid;grid-template-columns:244px minmax(0,1fr);gap:22px;align-items:start}
.cfg-menu{position:sticky;top:16px;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:10px;box-shadow:var(--sombra)}
.cfg-setor{font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink3);padding:14px 12px 6px}
.cfg-setor:first-child{padding-top:6px}
.cfg-grupo{display:flex;flex-direction:column;gap:2px}
.cfg-menu a{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:12px;color:var(--nav);font-size:14px;line-height:1.2}
.cfg-menu a:hover{background:var(--hover);color:var(--ink)}
.cfg-menu a[aria-current="page"]{background:var(--sel);color:var(--ink);font-weight:500}
.cfg-menu a svg{width:19px;height:19px;stroke-width:1.5}
.cfg-setor{display:flex;align-items:center;gap:7px}
.cfg-setor .ic{width:13px;height:13px;stroke-width:2}
/* ícones dentro dos quadros: o do título (quadrado cheio) e o de cada linha (quadrado claro, do tamanho do selo dos bancos) */
.cfg-cab{display:flex;align-items:flex-start;gap:14px;margin-bottom:8px}
.cfg-cab > div{flex:1;min-width:0}
.cfg .card .cfg-cab h2{margin:1px 0 2px;font-size:16px}
.cfg-cab .cfg-sub{margin:0}
.cfg-hic{flex:0 0 auto;width:38px;height:38px;border-radius:12px;background:var(--ink);color:var(--on-ink);display:grid;place-items:center}
.cfg-hic .ic{width:19px;height:19px;stroke-width:1.7}
.cfg-ic{flex:0 0 auto;width:30px;height:30px;border-radius:9px;background:var(--bg);color:var(--ink2);box-shadow:inset 0 0 0 1px var(--line);display:grid;place-items:center}
.cfg-ic .ic{width:16px;height:16px}
.cfg-tit b,.cfg-bloco > b{display:inline-flex;align-items:center;gap:8px}
.cfg-tit b .ic,.cfg-bloco > b .ic{width:16px;height:16px;color:var(--ink2)}
.cm-t{flex:1;min-width:0}
.cm-t b{display:block;font-weight:inherit}
.cm-t small,.cm-seta{display:none}
@media (max-width:860px){
  /* celular: primeiro a lista, por setor; tocar num item abre a tela dele */
  .cfg2{display:block}
  .cfg2.com-item .cfg-menu{display:none}
  .cfg2.so-lista .cfg{display:none}
  .cfg-menu{position:static;background:none;border:0;padding:0;box-shadow:none}
  .cfg-setor{padding:20px 6px 8px}
  .cfg-setor:first-child{padding-top:2px}
  .cfg-grupo{gap:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r2);overflow:hidden;box-shadow:var(--sombra)}
  .cfg-menu a{border-radius:0;gap:13px;padding:12px 14px;min-height:60px;color:var(--ink);border-bottom:1px solid var(--line2)}
  .cfg-menu a:last-child{border-bottom:0}
  .cfg-menu a[aria-current="page"]{background:none;font-weight:400}
  .cfg-menu a svg{width:34px;height:34px;padding:8px;border-radius:10px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink2)}
  .cfg-setor .ic{width:13px;height:13px;padding:0;background:none;box-shadow:none}
  .cm-t b{font-size:15px;font-weight:500}
  .cm-t small{display:block;margin-top:2px;font-size:12.5px;line-height:1.3;color:var(--ink3)}
  .cm-seta{display:block;font-size:20px;line-height:1;color:var(--ink3)}
}
/* celular: linha de configuração com dois ou mais botões põe os botões embaixo do texto (senão o texto fica espremido) */
@media (max-width:600px){
  .cfg .cfg-l:not(.cfg-img):not(:has(> .selo-marca)):has(.cfg-btns > :nth-child(2)){flex-wrap:wrap}
  .cfg .cfg-l:not(.cfg-img):not(:has(> .selo-marca)):has(.cfg-btns > :nth-child(2)) .cfg-txt{flex-basis:100%}
  .cfg .cfg-l:not(.cfg-img):not(:has(> .selo-marca)):has(> .cfg-ic):has(.cfg-btns > :nth-child(2)) .cfg-txt{flex-basis:calc(100% - 44px)}
  .cfg .cfg-l:not(.cfg-img):not(:has(> .selo-marca)):has(.cfg-btns > :nth-child(2)) .cfg-btns{width:100%}
  .cfg .cfg-l:not(.cfg-img):not(:has(> .selo-marca)):has(.cfg-btns > :nth-child(2)) .cfg-btns .btn{flex:1;justify-content:center}
}

/* ---------- caixinha de resumo em destaque (a resposta da tela) e valores com cor de sentido ---------- */
.tile.ink{background:var(--tinta);border-color:var(--tinta);color:#fff;box-shadow:0 10px 26px rgba(0,0,0,.16)}
.tile.ink .l,.tile.ink .s{color:var(--tinta-mut)}
.tile.v-in .v{color:var(--good)} .tile.v-crit .v{color:var(--crit)}
.tile.ink.v-in .v{color:#4ade80} .tile.ink.v-crit .v{color:#fca5a5}

/* ---------- conta principal: aro dourado e brilho ---------- */
.topo-dir{display:flex;align-items:center;gap:6px;min-width:0;margin-left:auto}
.selo-principal{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;font-size:10.5px;font-weight:700;letter-spacing:.02em;padding:2px 8px;border-radius:999px;color:#3d2b00;background:linear-gradient(135deg,#fbe6a2 0%,#e9c46a 45%,#c9972b 100%);box-shadow:0 1px 4px rgba(0,0,0,.25)}
.selo-principal i{font-style:normal;font-size:11px;line-height:1}
.conta:not(.grande) .selo-principal b{display:none}
.conta:not(.grande) .selo-principal{padding:2px 6px}
.conta.principal{box-shadow:0 0 0 2px #e9c46a,0 0 0 6px rgba(233,196,106,.24),0 16px 36px rgba(201,151,43,.42)}
.faixa-contas .conta.principal,.t .minis .conta.principal{box-shadow:0 0 0 2px #e9c46a,0 8px 20px rgba(201,151,43,.38)}
.faixa-contas{padding-top:4px;padding-left:3px}
@media (prefers-reduced-motion:no-preference){ .conta.principal:hover{box-shadow:0 0 0 2px #f1d27f,0 0 0 7px rgba(233,196,106,.3),0 20px 44px rgba(201,151,43,.5)} }
.chip.ouro{color:#3d2b00;background:linear-gradient(135deg,#fbe6a2,#e9c46a)}

/* ---------- alinhamento das caixinhas (varredura): mesma altura para a faixa da logo, textos na mesma linha ---------- */
/* a faixa da logo tem altura fixa: logos de tamanhos diferentes não empurram mais o nome do cartão/conta */
.cc-topo{height:32px;min-height:0}
.conta .topo-c{height:24px;min-height:0}
.conta.grande .topo-c{height:34px}
.t .minis .conta .topo-c{height:20px}
/* conta grande: nome e saldo logo abaixo da logo em todas; as caixinhas (quando há) ficam no rodapé */
.conta.grande .nome-c{margin-top:16px}
.conta.grande .saldo-c{margin-bottom:12px}
.conta.grande .caixinhas{margin-top:auto}
/* início: a legenda das três caixinhas do topo fica na mesma linha, no rodapé */
.bento .t > .s{margin-top:auto;padding-top:8px}

/* ============================ gráficos do início (graficos.js) ============================ */
.card.viz h2{margin-bottom:14px}
.viz-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}
.viz-kpis > div{min-width:0}
.viz-kpis small{display:block;font-size:12px;font-weight:500;color:var(--ink3);margin-bottom:3px}
.viz-kpis b{font-size:20px;font-weight:600;letter-spacing:-.02em;white-space:nowrap}
.viz-kpis b.neg{color:var(--crit)}
.viz-kpis i{font-style:normal;font-size:12px;color:var(--ink3);margin-left:6px}
.viz-plot{position:relative;width:100%;outline:none;border-radius:10px;touch-action:pan-y;cursor:crosshair}
.viz-plot:focus-visible{box-shadow:0 0 0 2px var(--viz-1)}
.viz-plot svg{display:block}
.viz-grade{stroke:var(--line2);stroke-width:1}
.viz-zero{stroke:var(--ink3);stroke-width:1}
.viz-eixo{fill:var(--viz-eixo);font-size:11px;font-variant-numeric:tabular-nums}
.viz-rot{fill:var(--ink2);font-size:11px;font-weight:500}
.viz-area{fill:var(--viz-1);opacity:.10}
.viz-linha{fill:none;stroke:var(--viz-1);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.viz-linha.viz-prev{stroke-dasharray:5 4}
.viz-hoje{stroke:var(--ink3);stroke-width:1}
.viz-mira{stroke:var(--ink2);stroke-width:1}
.viz-ponto{fill:var(--viz-1);stroke:var(--card);stroke-width:2}
.viz-ponto.crit{fill:var(--st-crit)}
.viz-ponto.ativo{fill:var(--ink)}
.viz-chave{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px;font-size:12px;color:var(--ink3)}
.viz-chave span{display:inline-flex;align-items:center;gap:7px}
.viz-chave .ln{width:22px;height:0;border-top:2px solid var(--viz-1)}
.viz-chave .ln.trac{border-top-style:dashed}
.viz-dica{position:fixed;z-index:70;pointer-events:none;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:var(--sombra-2);padding:9px 12px;max-width:280px;font-size:12.5px;line-height:1.4}
.viz-dica .v{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}
.viz-dica .t{color:var(--ink3)}
.viz-dica .m{margin-top:3px;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.viz-dica .m:first-of-type{margin-top:6px}
/* rosca */
.rosca-wrap{display:flex;align-items:center;gap:24px}
.rosca{position:relative;flex:0 0 auto;width:184px;height:184px}
.rosca svg{display:block}
.rosca .fatia{cursor:pointer;transition:opacity .15s}
.rosca-centro{position:absolute;inset:0;display:grid;place-content:center;text-align:center;pointer-events:none}
.rosca-centro b{font-size:22px;font-weight:600;letter-spacing:-.02em;line-height:1.1}
.rosca-centro small{font-size:12px;color:var(--ink3);margin-top:2px}
.viz-leg{flex:1;min-width:0;display:flex;flex-direction:column}
.leg-l{display:grid;grid-template-columns:auto minmax(0,1fr) auto 38px;align-items:center;gap:9px;padding:7px 8px;margin:0 -8px;font-size:13.5px;color:var(--ink);transition:opacity .15s,background-color .15s}
.leg-l .sw{width:10px;height:10px;border-radius:3px}
.leg-l .n{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.leg-l b{font-weight:500;white-space:nowrap}
.leg-l small{color:var(--ink3);font-size:12px;text-align:right}
.rosca-wrap .apagado{opacity:.28}
/* anéis */
.aneis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px}
.anel{display:flex;align-items:center;gap:12px;padding:8px;margin:0 -8px;min-width:0}
.anel-g{position:relative;width:78px;height:78px;flex:0 0 auto}
.anel-g svg{display:block}
.anel-g b{position:absolute;inset:0;display:grid;place-items:center;font-size:15px;font-weight:600;letter-spacing:-.01em}
.anel-trilho{fill:none;stroke:var(--viz-1);opacity:.16}
.anel-arco{fill:none;stroke:var(--viz-1);stroke-linecap:round}
.anel.warn .anel-trilho,.anel.warn .anel-arco{stroke:var(--st-warn)} .anel.warn .anel-trilho{opacity:.22}
.anel.crit .anel-trilho,.anel.crit .anel-arco{stroke:var(--st-crit)} .anel.crit .anel-trilho{opacity:.2}
.anel-t{min-width:0;display:flex;flex-direction:column;gap:1px}
.anel-t .n{font-size:13.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.anel-t .v{font-size:12.5px;color:var(--ink2);white-space:nowrap}
.anel-t .st{font-size:12px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.anel-t .st i{font-style:normal;font-size:9px;margin-right:2px;vertical-align:1px}
.anel-t .st.crit{color:var(--crit);font-weight:500} .anel-t .st.crit i{color:var(--st-crit)}
.anel-t .st.warn{color:var(--warn)} .anel-t .st.warn i{color:var(--st-warn)}
@media (max-width:1100px){ .viz-par{grid-template-columns:minmax(0,1fr)} }
@media (max-width:560px){
  .viz-kpis b{font-size:16px}
  .viz-kpis i{display:block;margin:0}
  .rosca-wrap{flex-direction:column;align-items:stretch;gap:14px}
  .rosca{margin:0 auto}
  .aneis{grid-template-columns:minmax(0,1fr)}
}
/* nomes de categoria inteiros (quebram em duas linhas em vez de cortar com "…") */
.leg-l .n{white-space:normal;overflow:visible;line-height:1.25}
.anel-t .n{white-space:normal;overflow:visible;line-height:1.25}
.anel-t .st{white-space:normal;overflow:visible;line-height:1.3}
.leg-l{grid-template-columns:auto minmax(0,1fr) auto 34px}

/* ---------- selinho do cartão nas listas (compra no cartão) ---------- */
.selo-cartao{width:22px;height:22px;border-radius:50%;background:var(--ink);color:var(--on-ink);display:grid;place-items:center;flex:0 0 auto}
.selo-cartao i{display:block;width:13px;height:13px;background:currentColor;-webkit-mask:var(--m) center / contain no-repeat;mask:var(--m) center / contain no-repeat}
.selo-cartao b{font-size:11px;font-weight:600;line-height:1}

/* ---------- caixa de confirmação do painel ---------- */
#dlg2:has(.confirma){width:min(400px,92vw)}
/* janela que mostra o e-mail de cobrança pronto, antes de enviar */
.dlg.email-jan{max-width:600px} .email-jan .dlg-hd small{display:block;color:var(--ink3);font-size:12.5px;margin-top:2px}
.email-assunto{display:flex;flex-direction:column;gap:2px;padding:10px 0 12px} .email-assunto small{color:var(--ink3);font-size:12px} .email-assunto b{font-size:14.5px;font-weight:600;line-height:1.35}
.email-previa{border:1px solid var(--line);border-radius:var(--r3);overflow:hidden;max-height:min(52vh,460px);overflow-y:auto;background:#f4f4f2;color-scheme:light}
.email-previa a{pointer-events:none}
.email-jan .conf-acoes{margin-top:16px}
.dlg.confirma .dlg-bd{padding:28px 26px 22px;text-align:center}
.conf-ico{width:52px;height:52px;border-radius:50%;margin:0 auto 14px;display:grid;place-items:center;background:var(--accent-soft);color:var(--ink)}
.conf-ico.perigo{background:var(--crit-soft);color:var(--crit)}
.conf-ico svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dlg.confirma h3{font-size:19px;font-weight:600;letter-spacing:-.02em;line-height:1.25}
.dlg.confirma p{color:var(--ink2);font-size:13.5px;line-height:1.5;margin-top:8px}
.conf-acoes{display:flex;gap:8px;margin-top:22px}
.conf-acoes .btn{flex:1;white-space:normal;line-height:1.2;padding-top:12px;padding-bottom:12px}
.arq-campo{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px dashed var(--line);border-radius:var(--r3);padding:9px 12px;background:var(--bg)}
.arq-campo.tem{border-style:solid;background:var(--card)}
.arq-campo label.btn{cursor:pointer}
.arq-nome{flex:1 1 140px;min-width:0;font-size:13px;color:var(--ink3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.arq-campo.tem .arq-nome{color:var(--ink);font-weight:500}
.arq-nota{display:block;font-size:12.5px;color:var(--ink2);margin-top:6px;line-height:1.4}
.arq-nota.erro{color:var(--crit)}
.oc-barra{height:8px;border-radius:99px;background:var(--line);margin:18px auto 2px;max-width:340px;overflow:hidden}
.oc-barra i{display:block;height:100%;width:2%;border-radius:99px;background:var(--ink);transition:width .25s linear}
.oc-pct{font-size:40px;line-height:1;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:2px 0 12px}
.oc-etapa{display:block;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);margin-bottom:6px}
.dlg.ocupado p{font-variant-numeric:tabular-nums}
.dlg.ocupado [hidden]{display:none!important}
.dlg.ocupado .gira{width:38px;height:38px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--ink);margin:4px auto 16px}
@media (prefers-reduced-motion:no-preference){ @keyframes girar{to{transform:rotate(360deg)}} .dlg.ocupado .gira{animation:girar .8s linear infinite} }
.conf-acoes:has(> .btn:nth-child(4)){flex-wrap:wrap}
.conf-acoes:has(> .btn:nth-child(4)) .btn{flex:1 1 calc(50% - 4px)}
.conf-acoes a.btn{text-decoration:none}
/* Portal do cliente: um cartão por portal, na cor do cliente */
.pt-grade{display:flex;flex-direction:column;gap:10px}   /* um cliente por linha; a linha abre para baixo */
.pt{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sombra);overflow:hidden;display:flex;flex-direction:column}
.pt-capa{position:relative;overflow:hidden;isolation:isolate;display:flex;align-items:center;gap:14px;min-height:76px;padding:14px 16px 14px 18px;cursor:pointer;color:#fff;background:#0d0d11 url(/icones/arte-grafite.svg) right center / cover no-repeat}
.pt-capa.com-cor{color:var(--pt);background:url(/icones/ruido.svg) 0 0 / 220px 220px,radial-gradient(130% 160% at 100% 0%,var(--pc-l) 0%,transparent 60%),linear-gradient(150deg,var(--pc) 0%,var(--pc-f) 130%)}
.pt-capa .avatar{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.2);color:inherit;width:48px;height:48px;border-radius:15px;font-size:17px}
.pt-quem{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}
.pt-quem b{font-size:17px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pt-quem small{font-size:12.5px;opacity:.78}
.pt-capa .chip{background:rgba(255,255,255,.92);color:#333;flex:0 0 auto}
.chave{position:relative;flex:0 0 auto;width:46px;height:28px;border-radius:999px;background:rgba(255,255,255,.28);box-shadow:inset 0 0 0 1px rgba(255,255,255,.3);transition:background-color .2s}
.chave i{position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .22s cubic-bezier(.2,.7,.2,1)}
.chave[aria-checked="true"]{background:#22c55e;box-shadow:none}
.chave[aria-checked="true"] i{transform:translateX(18px)}
.chave:focus-visible{outline:2px solid #fff;outline-offset:2px}
.pt-corpo{padding:18px 20px 20px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px 28px;align-items:start}
.pt-corpo.um{grid-template-columns:minmax(0,1fr)}
.pt-col{display:flex;flex-direction:column;gap:14px;min-width:0}
.pt-end{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--bg);border-radius:14px;padding:8px 8px 8px 14px}
.pt-end .cli-end{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:500}
.pt-nums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.pt-nums div{display:flex;flex-direction:column;gap:1px;min-width:0}
.pt-nums b{font-size:17px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pt-nums small{font-size:11.5px;color:var(--ink3);line-height:1.25}
.pt-nums .pede b{color:var(--warn,#a16207)}
.pt-quadros{display:flex;gap:6px;flex-wrap:wrap}
.pt-q{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;padding:5px 11px 5px 8px;border-radius:999px;border:1px solid var(--line);color:var(--ink2)}
.pt-q i{width:10px;height:10px;border-radius:50%;flex:0 0 auto}
.pt-q:hover{border-color:var(--ink);color:var(--ink)}
.pt-movs{display:flex;flex-direction:column;gap:6px}
.pt-movs .cap{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink3)}
.pt-mov{display:flex;align-items:center;gap:10px;padding:9px 10px 9px 12px;border-radius:14px;background:var(--bg);cursor:pointer;transition:background-color .15s}
.pt-mov:hover{background:var(--hover)}
.pt-mov.aj{background:var(--crit-soft)}
.pt-mov-t{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}
.pt-mov-t b{font-size:13.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pt-mov-t small{font-size:12px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pt-mais{font-size:12.5px;color:var(--ink2);padding:2px 4px}
.pt-acoes{display:flex;gap:8px;flex-wrap:wrap}
.pt-acoes .btn{flex:1 1 auto;padding:10px 14px;font-size:13px;white-space:nowrap}
.pt-acoes .btn .ic{width:15px;height:15px}
.pt-acoes .btn:not(.sec) .ic{stroke:var(--on-ink)}
.pt-nota{font-size:11.5px;color:var(--ink3);line-height:1.4;margin-top:-4px}
.pt-opc{display:flex;align-items:center;gap:11px;text-align:left;padding:10px 12px;border-radius:14px;border:1px solid var(--line);transition:border-color .15s,background-color .15s}
.pt-opc:hover{border-color:var(--ink)}
.pt-opc[aria-pressed="true"]{background:var(--good-soft);border-color:transparent}
.pt-opc-ic{width:32px;height:32px;border-radius:10px;background:var(--bg);display:grid;place-items:center;flex:0 0 auto;font-style:normal}
.pt-opc[aria-pressed="true"] .pt-opc-ic{background:var(--card);color:var(--good)}
.pt-opc-ic .ic{width:16px;height:16px}
.pt-opc > span{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;line-height:1.3}
.pt-opc .chip{align-self:flex-start;margin-top:7px;max-width:100%;white-space:normal;line-height:1.25}   /* a etiqueta fica embaixo do texto: ao lado, ela passava por cima dele */
.pt-opc b{font-size:13px;font-weight:500}
.pt-opc small{font-size:11.5px;color:var(--ink3)}
.pt.desligado .pt-capa{filter:grayscale(.85) brightness(.9)}
.pt.sem{border-style:dashed}
.pt.sem .pt-capa{filter:grayscale(.6)}
@media (max-width:560px){ .pt-nums{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:12px} .pt-acoes .btn{flex:1 1 calc(50% - 4px)} }
.btn.perigo{background:#c62828;border-color:#c62828;color:#fff}
.btn.perigo:hover{background:#b01f1f;border-color:#b01f1f;opacity:1}
@media (max-width:420px){ .conf-acoes{flex-direction:column-reverse} }
/* com a Poppins (mais larga) os botões não quebram em duas linhas; quem cede é a fileira, que passa pra linha de baixo */
.btn{white-space:nowrap}
.cabec .dir{flex-wrap:wrap;justify-content:flex-end}
/* ".sec" é a classe de espaçamento entre seções (margem em cima) e também o nome do botão secundário (.btn.sec):
   por isso todo botão secundário vinha 14px mais baixo que o botão ao lado. Botão não leva essa margem. */
.btn.sec{margin-top:0}
/* mesmo problema com ".mini": é a classe de uma barrinha de progresso antiga (4px de altura, corta o que passa) e
   também o nome do botão pequeno. Os botões pequenos (Trocar, Remover, Alterar limite…) estavam saindo achatados. */
.btn.mini,.ibtn.mini{margin-top:0;overflow:visible;max-width:none}
.btn.mini{height:auto;min-height:32px}

/* ---------- botão de ordem das listas ---------- */
.pill-f.ordem{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:12.5px;padding:6px 12px}
.pill-f.ordem .ic{width:15px;height:15px}
.card h2 span .pill-f.ordem{margin-left:8px;vertical-align:middle;font-weight:400;color:var(--ink2)}
.ver-h{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ver-h .pill-f.ordem{text-transform:none;letter-spacing:0;font-weight:400;padding:4px 10px;font-size:12px}
@media (max-width:560px){ .card h2:has(.pill-f.ordem){flex-wrap:wrap} .card h2 span:has(.pill-f.ordem){margin-left:0;text-align:left;width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px} .card h2 span .pill-f.ordem{margin-left:0} }

/* ============================ tela de entrada ============================ */
/* cartão dividido: formulário à esquerda, arte à direita (no celular a arte vira uma faixa em cima) */
.login{padding:24px;overflow:auto}
.login-cartao{width:min(980px,100%);min-height:min(620px,calc(100dvh / var(--z,1) - 48px));background:var(--card);border:1px solid var(--line);border-radius:36px;padding:14px;box-shadow:var(--sombra-2);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
.login-form{align-self:center;justify-self:center;width:min(330px,100%);padding:26px 8px;text-align:center}
.login-marca{display:grid;place-items:center;margin-bottom:18px}
.login-marca .logo{width:52px;height:52px;border-radius:16px;background:var(--ink);color:var(--on-ink);display:grid;place-items:center;font-weight:700;font-size:16px}
.login-marca img{width:56px;height:56px;border-radius:16px;object-fit:contain;display:block}
.login .login-form h1{font-size:30px;font-weight:600;letter-spacing:-.03em;line-height:1.15;margin-bottom:8px}
.login .login-form p{color:var(--ink2);font-size:14px;margin-bottom:30px}
.login-campo{position:relative;margin-bottom:12px}
.login-campo input{width:100%;height:50px;border:1px solid var(--line);border-radius:999px;background:var(--card);padding:0 50px 0 22px;font-size:15px;outline:none;transition:border-color .15s,box-shadow .15s}
.login-campo input::placeholder{color:var(--ink3)}
.login-campo input:focus{border-color:var(--ink);box-shadow:0 0 0 3px var(--accent-soft)}
.login-campo > .ic,.login-campo button{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:34px;height:34px;display:grid;place-items:center;color:var(--ink3);border-radius:50%}
.login-campo > .ic{padding:8px;pointer-events:none}
.login-campo button:hover,.login-campo button[aria-pressed="true"]{color:var(--ink);background:var(--hover)}
.login-form .btn{height:50px;margin-top:10px;font-size:15px}
.login-form #loginMsg{text-align:left}
.login .login-form .rodape{margin-top:22px;font-size:12px;color:var(--ink3)}
.login-arte{position:relative;border-radius:26px;overflow:hidden;background:#0b0b0e;min-height:200px}
.login-arte svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.login-arte-txt{position:absolute;left:28px;bottom:26px;color:#fff;line-height:1.2;text-shadow:0 1px 12px rgba(0,0,0,.5)}
.login-arte-txt b{display:block;font-size:22px;font-weight:600;letter-spacing:-.02em}
.login-arte-txt span{font-size:13px;color:rgba(255,255,255,.7)}
@media (max-width:820px){
  .login{padding:14px;place-items:start center}
  .login-cartao{grid-template-columns:minmax(0,1fr);min-height:0;border-radius:30px;padding:12px;gap:4px;margin:auto 0}
  .login-arte{order:-1;min-height:0;height:150px;border-radius:22px}
  .login-arte-txt{left:20px;bottom:16px}
  .login-form{padding:22px 6px 16px}
}
@media (prefers-reduced-motion:no-preference){ .login-cartao{animation:abrir .35s cubic-bezier(.2,.7,.2,1) both} }
/* 16px nos campos: com menos que isso o iPhone dá zoom na tela ao tocar no campo */
.login-campo input{font-size:16px}

/* ---------- previsão: mês em destaque (bolinha do gráfico + linha da tabela) ---------- */
.prev-toque{fill:transparent;cursor:pointer;outline:none}
.prev-halo{fill:var(--viz-1);opacity:0;transition:opacity .18s}
.prev-toque:hover ~ .x,.prev-halo.mes-sel{opacity:.22}
.prev-toque:focus-visible{stroke:var(--viz-1);stroke-width:1.5}
.prev-ponto{transition:r .18s}
.prev-ponto.mes-sel{fill:var(--viz-1) !important;r:6px}
.chart .ax.mes-sel{fill:var(--ink);font-weight:600}
tr.prev-linha{cursor:pointer;transition:background-color .18s}
tr.prev-linha:hover > td{background:var(--hover)}
tr.prev-linha.mes-sel > td{background:color-mix(in srgb,var(--viz-1) 11%,transparent)}
tr.prev-linha.mes-sel > td:first-child{box-shadow:inset 3px 0 0 var(--viz-1)}
tr.prev-linha > td:first-child{border-radius:10px 0 0 10px} tr.prev-linha > td:last-child{border-radius:0 10px 10px 0}
tr.prev-linha > td:first-child{padding-left:12px} tr.prev-linha > td:last-child{padding-right:12px}

/* O aviso só ignora toques enquanto está escondido. Visível, ele recebe o toque — senão o botão "Desfazer" não funciona.
   (Antes ficava ignorando sempre; os testes clicavam por código e não percebiam.) */
.toast.on{pointer-events:auto}
/* área de toque do "Desfazer" com tamanho de dedo (44px), sem aumentar o aviso */
.toast .desfazer{padding:12px 10px;margin:-12px -8px -12px -4px;min-height:44px;position:relative;z-index:1;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.toast .tempo{pointer-events:none}
/* celular: espaço no fim da página pra rolar o último item para cima do botão flutuante de + (ele cobria o último botão da lista) */
@media (max-width:860px){ .conteudo{padding-bottom:calc(156px + env(safe-area-inset-bottom))} }

/* ============================ caixa de escolha com selo (contas, cartões, marcas) ============================ */
.selo-marca{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex:0 0 auto;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}
.selo-marca i{display:block;width:17px;height:17px;background:currentColor;-webkit-mask:var(--m) center / contain no-repeat;mask:var(--m) center / contain no-repeat}
.selo-marca b{font-size:13px;font-weight:600;line-height:1}
.selo-marca.sem-marca{background:var(--bg);color:var(--ink3);box-shadow:inset 0 0 0 1px var(--line)}
.selo-marca.selo-ic{background:var(--bg);color:var(--ink2);box-shadow:inset 0 0 0 1px var(--line)}
.selo-ic .ic{width:16px;height:16px}
.selo-emoji{font-size:15px;line-height:1}
.selo-marca.selo-logo{background:#fff;padding:3px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.selo-logo img{max-width:100%;max-height:100%;width:auto;height:auto;display:block;object-fit:contain}
.selo-marca.selo-logo .logo-tinta{width:100%;height:100%;-webkit-mask:var(--lg) center/contain no-repeat;mask:var(--lg) center/contain no-repeat}
.escolha.flutua.larga{width:100%}
.escolha.sobre .escolha-lista{position:fixed;z-index:80;margin:0;box-shadow:var(--sombra-2);overscroll-behavior:contain}
.chip.tipo-t{display:inline-flex;align-items:center;gap:5px}
.chip.tipo-t .ic{width:13px;height:13px}
h2 .chip.tipo-t{vertical-align:middle;margin-left:6px;font-weight:500}
.selo-marca.sem-marca svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.escolha{display:flex;flex-direction:column}
.escolha-atual,.escolha-op{display:flex;align-items:center;gap:11px;width:100%;text-align:left;min-width:0;color:var(--ink)}
.escolha-atual{border:1px solid var(--line);border-radius:var(--r3);background:var(--card);padding:8px 12px 8px 9px;min-height:50px;transition:border-color .15s,box-shadow .15s}
.escolha-atual:focus-visible,.escolha.aberta .escolha-atual{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px var(--accent-soft)}
.escolha-t{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}
.escolha-t b{font-weight:500;font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.escolha-t small{color:var(--ink3);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* formulários: o texto da opção quebra em até 2 linhas em vez de ser cortado ("Cancelada pelo cliente" aparecia como "Cancelada pelo cli…" na Situação da captação, em meia coluna) */
#formGen .escolha-t b{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere}
.escolha-atual .seta{width:17px;height:17px;flex:0 0 auto;fill:none;stroke:var(--ink3);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s}
.escolha.aberta .escolha-atual .seta{transform:rotate(180deg)}
.escolha-lista{margin-top:6px;border:1px solid var(--line);border-radius:var(--r3);background:var(--card);padding:5px;max-height:268px;overflow:auto;box-shadow:var(--sombra)}
.escolha-op{padding:7px 8px;border-radius:9px;min-height:46px}
.escolha-op:hover,.escolha-op:focus-visible{background:var(--hover);outline:none}
.escolha-op .escolha-ok{width:17px;height:17px;flex:0 0 auto;fill:none;stroke:var(--ink);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;opacity:0}
.escolha-op[aria-selected="true"] .escolha-ok{opacity:1}
.escolha-op[aria-selected="true"]{background:var(--accent-soft)}
/* pergunta rápida ("Como você pagou?"): opções grandes, uma embaixo da outra */
.dlg.pergunta .pg-data{margin-bottom:4px}
.pg-lista{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.escolha-op.grande{border:1px solid var(--line);border-radius:14px;padding:10px 12px;min-height:58px;background:var(--card);transition:border-color .15s,background-color .15s,transform .12s}
.escolha-op.grande .selo-marca{width:36px;height:36px;border-radius:11px}
.escolha-op.grande .selo-marca i{width:20px;height:20px}
.escolha-op.grande:hover,.escolha-op.grande:focus-visible{border-color:var(--ink);background:var(--card)}
.escolha-op.grande.sugerida{border-color:var(--ink)}
.escolha-op.grande .chip{flex:0 0 auto}
@media (prefers-reduced-motion:no-preference){ .escolha-op.grande:active{transform:scale(.985)} .escolha-lista:not([hidden]){animation:abrir .16s ease-out} }

/* ---------- caixa de escolha solta numa tela (ex.: conta do Calendário): a lista abre por cima, como um menu ---------- */
.escolha.flutua{position:relative;width:min(300px,100%)}
.escolha.flutua .escolha-lista{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:25;margin-top:0;box-shadow:var(--sombra-2)}
.cabec.cal-conta{gap:12px;position:relative;z-index:20}   /* acima das caixinhas que vêm depois (cada uma cria a sua camada por causa da animação de entrada) */
@media (max-width:560px){ .cabec.cal-conta{flex-direction:column;align-items:stretch;gap:6px} .escolha.flutua{width:100%} }

/* ---------- configurações: contas e cartões ---------- */
.cfg-tit{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0 2px;font-size:13.5px}
/* celular: linha de configuração com texto comprido e um botão só: o botão desce para baixo do texto */
@media (max-width:600px){ .cfg .cfg-l.quebra{flex-wrap:wrap} .cfg .cfg-l.quebra .cfg-txt{flex-basis:calc(100% - 44px)} .cfg .cfg-l.quebra > .btn{width:100%;justify-content:center} }
/* conta recorrente: o aviso do que vai ser gerado ao salvar */
.rec-previa{background:var(--accent-soft);border-radius:var(--r3);padding:11px 13px;font-size:13px;line-height:1.45;color:var(--ink)}
.rec-previa b{font-weight:600}
/* janela Conferir (pagamentos de fatura): o "não é pagamento de fatura" de cada linha, discreto, colado na caixinha de cima */
.campo.bloco:has(> .link-nao){margin:-10px 0 14px 28px}
.link-nao{font-size:12.5px;color:var(--ink3);text-decoration:underline;text-underline-offset:2px;cursor:pointer;padding:4px 0}
.link-nao:hover{color:var(--ink)}
/* sugestões de recorrente: o "X" (não transformar) ao lado do botão */
.sug-rec .cfg-btns{align-items:center}
.ibtn.sug-nao{width:30px;height:30px;flex:0 0 auto;font-size:18px;line-height:1;cursor:pointer;color:var(--ink3)}   /* sem a classe "mini": ela é da barrinha de progresso e deixava o botão quadrado */
.ibtn.sug-nao:hover{color:var(--ink);border-color:var(--ink3)}
@media (max-width:600px){ .sug-rec .cfg-l{flex-wrap:wrap} .sug-rec .cfg-txt{flex-basis:100%} .sug-rec .cfg-btns{width:100%} .sug-rec .cfg-btns .btn{flex:1;justify-content:center} .ibtn.sug-nao{width:42px;height:42px} }
.cfg-l .selo-marca{margin-right:0}
.cfg-l:has(> .selo-marca){justify-content:flex-start}
.cfg-l.cfg-filha{padding-left:22px}
@media (max-width:600px){ .cfg-l:has(> .selo-marca){flex-wrap:wrap} .cfg-l:has(> .selo-marca) .cfg-txt{flex-basis:calc(100% - 60px)} .cfg-l:has(> .selo-marca) .cfg-btns{width:100%} .cfg-l:has(> .selo-marca) .cfg-btns .btn{flex:1} }

/* ---------- início no celular: saldos das contas em grade, sem cortar nenhuma ---------- */
@media (max-width:860px){
  .faixa-contas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;overflow:visible;margin:0;padding:3px;scroll-snap-type:none}
  .faixa-contas .conta{flex:none;min-width:0}
  .faixa-contas .conta:last-child:nth-child(odd){grid-column:1 / -1}
  .faixa-contas .cx-tot{display:none}            /* "guardados" aparece na tela Contas; aqui só cabia cortado */
  .faixa-contas .conta .saldo-c{font-size:16px}
}
/* Celular: botões das Configurações com alvo de toque confortável e folhas de baixo respeitando a barra do iPhone */
@media (max-width:600px){
  .cfg-btns .btn,#cfgNovaConta,#cfgNovoCartao{min-height:42px}
  .dlg-bd{padding-bottom:calc(22px + env(safe-area-inset-bottom))}
}
/* Computador: o painel inteiro em 90%, como a lupa do navegador em 90%. No celular fica no tamanho normal
   (botões precisam de área de toque e campos menores que 16px fazem o iPhone dar zoom sozinho). */
@media (min-width:861px){
  :root{--z:.9}
  html{zoom:var(--z)}
  /* alturas em dvh encolhem junto com o zoom; estas voltam a ocupar a tela toda */
  dialog,.dlg{max-height:calc(88dvh / var(--z))}
  dialog{width:min(560px,calc(94vw / var(--z)))}
}
/* 17/10: na tela de entrada o zoom de 90% fica desligado — com zoom no html, o balão de preenchimento automático de senha do
   navegador (Senhas do iCloud, Chrome) aparece deslocado, longe do campo */
@media (min-width:861px){ html:has(#login:not([hidden])){zoom:1;--z:1} }
/* Arte grafite + luz dourada (a mesma ideia da tela de entrada) nos blocos escuros de destaque */
.t.ink,.tile.ink,.setor.ink{background:#0d0d11 url(/icones/arte-grafite.svg) right center / cover no-repeat;border-color:#1f1f25}
:root[data-tema="escuro"] .t.ink,:root[data-tema="escuro"] .tile.ink,:root[data-tema="escuro"] .setor.ink{border-color:#33333c}
/* quadro do cartão: faixa com a cor do banco */
.ver-cartao{border-radius:18px;padding:16px 18px;display:flex;flex-direction:column;gap:4px;margin-bottom:12px;box-shadow:0 8px 20px rgba(0,0,0,.14)}
.ver-cartao .cc-topo{margin-bottom:8px}
.ver-cartao .cap{color:inherit;opacity:.72;font-size:12px}
.ver-cartao .v{font-size:30px;font-weight:600;letter-spacing:-.025em;line-height:1.1}
.ver-cartao small{font-size:12.5px;opacity:.85}
.ver-cartao .logo{height:calc(20px * var(--k,1));width:auto;max-width:60%;display:block;object-fit:contain;object-position:left center}
.ver-cartao .cc-bar{margin-top:10px}
.ver-cartao[style*="#163300"] .cc-bar{background:rgba(22,51,0,.18)}.ver-cartao[style*="#163300"] .cc-bar i{background:#163300}
.ver-acoes:has(> .btn:nth-child(4)) .btn{flex:1 1 calc(50% - 4px)}
/* ---------- setor Clientes: página do cliente e portal ---------- */
.cli-topo{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.cli-av{width:56px;height:56px;font-size:20px;flex:0 0 auto}
.cli-quem{flex:1 1 220px;min-width:0}
.cli-quem h2{font-size:22px;font-weight:600;letter-spacing:-.02em;margin:0;display:block}
.cli-quem p{color:var(--ink3);font-size:13.5px;margin-top:2px}
.cli-contatos{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.cli-contatos a.pill-f{text-decoration:none}
.cli-txt{font-size:13.5px;line-height:1.55;white-space:pre-line;margin-bottom:14px}
.card > .cli-txt:last-child{margin-bottom:0}
.cli-end{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px!important;color:var(--ink)!important;overflow-wrap:anywhere}
.cli-acoes{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.cli-acoes .btn{flex:1;white-space:nowrap;text-decoration:none}
.cli-acoes .btn .ic,.btn.bloco .ic{width:16px;height:16px;margin-right:2px}
.lt .val small + small{margin-top:3px}
.conf-ico.ok{background:var(--good-soft);color:var(--good)}
.dlg.copia .dlg-bd{text-align:center}
.copia-msg{text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:13px;line-height:1.5;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin:14px 0 4px;max-height:38dvh;overflow:auto;user-select:all;-webkit-user-select:all}
#dlg2:has(.copia){width:min(460px,92vw)}
/* no celular as caixas sobem de baixo ocupando a largura toda (antes as de confirmação ficavam encostadas à esquerda, com um vão à direita) */
@media (max-width:860px){ #dlg2:has(.confirma),#dlg2:has(.copia){width:100vw} }
/* celular: nos blocos escuros pequenos a luz dourada fica mais para a direita, sem passar por cima do texto */
@media (max-width:600px){ .tile.ink{background-position:right -52px center} }
/* ---------- entregas e links do cliente ---------- */
.lk{gap:10px}
.lk-a{display:flex;align-items:center;gap:12px;min-width:0;flex:1;text-decoration:none;color:inherit}
.lk-ico{width:36px;height:36px;border-radius:11px;background:var(--bg);display:grid;place-items:center;flex:0 0 auto;color:var(--ink2)}
.lk-a .cfg-txt{min-width:0;display:block}
.lk-a .cfg-txt small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lk .cfg-btns{align-items:center}
@media (hover:hover){ a.lk-a[href]:hover .lk-ico{background:var(--hover);color:var(--ink)} }
.ver-link{margin-top:14px;width:100%;text-decoration:none}
/* janela de uma entrega: situação em destaque, marcos, material e cliente */
.ent-sit{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px;border-radius:18px;background:var(--accent-soft)}
.ent-sit.ok{background:var(--good-soft)}.ent-sit.crit{background:var(--crit-soft)}
.ent-sit-ic{width:38px;height:38px;border-radius:12px;background:var(--card);display:grid;place-items:center;flex:0 0 auto;color:var(--ink)}
.ent-sit.ok .ent-sit-ic{color:var(--good)}.ent-sit.crit .ent-sit-ic{color:var(--crit)}
.ent-sit-t{flex:1 1 180px;min-width:0;display:flex;flex-direction:column;gap:2px}
.ent-sit-t b{font-size:16px;font-weight:600;letter-spacing:-.01em}
.ent-sit-t small{font-size:12.5px;color:var(--ink2);line-height:1.4}
.ent-sit-chips{display:flex;gap:6px;flex-wrap:wrap}
.ent-sit-chips .chip{background:var(--card)}
.ent-marcos{list-style:none;margin:16px 0 4px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.ent-marcos li{position:relative;display:flex;flex-direction:column;gap:2px;padding-top:18px;font-size:12.5px;color:var(--ink3)}
.ent-marcos li::before{content:"";position:absolute;left:0;right:0;top:5px;height:2px;background:var(--line)}
.ent-marcos li i{position:absolute;left:0;top:0;width:12px;height:12px;border-radius:50%;background:var(--card);box-shadow:inset 0 0 0 2px var(--line)}
.ent-marcos li.feito::before{background:var(--ink)}
.ent-marcos li.feito i{background:var(--ink);box-shadow:none}
.ent-marcos li b{font-weight:500;color:var(--ink3)}
.ent-marcos li.feito b{color:var(--ink)}
.ent-marcos li small{font-size:11.5px}
.ent-mat,.ent-cli{display:flex;align-items:center;gap:11px;padding:12px 0;border-top:1px solid var(--line2);margin-top:12px}
.ent-cli{margin-top:0}
.ent-mat-t{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}
.ent-mat-t b{font-size:14px;font-weight:500}
.ent-mat-t small{font-size:12px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ent-mat .btn.mini{padding:7px 12px;font-size:12.5px;gap:6px;flex:0 0 auto;text-decoration:none}
.ent-mat .btn.mini .ic{width:14px;height:14px}
.ent-mat a.btn.mini .ic{stroke:var(--on-ink)}
.ent-video{margin-top:14px}
.ent-video video{display:block;width:100%;max-height:52vh;border-radius:16px;background:#000}
.ent-video small,.ent-video-fim{display:block;font-size:12px;color:var(--ink3);margin-top:6px;line-height:1.4}
.ent-video-fim{margin-top:12px;font-size:12.5px}
.ped-itens{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.ped-itens li{display:flex;align-items:flex-start;gap:9px;font-size:13.5px;line-height:1.45}
.ped-itens li span{white-space:pre-line;min-width:0;overflow-wrap:anywhere}
.ped-t{flex:0 0 auto;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;padding:3px 9px;border-radius:999px;background:var(--card);color:var(--ink);box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);white-space:nowrap}
.ped-t:not(:disabled):hover{background:var(--ink);color:var(--on-ink)}
.ped-t:disabled{opacity:.75;cursor:default}
.tb-video{padding:0 14px;height:44px;gap:6px;white-space:nowrap;cursor:pointer}
.tb-video .ic{width:16px;height:16px}
.tb-video.tem{border-color:var(--ink);background:var(--accent-soft)}
.ent-recado{border-top:1px solid var(--line2);padding:12px 0 0}
.ent-recado p{font-size:13.5px;line-height:1.5;margin-top:4px;white-space:pre-line}
@media (max-width:480px){ .ent-sit-chips{width:100%} .ent-mat{flex-wrap:wrap} .ent-mat-t{flex:1 1 60%} }
.ver-link .ic{width:16px;height:16px}
.ver-pedido{background:var(--crit-soft);border-radius:14px;padding:12px 14px;margin-top:8px}
.ver-pedido p{font-size:13.5px;line-height:1.5;white-space:pre-line}
.ver-pedido small{display:block;color:var(--ink3);font-size:12px;margin-top:4px}
.lt.sem-toque{cursor:default}
.aviso-banco{margin:0}
@media (max-width:600px){ .lk{flex-wrap:wrap} .lk .cfg-btns{width:100%;justify-content:space-between} }

/* ---------- editor da proposta no padrão Jorge Jr Films ---------- */
.ed-prop .card h2 .ed-dica{font-size:12px;font-weight:400}
.ed-prop .campo.terco{grid-column:span 2}
.ed-prop .campos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0 10px}
.ed-prop .campos > .campo{grid-column:1 / -1;width:auto;display:flex}
.ed-2 .inp.peq{margin-top:0}
.ed-prop .campos > .campo.meio{grid-column:span 3}
.ed-prop .campos > .campo.terco{grid-column:span 2}
.ed-prop .campos > p{grid-column:1 / -1}
.ed-prop textarea{min-height:0;resize:vertical}
.ed-nota{font-size:12.5px;line-height:1.5;margin-top:4px}
.ed-check{margin:2px 0}
.ed-pacote{border:1px solid var(--line);border-radius:18px;padding:16px 16px 14px;margin:14px 0 10px;background:var(--bg)}
.ed-pacote.escuro{border-color:var(--ink);box-shadow:inset 4px 0 0 var(--ink)}
.ed-pacote-h{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;font-size:14px}
.ed-pacote h4{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink3);margin:16px 0 8px}
.ed-pacote .inp,.ed-pacote input,.ed-pacote textarea,.ed-pacote select{background:var(--card)}
.ed-lista{display:grid;gap:8px}
.ed-linha{display:flex;gap:8px;align-items:flex-start}
.ed-linha > .inp{flex:1;min-width:0}
.ed-linha .ed-2{flex:1;min-width:0;display:grid;gap:4px}
.ed-linha .ed-n{flex:0 0 58px;text-align:center;font-weight:600}
.ed-linha .ed-selo{flex:0 0 96px}
.ed-linha .ed-preco{flex:0 0 96px}
.ed-bts{display:flex;gap:2px;flex:0 0 auto}
.ed-bts .x{width:30px;height:38px;border-radius:10px;color:var(--ink3);font-size:15px;line-height:1}
.ed-bts .x:hover{background:var(--hover);color:var(--ink)}
.ed-vazio{font-size:13px}
.ed-pronto{margin-top:8px;width:100%;border:1px dashed var(--line);border-radius:12px;padding:9px 12px;background:transparent;color:var(--ink2);font-size:13px}
.ed-acoes{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ed-acoes .btn{white-space:nowrap;min-width:0}
.ed-acoes .btn .ic{width:16px;height:16px;margin-right:2px}
.ed-acoes #pSalvar{grid-column:1 / -1}
@media (min-width:1101px){ .ed-lado{position:sticky;top:76px} }
@media (max-width:600px){
  .ed-prop .campos > .campo.meio,.ed-prop .campos > .campo.terco{grid-column:1 / -1}
  .ed-linha{flex-wrap:wrap}.ed-linha .ed-2,.ed-linha > .inp{flex:1 1 100%}.ed-linha .ed-n{flex:0 0 64px}.ed-linha .ed-selo{flex:1 1 90px}
}

/* ---------- montar proposta: tipo, serviço, itens para marcar, faixa ---------- */
.ed-passo{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--ink);color:var(--on-ink);font-size:12px;font-weight:600;margin-right:8px;flex:0 0 auto}
.ed-prop .card > h2{align-items:center}
.ed-prop .card > h2 > .ed-passo{margin-left:0;margin-right:0;font-size:12px;font-weight:600;color:var(--on-ink);text-align:center}
.ed-tipos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ed-tipo{display:block;text-align:left;border:1px solid var(--line);border-radius:18px;padding:14px 16px;background:var(--card);transition:border-color .15s,box-shadow .15s,background-color .15s}
.ed-tipo b{display:block;font-size:14.5px;font-weight:600}
.ed-tipo small{display:block;color:var(--ink3);font-size:12.5px;line-height:1.4;margin-top:3px}
.ed-tipo:hover{border-color:var(--ink3)}
.ed-tipo[aria-checked="true"]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:var(--bg)}
.ed-servicos{display:flex;gap:8px;flex-wrap:wrap}
.ed-alerta{margin:12px 0 0}
.ed-itens{display:grid;gap:6px}
.ed-item{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:14px;border:1px solid transparent}
.ed-item.on{background:var(--card);border-color:var(--line)}
.ed-item .ed-2 b{font-size:13.5px;font-weight:500;line-height:1.3;padding-top:9px;display:block}
.ed-item:not(.on) .ed-n,.ed-item:not(.on) .inp.peq{display:none}
.ed-item:not(.on) .ed-2 b{color:var(--ink2);padding-top:5px}
.ed-item.on .ed-2 b{padding-top:0}
.ed-item .ed-n{flex:0 0 54px;text-align:center;font-weight:600;order:2}
.ed-item .ed-2{order:3;flex:1;min-width:0;display:grid;gap:4px}
.ed-item .ed-bts{order:4}
.ed-marca{order:1;flex:0 0 auto;display:grid;place-items:center;width:26px;height:38px;cursor:pointer}
.ed-item:not(.on) .ed-marca{height:28px}
.ed-marca input{position:absolute;opacity:0;pointer-events:none}
.ed-marca span{width:20px;height:20px;border-radius:7px;border:1.5px solid var(--ink3);display:block;background:var(--card);transition:background-color .12s,border-color .12s}
.ed-marca input:checked + span{background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E") center / 14px no-repeat;border-color:var(--ink)}
:root[data-tema="escuro"] .ed-marca input:checked + span{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E")}
.ed-marca input:focus-visible + span{outline:2px solid var(--ink);outline-offset:2px}
.ed-marca.fixo::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ink3)}
/* formulário em passos (Novo lançamento): uma pergunta por tela */
.passo-ops{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px}
.passo-op{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:112px;padding:16px 10px;border:1px solid var(--line);border-radius:18px;background:var(--card);color:var(--ink);text-align:center;cursor:pointer}
.passo-op i{width:40px;height:40px;border-radius:13px;background:var(--bg);display:grid;place-items:center;color:var(--ink2);margin-bottom:3px}
.passo-op i .ic{width:20px;height:20px}
.passo-op b{font-weight:600;font-size:15px;line-height:1.2}
.passo-op small{font-size:12px;color:var(--ink3)}
.passo-op:hover,.passo-op:focus-visible,.passo-op[aria-pressed="true"]{border-color:var(--ink)}
.passo-op[aria-pressed="true"] i{background:var(--ink);color:var(--on-ink)}
.passo-nav{display:flex;gap:8px}
.passo-nav .btn.sec{flex:0 0 auto}
.passo-nav .btn.bloco{flex:1;width:auto}
.passo-mais{margin:0 0 12px}
#passoCap:empty{display:none}
.ed-mais{margin-top:12px}
.ed-mais summary{cursor:pointer;font-size:13px;color:var(--ink2);padding:6px 0;list-style:none}
.ed-mais summary::-webkit-details-marker{display:none}
.ed-mais summary::before{content:"+ ";font-weight:600}
.ed-mais[open] summary::before{content:"– "}
.ed-mais .campos{margin-top:8px}
.ed-pag{margin-top:18px;padding-top:16px;border-top:1px solid var(--line2)}
.ed-pag h4{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink3);margin-bottom:10px}
.ed-faixas{display:grid;gap:6px}
.ed-faixa{display:flex;align-items:center;gap:10px;padding:11px 14px;border:1px solid var(--line);border-radius:14px;cursor:pointer;font-size:13.5px}
.ed-faixa:has(input:checked){border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.ed-faixa input[type=radio]{accent-color:var(--ink);flex:0 0 auto}
.ed-faixa.outra .inp{flex:1;min-width:0}
.ed-verm{color:#d6382f;font-weight:600}
.ed-sub{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ed-sub .ed-check{white-space:nowrap}
.ed-sub .inp{flex:1 1 150px;min-width:0}
.ed-acoes .btn:only-child{grid-column:1 / -1}
/* ---------- links do cliente: ícones ---------- */
.lk-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px}
.lk-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;padding:14px 8px 12px;border-radius:18px;border:1px solid var(--line);background:var(--card);color:inherit;text-decoration:none;min-width:0;transition:transform .15s,border-color .15s,box-shadow .15s}
.lk-tile b{font-size:12.5px;font-weight:500;line-height:1.25;max-width:100%;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}
.lk-tile small{font-size:11px;color:var(--ink3);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lk-tile .lk-ico{width:44px;height:44px;border-radius:14px;margin-bottom:4px}
.lk-ico svg.cor{width:24px;height:24px;display:block}
.lk-tile.vazio{border-style:dashed;background:transparent}
.lk-tile.vazio .lk-ico{opacity:.5;filter:grayscale(1)}
.lk-tile.on .lk-ico{background:transparent}
.lk-tile .lk-ico svg.cor{width:30px;height:30px}
.lk-tile.vazio b{color:var(--ink2)}
.lk-tile.editar{border-color:var(--ink)}
.lk-ve{position:absolute;top:10px;right:10px;width:8px;height:8px;border-radius:50%;background:var(--good)}
@media (hover:hover){ .lk-tile:hover{border-color:var(--ink3);transform:translateY(-1px)} }
.ibtn.lk-lapis[aria-pressed="true"]{background:var(--ink);color:var(--on-ink)}
/* ---------- Produção: quadro de arrastar e card de trabalho ---------- */
.kzona{min-height:60px}
.kcard{-webkit-user-select:none;user-select:none}
.kcard[draggable=true]{cursor:grab}
.kcard.indo{opacity:.35}
.kcol.alvo{box-shadow:inset 0 0 0 2px var(--ink)}
.kmarca{height:3px;border-radius:2px;background:var(--ink);margin-top:8px}
.ktags{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}
.ktags .chip{font-size:10.5px;padding:2px 7px}
.kcol .vazio-c{font-size:12px;text-align:center;padding:18px 4px}
.tb-topo{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.tb-quem{min-width:0;flex:1 1 260px}
.tb-quem h2{font-size:22px;font-weight:600;letter-spacing:-.02em;margin:0;display:block}
.tb-quem p{color:var(--ink3);font-size:13.5px;margin-top:2px}
.tb-quem a{color:var(--ink);text-decoration:none;font-weight:500}
.tb-etapas{display:flex;gap:6px;flex-wrap:wrap}
/* A página do PACOTE abre com o topo escuro e a faixa da cor dele, igual ao card do pacote no quadro de Produção.
   O vídeo ligado a um pacote ganha só a faixa lateral da cor do pacote, também como no quadro. */
.card.tb-topo.tb-pacote{background:var(--ink);color:var(--on-ink);border-color:var(--ink);border-top:4px solid var(--pk,var(--ink));padding-top:17px}
.tb-pacote .tb-quem p{color:inherit;opacity:.72}
.tb-pacote .tb-quem a{color:inherit}
.tb-pacote .chip{background:rgba(128,128,128,.28);color:inherit}
.tb-pacote .chip.crit{box-shadow:inset 0 0 0 1px var(--crit-bar)}
.tb-pacote .chip.mes-ref{background:var(--on-ink);color:var(--ink)}
.tb-pacote .tb-etapas .pill-f{background:transparent;border-color:rgba(128,128,128,.5);color:inherit}
.tb-pacote .tb-etapas .pill-f[aria-selected="true"]{background:var(--on-ink);border-color:var(--on-ink);color:var(--ink)}
@media (hover:hover){ .tb-pacote .tb-etapas .pill-f:not([aria-selected="true"]):hover{border-color:var(--on-ink)} }
.card.tb-topo.tb-filho{border-left:4px solid var(--pk,var(--line));padding-left:19px}
/* "Material pronto" do trabalho: lugar para soltar o vídeo + o que é + link do Drive; embaixo, o que já foi enviado */
.mp h2{flex-wrap:wrap;row-gap:4px}
.mp-conta{font-size:12px;font-weight:400;color:var(--ink3)}
.mp-novo{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;align-items:stretch}
.mp-zona{position:relative;display:grid;place-items:center;min-height:196px;border-radius:20px;border:1.5px dashed var(--line);background:var(--bg);cursor:pointer;overflow:hidden;text-align:center;transition:border-color .15s,background-color .15s}
.mp-zona:hover,.mp-zona.sobre{border-color:var(--ink);background:var(--accent-soft)}
.mp-zona.tem{border-style:solid;border-color:var(--ink)}
.mp-zona.erro{border-color:var(--crit);background:var(--crit-soft)}
.mp-zona-txt{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 12px;max-width:100%}
.mp-zona-ic{width:42px;height:42px;border-radius:14px;background:var(--card);display:grid;place-items:center;box-shadow:inset 0 0 0 1px var(--line)}
.mp-zona-ic .ic{width:19px;height:19px}
.mp-zona b{font-size:13px;font-weight:500;line-height:1.25;overflow-wrap:anywhere}
.mp-zona small{font-size:11.5px;color:var(--ink3);line-height:1.35}
.mp-zona.erro small{color:var(--crit)}
.mp-previa{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000}
.mp-zona:has(.mp-previa:not([hidden])) .mp-zona-txt{align-self:end;width:100%;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.78) 42%);padding-top:34px}
.mp-zona:has(.mp-previa:not([hidden])) .mp-zona-ic{display:none}
.mp-zona:has(.mp-previa:not([hidden])) small{color:rgba(255,255,255,.82)}
.mp-tirar{position:absolute;z-index:2;top:8px;right:8px;width:28px;height:28px;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;font-size:17px;line-height:1}
.mp-campos{display:flex;flex-direction:column;gap:6px;min-width:0}
.mp-campos label{font-size:12.5px;font-weight:500;color:var(--ink2);margin-top:6px}
.mp-campos label:first-child{margin-top:0}
.mp-campos label span{font-weight:400;color:var(--ink3);margin-left:4px}
.mp-campos .inp{height:46px;border-radius:14px;padding:0 14px}
.mp-acao{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:auto;padding-top:12px}
.mp-acao .btn .ic{width:16px;height:16px;stroke:var(--on-ink)}
.mp-para{flex:1 1 180px;font-size:12.5px;color:var(--ink3);line-height:1.4}
.mp-para b{color:var(--ink2);font-weight:500}
.mp-lista{margin-top:18px;padding-top:14px;border-top:1px solid var(--line2);display:flex;flex-direction:column;gap:6px}
.mp-lista .cap{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink3);margin-bottom:2px}
.mp-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:16px;background:var(--bg);cursor:pointer;transition:background-color .15s}
.mp-item:hover,.mp-item:focus-visible{background:var(--hover);outline:none}
.mp-ic{width:38px;height:38px;border-radius:12px;background:var(--card);display:grid;place-items:center;flex:0 0 auto;color:var(--ink2);box-shadow:inset 0 0 0 1px var(--line)}
.mp-ic .ic{width:17px;height:17px}
.mp-item.ok .mp-ic{color:var(--good);background:var(--good-soft);box-shadow:none}
.mp-item.crit .mp-ic{color:var(--crit);background:var(--crit-soft);box-shadow:none}
.mp-item.warn .mp-ic{color:var(--warn);background:var(--warn-soft);box-shadow:none}
.mp-t{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}
.mp-t b{font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mp-t small{font-size:12px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mp-seta{color:var(--ink3);font-size:18px;flex:0 0 auto}
.mp-vazio{margin-top:16px;font-size:13px;color:var(--ink3);line-height:1.5}
@media (max-width:640px){ .mp-novo{grid-template-columns:minmax(0,1fr)} .mp-zona{min-height:112px} .mp-campos .inp{font-size:16px} .mp-acao .btn{width:100%} }
.tb-rapida{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto auto;gap:8px;align-items:center}
.tb-rapida .inp,.tb-nova .inp{height:44px;border-radius:999px;padding:0 16px}
.tb-tarefas{display:grid;gap:2px;margin-bottom:10px}
.tb-tarefa{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid var(--line2)}
.tb-tarefa label{display:flex;align-items:center;gap:10px;flex:1;min-width:0;cursor:pointer;font-size:14px}
.tb-tarefa input{accent-color:var(--ink);width:18px;height:18px;flex:0 0 auto}
.tb-tarefa.ok span{color:var(--ink3);text-decoration:line-through}
.tb-tarefa .x{width:30px;height:30px;border-radius:50%;color:var(--ink3);font-size:16px}
.tb-tarefa .x:hover{background:var(--crit-soft);color:var(--crit)}
.tb-nova{display:flex;gap:8px}
.tb-nova .inp{flex:1;min-width:0}
@media (max-width:860px){ .kcard[draggable=true]{cursor:pointer} }
@media (max-width:600px){
  .ed-tipos{grid-template-columns:minmax(0,1fr)}
  .tb-rapida{grid-template-columns:minmax(0,1fr)}
  .tb-rapida .btn{width:100%}
  .tb-rapida .inp,.tb-nova .inp,.ed-item .inp,.ed-faixa .inp{font-size:16px}
  .lk-grade{grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* ---------- tipos de cliente, agência e identidade visual ---------- */
.placa{width:36px;height:36px;border-radius:11px;background:#fff;display:grid;place-items:center;flex:0 0 auto;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);padding:4px}
.placa img{max-width:100%;max-height:100%;width:auto;height:auto;display:block;object-fit:contain}
.logo-tinta{display:block;width:100%;height:100%;-webkit-mask:var(--lg) center/contain no-repeat;mask:var(--lg) center/contain no-repeat}   /* logo branca pintada na cor do cliente */
.volta-linha{margin:0 0 10px}
.placa.cli-av{width:60px;height:60px;border-radius:18px;padding:7px}
.placa.g{width:48px;height:48px;border-radius:15px;padding:6px}
.avatar.g{width:48px;height:48px;font-size:17px}
.lt-sub{padding-left:22px;position:relative}
.lt-sub::before{content:"";position:absolute;left:8px;top:0;bottom:50%;width:8px;border-left:1.5px solid var(--line);border-bottom:1.5px solid var(--line);border-radius:0 0 0 8px}
.lt-sub .placa,.lt-sub .avatar{width:30px;height:30px;border-radius:9px;font-size:12px}
.cli-topo.com-cor{box-shadow:inset 6px 0 0 var(--mc),var(--sombra-1,0 1px 2px rgba(0,0,0,.04))}
.quadros{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.quadro{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;min-height:150px;border-radius:22px;padding:16px 18px;background:var(--mc,var(--tinta));color:var(--mt,#fff);transition:transform .2s cubic-bezier(.2,.7,.2,1),box-shadow .2s;box-shadow:0 8px 20px rgba(0,0,0,.12)}
.quadro-topo{display:flex;justify-content:space-between;align-items:flex-start;width:100%;margin-bottom:auto;padding-bottom:18px}
.quadro b{font-size:16px;font-weight:600;letter-spacing:-.01em;line-height:1.2}
.quadro small{font-size:12.5px;opacity:.78}
.quadro .chip{background:rgba(255,255,255,.92);color:#8a1c1c}
.quadro .avatar{background:rgba(255,255,255,.18);color:inherit}
@media (hover:hover){ .quadro:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(0,0,0,.18)} }
.idv{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.idv-logo{width:auto;min-width:72px;max-width:180px;height:64px;border-radius:16px;padding:10px 14px}
.idv-logo.vazia{display:grid;place-items:center;border:1px dashed var(--line);color:var(--ink3);font-size:12px;background:transparent}
.idv-cor{display:grid;grid-template-columns:auto auto;column-gap:8px;align-items:center}
.idv-cor i{width:28px;height:28px;border-radius:9px;display:block;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);grid-row:span 2}
.idv-cor i.vazia{background:repeating-linear-gradient(45deg,var(--line) 0 4px,transparent 4px 8px)}
.idv-cor b{font-size:13.5px;font-weight:500;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.idv-cor small{font-size:11.5px;color:var(--ink3)}
.cor-campo{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:var(--r3);padding:8px 12px;background:var(--bg)}
.cor-campo input[type=color]{width:44px;height:36px;border:0;padding:0;background:none;border-radius:10px;cursor:pointer;flex:0 0 auto}
.cor-campo .cor-hex{flex:1;font-size:13.5px;color:var(--ink2);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
@media (max-width:600px){ .quadros{grid-template-columns:repeat(2,minmax(0,1fr))} .quadro{min-height:136px;padding:14px} .quadro b{font-size:14.5px} }

/* ---------- montar proposta em passos (um de cada vez, com Voltar e Avançar) ---------- */
.ed-passos-pg{max-width:820px;margin:0 auto;display:grid;gap:14px}
.ed-trilha{list-style:none;display:flex;gap:6px;margin:0;padding:0;overflow-x:auto;scrollbar-width:none}
.ed-trilha::-webkit-scrollbar{display:none}
.ed-trilha li{flex:1 1 0;min-width:max-content}
.ed-trilha button{display:flex;align-items:center;gap:8px;width:100%;padding:9px 12px;border-radius:999px;font-size:13px;font-weight:500;color:var(--ink3);background:var(--accent-soft);white-space:nowrap;transition:background-color .15s,color .15s}
.ed-trilha button span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--card);color:var(--ink2);font-size:12px;font-weight:600;flex:0 0 auto}
.ed-trilha button.feito{color:var(--ink)}
.ed-trilha button.feito span{background:var(--ink);color:var(--on-ink)}
.ed-trilha button[aria-current="step"]{background:var(--ink);color:var(--on-ink)}
.ed-trilha button[aria-current="step"] span{background:var(--on-ink);color:var(--ink)}
.ed-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;position:sticky;bottom:12px;background:var(--vidro,var(--card));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:999px;padding:8px;box-shadow:var(--sombra-2,0 10px 30px rgba(0,0,0,.12));z-index:5}
.ed-nav .ed-nota{margin:0;flex:1;text-align:center}
.ed-nav-dir{display:flex;gap:8px}
.ed-resumo .ver-l:last-child{border-bottom:0}
@media (max-width:860px){ .ed-nav{bottom:calc(84px + env(safe-area-inset-bottom))} }
@media (max-width:600px){ .ed-trilha button{padding:8px 10px;font-size:12.5px} .ed-nav .ed-nota{display:none} .ed-nav .btn{padding-left:16px;padding-right:16px} }

/* ---------- pacote mensal: a faixa em Produção, o quadro do mês e as cobranças ligadas ao cliente ---------- */
.pacotes{margin:0 0 16px}
.pc-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:10px}
.pcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r2);padding:14px 16px 13px;cursor:pointer;display:flex;flex-direction:column;gap:10px;min-width:0;box-shadow:var(--sombra)}
.pcard:hover{border-color:var(--ink)}
.pcard:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.pcard.fim{opacity:.62}
.pc-topo{display:flex;align-items:center;gap:10px;min-width:0}
.pc-topo .chip{flex:0 0 auto;font-size:10.5px;padding:2px 8px}
.pc-quem{flex:1;min-width:0}
.pc-quem b{display:block;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pc-quem small{display:block;color:var(--ink3);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pc-num{display:flex;align-items:baseline;gap:7px;margin-top:2px}
.pc-num b{font-size:30px;font-weight:700;letter-spacing:-.03em;line-height:1}
.pc-num span{color:var(--ink2);font-size:13px}
.pc-barra{height:6px;border-radius:99px;background:var(--line);overflow:hidden}
.pc-barra i{display:block;height:100%;border-radius:99px;background:var(--ink);transition:width .3s}
.pc-barra.g{height:10px}
.pcard .ktags,.pcard .kfoot{margin-top:0}
.pcard .kfoot .mut{color:var(--ink3);font-weight:400}
@media (prefers-reduced-motion:no-preference){ .pcard{transition:transform .22s cubic-bezier(.2,.7,.2,1),box-shadow .22s,border-color .18s} }

.pm-sit{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.pm-nav{display:flex;align-items:center;justify-content:space-between;gap:10px}
.pm-seta{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-size:20px;line-height:1;color:var(--ink);flex:0 0 auto;transition:border-color .15s}
.pm-seta:hover:not(:disabled){border-color:var(--ink)}
.pm-seta:disabled{opacity:.3;cursor:default}
.pm-mes{text-align:center;min-width:0}
.pm-mes b{display:block;font-size:16px;font-weight:600;letter-spacing:-.01em}
.pm-mes small{display:block;color:var(--ink3);font-size:12px;margin-top:1px}
.pm-conta{display:flex;align-items:flex-end;gap:12px;margin:18px 0 12px}
.pm-conta b{font-size:64px;font-weight:700;letter-spacing:-.04em;line-height:.9}
.pm-conta span{font-size:24px;font-weight:600;letter-spacing:-.02em;line-height:1.05;color:var(--ink2)}
.pm-conta small{display:block;font-size:12.5px;font-weight:400;letter-spacing:0;color:var(--ink3);margin-top:3px}
.pm-det{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:12px;min-height:24px}
.pm-falta{font-size:12.5px;color:var(--ink3);margin-left:auto}

.cob-nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:6px}
.cob-nums>div{background:var(--bg);border-radius:14px;padding:11px 12px;min-width:0}
.cob-nums b{display:block;font-size:17px;font-weight:600;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cob-nums small{display:block;color:var(--ink3);font-size:11.5px;line-height:1.3;margin-top:2px}
.cob-nums .crit{background:var(--crit-soft)} .cob-nums .crit b{color:var(--crit)}
.lt.cob .tx small.crit{color:var(--crit)} .lt.cob .tx small.ok{color:var(--good)} .lt.cob .tx small.warn{color:var(--warn)}
.lt.cob .btn.mini{flex:0 0 auto}
.lt.cob:last-child{border-bottom:0}
.cob-mais{display:block;width:100%;text-align:center;font-size:12.5px;color:var(--ink2);padding:10px 4px 2px}
.cob-mais:hover{color:var(--ink)}
.lt .val small{line-height:1.2}
/* tela estreita (e a coluna da direita, que também é estreita): o botão Receber desce para a linha de baixo, pra descrição não sumir */
@media (max-width:640px){ .pm-conta b{font-size:54px} .cob-nums b{font-size:15px}
  .lt.cob{display:grid;grid-template-columns:40px minmax(0,1fr) auto;grid-template-areas:"dia tx val" "dia btn btn";gap:6px 12px;align-items:center}
  .lt.cob .dia{grid-area:dia;align-self:start;padding-top:2px} .lt.cob .tx{grid-area:tx} .lt.cob .val{grid-area:val} .lt.cob .btn.mini{grid-area:btn;justify-self:start} }

/* ---------- menu de três pontinhos e lista dentro da confirmação ---------- */
.ma-ancora{position:relative;display:inline-flex;flex:0 0 auto}
.ma-btn{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:var(--ink2);transition:background-color .15s,color .15s}
.ma-btn:hover,.ma-btn[aria-expanded="true"]{background:var(--hover);color:var(--ink)}
.ma-btn .ic{width:18px;height:18px;fill:currentColor;stroke:none}
.menu-acoes{position:absolute;right:0;top:calc(100% + 4px);z-index:40;min-width:190px;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--sombra-2);padding:6px;font-size:14px;text-align:left}
.menu-acoes.acima{top:auto;bottom:calc(100% + 4px)}
/* menu aberto com o botão direito: fica solto na tela, no ponto do clique */
.ma-ancora.ma-solta{position:fixed;width:0;height:0;z-index:45}
.ma-solta .menu-acoes{left:0;right:auto;top:2px} .ma-solta .menu-acoes.acima{top:auto;bottom:2px} .ma-solta .menu-acoes.para-esquerda{left:auto;right:0}
.ma-solta .menu-acoes{transform-origin:top left}
.ma-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:11px;color:var(--ink);font-weight:400;text-align:left;white-space:nowrap}
.ma-item:hover,.ma-item:focus-visible{background:var(--hover);outline:none}
.ma-item .ic{width:17px;height:17px;color:var(--ink2);flex:0 0 auto}
.ma-item.perigo,.ma-item.perigo .ic{color:var(--crit)}
.lt .ma-ancora{margin:-6px -8px -6px 0}
@media (prefers-reduced-motion:no-preference){ @keyframes ma-abrir{from{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}} .menu-acoes{animation:ma-abrir .14s ease-out;transform-origin:top right} .menu-acoes.acima{transform-origin:bottom right} }
.conf-lista{list-style:none;margin:12px 0 0;padding:12px 14px;border-radius:14px;background:var(--bg);text-align:left;font-size:13px;line-height:1.45;color:var(--ink2);display:flex;flex-direction:column;gap:7px}
.conf-lista li{position:relative;padding-left:16px}
.conf-lista li::before{content:"";position:absolute;left:2px;top:.62em;width:5px;height:5px;border-radius:50%;background:var(--ink3)}
/* campo principal de um formulário (ex.: nome da empresa no cadastro de cliente) */
.campo.destaque > label{font-size:13px;font-weight:600;color:var(--ink)}
.campo.destaque > input{font-size:17px;font-weight:500;min-height:50px}
/* cobranças: os dois botões (Receber, Cobrar) e o bloco "Precisa de você" */
.cob-btns{display:inline-flex;gap:6px;flex:0 0 auto}
.cob-btns .btn .ic{width:14px;height:14px}
@media (max-width:640px){ .lt.cob .cob-btns{grid-area:btn;justify-self:start} }
.precisa .cap{display:flex;align-items:baseline;gap:10px;margin:14px 0 2px}
.precisa .cap:first-of-type{margin-top:2px}
.precisa .cap a{margin-left:auto;font-weight:400;text-transform:none;letter-spacing:0;font-size:12.5px;color:var(--ink3)}
.precisa .cap b{margin-left:auto;color:var(--crit);font-size:13px;letter-spacing:0}
.cfg-pix{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--ink2)}
/* ---------- código no celular (verificação em duas etapas) ---------- */
.mfa-passos{list-style:none;counter-reset:mfa;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.mfa-passos li{counter-increment:mfa;position:relative;padding-left:38px;min-width:0}
.mfa-passos li::before{content:counter(mfa);position:absolute;left:0;top:-2px;width:26px;height:26px;border-radius:50%;background:var(--ink);color:var(--card);display:grid;place-items:center;font-size:12.5px;font-weight:600}
.mfa-passos li > b{display:block;font-size:14px;font-weight:600}
.mfa-passos li > span{display:block;font-size:12.5px;color:var(--ink3);margin-top:1px}
.mfa-qr{margin:12px 0 10px;width:200px;max-width:100%;aspect-ratio:1;background:#fff;border-radius:16px;border:1px solid var(--line);display:grid;place-items:center;padding:12px}
.mfa-qr img{width:100%;height:100%;display:block}
.mfa-chave{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.mfa-chave small{flex:1 1 100%;font-size:12px;color:var(--ink3)}
.mfa-chave code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;background:var(--bg);padding:7px 10px;border-radius:9px;overflow-wrap:anywhere;user-select:all;-webkit-user-select:all}
.mfa-cod{margin-top:10px;width:100%;max-width:220px;font-size:26px!important;font-weight:600;letter-spacing:.3em;text-align:center;font-variant-numeric:tabular-nums;min-height:56px}
#codigo2{font-size:22px;font-weight:600;letter-spacing:.28em;font-variant-numeric:tabular-nums;text-align:center;padding-left:44px}
.login-link{font:inherit;color:inherit;text-decoration:underline;text-underline-offset:3px;padding:2px 0}
.login-link:disabled{text-decoration:none;cursor:default;opacity:.75;font-variant-numeric:tabular-nums}
/* o girador pequeno dentro do botão, enquanto espera a resposta (tela de entrada) */
.gira-mini{display:inline-block;width:13px;height:13px;margin-right:8px;vertical-align:-2px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;opacity:.8;animation:gira .8s linear infinite}
.login-form[hidden]{display:none}

/* ---------- temas do mês ---------- */
.tm-lista{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.tm{border:1px solid var(--line);border-radius:16px;padding:12px 12px 12px 14px;min-width:0}
.tm.feito{background:var(--bg);border-color:transparent}
.tm-topo{display:flex;align-items:flex-start;gap:8px;min-width:0}
.tm-tx{flex:1;min-width:0}
.tm-tx b{display:block;font-size:14px;font-weight:600;line-height:1.3;overflow-wrap:anywhere}
.tm-tx small{display:block;font-size:12.5px;color:var(--ink3);margin-top:2px;line-height:1.4;overflow-wrap:anywhere}
.tm-topo .chip{flex:0 0 auto;font-size:10.5px;padding:2px 8px;margin-top:2px}
.tm-topo .ma-ancora{margin:-6px -6px -6px 0}
.tm-resp{margin-top:8px;padding:9px 12px;border-radius:12px;background:var(--crit-soft);font-size:13px;line-height:1.4;overflow-wrap:anywhere}
.tm-resp small{display:block;font-size:11.5px;color:var(--ink3);margin-top:2px}
.tm-fases{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-top:10px;padding:3px;border-radius:999px;background:var(--bg)}
.tm.feito .tm-fases{background:var(--card)}
.tm-fases button{min-height:30px;border-radius:999px;font-size:12px;font-weight:500;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 6px;transition:background-color .15s,color .15s}
.tm-fases button:hover{color:var(--ink)}
.tm-fases button[aria-checked="true"]{background:var(--ink);color:var(--card)}
.tm-ent{display:block;font-size:12px;color:var(--ink3);margin-top:8px}

/* ---------- agenda de gravações ---------- */
.lt.grav .dia{font-size:11.5px;text-transform:lowercase}
.lt.grav.feita .tx b,.lt.grav.passada .tx b{color:var(--ink2)}
.lt.grav .chip{flex:0 0 auto;font-size:10.5px;padding:2px 8px}
.lt.grav:last-child{border-bottom:0}
.ag-nav{align-items:center;gap:8px}
.ag-nav b{font-size:16px;font-weight:600;min-width:150px;text-align:center}
.ag-sem{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-bottom:6px}
.ag-sem span{font-size:11.5px;font-weight:500;color:var(--ink3);text-align:center;text-transform:lowercase}
.ag-grade{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.ag-dia,.ag-vazio{min-height:86px;border-radius:12px;min-width:0}
.ag-dia{background:var(--bg);padding:7px 7px 6px;display:flex;flex-direction:column;gap:3px;cursor:pointer;transition:box-shadow .15s}
.ag-dia:hover{box-shadow:inset 0 0 0 1px var(--ink)}
.ag-dia > b{font-size:12.5px;font-weight:500;color:var(--ink2);line-height:1}
.ag-dia.passado > b{color:var(--ink3)}
.ag-dia.hoje{box-shadow:inset 0 0 0 2px var(--ink)}
.ag-dia.hoje > b{color:var(--ink);font-weight:700}
.ag-ev{display:block;font-size:11px;line-height:1.25;padding:3px 6px;border-radius:7px;background:var(--ink);color:var(--card);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ag-ev i{font-style:normal;opacity:.7;margin-right:4px;font-variant-numeric:tabular-nums}
.ag-ev.feita{background:var(--good-soft);color:var(--good)}
.ag-ev.outro{background:var(--line);color:var(--ink)}   /* reunião, visita, entrega…: bloco claro (a gravação é o bloco cheio) */
.ag-ev.outro.feita{background:var(--good-soft);color:var(--good)}
.ag-ev.outro.feita i{opacity:1}   /* a hora, no bloco verde claro, ficava apagada demais para ler */
/* arrastar um compromisso para outro dia: o que é do painel tem a mãozinha; o dia de destino acende */
.ag-ev[draggable="true"]{cursor:grab}
.ag-ev.indo{opacity:.45}
.ag-dia.alvo{outline:2px solid var(--ink);outline-offset:-2px}
.ag-ev.goo,.goo-l{cursor:pointer}
@media (hover:none){.ag-arraste{display:none}}   /* no celular não dá para arrastar: lá o dia muda pelo botão Editar */
.ag-dia small{font-size:10.5px;color:var(--ink3)}
/* Agenda do Google: os compromissos que vêm de lá (só para ver) aparecem em contorno, para não se confundir com as gravações */
.ag-ev.goo{background:transparent;color:var(--ink2);box-shadow:inset 0 0 0 1px var(--line);text-decoration:none}
a.ag-ev.goo:hover{color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink3)}
.goo-barra{display:flex;align-items:center;justify-content:space-between;gap:10px 14px;flex-wrap:wrap;margin:14px 0 0;padding:10px 14px;border-radius:14px;background:var(--card);border:1px solid var(--line);font-size:13.5px;line-height:1.4;color:var(--ink2)}
.goo-barra > span{flex:1 1 220px;min-width:0}
.goo-barra b{color:var(--ink);font-weight:600;margin-right:4px}
.goo-barra.aviso{border-color:var(--warn)}
.goo-barra .pill-f[disabled]{opacity:.5;pointer-events:none}
a.goo-l{text-decoration:none;color:inherit}
.goo-l .dia{opacity:.75}
@media (max-width:860px){
  .ag-dia,.ag-vazio{min-height:46px}
  .ag-dia{align-items:center;padding:6px 2px}
  .ag-ev{width:6px;height:6px;padding:0;border-radius:50%;font-size:0;flex:0 0 auto}
  .ag-ev.feita{background:var(--good)}
  .ag-ev.outro{background:var(--ink3)}
  .ag-ev.goo{background:transparent;box-shadow:inset 0 0 0 1.5px var(--ink3)}
  .ag-ev i{display:none}
  .ag-dia{flex-direction:row;flex-wrap:wrap;justify-content:center;align-content:flex-start;gap:3px}
  .ag-dia > b{flex:1 1 100%;text-align:center;margin-bottom:2px}
  .ag-dia small{display:none}
  .ag-nav b{min-width:0;flex:1}
}
.pm-acoes{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid var(--line2)}
.pm-acoes .btn .ic{width:14px;height:14px}

/* ---------- galeria de fotos (entrega com seleção pelo cliente) ---------- */
.gal-lista{display:flex;flex-direction:column;gap:8px}
.gal-item{display:flex;align-items:center;gap:12px;padding:8px 10px 8px 8px;border:1px solid var(--line);border-radius:16px;cursor:pointer;min-width:0;transition:border-color .15s}
.gal-item:hover{border-color:var(--ink)}
.gal-capa{width:64px;height:64px;border-radius:11px;background:var(--bg);display:grid;place-items:center;overflow:hidden;flex:0 0 auto;color:var(--ink3)}
.gal-capa img{width:100%;height:100%;object-fit:cover;display:block}
.gal-tx{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.gal-tx b{font-size:14px;font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gal-tx small{font-size:12px;color:var(--ink3)}
.gal-tx .chip{font-size:10.5px;padding:2px 8px;margin-top:3px;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.gal-zona{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:132px;padding:18px;border-radius:20px;border:1.5px dashed var(--line);background:var(--bg);cursor:pointer;text-align:center;transition:border-color .15s,background-color .15s}
.gal-zona:hover,.gal-zona.sobre{border-color:var(--ink);background:var(--accent-soft)}
.gal-zona b{font-size:14.5px;font-weight:600}
.gal-zona small{font-size:12.5px;color:var(--ink3);max-width:460px;line-height:1.4}
.gal-filtros{margin:16px 0 12px}
.gal-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;align-items:start}
.gal-f{position:relative;margin:0;border-radius:14px;overflow:hidden;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line)}
.gal-f img{display:block;width:100%;height:auto;aspect-ratio:1!important;object-fit:contain;background:var(--bg);-webkit-user-drag:none;user-select:none}   /* ladrilhos iguais; a foto aparece inteira, sem corte */
.gal-f.sim{box-shadow:0 0 0 2px var(--ink)}
.gal-f figcaption{padding:7px 9px 8px;min-width:0}
.gal-f figcaption b{display:block;font-size:11.5px;font-weight:500;color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gal-f figcaption small{display:block;font-size:11.5px;color:var(--ink);line-height:1.35;margin-top:2px;overflow-wrap:anywhere}
.gal-sim,.gal-fin{position:absolute;top:7px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center}
.gal-sim{left:7px;background:var(--ink);color:var(--card)} .gal-sim .ic{width:14px;height:14px;fill:currentColor;stroke:none}
.gal-fin{left:38px;background:var(--good);color:#fff} .gal-fin .ic{width:14px;height:14px}
.gal-f:not(.sim) .gal-fin{left:7px}
.gal-x{position:absolute;top:7px;right:7px;width:26px;height:26px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:16px;line-height:1;display:grid;place-items:center;opacity:0;transition:opacity .15s}
.gal-f:hover .gal-x,.gal-x:focus-visible{opacity:1}
@media (hover:none){ .gal-x{opacity:.85} }
.gal-recebida{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:14px;background:var(--warn-soft);border-color:transparent}
.gal-recebida b{display:block;font-size:15px;font-weight:600}
.gal-recebida small{display:block;font-size:13px;color:var(--ink2);margin-top:2px}
.gal-rec-btns{display:flex;gap:8px;flex-wrap:wrap}
.gal-rec-btns .btn .ic{width:15px;height:15px}
.gal-recado{margin:10px 4px 0;font-size:13px}
.gal-finais .gal-zona{margin-bottom:6px}
.campo.bloco{grid-column:1 / -1}
.gal-previa canvas{display:block;width:100%;height:auto;border-radius:14px;background:var(--bg)}
.gal-previa small{display:block;font-size:12px;color:var(--ink3);margin-top:6px;line-height:1.4}
@media (max-width:640px){ .gal-grade{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px} .gal-rec-btns{width:100%} .gal-rec-btns .btn{flex:1 1 auto} }
/* interruptor: a área de toque é maior que o desenho (28 px de altura é pouco para o dedo) */
.chave::after{content:"";position:absolute;inset:-9px -6px}
/* cobranças numa coluna estreita (ex.: o cartão Mensalidade, à direita): os botões descem para a linha de baixo, como no celular */
.cobs,.precisa{container-type:inline-size}
@container (max-width:560px){
  .lt.cob{display:grid;grid-template-columns:40px minmax(0,1fr) auto;grid-template-areas:"dia tx val" "dia btn btn";gap:6px 12px;align-items:center}
  .lt.cob .dia{grid-area:dia;align-self:start;padding-top:2px} .lt.cob .tx{grid-area:tx} .lt.cob .val{grid-area:val} .lt.cob .cob-btns{grid-area:btn;justify-self:start}
}

/* ---------- campo de várias opções para marcar (ex.: o que o trabalho entrega: Vídeo, Fotos ou os dois) ---------- */
.varios{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.vario{display:flex;align-items:center;gap:10px;min-height:54px;padding:10px 12px;border-radius:var(--r3);border:1px solid var(--line);background:var(--card);text-align:left;cursor:pointer;transition:border-color .15s,background-color .15s,box-shadow .15s}
.vario:hover{border-color:var(--ink3)}
.vario:focus-visible{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px var(--accent-soft)}
.vario-ic{width:32px;height:32px;border-radius:10px;background:var(--bg);display:grid;place-items:center;flex:0 0 auto;font-style:normal}
.vario-ic .ic{width:16px;height:16px}
.vario > span{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;line-height:1.25}
.vario b{font-size:14px;font-weight:500}
.vario small{font-size:11.5px;color:var(--ink3)}
.vario-ok{width:20px;height:20px;border-radius:7px;border:1.5px solid var(--line);flex:0 0 auto;background:var(--card) center / 14px 14px no-repeat;transition:background-color .15s,border-color .15s}
.vario[aria-pressed="true"]{border-color:var(--ink);background:var(--bg)}
.vario[aria-pressed="true"] .vario-ic{background:var(--card)}
.vario[aria-pressed="true"] .vario-ok{border-color:var(--ink);background-color:var(--ink);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E")}
:root[data-tema="escuro"] .vario[aria-pressed="true"] .vario-ok{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E")}

/* ---------- Portal do cliente em linhas: resumo na linha, setinha à direita, informações abrindo para baixo ---------- */
.pt-res{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 1 auto;min-width:0;margin-left:auto}
.pt-res-t{font-size:12.5px;opacity:.82;white-space:nowrap}
.pt-res-m{display:none}
.pt-seta{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;color:inherit;background:color-mix(in srgb,currentColor 13%,transparent);border:1px solid color-mix(in srgb,currentColor 20%,transparent);transition:transform .28s cubic-bezier(.2,.7,.2,1),background-color .15s}
.pt-seta .ic{width:18px;height:18px;stroke:currentColor}
.pt-capa:hover .pt-seta{background:color-mix(in srgb,currentColor 22%,transparent)}
.pt-seta:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.pt.aberto .pt-seta{transform:rotate(180deg)}
.pt-dobra{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.2,.7,.2,1)}
.pt.aberto .pt-dobra{grid-template-rows:1fr}
.pt-dentro{overflow:hidden;min-height:0}
.pt-cob{align-self:flex-start;margin-top:-6px;text-align:left;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.pt-cob:hover{color:var(--ink)}
@media (max-width:900px){ .pt-corpo{grid-template-columns:minmax(0,1fr)} }
@media (max-width:640px){
  .pt-capa{gap:11px;padding:12px 12px 12px 14px;min-height:68px}
  .pt-capa .avatar,.pt-capa .placa{width:42px;height:42px}
  .pt-res{display:none}
  .pt-res-m{display:block}
  .pt-quem b{font-size:15.5px}
  .pt-corpo{padding:16px 14px 18px}
}
@media (prefers-reduced-motion:reduce){ .pt-dobra,.pt-seta{transition:none} }

/* ---------- Fotos: ligar e desligar a marca d'água, foto sem marca, dicas ---------- */
.gal-marca{margin-top:10px;gap:11px;justify-content:flex-start}
.gal-marca .cfg-txt{flex:1 1 auto;min-width:0}
.gal-marca-ic{width:34px;height:34px;border-radius:11px;background:var(--bg);display:grid;place-items:center;flex:0 0 auto;color:var(--ink3)}
.gal-marca-ic.sim{background:var(--good-soft);color:var(--good)}
.gal-marca-ic .ic{width:17px;height:17px}
.gal-entrega{margin:0 0 14px}.gal-entrega small{line-height:1.45}
.gal-prog{display:block;width:100%;height:8px;margin:8px 0 4px;border:0;border-radius:99px;overflow:hidden;background:var(--bg);accent-color:var(--good)}
.gal-prog::-webkit-progress-bar{background:var(--bg)}.gal-prog::-webkit-progress-value{background:var(--good);border-radius:99px;transition:width .4s}
.gal-lk{font:inherit;color:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer;padding:0;background:none;border:0}
.gal-lk:hover{color:var(--ink)}
.gal-dica{margin:10px 0 0}
.gals .gal-lista{margin-top:12px}
.gal-limpa{display:inline-block;margin-top:4px;font-style:normal;font-size:10.5px;font-weight:600;letter-spacing:.02em;padding:2px 7px;border-radius:999px;background:var(--bg);color:var(--ink2);box-shadow:inset 0 0 0 1px var(--line)}
.cfg-marca-previa{padding:0;width:104px;height:64px}
.cfg-marca-previa canvas{display:block;width:100%;height:100%;object-fit:cover}
.tb-mais-fmt{display:flex;flex-wrap:wrap;gap:8px}
.tb-mais-fmt .pill-f{display:inline-flex;align-items:center;gap:7px;border-style:dashed}
.tb-mais-fmt .pill-f .ic{width:14px;height:14px}
.ent-fotos-nota{display:flex;gap:10px;align-items:flex-start;margin:0;padding:11px 13px;border-radius:var(--r3);background:var(--bg);font-size:12.5px;line-height:1.45;color:var(--ink2)}
.ent-fotos-nota .ic{width:17px;height:17px;flex:0 0 auto;margin-top:1px}

/* ---------- cliente pessoa física: a foto dele (redonda) no lugar da logo ---------- */
.avatar.foto{padding:0;border-radius:50%;background:var(--bg);border:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.avatar.foto img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}
.avatar.foto.cli-av{width:60px;height:60px}
.pt-capa .avatar.foto{border-radius:50%;background:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.55)}
.selo-marca.selo-foto{border-radius:50%;overflow:hidden;padding:0;background:var(--bg)}
.selo-foto img{width:100%;height:100%;object-fit:cover;display:block}
.idv-foto{width:64px;height:64px;font-size:12px}
.idv-foto.vazia{display:grid;place-items:center;border-radius:50%;border:1px dashed var(--line);color:var(--ink3);text-align:center;line-height:1.2}
.pt-col .pt-acoes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.pt-col .pt-acoes .btn{justify-content:center}
.pt-corpo.um{max-width:560px}
@media (max-width:560px){ .pt-col .pt-acoes .btn{white-space:normal;line-height:1.2;text-align:center;padding:9px 10px;min-height:44px;min-width:0} }

/* ---------- galeria em passos: 1 enviar as fotos → 2 seleção do cliente → 3 fotos finais ---------- */
.gp{display:flex;align-items:stretch;margin-top:14px;padding:8px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sombra)}
.gp-p{flex:1 1 0;min-width:0;display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:16px;text-align:left;cursor:pointer;transition:background-color .15s,opacity .15s}
.gp-p:hover{background:var(--hover)}
.gp-p:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
.gp-p[aria-current="step"]{background:var(--bg)}
.gp-n{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;font-style:normal;font-weight:600;font-size:13.5px;border:1.5px solid var(--line);color:var(--ink3);background:var(--card)}
.gp-n .ic{width:16px;height:16px;stroke-width:2.4}
.gp-p.feito .gp-n{background:var(--good-soft);border-color:transparent;color:var(--good)}
.gp-p[aria-current="step"] .gp-n{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}
.gp-p[aria-current="step"] .gp-n .ic{stroke:var(--on-ink)}
.gp-p > span{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.gp-p b{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gp-p small{font-size:11.5px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gp-p.travado{opacity:.5}
.gp-l{flex:0 0 22px;align-self:center;height:2px;border-radius:2px;background:var(--line)}
.gp-l.feito{background:var(--good)}
.gp-num{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--ink);color:var(--on-ink);font-size:12.5px;font-weight:600;margin-right:9px;vertical-align:1px}
.gp-conta{font-size:12px;font-weight:400}
.gp-pe{display:flex;align-items:center;justify-content:space-between;gap:12px 16px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.gp-pe p{margin:0;flex:1 1 280px;min-width:0;font-size:13px;line-height:1.45;color:var(--ink2)}
.gp-pe-b{display:flex;gap:8px;flex-wrap:wrap}
.gp-pe-b .btn .ic{width:15px;height:15px}
.gp-pe-b .btn:not(.sec) .ic{stroke:var(--on-ink)}
.gp-pe-b .btn[disabled]{opacity:.45;cursor:not-allowed}
.gp-caixa{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;background:var(--bg)}
.gp-caixa.ok{background:var(--good-soft)}
.gp-caixa-ic{width:38px;height:38px;border-radius:12px;background:var(--card);display:grid;place-items:center;flex:0 0 auto;color:var(--ink2)}
.gp-caixa.ok .gp-caixa-ic{color:var(--good)}
.gp-caixa-ic .ic{width:18px;height:18px}
.gp-caixa b{display:block;font-size:14.5px;font-weight:600}
.gp-caixa small{display:block;font-size:12.5px;color:var(--ink2);margin-top:2px;line-height:1.4}
.gp-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.gp-btns .btn .ic{width:15px;height:15px}
.gp-cap{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink3);margin:18px 0 10px}
.gal-limpa.falta{color:var(--warn,#a16207)}
.gal-finais .cfg-l{margin-top:8px}
@media (max-width:640px){
  .gp{padding:6px}
  .gp-p{flex-direction:column;align-items:center;text-align:center;gap:6px;padding:9px 2px}
  .gp-p > span{align-items:center}
  .gp-p b{font-size:11.5px;white-space:normal;line-height:1.2}
  .gp-p small{display:none}
  .gp-l{flex-basis:10px;align-self:flex-start;margin-top:24px}
  .gp-pe-b{width:100%}
  .gp-pe-b .btn{flex:1 1 auto;justify-content:center}
  .gp-btns .btn{flex:1 1 100%;justify-content:center}
}
.gp-tit{display:inline-flex;align-items:center;min-width:0}
.gp-tit .gp-num{flex:0 0 auto;margin-right:9px}
.card h2 .gp-tit{margin-left:0;font-size:inherit;font-weight:inherit;color:inherit;text-align:left}
.card h2 .gp-num{margin-left:0;margin-right:9px;font-size:12.5px;font-weight:600;color:var(--on-ink);text-align:center}
@media (max-width:640px){ .card h2:has(.gp-tit){flex-wrap:wrap;row-gap:4px} .card h2:has(.gp-tit) .gp-conta{margin-left:33px;width:100%;text-align:left} }

/* ---------- Financeiro dos clientes (aba do menu de Clientes): o que falta receber, o que venceu, por cliente ---------- */
.fc-tiles .tile.crit .v{color:var(--crit)}
@media (max-width:1100px){ .fc-tiles{grid-template-columns:repeat(2,minmax(0,1fr))} }
.fc-meses{display:flex;flex-direction:column;gap:6px}
.fc-mes{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1px 12px;padding:10px 12px;border-radius:14px;background:var(--bg)}
.fc-mes span{grid-column:1;font-size:13.5px;font-weight:500}
.fc-mes small{grid-column:1;font-size:11.5px;color:var(--ink3)}
.fc-mes b{grid-column:2;grid-row:1 / span 2;font-size:16px;font-weight:600;letter-spacing:-.01em}
.fc-mes.crit{background:var(--crit-soft)}
.fc-mes.crit b,.fc-mes.crit span{color:var(--crit)}
.fc-mes.nada b{color:var(--ink3);font-weight:500}
.lt.fc-cli .tx small.crit{color:var(--crit)}
.lt.fc-sem:last-child,.lt.fc-cli:last-child{border-bottom:0}
@media (max-width:640px){ .lt.fc-sem{flex-wrap:wrap} .lt.fc-sem .tx{flex:1 1 55%} .lt.fc-sem .cob-btns{flex:1 1 100%} }

/* ---------- Produção: pacote com vídeos ligados ----------
   O pacote (card principal) é escuro, com a faixa da cor dele em cima, a contagem dos vídeos e o valor total.
   Cada vídeo ligado é um card claro com a mesma cor na lateral e o nome do pacote em cima. A etiqueta preta é o mês referente. */
.kcard.macro{background:var(--ink);color:var(--on-ink);border-color:var(--ink);border-top:4px solid var(--pk,var(--ink));padding-top:9px}
.kcard.macro small{color:inherit;opacity:.62}
.kcard.macro .kfoot .mut{color:inherit;opacity:.62}
.kcard.macro .chip{background:rgba(128,128,128,.28);color:inherit}
.kcard.macro .chip.ok,.kcard.macro .chip.crit{background:rgba(128,128,128,.28)}
.kcard.macro .chip.crit{box-shadow:inset 0 0 0 1px var(--crit-bar)}
.kcard.macro .pc-barra{background:rgba(128,128,128,.35);margin-top:6px}
.kcard.macro .pc-barra i{background:var(--pk,var(--on-ink))}
.kcard.macro:hover{border-color:var(--pk,var(--ink))}
.kcard.filho{border-left:4px solid var(--pk,var(--ink));padding-left:10px}
.k-topo{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:6px;min-width:0}
.k-tipo,.k-pai{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;min-width:0}
.k-tipo .ic,.k-pai .ic{width:13px;height:13px;flex:0 0 auto}
.k-pai{color:var(--pk,var(--ink2));text-transform:none;letter-spacing:0;font-size:11.5px;font-weight:500}
.k-pai i{font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink2)}
.k-conta{display:flex;align-items:baseline;gap:6px;margin-top:8px}
.k-conta b{display:inline;font-size:24px;font-weight:700;letter-spacing:-.03em;line-height:1}
.k-conta span{font-size:12px;opacity:.72}
.chip.mes-ref{background:var(--ink);color:var(--on-ink);gap:4px;font-weight:600;flex:0 0 auto}
.chip.mes-ref .ic{width:12px;height:12px}
.kcard.macro .chip.mes-ref{background:var(--on-ink);color:var(--ink)}
.tb-quem h2 .chip.mes-ref{font-size:11.5px;vertical-align:middle}

/* ---------- Produção: as colunas são suas (quantas forem), com a cor de cada uma ---------- */
.kanban{grid-template-columns:repeat(var(--n,5),minmax(0,1fr))}
.kanban.larga{grid-template-columns:repeat(var(--n,6),minmax(210px,1fr));overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}
/* iPad e telas médias (15/10): as etapas numa fileira só, rolando para o lado — antes quebravam em 3 + 2 e não dava para arrastar entre elas */
@media (max-width:1100px){.kanban,.kanban.larga{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(160px,1fr);overflow-x:auto;padding-bottom:8px;scroll-snap-type:x proximity;scrollbar-width:thin}.kanban > *{scroll-snap-align:start}}
@media (max-width:860px){.kanban,.kanban.larga{grid-template-columns:minmax(0,1fr);grid-auto-flow:row;overflow-x:visible;scroll-snap-type:none}}
.col-ponto{width:9px;height:9px;border-radius:50%;background:var(--c);flex:0 0 auto}
.filtros .pill-f .ic{width:14px;height:14px;margin-right:5px;vertical-align:-2px}
/* a janela "Gerenciar colunas" */
.col-dlg .dlg-bd{padding:24px 22px 20px}
.col-dlg h3{font-size:19px;font-weight:600;letter-spacing:-.02em}
.col-sub{font-size:13px;color:var(--ink2);margin:6px 0 16px;line-height:1.5}
.col-lista{display:flex;flex-direction:column;gap:6px}
.col-l{display:grid;grid-template-columns:18px 26px minmax(0,1fr) auto auto 34px;align-items:center;gap:8px;background:var(--accent-soft);border:1px solid var(--line);border-radius:14px;padding:7px 8px 7px 10px}
.col-l.presa{background:transparent}
.col-l.indo{opacity:.4}
.col-l[draggable=true]{cursor:grab}
.col-pega{color:var(--ink3);font-size:13px;letter-spacing:-2px;line-height:1;user-select:none;-webkit-user-select:none}
.col-cor{width:22px;height:22px;border-radius:50%;background:var(--c);box-shadow:inset 0 0 0 1.5px var(--line),0 0 0 3px var(--card);border:0;cursor:pointer;padding:0}
.col-nome{min-width:0;width:100%;height:36px;border:1px solid transparent;border-radius:10px;background:transparent;padding:0 10px;font:inherit;font-size:14.5px;font-weight:500;color:inherit;outline:none}
.col-nome:hover{border-color:var(--line)} .col-nome:focus{border-color:var(--ink);background:var(--card)}
.col-n{font-size:11.5px;color:var(--ink3);white-space:nowrap}
.col-setas{display:flex;gap:2px}
.col-setas button{width:26px;height:30px;border-radius:8px;border:0;background:transparent;color:var(--ink2);font-size:14px;cursor:pointer}
.col-setas button:hover:not(:disabled){background:var(--line)} .col-setas button:disabled{opacity:.25;cursor:default}
.col-lixo{width:34px;height:34px;border-radius:10px;border:0;background:transparent;color:var(--ink2);display:grid;place-items:center;cursor:pointer}
.col-lixo .ic{width:16px;height:16px}
.col-lixo:hover{background:var(--crit-soft);color:var(--crit)} .col-lixo.nao{opacity:.3}
.col-paleta{grid-column:1 / -1;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 2px 4px 26px}
.col-paleta button{width:26px;height:26px;border-radius:50%;background:var(--c);border:0;cursor:pointer;padding:0}
.col-paleta button[aria-pressed=true]{box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--ink)}
.col-paleta button.sem{width:auto;height:26px;border-radius:999px;background:transparent;box-shadow:inset 0 0 0 1px var(--line);padding:0 12px;font:inherit;font-size:12px;color:var(--ink2)}
.col-paleta button.sem[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--ink)}
.col-mais{width:100%;min-height:44px;margin-top:10px;border-radius:14px;border:1.5px dashed var(--line);background:transparent;font:inherit;font-weight:500;font-size:14px;color:var(--ink2);cursor:pointer}
.col-mais:hover{border-color:var(--ink);color:var(--ink)}
.col-msg{font-size:13px;line-height:1.45;margin-top:12px;padding:10px 12px;border-radius:12px;background:var(--accent-soft);color:var(--ink2)}
.col-msg.er{background:var(--crit-soft);color:var(--crit)}
@media (max-width:640px){.col-l{grid-template-columns:14px 24px minmax(0,1fr) auto 32px}.col-n{display:none}}
/* material que o cliente mandou */
.lt.mat-l{cursor:default;align-items:flex-start}
.lt.mat-l .tx b{white-space:normal;overflow-wrap:anywhere}
.lt.mat-l .tx b a{color:inherit;text-underline-offset:3px}
.lt.mat-l .mat-rec{white-space:pre-line;color:var(--ink2);margin-top:3px}

/* ---------- pedido de ajuste depois da nova versão: verde quando feito, com a marca de cada item ---------- */
.ver-pedido.ok{background:var(--good-soft)}
.ver-pedido.parcial{background:var(--accent-soft)}
.ped-marca{flex:0 0 auto;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:700;line-height:1;margin-top:1px;background:var(--good);color:#fff}
.ped-itens li.nao .ped-marca{background:var(--line);color:var(--ink2)}
.ped-itens li.nao span{color:var(--ink2)}
.ped-itens li em{font-style:normal;font-size:12px;color:var(--ink3);white-space:nowrap}
.nv-ped{display:flex;flex-direction:column;gap:2px;margin-top:4px}
.nv-ped b{font-size:13.5px;font-weight:600}
.nv-ped small{font-size:12.5px;color:var(--ink3);line-height:1.4}

/* ---------- resumo da proposta (a janela que abre ao tocar numa proposta da lista) ---------- */
.rp-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.rp-valor{padding-bottom:16px}
.rp-valor .v{font-size:34px}
.rp-a{font-size:15px;font-weight:400;color:var(--ink3);letter-spacing:0;margin:0 2px}
.rp-fatos{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.rp-fato{background:var(--bg);border-radius:14px;padding:11px 13px;min-width:0}
.rp-fato small{display:block;font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3)}
.rp-fato b{display:block;margin-top:5px;font-size:13.5px;font-weight:600;line-height:1.3;overflow-wrap:anywhere}
.rp-fato span{display:block;font-size:12px;color:var(--ink3);margin-top:2px}
.rp-venc{font-style:normal;color:var(--crit,#c0392b)}
.rp-chamada{margin-top:18px;padding:14px 16px;border-left:2px solid var(--ink);background:var(--bg);border-radius:0 12px 12px 0}
.rp-chamada b{display:block;font-size:15px;font-weight:600;letter-spacing:-.01em}
.rp-chamada span{display:block;font-size:13px;color:var(--ink2);margin-top:4px;line-height:1.45}
.rp-txt{font-size:13.5px;color:var(--ink2);line-height:1.5;margin:14px 0 0}
.rp-pacs{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin-top:10px}
.rp-pac{border:1px solid var(--line);border-radius:16px;padding:14px 15px;min-width:0}
.rp-pac.dest{background:var(--ink);color:var(--card);border-color:var(--ink)}
.rp-pac.esc{box-shadow:0 0 0 2px var(--good)}
.rp-pac-t{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12.5px;font-weight:600}
.rp-etq{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;opacity:.7}
.rp-pac-v{margin-top:12px;display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}
.rp-pac-v b{font-size:24px;font-weight:600;letter-spacing:-.025em;line-height:1}
.rp-pac-v s{font-size:13px;opacity:.55}
.rp-pac-v small{font-size:12px;opacity:.7}
.rp-pac-p{font-size:12px;opacity:.7;margin-top:5px}
.rp-itens{list-style:none;margin:12px 0 0;padding:12px 0 0;border-top:1px solid color-mix(in srgb,currentColor 16%,transparent);display:grid;gap:6px;font-size:12.5px;line-height:1.35}
.rp-itens li{display:flex;gap:8px}
.rp-itens i{flex:0 0 28px;font-style:normal;font-weight:600;opacity:.75}
.rp-itens em{font-style:normal;font-size:10px;letter-spacing:.05em;text-transform:uppercase;opacity:.6}
.rp-det{display:block;font-size:12px;color:var(--ink3);margin-top:2px}
@media (max-width:480px){.rp-valor .v{font-size:28px}}

/* dentro da proposta: o cliente dela, sempre no alto (com o tipo e o atalho para o cadastro) */
.ed-cli{display:flex;align-items:flex-end;justify-content:space-between;gap:12px 16px;flex-wrap:wrap;background:var(--card);border-radius:var(--r);padding:14px 16px;margin-bottom:14px}
.ed-cli-cx{flex:1 1 260px;min-width:0}
.ed-cli-cx label{display:block;font-size:12px;font-weight:500;color:var(--ink2);margin-bottom:6px}
.ed-cli-dir{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:44px}

/* ---------- possíveis repetidos (Configurações › Dados) ---------- */
.rep h2 span{font-size:12px;font-weight:600;color:var(--ink3);margin-left:6px}
.rep-topo{display:flex;justify-content:flex-end;margin:10px 0 2px}
.rep-par{border:1px solid var(--line);border-radius:16px;padding:6px 14px 12px;margin-top:12px}
.rep-l{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line2);min-width:0}
.rep-l[data-lanc]{cursor:pointer}
.rep-l .dia{flex:0 0 34px;text-align:center;font-size:10.5px;color:var(--ink3);line-height:1.2}
.rep-l .dia b{display:block;font-size:16px;color:var(--ink);font-weight:600}
.rep-l .tx{flex:1 1 auto;min-width:0}
.rep-l .tx b{display:block;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rep-l .tx small{display:block;font-size:12px;color:var(--ink3);margin-top:2px}
.rep-l .val{font-size:14px;font-weight:600;white-space:nowrap}
.rep-acoes{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:12px}
.rep-acoes > span{flex:1 1 220px;font-size:12.5px;line-height:1.4}
.rep-plano{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.rep-plano span{font-size:12px;background:var(--bg);border-radius:999px;padding:5px 10px;color:var(--ink2)}
.rep-plano b{color:var(--ink);font-weight:600;margin-right:3px}
@media (max-width:560px){.rep-l{flex-wrap:wrap}.rep-l .btn{flex:1 1 100%}}

/* ---------- Início: "pode gastar por dia" e o aviso de conta que fica negativa ---------- */
.pg-dia{display:flex;align-items:center;gap:16px 28px;flex-wrap:wrap;margin-top:14px}
.pg-dia-n .big{margin-top:8px}
.pg-dia-tx{flex:1 1 280px;font-size:14px;line-height:1.45;color:var(--ink2);min-width:0}
.pg-dia-tx b{color:var(--ink);font-weight:600}
.pg-dia-tx small{display:block;margin-top:6px;font-size:12.5px;color:var(--ink3)}
.pg-dia-itens{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 18px;font-size:12.5px;color:var(--ink3)}.pg-dia-itens b{color:var(--ink2);font-weight:600}   /* 17/10: a conta do "pode gastar" em itens, não num parágrafo corrido */
.pg-dia-ver{margin-top:8px;font-size:12.5px}
.pg-dia-ver summary{cursor:pointer;color:var(--ink2);font-weight:600;list-style-position:inside}
.pg-dia-l{margin-top:6px;display:grid;gap:2px}
.pg-dia-l>div{display:grid;grid-template-columns:52px minmax(0,1fr) auto auto;gap:10px;align-items:baseline;padding:4px 0;border-top:1px solid var(--line)}
.pg-dia-l .d{color:var(--ink3)}
.pg-dia-l .tx{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pg-dia-l .num{text-align:right;white-space:nowrap}
.pg-dia-l .num.in{color:var(--good)}
.pg-dia-l .num.s{color:var(--ink3);min-width:78px}
.pg-dia-l .num.neg{color:var(--crit)}
@media (max-width:480px){.pg-dia-l>div{grid-template-columns:42px minmax(0,1fr) auto;gap:8px}.pg-dia-l .num.s{grid-column:2 / -1;text-align:right;min-width:0;font-size:11.5px}}
.inicio-neg{margin-top:14px;display:flex;flex-direction:column;gap:4px}
.inicio-neg a{color:inherit;font-weight:600;margin-top:4px}
.inicio-neg .neg-l{display:block;width:100%;text-align:left;background:none;border:0;border-radius:0;padding:2px 0;margin:0;min-height:0;color:inherit;font:inherit;line-height:inherit;cursor:pointer}
.inicio-neg .neg-ver{font-weight:600;white-space:nowrap}
@media (hover:hover){ .inicio-neg .neg-l:hover .neg-ver{text-decoration:underline} }
/* Previsão: escolher a conta e o menor saldo de cada uma */
.cabec.prev-cabec{position:relative;z-index:20}   /* a lista da caixa de seleção abre por cima dos quadros de baixo */
.prev-cabec .escolha.flutua[data-escolha="prevConta"]{width:min(260px,100%)}
@media (max-width:560px){ .prev-cabec .escolha.flutua{width:100%} .prev-cabec .dir{margin-left:0} }
.prev-conta{cursor:pointer}
.pill-f[data-orc][aria-pressed="true"]{background:var(--ink);color:var(--card);border-color:var(--ink)}

/* ---------- Dívidas: total por mês ---------- */
.div-l{cursor:pointer}
.div-meses{display:grid;gap:9px;margin-top:6px}
.div-mes{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:10px;font-size:12.5px;color:var(--ink2)}
.div-mes i{display:block;height:8px;border-radius:999px;background:var(--line2);overflow:hidden}
.div-mes i b{display:block;height:100%;border-radius:999px;background:var(--ink)}
.div-mes em{font-style:normal;font-weight:600;color:var(--ink);min-width:64px;text-align:right}
/* Previsão: entradas incertas, cada uma com o seu botão */
.inc-l .pill-f[aria-pressed="true"]{background:var(--ink);color:var(--card);border-color:var(--ink)}

/* ---------- proposta substituída por uma nova condição: continua na lista, apagada ---------- */
.prop-subst .tx b,.prop-subst .val{opacity:.5}
.prop-subst .tx small b{opacity:1}
.ed-subst{margin:0 0 14px}
/* trabalhos do cliente: o vídeo de um pacote aparece DENTRO do pacote, como subtarefa */
.lt.sub{padding-left:26px;position:relative}
.lt.sub::before{content:"";position:absolute;left:19px;top:0;bottom:50%;width:14px;border-left:1.5px solid var(--line);border-bottom:1.5px solid var(--line);border-bottom-left-radius:8px}
.lt.sub .tx{padding-left:22px}
.lt.sub .tx b{font-size:13.5px;font-weight:500}
.lt.com-sub{border-bottom-color:transparent}
/* ---------- conferir o extrato antes de importar (extrato_tela.js) ---------- */
.dlg.extrato .dlg-bd{flex:1 1 auto;min-height:0;padding-bottom:10px}
.ex-pe{padding:12px 24px 18px;border-top:1px solid var(--line2);display:flex;flex-direction:column;gap:8px}
.ex-pe .alerta{margin-top:0}
.ex-lista{display:flex;flex-direction:column}
.ex-l{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:6px 12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line2)}
.ex-l:last-child{border-bottom:0}
.ex-l input{width:20px;height:20px;accent-color:var(--ink);grid-row:1 / span 2;align-self:start;margin:2px 0 0}
.ex-tx{min-width:0}
.ex-tx b{display:block;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ex-tx small{display:block;color:var(--ink3);font-size:12px}
.ex-v{font-weight:600;white-space:nowrap;text-align:right}
.ex-dest{grid-column:2 / span 2;justify-self:start;display:inline-flex;align-items:center;gap:6px;max-width:100%;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:13px;padding:6px 10px 6px 12px;border-radius:999px}
.ex-dest span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ex-dest .seta{width:14px;height:14px;flex:0 0 auto;fill:none;stroke:var(--ink3);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ex-dest:hover{border-color:var(--ink)}
.ex-dest.vazio{border-color:var(--warn);background:var(--warn-soft);color:var(--ink)}
.ex-meses{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0}
.ex-mes .ver-h{position:sticky;top:-4px;z-index:1;background:var(--card);padding:10px 0 8px;margin:10px 0 0;border-bottom:1px solid var(--line2)}
.ex-mes-n{text-transform:none;letter-spacing:0;font-weight:400;font-size:12.5px;color:var(--ink3)}
.ex-mes.desligado .ex-lista{display:none}
.ex-mes.desligado .ver-h{opacity:.55;border-bottom-color:transparent}
.ex-falta{display:block;font-size:12.5px;color:var(--ink2)}
.ex-falta[hidden]{display:none}
.ex-l.fora .ex-tx,.ex-l.fora .ex-v,.ex-l.fora .ex-dest{opacity:.45}
/* ---------- saldo de partida travado (Editar conta) ---------- */
.partida-fixa{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r3)}
.partida-fixa small{display:block;color:var(--ink3);font-size:12px}
.partida-fixa b{display:block;font-size:16px;font-weight:600}
.partida-fixa + .ajuda{display:block;margin-top:6px}
/* ---------- "Pago R$ X de R$ Y" na cobrança do trabalho ---------- */
.cob-pago{margin:2px 0 12px}
.cob-pago-t{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:6px;font-size:14px}
.cob-pago-t small{color:var(--ink3);font-size:12.5px}
/* ---------- Previsão: extrato do mês, "‹ Voltar" das folhas e lançamentos do mês ---------- */
.ver-voltar{display:inline-block;background:none;border:0;padding:0 0 6px;font-size:13px;color:var(--ink2);cursor:pointer}
.ver-voltar:hover{color:var(--ink)}
.ext-l .val small.neg,.ver-partes b.neg{color:var(--crit)}
.ext-l .tx b,.ext-l .tx small{white-space:normal;overflow:visible}   /* no extrato o texto de cada linha (de onde vem, quanto por dia) aparece inteiro */
.ext-l{align-items:flex-start}
.ext-l.sel{background:var(--warn-soft);margin:0 -10px;padding:11px 10px;border-radius:12px}
.ext-l.sel .dia b{color:var(--ink)}
.prev-lancs{background:none;border:0;padding:0;font:inherit;font-size:12px;color:var(--ink3);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;cursor:pointer}
.prev-lancs:hover{color:var(--ink)}
.tile.toque{cursor:pointer}
/* ---------- caixas de seleção de tela (no lugar dos grupos de botões de filtro e escolha) ---------- */
.caixas{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 12px;min-width:0}
.cabec.com-caixas{position:relative;z-index:20;align-items:flex-end}   /* a lista da caixa abre por cima do que vem embaixo */
/* caixa aberta dentro de um quadro (ex.: Etapa, no topo do trabalho): o quadro inteiro sobe uma camada enquanto a lista está aberta.
   Sem isso, os quadros de baixo (cada um com a sua camada, por causa da animação de entrada) cobrem a lista. Fica abaixo da barra do celular (30). */
.conteudo > *:has(.escolha.flutua.aberta){position:relative;z-index:21}
/* botão ao lado das caixas (Colunas, na Produção): ícone e texto alinhados, com a mesma altura da caixa */
.pill-f.cx-ao-lado{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px}
.pill-f.cx-ao-lado .ic{width:15px;height:15px;flex:none}
/* Produção: no computador "+ Trabalho pontual / + Pacote / + Trabalho recorrente"; no celular, "NOVO" e os três lado a lado, do mesmo tamanho */
.prod-novo .pn-cel{display:none}
@media (max-width:560px){
  .cabec .dir.prod-novo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-left:0;width:100%}
  .prod-novo .pn-pc{display:none}
  .prod-novo .pn-cel{display:inline}
  .prod-novo .pn-rot{display:block;grid-column:1 / -1;font-size:11px;font-weight:600;color:var(--ink3);text-transform:uppercase;letter-spacing:.05em;padding-left:2px;margin-bottom:-4px}
  .prod-novo .btn{min-width:0;padding-left:6px;padding-right:6px;white-space:nowrap}
}
.cx-tela{display:flex;flex-direction:column;gap:4px;min-width:0}
.cx-tela .cx-rot{font-size:11px;font-weight:600;color:var(--ink3);text-transform:uppercase;letter-spacing:.05em;padding-left:2px}
.cx-tela .escolha.flutua{width:auto;min-width:180px;max-width:100%}
.cx-tela .escolha-atual{min-height:40px;padding:6px 10px 6px 12px}
.cx-tela .escolha-atual .escolha-t b,.cx-tela .escolha-op .escolha-t b{font-weight:500;font-size:13.5px}
.cx-tela .escolha-lista{min-width:100%;width:max-content;max-width:min(320px,92vw)}
@media (max-width:560px){ .caixas{flex-direction:column;align-items:stretch;width:100%} .cx-tela .escolha.flutua{width:100%} .cx-tela .escolha-lista{width:auto;max-width:none} .cabec.com-caixas{flex-direction:column;align-items:stretch} }


/* ---------- acessos ao portal (arquivo 041) ---------- */
button.cfg-l.cfg-toque{width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line2);border-radius:0;font:inherit;font-size:13.5px;color:inherit;cursor:pointer;padding-left:0;padding-right:0}
.cfg-toque .cfg-seta{font-style:normal;color:var(--ink3);margin-left:8px;font-size:18px;line-height:1}
@media (hover:hover){ .cfg-toque:hover .cfg-txt{text-decoration:underline;text-decoration-color:var(--line)} }
.acessos-l{display:flex;align-items:center;gap:10px;width:100%;text-align:left;margin:12px 0 4px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r3);background:var(--card);color:var(--ink);font:inherit;cursor:pointer}
.acessos-l .ic{width:18px;height:18px;flex:none;color:var(--ink2)}
.acessos-l span{display:flex;flex-direction:column;min-width:0;flex:1}
.acessos-l b{font-weight:600;font-size:13.5px}
.acessos-l small{color:var(--ink3);font-size:12.5px}
.acessos-l i{font-style:normal;color:var(--ink3);font-size:18px}
.acessos-l:disabled{cursor:default;opacity:.85}
.chip-toque{cursor:pointer;font:inherit;border:0}
.acessos-dia .lt .dia b{font-size:13px}
.acessos-dia .acesso-senha .tx b,.acessos-dia .acesso-voltou .tx b{font-weight:600}
.acessos-dia .acesso-material .tx b,.acessos-dia .acesso-video .tx b,.acessos-dia .acesso-galeria .tx b{font-weight:400;color:var(--ink2)}

/* ---------- vídeo de pacote de agência: a logo de quem é o vídeo ---------- */
.kcard small.k-cli{display:flex;align-items:center;gap:6px;min-width:0}
.kcard small.k-cli span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.k-cli .selo-marca,.v-cli .selo-marca{width:18px;height:18px;border-radius:5px;font-size:10px}
.k-cli .selo-marca img,.v-cli .selo-marca img{max-width:100%;max-height:100%}
.v-cli{display:grid;place-items:center;flex:none;margin-right:2px}
.v-cli .selo-marca{width:26px;height:26px;border-radius:8px;font-size:12px}
.pt-num-b{display:flex;flex-direction:column;gap:1px;min-width:0;text-align:left;background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer}
.pt-num-b small{display:block}
@media (hover:hover){ .pt-num-b:hover small{text-decoration:underline} }
.acessos-dia .acesso-quem{font-weight:600;color:var(--ink)}

/* ---------- setor Head (arquivo 042) ---------- */
.hd-ag-ic{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;flex:none;background:var(--ac,var(--ink));color:#fff;font-weight:700;font-size:16px}
.hd-ag-ic .ic{width:18px;height:18px}
.hd-hub-ag .hd-ag-ic,[style*="--ac:var(--ink)"] .hd-ag-ic{color:var(--on-ink)}   /* fundo = a tinta: no escuro ela é clara, então o ícone/letra usa a cor invertida */
.hd-ag-ic.com-ico{padding:0;overflow:hidden;background:#fff;box-shadow:inset 0 0 0 1px var(--line2)}   /* o ícone da agência no lugar da letra (068) */
.hd-ag-ic.com-ico img{width:100%;height:100%;object-fit:cover;display:block}
.hd-ags{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.hd-ag{display:flex;flex-direction:column;gap:6px;padding:18px;border-radius:var(--r3);background:var(--card);border:1px solid var(--line);border-top:4px solid var(--ac,var(--ink));text-decoration:none;color:var(--ink)}
.hd-ag b{font-size:17px;margin-top:6px}
.hd-ag small{color:var(--ink3);font-size:12.5px}
@media (hover:hover){ .hd-ag:hover{box-shadow:var(--sombra)} }
.hd-topo{display:flex;align-items:center;gap:14px;border-left:4px solid var(--ac,var(--ink))}
.hd-topo h2{margin:0}
.hd-topo p{margin:2px 0 0;font-size:13px}
.hd-ic{display:grid;place-items:center}
.hd-ic .ic{width:18px;height:18px;color:var(--ink2)}
.hd-seta{color:var(--ink3);font-size:18px;margin-left:8px}
a.lt{text-decoration:none;color:inherit}
/* na tela inicial: uma linha por agência, embaixo dos setores */
.hd-hub{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.hd-hub-ag{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--r3);background:var(--card);border:1px solid var(--line);text-decoration:none;color:var(--ink);min-width:0}
.hd-hub-ag > span:nth-child(2){display:flex;flex-direction:column;min-width:0;flex:1}
.hd-hub-ag b{font-size:15px}
.hd-hub-ag small{color:var(--ink3);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hd-hub-nova .hd-ag-ic{background:var(--accent-soft);color:var(--ink2)}
@media (hover:hover){ .hd-hub-ag:hover{box-shadow:var(--sombra)} }
/* o controle: tabela no computador, cartões no celular */
.hd-busca{margin:0 0 12px}
.hd-busca input{width:100%;max-width:360px;padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);font:inherit;font-size:14px}
.hd-tabela-cx{overflow-x:auto;margin:0 -4px}
.hd-tabela{width:100%;border-collapse:collapse;font-size:13.5px}
.hd-tabela th{text-align:left;padding:0;border-bottom:1px solid var(--line);white-space:nowrap}
.hd-tabela th button{background:none;border:0;font:inherit;font-weight:600;font-size:12px;color:var(--ink3);text-transform:uppercase;letter-spacing:.04em;padding:8px 10px;cursor:pointer}
.hd-tabela td{padding:10px;border-bottom:1px solid var(--line2);vertical-align:top}
.hd-tabela tbody tr{cursor:pointer}
@media (hover:hover){ .hd-tabela tbody tr:hover td{background:var(--accent-soft)} }
.hd-tabela td.t-valor,.hd-tabela td.t-numero{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.hd-sit{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.hd-sit i{width:9px;height:9px;border-radius:50%;background:var(--c)}
.hd-sim{display:inline-flex;align-items:center;gap:4px;color:var(--good)}
.hd-sim .ic{width:14px;height:14px}
.hd-link{color:var(--ink);text-decoration:underline;text-decoration-color:var(--line)}
.hd-cartoes{display:none;flex-direction:column;gap:8px}
.hd-item{padding:12px 14px;border:1px solid var(--line);border-radius:var(--r3);background:var(--card);cursor:pointer}
.hd-item > b{display:block;font-size:15px;margin-bottom:4px}
.hd-l{display:flex;justify-content:space-between;gap:12px;font-size:13px;padding:3px 0}
.hd-l span:first-child{color:var(--ink3)}
.hd-l span:last-child{text-align:right;min-width:0;overflow-wrap:anywhere}
.hd-col-acoes{display:flex;align-items:center;gap:6px;flex:none}
.hd-col-acoes .ibtn{width:30px;height:30px}
@media (max-width:700px){ .hd-tabela-cx{display:none} .hd-cartoes{display:flex} }
.marca-equipe{display:block;font-weight:700;font-size:17px;letter-spacing:-.01em;color:var(--ink);padding:4px 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hd-convidar{flex:none;align-self:center;margin-left:8px;white-space:nowrap}
.hd-sit-p{display:block;margin-top:2px;color:var(--ink3)}
.hd-sit-p.bom{color:var(--good)} .hd-sit-p.ruim{color:var(--crit)}

/* ---------- Head: a cara da agência (arquivo 045) ---------- */
/* logo com duas versões: aparece a do modo de cor da hora */
:root[data-tema="escuro"] .so-claro{display:none!important}
:root:not([data-tema="escuro"]) .so-escuro{display:none!important}
/* a logo da agência é larga: ocupa a largura, não o quadradinho do ícone */
.login-marca img.logo-ag{width:auto;height:auto;max-width:min(240px,80%);max-height:64px;border-radius:0;object-fit:contain}
.mc-p-logo img.logo-ag{width:auto;height:auto;max-width:150px;max-height:40px;border-radius:0}
/* a arte da tela de entrada nas cores da agência (sem agência, ficam as de sempre, escritas na própria arte) */
.arte-marca .login-arte{background:var(--arte-fundo)}
.arte-marca .af-a{stop-color:color-mix(in oklab,var(--arte-fundo) 80%,var(--arte-meio))}
.arte-marca .af-b{stop-color:var(--arte-fundo)}
.arte-marca .af-c{stop-color:color-mix(in oklab,var(--arte-fundo) 55%,#000)}
.arte-marca .ap-a{stop-color:color-mix(in oklab,var(--arte-fundo) 85%,var(--arte-meio))}
.arte-marca .ap-b{stop-color:color-mix(in oklab,var(--arte-fundo) 45%,var(--arte-meio))}
.arte-marca .ap-c{stop-color:var(--arte-meio)}
.arte-marca .ad-a{stop-color:color-mix(in oklab,var(--arte-fundo) 85%,#000)}
.arte-marca .ad-b{stop-color:color-mix(in oklab,var(--arte-fundo) 88%,var(--arte-meio))}
.arte-marca .ad-c{stop-color:color-mix(in oklab,var(--arte-fundo) 72%,var(--arte-meio))}
.arte-marca .ac-a{stop-color:color-mix(in oklab,var(--arte-fundo) 60%,var(--arte-meio))}
.arte-marca .ac-b{stop-color:color-mix(in oklab,var(--arte-fundo) 90%,var(--arte-meio))}
.arte-marca .ac-c{stop-color:color-mix(in oklab,var(--arte-fundo) 60%,#000)}
.arte-marca .al-a{stop-color:color-mix(in oklab,var(--arte-brilho) 30%,#fff)}
.arte-marca .al-b{stop-color:var(--arte-brilho)}
.arte-marca .al2-c{stop-color:color-mix(in oklab,var(--arte-brilho) 75%,#fff)}
.arte-marca .a-brilho{fill:var(--arte-brilho)}
.arte-clara .login-arte-txt{color:#111112;text-shadow:0 1px 12px rgba(255,255,255,.55)}
.arte-clara .login-arte-txt span{color:rgba(17,17,18,.68)}
/* a cor principal: o botão Entrar (e os da tela de criar senha) */
.com-marca .login .btn.bloco{background:var(--marca);border-color:var(--marca);color:var(--marca-txt)}
/* a marca no menu da pessoa da equipe */
.marca-equipe.com-logo{display:flex;align-items:center;min-height:36px}
.marca-equipe .me-logo{max-height:36px;max-width:170px;width:auto;object-fit:contain;display:block}
/* a foto das pessoas (a agência não tem foto: a cara dela é a logo) */
.hd-av{width:38px;height:38px;border-radius:50%;flex:none;display:grid;place-items:center;overflow:hidden;background:var(--accent-soft);color:var(--ink2);font-weight:600;font-size:15px}
.hd-av img{width:100%;height:100%;object-fit:cover;display:block}
.hd-av.mini{display:inline-grid;width:20px;height:20px;font-size:10px;margin-right:6px;vertical-align:-5px}
.hd-av.grande{width:68px;height:68px;font-size:26px}
.hd-pessoa .tx{flex:1;min-width:0}
.hd-pessoa .ma-ancora{flex:none;margin-left:4px}
.hd-ver-topo{display:flex;align-items:center;gap:14px;margin:2px 0 14px}
.hd-ver-topo b{display:block;font-size:17px}
.hd-ver-topo small{display:block;color:var(--ink3);margin:2px 0 6px}
.hd-senha-nota{margin-top:14px}
.btn.hd-perigo{color:var(--crit);border-color:color-mix(in srgb,var(--crit) 35%,var(--line))}
/* Configurações da agência */
.mc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:16px;align-items:start}
.mc-lado{position:sticky;top:12px;order:2}
.mc-campos{display:grid;gap:14px;min-width:0}
.mc-aviso{font-size:12.5px;align-self:center}
@media (max-width:900px){ .mc{grid-template-columns:minmax(0,1fr)} .mc-lado{position:static;order:0} }
.mc-prev{border-radius:18px;background:var(--bg);padding:12px;container-type:inline-size}
.mc-p-cartao{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:10px;min-height:260px}
.mc-p-form{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px;padding:10px 6px}
.mc-p-logo{margin:0 0 4px}
.mc-p-logo img,.mc-p-logo .logo{width:40px;height:40px;border-radius:12px;font-size:13px}
.mc-p-tit{font-size:15px;line-height:1.2;letter-spacing:-.01em}
.mc-p-form small{font-size:10.5px;color:var(--ink3);line-height:1.3;max-width:180px}
.mc-p-campo{width:100%;max-width:190px;border:1px solid var(--line);border-radius:999px;padding:7px 12px;font-size:11px;color:var(--ink3);text-align:left}
.mc-p-btn{width:100%;max-width:190px;border-radius:999px;padding:8px 12px;font-size:11.5px;font-weight:600;background:var(--ink);color:var(--on-ink)}
.mc-prev.com-marca .mc-p-btn{background:var(--marca);color:var(--marca-txt)}
.mc-p-arte{border-radius:12px;min-height:220px}
.mc-p-arte .login-arte-txt{left:14px;bottom:12px}
.mc-p-arte .login-arte-txt b{font-size:16px}
.mc-p-arte .login-arte-txt span{font-size:11px}
@container (max-width:380px){ .mc-p-cartao{grid-template-columns:1fr} .mc-p-arte{order:-1;min-height:120px} }
.mc-img{display:flex;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line2)}
.mc-img:last-child{border-bottom:0}
.mc-img-v{width:96px;height:64px;flex:none;border-radius:12px;border:1px dashed var(--line);display:grid;place-items:center;background:var(--card);overflow:hidden;font-size:11.5px}
.mc-img-v.escura{background:#111114;border-color:#2a2a30}
/* o ícone da agência (068): como fica no celular e dentro do app */
.mc-ico{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.mc-ico-v{flex:none;min-width:150px;min-height:96px;padding:12px 14px;border-radius:14px;border:1px dashed var(--line);background:var(--card);display:flex;gap:16px;align-items:flex-end;justify-content:center;font-size:11.5px}
.mc-ico-cel,.mc-ico-app{display:grid;justify-items:center;gap:5px}
.mc-ico-cel img{width:58px;height:58px;border-radius:14px;object-fit:cover;background:#fff;box-shadow:0 3px 10px rgba(0,0,0,.16)}
.mc-ico-app b{font-size:12px;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mc-ico-v small{font-size:11px;color:var(--ink3)}
.mc-img-v img{max-width:88%;max-height:80%;object-fit:contain;display:block}
.mc-img-t{min-width:0;flex:1}
.mc-img-t b,.mc-fonte b{display:block;font-size:14px}
.mc-img-t small,.mc-fonte small{display:block;color:var(--ink3);font-size:12px;margin:2px 0 8px;overflow-wrap:anywhere}
.mc-btns{display:flex;gap:8px;flex-wrap:wrap}
.mc-btns .btn .ic{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mc-cor{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line2);flex-wrap:wrap}
.mc-cor:last-child{border-bottom:0}
.mc-cor-l{display:flex;align-items:center;gap:12px;flex:1;min-width:200px;cursor:pointer}
.mc-cor-l input[type="color"]{width:40px;height:40px;border:1px solid var(--line);border-radius:12px;padding:3px;background:var(--card);cursor:pointer;flex:none}
.mc-cor-l b{display:block;font-size:14px}
.mc-cor-l small{display:block;color:var(--ink3);font-size:12px}
.mc-hex{width:96px;border:1px solid var(--line);border-radius:var(--r3);padding:9px 10px;background:var(--card);font:500 14px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink);outline:none}
.mc-hex:focus{border-color:var(--ink);box-shadow:0 0 0 3px var(--accent-soft)}
.mc-fonte{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line2);flex-wrap:wrap}
.mc-fonte > div:first-child{min-width:0;flex:1}
.mc-amostra{font-size:22px;letter-spacing:-.01em;margin:14px 0 6px;overflow-wrap:anywhere}
.mc-apagar h2{color:var(--crit)}

/* ---------- Head: áreas e perfis de acesso (arquivo 046) ---------- */
/* o ícone da área pintado na cor dela, sem fundo (057; pedido dele, 15/10: "só o ícone pintado") */
.hd-area-ic{display:inline-grid;place-items:center;flex:none}
.hd-area-ic .ic{width:18px;height:18px;color:var(--c,var(--ink2))}
.hd-area-ic.neutro .ic{color:var(--ink2)}
.hd-area-t{display:flex;align-items:center;gap:10px}
.hd-area-t{display:flex;align-items:center;gap:8px}
.hd-area-grande .ic{width:20px;height:20px;color:#fff}
.hd-sub-t{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:16px 0 4px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink3)}
.hd-perfil-nome{font-weight:600;color:var(--ink2)}
/* a tela dos perfis: a lista à esquerda (como no Pautta) e o perfil aberto à direita */
.pf{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:16px;align-items:start}
@media (max-width:800px){ .pf{grid-template-columns:minmax(0,1fr)} }
.pf-lista{padding:10px;display:flex;flex-direction:column;gap:2px}
.pf-cap{font-size:11.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink3);padding:12px 10px 6px}
.pf-item{display:flex;align-items:center;gap:9px;width:100%;padding:9px 10px;border-radius:12px;border:0;background:none;color:var(--ink);font:inherit;font-size:14px;text-align:left;cursor:pointer}
.pf-item:hover{background:var(--hover)}
.pf-item[aria-current="true"]{background:var(--sel);font-weight:500}
.pf-item .ic{width:16px;height:16px;color:var(--ink3);flex:none}
.pf-item span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pf-item b{font-weight:500;color:var(--ink3);font-size:12.5px;font-variant-numeric:tabular-nums}
.pf-novo{display:flex;align-items:center;gap:9px;padding:10px;margin-top:6px;border:0;background:none;color:var(--ink2);font:inherit;font-size:14px;cursor:pointer;border-radius:12px}
.pf-novo:hover{background:var(--hover);color:var(--ink)}
.pf-novo .ic{width:16px;height:16px}
.pf-vazio{font-size:12.5px;padding:2px 10px 6px;margin:0}
.pf-titulo{display:flex;align-items:center;gap:8px}
.pf-titulo .ic{width:18px;height:18px;color:var(--ink3)}
.pf-area{border-bottom:1px solid var(--line2)}
.pf-area:last-of-type{border-bottom:0}
.pf-linha{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;flex-wrap:wrap}
.pf-linha.dentro,.pf-vazio.dentro{padding-left:28px}
.pf-linha.dentro{padding-top:6px;padding-bottom:6px}
.pf-nome{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 180px}
.pf-nome > .ic{width:16px;height:16px;color:var(--ink3);flex:none}
.pf-nome b{display:block;font-weight:600}
.pf-nome small{display:block;color:var(--ink3);font-size:12px}
.pf-seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:3px;gap:2px;background:var(--card);flex-wrap:wrap}
.pf-seg button{border:0;background:none;color:var(--ink2);font:inherit;font-size:12.5px;padding:6px 11px;border-radius:999px;cursor:pointer;white-space:nowrap}
.pf-seg button:hover{color:var(--ink);background:var(--hover)}
.pf-seg button[aria-pressed="true"]{background:var(--ink);color:var(--on-ink);font-weight:500}
.pf-quem{display:flex;flex-wrap:wrap;gap:8px 14px;margin:6px 0 4px}
.pf-pessoa{display:inline-flex;align-items:center;font-size:13.5px}

/* ---------- Head: mural de avisos, atalhos e "Comigo" (arquivo 047) ---------- */
.hd-mural{display:grid;gap:10px;margin:4px 0 14px}
.hd-aviso{position:relative;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--ac,var(--ink3));border-radius:16px;padding:12px 14px;cursor:default}
.card .hd-aviso{cursor:pointer}
.hd-aviso.fixado{border-left-color:var(--ac,#e9c46a);background:color-mix(in srgb,var(--ac,#e9c46a) 6%,var(--card))}
.hd-aviso.encerrado{opacity:.6}
.hd-aviso .ma-ancora{position:absolute;top:8px;right:8px}
.hd-aviso-cab{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:4px;padding-right:30px}
.hd-aviso-cab small{color:var(--ink3);font-size:12px}
.hd-aviso b{display:block;font-size:15px;margin-bottom:2px}
.hd-aviso p{margin:0;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.hd-aviso p a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.hd-atalhos{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.hd-atalho{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:13.5px;font-weight:500}
.hd-atalho:hover{border-color:var(--ink3)}
.hd-atalho .ic{width:15px;height:15px;color:var(--ink3)}
.hd-atalho-l .pill-f{flex:none;margin-left:6px}
.hd-atalho-l .ma-ancora{flex:none;margin-left:4px}
.hd-comigo{padding-top:4px;padding-bottom:4px;margin-bottom:6px}
.hd-comigo-sit{flex:none;margin-left:8px}

/* ---------- Head: a Visão geral com cara de portal (você) ---------- */
.hd-vg-topo{display:flex;align-items:center;gap:14px;margin:2px 0 18px}
.hd-vg-topo .hd-ag-ic{width:46px;height:46px;border-radius:14px;font-size:19px}
.hd-vg-topo h2{font-size:22px;letter-spacing:-.02em;line-height:1.15}
.hd-vg-topo small{color:var(--ink3);font-size:13px}
.hd-sec-acao{display:flex;align-items:center;justify-content:space-between;gap:10px}
.hd-sec-acao .pill-f{display:inline-flex;align-items:center;gap:5px}
.hd-sec-acao .pill-f .ic,.hd-atalho-novo .ic,.hd-novo-cartao .ic{width:15px;height:15px}
.hd-vazio-curto{margin:-2px 0 12px;font-size:13.5px}
.hd-atalho-dono{padding:0 4px 0 0;gap:0}
.hd-atalho-dono > a{display:inline-flex;align-items:center;gap:7px;padding:8px 6px 8px 13px;color:inherit}
.hd-atalho-dono .ma-btn{width:28px;height:28px}
.hd-atalho-novo{border-style:dashed;color:var(--ink2);cursor:pointer;font:inherit;font-size:13.5px}
.hd-novo-cartao{border:1.5px dashed var(--line);background:transparent;color:var(--ink2);cursor:pointer;font:inherit;align-items:center;justify-content:center;text-align:center;min-height:96px;gap:6px}
.hd-novo-cartao:hover{border-color:var(--ink3);color:var(--ink)}
.hd-novo-cartao b{font-weight:500}
.hd-cartao-link{position:relative;cursor:pointer}
.hd-cartao-link > .ma-ancora{position:absolute;top:8px;right:8px}
.hd-acesso-linha{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-4px 0 16px;font-size:13px;color:var(--ink2)}
.hd-acesso-linha .ic{width:15px;height:15px;color:var(--ink3)}
.hd-acesso-linha span{flex:1;min-width:0}
.hd-acesso-linha b{font-weight:600}
.hd-acesso-linha a{color:var(--ink2);text-decoration:underline;text-underline-offset:2px}
/* ---------- Head: a tela da agência (Proposta C) — áreas · controles · avisos e atalhos ---------- */
.hc-nome{display:flex;align-items:center;gap:10px;min-width:0}
.hc-nome h2{font-size:18px;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hc-nome h2 span{color:var(--ink3);font-weight:400}
.hc-nome .hd-ag-ic{width:32px;height:32px;border-radius:10px;font-size:14px}
/* o bloco branco com abas ou seções tem tamanho fixo (pedido dele, 15/10: "quando eu troco entre Equipe hoje e Rotinas e limpeza,
   o tamanho do bloco muda; quero um tamanho fixo, em toda a plataforma"). No computador o bloco tem a altura da tela e a rolagem fica
   dentro dele (cada coluna rola sozinha; o desenhar() do app.js guarda a posição ao redesenhar). No celular o bloco ocupa a tela até
   embaixo e o que for maior continua descendo a página. Vale no Head (app e painel) e nas Configurações */
.conteudo:has(> .hc),.conteudo:has(> .cfg2){flex:1 0 auto;display:flex;flex-direction:column}
.conteudo > .hc,.conteudo > .cfg2{flex:1 0 auto}
.cfg2 > .cfg{align-self:stretch;display:flex;flex-direction:column}
.cfg2 > .cfg > [data-cfg]:not([hidden]):not(:has(~ [data-cfg]:not([hidden]))){flex:1 0 auto}
@media (max-width:860px){ .cfg2.com-item{display:flex;flex-direction:column} .cfg2.com-item > .cfg{flex:1 0 auto} }
@media (min-width:861px){
  .main:has(> .conteudo > .hc),.main:has(> .conteudo > .cfg2){height:calc(100dvh / var(--z,1))}
  .conteudo:has(> .hc),.conteudo:has(> .cfg2){flex:1 1 0;min-height:0;padding-bottom:24px}
  .conteudo > .hc,.conteudo > .cfg2{flex:1 1 0;min-height:360px}
  .conteudo > .hc > *{min-height:0;overflow-y:auto;overscroll-behavior:contain}
  .cfg2 > .cfg{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-bottom:2px}
}
.hc{display:grid;grid-template-columns:210px minmax(0,1fr) 270px;border:1px solid var(--line);border-radius:20px;background:var(--card);overflow:hidden;min-height:440px}
.hc-areas{border-right:1px solid var(--line2);padding:12px 10px;display:flex;flex-direction:column;gap:2px}
.hc-a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:12px;color:var(--ink2);font:inherit;font-size:14px;border:0;background:none;text-align:left;cursor:pointer}
.hc-a .ic{width:17px;height:17px;flex:none}
.hc-a span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hc-a small{color:var(--ink3);font-size:12px;font-variant-numeric:tabular-nums}
.hc-a:hover{background:var(--hover);color:var(--ink)}
.hc-a[aria-current="page"]{background:var(--sel);color:var(--ink);font-weight:500}
.hc-centro{padding:16px 20px;min-width:0}
.hc-cab{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;min-height:32px}
.hc-cab h3{font-size:16px;letter-spacing:-.01em}
.hc-cab .pill-f{display:inline-flex;align-items:center;gap:5px}
.hc-cab .pill-f .ic{width:14px;height:14px}
.hc-vazio{font-size:13.5px;margin:2px 0 10px}
.hc-centro .hd-mural{margin:0 0 14px}
.hc-tabela{display:flex;flex-direction:column}
.hc-linha{display:grid;grid-template-columns:minmax(0,1fr) 56px 92px 112px;gap:10px;align-items:center;padding:11px 8px;border-top:1px solid var(--line2);color:var(--ink);font-size:14px;border-radius:0}
a.hc-linha:hover{background:var(--hover)}
.hc-cabtab{border-top:0;color:var(--ink3);font-size:12px;padding-top:0;padding-bottom:6px}
.hc-linha b{font-weight:500;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hc-linha small{display:block;color:var(--ink3);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hc-linha > span:nth-child(2),.hc-linha > span:nth-child(3){color:var(--ink2);font-variant-numeric:tabular-nums}
.hc-novo{display:inline-flex;align-items:center;gap:6px;margin-top:10px;border:0;background:none;color:var(--ink3);font:inherit;font-size:13.5px;cursor:pointer;padding:6px 8px;border-radius:10px}
.hc-novo:hover{color:var(--ink);background:var(--hover)}
.hc-novo .ic{width:15px;height:15px}
.hc-lado{border-left:1px solid var(--line2);padding:14px;display:flex;flex-direction:column;gap:18px;min-width:0;background:color-mix(in srgb,var(--bg) 35%,var(--card))}
.hc-bloco-cab{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink3);margin-bottom:8px;min-height:26px}
.hc-mais{width:26px;height:26px;border-radius:8px;border:1px solid var(--line);background:var(--card);display:grid;place-items:center;cursor:pointer;color:var(--ink2);padding:0}
.hc-mais:hover{color:var(--ink);border-color:var(--ink3)}
.hc-mais .ic{width:14px;height:14px}
.hc-link{font-size:12px;text-transform:none;letter-spacing:0;color:var(--ink2);text-decoration:underline;text-underline-offset:2px;font-weight:500}
.hc-lado .hd-mural{gap:8px;margin:0}
.hc-lado .hd-aviso{padding:10px 12px;border-radius:12px}
.hc-lado .hd-aviso p{font-size:13px}
.hc-atalhos{display:flex;flex-direction:column;gap:2px}
.hc-atalho{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:10px;color:var(--ink);font-size:13.5px;min-width:0}
.hc-atalho:hover{background:var(--hover)}
.hc-atalho > a{display:flex;align-items:center;gap:8px;flex:1;min-width:0;color:inherit}
.hc-atalho .ic{width:15px;height:15px;color:var(--ink3);flex:none}
.hc-atalho span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hc-atalho .ma-ancora{flex:none}
.hc-atalho .ma-btn{width:26px;height:26px}
.hc-acesso{padding:7px 0;border-top:1px solid var(--line2)}
.hc-acesso:first-of-type{border-top:0;padding-top:0}
.hc-acesso span{display:block;font-size:13.5px}
.hc-acesso small{display:block;color:var(--ink3);font-size:12px}
@media (max-width:1100px){ .hc{grid-template-columns:190px minmax(0,1fr)} .hc-lado{grid-column:1 / -1;border-left:0;border-top:1px solid var(--line2);display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px 24px} }
@media (max-width:700px){
  .hc{display:block;border-radius:18px;min-height:0}
  .hc-areas{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line2);padding:10px;gap:6px;scrollbar-width:none}
  .hc-areas::-webkit-scrollbar{display:none}
  .hc-a{flex:none;border:1px solid var(--line);border-radius:999px;padding:7px 12px}
  .hc-a span{overflow:visible}
  .hc-centro{padding:14px}
  .hc-linha{grid-template-columns:minmax(0,1fr) auto;padding:11px 4px}
  .hc-linha > span:nth-child(2),.hc-linha > span:nth-child(3),.hc-cabtab{display:none}
  .hc-lado{display:flex;border-top:1px solid var(--line2)}
}
.hc-centro .sec-t{margin:16px 0 6px}
.hc-centro .sec-t h2{font-size:15px}
.hc-centro .hd-comigo{border:0;box-shadow:none;background:none;padding:0}
/* as áreas no menu da esquerda (computador); na página, só no celular (em botões no topo) */
.nav .nav-sep{height:1px;background:var(--line2);margin:6px 12px}
@media (min-width:861px){ .hc-areas{display:none} .hc{grid-template-columns:minmax(0,1fr) 280px} .hc-lado{grid-column:auto;border-top:0;border-left:1px solid var(--line2);display:flex} }
@media (min-width:861px) and (max-width:1100px){ .hc{grid-template-columns:minmax(0,1fr)} .hc-lado{border-left:0;border-top:1px solid var(--line2);display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))} }
/* ---------- Head: ficha de clientes e cofre de senhas (arquivos 049 e 050) ---------- */
.so-leitor{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hc-cab-acoes{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.hm-barra{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:-2px 0 10px}
.hm-filtros{display:flex;gap:6px;flex-wrap:wrap}
.hm-f{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--card);color:var(--ink2);font:inherit;font-size:13px;padding:5px 11px;border-radius:999px;cursor:pointer}
.hm-f small{color:var(--ink3);font-size:11.5px;font-variant-numeric:tabular-nums}
.hm-f:hover{color:var(--ink);border-color:var(--ink3)}
.hm-f[aria-pressed="true"]{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}
.hm-f[aria-pressed="true"] small{color:inherit;opacity:.7}
.hm-busca{flex:0 1 260px;min-width:160px;height:34px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font:inherit;font-size:13.5px;padding:0 12px}
.hm-cli .hc-linha{grid-template-columns:minmax(0,1fr) 104px 140px 80px 36px}
.hm-sen .hc-linha{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,.8fr) 76px 112px}
.hm-sen.sem-cli .hc-linha{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) 76px 112px}
div.hc-linha[data-senha]{cursor:pointer}
div.hc-linha[data-senha]:hover{background:var(--hover)}
.hm-nome{display:flex;align-items:center;gap:10px;min-width:0}
.hm-nome > span:last-child{min-width:0}
.hm-resp{display:flex;align-items:center;min-width:0;overflow:hidden;white-space:nowrap}
.hm-resp .hd-av.mini{margin-top:0}
.hm-login{display:flex;align-items:center;gap:4px;min-width:0}
.hm-login > span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.hm-copiar{flex:none;width:26px;height:26px;border:0;background:none;border-radius:8px;display:grid;place-items:center;color:var(--ink3);cursor:pointer;padding:0}
.hm-copiar:hover{background:var(--hover);color:var(--ink)}
.hm-copiar .ic{width:14px;height:14px}
.hm-acoes{display:flex;align-items:center;justify-content:flex-end;gap:4px}
.hm-acoes .pill-f{display:inline-flex;align-items:center;gap:5px}
.hm-acoes .pill-f .ic{width:14px;height:14px}
.hm-sen-ic{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--accent-soft);color:var(--ink2);flex:none}
.hm-sen-ic .ic{width:15px;height:15px}
.hm-reg span b{font-weight:600}
.pf-dica{font-size:12.5px;margin:-4px 0 10px;padding-left:38px}
@media (max-width:700px){
  .hm-cli .hc-linha{grid-template-columns:minmax(0,1fr) auto auto}
  .hm-cli .hc-linha > span:nth-child(2){display:block}
  .hm-cli .hc-linha > span:nth-child(3),.hm-cli .hc-linha > span:nth-child(4){display:none}
  .hm-sen .hc-linha,.hm-sen.sem-cli .hc-linha{grid-template-columns:minmax(0,1fr) auto}
  .hm-sen .hc-linha > span:not(:first-child):not(.hm-acoes){display:none}
  .hm-barra{flex-direction:column;align-items:stretch}
  .hm-busca{flex:auto;width:100%}
}
/* a ficha */
.fc-logo{width:38px;height:38px;border-radius:10px;flex:none;display:grid;place-items:center;overflow:hidden;background:var(--accent-soft);color:var(--ink2);font-weight:600;font-size:15px;border:1px solid var(--line2)}
.fc-logo img{width:100%;height:100%;object-fit:contain;background:#fff}
.fc-logo.pq{width:30px;height:30px;border-radius:9px;font-size:13px}
.fc-logo.grande{width:64px;height:64px;border-radius:16px;font-size:24px}
.fc-topo{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.fc-id{flex:1;min-width:200px}
.fc-id h2{font-size:20px;letter-spacing:-.01em;margin:0}
.fc-id > small{display:block;color:var(--ink3);font-size:13px;margin-top:2px}
.fc-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;align-items:center}
.fc-chips .hd-sit{font-size:12.5px;margin-right:4px}
.fc-resp{display:flex;align-items:center;gap:10px}
.fc-resp small{display:block;color:var(--ink3);font-size:11.5px}
.fc-resp b{font-weight:500;font-size:14px}
.fc-grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.fc-grade > .card{margin:0}
.fc-largo{grid-column:1 / -1}
.fc-obs{margin:0;overflow-wrap:anywhere}
.fc-grade .ver-l:last-child{border-bottom:0}
.fc-grade .card h2 .pill-f{display:inline-flex;align-items:center;gap:5px}
.fc-grade .card h2 .pill-f .ic{width:14px;height:14px}
@media (max-width:760px){ .fc-grade{grid-template-columns:minmax(0,1fr)} }
/* a janela da senha (com o tempo correndo) e as senhas recebidas */
.sh-pop .dlg-bd{display:flex;flex-direction:column;gap:14px}
.sh-campo > span{display:block;font-size:11.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink3);margin-bottom:6px}
.sh-valor{display:flex;align-items:center;gap:8px}
.sh-valor code{flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px;padding:10px 12px;border-radius:10px;background:var(--bg);border:1px solid var(--line);overflow-wrap:anywhere;user-select:all;color:var(--ink)}
.sh-segredo{font-size:17px;letter-spacing:.02em}
.sh-link{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;color:var(--ink2);text-decoration:underline;text-underline-offset:2px;align-self:flex-start}
.sh-link .ic{width:14px;height:14px}
.sh-tempo{display:flex;align-items:center;gap:10px}
.sh-barra{flex:1;height:6px;border-radius:3px;background:var(--line2);overflow:hidden}
.sh-barra i{display:block;height:100%;background:var(--ink);transform-origin:left;animation:sh-tempo linear forwards}
.sh-tempo small{color:var(--ink3);font-size:12.5px;font-variant-numeric:tabular-nums;min-width:84px;text-align:right}
@keyframes sh-tempo{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@media (prefers-reduced-motion:reduce){ .sh-barra i{animation:none} }
.sh-recebidas{display:flex;flex-direction:column;gap:8px;margin:0 0 16px}
.sh-rec{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;border:1px solid color-mix(in srgb,#d9a400 45%,var(--line));background:color-mix(in srgb,#d9a400 10%,var(--card))}
.sh-rec-ic{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--card);color:var(--ink);flex:none}
.sh-rec-ic .ic{width:17px;height:17px}
.sh-rec-tx{flex:1;min-width:0}
.sh-rec-tx b{display:block;font-weight:600;font-size:14px}
.sh-rec-tx small{display:block;color:var(--ink2);font-size:12.5px}
.sh-rec .btn{flex:none;display:inline-flex;align-items:center;gap:6px;margin-top:0}
.sh-rec .btn .ic{width:15px;height:15px}
@media (max-width:520px){ .sh-rec{flex-wrap:wrap} .sh-rec .btn{width:100%;justify-content:center} }
/* o campo da senha no formulário: mascarado sem ser campo de senha (o gerenciador de senhas do navegador não se oferece) */
.senha-campo{display:flex;gap:8px;align-items:center}
.senha-campo input{flex:1;min-width:0}
.txt-oculto{-webkit-text-security:disc}
/* a área da equipe e o portal das agências: Atyp no lugar da Poppins (a classe vai no <html> pelo app.js) */
html.fonte-atyp{--fonte:"Atyp Equipe",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
/* regra do botão direito (14/10): três pontinhos nas linhas e nos cartões */
div.hc-linha[data-cliente],div.hc-linha[data-controle]{cursor:pointer}
div.hc-linha[data-cliente]:hover,div.hc-linha[data-controle]:hover{background:var(--hover)}
.hc-tabela.com-menu .hc-linha{grid-template-columns:minmax(0,1fr) 56px 92px 112px 36px}
.hd-tabela th.t-acoes,.hd-tabela td.t-acoes{width:40px;padding:4px 6px;text-align:right;vertical-align:middle}
.hd-item{position:relative}
.hd-item > .ma-ancora{position:absolute;top:6px;right:6px}
.hd-item > b{padding-right:34px}
@media (max-width:700px){
  .hc-tabela.com-menu .hc-linha{grid-template-columns:minmax(0,1fr) auto auto}
}
/* ---------- Head: captação (arquivo 051) ---------- */
.cp-topo{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:-2px 0 10px}
.cp-mes{display:flex;align-items:center;gap:6px}
.cp-mes b{font-size:14.5px;font-weight:600;min-width:150px;text-align:center}
.cp-mes .ibtn{width:30px;height:30px;font-size:16px}
.cp-vistas{margin:0}
.cp-kpis{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font-size:13px;color:var(--ink2);margin:0 0 12px}
.cp-kpis b{color:var(--ink);font-weight:600}
.cp-kpis small{color:var(--ink3)}
.cp-tab .hc-linha{grid-template-columns:86px minmax(0,1fr) minmax(0,.8fr) 48px 172px 36px}
.cp-tab .hd-sit{white-space:nowrap}
.hd-sit i{flex:none}
.cp-horas .hc-linha{grid-template-columns:minmax(0,1fr) 92px 70px 80px 70px 36px}
.cp-tab .hc-linha > span:nth-child(4),.cp-horas .hc-linha > span:not(:first-child){color:var(--ink2);font-variant-numeric:tabular-nums}
div.hc-linha[data-captacao],div.hc-linha[data-cap-cliente],div.hc-linha[data-cap-vm]{cursor:pointer}
div.hc-linha[data-captacao]:hover,div.hc-linha[data-cap-cliente]:hover,div.hc-linha[data-cap-vm]:hover{background:var(--hover)}
.cp-cli{font-weight:500}
.cp-neg{color:var(--crit)!important;font-weight:600}
@media (max-width:700px){
  .cp-topo{flex-direction:column;align-items:stretch}
  .cp-mes{justify-content:space-between}
  .cp-tab .hc-linha{grid-template-columns:64px minmax(0,1fr) auto auto}
  .cp-tab .hc-linha > span:nth-child(3),.cp-tab .hc-linha > span:nth-child(4){display:none}
  .cp-tab .hc-linha > span:nth-child(2){display:block}
  .cp-horas .hc-linha{grid-template-columns:minmax(0,1fr) auto auto}
  .cp-horas .hc-linha > span:nth-child(2),.cp-horas .hc-linha > span:nth-child(3),.cp-horas .hc-linha > span:nth-child(4){display:none}
  .cp-horas .hc-linha > span:nth-child(5){display:block}
}
/* ---------- Head: tráfego pago (arquivo 052) ---------- */
.tr-cli .hc-linha{grid-template-columns:minmax(0,1fr) 84px 128px 96px 96px 36px}
.tr-camp .hc-linha{grid-template-columns:minmax(0,1fr) minmax(0,.7fr) 104px 96px 104px 36px}
.tr-gest .hc-linha{grid-template-columns:minmax(0,1fr) 68px 68px 64px 112px 36px}
.tr-gest.sem-valor .hc-linha{grid-template-columns:minmax(0,1fr) 68px 68px 64px 36px}
.tr-horas .hc-linha{grid-template-columns:56px 90px minmax(0,1fr) 56px 36px}
.tr-cli .hc-linha > span:nth-child(n+4),.tr-camp .hc-linha > span:nth-child(3),.tr-camp .hc-linha > span:nth-child(4),.tr-gest .hc-linha > span:not(:first-child),.tr-horas .hc-linha > span:nth-child(4){color:var(--ink2);font-variant-numeric:tabular-nums}
div.hc-linha[data-tr-conta],div.hc-linha[data-tr-camp-id],div.hc-linha[data-tr-gestor],div.hc-linha[data-tr-hora]{cursor:pointer}
div.hc-linha[data-tr-conta]:hover,div.hc-linha[data-tr-camp-id]:hover,div.hc-linha[data-tr-gestor]:hover,div.hc-linha[data-tr-hora]:hover{background:var(--hover)}
.tr-rodape{display:flex;flex-wrap:wrap;gap:4px 12px}
.tr-alerta{color:var(--warn)}
.tr-alerta b{color:var(--warn)!important}
@media (max-width:700px){
  .tr-cli .hc-linha,.tr-camp .hc-linha,.tr-gest .hc-linha,.tr-gest.sem-valor .hc-linha,.tr-horas .hc-linha{grid-template-columns:minmax(0,1fr) auto auto}
  .tr-cli .hc-linha > span:nth-child(2),.tr-cli .hc-linha > span:nth-child(4),.tr-cli .hc-linha > span:nth-child(5){display:none}
  .tr-cli .hc-linha > span:nth-child(3){display:block}
  .tr-camp .hc-linha > span:nth-child(2),.tr-camp .hc-linha > span:nth-child(3),.tr-camp .hc-linha > span:nth-child(4){display:none}
  .tr-camp .hc-linha > span:nth-child(5){display:block}
  .tr-gest .hc-linha > span:nth-child(2),.tr-gest .hc-linha > span:nth-child(3),.tr-gest .hc-linha > span:nth-child(4){display:none}
  .tr-gest .hc-linha > span:nth-child(5){display:block}
  .tr-horas .hc-linha > span:nth-child(2),.tr-horas .hc-linha > span:nth-child(3){display:none}
  .tr-horas .hc-linha > span:nth-child(4){display:block}
}
.sh-rec-pop{margin:0 0 6px}
/* botão de ligar/desligar (pedido dele, 14/10): no lugar da caixinha de marcar nos formulários do Head */
label.check.chave{align-items:center;gap:12px;cursor:pointer;width:100%;box-sizing:border-box}
label.check.chave span{flex:1;min-width:0;line-height:1.35}
label.check.chave input{appearance:none;-webkit-appearance:none;width:40px;min-width:40px;height:23px;min-height:0;padding:0;border-radius:999px;background:var(--line);border:0;margin:0;position:relative;flex:none;cursor:pointer;transition:background .15s}
label.check.chave input::after{content:"";position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .15s}
label.check.chave input:checked{background:var(--ink)}
label.check.chave input:checked::after{transform:translateX(17px);background:var(--card)}
label.check.chave input:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
@media (prefers-reduced-motion:reduce){ label.check.chave input,label.check.chave input::after{transition:none} }
/* ---------- Head: esqueleto das áreas (Proposta A, escolhida por ele em 14/10) ---------- */
.md{display:flex;flex-direction:column;gap:16px;min-width:0}
.md-topo{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.md-id{display:flex;align-items:center;gap:13px;min-width:0}
.md-ic{width:44px;height:44px;border-radius:13px;background:var(--ink);color:var(--on-ink);display:grid;place-items:center;flex:none}
.md-ic .ic{width:22px;height:22px}
.md-id h2{font-size:20px;letter-spacing:-.02em;margin:0;line-height:1.2}
.md-id p{margin:3px 0 0;color:var(--ink3);font-size:13px}
.md-acoes{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.md-acoes .btn{display:inline-flex;align-items:center;gap:7px;margin:0;width:auto;padding:10px 15px;font-size:13.5px}
.md-acoes .btn .ic,.md-vazio .btn .ic,.md-sec-cab .btn .ic{width:16px;height:16px}
.md-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.md-kpi{background:var(--bg);border:1px solid var(--line2);border-radius:14px;padding:13px 15px;display:flex;flex-direction:column;gap:3px;min-width:0;text-align:left}
.md-kpi small{font-size:12px;color:var(--ink3);display:flex;align-items:center;gap:6px}
.md-kpi small .ic{width:14px;height:14px}
.md-kpi > b{font-size:23px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.md-kpi > b small{display:inline;font-size:13px;font-weight:500;color:var(--ink3);letter-spacing:0}
.md-kpi > span{font-size:12px;color:var(--ink2);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere}   /* quebra em até 2 linhas em vez de cortar com reticências */
.md-kpi[role=button]{cursor:pointer}
.md-kpi[role=button]:hover{border-color:var(--ink3)}
.md-kpi.bom > b{color:var(--good)}
.md-kpi.atencao > b{color:var(--warn)}
.md-kpi.ruim > b{color:var(--crit)}
.md-kpi.ativo{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.md-abas{display:flex;gap:2px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none;margin-top:2px}
.md-abas::-webkit-scrollbar{display:none}
.md-abas button{border:0;background:none;font:inherit;font-size:14px;color:var(--ink3);padding:10px 13px 11px;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;white-space:nowrap;display:inline-flex;gap:7px;align-items:center;border-radius:0}
.md-abas button small{font-size:11.5px;background:var(--bg);border:1px solid var(--line2);border-radius:999px;padding:0 7px;color:var(--ink2);font-variant-numeric:tabular-nums}
.md-abas button:hover{color:var(--ink)}
.md-abas button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--ink);font-weight:500}
.md-ferr{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.md-ferr-g{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.md-buscar{position:relative;display:block}
.md-buscar .ic{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--ink3);pointer-events:none}
.md-busca{height:36px;width:270px;max-width:100%;border:1px solid var(--line);border-radius:10px;background:var(--card);padding:0 12px 0 34px;font:inherit;font-size:13.5px;color:var(--ink)}
.md-busca:focus{outline:none;border-color:var(--ink3)}
.md-per{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--card)}
.md-per button{border:0;background:none;width:34px;height:34px;font:inherit;font-size:17px;color:var(--ink2);cursor:pointer}
.md-per button:hover{background:var(--hover);color:var(--ink)}
.md-per b{font-size:13.5px;font-weight:600;padding:0 10px;min-width:150px;text-align:center;border-left:1px solid var(--line2);border-right:1px solid var(--line2);line-height:34px}
.md-conta{font-size:12.5px;color:var(--ink3)}
.md-tag{display:inline-flex;align-items:center;font-size:11.5px;font-weight:500;padding:2px 9px;border-radius:999px;background:var(--bg);color:var(--ink2);border:1px solid var(--line);white-space:nowrap}
.md-trunc{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.md-vazio{border:1px dashed var(--line);border-radius:16px;padding:34px 20px;text-align:center;color:var(--ink3);display:flex;flex-direction:column;align-items:center;gap:6px}
.md-vazio > .ic{width:28px;height:28px;color:var(--ink3);margin-bottom:4px}
.md-vazio b{color:var(--ink);font-size:15px;font-weight:600}
.md-vazio p{margin:0 0 6px;font-size:13.5px;max-width:440px}
.md-vazio .btn{display:inline-flex;align-items:center;gap:7px;width:auto;margin-top:4px;padding:10px 15px}
.md-barra{display:block;height:6px;border-radius:3px;background:var(--line2);overflow:hidden;margin-top:6px;max-width:180px}
.md-barra i{display:block;height:100%;background:var(--ink);border-radius:3px}
.md-barra.excede i{background:var(--crit)}
/* tabelas das áreas: cabeçalho com fundo, linhas mais firmes e situação em etiqueta */
.md .hc-tabela{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--card)}
.md .hc-linha{padding:12px 14px;border-top:1px solid var(--line2)}
.md .hc-linha.hc-cabtab{background:var(--bg);border-top:0;color:var(--ink3);font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding-top:9px;padding-bottom:9px}
.md .hc-linha.hc-cabtab + .hc-linha{border-top:0}
.md .hd-sit{padding:3px 10px 3px 8px;border-radius:999px;background:color-mix(in srgb,var(--c) 13%,transparent);color:color-mix(in srgb,var(--c) 72%,var(--ink));font-size:12.5px;font-weight:500}
.md .hd-sit i{width:7px;height:7px}
/* Captação: a previsão (118) tem o ponto vazado e, na lista, a pílula tracejada, para não se confundir com as confirmadas */
.hd-sit.prev i{background:transparent;box-shadow:inset 0 0 0 1.5px var(--c)}
.md .hd-sit.prev{padding:2px 9px 2px 7px;background:transparent;border:1px dashed color-mix(in srgb,var(--c) 70%,transparent)}
.cp-tab .hc-linha.prev > span:not(.hm-acoes){color:var(--ink2)}
.cp-tab .hc-linha.prev b{font-weight:500}
.md-corpo > .ed-nota{margin-top:10px}
.cl-lista .hc-linha{grid-template-columns:minmax(0,1.5fr) 108px 112px minmax(0,1fr) 78px 86px 78px 36px}
.cl-contatos .hc-linha{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 130px minmax(0,1fr) 36px}
.sn-envios .hc-linha{grid-template-columns:96px minmax(0,1fr) minmax(0,1fr) 90px 124px 36px}
.sn-reg .hc-linha{grid-template-columns:140px 130px 120px minmax(0,1fr) minmax(0,1fr)}
.cp-horas2 .hc-linha{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 88px 70px 80px 70px 36px}
.cp-fech .hc-linha{grid-template-columns:minmax(0,1fr) 70px 80px 80px minmax(0,1fr) 92px}
.tr-prev .hc-linha{grid-template-columns:minmax(0,1fr) 170px minmax(0,1fr) 110px 36px}
.tr-hist .hc-linha{grid-template-columns:minmax(0,1fr) 90px 130px 100px}
.hd-av.pq{width:30px;height:30px;font-size:12px}
.md-grupos{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.md-grupo{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--card)}
.md-grupo header{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--bg);border-bottom:1px solid var(--line2)}
.md-grupo header b{display:block;font-size:14px}
.md-grupo header small{display:block;font-size:12px;color:var(--ink3)}
.md-gl{display:flex;align-items:center;gap:10px;padding:9px 14px;border-top:1px solid var(--line2);cursor:pointer;font-size:13.5px}
.md-gl:first-of-type{border-top:0}
.md-gl span:nth-child(2){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.md-gl:hover{background:var(--hover)}
.md-sec + .md-sec{margin-top:22px}
.md-sec-cab{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.md-sec-cab h4{font-size:15px;margin:0}
.md-sec-cab .btn{display:inline-flex;align-items:center;gap:7px;width:auto;margin:0;padding:8px 13px;font-size:13px}
.md-rodape{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px 28px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line2)}
.hc-mod .hc-centro{padding:22px 24px}
@media (min-width:861px){ .hc.hc-mod{grid-template-columns:minmax(0,1fr)} }
/* a agenda do mês da captação */
.cp-cal{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--card)}
.cp-cal-sem{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:var(--bg);border-bottom:1px solid var(--line)}
.cp-cal-sem span{padding:8px 10px;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink3)}
.cp-cal-grade{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.cp-dia{min-height:98px;border-right:1px solid var(--line2);border-bottom:1px solid var(--line2);padding:6px;display:flex;flex-direction:column;gap:3px;min-width:0}
.cp-dia:nth-child(7n){border-right:0}
.cp-dia.fora{background:color-mix(in srgb,var(--bg) 55%,var(--card))}
.cp-dia.fora .cp-dn{color:var(--ink3)}
.cp-dia.pode{cursor:pointer}
.cp-dia.pode:hover{background:var(--hover)}
.cp-dn{font-size:12.5px;font-weight:600;color:var(--ink2);width:24px;height:24px;display:grid;place-items:center;border-radius:50%;flex:none}
.cp-dia.hoje .cp-dn{background:var(--ink);color:var(--on-ink)}
.cp-ev{display:flex;gap:5px;align-items:center;border:0;border-left:3px solid var(--c);background:color-mix(in srgb,var(--c) 12%,transparent);color:var(--ink);font:inherit;font-size:11.5px;line-height:1.3;padding:3px 6px;border-radius:0 6px 6px 0;text-align:left;cursor:pointer;min-width:0;width:100%}
.cp-ev:hover{background:color-mix(in srgb,var(--c) 22%,transparent)}
.cp-ev b{font-weight:600;flex:none}
.cp-ev span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.cp-ev.canc span{text-decoration:line-through}
.cp-ev.prev{background:transparent;border:1px dashed color-mix(in srgb,var(--c) 75%,transparent);border-left:3px dashed var(--c);border-radius:6px;padding:2px 6px 2px 5px;color:var(--ink2)}
.cp-ev.prev:hover{background:color-mix(in srgb,var(--c) 10%,transparent)}
.cp-tag{flex:none;font-style:normal;font-size:10.5px;font-weight:600;color:color-mix(in srgb,var(--c) 70%,var(--ink))}
.cp-mais{border:0;background:none;color:var(--ink2);font:inherit;font-size:11.5px;text-align:left;padding:2px 6px;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.cp-leg{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:var(--ink2);margin-top:12px}
.cp-leg i{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--c);margin-right:6px}
.cp-leg i.prev{box-sizing:border-box;background:transparent;border:1.5px dashed var(--c)}
@media (max-width:1180px){
  .cl-lista .hc-linha{grid-template-columns:minmax(0,1.5fr) 108px 112px minmax(0,1fr) 36px}
  .cl-lista .hc-linha > span:nth-child(5),.cl-lista .hc-linha > span:nth-child(6),.cl-lista .hc-linha > span:nth-child(7){display:none}
  .cp-horas2 .hc-linha{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 88px 70px 70px 36px}
  .cp-horas2 .hc-linha > span:nth-child(5){display:none}
}
@media (max-width:980px){ .md-kpis{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:700px){
  .md-topo{align-items:flex-start}
  .md-acoes{width:100%}
  .md-acoes .btn{flex:1 1 auto;justify-content:center}
  .md-busca{width:100%}
  .md-ferr-g,.md-buscar{width:100%}
  .md .hc-linha{padding:11px 10px}
  .hc-mod .hc-centro{padding:14px}
  .cl-lista .hc-linha,.cl-contatos .hc-linha,.sn-envios .hc-linha,.cp-horas2 .hc-linha,.tr-prev .hc-linha{grid-template-columns:minmax(0,1fr) auto auto}
  .cl-lista .hc-linha > span:nth-child(3),.cl-lista .hc-linha > span:nth-child(4){display:none}
  .cl-lista .hc-linha > span:nth-child(2){display:block}
  .cl-contatos .hc-linha > span:nth-child(2),.cl-contatos .hc-linha > span:nth-child(4){display:none}
  .cl-contatos .hc-linha > span:nth-child(3){display:block}
  .sn-envios .hc-linha > span:nth-child(1),.sn-envios .hc-linha > span:nth-child(3),.sn-envios .hc-linha > span:nth-child(4){display:none}
  .sn-envios .hc-linha > span:nth-child(2){display:block}
  .sn-reg .hc-linha{grid-template-columns:minmax(0,1fr) auto}
  .sn-reg .hc-linha > span:nth-child(2),.sn-reg .hc-linha > span:nth-child(5){display:none}
  .sn-reg .hc-linha > span:nth-child(3){display:block}
  .cp-horas2 .hc-linha > span:nth-child(2),.cp-horas2 .hc-linha > span:nth-child(3),.cp-horas2 .hc-linha > span:nth-child(4){display:none}
  .cp-horas2 .hc-linha > span:nth-child(6){display:block}
  .cp-fech .hc-linha,.tr-hist .hc-linha{grid-template-columns:minmax(0,1fr) auto}
  .cp-fech .hc-linha > span:not(:first-child):not(:nth-child(4)){display:none}
  .cp-fech .hc-linha > span:nth-child(4){display:block}
  .tr-hist .hc-linha > span:nth-child(2),.tr-hist .hc-linha > span:nth-child(4){display:none}
  .tr-hist .hc-linha > span:nth-child(3){display:block}
  .tr-prev .hc-linha > span:nth-child(2),.tr-prev .hc-linha > span:nth-child(3){display:none}
  .tr-prev .hc-linha > span:nth-child(4){display:block}
  .cp-dia{min-height:62px;padding:4px}
  .cp-ev span,.cp-ev .cp-tag{display:none}
  .cp-ev{padding:2px 4px;min-height:8px}
  .cp-ev.prev{padding:1px 3px}
  .cp-cal-sem span{padding:6px 4px;font-size:10.5px;text-align:center}
}
/* perfis de acesso: o que o perfil pode fazer em cada área (arquivo 053) */
.pf-acoes{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:0 18px;padding:2px 0 8px 38px}
.pf-acoes-cap{grid-column:1 / -1;font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink3);margin:2px 0 2px}
label.check.pf-acao{padding:6px 0;font-size:13.5px}
.md-restrito{display:inline-flex;align-items:center;gap:6px;font-size:15px;font-weight:500;color:var(--ink3)}
.md-restrito .ic{width:15px;height:15px}
.tr-cli.sem-verba .hc-linha{grid-template-columns:minmax(0,1fr) 84px 128px 36px}
@media (max-width:700px){ .pf-acoes{padding-left:0;grid-template-columns:minmax(0,1fr)} }
/* ---------- coworking (arquivo 054): agenda por sala (dia e semana), reservas, salas, clientes e planos, financeiro ---------- */
.md-sel{position:relative;display:inline-flex;align-items:center}
.md-sel .ic{position:absolute;left:10px;width:14px;height:14px;color:var(--ink3);pointer-events:none}
.md-sel select{height:34px;border:1px solid var(--line);border-radius:10px;background:var(--card);padding:0 26px 0 30px;font:inherit;font-size:13px;color:var(--ink);max-width:230px}
.md-btn{display:inline-flex;align-items:center;gap:7px;width:auto;margin:0;padding:8px 13px;font-size:13px}
.md-btn .ic{width:16px;height:16px}
.md-tag.ok{background:var(--good-soft);color:var(--good);border-color:transparent}
.md-tag.pend{background:var(--warn-soft);color:var(--warn);border-color:transparent}
.cw-dot{width:12px;height:12px;border-radius:4px;background:var(--c);flex:none}
/* agendamento online (056): o endereço da página na configuração e a foto da sala no resumo */
.cw-link{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid var(--line2);border-radius:12px;padding:10px 12px;background:var(--bg)}
.cw-link > span{font-size:12px;color:var(--ink2);width:100%}
.cw-link a{font-weight:600;word-break:break-all;flex:1 1 200px;min-width:0}
.cw-foto{display:block;width:100%;max-height:220px;object-fit:cover;border-radius:12px;margin:2px 0 10px}
.cw-foto-mini{display:block;width:100%;max-height:150px;object-fit:cover;border-radius:12px;margin:4px 0 0;background:var(--line2)}
.cw-previa{margin:-2px 0 4px}
.cw-previa:empty{display:none}
.cw-resumo{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.cw-resumo div{border:1px solid var(--line2);border-radius:12px;padding:10px 13px;background:var(--bg);min-width:0}
.cw-resumo small{display:block;font-size:12px;color:var(--ink3)}
.cw-resumo b{display:block;font-size:17px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cw-res .hc-linha{grid-template-columns:92px minmax(0,.7fr) minmax(0,1fr) 116px 96px 150px 92px 36px}
.cw-res.sem-valor .hc-linha{grid-template-columns:92px minmax(0,.7fr) minmax(0,1fr) 116px 150px 36px}
.cw-salas .hc-linha{grid-template-columns:minmax(0,1fr) 150px 104px 130px 76px 96px 36px}
.cw-salas.sem-valor .hc-linha{grid-template-columns:minmax(0,1fr) 150px 130px 76px 96px 36px}
.cw-cli .hc-linha{grid-template-columns:minmax(0,1.2fr) 132px minmax(0,1fr) 76px 76px 104px 36px}
.cw-fin .hc-linha{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) 112px minmax(150px,1fr) 36px}
.cw-fin .hc-linha > span:nth-child(4) small{display:block;white-space:normal;overflow:visible;text-overflow:clip;margin-top:3px}   /* 097: a situação do estorno cabe inteira */
.cw-res .hc-linha > span:nth-child(4),.cw-salas .hc-linha > span:nth-child(n+2),.cw-cli .hc-linha > span:nth-child(n+2),.cw-fin .hc-linha > span:nth-child(3){color:var(--ink2);font-variant-numeric:tabular-nums}
div.hc-linha[data-cw-res],div.hc-linha[data-cw-sala],div.hc-linha[data-cw-cli],div.hc-linha[data-cw-cob]{cursor:pointer}
div.hc-linha[data-cw-res]:hover,div.hc-linha[data-cw-sala]:hover,div.hc-linha[data-cw-cli]:hover,div.hc-linha[data-cw-cob]:hover{background:var(--hover)}
/* agenda do dia: uma coluna por sala, uma linha por hora; fora do horário de funcionamento fica hachurado */
.cw-ag{border:1px solid var(--line);border-radius:14px;background:var(--card);overflow-x:auto}
.cw-ag-cab,.cw-ag-corpo{display:grid;grid-template-columns:56px repeat(var(--n),minmax(150px,1fr));min-width:calc(56px + var(--n) * 150px)}
.cw-ag-cab{background:var(--bg);border-bottom:1px solid var(--line)}
.cw-ag-cab b{padding:9px 10px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:7px;border-left:1px solid var(--line2);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cw-ag-cab b i{width:9px;height:9px;border-radius:50%;background:var(--c);flex:none}
.cw-ag-cab b small{font-weight:400;color:var(--ink3);font-size:11.5px;margin-left:auto}
.cw-ag-corpo{position:relative}
.cw-horas{position:relative}
.cw-horas span{position:absolute;right:8px;transform:translateY(-50%);font-size:11px;color:var(--ink3);font-variant-numeric:tabular-nums}
.cw-horas span:first-child{transform:translateY(3px)}
.cw-col{position:relative;border-left:1px solid var(--line2);background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--hh) - 1px),var(--line2) calc(var(--hh) - 1px),var(--line2) var(--hh))}
.cw-col.pode{cursor:pointer}
.cw-col.pode:hover{background-color:color-mix(in srgb,var(--hover) 70%,transparent)}
.cw-fora{position:absolute;left:0;right:0;background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--line) 55%,transparent) 0 6px,transparent 6px 12px);pointer-events:none;display:flex;align-items:center;justify-content:center}
.cw-fora span{font-size:12px;color:var(--ink3);background:var(--card);padding:2px 9px;border-radius:999px}
.cw-bl{position:absolute;left:calc(4px + (100% - 8px) * var(--l,0) / var(--nl,1));width:calc((100% - 8px) / var(--nl,1) - 2px);z-index:1;border:0;border-left:3px solid var(--c);background:color-mix(in srgb,var(--c) 14%,var(--card));border-radius:0 8px 8px 0;padding:4px 7px;text-align:left;font:inherit;font-size:12px;line-height:1.3;color:var(--ink);cursor:pointer;overflow:hidden;display:flex;flex-direction:column;gap:1px}
.cw-bl:hover{background:color-mix(in srgb,var(--c) 24%,var(--card))}
.cw-bl b{font-weight:600;font-size:11.5px}
.cw-bl span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cw-bl small{font-size:11px;color:var(--ink3)}
.cw-bl.sol{border-left-style:dashed;background:color-mix(in srgb,var(--c) 8%,var(--card))}
.cw-bl.bloq,.cp-ev.bloq{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--c) 18%,var(--card)) 0 6px,var(--card) 6px 12px)}
/* agenda da semana: uma linha por sala, uma coluna por dia */
.cw-sem{border:1px solid var(--line);border-radius:14px;background:var(--card);overflow-x:auto}
.cw-sem-cab,.cw-sem-l{display:grid;grid-template-columns:150px repeat(7,minmax(104px,1fr));min-width:878px}
.cw-sem-cab{background:var(--bg);border-bottom:1px solid var(--line)}
.cw-sem-cab > *{padding:8px 10px;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink3)}
.cw-sem-cab b{border-left:1px solid var(--line2);cursor:pointer}
.cw-sem-cab b:hover{background:var(--hover)}
.cw-sem-cab b small{display:block;text-transform:none;letter-spacing:0;font-weight:500;font-size:12px;color:var(--ink2)}
.cw-sem-cab b.hoje,.cw-sem-cab b.hoje small{color:var(--ink)}
.cw-sem-l + .cw-sem-l{border-top:1px solid var(--line2)}
.cw-sem-sala{display:flex;gap:8px;align-items:flex-start;padding:10px;min-width:0}
.cw-sem-sala > i{width:9px;height:9px;border-radius:50%;background:var(--c);margin-top:5px;flex:none}
.cw-sem-sala b{display:block;font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cw-sem-sala small{font-size:11.5px;color:var(--ink3)}
.cw-sem-sala > span{min-width:0}
.cw-cel{border-left:1px solid var(--line2);padding:6px;min-height:76px;display:flex;flex-direction:column;gap:3px;min-width:0}
.cw-cel.pode{cursor:pointer}
.cw-cel.pode:hover{background-color:var(--hover)}
.cw-cel.hoje{background-color:color-mix(in srgb,var(--ink) 4%,transparent)}
.cw-cel.fechada{background-image:repeating-linear-gradient(135deg,color-mix(in srgb,var(--line) 45%,transparent) 0 6px,transparent 6px 12px)}
.cw-fechada{font-size:11.5px;color:var(--ink3);margin:auto}
@media (max-width:1180px){
  .cw-res .hc-linha{grid-template-columns:84px minmax(0,1fr) 96px 158px 86px 36px}
  .cw-res .hc-linha > span:nth-child(2),.cw-res .hc-linha > span:nth-child(4){display:none}
  .cw-res.sem-valor .hc-linha{grid-template-columns:84px minmax(0,.7fr) minmax(0,1fr) 158px 36px}
  .cw-res.sem-valor .hc-linha > span:nth-child(2){display:block}
  .cw-cli .hc-linha{grid-template-columns:minmax(0,1.2fr) 120px minmax(0,1fr) 96px 36px}
  .cw-cli .hc-linha > span:nth-child(4),.cw-cli .hc-linha > span:nth-child(5){display:none}
}
@media (max-width:980px){ .cw-resumo{grid-template-columns:repeat(2,minmax(0,1fr))}
  /* tablet (e computador estreito com o menu): sem a coluna Pagamento, o nome do cliente (ou de quem pediu online) não some */
  .cw-res .hc-linha{grid-template-columns:84px minmax(0,1fr) 96px 132px 36px}
  .cw-res .hc-linha > span:nth-child(7){display:none}
  .cw-res.sem-valor .hc-linha{grid-template-columns:84px minmax(0,1fr) 132px 36px}
  .cw-res.sem-valor .hc-linha > span:nth-child(2){display:none} }
@media (max-width:700px){
  .cw-res .hc-linha,.cw-res.sem-valor .hc-linha{grid-template-columns:64px minmax(0,1fr) auto auto}
  .cw-res .hc-linha > span:nth-child(2),.cw-res .hc-linha > span:nth-child(4),.cw-res .hc-linha > span:nth-child(5),.cw-res .hc-linha > span:nth-child(7){display:none}
  .cw-res .hc-linha > span:nth-child(3),.cw-res .hc-linha > span:nth-child(6),.cw-fin .hc-linha > span:nth-child(3){display:block}
  .cw-res.sem-valor .hc-linha > span:nth-child(5){display:block}
  .cw-salas .hc-linha,.cw-salas.sem-valor .hc-linha,.cw-cli .hc-linha,.cw-fin .hc-linha{grid-template-columns:minmax(0,1fr) auto auto}
  .cw-salas .hc-linha > span:nth-child(2),.cw-salas .hc-linha > span:nth-child(3),.cw-salas .hc-linha > span:nth-child(5),.cw-salas .hc-linha > span:nth-child(6){display:none}
  .cw-salas .hc-linha > span:nth-child(4){display:block}
  .cw-salas.sem-valor .hc-linha > span:nth-child(3){display:block}
  .cw-salas.sem-valor .hc-linha > span:nth-child(4),.cw-salas.sem-valor .hc-linha > span:nth-child(5){display:none}
  .cw-cli .hc-linha > span:nth-child(2),.cw-cli .hc-linha > span:nth-child(3),.cw-cli .hc-linha > span:nth-child(4),.cw-cli .hc-linha > span:nth-child(5){display:none}
  .cw-cli .hc-linha > span:nth-child(6){display:block}
  .cw-fin .hc-linha > span:nth-child(2),.cw-fin .hc-linha > span:nth-child(4){display:none}
  .md-sel select{max-width:100%}
}

/* ---------- cores do Head (15/10, pedido dele: "quero um pouco mais de cor") ---------- */
/* o menu: o ícone de cada área pintado na cor dela (sem fundo); Geral, Equipe, Perfis e Configurações com o ícone de sempre */
.nav-ic{display:inline-grid;place-items:center;flex:none}
.nav .nav-ic svg{color:var(--c,var(--nav))}
.nav .nav-ic.neutro svg{color:var(--nav)}
.hc-a .hd-area-ic{flex:none !important}
.hc-a .hd-area-ic .ic{width:17px;height:17px}
/* o topo de cada área: o ícone grande pintado na cor da área, num quadrado neutro */
.area-cor .md-ic{background:var(--bg);border:1px solid var(--line2);color:var(--area)}
/* a cor da agência, dentro dela (html.com-ag, posto pelo app.js): botões principais, menu e aba ativos, filtros, indicadores, chaves e barras */
html.com-ag{--ag-suave:color-mix(in srgb,var(--ag) 13%,var(--card));--ag-forte:color-mix(in srgb,var(--ag) 80%,var(--ink))}
html.com-ag .btn:not(.sec):not(.perigo){background:var(--ag);border-color:var(--ag);color:var(--ag-txt)}
html.com-ag .nav a[aria-current="page"],html.com-ag .hc-a[aria-current="page"]{background:var(--ag-suave);color:var(--ag-forte)}
html.com-ag .md-abas button[aria-selected=true]{border-bottom-color:var(--ag);color:var(--ag-forte)}
html.com-ag .hm-f[aria-pressed="true"]{background:var(--ag);border-color:var(--ag);color:var(--ag-txt)}
html.com-ag .md-kpi.ativo{border-color:var(--ag);box-shadow:inset 0 0 0 1px var(--ag)}
html.com-ag .md-kpi:not(.bom):not(.atencao):not(.ruim) > b{color:var(--ag-forte)}
html.com-ag .md-kpi small .ic{color:var(--ag-forte)}
html.com-ag label.check.chave input:checked{background:var(--ag)}
html.com-ag label.check.chave input:focus-visible{outline-color:var(--ag)}
html.com-ag .md-barra i{background:var(--ag)}
html.com-ag .tabbar a[aria-current="page"]{color:var(--ag-forte)}
/* os setores do menu da agência (058): Estratégico, Tático e Operacional */
.nav .nav-setor{padding:14px 12px 4px;font-size:10.5px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--ink3);opacity:.85}
/* o setor Desenvolvedor (059) */
.dv-selo{width:30px;height:30px;border-radius:9px;display:inline-grid;place-items:center;flex:none;font-weight:600;font-size:13px;color:#fff;background:var(--ac)}
.dv-nome{display:flex;align-items:center;gap:10px;min-width:0}
.dv-nome > span{display:flex;flex-direction:column;min-width:0}
.dv-papel{display:inline-block;font-size:11px;font-weight:500;color:var(--ink3)}
.dv-tab .hc-linha{grid-template-columns:minmax(0,1.3fr) minmax(0,1.2fr) 90px 70px 100px 36px}
.dv-end .hc-linha{grid-template-columns:minmax(0,1.2fr) minmax(0,1.2fr) 100px 140px minmax(0,1fr) 36px}
div.hc-linha[data-dv-ag]{cursor:pointer}
div.hc-linha[data-dv-ag]:hover{background:var(--hover)}
.dv-modelo{border:1px solid var(--line2);border-radius:16px;padding:16px;background:var(--bg);display:flex;flex-direction:column;gap:14px}
.dv-mod-cab{display:flex;align-items:center;gap:12px}
.dv-mod-cab small{display:block;color:var(--ink3);font-size:12.5px}
.dv-setores{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.dv-setor,.dv-linha{display:flex;flex-wrap:wrap;gap:6px;align-items:center;align-content:flex-start;background:var(--card);border:1px solid var(--line2);border-radius:12px;padding:10px 12px;min-width:0}
.dv-setor > small,.dv-linha > small{width:100%;font-size:10.5px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--ink3)}
.dv-area{display:inline-flex;align-items:center;gap:6px;font-size:13px;padding:4px 9px 4px 6px;border-radius:999px;border:1px solid var(--line2);background:var(--bg)}
.dv-area .ic{width:15px;height:15px}
.dv-acoes{display:flex;gap:8px;flex-wrap:wrap}
@media (max-width:980px){ .dv-setores{grid-template-columns:1fr} .dv-tab .hc-linha,.dv-end .hc-linha{grid-template-columns:minmax(0,1fr) auto 36px} .dv-tab .hc-linha > span:nth-child(n+2):not(:last-child):not(:nth-child(3)),.dv-end .hc-linha > span:nth-child(n+2):not(:last-child):not(:nth-child(5)){display:none} }

/* ---------- Tarefas (Head, arquivo 063): o Meu dia da equipe e a área do mestre ---------- */
.td-dia{background:var(--card);border:1px solid var(--line);border-radius:var(--r2);padding:18px 18px 12px;margin:0 0 22px}
.td-dia-cab{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.td-dia-cab h3{margin:0;font-size:18px;font-weight:600}
.td-dia-cab small{display:block;color:var(--ink3);font-size:13px;margin-top:2px}
.td-dia-cab .pill-f{flex:none}
.td-recado{display:flex;align-items:center;gap:12px;background:var(--accent-soft);border-radius:12px;padding:12px 14px;margin-top:12px}
.td-recado-ic{width:34px;height:34px;border-radius:50%;background:var(--card);display:grid;place-items:center;flex:none}
.td-recado-ic .ic{width:16px;height:16px}
.td-recado .tx{flex:1;min-width:0}
.td-recado .tx small{display:block;color:var(--ink3);font-size:12px}
.td-recado .tx p{margin:2px 0 0;font-size:14px;overflow-wrap:anywhere}
.td-recado .btn{width:auto;padding:9px 16px;flex:none}
.td-resumo{display:flex;align-items:center;gap:14px;margin-top:16px}
.td-resumo > div:last-child{min-width:0}
.td-resumo b{display:block;font-size:15px;font-weight:600}
.td-resumo small{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12.5px;color:var(--ink3);margin-top:2px}
.td-anel{--p:0;width:58px;height:58px;border-radius:50%;flex:none;display:grid;place-items:center;position:relative;background:conic-gradient(var(--good-bar) calc(var(--p) * 1%),var(--track) 0)}
.td-anel::before{content:"";position:absolute;inset:6px;border-radius:50%;background:var(--card)}
.td-anel b{position:relative;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}
.td-ruim{color:var(--crit)}
.td-serie{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;color:var(--ink2)}
.td-serie .ic{width:14px;height:14px;color:var(--warn-bar)}
.td-agora{margin-top:16px;border:1px solid var(--line);border-left:4px solid var(--ink);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;align-items:flex-start;gap:3px;cursor:pointer}
.td-agora:hover{background:var(--hover)}
.td-agora.limpeza{border-left-color:var(--warn-bar)}
.td-agora.atrasada{border-left-color:var(--crit-bar);background:var(--crit-soft)}
.td-agora-r{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink3)}
.td-agora-r .ic{width:14px;height:14px}
.td-agora.atrasada .td-agora-r{color:var(--crit)}
.td-agora > b{font-size:16.5px;font-weight:600;overflow-wrap:anywhere}
.td-meta{font-size:13px;color:var(--ink3)}
.td-agora-bt{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.td-agora-bt .btn{width:auto;display:inline-flex;align-items:center;gap:7px;padding:10px 15px}
.td-lista{display:flex;flex-direction:column;margin-top:8px}
.td-item{display:flex;align-items:center;gap:12px;padding:11px 4px;border-top:1px solid var(--line2);cursor:pointer;border-radius:8px}
.td-item:hover{background:var(--hover)}
.td-item .tx{flex:1;min-width:0}
.td-item .tx b{display:block;font-size:14px;font-weight:500;overflow-wrap:anywhere}
.td-item .tx small{display:block;font-size:12.5px;color:var(--ink3)}
.td-item.feita .tx b{text-decoration:line-through;color:var(--ink3);font-weight:400}
.td-item.atrasada .tx small{color:var(--crit)}
.td-check{width:24px;height:24px;border-radius:50%;border:2px solid var(--chk);background:transparent;flex:none;cursor:pointer;padding:0;display:grid;place-items:center}
.td-check:hover{border-color:var(--good-bar);background:var(--good-soft)}
.td-check.ok{background:var(--good-bar);border-color:var(--good-bar);cursor:default}
.td-check.ok .ic{width:14px;height:14px;color:#fff}
.td-item.atrasada .td-check{border-color:var(--crit-bar)}
.td-tag{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:500;padding:2px 9px;border-radius:999px;background:var(--bg);border:1px solid var(--line);color:var(--ink2);white-space:nowrap;flex:none}
.td-tag .ic{width:12px;height:12px}
.td-tag.ruim{background:var(--crit-soft);border-color:transparent;color:var(--crit)}
.td-tag.atencao,.td-tag.limpeza{background:var(--warn-soft);border-color:transparent;color:var(--warn)}
.td-tag.bom{background:var(--good-soft);border-color:transparent;color:var(--good)}
.td-agora .td-tag{margin-top:4px}
.td-amanha{margin-top:6px;border-top:1px solid var(--line2)}
.td-amanha summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--ink2);padding:11px 4px;list-style-position:inside}
.td-amanha summary small{font-weight:400;color:var(--ink3);margin-left:4px}
.td-amanha .td-lista{margin-top:0}
.td-nada{margin:14px 0 6px;font-size:13.5px}
/* a área: Equipe hoje */
.td-equipe{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.td-pessoa{border:1px solid var(--line);border-radius:16px;padding:14px;background:var(--card);cursor:pointer;display:flex;flex-direction:column;gap:10px;min-width:0}
.td-pessoa:hover{background:var(--hover)}
.td-pessoa.atrasada{box-shadow:inset 3px 0 0 var(--crit-bar)}
.td-pessoa-cab{display:flex;align-items:center;gap:10px}
.td-pessoa-cab .tx{flex:1;min-width:0}
.td-pessoa-cab b{display:block;font-size:14.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.td-pessoa-cab small{display:block;font-size:12px;color:var(--ink3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.td-pessoa .td-nada{margin:0}
.td-prog small{display:block;font-size:12.5px;color:var(--ink2);margin-top:5px}
.td-barra{display:block;height:6px;border-radius:3px;background:var(--line2);overflow:hidden}
.td-barra i{display:block;height:100%;border-radius:3px;background:var(--ink)}
.td-barra.cheia i{background:var(--good-bar)}
.td-sinais{display:flex;flex-wrap:wrap;gap:6px}
/* a área: rotinas e a escala de limpeza */
.td-bloco-t h4{margin:22px 0 10px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink3)}
.td-bloco-t:first-child h4{margin-top:2px}
.td-escala{display:grid;grid-template-columns:repeat(var(--n,5),minmax(0,1fr));gap:8px}
.td-esc-dia{border:1px solid var(--line);border-radius:12px;padding:10px 8px;min-height:92px;display:flex;flex-direction:column;gap:4px;min-width:0}
.td-esc-dia > b{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink3);padding:0 4px 4px}
.td-esc-dia > b small{text-transform:none;letter-spacing:0;font-weight:500;color:var(--ink)}
.td-esc-dia.hoje{border-color:var(--ink)}
.td-esc-dia.hoje > b{color:var(--ink)}
.td-esc-p{display:flex;align-items:center;gap:6px;font-size:13px;padding:4px;border-radius:8px;cursor:pointer;min-width:0}
.td-esc-p:hover{background:var(--hover)}
.td-esc-p .hd-av.mini{margin-right:0;vertical-align:0}
.td-esc-p .tx{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.td-esc-p .tx small{display:block;font-size:11px;color:var(--ink3);overflow:hidden;text-overflow:ellipsis}
.td-esc-p.ok .tx{color:var(--good)}
.td-esc-ok{margin-left:auto;display:grid;place-items:center}
.td-esc-ok .ic{width:14px;height:14px;color:var(--good)}
.td-esc-vazio{font-size:12.5px;padding:0 4px}
/* as tabelas da área */
.td-tab .hc-linha{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) 112px 112px 132px 36px}
.td-rot .hc-linha{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 130px 150px 96px 36px}
.td-rcd .hc-linha{grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr) 130px 140px 36px}
.td-quem{display:flex;align-items:center;min-width:0}
.td-tab .hc-linha > span:nth-child(3),.td-rot .hc-linha > span:nth-child(3){font-variant-numeric:tabular-nums}
div.hc-linha[data-td-linha],div.hc-linha[data-td-rot],div.hc-linha[data-td-rcd]{cursor:pointer}
div.hc-linha[data-td-linha]:hover,div.hc-linha[data-td-rot]:hover,div.hc-linha[data-td-rcd]:hover{background:var(--hover)}
/* as janelas */
.td-ver-topo{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px}
.td-ver-sub{display:block;font-size:12px;color:var(--ink3)}
.td-ver-texto{font-size:14.5px;line-height:1.5;margin:6px 0 0;overflow-wrap:anywhere}
.td-foto{margin-top:14px;border-radius:12px;overflow:hidden;border:1px solid var(--line2);min-height:60px;display:grid;place-items:center;background:var(--bg)}
.td-foto img{display:block;width:100%;height:auto;max-height:60vh;object-fit:contain}
.td-pop .ver-acoes{margin-top:18px}
@media (max-width:980px){
  .td-tab .hc-linha{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) 100px 132px 36px}
  .td-tab .hc-linha > span:nth-child(4){display:none}
  .td-rot .hc-linha{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 130px 36px}
  .td-rot .hc-linha > span:nth-child(4),.td-rot .hc-linha > span:nth-child(5){display:none}
}
@media (max-width:700px){
  .td-dia{padding:16px 14px 10px;border-radius:var(--r3)}
  .td-recado{flex-wrap:wrap;align-items:flex-start}
  .td-recado .tx{flex:1 1 calc(100% - 46px)}
  .td-recado .btn{margin-left:46px}
  .td-dia-cab .pill-f{padding:6px 10px}
  .td-equipe{grid-template-columns:minmax(0,1fr)}
  .td-escala{grid-template-columns:minmax(0,1fr)}
  .td-esc-dia{flex-direction:row;flex-wrap:wrap;align-items:center;min-height:0;padding:8px}
  .td-esc-dia > b{width:52px;padding:0 4px}
  .td-tab .hc-linha{grid-template-columns:minmax(0,1fr) auto 36px}
  .td-tab .hc-linha > span:nth-child(2),.td-tab .hc-linha > span:nth-child(3),.td-tab .hc-linha > span:nth-child(4){display:none}
  .td-rot .hc-linha,.td-rcd .hc-linha{grid-template-columns:minmax(0,1fr) auto 36px}
  .td-rot .hc-linha > span:nth-child(n+3):not(:last-child),.td-rcd .hc-linha > span:nth-child(2),.td-rcd .hc-linha > span:nth-child(3){display:none}
  .td-rot .hc-linha > span:nth-child(2){display:flex}
}
.td-tab .hc-linha > span:first-child b,.td-rot .hc-linha > span:first-child b{white-space:normal;overflow-wrap:anywhere}

/* ---------- WhatsApp (Head, arquivo 064): o que falta para ligar e as mensagens ---------- */
.wz-passos{display:flex;flex-direction:column;gap:2px;margin:2px 0 4px}
.wz-passo{display:flex;gap:12px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--line2)}
.wz-passo b{display:block;font-size:14px;font-weight:500}
.wz-passo small{display:block;font-size:12.5px;color:var(--ink3);margin-top:1px}
.wz-bola{width:22px;height:22px;border-radius:50%;border:2px solid var(--chk);flex:none;display:grid;place-items:center;margin-top:1px}
.wz-passo.ok .wz-bola{background:var(--good-bar);border-color:var(--good-bar)}
.wz-passo.ok .wz-bola .ic{width:13px;height:13px;color:#fff}
.wz-msg span:first-child{min-width:0}
.wz-msg span:first-child b{display:block;font-weight:500;color:var(--ink);font-size:13px}
.wz-msg small,.ver-l .wz-motivo{display:block;font-size:12px;color:var(--ink3);overflow-wrap:anywhere}
.ver-l .wz-motivo{color:var(--crit)}
.md-tag.wz-ruim{background:var(--crit-soft);border-color:transparent;color:var(--crit)}

/* ============ o Ponto (065) ============ */
/* o cartão no Meu dia da pessoa: o próximo botão (entrada, almoço, encerrar) e as marcações de hoje */
.pt-cartao{border:1px solid var(--line);border-radius:18px;background:var(--card);padding:14px 16px;margin:0 0 14px}
.pt-cab{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.pt-cab h3{margin:0;font-size:16px}
.pt-cab small{display:block;color:var(--ink3);font-size:12.5px;margin-top:1px}
.pt-acao{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.pt-acao .btn{min-height:42px}
.pt-pc{font-size:12px}
.pt-aviso{display:flex;align-items:center;gap:6px;margin:0;font-size:13px}
.pt-aviso .ic{width:15px;height:15px}
.pt-fim{display:flex;align-items:center;gap:6px;margin:0;font-size:13.5px;color:var(--good);font-weight:500}
.pt-fim .ic{width:16px;height:16px}
.pt-marcas{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--line2)}
.pt-marcas span{display:grid;padding:6px 12px;border-radius:12px;background:var(--bg);min-width:96px}
.pt-marcas small{font-size:11px;color:var(--ink3)}
.pt-marcas b{font-size:16px;font-variant-numeric:tabular-nums}
/* a área Ponto: Hoje e Registros (pessoa, entrada, almoço, saída, horas, situação), Pessoas e Computadores */
.pt-tab .hc-linha{grid-template-columns:minmax(0,1fr) 84px 124px 84px 84px minmax(0,1.1fr) 36px}   /* pessoa não fica larguíssima: colunas dos números com largura fixa */
.pt-tab .hc-linha > span:nth-child(n+2):nth-child(-n+5){font-variant-numeric:tabular-nums}
.pt-tab .hc-linha > span:nth-child(6) small{display:block;font-size:11px;color:var(--ink3);margin-top:2px}
.pt-pes .hc-linha{grid-template-columns:minmax(0,1.3fr) 110px 76px 130px minmax(0,1fr) 36px}
.pt-pes .hc-linha small,.pt-pcs .hc-linha small{display:block;font-size:11.5px;color:var(--ink3)}
.pt-pcs .hc-linha{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 110px 36px}
.pt-resumo{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
@media (max-width:980px){
  .pt-tab .hc-linha{grid-template-columns:minmax(0,1fr) 64px 64px 64px minmax(0,.9fr) 36px}
  .pt-tab .hc-linha > span:nth-child(3){display:none}
  .pt-pes .hc-linha{grid-template-columns:minmax(0,1fr) 90px 70px 110px 36px}
  .pt-pes .hc-linha > span:nth-child(5){display:none}
}
@media (max-width:640px){
  .pt-tab .hc-linha{grid-template-columns:minmax(0,1fr) 58px minmax(0,.9fr) 36px}
  .pt-tab .hc-linha > span:nth-child(3),.pt-tab .hc-linha > span:nth-child(4),.pt-tab .hc-linha > span:nth-child(5){display:none}
  .pt-pes .hc-linha{grid-template-columns:minmax(0,1fr) 70px 36px}
  .pt-pes .hc-linha > span:nth-child(n+4):not(:last-child){display:none}
  .pt-pcs .hc-linha{grid-template-columns:minmax(0,1fr) 96px 36px}
  .pt-pcs .hc-linha > span:nth-child(2){display:none}
  .pt-acao{width:100%;justify-content:stretch}
  .pt-acao .btn{flex:1}
}
/* o "Bom dia" do primeiro acesso do dia, no computador autorizado */
.pt-bomdia .dlg-bd{display:grid;justify-items:center;text-align:center;gap:6px;padding:26px 22px 22px}
.pt-bomdia .dlg-bd > small:first-child{color:var(--ink3);font-size:13px}
.pt-bomdia h3{margin:2px 0 0;font-size:24px;letter-spacing:-.02em}
.pt-relogio{font-size:44px;line-height:1.1;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:6px 0 0}
.pt-bomdia .dlg-bd > small:last-of-type{color:var(--ink3);font-size:12px}
.pt-bomdia-bt{display:grid;gap:8px;width:100%;margin-top:14px}
.pt-bomdia-bt .btn{min-height:48px;justify-content:center}
.pt-bomdia-bt .pill-f{justify-self:center}

/* a escolha de uma opção só, com a frase (071: o perfil de acesso no formulário da pessoa) */
.varios.uma-so{grid-template-columns:1fr}
.varios.uma-so .vario small{white-space:normal}

/* 072: perfis padrão ajustáveis — o nível de cada área em destaque, o lápis e as pessoas do perfil */
.pf-cab-acesso{display:flex;align-items:center;justify-content:space-between;gap:10px}
.pf-nivel{font-size:12.5px;font-weight:600;border-radius:999px;padding:3px 10px;white-space:nowrap}
.pf-nivel.editar{background:var(--ok-soft,#e3f2e6);color:var(--ok,#1d6b34)}
.pf-nivel.ver{background:var(--accent-soft);color:var(--ink)}
.pf-nivel.nenhum{background:var(--bg);color:var(--ink3);text-decoration:line-through}
button.pf-pessoa{gap:6px;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:4px 10px 4px 4px;cursor:pointer;color:var(--ink)}
button.pf-pessoa:hover{border-color:var(--ink3)}
button.pf-pessoa .ic,button.pf-pessoa svg{width:14px;height:14px;opacity:.55}
button.pf-add{padding:4px 12px;border-style:dashed}
.pf-acoes-resumo{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px 34px}
.pf-acao-tag{font-size:12px;border:1px solid var(--line);border-radius:999px;padding:2px 9px;color:var(--ink2,var(--ink))}
.pf-acao-tag.fora{color:var(--ink3);text-decoration:line-through;border-style:dashed}

/* 16/10 (item 2.23, pedido dele): a barra de rolagem nunca muda a largura nem a posição do quadro — o espaço dela fica sempre reservado,
   em todas as telas do painel e do app (a página e os blocos que rolam por dentro) */
html{scrollbar-gutter:stable}
.side,.dlg-bd,.login,.folha .painel{scrollbar-gutter:stable}
@media (min-width:1px){ .conteudo > .hc > *,.cfg2 > .cfg{scrollbar-gutter:stable} }
/* as opções com chave (ações dos perfis e outras): a linha cresce com o texto que quebra (a classe .chave fixava 28px de altura) */
label.check.chave{height:auto;min-height:28px}
/* o rótulo leva a classe .chave (para a área de toque) e herdava o desenho do trilho da chave: fundo, cantos e contorno. Só o input é a chave. */
label.check.chave{background:none;box-shadow:none;border-radius:0;transition:none}
label.check.chave input:checked::after{background:#fff}
/* ====== MASTER (16/10, pedido dele): o dono no sistema de agências (html[data-master="1"], posto pelo app.js) vê a mesma tela
   da equipe, num tema fixo preto + dourado. Vale junto com o modo escuro (data-tema="escuro"); a equipe nunca recebe este tema. ====== */
:root[data-master="1"]{
  --ouro:#c9a24a; --ouro-claro:#e3c57e; --ouro-txt:#17130a; --ouro-suave:rgba(201,162,74,.14); --ouro-linha:rgba(201,162,74,.26);
  --bg:#0b0b0d; --card:#141416; --line:#4a4538; --line2:#2b2822;   /* 17/10: bordas e botões secundários sumiam (1,3:1); agora ~2:1 */
  --ink:#f3eee2; --ink2:#c7bfac; --ink3:#9c9483;
  --accent:#c9a24a; --accent-soft:#2a2418; --track:#2a2723;
  --on-ink:#17130a; --tinta:#1d1a15; --tinta-mut:#a9a08c;
  --chk:#5c5547; --nav:#d2cab7; --hover:#1d1b17; --sel:var(--ouro-suave); --vidro:rgba(16,16,18,.94); --pisca:#3a3010;
  --sombra:0 1px 2px rgba(0,0,0,.45); --sombra-2:0 16px 40px rgba(0,0,0,.7);
  color-scheme:dark;
}
:root[data-master="1"] .side{background:#0f0f11;border-right-color:var(--ouro-linha)}
:root[data-master="1"] .nav a[aria-current="page"]{background:var(--ouro-suave);color:var(--ouro-claro);box-shadow:inset 3px 0 0 var(--ouro)}
:root[data-master="1"] .nav a[aria-current="page"] .nav-ic.neutro svg{color:var(--ouro-claro)}
:root[data-master="1"] .nav .nav-setor{color:var(--ouro);opacity:.9}
:root[data-master="1"] .marca-equipe{color:var(--ouro-claro)}
:root[data-master="1"] .marca .logo{background:var(--ouro);color:var(--ouro-txt)}
:root[data-master="1"] .btn:not(.sec):not(.perigo){background:var(--ouro);border-color:var(--ouro);color:var(--ouro-txt)}
:root[data-master="1"] .btn.sec{background:var(--hover)}
:root[data-master="1"] .mc-img-v,:root[data-master="1"] .mc-ico-v{border-color:var(--ouro-linha)}
:root[data-master="1"] .btn.sec:hover{border-color:var(--ouro)}
:root[data-master="1"] .avatar{border-color:var(--ouro-linha)}
:root[data-master="1"] .tabbar a[aria-current="page"]{color:var(--ouro-claro)}
:root[data-master="1"].com-ag{--ag-suave:var(--ouro-suave);--ag-forte:var(--ouro-claro)}

/* 16/10: a troca de modo de cor (claro ↔ escuro) se espalha em círculo a partir do botão (app.js definirTema) */
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}
::view-transition-new(root){z-index:2}
::view-transition-old(root){z-index:1}
/* títulos dos setores do menu do painel pessoal (também no "Mais" do celular) */
.folha .nav .nav-setor{padding:14px 14px 4px}
.nav .nav-setor:first-of-type{padding-top:8px}
.marca-equipe .me-ico{width:22px;height:22px;border-radius:7px;object-fit:cover;vertical-align:-5px;margin-right:8px;box-shadow:0 0 0 1px var(--line2)}   /* o ícone da agência no menu, antes do nome */
.selo-marca.selo-cli{width:20px;height:20px;border-radius:50%;overflow:hidden;padding:0;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line)}   /* logo do cliente nas caixas de escolha */
.selo-cli img{width:100%;height:100%;object-fit:cover;display:block}
.selo-cli-ini b{font-size:10px;color:var(--ink2)}
.email-sug{z-index:9999;background:var(--card,#fff);border:1px solid var(--line2);border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.18);padding:4px;display:flex;flex-direction:column;max-width:92vw}
.email-sug button{all:unset;box-sizing:border-box;cursor:pointer;padding:8px 10px;border-radius:8px;font-size:13px;color:var(--ink3);white-space:nowrap}
.email-sug button b{color:var(--ink);font-weight:600}
.email-sug button:hover,.email-sug button[aria-selected="true"]{background:var(--accent-soft,rgba(0,0,0,.06))}

/* ====== FASE 3 (16/10): a mensagem do dia (075) — o pop-up, o ícone de aspas no topo e a lista de frases ====== */
.ibtn-msg{position:relative}
.msg-bol{position:absolute;top:3px;right:3px;width:10px;height:10px;border-radius:50%;background:#f97316;box-shadow:0 0 0 2px var(--card)}
.dlg.msg-dia{position:relative}
.msg-dia .dlg-bd{padding:22px 22px 20px;display:flex;flex-direction:column;gap:14px}
.msg-dia .dlg-hd{padding:22px 60px 4px 22px}
.msg-x{position:absolute;top:30px;right:30px;z-index:2;background:rgba(255,255,255,.16);border-color:transparent;color:var(--ag-txt,var(--on-ink))}
.msg-x:hover{background:rgba(255,255,255,.3);color:var(--ag-txt,var(--on-ink))}
.msg-dia .dlg-hd + .dlg-bd .msg-x{top:16px;right:16px}
.dlg-hd ~ .dlg-bd{padding-top:8px}
.msg-dia > .dlg-hd + .dlg-bd{padding-top:8px}
.dlg.msg-dia:has(.dlg-hd) .msg-x{top:18px;right:18px;background:var(--bg);color:var(--ink2)}
.msg-frase{background:var(--ag,var(--ink));color:var(--ag-txt,var(--on-ink));border-radius:var(--r2);padding:24px 24px 26px;display:grid;gap:10px}
.msg-frase > small{font-size:12.5px;font-weight:500;opacity:.82;padding-right:44px}
.msg-aspas svg{width:30px;height:30px;opacity:.5;fill:currentColor;stroke:none}
.msg-texto{font-size:22px;line-height:1.35;font-weight:600;letter-spacing:-.01em;white-space:pre-line;overflow-wrap:anywhere}
.msg-reagir{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.msg-reagir > span{font-size:12.5px;color:var(--ink3);margin-right:2px}
.msg-r{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:6px 13px;min-height:36px;font-variant-numeric:tabular-nums}
.msg-r i{font-style:normal;font-size:16px;line-height:1}
.msg-r b{font-size:13px;font-weight:600;color:var(--ink2);min-width:8px;text-align:left}
.msg-r:hover{border-color:var(--ink3)}
.msg-r[aria-pressed="true"]{border-color:var(--ag,var(--ink));background:var(--ag-suave,var(--accent-soft))}
.msg-r[aria-pressed="true"] b{color:var(--ink)}
.msg-conversa{display:grid;gap:10px}
.msg-conversa h4{font-size:14px;display:flex;align-items:center;gap:8px}
.msg-conversa h4 small{font-size:12px;font-weight:600;color:var(--ink3);background:var(--bg);border-radius:999px;padding:1px 8px}
.msg-lista{display:grid;gap:12px;max-height:230px;overflow:auto;padding-right:2px}
.msg-vazio{color:var(--ink3);font-size:13px;padding:6px 0}
.msg-com{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;align-items:start}
.msg-av{width:32px;height:32px;border-radius:50%;background:var(--accent-soft);color:var(--ink);display:grid;place-items:center;font-size:13px;font-weight:600;overflow:hidden;flex:0 0 auto}
.msg-av img{width:100%;height:100%;object-fit:cover}
.msg-com-cab{display:flex;align-items:baseline;gap:8px}
.msg-com-cab b{font-size:13px}
.msg-com-cab small{color:var(--ink3);font-size:12px}
.msg-com p{font-size:13.5px;line-height:1.4;margin-top:1px;overflow-wrap:anywhere}
.msg-apagar{margin-left:auto;align-self:center;opacity:.5;display:grid;place-items:center;width:24px;height:24px;border-radius:6px;color:var(--ink2)}
.msg-apagar:hover,.msg-apagar:focus-visible{opacity:1;background:var(--bg)}
.msg-apagar .ic{width:15px;height:15px}
.msg-form{display:flex;gap:8px}
.msg-form input{flex:1;min-width:0;height:42px;border:1px solid var(--line);border-radius:var(--r3);padding:0 13px;background:var(--card);color:var(--ink)}
.msg-form input:focus{outline:2px solid var(--ag,var(--ink));outline-offset:-1px;border-color:transparent}
.msg-form .btn{min-height:42px;flex:0 0 auto}
.msg-rodape{display:flex;justify-content:center}
.msg-volta{justify-content:flex-start}
.msg-ant{border-top:1px solid var(--line2);padding:14px 0;display:grid;gap:6px}
.msg-ant > small{color:var(--ink3);font-size:12px}
.msg-ant > p{font-size:15px;font-weight:600;line-height:1.35}
.msg-ant-r{font-size:12.5px;color:var(--ink2)}
.msg-ant .msg-lista{max-height:none;margin-top:4px}
.fr-topo{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.fr-topo small{display:block;color:var(--ink3);font-size:12.5px;margin-top:2px}
.fr-btns{display:flex;gap:8px;flex-wrap:wrap}
.fr-linha{cursor:pointer}
.fr-linha .tx{min-width:0}
.fr-linha .tx p{font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.fr-off .tx p{color:var(--ink3)}
.fr-linha .tx small{display:block;color:var(--ink3);font-size:12px;margin-top:2px}

/* 076: as boas-vindas do primeiro acesso */
@media (min-width:861px){dialog:has(.bv-dlg){width:min(440px,94vw)}}
.dlg.bv-dlg{max-width:none}
.bv{display:grid;gap:0;justify-items:center;text-align:center;padding:28px 26px 24px}
.bv-logo{display:grid;place-items:center;margin-bottom:14px}
.bv-logo .logo-ag,.bv-logo-img{max-height:44px;max-width:180px;width:auto;object-fit:contain}
.bv h3{font-size:22px;letter-spacing:-.02em;line-height:1.25;text-align:center;justify-self:stretch;text-wrap:balance;margin:0 0 6px}
.bv-sub{color:var(--ink2);font-size:14px;margin:0 0 20px}
.bv-campos{display:grid;gap:18px;width:100%;text-align:left}
.bv-campos .campo{display:grid;gap:6px}
.bv-campos label{font-size:13px;font-weight:600}
.bv-campos input[type=text],.bv-campos input[type=date]{height:44px;border:1px solid var(--line);border-radius:var(--r3);padding:0 13px;background:var(--card);color:var(--ink);width:100%}
.bv-campos input:focus{outline:2px solid var(--ag,var(--ink));outline-offset:-1px;border-color:transparent}
.bv-campos .ajuda{color:var(--ink3);font-size:12px}
.bv-foto{display:flex;align-items:center;gap:12px}
.bv-av{width:52px;height:52px;border-radius:50%;background:var(--accent-soft);color:var(--ink);display:grid;place-items:center;font-size:20px;font-weight:600;overflow:hidden;flex:0 0 auto}
.bv-av img{width:100%;height:100%;object-fit:cover}
.bv #bvMsg{width:100%;text-align:left}
.bv #bvMsg:empty{display:none}
.bv #bvMsg:not(:empty){margin-top:14px}
.bv-bt{display:grid;gap:6px;width:100%;margin-top:24px;justify-items:stretch}
.bv-bt .btn.sec.ghost{background:none;border:0;box-shadow:none;color:var(--ink2);font-weight:500;min-height:40px;width:100%;justify-content:center}
.bv-bt .btn.sec.ghost:hover{color:var(--ink);background:var(--hover,transparent)}
.bv-bt .btn{width:100%;min-height:46px;justify-content:center}

/* 077: o ponto com foto — a câmera ao vivo, o aviso de ciência, as miniaturas ao lado dos horários e o destaque do "sem foto" */
.pt-celula{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
.pt-par{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}
.pt-par i{font-style:normal;color:var(--ink3)}
.pt-mini{width:26px;height:26px;border-radius:50%;overflow:hidden;border:1px solid var(--line);padding:0;background:var(--accent-soft);flex:0 0 auto;cursor:zoom-in}
.pt-mini img{width:100%;height:100%;object-fit:cover;display:block}
.pt-mini:hover{border-color:var(--ink3)}
.pt-mini:focus-visible{outline:2px solid var(--ag,var(--ink));outline-offset:2px}
.pt-semfoto,.pt-semfoto-l{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;color:var(--warn);background:var(--warn-soft);border-radius:999px;padding:1px 8px 1px 6px;white-space:nowrap}
.pt-semfoto .ic,.pt-semfoto-l .ic{width:13px;height:13px}
.pt-semfoto-l{display:flex;width:fit-content;margin-top:4px;white-space:normal;border-radius:var(--r3);padding:4px 10px 4px 8px}
.pt-foto-g{display:grid;place-items:center;margin:2px 0 8px}
.pt-foto-g img{width:100%;max-width:440px;border-radius:var(--r2);display:block}
.dlg.pt-cam .dlg-bd{display:grid;gap:12px;padding-top:6px}
.pt-cam-video{position:relative;border-radius:var(--r2);overflow:hidden;background:#15151a;aspect-ratio:4/3;display:grid;place-items:center}
.pt-cam-video video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1);display:block}
.pt-cam-estado{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:20px;color:#d8d8dc;font-size:13.5px;line-height:1.45;background:rgba(21,21,26,.78)}
.pt-cam-estado[hidden]{display:none}
.pt-cam-estado.erro{color:#ffd9d9}
.pt-cam-ok{width:100%;min-height:50px;justify-content:center;font-size:15px}
.pt-cam-ok[disabled]{opacity:.45;cursor:default}
.pt-cam-sem{justify-self:center;font-size:13px;color:var(--ink2);text-decoration:underline;text-underline-offset:3px;padding:4px 6px}
.pt-cam-sem:hover{color:var(--ink)}
.pt-cam-sem.destaque{color:var(--warn);font-weight:600}
.pt-cam-nota{display:block;color:var(--ink3);font-size:12px;text-align:center;line-height:1.45}
#camVista{display:grid;gap:12px}
#camMotivo{display:grid;gap:10px}
#camMotivo textarea{width:100%;border:1px solid var(--line);border-radius:var(--r3);padding:10px 12px;background:var(--card);color:var(--ink);resize:vertical}
.pt-cam-bts{display:grid;gap:8px;justify-items:center}
.pt-cam-bts .btn{width:100%;min-height:46px;justify-content:center}
.dlg.pt-ciencia .dlg-bd{display:grid;gap:12px}
.dlg.pt-ciencia p{font-size:14px;line-height:1.5}
.pt-ciencia-lista{margin:0;padding-left:20px;display:grid;gap:6px;font-size:14px;line-height:1.45}
.dlg.pt-ciencia .ver-acoes .btn{width:100%;justify-content:center;min-height:46px}

/* 078: os pedidos (solicitar exclusão e senha) — o item do menu com a conta, os cartões de quem aprova */
.nav a .nav-badge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#f97316;color:#fff;font-size:11.5px;font-weight:600;display:grid;place-items:center;font-variant-numeric:tabular-nums}
.nav a .nav-badge[hidden]{display:none}
.pd-lista{display:grid;gap:12px;margin-top:6px}
.pd-cartao{border:1px solid var(--line);border-radius:var(--r2);padding:14px 16px;display:grid;gap:8px;background:var(--card)}
.pd-cab{display:flex;align-items:center;gap:10px}
.pd-av{width:32px;height:32px;border-radius:50%;background:var(--accent-soft);display:grid;place-items:center;font-weight:600;font-size:13px;flex:0 0 auto}
.pd-quem small{display:block;color:var(--ink3);font-size:12px}
.pd-item{font-size:15px;font-weight:600;overflow-wrap:anywhere}
.pd-motivo{font-size:13.5px;line-height:1.45;color:var(--ink2);overflow-wrap:anywhere}
.pd-motivo small{display:block;color:var(--ink3);font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:1px}
.pd-bt{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}
.pd-bt .btn{min-height:40px}
.pd-linha .tx small{display:block;color:var(--ink3);font-size:12.5px;line-height:1.4;margin-top:2px}

/* ver como usuário: a faixa do topo e o botão em Geral */
.faixa-vc{position:fixed;top:0;left:0;right:0;z-index:90;min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap;padding:7px 18px;background:#1b1b21;color:#f3f3f1;box-shadow:0 2px 10px rgba(0,0,0,.25);font-size:13.5px}
.faixa-vc[hidden]{display:none}
.vc-txt{display:flex;align-items:center;gap:9px;min-width:0}
.vc-txt .ic{width:18px;height:18px;opacity:.85}
.vc-txt b{font-weight:600}
.vc-bt{display:flex;gap:8px}
.vc-b{border:1px solid rgba(255,255,255,.32);color:#f3f3f1;border-radius:999px;padding:5px 14px;font-size:13px;font-weight:500;background:transparent}
.vc-b:hover{background:rgba(255,255,255,.1)}
.vc-b.pri{background:#f3f3f1;color:#17171b;border-color:#f3f3f1}
.vc-b.pri:hover{background:#fff}
body.ver-como .app{padding-top:42px}
body.ver-como .side{top:42px;height:calc(100dvh / var(--z,1) - 42px)}
@media (max-width:700px){ body.ver-como .app{padding-top:98px} body.ver-como .side{top:98px;height:calc(100dvh / var(--z,1) - 98px)} }
.vc-entrada{display:flex;justify-content:flex-end;margin:0 0 10px}
.vc-entrada .pill-f{display:inline-flex;align-items:center;gap:6px}
@media (min-width:861px){ body.ver-como .main:has(> .conteudo > .hc),body.ver-como .main:has(> .conteudo > .cfg2){height:calc(100dvh / var(--z,1) - 42px)} }

/* ---------- POP (Head, arquivo 079): o calendário do mês, o dia aberto, a frase, a tarefa avulsa e a trilha do dia ---------- */
.pp-ferr{margin-bottom:14px}
.pp-pessoas .hm-f{gap:7px}
.pp-bola{width:9px;height:9px;border-radius:50%;flex:none;background:var(--ink3)}
.pp{border:1px solid var(--line);border-radius:var(--r2);overflow:hidden;background:var(--card)}
.pp-cab,.pp-grade{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.pp-cab{border-bottom:1px solid var(--line)}
.pp-cab span{padding:9px 10px;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink3)}
.pp-dia{min-height:112px;padding:7px 7px 9px;border-right:1px solid var(--line2);border-bottom:1px solid var(--line2);display:flex;flex-direction:column;gap:4px;min-width:0;cursor:pointer}
.pp-dia:nth-child(7n){border-right:0}
.pp-dia:hover,.pp-dia:focus-visible{background:var(--hover);outline:0}
.pp-dia.fds{background:color-mix(in srgb,var(--bg) 55%,var(--card))}
.pp-dia.fds:hover{background:var(--hover)}
.pp-dia.fora{opacity:.45}
.pp-dia.hoje{box-shadow:inset 0 0 0 2px var(--ink)}
.pp-num{display:flex;align-items:center;gap:6px;min-height:22px}
.pp-num b{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}
.pp-num small{font-size:10.5px;color:var(--warn);background:var(--warn-soft);padding:0 6px;border-radius:999px;line-height:17px}
.pp-ok{margin-left:auto;display:grid;place-items:center;color:var(--good)}
.pp-ok .ic{width:15px;height:15px}
.pp-chips{display:flex;flex-direction:column;gap:3px;min-width:0}
.pp-chip{display:flex;align-items:center;gap:4px;min-width:0;font-size:12px;line-height:1.3;padding:3px 6px;border-radius:6px;border-left:3px solid var(--pc);background:color-mix(in srgb,var(--pc) 16%,var(--card));color:var(--ink)}
.pp-chip > span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pp-chip .ic{width:12px;height:12px;flex:none;color:var(--good)}
.pp-chip.feita{opacity:.62}
.pp-chip.feita > span{text-decoration:line-through}
.pp-chip.atrasada{background:var(--crit-soft);color:var(--crit)}
.pp-chip.horario{background:var(--warn-soft);color:var(--warn)}
.pp-chip.prevista{background:transparent;border:1px dashed color-mix(in srgb,var(--pc) 70%,transparent);border-left:3px solid var(--pc);color:var(--ink2)}
.pp-mais{font-size:11.5px;color:var(--ink3);padding-left:4px}
.pp-pontos{display:none;flex-wrap:wrap;gap:3px}
.pp-ponto{width:8px;height:8px;border-radius:50%;background:var(--pc);display:block}
.pp-ponto.feita{opacity:.45}
.pp-ponto.atrasada{background:var(--crit-bar)}
.pp-ponto.prevista{background:transparent;border:1.5px solid var(--pc)}
.pp-legenda{margin:12px 2px 0}
@media (max-width:700px){
  .pp-cab span{padding:7px 2px;text-align:center;font-size:10.5px;letter-spacing:0}
  .pp-dia{min-height:62px;padding:5px 3px 6px;align-items:center;gap:5px}
  .pp-chips,.pp-num small{display:none}
  .pp-pontos{display:flex;justify-content:center}
  .pp-ok{margin-left:4px}
}
/* o dia aberto */
.dd-resumo{font-size:14px;font-weight:500;color:var(--ink3);white-space:nowrap}
.dd-lista{display:flex;flex-direction:column;margin-top:4px}
.dd-linha{display:flex;align-items:center;gap:12px;padding:12px 4px;border-top:1px solid var(--line2);border-radius:8px}
.dd-linha[data-dd-t]{cursor:pointer}
.dd-linha[data-dd-t]:hover{background:var(--hover)}
.dd-linha .tx{flex:1;min-width:0}
.dd-linha .tx b{display:block;font-size:14.5px;font-weight:500;overflow-wrap:anywhere}
.dd-linha .tx small{display:block;font-size:12.5px;color:var(--ink3)}
.dd-linha.feita .tx b{color:var(--ink3);text-decoration:line-through;font-weight:400}
.dd-linha .dd-st{margin-top:1px}
.dd-linha.atrasada .dd-st{color:var(--crit)}
.dd-linha.horario .dd-st{color:var(--warn)}
.dd-linha.feita .dd-st{color:var(--good)}
.dd-ic{width:26px;height:26px;border-radius:50%;flex:none;display:grid;place-items:center;border:2px solid var(--pc);color:var(--pc)}
.dd-ic .ic{width:14px;height:14px}
.dd-ic.feita{background:var(--good-bar);border-color:var(--good-bar);color:#fff}
.dd-ic.atrasada{border-color:var(--crit-bar);color:var(--crit)}
.dd-ic.prevista{border-style:dashed}
.dd-cli .selo-marca{width:26px;height:26px}
.dd-rot{font-size:12.5px;font-weight:500;color:var(--ink2);padding:6px 11px;border-radius:999px;border:1px solid var(--line);white-space:nowrap;flex:none}
.dd-rot:hover{color:var(--ink);border-color:var(--ink3)}
.dd-nada{margin:14px 0 4px}
@media (max-width:700px){ .dd-linha{flex-wrap:wrap} .dd-rot{margin-left:38px} }
/* a frase e a tarefa avulsa */
.dlg.fz{max-width:620px}
.fz-frase{font-size:19px;line-height:2.5;margin:2px 0 12px;font-weight:400;color:var(--ink2)}
.fz-peca{display:inline-flex;align-items:center;gap:6px;font:inherit;font-weight:600;color:var(--ink);padding:1px 13px;border-radius:999px;background:var(--accent-soft);border:1px solid var(--line);vertical-align:baseline;line-height:1.7}
.fz-peca:hover{border-color:var(--ink3)}
.fz-peca.on{border-color:var(--ink);box-shadow:0 0 0 3px var(--line)}
.fz-peca .hd-av.mini{margin:0;vertical-align:middle}
.fz-peca .selo-marca{width:20px;height:20px}
.fz-txt{font:inherit;font-weight:600;color:var(--ink);border:0;border-bottom:2px dashed var(--ink3);border-radius:0;background:transparent;padding:0 4px;width:min(250px,100%);min-width:140px;line-height:1.7}
.fz-txt:focus{outline:0;border-bottom-style:solid;border-bottom-color:var(--ink)}
.fz-txt::placeholder{color:var(--ink3);font-weight:400}
.fz-painel{border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--bg);margin-bottom:12px}
.fz-painel .ed-nota{margin:10px 0 0}
.fz-extra{display:flex;align-items:center;gap:10px;margin:2px 0 10px;font-size:13.5px;color:var(--ink3)}
.fz-chips{display:flex;flex-wrap:wrap;gap:8px}
.fz-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink2);font-size:13.5px;line-height:1.3}
.fz-chip:hover{border-color:var(--ink3);color:var(--ink)}
.fz-chip.on{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}
.fz-chip .hd-av.mini{margin:0 -3px 0 -7px}
.fz-chip .selo-marca{width:20px;height:20px;margin-left:-7px}
.fz-chip .ic{width:15px;height:15px}
.fz-clientes{max-height:132px;overflow:auto}
.fz-grade-dias{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:10px}
.fz-dia{height:36px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--ink2);font-size:13.5px;font-variant-numeric:tabular-nums}
.fz-dia:hover{border-color:var(--ink3);color:var(--ink)}
.fz-dia.on{background:var(--ink);border-color:var(--ink);color:var(--on-ink);font-weight:600}
.fz-campo-i{display:inline-flex;align-items:center;gap:8px;padding:4px 6px 4px 14px;border-radius:999px;border:1px dashed var(--line);font-size:13.5px;color:var(--ink2)}
.fz-campo-i.on{border-style:solid;border-color:var(--ink);color:var(--ink)}
.fz-campo-i input{border:0;background:transparent;font:inherit;color:inherit;padding:3px 4px;min-width:0}
.fz-campo-b{display:block;font-size:13px;color:var(--ink3);margin:12px 0 4px}
.fz-campo-b textarea{display:block;width:100%;margin-top:4px}
.fz-grande{display:block;width:100%;font:inherit;font-size:19px;font-weight:500;color:var(--ink);border:0;border-bottom:2px solid var(--line);border-radius:0;background:transparent;padding:6px 2px 10px;margin:0 0 6px}
.fz-grande:focus{outline:0;border-bottom-color:var(--ink)}
.fz-grande::placeholder{color:var(--ink3);font-weight:400}
.fz-sec{margin-top:14px}
.fz-sec h4{margin:0 0 8px;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink3)}
.fz-previa{margin:10px 2px 0;font-size:14px;color:var(--ink2);line-height:1.5}
.fz-rep{margin-top:16px}
.fz-mais{margin-top:14px;border-top:1px solid var(--line2);padding-top:10px}
.fz-mais summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--ink2);list-style-position:inside;padding:4px 0}
.fz-mais .check{margin-top:12px}
.fz-erro{margin:12px 0 0;padding:9px 12px;border-radius:10px;background:var(--crit-soft);color:var(--crit);font-size:13.5px}
.fz-acoes{margin-top:18px}
@media (max-width:700px){ .fz-frase{font-size:17px;line-height:2.4} }
:root[data-master="1"] .fz-chip.on,:root[data-master="1"] .fz-dia.on{background:var(--ouro);border-color:var(--ouro);color:var(--ouro-txt)}
:root[data-master="1"] .pp-dia.hoje{box-shadow:inset 0 0 0 2px var(--ouro)}
/* a trilha do dia (Meu dia) */
.tr{margin-top:18px}
.tr-trilha{list-style:none;margin:0;padding:0}
.tr-p{position:relative;display:flex;align-items:flex-start;gap:14px;padding:0 0 20px;cursor:pointer;min-width:0}
.tr-p.fim{cursor:default;padding-bottom:0}
.tr-p::before{content:"";position:absolute;left:14.5px;top:36px;bottom:2px;width:3px;border-radius:2px;background:var(--line)}
.tr-p:last-child::before{display:none}
.tr-p.feita::before{background:var(--good-bar)}
.tr-no{position:relative;z-index:1;width:32px;height:32px;border-radius:50%;flex:none;display:grid;place-items:center;border:2px solid var(--chk);background:var(--card);color:var(--ink3);font-size:13px;font-weight:600;padding:0;font-variant-numeric:tabular-nums}
button.tr-no:hover{border-color:var(--good-bar);background:var(--good-soft);color:var(--good)}
.tr-no .ic{width:16px;height:16px}
.tr-p.feita .tr-no{background:var(--good-bar);border-color:var(--good-bar);color:#fff;box-shadow:0 0 0 4px var(--good-soft)}
.tr-p.atual .tr-no{width:38px;height:38px;margin:-3px;border-color:var(--ink);background:var(--ink);color:var(--on-ink);font-size:15px;animation:tr-pulsa 2.2s ease-out infinite}
.tr-p.atual.atrasada .tr-no{border-color:var(--crit-bar);background:var(--crit-bar);color:#fff}
.tr-p .tx{flex:1;min-width:0;padding-top:4px}
.tr-p .tx b{display:block;font-size:14.5px;font-weight:500;overflow-wrap:anywhere}
.tr-p .tx small{display:block;font-size:12.5px;color:var(--ink3)}
.tr-p.feita .tx b{color:var(--ink3);text-decoration:line-through;font-weight:400}
.tr-p.atrasada:not(.atual) .tx small{color:var(--crit)}
.tr-p > .td-tag,.tr-p > .ma-ancora{margin-top:5px}
.tr-p:not(.atual):not(.fim):hover .tx b{color:var(--ink)}
.tr-card{flex:1;min-width:0;border:1px solid var(--line);border-left:4px solid var(--ink);border-radius:14px;padding:13px 15px;display:flex;flex-direction:column;align-items:flex-start;gap:3px;background:var(--card);margin-top:-4px}
.tr-p.atual:hover .tr-card{background:var(--hover)}
.tr-p.limpeza .tr-card{border-left-color:var(--warn-bar)}
.tr-p.atrasada .tr-card{border-left-color:var(--crit-bar);background:var(--crit-soft)}
.tr-r{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink3)}
.tr-r .ic{width:14px;height:14px}
.tr-p.atrasada .tr-r{color:var(--crit)}
.tr-card > b{font-size:16.5px;font-weight:600;overflow-wrap:anywhere}
.tr-card .td-agora-bt{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.tr-card .td-agora-bt .btn{width:auto;display:inline-flex;align-items:center;gap:7px;padding:10px 15px}
@keyframes tr-pulsa{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--ink) 38%,transparent)}70%,100%{box-shadow:0 0 0 12px transparent}}
/* dia fechado: a trilha fica dourada */
.tr.fechada .tr-p.feita .tr-no{background:linear-gradient(135deg,var(--ouro-claro,#f1d27a),var(--ouro,#d4a537));border-color:var(--ouro,#d4a537);color:#2b2108;box-shadow:0 0 0 4px rgba(212,165,55,.22)}
.tr.fechada .tr-p.feita::before{background:linear-gradient(var(--ouro-claro,#f1d27a),var(--ouro,#d4a537))}
.tr.fechada .tr-p.fim .tx b{color:var(--ouro,#b8892a);text-decoration:none;font-weight:600}
.tr-festa{position:relative;overflow:hidden;display:flex;align-items:center;gap:13px;padding:13px 16px;margin-bottom:18px;border-radius:14px;border:1px solid rgba(212,165,55,.5);background:linear-gradient(135deg,rgba(212,165,55,.20),rgba(241,210,122,.08));animation:tr-entra .55s ease-out}
.tr-festa b{display:block;font-size:15px;font-weight:600}
.tr-festa small{display:block;font-size:12.5px;color:var(--ink2)}
.tr-estrela{width:36px;height:36px;border-radius:50%;flex:none;display:grid;place-items:center;background:linear-gradient(135deg,#f1d27a,#d4a537);box-shadow:0 0 0 5px rgba(212,165,55,.2)}
.tr-estrela .ic{width:20px;height:20px;color:#2b2108;fill:#2b2108;stroke-width:1.2;animation:tr-gira 1.2s ease-out 1}
.tr-brilho{position:absolute;width:7px;height:7px;border-radius:50%;background:#f1d27a;opacity:0;animation:tr-brilha 1.8s ease-out 1 forwards}
.tr-brilho.a{left:14%;top:70%;animation-delay:.1s}.tr-brilho.b{left:52%;top:20%;animation-delay:.35s}.tr-brilho.c{left:86%;top:62%;animation-delay:.6s}
@keyframes tr-entra{from{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}
@keyframes tr-gira{from{transform:rotate(-40deg) scale(.4)}to{transform:none}}
@keyframes tr-brilha{0%{opacity:0;transform:translateY(0) scale(.4)}30%{opacity:1}100%{opacity:0;transform:translateY(-26px) scale(1.4)}}
@media (prefers-reduced-motion:reduce){ .tr-p.atual .tr-no,.tr-festa,.tr-estrela .ic,.tr-brilho{animation:none} .tr-brilho{display:none} }
.dlg h3 .dd-resumo{display:inline}

/* ---------- PESQUISA: a caixa geral (lupa / ⌘K) e o campo "Pesquisar" no alto das listas ---------- */
.pq-fora{display:none!important}
.pq-barra{display:flex;align-items:center;gap:12px;margin:0 0 12px}
.pq-barra .md-buscar{flex:0 1 340px}
.pq-barra .md-busca{width:100%}
.pq-conta{font-size:12.5px;color:var(--ink3);white-space:nowrap;flex:0 0 auto}
.pq-conta:empty{display:none}   /* 17/10: sem contagem, o campo vai até a borda (no celular terminava 12 px antes dos cartões) */
.pq-nada{margin:0 0 12px}
dialog.pq-dlg{width:min(640px,94vw);max-height:min(620px,78dvh);margin:11vh auto auto;display:flex;flex-direction:column}
dialog.pq-dlg:not([open]){display:none}
.pq-topo{display:flex;align-items:center;gap:10px;padding:0 14px 0 16px;height:56px;border-bottom:1px solid var(--line);flex:0 0 auto}
.pq-topo .ic{width:18px;height:18px;color:var(--ink3);flex:0 0 auto}
.pq-topo input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:16px;height:100%}
.pq-topo input::placeholder{color:var(--ink3)}
.pq-fechar{border:1px solid var(--line);background:var(--card);color:var(--ink3);border-radius:7px;font:inherit;font-size:11.5px;padding:3px 7px;cursor:pointer}
.pq-fechar:hover{color:var(--ink);border-color:var(--ink3)}
.pq-lista{overflow-y:auto;overscroll-behavior:contain;padding:6px 8px 8px;flex:1 1 auto;min-height:0}
.pq-g{display:flex;align-items:center;gap:8px;padding:12px 10px 5px;font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink3);font-weight:600}
.pq-g small{font-weight:500;letter-spacing:0;text-transform:none;color:var(--ink3)}
.pq-it{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:12px;cursor:pointer;min-width:0}
.pq-it[aria-selected="true"]{background:var(--accent-soft)}
.pq-ic{width:32px;height:32px;border-radius:10px;border:1px solid var(--line);display:grid;place-items:center;color:var(--ink2);flex:0 0 auto;background:var(--card)}
.pq-ic .ic{width:16px;height:16px}
.pq-tx{flex:1;min-width:0}
.pq-tx b{display:block;font-weight:500;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pq-tx small{display:block;font-size:12px;color:var(--ink3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pq-val{font-weight:600;font-size:13.5px;white-space:nowrap;flex:0 0 auto}
.pq-mais{padding:4px 10px 6px 54px;font-size:12px;color:var(--ink3)}
.pq-vazio{text-align:center;padding:34px 22px;color:var(--ink3)}
.pq-vazio .ic{width:26px;height:26px;margin-bottom:8px}
.pq-vazio b{display:block;color:var(--ink);font-weight:600;margin-bottom:4px}
.pq-vazio p{margin:0 auto;max-width:420px;font-size:13px;line-height:1.5}
.pq-rodape{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 16px;border-top:1px solid var(--line);font-size:12px;color:var(--ink3);flex:0 0 auto}
.pq-rodape kbd{font:inherit;font-size:11px;border:1px solid var(--line);border-radius:5px;padding:1px 5px;margin:0 2px;background:var(--card);color:var(--ink2)}
.pq-oculto{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.pq-oculto .ic{width:14px;height:14px}
.pq-dlg::backdrop{background:rgba(17,17,17,.45)}
@media (hover:none),(max-width:860px){
  dialog.pq-dlg{width:100vw;max-width:none;margin:0 auto auto;max-height:86dvh;border-radius:0 0 22px 22px}
  .pq-teclas{display:none}
  .pq-rodape{justify-content:flex-end}
  .pq-barra .md-buscar{flex:1 1 auto}
}

/* ---------- "A reserva aconteceu?" (coworking, 080): três botões, o "Depois" embaixo ---------- */
.dlg.aconteceu .ac-cont{display:inline-block;margin-bottom:6px;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--ink3);font-variant-numeric:tabular-nums}
.dlg.aconteceu .conf-acoes.aco-tres{flex-wrap:wrap}
.dlg.aconteceu .conf-acoes.aco-tres .btn{flex:1 1 calc(50% - 4px)}
.dlg.aconteceu .conf-acoes.aco-tres .ac-depois{flex:1 1 100%;background:transparent;border-color:transparent;color:var(--ink2)}
.dlg.aconteceu .conf-acoes.aco-tres .ac-depois:hover{color:var(--ink);border-color:var(--line)}
@media (max-width:420px){ .dlg.aconteceu .conf-acoes.aco-tres{flex-direction:row} .dlg.aconteceu .conf-acoes.aco-tres .btn{flex:1 1 100%} }
@keyframes pq-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
dialog.pq-dlg[open]{animation:pq-in .16s ease-out}
@media (prefers-reduced-motion:reduce){dialog.pq-dlg[open]{animation:none}}

/* Início › aviso de saldo negativo (16/10): um cartão por conta, linha do tempo e três números */
.neg-c{margin-top:14px;padding:16px 18px;cursor:pointer}
.neg-c:hover{border-color:var(--ink3)}
.neg-topo{display:flex;align-items:center;gap:12px}
.neg-ic{flex:none;width:36px;height:36px;border-radius:10px;background:var(--warn-soft);color:var(--warn);display:grid;place-items:center}
.neg-c.forte .neg-ic{background:var(--crit-soft);color:var(--crit)}
.neg-ic svg{width:19px;height:19px}
.neg-tt{flex:1;min-width:0}
.neg-tt b{display:block;font-size:15px;font-weight:600;line-height:1.3}
.neg-tt small{display:block;color:var(--ink3);font-size:12.5px;margin-top:1px}
.neg-prev{flex:none;font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap}
.neg-prev:hover{text-decoration:underline}
.nt{margin:16px 4px 0}
.nt-acima,.nt-abaixo{position:relative;height:24px}
.nt-barra{position:relative;height:6px;border-radius:99px;background:var(--track);overflow:hidden}
.nt-barra i{position:absolute;top:0;bottom:0}
.nt-barra i.ok{background:var(--good-bar)}
.nt-barra i.neg{background:var(--warn-bar)}
.nt-m{position:absolute;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:2px;white-space:nowrap;font-size:12px;color:var(--ink2)}
.nt-m b{font-weight:500}
.nt-m i{width:2px;height:6px;border-radius:2px;background:var(--ink3)}
.nt-m.cima{bottom:0;flex-direction:column-reverse}
.nt-m.baixo{top:0;flex-direction:column}
.nt-abaixo:empty{height:6px}
.nt-m.ini{transform:none;align-items:flex-start}.nt-m.fim{transform:translateX(-100%);align-items:flex-end}
.nt-m.ini i{margin-left:0}.nt-m.fim i{margin-right:0}
.nt-pontas{display:flex;justify-content:space-between;font-size:11.5px;color:var(--ink3);margin-top:4px}
.nt-nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:14px}
.nt-n{background:var(--bg);border-radius:var(--r3);padding:10px 12px;display:flex;flex-direction:column;gap:1px;min-width:0}
.nt-n small{font-size:12px;color:var(--ink3)}
.nt-n b{font-size:18px;font-weight:600}
.nt-n span{font-size:12px;color:var(--ink3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:640px){.neg-topo{flex-wrap:wrap}.neg-prev{margin-left:48px;flex:1 1 calc(100% - 48px);min-width:0;white-space:normal}.nt-nums{grid-template-columns:1fr}.nt-n{flex-direction:row;align-items:baseline;gap:8px;flex-wrap:wrap}.nt-n b{margin-left:auto}}

/* ====== O SININHO DE NOTIFICAÇÕES (082, 16/10): o sino no topo, o número laranja e o painel ====== */
.ibtn-sino{position:relative}
.sino-n{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#f97316;color:#fff;font-size:11px;font-weight:700;line-height:18px;font-style:normal;text-align:center;box-shadow:0 0 0 2px var(--card);font-variant-numeric:tabular-nums}
.painel-sino{position:fixed;z-index:46;width:392px;max-width:calc(100vw - 16px);max-height:min(580px,calc(100vh - 96px));display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--sombra-2);overflow:hidden}
.painel-sino[hidden]{display:none}
.sn-cab{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px 12px;border-bottom:1px solid var(--line2)}
.sn-cab h2{margin:0;font-size:16px;font-weight:600;letter-spacing:-.01em;display:flex;align-items:center;gap:8px}
.sn-qtd{font-size:11.5px;font-weight:700;background:#f97316;color:#fff;border-radius:999px;padding:1px 8px;line-height:18px}
.sn-todas{font:inherit;font-size:12.5px;font-weight:600;color:var(--ag,var(--ink));background:none;border:0;padding:6px 8px;margin:-6px -8px;border-radius:8px;cursor:pointer}
.sn-todas:hover{background:var(--accent-soft)}
.sn-todas:disabled{color:var(--ink3);cursor:default;background:none;opacity:.7}
.sn-lista{overflow-y:auto;overscroll-behavior:contain;padding:6px}
.sn-item{all:unset;box-sizing:border-box;display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:12px;align-items:start;width:100%;padding:11px 10px;border-radius:12px;cursor:pointer}
.sn-item:hover,.sn-item:focus-visible{background:var(--accent-soft)}
.sn-item:focus-visible{outline:2px solid var(--ag,var(--ink));outline-offset:-2px}
.sn-item.nova{background:color-mix(in srgb,#f97316 9%,var(--card))}
.sn-item.nova:hover{background:color-mix(in srgb,#f97316 15%,var(--card))}
.sn-ic{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 15%,var(--card));color:var(--c)}
.sn-ic .ic{width:18px;height:18px}
.sn-tx{display:flex;flex-direction:column;gap:2px;min-width:0}
.sn-tx b{font-size:13.5px;font-weight:500;color:var(--ink);line-height:1.3}
.sn-item.nova .sn-tx b{font-weight:700}
.sn-tx small{font-size:12.5px;color:var(--ink3);line-height:1.35;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sn-pend{align-self:flex-start;font-style:normal;font-size:11px;font-weight:600;color:var(--ink2);background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:1px 8px;margin-top:3px}
.sn-fim{display:flex;flex-direction:column;align-items:flex-end;gap:7px;padding-top:2px}
.sn-fim time{font-size:11.5px;color:var(--ink3);white-space:nowrap;font-variant-numeric:tabular-nums}
.sn-pt{width:9px;height:9px;border-radius:50%;background:#f97316}
.sn-vazio{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:38px 24px 40px;color:var(--ink3)}
.sn-vazio .ic{width:30px;height:30px;opacity:.55;margin-bottom:4px}
.sn-vazio b{font-size:14px;color:var(--ink2);font-weight:600}
.sn-vazio small{font-size:12.5px}
.sn-rodape{margin:0;padding:10px 16px 12px;border-top:1px solid var(--line2);font-size:11.5px;color:var(--ink3)}
@media (max-width:640px){.painel-sino{left:8px;right:8px!important;width:auto;max-width:none;max-height:calc(100vh - 110px)}}
:root[data-master="1"] .sn-todas{color:var(--ouro-claro)}
:root[data-master="1"] .sn-item:focus-visible{outline-color:var(--ouro)}

/* ====== A ABA CONFIGURAÇÕES (head_config.js, 16/10): as seções à esquerda e os cartões da seção à direita ====== */
.cf{display:grid;grid-template-columns:232px minmax(0,1fr);gap:22px;align-items:start}
.cf-menu{display:flex;flex-direction:column;gap:2px;background:var(--card);border:1px solid var(--line);border-radius:var(--r2);padding:8px;position:sticky;top:8px}
.cf-sec{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:12px;color:var(--ink2);font-size:14px;font-weight:500;text-decoration:none;transition:background-color .18s,color .18s}
.cf-sec .ic{width:18px;height:18px;flex:none;color:var(--ink3)}
.cf-sec:hover{background:var(--accent-soft);color:var(--ink)}
.cf-sec[aria-current="page"]{background:var(--sel);color:var(--ink);font-weight:600}
.cf-sec[aria-current="page"] .ic{color:var(--ink)}
html.com-ag .cf-sec[aria-current="page"]{background:var(--ag-suave);color:var(--ag-forte)}
html.com-ag .cf-sec[aria-current="page"] .ic{color:var(--ag-forte)}
:root[data-master="1"] .cf-sec[aria-current="page"]{background:var(--ouro-suave);color:var(--ouro-claro);box-shadow:inset 3px 0 0 var(--ouro)}
:root[data-master="1"] .cf-sec[aria-current="page"] .ic{color:var(--ouro-claro)}
.cf-corpo header{margin:2px 2px 16px}
.cf-corpo h2{margin:0 0 3px;font-size:20px;font-weight:600;letter-spacing:-.015em}
.cf-corpo header p{margin:0;font-size:13.5px;color:var(--ink3)}
.cf-cartoes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.cf-card{all:unset;box-sizing:border-box;display:grid;grid-template-columns:44px minmax(0,1fr) 18px;gap:14px;align-items:start;padding:18px;min-height:128px;background:var(--card);border:1px solid var(--line);border-radius:var(--r2);cursor:pointer;transition:border-color .18s,box-shadow .18s,transform .18s}
.cf-card:hover{border-color:var(--ink3);box-shadow:var(--sombra-2)}
.cf-card:active{transform:scale(.99)}
.cf-card:focus-visible{outline:2px solid var(--ag,var(--ink));outline-offset:2px}
.cf-ic{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--accent-soft);color:var(--ink2)}
.cf-ic .ic{width:21px;height:21px}
.cf-tx{display:flex;flex-direction:column;gap:4px;min-width:0}
.cf-tx b{font-size:15px;font-weight:600;color:var(--ink);letter-spacing:-.005em}
.cf-tx small{font-size:13px;line-height:1.45;color:var(--ink3)}
.cf-est{align-self:flex-start;margin-top:8px;font-style:normal;font-size:12px;font-weight:600;color:var(--ink2);background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:3px 11px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cf-est.ok{color:#1a7f52;background:color-mix(in srgb,#22a06b 14%,var(--card));border-color:color-mix(in srgb,#22a06b 35%,var(--line))}
:root[data-tema="escuro"] .cf-est.ok{color:#5fd0a0}
.cf-seta{color:var(--ink3);padding-top:3px;transition:transform .18s,color .18s}
.cf-seta .ic{width:17px;height:17px}
.cf-card:hover .cf-seta{transform:translateX(3px);color:var(--ink)}
.cf-card.breve{cursor:default;border-style:dashed;background:transparent;box-shadow:none}
.cf-card.breve:hover{border-color:var(--line);box-shadow:none}
.cf-card.breve .cf-ic{opacity:.7}
.cf-card.breve .cf-est{border-style:dashed;background:transparent;color:var(--ink3)}
.btn.suave{border-color:transparent;background:none;color:var(--ink3)}
.btn.suave:hover{color:var(--ink);border-color:var(--line)}
@media (max-width:860px){
  .cf{grid-template-columns:1fr;gap:14px}
  .cf-menu{flex-direction:row;overflow-x:auto;position:static;padding:6px;gap:4px;scrollbar-width:none}
  .cf-menu::-webkit-scrollbar{display:none}
  .cf-sec{white-space:nowrap;padding:9px 13px;flex:none}
  .cf-cartoes{grid-template-columns:1fr}
  .cf-card{min-height:0;padding:16px}
}

/* ====== A TELA DE ENTRADA DO SISTEMA DE AGÊNCIAS (login_app.js; pedido dele, 16/10) ======
   MASTER (o dono): tela cheia preta, conteúdo à esquerda, luz radial dourada no canto e grão. EQUIPE: tela cheia, formulário à esquerda e
   um painel arredondado à direita na cor da agência, com a luz radial na cor principal. As duas usam os mesmos campos do login de sempre. */
#login.lg{padding:0;display:block;overflow:auto;background:var(--bg)}
#login.lg .login-cartao{width:100%;min-height:calc(100dvh / var(--z,1));background:none;border:0;border-radius:0;box-shadow:none;padding:0;animation:none}
#login.lg .lg-form{width:100%;max-width:none;padding:0;text-align:left;align-self:stretch;justify-self:stretch;display:flex;flex-direction:column;justify-content:space-between;min-height:calc(100dvh / var(--z,1));font-family:"Atyp Equipe",var(--fonte)}
#login.lg .lg-form[hidden]{display:none}
.lg-ola{font-family:"Atyp Display","Atyp Equipe",var(--fonte);font-weight:300;font-size:clamp(46px,6.4vw,88px);line-height:.98;letter-spacing:-.02em}
.lg-ola b{font-weight:500}
.lg-data{color:var(--ink3);font-size:14px}
.lg-esq{display:inline-block;margin-top:16px;font-size:13px;color:var(--ink3);text-decoration:none;padding:4px 0}
.lg-esq:hover{color:var(--ink);text-decoration:underline}
.lg-pe{font-size:12px;color:var(--ink3);opacity:.85}
.lg-ir{flex:none;width:44px;height:44px;border-radius:50%;border:0;display:grid;place-items:center;font-size:0;cursor:pointer;transition:transform .15s,filter .15s}
.lg-ir::after{content:"→";font-size:18px;line-height:1}
.lg-ir[aria-busy="true"]::after{content:none}
.lg-ir .gira-mini{margin:0}
.lg-ir:hover{transform:translateX(2px)}
#login.lg #loginMsg{margin-top:14px;max-width:440px}
#login.lg #loginMsg .alerta{margin-top:0}
/* MASTER */
#login.lg-master{--bg:#08080a;--card:#141416;--line:#2a2723;--ink:#f3eee2;--ink2:#c7bfac;--ink3:#8a867c;--crit:#ff9b8a;--crit-soft:rgba(255,120,100,.12);--good:#9fd8b3;--good-soft:rgba(120,200,150,.12);--accent-soft:rgba(201,162,74,.14);color:var(--ink);color-scheme:dark;background:#08080a}
#login.lg-master .login-cartao{position:relative;z-index:2;display:block}
#login.lg-master .lg-form{padding:56px 8vw}
#login.lg-master .lg-meio{max-width:460px}
#login.lg-master .lg-luz{position:fixed;right:-18vw;bottom:-30vh;width:85vh;height:85vh;border-radius:50%;z-index:0;pointer-events:none;
  background:radial-gradient(circle at 45% 45%,rgba(241,212,143,.85) 0%,rgba(201,162,74,.55) 22%,rgba(107,82,33,.25) 45%,rgba(20,16,8,0) 68%);filter:blur(40px);opacity:.9}
#login.lg-master .lg-vela{position:fixed;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#08080a 0%,#08080a 38%,rgba(8,8,10,.6) 60%,rgba(8,8,10,0) 80%)}
#login.lg-master .lg-grao{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E")}
.lg-master .lg-topo{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.28em;color:#c9a24a}
.lg-jf{width:38px;height:38px;border-radius:11px;border:1px solid rgba(201,162,74,.6);display:grid;place-items:center;font-family:"Atyp Display",var(--fonte);font-weight:500;letter-spacing:0;color:#e3c57e;font-size:13px;flex:none}
.lg-jf.peq{width:26px;height:26px;border-radius:8px;font-size:10px}
.lg-master .lg-ola b{color:#e3c57e;display:block}
.lg-master .lg-ola span{display:block}
.lg-master .lg-data{margin-top:14px}
.lg-master .lg-passo{margin-top:46px}
.lg-master .lg-passo[hidden]{display:none}
.lg-pilula{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:999px;padding:7px 7px 7px 22px;backdrop-filter:blur(8px);transition:border-color .15s,box-shadow .15s}
.lg-pilula:focus-within{border-color:rgba(201,162,74,.7);box-shadow:0 0 0 4px rgba(201,162,74,.12)}
.lg-pilula input{flex:1;min-width:0;background:none!important;border:0!important;box-shadow:none!important;color:#f3eee2;font:16px "Atyp Equipe",var(--fonte);outline:none;height:44px;padding:0!important;border-radius:0!important}
.lg-pilula input::placeholder{color:#6f6b62}
.lg-pilula #verSenha{position:static;transform:none;width:34px;height:34px;display:grid;place-items:center;color:#8a867c;border-radius:50%;flex:none}
.lg-pilula #verSenha:hover{color:#f3eee2;background:rgba(255,255,255,.06)}
.lg-master .lg-ir{background:#c9a24a;color:#0b0b0d}
.lg-master .lg-ir:hover{filter:brightness(1.08)}
.lg-conta{display:flex;align-items:center;gap:10px;margin:0 0 14px 6px;font-size:14px;color:#c7bfac}
.lg-conta .login-link{color:#c9a24a;font-size:13px}
#login.lg-master .lg-esq{padding-left:22px;color:#8a867c}
#login.lg-master .lg-esq:hover{color:#e3c57e}
.lg-master .lg-pe{color:#5b584f}
/* 19/10: a tela do código do celular (e a de criar senha) usava width:min(400px,100%) COM padding 8vw: o padding comia a largura e, quanto maior a tela,
   mais estreita a coluna (1440px = 170px úteis; o título quebrava palavra por palavra e o código aparecia cortado). Agora o padding é uma variável e a
   largura máxima soma a coluna útil (460px, a mesma do .lg-meio do 1º passo) + o padding: alinha com o e-mail e a senha, sempre à esquerda. */
#login.lg-master .login-form:not(.lg-form){--lg-px:8vw;position:relative;justify-self:start;width:100%;max-width:calc(460px + 2 * var(--lg-px));margin:0;padding:56px var(--lg-px);text-align:left}
#login.lg-master .login-form:not(.lg-form) h1{font-family:"Atyp Display","Atyp Equipe",var(--fonte);font-weight:300;font-size:clamp(34px,4.6vw,56px);letter-spacing:-.02em;line-height:1.05}
#login.lg-master .login-form:not(.lg-form) .login-marca{display:none}
#login.lg-master .login-campo input{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.09);color:#f3eee2}
#login.lg-master .login-campo input:focus{border-color:rgba(201,162,74,.7);box-shadow:0 0 0 4px rgba(201,162,74,.12)}
#login.lg-master .btn.bloco{background:#c9a24a;border-color:#c9a24a;color:#17130a}
#login.lg-master .rodape{color:#8a867c;text-align:left}
/* EQUIPE */
#login.lg-equipe .login-cartao{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:0;align-items:stretch}
#login.lg-equipe .lg-form{grid-column:1;padding:52px 7vw}
#login.lg-equipe .login-form:not(.lg-form){--lg-px:7vw;grid-column:1;align-self:center;justify-self:start;text-align:left;padding:40px var(--lg-px);width:100%;max-width:calc(400px + 2 * var(--lg-px))}   /* mesma conta do master: padding fora da coluna útil (400px, a do .lg-meio) */
#login.lg-equipe .lg-arte{grid-column:2;grid-row:1/span 4;position:relative;overflow:hidden;margin:14px;border-radius:28px;display:flex;flex-direction:column;justify-content:flex-end;padding:44px;
  --lg-ag:var(--marca,var(--arte-brilho,#e9c46a));background:color-mix(in srgb,var(--lg-ag) 16%,#0b0b0d);min-height:0}
.arte-marca:not(.arte-clara) #login.lg-equipe .lg-arte{background:var(--arte-fundo)}
#login.lg-equipe .lg-arte .lg-luz{position:absolute;right:-20%;top:-25%;width:110%;height:110%;border-radius:50%;filter:blur(30px);
  background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--lg-ag) 70%,#fff) 0%,color-mix(in srgb,var(--lg-ag) 80%,transparent) 25%,color-mix(in srgb,var(--lg-ag) 16%,transparent) 52%,transparent 70%)}
#login.lg-equipe .lg-arte .lg-grao{position:absolute;inset:0;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E")}
#login.lg-equipe .lg-arte .login-arte-txt{position:relative;left:auto;bottom:auto;z-index:1;color:#fff;text-shadow:none}
#login.lg-equipe .lg-arte .login-arte-txt b{font-family:"Atyp Display","Atyp Equipe",var(--fonte);font-weight:500;font-size:26px}
#login.lg-equipe .lg-arte .login-arte-txt span{display:block;margin-top:6px;font-size:13px;opacity:.7;color:#fff}
.lg-equipe .lg-topo{display:flex;align-items:center;gap:10px;font-family:"Atyp Display","Atyp Equipe",var(--fonte);font-weight:500;font-size:18px}
.lg-equipe .lg-marca .logo{display:grid;place-items:center;font-weight:600;width:36px;height:36px;border-radius:10px;font-size:16px;background:var(--marca,var(--ink));color:var(--marca-txt,var(--on-ink))}
.lg-equipe .lg-marca img.logo-ag{max-height:40px;max-width:180px}
.lg-equipe .lg-topo.com-logo .lg-nome{display:none}
.lg-equipe .lg-meio{max-width:400px;width:100%}
.lg-equipe .lg-ola{margin-top:10px;font-size:clamp(40px,4.6vw,62px);line-height:1}
.lg-equipe .lg-ola b{color:var(--marca,var(--ink))}
.lg-campos{margin-top:38px;display:grid;gap:12px}
.lg-c{position:relative;display:grid;gap:2px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px 18px 11px;cursor:text;transition:border-color .15s,box-shadow .15s}
.lg-c small{font-size:11px;color:var(--ink3);letter-spacing:.06em}
.lg-c input{border:0!important;outline:0;background:none!important;box-shadow:none!important;font:16px "Atyp Equipe",var(--fonte);color:var(--ink);padding:0!important;height:24px!important;width:100%;border-radius:0!important}
.lg-c:focus-within{border-color:var(--marca,var(--ink));box-shadow:0 0 0 4px color-mix(in srgb,var(--marca,var(--ink)) 14%,transparent)}
.lg-c #verSenha{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:34px;height:34px;display:grid;place-items:center;color:var(--ink3);border-radius:50%}
.lg-c #verSenha:hover{background:var(--hover);color:var(--ink)}
.lg-ent{margin-top:6px;border:0;border-radius:16px;padding:16px 20px;background:var(--marca,var(--ink));color:var(--marca-txt,var(--on-ink));font:500 15px "Atyp Display","Atyp Equipe",var(--fonte);display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:filter .15s}
.lg-ent::after{content:"→";font-size:18px}
.lg-ent[aria-busy="true"]::after{content:none}
.lg-ent:hover{filter:brightness(1.07)}
.lg-ent:disabled{opacity:.8;cursor:default}
@media (max-width:800px){
  #login.lg-equipe .login-cartao{grid-template-columns:minmax(0,1fr)}
  #login.lg-equipe .lg-arte{grid-column:1;grid-row:1;order:-1;min-height:220px;margin:10px;border-radius:22px;padding:24px}
  #login.lg-equipe .lg-form{padding:28px 24px;gap:34px;min-height:0}
  #login.lg-equipe .login-form:not(.lg-form){--lg-px:24px;padding:28px 24px;width:100%}
  #login.lg-master .lg-form{padding:36px 24px}
  #login.lg-master .lg-luz{right:-40vw;bottom:-22vh;width:80vh;height:80vh}
  #login.lg-master .lg-vela{background:linear-gradient(180deg,#08080a 0%,rgba(8,8,10,.55) 60%,rgba(8,8,10,0) 100%)}
  #login.lg-master .login-form:not(.lg-form){--lg-px:24px;padding:36px 24px}
}

/* ====== A CENTRAL DO DONO (head_dev.js telaSetores; pedido dele, 16/10): o início do app, no tema master ====== */
.ct{max-width:1080px;margin:0 auto;padding:6px 0 40px;font-family:"Atyp Equipe",var(--fonte)}
.ct-topo{position:relative;isolation:isolate;padding:30px 4px 26px}
.ct-luz{position:absolute;z-index:-1;right:0;top:-30px;width:56%;height:340px;pointer-events:none;opacity:.55;
  background:radial-gradient(closest-side,rgba(241,212,143,.7) 0%,rgba(201,162,74,.34) 38%,rgba(20,16,8,0) 100%)}
.ct-master{display:block;font-size:12px;letter-spacing:.24em;color:var(--ouro,#c9a24a);text-transform:uppercase}
.ct-topo h2{font-family:"Atyp Display","Atyp Equipe",var(--fonte);font-weight:300;font-size:clamp(38px,5.2vw,62px);line-height:1;letter-spacing:-.02em;margin-top:14px}
.ct-topo h2 b{font-weight:500;color:var(--ouro-claro,#e3c57e)}
.ct-topo p{margin-top:12px;color:var(--ink3);font-size:15px}
.ct-cap{font-size:12px;letter-spacing:.22em;color:var(--ink3);margin:10px 4px 14px}
.ct-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.ct-card{display:flex;flex-direction:column;gap:14px;min-height:236px;padding:20px 22px;border-radius:24px;background:var(--card);border:1px solid var(--line);position:relative;overflow:hidden;color:var(--ink);text-decoration:none;transition:transform .15s,border-color .15s,box-shadow .15s}
.ct-card::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--ac,var(--ouro));opacity:.9}
.ct-card:hover{transform:translateY(-2px);border-color:var(--ouro-linha,var(--line));box-shadow:var(--sombra-2)}
.ct-card:focus-visible{outline:2px solid var(--ouro,#c9a24a);outline-offset:2px}
.ct-cab-card{display:flex;align-items:center;gap:13px}
.ct-selo,.ct-logo{flex:none;width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:var(--ac,var(--ouro));color:#fff;font:500 18px "Atyp Display","Atyp Equipe",var(--fonte);overflow:hidden}
.ct-logo{background:color-mix(in srgb,var(--ac) 22%,transparent);border:1px solid color-mix(in srgb,var(--ac) 45%,transparent)}
.ct-logo img{max-width:80%;max-height:70%;object-fit:contain;display:block}
.ct-card.dev .ct-selo{background:color-mix(in srgb,var(--ac) 24%,transparent);color:#b9aeff;border:1px solid color-mix(in srgb,var(--ac) 50%,transparent)}
.ct-selo .ic{width:21px;height:21px}
.ct-nome{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}
.ct-nome b{font-size:17px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ct-nome small{font-size:13px;color:var(--ink3)}
.ct-seta{flex:none;width:32px;height:32px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--ink2);transition:transform .15s,color .15s,border-color .15s}
.ct-seta .ic{width:15px;height:15px}
.ct-card:hover .ct-seta{transform:translateX(3px);color:var(--ouro-claro,#e3c57e);border-color:var(--ouro-linha,var(--line))}
.ct-linhas{display:grid;gap:2px;margin-top:4px}
.ct-l{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 0;border-top:1px solid var(--line2,var(--line));font-size:14px;color:var(--ink2)}
.ct-l:first-child{border-top:0}
.ct-l b{font-size:18px;font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums}
.ct-l b small{font-size:12px;color:var(--ink3);font-weight:400}
.ct-l b.txt{font-size:14px;color:var(--ink2)}
.ct-l.zero{color:var(--ink3)}
.ct-l.zero b{color:var(--ink3)}
.ct-l.quente b{color:var(--ouro-claro,#e3c57e)}
.ct-vazio{grid-column:1/-1;padding:28px;border:1px dashed var(--line);border-radius:22px;color:var(--ink3);text-align:center}
.ct-atalhos{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.ct-atalho{display:inline-flex;align-items:center;gap:9px;padding:12px 18px;border-radius:999px;background:transparent;border:1px solid var(--line);color:var(--ink2);font:500 14px "Atyp Equipe",var(--fonte);cursor:pointer;text-decoration:none;transition:border-color .15s,color .15s}
.ct-atalho:hover{border-color:var(--ouro,#c9a24a);color:var(--ouro-claro,#e3c57e)}
.ct-atalho .ic{width:17px;height:17px}
@media (max-width:640px){.ct-grade{grid-template-columns:1fr}.ct-card{min-height:0}.ct-topo{padding:18px 2px 20px}.ct-luz{width:100%}}

/* ====== MINHA CONTA (head_minha_conta.js; pedido dele, 16/10): capa com luz radial nas cores da agência, seções à esquerda no computador, abas no celular ====== */
.mc[data-mc-aba]{max-width:980px;margin:0 auto;display:grid;grid-template-columns:230px minmax(0,1fr);gap:22px 28px;align-items:start;font-family:"Atyp Equipe",var(--fonte)}
.mc-capa{grid-column:1/-1;position:relative;overflow:hidden;isolation:isolate;border-radius:26px;padding:30px;min-height:170px;display:flex;align-items:flex-end;gap:20px;color:#fff;
  --lg-ag:var(--marca,var(--arte-brilho,#e9c46a));background:color-mix(in srgb,var(--lg-ag) 16%,#0b0b0d)}
.arte-marca:not(.arte-clara) .mc-capa{background:var(--arte-fundo)}
.mc-luz{position:absolute;z-index:-1;right:-10%;top:-60%;width:70%;height:200%;border-radius:50%;filter:blur(30px);
  background:radial-gradient(circle,color-mix(in srgb,var(--lg-ag) 70%,#fff) 0%,color-mix(in srgb,var(--lg-ag) 80%,transparent) 30%,transparent 68%)}
.mc-grao{position:absolute;z-index:-1;inset:0;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E")}
.mc-foto{all:unset;box-sizing:border-box;position:relative;flex:none;width:92px;height:92px;border-radius:50%;background:color-mix(in srgb,var(--lg-ag) 24%,#f3ece4);border:4px solid #fff;display:grid;place-items:center;cursor:pointer;color:#1d1c1a}
.mc-foto img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.mc-foto b{font:500 32px "Atyp Display","Atyp Equipe",var(--fonte)}
.mc-lapis{position:absolute;right:-4px;bottom:-4px;width:30px;height:30px;border-radius:50%;background:#fff;color:#1d1c1a;display:grid;place-items:center;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.mc-lapis .ic{width:14px;height:14px}
.mc-foto:focus-visible{outline:3px solid #fff;outline-offset:3px}
.mc-quem h2{font:500 30px "Atyp Display","Atyp Equipe",var(--fonte);letter-spacing:-.01em}
.mc-quem p{opacity:.82;font-size:14px;margin-top:4px}
.mc-nav{display:grid;gap:4px;align-content:start;position:sticky;top:16px}
.mc-nav button{all:unset;box-sizing:border-box;padding:12px 14px;border-radius:14px;color:var(--ink3);font-size:14px;cursor:pointer}
.mc-nav button:hover{color:var(--ink)}
.mc-nav button.on{background:var(--card);color:var(--ink);box-shadow:0 1px 0 var(--line)}
.mc-nav button:focus-visible{outline:2px solid var(--marca,var(--ink));outline-offset:2px}
.mc-corpo{display:grid;gap:16px;min-width:0}
.mc-sec{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:22px 24px;scroll-margin-top:16px}
.mc-sec h3{font:500 17px "Atyp Display","Atyp Equipe",var(--fonte);margin-bottom:14px}
.mc-grade{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mc-c{border:1px solid var(--line);border-radius:14px;padding:11px 14px;display:grid;gap:3px;min-width:0}
.mc-c small{font-size:11px;color:var(--ink3);letter-spacing:.05em}
.mc-c span{font-size:15px;overflow:hidden;text-overflow:ellipsis}
.mc-c.so-leitura{background:var(--bg)}
.mc-c input{border:0!important;outline:0;background:none!important;box-shadow:none!important;padding:0!important;height:24px!important;width:100%;font:15px "Atyp Equipe",var(--fonte);color:var(--ink);border-radius:0!important}
.mc-c:focus-within{border-color:var(--marca,var(--ink));box-shadow:0 0 0 3px color-mix(in srgb,var(--marca,var(--ink)) 14%,transparent)}
.mc-nota{margin-top:12px;font-size:12.5px;color:var(--ink3);line-height:1.5}
.mc-bt{margin-top:14px;display:flex;justify-content:flex-end}
.mc-bt .btn:disabled{opacity:.45;cursor:default}
.mc-modos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.mc-modo{all:unset;box-sizing:border-box;border:1px solid var(--line);border-radius:16px;padding:10px;text-align:center;font-size:13px;cursor:pointer;display:grid;gap:8px;color:var(--ink2);transition:border-color .15s}
.mc-modo span{display:block;height:54px;border-radius:10px}
.mc-modo:hover{border-color:var(--ink3)}
.mc-modo[aria-pressed="true"]{border:2px solid var(--marca,var(--ink));padding:9px;color:var(--ink)}
.mc-modo:focus-visible{outline:2px solid var(--marca,var(--ink));outline-offset:2px}
.mc-lin{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-top:1px solid var(--line);font-size:14px}
.mc-sec h3 + .mc-lin{border-top:0;padding-top:0}
.mc-lin > span{min-width:0}
.mc-lin small{display:block;color:var(--ink3);font-size:12px;margin-top:2px}
.mc-lin b{font-weight:600}
.mc-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.mc-tag{font-size:12px;padding:5px 11px;border-radius:999px;background:var(--accent-soft);color:var(--ink2)}
@media (max-width:720px){
  .mc[data-mc-aba]{grid-template-columns:minmax(0,1fr);gap:14px}
  .mc-capa{padding:22px;min-height:140px;border-radius:22px}
  .mc-foto{width:76px;height:76px}.mc-quem h2{font-size:24px}
  .mc-nav{position:static;display:flex;overflow-x:auto;gap:4px;padding:4px;background:var(--card);border:1px solid var(--line);border-radius:16px;scrollbar-width:none}
  .mc-nav::-webkit-scrollbar{display:none}
  .mc-nav button{white-space:nowrap;flex:none;padding:9px 13px}
  .mc-sec{display:none;padding:18px}
  .mc-sec.on{display:block}
  .mc-grade{grid-template-columns:1fr}
}

/* 17/10 (B1): os pedidos respondidos quebram em até 3 linhas em vez de cortar a "Resposta:" com reticências */
.pd-linha .tx small{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3}

/* 17/10 (B4): Configurações › E-mails › Modelo dos e-mails — os três modelos e a prévia */
@media (min-width:861px){dialog:has(.em-mod){width:min(780px,94vw)}}
.em-ajuda{margin:0 0 14px;color:var(--ink2);font-size:14px;line-height:1.5}
.em-opcoes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.em-op{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:10px;text-align:left;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink);cursor:pointer}
.em-op:hover{border-color:var(--ink3)}
.em-op[aria-checked="true"]{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.em-op .em-tx{display:flex;flex-direction:column;gap:3px;min-width:0}
.em-op .em-tx b{font-size:14px;font-weight:600}
.em-op .em-tx small{font-size:12px;line-height:1.4;color:var(--ink3);white-space:normal}
.em-op .em-ok{position:absolute;top:10px;right:10px;width:20px;height:20px;border-radius:50%;background:var(--ink);color:var(--card);display:none;align-items:center;justify-content:center}
.em-op .em-ok svg{width:12px;height:12px}
.em-op[aria-checked="true"] .em-ok{display:flex}
/* o desenho miniatura de cada modelo (só formas, na cor da agência) */
.em-mini{position:relative;display:block;height:78px;border-radius:8px;overflow:hidden;border:1px solid var(--line);background:#f3f0e8}
.em-mini i,.em-mini b,.em-mini u{position:absolute;display:block}
.em-mini.classico i{left:0;right:0;top:0;height:26px;background:var(--em-cor,#ed7b2a)}
.em-mini.classico b{left:10px;top:7px;width:14px;height:14px;border-radius:4px;background:#fff}
.em-mini.classico u{left:10px;right:34px;top:40px;height:6px;border-radius:3px;background:#cfcabd;box-shadow:0 12px 0 #cfcabd,0 24px 0 -0px transparent}
.em-mini.minimalista{background:#fff}
.em-mini.minimalista i{left:0;right:0;top:0;height:4px;background:var(--em-cor,#ed7b2a)}
.em-mini.minimalista b{left:10px;top:14px;width:10px;height:10px;border-radius:3px;background:var(--em-cor,#ed7b2a)}
.em-mini.minimalista u{left:10px;right:44px;top:40px;height:6px;border-radius:3px;background:#dcdcd8;box-shadow:0 18px 0 -1px transparent;outline:0}
.em-mini.minimalista::after{content:"";position:absolute;left:10px;bottom:9px;width:44px;height:12px;border-radius:999px;border:1.5px solid var(--em-cor,#ed7b2a)}
.em-mini.elegante{background:#1e1f22}
.em-mini.elegante i{left:50%;top:9px;width:20px;height:20px;margin-left:-10px;border-radius:50%;border:1.5px solid var(--em-cor,#ed7b2a)}
.em-mini.elegante b{left:24%;right:24%;top:37px;height:4px;border-radius:2px;background:#cfccc5}
.em-mini.elegante u{left:50%;bottom:9px;width:44px;margin-left:-22px;height:12px;border-radius:5px;background:var(--em-cor,#ed7b2a)}
.em-tipos{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 10px}
.em-tipos .pill-f[aria-selected="true"]{background:var(--ink);color:var(--card);border-color:var(--ink)}
.em-quadro{position:relative;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.em-previa{display:block;width:100%;height:min(440px,40dvh);border:0;background:#fff}
.em-carga{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;color:var(--ink3);font-size:13px;background:#fff;text-align:center;padding:0 20px}
.em-carga[hidden]{display:none}
@media (max-width:640px){.em-opcoes{grid-template-columns:1fr}.em-op{flex-direction:row;align-items:center}.em-mini{flex:0 0 96px;height:64px}}

/* ====== 085 · DESENVOLVEDOR AMPLIADO (B3, 17/10): lista de agências com ordem arrastável e uso do plano, ficha de desenvolvedor,
   exclusão em duas etapas e a tela de acesso suspenso da equipe ====== */
:root[data-master="1"] .area-cor.dv{--area:var(--ouro)}
.md-tag.ruim{background:var(--crit-soft);color:var(--crit);border-color:transparent}
.dv-ags .hc-linha{grid-template-columns:minmax(0,1.5fr) 96px minmax(0,1fr) minmax(0,1fr) minmax(0,1.1fr) 36px}
.dv-ags .hc-linha.dv-linha-ag{cursor:pointer}
.dv-ags .dv-nome > span{gap:2px}
.dv-alca{display:inline-grid;place-items:center;width:26px;height:30px;margin:0 -4px 0 -6px;padding:0;border:0;background:none;color:var(--ink3);cursor:grab;touch-action:none;border-radius:8px;flex:none}
.dv-alca:hover,.dv-alca:focus-visible{background:var(--hover);color:var(--ink)}
.dv-alca .ic{width:16px;height:16px}
.dv-arrastando{opacity:.92;background:var(--sel);box-shadow:var(--sombra-2);position:relative;z-index:2;border-radius:12px}
.dv-arrastando .dv-alca{cursor:grabbing}
.dv-uso{display:flex;flex-direction:column;min-width:0;font-size:13px}
.dv-uso b{font-weight:500}
.dv-uso small{color:var(--ink3);font-size:12px}
.dv-uso .md-barra{margin-top:5px;max-width:140px}
.dv-uso.cheio b{color:var(--crit)}
.dv-uso.cheio .md-barra i{background:var(--crit)}
.dv-falta{margin-bottom:14px}
/* a ficha */
.dv-ficha{display:flex;flex-direction:column;gap:16px}
.dv-ficha-topo{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:18px 20px;border:1px solid var(--line);border-radius:var(--r2);background:var(--card)}
.dv-ficha-topo .dv-selo{width:46px;height:46px;border-radius:13px;font-size:19px}
.dv-ficha-id{flex:1;min-width:180px;display:flex;flex-direction:column;gap:6px}
.dv-ficha-id h2{margin:0;font-size:21px;font-weight:600;line-height:1.2}
.dv-ficha-id > div{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px}
.dv-ficha-bt{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dv-grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.dv-card{margin:0;padding:16px 18px;display:flex;flex-direction:column;gap:10px;min-width:0}
.dv-card > header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.dv-card > header h3{margin:0;font-size:15px;font-weight:600}
.dv-card-bt{display:flex;gap:6px;flex-wrap:wrap}
.dv-card .ed-nota{margin:2px 0 0}
.dv-l{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;align-items:baseline;padding:7px 0;border-top:1px solid var(--line2);font-size:13.5px}
.dv-l:first-of-type{border-top:0}
.dv-l > span:first-child{color:var(--ink3);font-size:12.5px}
.dv-l > span:last-child{min-width:0;overflow-wrap:anywhere}
.dv-lim{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.dv-lim > div{border:1px solid var(--line2);border-radius:var(--r3);padding:12px 14px;background:var(--bg);display:flex;flex-direction:column;gap:6px;min-width:0}
.dv-lim small{color:var(--ink3);font-size:12px}
.dv-lim .dv-uso b{font-size:17px;font-weight:600}
.dv-lim .dv-uso .md-barra{max-width:none}
.dv-ar-grupo{display:flex;flex-direction:column;gap:6px}
.dv-ar-grupo > small{font-size:10.5px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--ink3);margin-top:4px}
.dv-ar-lista{display:flex;flex-direction:column;border:1px solid var(--line2);border-radius:var(--r3);overflow:hidden}
.dv-ar{display:flex;align-items:center;gap:10px;padding:6px 12px 6px 10px;background:var(--card);border-top:1px solid var(--line2);min-height:44px}
.dv-ar:first-child{border-top:0}
.dv-ar > b{flex:1;min-width:0;font-weight:500;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dv-ar.off > b,.dv-ar.off .hd-area-ic{opacity:.45}
label.check.chave.dv-chave{width:auto;flex:none;gap:8px;font-size:12.5px;color:var(--ink3)}
label.check.chave.dv-chave span{flex:none;min-width:72px;text-align:right}
.dv-dns{display:grid;border:1px solid var(--line2);border-radius:var(--r3);overflow:hidden;font-size:12.5px;margin-top:4px}
.dv-dns > div{display:grid;grid-template-columns:70px minmax(0,1fr) minmax(0,1.2fr);gap:10px;padding:8px 12px;border-top:1px solid var(--line2)}
.dv-dns > div:first-child{border-top:0}
.dv-dns > div.cab{background:var(--bg);color:var(--ink3);font-size:11px;font-weight:500;letter-spacing:.05em;text-transform:uppercase}
.dv-dns span{min-width:0;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.dv-dns > div.cab span{font-family:inherit}
.dv-atalhos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.dv-atalho{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--line2);border-radius:var(--r3);background:var(--bg);color:var(--ink);text-decoration:none;min-width:0}
.dv-atalho:hover{border-color:var(--line);background:var(--hover)}
.dv-atalho > .ic{width:18px;height:18px;flex:none;color:var(--ink2)}
.dv-atalho > span{flex:1;min-width:0;display:flex;flex-direction:column}
.dv-atalho b{font-weight:500;font-size:13.5px}
.dv-atalho small{color:var(--ink3);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dv-atalho > .ic:last-child{width:14px;height:14px;color:var(--ink3)}
/* excluir: a 1ª etapa, com a alternativa de suspender */
.dv-excluir .conf-ico .ic{width:24px;height:24px}
.dv-excluir .dv-alt{display:flex;gap:10px;align-items:flex-start;text-align:left;background:var(--bg);border:1px solid var(--line2);border-radius:var(--r3);padding:10px 12px;font-size:13px;color:var(--ink2);margin:6px 0 2px}
.dv-excluir .dv-alt .ic{width:17px;height:17px;flex:none;margin-top:1px}
.dv-excluir .conf-acoes{flex-wrap:wrap}
dialog .btn.perigo:disabled{opacity:.4;cursor:not-allowed}
/* a equipe da agência suspensa */
.suspensa{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:24px 16px;background:var(--bg);color:var(--ink)}
.suspensa-caixa{max-width:380px;width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;padding:32px 24px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);box-shadow:var(--sombra)}
.suspensa-ic{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--crit-soft);color:var(--crit);margin-bottom:4px}
.suspensa-ic .ic{width:24px;height:24px}
.suspensa h1{margin:0;font-size:22px;font-weight:600}
.suspensa p{margin:0 0 10px;color:var(--ink2);font-size:14.5px}
.suspensa .btn{min-width:140px}
@media (max-width:980px){
  .dv-grade{grid-template-columns:1fr}
  .dv-ags .hc-linha{grid-template-columns:minmax(0,1fr) auto 36px}
  .dv-ags .hc-linha > span:nth-child(3),.dv-ags .hc-linha > span:nth-child(4),.dv-ags .hc-linha > span:nth-child(5){display:none}
  .dv-ags .hc-linha > span:nth-child(2){display:block}
}
@media (max-width:560px){
  .dv-ficha-topo{padding:14px 16px}
  .dv-ficha-bt{width:100%}
  .dv-ficha-bt > .btn{flex:1;justify-content:center}
  .dv-l{grid-template-columns:1fr;gap:2px}
  .dv-lim,.dv-atalhos{grid-template-columns:1fr}
  .dv-dns > div{grid-template-columns:56px minmax(0,1fr);}
  .dv-dns > div > span:nth-child(3){grid-column:2}
  .dv-ar{padding:6px 10px 6px 8px}
  label.check.chave.dv-chave span{min-width:0}
}

/* ---------- 088 · saída de pessoa: para onde vão as tarefas e as rotinas ---------- */
.ps-resumo{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--card2,transparent)}
.ps-resumo b{display:block;font-size:14px;margin-bottom:8px}
.ps-resumo ul{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-wrap:wrap;gap:6px 22px}
.ps-resumo li{font-size:13.5px;color:var(--ink2)}
.ps-resumo li span{display:inline-block;min-width:22px;font-weight:700;font-size:15px;color:var(--ink)}
.ps-resumo small{display:block;color:var(--ink3);line-height:1.45}

/* ===== B5 (17/10): cupons do coworking (cartões recortados) e o aviso de pedido novo ===== */
.cw-cupons{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}
.cw-cupom{position:relative;display:grid;grid-template-columns:124px 0 minmax(0,1fr);align-items:stretch;border:1px solid var(--line);border-radius:16px;background:var(--card);cursor:pointer;min-height:132px;transition:box-shadow .15s}
.cw-cupom:hover{box-shadow:0 4px 18px rgba(0,0,0,.07)}
.cw-cupom:focus-visible{outline:2px solid var(--accent,#ED7B2A);outline-offset:2px}
.cw-cupom-t{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:16px 14px;border-radius:15px 0 0 15px;background:var(--accent,#ED7B2A);color:#fff;min-width:0}
.cw-cupom-t b{font-size:15px;letter-spacing:.03em;overflow-wrap:anywhere;line-height:1.2}
.cw-cupom-t span{font-size:12px;opacity:.92;line-height:1.3}
.cw-cupom-corte{position:relative;border-left:2px dashed var(--line);margin:10px 0}
.cw-cupom-corte::before,.cw-cupom-corte::after{content:"";position:absolute;left:-11px;width:20px;height:20px;border-radius:50%;background:var(--bg);border:1px solid var(--line)}
.cw-cupom-corte::before{top:-20px;clip-path:inset(50% 0 0 0)}
.cw-cupom-corte::after{bottom:-20px;clip-path:inset(0 0 50% 0)}
.cw-cupom-i{display:flex;flex-direction:column;gap:3px;padding:14px 40px 14px 18px;min-width:0}
.cw-cupom-i small{font-size:12.5px;color:var(--ink2);overflow:hidden;text-overflow:ellipsis}
.cw-cupom-i strong{margin-top:auto;font-size:13px;font-weight:600}
.cw-cupom .hm-acoes{position:absolute;top:8px;right:8px}
.cw-cupom.desligado .cw-cupom-t,.cw-cupom.vencido .cw-cupom-t,.cw-cupom.esgotado .cw-cupom-t{background:#8c8f97}
@media (max-width:520px){.cw-cupons{grid-template-columns:1fr}}

/* ====== CONFIGURAÇÕES DE VERDADE (B2, 17/10; head_config.js): cartões com lista, chave e resumo dentro da própria seção ====== */
.cf-corpo{min-width:0}
.cf-cartoes{align-items:start}
.cf-bloco{background:var(--card);border:1px solid var(--line);border-radius:var(--r2);padding:18px;min-width:0;display:flex;flex-direction:column;gap:12px}
.cf-bloco.largo{grid-column:1/-1}
.cf-bloco.breve{border-style:dashed;background:transparent}
.cf-bloco.breve .cf-ic{opacity:.7}
.cf-bh{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:start}
.cf-bh .cf-ic{width:40px;height:40px;border-radius:12px}
.cf-bt h3{margin:0;font-size:15px;font-weight:600;letter-spacing:-.005em}
.cf-bt p{margin:3px 0 0;font-size:13px;line-height:1.45;color:var(--ink3)}
.cf-ba{display:flex;align-items:center;gap:8px;padding-top:2px}
.cf-ba .cf-est{margin-top:0}
.cf-est.atencao{color:var(--warn);background:var(--warn-soft);border-color:transparent}
label.check.chave.cf-chave{width:auto;gap:10px;font-size:13px;color:var(--ink2);flex-direction:row-reverse}
label.check.chave.cf-chave span{flex:none}
label.check.chave.cf-chave-l{width:auto;display:inline-flex}
label.check.chave.cf-chave-l span{display:none}
.cf-res{margin:0;display:grid;gap:0;border-top:1px solid var(--line2)}
.cf-res > div{display:grid;grid-template-columns:minmax(120px,38%) minmax(0,1fr);gap:12px;padding:8px 0;border-bottom:1px solid var(--line2);font-size:13.5px}
.cf-res dt{color:var(--ink3)}
.cf-res dd{margin:0;color:var(--ink);overflow-wrap:anywhere}
.cf-acoes{display:flex;flex-wrap:wrap;gap:8px}
.cf-barra{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;align-items:center;margin-bottom:8px}
.cf-barra .chip{margin-right:auto}
.cf-lista{min-width:0}
.cf-lista .hc-tabela{margin:0 -8px}
.cf-lista .md-vazio{padding:18px 8px}
.cf-destaque{margin:0;padding:9px 12px;border-radius:12px;background:var(--warn-soft);color:var(--warn);font-size:13px;font-weight:500}
.cf-url{margin:0;font:500 13px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink2);overflow-wrap:anywhere}
.cf-nota{grid-column:1/-1;margin:0}
.cf-tela{min-width:0}
.cf-tela > .cabec{margin-top:0}
.cf-cabec,.cf-tela .idn-cabec{justify-content:flex-end}
.cf-corpo.com-tela .cf-cartoes{margin-top:16px}
/* as tabelas dos cartões */
.cw-cfg-salas .hc-linha{grid-template-columns:minmax(0,1fr) 150px 120px 150px 36px}
.cw-cfg-salas.sem-valor .hc-linha{grid-template-columns:minmax(0,1fr) 150px 150px 36px}
.td-rot-f .hc-linha{grid-template-columns:minmax(0,1fr) 140px 96px 36px}
.td-rot-f .hc-linha > span:first-child b{white-space:normal;overflow-wrap:anywhere}
.wz-quem .hc-linha{grid-template-columns:minmax(0,1fr) 150px 100px 36px}
.cf-func .hc-linha{grid-template-columns:minmax(0,1fr) 130px 130px 36px}
.cf-func:not(.com-pag) .hc-linha:not(.hc-cabtab){grid-template-columns:minmax(0,1fr) 130px 130px 36px}
.cf-horas .hc-linha{grid-template-columns:minmax(0,1fr) 140px 36px}
.cf-areas .hc-linha{grid-template-columns:minmax(0,1fr) 160px 36px}
.cf-areas .hm-nome,.cf-func .hm-nome{display:flex;align-items:center;gap:10px;min-width:0}
div.hc-linha[data-cf-area],div.hc-linha[data-cf-vm],div.hc-linha[data-cf-gt],div.hc-linha[data-cf-hc],div.hc-linha[data-wz-pessoa],div.hc-linha[data-cw-sala]{cursor:pointer}
div.hc-linha[data-cf-area]:hover,div.hc-linha[data-cf-vm]:hover,div.hc-linha[data-cf-gt]:hover,div.hc-linha[data-cf-hc]:hover,div.hc-linha[data-wz-pessoa]:hover,div.hc-linha[data-cw-sala]:hover{background:var(--hover)}
.wz-modelos .ver-l small.mut{display:block;font-size:11.5px}
/* o menu de seções no celular: faixa que desliza, com o fim esmaecido para mostrar que há mais */
@media (max-width:860px){
  .cf-menu{-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent);padding-right:28px}
  .cf-bloco{padding:16px}
  .cf-bh{grid-template-columns:40px minmax(0,1fr)}
  .cf-ba{grid-column:2;padding-top:0}
  .cf-res > div{grid-template-columns:1fr;gap:2px}
  .cw-cfg-salas .hc-linha,.cw-cfg-salas.sem-valor .hc-linha,.wz-quem .hc-linha,.cf-func .hc-linha,.cf-func:not(.com-pag) .hc-linha:not(.hc-cabtab){grid-template-columns:minmax(0,1fr) auto 36px}
  .cw-cfg-salas .hc-linha > span:nth-child(2),.cw-cfg-salas .hc-linha > span:nth-child(3):not(:nth-last-child(2)),.wz-quem .hc-linha > span:nth-child(3),.cf-func .hc-linha > span:nth-child(3):not(:last-child){display:none}
  .td-rot-f .hc-linha{grid-template-columns:minmax(0,1fr) 90px 36px}
  .td-rot-f .hc-linha > span:nth-child(2){display:none}
  .cf-areas .hc-linha{grid-template-columns:minmax(0,1fr) auto 36px}
}
/* Identidade da agência (antes .mc, que a Minha conta também usa): formulário largo, prévia de ~380 px, uma coluna abaixo de 1200 px */
.cf-tela{container-type:inline-size}
.idn{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:20px;align-items:start}
.idn-lado{position:sticky;top:12px;order:2;min-width:0}
.idn-campos{display:grid;gap:14px;min-width:0}
.idn-campos .card{margin:0}
.idn-prev-card{margin:0}
.idn-prev-card h2{margin-bottom:10px}
.idn-prev{width:100%;max-width:380px;height:calc(640px * var(--k,.38));overflow:hidden;border-radius:14px;border:1px solid var(--line);background:var(--bg);position:relative}
.idn-escala{width:1000px;height:640px;transform:scale(var(--k,.38));transform-origin:0 0;pointer-events:none;user-select:none}
.idn-tela{width:1000px;height:640px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);background:var(--bg);color:var(--ink)}
.idn-tela .lg-form{display:flex;flex-direction:column;justify-content:space-between;padding:48px 60px;min-width:0;text-align:left}
.idn-tela .lg-ola{font-size:60px}
.idn-tela .lg-c button{display:none}
.idn-tela .lg-c input{pointer-events:none}
.idn-tela .lg-esq{display:inline-block}
.idn-arte{position:relative;overflow:hidden;margin:14px;border-radius:28px;display:flex;flex-direction:column;justify-content:flex-end;padding:44px;--lg-ag:var(--marca,var(--arte-brilho,#e9c46a));background:color-mix(in srgb,var(--lg-ag) 16%,#0b0b0d)}
.idn-tela.arte-marca:not(.arte-clara) .idn-arte{background:var(--arte-fundo)}
.idn-arte .lg-luz{position:absolute;right:-20%;top:-25%;width:110%;height:110%;border-radius:50%;filter:blur(30px);
  background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--lg-ag) 70%,#fff) 0%,color-mix(in srgb,var(--lg-ag) 80%,transparent) 25%,color-mix(in srgb,var(--lg-ag) 16%,transparent) 52%,transparent 70%)}
.idn-arte .lg-grao{position:absolute;inset:0;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E")}
.idn-arte .login-arte-txt{position:relative;z-index:1;color:#fff}
.idn-arte .login-arte-txt b{display:block;font-family:"Atyp Display","Atyp Equipe",var(--fonte);font-weight:500;font-size:26px}
.idn-arte .login-arte-txt span{display:block;margin-top:6px;font-size:13px;opacity:.7}
.idn-como{margin-top:6px;font-size:12.5px;color:var(--ink3)}
.idn-como summary{cursor:pointer;color:var(--ink2);font-weight:500;list-style:none;display:inline-flex;align-items:center;gap:6px}
.idn-como summary::before{content:"›";display:inline-block;transition:transform .15s}
.idn-como[open] summary::before{transform:rotate(90deg)}
.idn-como summary::-webkit-details-marker{display:none}
.idn-como > div{margin-top:6px;line-height:1.5}
.idn-como ol{margin:0;padding-left:18px}
.idn-perigo{margin-top:28px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-color:color-mix(in srgb,var(--crit) 30%,var(--line))}
.idn-perigo h2{margin:0 0 4px}
.idn-perigo p{margin:0}
.idn .mc-cor{display:grid;grid-template-columns:minmax(0,1fr) 96px auto;flex-wrap:nowrap}
.idn .mc-cor-l{min-width:0}
:root[data-master="1"] .mc-img-v.escura,:root[data-master="1"] .idn-prev{border-color:var(--ouro-linha)}
@media (max-width:1199px){ .idn{grid-template-columns:minmax(0,1fr)} .idn-lado{position:static;order:0} }
@container (max-width:900px){ .idn{grid-template-columns:minmax(0,1fr)} .idn-lado{position:static;order:0} .idn-campos{max-width:760px} }
@media (max-width:600px){
  .idn .mc-cor{grid-template-columns:52px 96px auto;row-gap:8px}
  .idn .mc-cor-l{grid-column:1/-1}
  .idn .mc-hex{grid-column:2}
  .idn-prev{max-width:none}
}

/* ---------- 17/10 (B1 parte 2A): celular ---------- */
@media (max-width:640px){
  /* listas: a linha de baixo quebra em duas em vez de cortar justo a data ("venceu em 10/10/20…") */
  .lista-t .lt .tx small{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .lt.cob .cob-btns{display:flex;flex-wrap:wrap;gap:6px}
}

/* ---------- 17/10 (B1 parte 2A): um desenho só para "Depois / Agora não / Abrir depois" nos pop-ups ---------- */
.btn.sec.ghost,:root[data-master="1"] .btn.sec.ghost{background:none;border-color:transparent;box-shadow:none;color:var(--ink2);font-weight:500;width:100%;justify-content:center}
.btn.sec.ghost:hover{color:var(--ink);background:var(--hover,transparent);border-color:transparent}
.conf-acoes.com-dispensar{flex-direction:column-reverse;align-items:stretch}
.conf-acoes.com-dispensar .btn{width:100%;justify-content:center}
.ver-acoes .btn.ghost{flex:1 1 100%;order:9}
.pt-bomdia-bt .btn.ghost{min-height:40px}
/* 17/10: uma chave só. A do portal de clientes (.chave) passa a ter o mesmo tamanho e desenho da chave dos formulários (40×23, bolinha de 17);
   o verde fica só nela, porque ali diz "portal no ar" sobre a capa colorida do cliente */
.chave{width:40px;height:23px}
.chave i{width:17px;height:17px}
.chave[aria-checked="true"] i{transform:translateX(17px)}
/* 17/10: o ícone dentro das pílulas ("+ Anotar tarefa", filtros) fica no centro da altura, não na linha de base */
.pill-f:has(> .ic),.pill-f:has(> svg){display:inline-flex;align-items:center;gap:6px}
.pill-f:has(> .ic) > .ic{flex:none;margin-right:0;vertical-align:0}
/* 17/10: Início do dono: os cartões ocupam a largura toda do bloco (antes ficavam encostados à esquerda) e o subtítulo fica numa linha */
.ct-grade{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.ct-nome{min-width:0}
.ct-nome small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* 17/10: modo dono (master) — o olho ligado no dourado suave dos itens ativos (era o único ícone branco cheio) e a reserva
   confirmada no dourado em vez do azul, que ficava fora da paleta preta e dourada */
:root[data-master="1"] .ibtn#btnOlho[aria-pressed="true"]{background:var(--ouro-suave);color:var(--ouro-claro);border-color:var(--ouro-linha)}
:root[data-master="1"] .cw-bl[style*="--c:#1d7afc"],:root[data-master="1"] .cp-leg i[style*="--c:#1d7afc"]{--c:var(--ouro)!important}
/* 17/10: Minha conta sem títulos repetidos. Computador: todas as seções abertas com o título de cada uma, sem a coluna de abas.
   Celular: as abas trocam a seção, sem repetir o título dentro dela. */
@media (min-width:721px){ .mc[data-mc-aba]{grid-template-columns:minmax(0,1fr);max-width:760px} .mc[data-mc-aba] .mc-nav{display:none} }
@media (max-width:720px){ .mc[data-mc-aba] .mc-sec h3{display:none} }
.dv-como{margin-top:8px;font-size:12.5px}.dv-como summary{cursor:pointer;color:var(--ink2);font-weight:500}
/* 17/10 B1 parte 2B (decisões 33, 37, 53, 61): topo das áreas com 1 botão cheio + 1 de contorno + menu ⋯; indicadores que fecham a grade; Ponto sem coluna larga */
.md-acoes .md-mais{flex:0 0 auto;padding:10px 12px}
.md-acoes .md-mais .ic{width:18px;height:18px}
.md-mais-a{display:inline-flex}
.md-oculto{display:none!important}
.md-kpis.n3{grid-template-columns:repeat(3,minmax(0,1fr))}
.md-kpis.n2{grid-template-columns:repeat(2,minmax(0,1fr))}
.md-kpis.n1{grid-template-columns:minmax(0,1fr)}
@media (max-width:980px){ .md-kpis.n3,.md-kpis.n2{grid-template-columns:repeat(2,minmax(0,1fr))} .md-kpis.n3 .md-kpi:last-child{grid-column:1 / -1} }
/* Captação com previsões no mês: 5 indicadores (o das previsões só aparece quando há alguma) */
.md-kpis.n5{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:1100px){ .md-kpis.n5{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:980px){ .md-kpis.n5{grid-template-columns:repeat(2,minmax(0,1fr))} .md-kpis.n5 .md-kpi:last-child{grid-column:1 / -1} }
@media (max-width:700px){ .md-acoes .md-mais{flex:0 0 auto} }
@media (max-width:700px){ .md-acoes{gap:6px} .md-acoes .btn{padding:10px 11px;font-size:13px;gap:6px} .md-acoes .btn span{white-space:nowrap} .md-acoes .btn:not(.md-mais){flex:1 1 auto} }
@media (max-width:700px){ .md-acoes .btn:not(.md-mais) .ic{display:none} }

/* ====== BOLETINS (094, 17/10): quadro de pedidos, cartões, pedido aberto ====== */
.bol-quadro{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:start}
.bol-col{background:var(--bg);border:1px solid var(--line2);border-radius:16px;padding:10px;min-width:0;display:flex;flex-direction:column;gap:8px;min-height:140px;transition:border-color .15s,background .15s}
.bol-col.alvo{border-color:var(--ink);background:var(--accent-soft)}
.bol-col-cab{display:flex;align-items:center;justify-content:space-between;padding:2px 4px}
.bol-col-cab h3{margin:0;font-size:13px;font-weight:600;letter-spacing:.01em}
.bol-col-cab small{font-size:12px;color:var(--ink3);background:var(--card);border:1px solid var(--line2);border-radius:999px;min-width:22px;padding:1px 7px;text-align:center;font-variant-numeric:tabular-nums}
.bol-lista{display:flex;flex-direction:column;gap:8px}
.bol-vazio{margin:6px 4px;font-size:13px;color:var(--ink3);text-align:center;padding:14px 4px;border:1px dashed var(--line);border-radius:12px}
.bol-card{background:var(--card);border:1px solid var(--line2);border-radius:14px;padding:11px 12px;display:flex;flex-direction:column;gap:8px;cursor:pointer;position:relative;box-shadow:var(--sombra);min-width:0}
.bol-card:hover,.bol-card:focus-visible{border-color:var(--ink3);outline:none}
.bol-card.arrasta{opacity:.45}
.bol-card.atrasado{border-color:var(--crit-bar);box-shadow:inset 3px 0 0 var(--crit-bar)}
.bol-card.hoje{border-color:var(--warn-bar);box-shadow:inset 3px 0 0 var(--warn-bar)}
.bol-card.amanha{border-color:var(--warn-bar)}
.bol-card-topo{display:flex;align-items:center;gap:9px;min-width:0}
.bol-card-id{min-width:0;flex:1}
.bol-card-id b{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;font-size:14px;font-weight:600;line-height:1.25;overflow:hidden;overflow-wrap:anywhere}
.bol-card-id small{display:block;font-size:12px;color:var(--ink3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bol-card-assunto{margin:0;font-size:12.5px;color:var(--ink2);overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}
.bol-card .ma-ancora{margin-left:auto}
.bol-sels{display:flex;flex-wrap:wrap;gap:5px}
.bol-sel{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;line-height:1;padding:4px 8px;border-radius:999px;background:var(--accent-soft);color:var(--ink2);border:1px solid var(--line2)}
.bol-sel .ic{width:12px;height:12px}
.bol-sel.ok{background:var(--good-soft);color:var(--good);border-color:transparent}
.bol-sel.pend{background:var(--warn-soft);color:var(--warn);border-color:transparent}
.bol-card-pe{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12.5px}
.bol-resp{display:inline-flex;align-items:center;min-width:0;color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bol-resp .hd-av.mini{margin-right:6px}
.bol-prazo{display:inline-flex;align-items:center;gap:4px;color:var(--ink3);white-space:nowrap;font-variant-numeric:tabular-nums}
.bol-prazo .ic{width:13px;height:13px}
.bol-prazo.atrasado{color:var(--crit);font-weight:600}
.bol-prazo.hoje,.bol-prazo.amanha{color:var(--warn);font-weight:600}
.bol-rev .hc-linha{grid-template-columns:minmax(0,1.1fr) minmax(0,1.3fr) 130px minmax(0,1fr) auto}
.bol-conds .hc-linha{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) 130px 130px 36px}
.bol-rems .hc-linha{grid-template-columns:minmax(0,1.3fr) 190px minmax(0,1fr) 36px}
.bol-ver-logo{display:flex;justify-content:center;margin-bottom:6px}
.bol-passos{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;font-size:13.5px;color:var(--ink2);line-height:1.5}
.bol-passos b{color:var(--ink)}
.bol-passos code{font-size:12.5px;background:var(--accent-soft);padding:1px 5px;border-radius:6px}
/* o pedido aberto */
dialog:has(.bol-ped){width:min(1180px,96vw)}
.bol-ped{max-height:90dvh}
.bol-ped-corpo{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:18px;overflow:auto;align-items:start;padding-bottom:14px}
.bol-esq,.bol-dir{display:flex;flex-direction:column;gap:14px;min-width:0}
.bol-email{border:1px solid var(--line2);border-radius:14px;padding:14px 16px;background:var(--card);display:flex;flex-direction:column;gap:8px}
.bol-email header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.bol-email h4{margin:0;font-size:16px;font-weight:600;line-height:1.35;overflow-wrap:anywhere}
.bol-quem{display:flex;align-items:center;gap:10px;min-width:0}
.bol-quem b{display:block;font-size:14px;font-weight:600}
.bol-quem small{display:block;font-size:12px;color:var(--ink3);overflow-wrap:anywhere}
.bol-aviso{display:flex;gap:8px;align-items:flex-start;margin:0;padding:9px 11px;border-radius:10px;background:var(--warn-soft);color:var(--warn);font-size:13px}
.bol-aviso .ic{width:16px;height:16px;flex:none;margin-top:1px}
.bol-corpo{min-height:80px;border-top:1px solid var(--line2);padding-top:10px}
.bol-frame{width:100%;height:340px;border:1px solid var(--line2);border-radius:10px;background:#fff}
.bol-texto{font-size:14px;line-height:1.55;overflow-wrap:anywhere;white-space:normal;max-height:360px;overflow:auto}
.bol-texto a{color:inherit;text-decoration:underline}
.bol-bloco{border:1px solid var(--line2);border-radius:14px;padding:12px 14px;background:var(--card);display:flex;flex-direction:column;gap:9px}
.bol-bloco h5{margin:0;font-size:13px;font-weight:600;display:flex;align-items:center;gap:7px;color:var(--ink)}
.bol-bloco h5 .ic{width:15px;height:15px;color:var(--ink3)}
.bol-bloco h5 small{font-weight:500;color:var(--ink3);font-size:12px}
.bol-etapa{margin-left:auto;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--accent-soft);color:var(--ink2)}
.bol-etapa.cliente{background:var(--warn-soft);color:var(--warn)}
.bol-etapa.enviado{background:var(--good-soft);color:var(--good)}
.bol-anexos,.bol-versoes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.bol-anexos li,.bol-versoes li{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;border:1px solid var(--line2);border-radius:10px}
.bol-anexo-n{flex:1;min-width:140px}
.bol-anexo-n b{display:block;font-size:13.5px;font-weight:500;overflow-wrap:anywhere}
.bol-anexo-n small{display:block;font-size:12px;color:var(--ink3)}
.bol-prev{flex-basis:100%}
.bol-prev img{max-width:100%;max-height:300px;border-radius:8px;display:block;background:#fff}
.bol-ajuste{flex-basis:100%;margin:2px 0 0;font-size:13px;color:var(--ink2);background:var(--warn-soft);padding:8px 10px;border-radius:8px;overflow-wrap:anywhere}
.bol-campo{display:flex;flex-direction:column;gap:5px}
.bol-campo input,.bol-campo textarea{width:100%}
.bol-duas{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bol-ro{display:flex;align-items:center;gap:8px;min-height:38px;padding:7px 10px;border:1px solid var(--line2);border-radius:10px;background:var(--bg);font-size:14px}
.bol-dica{margin:-4px 0 0;font-size:12px;color:var(--ink3)}
.bol-sug{align-self:flex-start;border:0;background:none;padding:2px 0;font:inherit;font-size:12px;color:var(--ink2);text-decoration:underline;cursor:pointer}
.bol-prazo-aviso{display:flex;align-items:center;gap:6px;margin:0;font-size:13px;font-weight:600;padding:7px 10px;border-radius:10px}
.bol-prazo-aviso .ic{width:15px;height:15px}
.bol-prazo-aviso.atrasado{background:var(--crit-soft);color:var(--crit)}
.bol-prazo-aviso.hoje,.bol-prazo-aviso.amanha{background:var(--warn-soft);color:var(--warn)}
.bol-links{display:flex;flex-direction:column;gap:9px}
.bol-linha{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bol-linha > span{flex:1;min-width:160px}
.bol-linha b{display:block;font-size:13.5px;font-weight:500}
.bol-linha small{display:block;font-size:12px;color:var(--ink3);overflow-wrap:anywhere}
.bol-hist summary{cursor:pointer;display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;list-style:none}
.bol-hist summary::-webkit-details-marker{display:none}
.bol-hist summary .ic{width:15px;height:15px;color:var(--ink3)}
.bol-hist summary small{color:var(--ink3);font-weight:500}
.bol-hist ol{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:12.5px;color:var(--ink3)}
.bol-hist ol p{margin:2px 0 0;color:var(--ink2);overflow-wrap:anywhere}
.bol-rodape{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 18px;border-top:1px solid var(--line2);background:var(--card)}
.bol-rod-dica{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink2);margin-right:auto}
.bol-rod-dica .ic{width:15px;height:15px}
@media (max-width:1100px){.bol-quadro{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:860px){
  .bol-quadro{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -16px;padding:2px 16px 8px;-webkit-overflow-scrolling:touch}
  .bol-col{flex:0 0 82%;scroll-snap-align:start}
  .bol-ped-corpo{grid-template-columns:minmax(0,1fr)}
  .bol-duas{grid-template-columns:1fr}
  .bol-rodape{padding:10px 14px calc(10px + env(safe-area-inset-bottom))}
  .bol-rodape .btn{flex:1 1 auto;justify-content:center}
  .bol-rev .hc-linha,.bol-conds .hc-linha,.bol-rems .hc-linha{grid-template-columns:minmax(0,1fr) auto}
  .bol-rev .hc-linha > span:nth-child(2),.bol-rev .hc-linha > span:nth-child(3),.bol-rev .hc-linha > span:nth-child(4),.bol-conds .hc-linha > span:nth-child(2),.bol-conds .hc-linha > span:nth-child(3),.bol-conds .hc-linha > span:nth-child(4),.bol-rems .hc-linha > span:nth-child(2),.bol-rems .hc-linha > span:nth-child(3){display:none}
}

/* ====== ON-TRACK (17/10, arquivo 095): o placar, as recompensas e a apresentação do dia de corte ====== */
.ot-grade{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:14px;align-items:start}
.ot-col{display:flex;flex-direction:column;gap:14px;min-width:0}
.ot-cab{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.ot-cab h3{margin:0;font-size:15px;font-weight:600}.ot-cab p{margin:3px 0 0;font-size:12.5px}
.ot-dia{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;border-color:var(--area,var(--ink));background:color-mix(in srgb,var(--area,var(--ink)) 8%,var(--card))}
.ot-dia p{margin:3px 0 0;font-size:12.5px}
.ot-eu-topo{display:flex;align-items:center;gap:12px;margin-bottom:14px}.ot-eu-topo small{display:block;font-size:12px;color:var(--ink3)}.ot-eu-topo h3{margin:0;font-size:17px;font-weight:600}
.ot-lugar{margin-left:auto;text-align:center;line-height:1.1}.ot-lugar b{font-size:24px;font-weight:600;display:block}.ot-lugar small{font-size:11.5px;color:var(--ink3)}
.ot-eu-pts{display:flex;align-items:baseline;gap:8px;margin-bottom:14px}.ot-eu-pts b{font-size:44px;line-height:1;font-weight:600;letter-spacing:-.02em}.ot-eu-pts span{font-size:13px;color:var(--ink2)}
.ot-eu-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ot-eu-g>div{background:var(--bg);border:1px solid var(--line2);border-radius:12px;padding:10px 11px;display:flex;flex-direction:column;gap:2px;min-width:0}
.ot-eu-g small{font-size:11.5px;color:var(--ink3)}.ot-eu-g b{font-size:19px;font-weight:600}.ot-eu-g span{font-size:11.5px;color:var(--ink2)}
.ot-prox{margin-top:14px}.ot-prox-t{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;margin-bottom:6px;color:var(--ink2)}.ot-prox-t b{color:var(--ink)}.ot-prox small{display:block;margin-top:5px;font-size:12px}
.ot-barra{height:8px;border-radius:99px;background:var(--track);overflow:hidden}.ot-barra i{display:block;height:100%;border-radius:99px;background:var(--area,var(--ink));transition:width .4s ease}
.ot-cq-g{display:flex;flex-direction:column;gap:8px}
.ot-cq-i{display:flex;gap:11px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line2);border-radius:12px;background:var(--bg)}
.ot-cq-i b{display:block;font-size:13.5px;font-weight:600}.ot-cq-i small{display:block;font-size:12px;color:var(--ink2);margin-top:1px}.ot-cq-i em{display:block;font-style:normal;font-size:12px;color:var(--good);margin-top:3px}
.ot-cq-ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:none;background:var(--accent-soft);color:var(--ink3)}
.ot-cq-i.ganha{border-color:color-mix(in srgb,var(--area,var(--ink)) 35%,var(--line2))}.ot-cq-i.ganha .ot-cq-ic{background:var(--area,var(--ink));color:#fff}.ot-cq-i.falta{opacity:.72}
.ot-regras summary{cursor:pointer;font-size:13.5px;font-weight:600;list-style:none}.ot-regras summary::-webkit-details-marker{display:none}.ot-regras[open] summary{margin-bottom:10px}
.ot-regras ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:var(--ink2)}.ot-regras b{color:var(--ink)}
.ot-rk-t{display:flex;flex-direction:column}
.ot-rk-l{display:grid;grid-template-columns:44px minmax(0,1.7fr) repeat(4,minmax(64px,.6fr));align-items:center;gap:10px;padding:10px 6px;border-bottom:1px solid var(--line2)}
.ot-sub{margin:18px 0 2px;font-size:13px;font-weight:600}
.ot-rk-l.ot-rk-c{font-size:11.5px;color:var(--ink3);font-weight:500;padding-top:2px;padding-bottom:8px}
.ot-rk-l.eu{background:color-mix(in srgb,var(--area,var(--ink)) 9%,transparent);border-radius:10px;border-bottom-color:transparent}
.ot-pos{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:600;background:var(--accent-soft);color:var(--ink2)}
.ot-rk-l.topo .ot-pos{background:var(--area,var(--ink));color:#fff}
.ot-quem{display:flex;align-items:center;gap:10px;min-width:0}.ot-quem .hd-av.mini{width:30px;height:30px;font-size:13px;margin:0;vertical-align:baseline}
.ot-quem b{font-weight:600}.ot-quem small{display:block;font-size:11.5px;color:var(--ink3)}
.ot-n{display:flex;flex-direction:column;line-height:1.2}.ot-n b{font-size:14px;font-weight:600}.ot-n small{display:none;font-size:11px;color:var(--ink3)}.ot-pts b{font-size:15px}
.ot-pj{display:inline-block;font-style:normal;font-size:10.5px;font-weight:600;letter-spacing:.04em;padding:1px 6px;margin-left:6px;border-radius:6px;border:1px solid var(--line);color:var(--ink2);background:var(--bg);vertical-align:1px}
.ot-saldo{display:flex;align-items:center;gap:16px;margin-bottom:14px}.ot-saldo small{display:block;font-size:12px;color:var(--ink3)}.ot-saldo b{font-size:34px;font-weight:600;line-height:1.1;display:block}.ot-saldo span{display:block;font-size:12.5px;max-width:60ch}
.ot-cat,.ot-fila{margin-bottom:14px}
.ot-recs{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.ot-rec{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;align-items:center;padding:14px;border:1px solid var(--line2);border-radius:14px;background:var(--bg)}
.ot-rec .btn{grid-column:1/-1;justify-content:center;margin-top:8px}.ot-rec b{font-size:14px;font-weight:600;display:block}.ot-rec small{display:block;font-size:12px;color:var(--ink2)}.ot-rec.bloq{opacity:.75}
.ot-rec-ic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--area,var(--ink)) 14%,var(--card));color:var(--area,var(--ink));flex:none}.ot-rec-ic.mini{width:30px;height:30px;border-radius:9px;margin-right:10px}
.ot-ped{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--line2)}.ot-ped:last-child{border-bottom:0}.ot-ped-bt{display:flex;gap:8px;flex:none;align-items:center}
@media (max-width:980px){.ot-grade{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){
  .ot-eu-pts b{font-size:38px}.ot-eu-g{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ot-rk-l{grid-template-columns:30px minmax(0,1fr) auto auto;gap:8px}.ot-rk-l>span:nth-child(4),.ot-rk-l>span:nth-child(5){display:none}.ot-n small{display:block}.ot-rk-l.ot-rk-c>span:nth-child(3){grid-column:3}
  .ot-ped{flex-direction:column;align-items:stretch}.ot-ped-bt{justify-content:flex-end}.ot-dia{flex-direction:column;align-items:stretch}.ot-saldo b{font-size:28px}
}
/* a apresentação: tela cheia, nas cores da agência (as variáveis vêm da arte ou da cor principal dela, nunca do preto e dourado do master) */
dialog.ot-apres{position:fixed;left:0;top:0;margin:0;padding:0;border:0;border-radius:0;max-width:none;max-height:none;box-shadow:none;width:calc(100vw / var(--z,1));height:calc(100vh / var(--z,1));z-index:9000;display:flex;flex-direction:column;color:var(--ot-txt);background:radial-gradient(120% 90% at 85% 0%,color-mix(in srgb,var(--ot-brilho) 38%,transparent),transparent 60%),linear-gradient(145deg,var(--ot-fundo),var(--ot-meio));font-family:var(--fonte);outline:0;overflow:hidden}
.ot-apres *{box-sizing:border-box}
dialog.ot-apres:not([open]){display:none}dialog.ot-apres::backdrop{background:transparent}
.ot-ap-topo{display:flex;align-items:center;justify-content:space-between;padding:clamp(14px,2.4vh,26px) clamp(18px,3vw,44px);flex:none}
.ot-ap-marca{font-size:clamp(14px,1.5vw,22px);font-weight:600;letter-spacing:.02em;color:var(--ot-txt2)}
.ot-ap-fechar,.ot-ap-seta{width:clamp(40px,3.4vw,54px);height:clamp(40px,3.4vw,54px);border-radius:50%;display:grid;place-items:center;border:1px solid var(--ot-linha);background:var(--ot-card);color:var(--ot-txt);cursor:pointer}
.ot-ap-fechar:hover,.ot-ap-seta:hover:not(:disabled){background:var(--ot-ac);color:var(--ot-sobre);border-color:var(--ot-ac)}.ot-ap-seta:disabled{opacity:.3;cursor:default}
.ot-ap-fechar svg,.ot-ap-seta svg{width:55%;height:55%}.ot-ap-seta[data-ap="1"] svg{transform:none}.ot-ap-seta[data-ap="-1"] svg{transform:none}
.ot-ap-palco{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:0 clamp(18px,5vw,90px);overflow:auto;cursor:pointer}
.ot-ap-rodape{display:flex;align-items:center;justify-content:space-between;padding:clamp(12px,2.4vh,26px) clamp(18px,3vw,44px);flex:none}
.ot-ap-pontos{display:flex;gap:10px}.ot-ap-pontos i{width:10px;height:10px;border-radius:50%;background:var(--ot-linha)}.ot-ap-pontos i.on{background:var(--ot-ac);width:30px;border-radius:99px}
.ot-sl{width:min(1200px,100%);text-align:center;display:flex;flex-direction:column;align-items:center;gap:clamp(10px,2vh,22px);animation:ot-sobe .55s cubic-bezier(.2,.8,.2,1) both}
.ot-sl>small{font-size:clamp(13px,1.5vw,22px);letter-spacing:.18em;text-transform:uppercase;color:var(--ot-ac);font-weight:600}
.ot-sl h1{font-size:clamp(44px,9vw,150px);line-height:1;font-weight:600;letter-spacing:-.03em;margin:0}
.ot-sl h2{font-size:clamp(30px,5vw,80px);line-height:1.05;font-weight:600;letter-spacing:-.02em;margin:0}
.ot-sl p{font-size:clamp(16px,2vw,32px);color:var(--ot-txt2);margin:0}
.ot-sl .ot-dica{font-size:clamp(12px,1.2vw,18px);color:var(--ot-txt2);margin-top:clamp(12px,4vh,50px);opacity:.8}
.ot-sl .ot-pj{border-color:var(--ot-linha);color:var(--ot-txt2);background:transparent;font-size:clamp(11px,1.1vw,17px);vertical-align:middle}.ot-sl h2 .ot-pj{font-size:clamp(14px,1.8vw,28px)}
.ot-sl .hd-av{border:3px solid var(--ot-ac);background:var(--ot-card);color:var(--ot-txt)}
.ot-sl .hd-av.grande{width:clamp(96px,13vw,200px);height:clamp(96px,13vw,200px);font-size:clamp(40px,5.5vw,84px);margin:0}
.ot-sl .hd-av.mini{width:clamp(34px,3.4vw,52px);height:clamp(34px,3.4vw,52px);font-size:clamp(14px,1.5vw,22px);margin:0;vertical-align:baseline}
.ot-dest-pts{font-size:clamp(20px,3vw,46px)!important;color:var(--ot-txt)!important}.ot-dest-pts b{font-size:1.9em;color:var(--ot-ac);font-weight:600;letter-spacing:-.02em;margin-right:.1em}
.ot-dest-l{list-style:none;padding:0;margin:0;display:flex;gap:clamp(16px,3vw,48px);flex-wrap:wrap;justify-content:center;font-size:clamp(15px,1.8vw,28px);color:var(--ot-txt2)}.ot-dest-l b{color:var(--ot-txt);font-weight:600}
.ot-num{display:grid;grid-template-columns:repeat(auto-fit,minmax(clamp(200px,22vw,320px),1fr));gap:clamp(12px,2vw,28px);width:100%}
.ot-time .ot-num{grid-template-columns:repeat(2,minmax(0,1fr));max-width:min(1100px,100%)}.ot-time .ot-num b{font-size:clamp(30px,5vw,80px)}.ot-time .ot-num>div{padding:clamp(14px,2.4vh,30px) clamp(12px,1.6vw,26px)}
.ot-num>div{background:var(--ot-card);border:1px solid var(--ot-linha);border-radius:clamp(16px,2vw,28px);padding:clamp(18px,3vh,38px) clamp(12px,1.6vw,26px);display:flex;flex-direction:column;gap:8px;align-items:center}
.ot-num b{font-size:clamp(34px,5.6vw,92px);line-height:1;font-weight:600;letter-spacing:-.02em}.ot-num span{font-size:clamp(13px,1.4vw,22px);color:var(--ot-txt2)}
.ot-num>div.meta{border-color:var(--ot-ac)}.ot-num>div.meta b{color:var(--ot-ac)}
.ot-cq-lista{width:100%;display:flex;flex-direction:column;gap:clamp(8px,1.4vh,16px);max-height:62vh;overflow:auto}
.ot-cq-p{display:flex;align-items:center;gap:clamp(12px,2vw,30px);justify-content:space-between;background:var(--ot-card);border:1px solid var(--ot-linha);border-radius:clamp(14px,1.6vw,22px);padding:clamp(10px,1.6vh,18px) clamp(14px,1.8vw,26px);text-align:left}
.ot-cq-p .ot-quem{font-size:clamp(16px,2vw,30px);flex:none}.ot-cq-fichas{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.ot-cq-fichas em{font-style:normal;display:inline-flex;align-items:center;gap:7px;font-size:clamp(12px,1.3vw,20px);padding:.35em .9em;border-radius:99px;background:var(--ot-ac);color:var(--ot-sobre);font-weight:600}.ot-cq-fichas em svg{width:1.1em;height:1.1em}
.ot-pod{display:flex;align-items:flex-end;justify-content:center;gap:clamp(14px,3vw,48px);width:100%}
.ot-pod-i{display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;padding-top:12px;flex:1 1 0;max-width:340px}.ot-pod-i b{font-size:clamp(17px,2.2vw,34px);font-weight:600}.ot-pod-i>span:last-child{font-size:clamp(12px,1.3vw,20px);color:var(--ot-txt2)}
.ot-pod-n{position:absolute;top:-6px;left:50%;transform:translateX(-50%);z-index:2;width:clamp(28px,2.6vw,42px);height:clamp(28px,2.6vw,42px);border-radius:50%;display:grid;place-items:center;background:var(--ot-ac);color:var(--ot-sobre);font-weight:600;font-size:clamp(14px,1.4vw,22px)}
.ot-pod-i.p1 .hd-av.grande{width:clamp(120px,16vw,250px);height:clamp(120px,16vw,250px);font-size:clamp(50px,7vw,100px)}.ot-pod-i.p1{order:2}.ot-pod-i.p2{order:1}.ot-pod-i.p3{order:3}
.ot-rk-resto{width:min(900px,100%);display:flex;flex-direction:column;gap:6px;margin-top:clamp(6px,2vh,26px);max-height:26vh;overflow:auto}
.ot-rk-resto>div{display:grid;grid-template-columns:40px minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:8px 14px;border-radius:14px;background:var(--ot-card);font-size:clamp(13px,1.5vw,22px);text-align:left}
.ot-rk-resto .ot-pos{background:var(--ot-linha);color:var(--ot-txt)}
.ot-fecho{margin-top:clamp(10px,3vh,40px)!important;color:var(--ot-txt)!important;font-weight:600}
.ot-vazio{max-width:30ch;line-height:1.3}
@keyframes ot-sobe{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.ot-sl{animation:none}.ot-barra i{transition:none}}
@media (max-width:640px){.ot-apres .ot-ap-palco{align-items:flex-start;padding-top:8px}.ot-cq-p{flex-direction:column;align-items:flex-start}.ot-cq-fichas{justify-content:flex-start}.ot-pod{flex-wrap:wrap}.ot-rk-resto>div{grid-template-columns:34px minmax(0,1fr) auto}.ot-rk-resto>div>span:last-child{display:none}}

/* 17/10: janela larga de formulário (ex. Textos dos e-mails de cobrança) */
dialog.dlg-largo{width:min(820px,94vw)}
@media (min-width:861px){ dialog.dlg-largo{width:min(820px,calc(94vw / var(--z)))} }
.ot-cfg-rec .hc-linha{grid-template-columns:minmax(0,1fr) 110px 130px 96px 36px;align-items:center}
.ot-cfg-rec .hc-linha > span:first-child b{white-space:normal;overflow-wrap:anywhere}
@media (max-width:640px){.ot-cfg-rec .hc-linha{grid-template-columns:minmax(0,1fr) 90px 36px}.ot-cfg-rec .hc-linha > span:nth-child(3),.ot-cfg-rec .hc-linha > span:nth-child(4){display:none}}

/* rascunho do formulário: "Descartar rascunho" em forma de link */
.rasc-aviso .btn-link{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer;font-weight:600}

/* ====== 104 · DESENVOLVEDOR: o painel da plataforma (Visão geral, Saúde do sistema, Versões, Atividade e o uso de cada agência) ====== */
.dv-ags .hc-linha{grid-template-columns:minmax(0,1.6fr) 96px minmax(0,1fr) minmax(0,1fr) 112px 150px 36px}
.dv-sub{display:block;font-size:12px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dv-sub .dv-papel{font-size:12px}
.dv-mes{display:inline-flex;gap:10px;font-size:12.5px;color:var(--ink2);font-variant-numeric:tabular-nums}
.dv-mes > span{display:inline-flex;align-items:center;gap:4px}
.dv-mes .ic{width:14px;height:14px;color:var(--ink3)}
.dv-mes .ruim,.dv-ruim{color:var(--crit)}
.dv-grupo{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}
.dv-grupo > h3{margin:0;font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink3)}
.dv-kpis .md-kpi.atencao > b{color:var(--crit)}
.dv-nd{display:flex;align-items:flex-start;gap:8px;margin:2px 0;font-size:13px}
.dv-nd .ic,.dv-tudo-ok .ic{width:16px;height:16px;flex:none;margin-top:1px}
.dv-tudo-ok{display:flex;align-items:center;gap:8px;margin:2px 0;font-size:13.5px;color:var(--good)}
.dv-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;font-weight:500;overflow-wrap:anywhere}
.dv-card .hc-tabela{margin:0}
.dv-card .hc-linha > span small,.dv-edge .hc-linha > span small{display:block;font-size:11.5px;margin-top:2px}
.dv-erro,.dv-erro-c{color:var(--crit);font-size:12px;overflow-wrap:anywhere}
.dv-erro{display:block;margin-top:3px}
.dv-erro-l{margin:6px 0 0;font-size:12.5px;display:flex;flex-direction:column;gap:2px;overflow-wrap:anywhere}
.dv-saude{grid-template-columns:repeat(2,minmax(0,1fr))}
.dv-saude > .dv-card:first-child,.dv-saude > .dv-card:nth-child(4),.dv-saude > .dv-card:nth-child(5){grid-column:1 / -1}
.dv-cron .hc-linha{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) 120px minmax(0,1.2fr) 120px}
.dv-http .hc-linha{grid-template-columns:110px 110px minmax(0,1fr) minmax(0,1.6fr)}
.dv-edge .hc-linha{grid-template-columns:minmax(0,.9fr) 96px minmax(0,2fr)}
.dv-ativ .hc-linha{grid-template-columns:130px minmax(0,1fr) minmax(0,2fr)}
.dv-ativ-o{display:flex;align-items:center;gap:8px;min-width:0}
.dv-ativ-o > .ic{width:16px;height:16px;flex:none;color:var(--ink3)}
.dv-ativ-o small{display:block;font-size:11.5px}
.dv-segs{display:flex;flex-direction:column;border:1px solid var(--line2);border-radius:var(--r3);overflow:hidden}
.dv-seg{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border-top:1px solid var(--line2);background:var(--card)}
.dv-seg:first-child{border-top:0}
.dv-seg > span:first-child{display:flex;flex-direction:column;min-width:0}
.dv-seg small{font-size:11.5px}
.dv-mod{display:flex;flex-direction:column;gap:6px;padding:10px 0;border-top:1px solid var(--line2)}
.dv-mod:first-of-type{border-top:0;padding-top:0}
.dv-mod-l{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.dv-mod-l > span{display:flex;gap:6px;flex-wrap:wrap}
.dv-rec{margin:0;padding-left:18px;font-size:12.5px;color:var(--ink2)}
.dv-card > header small{font-size:12px}
@media (max-width:980px){
  .dv-saude{grid-template-columns:1fr}
  .dv-ags .hc-linha > span:nth-child(6){display:none}
  .dv-cron .hc-linha,.dv-http .hc-linha,.dv-edge .hc-linha,.dv-ativ .hc-linha{grid-template-columns:minmax(0,1fr) auto}
  .dv-cron .hc-linha > span:nth-child(2),.dv-cron .hc-linha > span:nth-child(3),.dv-cron .hc-linha > span:nth-child(5){display:none}
  .dv-http .hc-linha > span:nth-child(3),.dv-http .hc-linha > span:nth-child(4),.dv-ativ .hc-linha > span:nth-child(3){grid-column:1 / -1}
  .dv-edge .hc-linha > span:nth-child(3){grid-column:1 / -1}
}
/* a coluna do código (e a origem) das chamadas com erro ficavam escondidas no celular pela regra geral das tabelas: aparecem, uma embaixo da outra */
@media (max-width:700px){
  .dv-http .hc-linha > span:nth-child(2),.dv-http .hc-linha > span:nth-child(3){display:block}
  .dv-http .hc-linha > span:nth-child(2){justify-self:end}
  .dv-http .hc-linha > span:nth-child(3) small{overflow:visible;white-space:normal;overflow-wrap:anywhere}
}
@media (max-width:640px){ .dv-kpis{grid-template-columns:repeat(2,minmax(0,1fr))} }
.dv-card small.dv-erro,.dv-card .dv-erro{color:var(--crit)}

/* ---------- 105: auditoria (Desenvolvedor › Auditoria e Configurações › Agência › Histórico de alterações) ---------- */
.au{display:flex;flex-direction:column;gap:12px;min-width:0}
.au.lendo .au-tab{opacity:.55;transition:opacity .15s}
.au-filtros{align-items:flex-start}
.au-sel select{max-width:210px}
.au-data{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink3)}
.au-data input{height:34px;border:1px solid var(--line);border-radius:10px;background:var(--card);padding:0 8px;font:inherit;font-size:13px;color:var(--ink);color-scheme:light dark}
.au-tab .hc-linha{grid-template-columns:128px minmax(0,.9fr) minmax(0,2.4fr)}
.au-tab.dev .hc-linha{grid-template-columns:128px minmax(0,.8fr) minmax(0,.8fr) minmax(0,2.2fr)}
.au-quando{font-size:13px;color:var(--ink2)}
.au-pessoa{font-size:13.5px;overflow-wrap:anywhere}
.au-tab .hc-linha > .au-o{display:flex;align-items:flex-start;gap:10px;min-width:0}   /* (a regra geral das tabelas esconde a 3ª coluna no celular) */
.au-acao{display:inline-flex;align-items:center;gap:5px;flex:none;white-space:nowrap}
.au-acao .ic{width:13px;height:13px}
.au-txt{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere;font-size:13.5px}
.au-txt small{font-size:11.5px;white-space:normal}
.au-pag{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--ink3)}
.au-pag .btn[disabled]{opacity:.4;cursor:default}
.au-nota{margin:0}
/* o celular: cada registro vira um cartão — hora e pessoa na primeira linha, agência e o que aconteceu embaixo (a regra geral das tabelas esconde a 2ª e a 3ª coluna) */
@media (max-width:980px){
  .au-tab .hc-linha,.au-tab.dev .hc-linha{grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:11px 4px}
  .au-tab .hc-linha > .au-pessoa{display:block;text-align:right;justify-self:end}
  .au-tab .hc-linha > .au-ag{display:block;grid-column:1 / -1;font-size:12px;color:var(--ink3)}
  .au-tab .hc-linha > .au-o{grid-column:1 / -1}
  .au-sel select{max-width:100%}
  .au-filtros .md-ferr-g{width:100%}
}
@media (max-width:700px){
  .au-data{flex:1 1 130px}
  .au-data input{flex:1;min-width:0}
}

/* ---------- pedidos de ajuste e rodadas (Clientes › Entregas, trabalho e entrega; rodar-agora-painel-video-aprovacao.sql) ---------- */
.pa h2 span{display:flex;gap:8px;align-items:center}
.pa-ped{border:1px solid var(--line);border-radius:var(--r2,16px);padding:14px 16px;margin-top:10px;background:var(--card)}
.pa-ped.extra{border-color:var(--crit);box-shadow:inset 3px 0 0 var(--crit)}
.pa-cab{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.pa-t{min-width:0}
.pa-t b{display:block;font-weight:600}
.pa-t small{display:block;color:var(--ink3);font-size:12px;margin-top:2px}
.pa-chips{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.pa-itens{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.pa-itens li{display:flex;align-items:flex-start;gap:10px;line-height:1.45;font-size:14px}
.pa-tx{min-width:0;overflow-wrap:anywhere;white-space:pre-line;padding-top:2px}
.pa-ck{flex:0 0 auto;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--line);background:var(--card);color:transparent;font-size:13px;font-weight:700;cursor:pointer}
.pa-ck i{font-style:normal;line-height:1}
.pa-ck:hover{border-color:var(--ink3);color:var(--ink3)}
.pa-ck[aria-pressed="true"]{background:var(--good);border-color:var(--good);color:#fff}
.pa-itens li:has(.pa-ck[aria-pressed="true"]) .pa-tx{color:var(--ink3);text-decoration:line-through;text-decoration-color:var(--line)}
.pa-pe{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--line2)}
.pa-pe small{color:var(--ink3);font-size:12px}
.pa-acoes{display:flex;gap:6px;flex-wrap:wrap}
.mp-rod{margin:-4px 0 12px}
.ent-rodadas{display:flex;align-items:center;gap:10px;margin:10px 0 2px;padding:10px 12px;border-radius:12px;background:var(--accent-soft)}
.ent-rodadas > svg{flex:0 0 auto;width:18px;height:18px}
.ent-rodadas > span{flex:1;min-width:0}
.ent-rodadas b{display:block;font-weight:600;font-size:13.5px}
.ent-rodadas small{display:block;color:var(--ink3);font-size:12px}
.ent-rodadas.fim{background:var(--crit-soft)}
.txt-crit{color:var(--crit);font-weight:600}
@media (max-width:640px){.pa-cab{flex-direction:column}.pa-chips{justify-content:flex-start}.pa-acoes{width:100%}.pa-acoes .btn{flex:1 1 auto}}

/* TV do coworking (head_cow_tv.js, 106): telas e conteúdo na seção Coworking das Configurações */
.tvc-abas{margin:0 0 10px}
.tvc-abas .ic{width:16px;height:16px}
.tvc-tel .hc-linha{grid-template-columns:minmax(0,1fr) 160px 92px}
.tvc-tab .hc-linha{grid-template-columns:minmax(0,1fr) 120px 110px 36px}
.tvc-corpo{display:flex;align-items:center;gap:12px;min-width:0}
.tvc-tel .tvc-corpo,.tvc-tab .tvc-corpo{flex-direction:column;align-items:flex-start;gap:2px}
.tvc-tab .tvc-arq{flex-direction:row;align-items:center;gap:12px}
.tvc-corpo b{display:block;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.tvc-corpo small,.tvc-tel small,.tvc-tab small{display:block;color:var(--ink3);font-size:12px;overflow-wrap:anywhere}
.tvc-tx{min-width:0;display:block}
.tvc-mini{flex:none;width:72px;height:42px;border-radius:8px;background:var(--bg);border:1px solid var(--line2);display:grid;place-items:center;overflow:hidden;color:var(--ink3)}
.tvc-mini img{width:100%;height:100%;object-fit:cover}
.tvc-seg{width:78px;font:inherit;padding:6px 8px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink)}
.tvc-ord{display:flex;gap:6px}
.tvc-ord .btn{padding:6px 8px}
.tvc-t.off .tvc-corpo,.tvc-it.off .tvc-corpo{opacity:.55}
@media (max-width:860px){
  .tvc-tel .hc-linha{grid-template-columns:minmax(0,1fr) 92px}
  .tvc-tel .hc-linha > span:nth-child(3){grid-column:1 / -1;justify-content:flex-end}
  .tvc-tab .hc-linha{grid-template-columns:minmax(0,1fr) auto 36px}
  .tvc-tab .hc-linha > span:nth-child(2){display:none}
}

/* ===== galeria (17/10): pop-up "sem cobrança", apagar várias, foto grande ===== */
#dlg:has(.sc-dlg),#dlg2:has(.sc-dlg){width:min(480px,94vw)}
.dlg.confirma.sc-dlg .dlg-bd{padding:28px 28px 24px}
.dlg.confirma.sc-dlg .conf-ico{margin:0 auto 16px}
.dlg.confirma.sc-dlg h3{margin:0}
.dlg.confirma.sc-dlg p{margin:10px 0 0}
.dlg.confirma.sc-dlg .sc-acoes{margin-top:22px;gap:10px;flex-wrap:nowrap}
.sc-acoes .btn{flex:1 1 0;white-space:nowrap;min-width:0;justify-content:center;padding-left:14px;padding-right:14px}
@media (max-width:480px){ .dlg.confirma.sc-dlg .sc-acoes{flex-direction:column-reverse} .sc-acoes .btn{flex:none;width:100%} }
.gal-sel-barra{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0 12px}
.gal-sel-barra .btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;margin-right:6px}
.gal-sel-n{font-size:13.5px;color:var(--ink2);margin-right:auto}
.gal-sel-n b{color:var(--ink);font-weight:600}
.gal-grade .gal-f{cursor:zoom-in}
.gal-grade.selecionando .gal-f{cursor:pointer}
.gal-f:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.gal-ck{position:absolute;top:7px;right:7px;z-index:2;width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.85);box-shadow:inset 0 0 0 2px rgba(0,0,0,.35);display:grid;place-items:center;color:transparent}
.gal-ck .ic{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:3}
.gal-f.marcada{box-shadow:0 0 0 3px var(--ink)}
.gal-f.marcada .gal-ck{background:var(--ink);box-shadow:none;color:var(--card)}
.gl-luz{position:fixed;inset:0;z-index:300;background:rgba(8,8,10,.94);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:56px 14px 14px}
.gl-foto{position:relative;flex:1;min-height:0;width:100%;max-width:1400px}
.gl-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;-webkit-user-drag:none;user-select:none;pointer-events:none}
.gl-x{position:absolute;top:10px;right:12px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:26px;line-height:1;display:grid;place-items:center;z-index:2}
.gl-seta{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:30px;line-height:1;display:grid;place-items:center;z-index:2}
.gl-seta.ant{left:12px} .gl-seta.prox{right:12px}
.gl-seta:disabled{opacity:.25;cursor:default}
.gl-x:hover,.gl-seta:not(:disabled):hover{background:rgba(255,255,255,.22)}
.gl-pe{width:100%;max-width:760px;color:#f2f2f3;padding-top:12px;display:flex;flex-direction:column;gap:6px;align-items:center;text-align:center}
.gl-nome{display:flex;gap:10px;align-items:baseline;justify-content:center;flex-wrap:wrap}
.gl-nome b{font-size:15px;font-weight:600;overflow-wrap:anywhere} .gl-nome small{color:#a9a9b0;font-size:12.5px}
.gl-chips{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}
.gl-rec{margin:0;font-size:14px;line-height:1.45;color:#e6e6e9;max-height:96px;overflow:auto}
@media (max-width:640px){ .gl-seta{width:38px;height:38px;font-size:26px} .gl-seta.ant{left:6px} .gl-seta.prox{right:6px} }

/* ===== notificações do painel pessoal (17/10) ===== */
.nt-cab{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.nt-cab h2{margin:0;display:flex;align-items:center;gap:8px}
.nt-btns{display:flex;gap:8px;flex-wrap:wrap}
.nt-filtros{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
.nt-filtros .pill-f.on{background:var(--ink);color:var(--card);border-color:var(--ink)}
.nt-lista{display:flex;flex-direction:column;margin-top:6px}
.nt-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px 4px;border-top:1px solid var(--line2);background:none;cursor:pointer;color:var(--ink)}
.nt-item:first-child{border-top:0}
.nt-item:hover{background:var(--bg)}
.nt-item.nova b{font-weight:700}
.nt-ic{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 14%,transparent);color:var(--c)}
.nt-ic .ic,.nt-ic svg{width:17px;height:17px}
.nt-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.nt-tx b{font-size:14px;font-weight:500;line-height:1.3}
.nt-tx small{font-size:12.5px;color:var(--ink2);line-height:1.35;overflow-wrap:anywhere}
.nt-fim{flex:none;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink3)}
.nt-pt{width:9px;height:9px;border-radius:50%;background:#f97316}
.nt-pref{cursor:pointer}

/* Lixeira (30 dias) */
.lx-filtros{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.lx-lista{display:flex;flex-direction:column}
.lx-linha{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px 12px;align-items:center;padding:10px 4px;border-top:1px solid var(--line)}
.lx-tx{display:flex;flex-direction:column;gap:2px;min-width:0}.lx-tx small{font-size:12.5px}
.lx-bt{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.lx-nota{display:flex;align-items:center;gap:6px;margin:0 0 12px}.lx-nota .ic{width:14px;height:14px;flex:none}
.lx.lendo .lx-lista{opacity:.55}
@media (max-width:640px){.lx-linha{grid-template-columns:minmax(0,1fr);}.lx-bt{justify-content:flex-start}}

/* Sininho do painel pessoal: painelzinho suspenso (casca do menu do perfil) */
.menu-notif{width:min(360px,calc(100vw - 16px));max-height:min(520px,calc(100vh - 80px));overflow-y:auto;overscroll-behavior:contain}
.menu-notif .np-cab{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px 8px;border-bottom:1px solid var(--line2);margin-bottom:4px}
.menu-notif .np-cab b{display:flex;align-items:center;gap:8px}
.menu-notif .np-todas{font-size:12px;color:var(--ink2);padding:5px 8px;border-radius:9px}
.menu-notif .np-todas:hover:not(:disabled){background:var(--hover)}
.menu-notif .np-todas:disabled{opacity:.45;cursor:default}
.menu-notif .np-linha{display:flex;align-items:center;gap:2px;border-radius:12px}
.menu-notif .np-linha:hover{background:var(--hover)}
.menu-notif .nt-item{border-top:0;padding:9px 8px;border-radius:12px;min-width:0}
.menu-notif .nt-item:hover{background:none}
.menu-notif .nt-tx b{font-size:13.5px}
.menu-notif .nt-tx small{font-size:12px}
.menu-notif .np-quando{color:var(--ink3)}
.menu-notif .np-ok{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:var(--ink3)}
.menu-notif .np-ok:hover{background:var(--card);color:var(--ink)}
.menu-notif .np-ok .ic{width:15px;height:15px}
.menu-notif .np-vazio{margin:0;padding:14px 10px;color:var(--ink3);font-size:13px;line-height:1.5}
.menu-notif .np-cfg{text-decoration:none;background:none}

/* 17/10 (111) · trilhas de boas-vindas: a da pessoa nova (no Geral) e o cadastro/acompanhamento em Configurações › Trilhas */
.tr-bloco{border:1px solid var(--line);background:var(--card);border-radius:var(--r3);padding:16px 18px;margin:0 0 16px}
.tr-topo{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.tr-topo h3{margin:0;font-size:16px}.tr-topo h3 span{font-weight:400;color:var(--ink3)}
.tr-pct{font-size:12.5px;color:var(--ink3)}
.tr-barra{height:8px;border-radius:999px;background:var(--line);margin:10px 0 14px;overflow:hidden}
.tr-barra i{display:block;height:100%;border-radius:999px;background:var(--ag,var(--ink));transition:width .3s}
.tr-lista,.tr-ets{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.tr-et{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:12px}
.tr-et p{margin:4px 0 8px;color:var(--ink2);font-size:13.5px}
.tr-et small{display:block;color:var(--ink3);font-size:12px}
.tr-ic{flex:none;width:26px;height:26px;border-radius:999px;border:1px solid var(--line);display:grid;place-items:center;font-size:12.5px;color:var(--ink2)}
.tr-ic .ic{width:14px;height:14px}
.tr-et.atual{border-color:var(--ag,var(--ink));background:color-mix(in srgb,var(--ag,var(--ink)) 5%,var(--card))}
.tr-et.atual .tr-ic{background:var(--ag,var(--ink));border-color:var(--ag,var(--ink));color:var(--ag-txt,var(--card))}
.tr-et.feita .tr-ic{background:var(--ink);border-color:var(--ink);color:var(--card)}
.tr-et.trava{opacity:.6}
.tr-links,.tr-chk{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 10px}
.tr-chk{flex-direction:column;gap:2px}
.tr-bloco.pronta{opacity:.85}
.tr-t{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:0 0 12px}
.tr-t.off{opacity:.6}
.tr-t-cab,.tr-ets li{display:flex;align-items:center;justify-content:space-between;gap:10px}
.tr-t-cab small,.tr-ets small,.tr-g small{display:block;color:var(--ink3);font-size:12px}
.tr-ets{margin:8px 0 10px;gap:0}
.tr-ets li{padding:7px 0;border-top:1px solid var(--line)}
.tr-acoes{display:flex;gap:4px;align-items:center;flex:none}
.tr-gente{display:grid;gap:0}
.tr-g{display:grid;grid-template-columns:1fr 1.4fr 1fr auto;gap:12px;align-items:center;padding:9px 0;border-top:1px solid var(--line)}
.tr-g .ok{color:var(--ink)}
@media (max-width:760px){.tr-g{grid-template-columns:1fr;gap:4px}.tr-acoes{flex-wrap:wrap}}

/* galeria em lotes: etiqueta do lote na foto, quadro dos lotes e aviso da galeria convertida */
.gal-lote{position:absolute;bottom:40px;left:7px;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:rgba(0,0,0,.6);color:#fff;font-size:11px;font-weight:700;line-height:1;display:grid;place-items:center;pointer-events:none}
.gal-lote.espera{background:var(--warn,#b7791f)}
.gal-aviso-lotes{margin:14px 0 0;padding:12px 14px;border-radius:14px;background:var(--bg);font-size:13.5px;line-height:1.4;color:var(--ink2,inherit)}
.gal-lotes{display:grid;gap:8px}
.gal-lote-d{border:1px solid var(--line,rgba(0,0,0,.1));border-radius:14px;padding:10px 14px}
.gal-lote-d summary{cursor:pointer;font-size:14px}
.gal-lote-nomes{margin:8px 0 6px;word-break:break-word}

/* Indicador de progresso (util.js › progresso): barra no topo da tela e dentro do diálogo; botão ocupado */
.pg-barra{position:fixed;top:0;left:0;right:0;height:3px;z-index:2147483000;overflow:hidden;pointer-events:none;background:color-mix(in srgb,var(--ink) 10%,transparent)}
dialog > .pg-barra{position:absolute;z-index:5}
.pg-barra i{display:block;height:100%;width:38%;border-radius:99px;background:var(--ink);transform:translateX(-100%)}
.pg-barra.det i{transition:width .25s linear;transform:none;width:2%}
.pg-barra span{position:absolute;right:10px;top:5px;font-size:11px;font-weight:700;color:var(--ink2);font-variant-numeric:tabular-nums;background:var(--bg,#fff);padding:0 6px;border-radius:99px}
.pg-barra span:empty{display:none}
dialog:has(.ocupado) > .pg-barra{display:none}
@media (prefers-reduced-motion:no-preference){ @keyframes pgCorre{from{transform:translateX(-100%)}to{transform:translateX(280%)}} .pg-barra:not(.det) i{animation:pgCorre 1.1s ease-in-out infinite} }
.pg-ocupado{cursor:progress!important;opacity:.72}
.btn.pg-ocupado::after{content:"";display:inline-block;width:13px;height:13px;margin-left:8px;vertical-align:-2px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;opacity:0;animation:gira .8s linear infinite,aparecer .2s ease .3s forwards}
.lx-setores{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;margin:4px 0 12px;scrollbar-width:thin}
.lx-setor{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;border:1px solid var(--line);background:var(--card);color:var(--ink2);border-radius:12px;padding:9px 14px;font:inherit;font-size:13.5px;cursor:pointer}
.lx-setor.on{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}
.lx-setor .lx-n{font-variant-numeric:tabular-nums;font-size:12px;min-width:20px;text-align:center;padding:1px 7px;border-radius:99px;background:color-mix(in srgb,currentColor 14%,transparent)}
.lx-topo{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px;font-size:13px}
.nav .nav-ag .me-ico{width:18px;height:18px;border-radius:5px;object-fit:cover;flex:none;box-shadow:0 0 0 1px var(--line2)}
.gal-todas-p{border-left:4px solid var(--aviso,#d97706);margin-bottom:12px} .gal-todas-p.ok{border-left-color:#15803d} .gal-todas-p p{margin:6px 0 10px}
/* popup dos cupons do "Levar todas": sem cabeçalho próprio, então o corpo ganha respiro em cima e entre os blocos */
.dlg.cupons .dlg-bd{padding:26px 26px 22px}
.dlg.cupons h3{margin:0 0 8px}
.dlg.cupons .dlg-bd > p{margin:0 0 18px;line-height:1.5}
.dlg.cupons .cfg-l{padding:14px 0;border-top:1px solid var(--line2)}
.dlg.cupons .cfg-l:last-of-type{border-bottom:1px solid var(--line2)}
.dlg.cupons .cfg-txt small{display:block;margin-top:4px;line-height:1.45}
.dlg.cupons .conf-acoes{margin-top:20px}
.dlg .cp-previa b{color:var(--ink,inherit)}
.gal-arquivo{margin:0 0 14px}.gal-arquivo small{line-height:1.45}

/* ====== Setor Viagens (viagens.js): tudo com o prefixo .vg- ======
   Claro, com mais contraste: fundo levemente cinza, cartão branco com borda visível. Cor só para situação (verde em dia, âmbar pendente, vermelho deve). */
:root:not([data-tema="escuro"]):has(.vg){--bg:#ebebe7}
.vg{--vg-linha:var(--line);--vg-linha2:var(--line2);display:block;min-width:0}
:root:not([data-tema="escuro"]) .vg,:root:not([data-tema="escuro"]) .vg-ver{--vg-linha:#cdcdc7;--vg-linha2:#e2e2dd}
.setor.cor.st-via{--g:linear-gradient(140deg,#052630 0%,#0c5a6b 52%,#1ea0b3 118%);--tom:12,90,107;--brilho:130,230,240}
.vg .cabec{margin:2px 0 12px}
.vg-cabec .dir,.vg-acoes .dir{margin-left:auto}
.vg-acoes{margin:0 0 12px}
.vg-card,.vg-cartao,.vg-topo,.vg-dia{background:var(--card);border:1px solid var(--vg-linha);border-radius:18px;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.vg-card{padding:16px 18px;margin-bottom:12px;min-width:0}
.vg-card h3,.vg-lista h3{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink3);margin:0 0 6px}
.vg-lista{padding:14px 0 4px;overflow:hidden}
.vg-lista h3{padding:0 18px 8px;border-bottom:1px solid var(--vg-linha2);margin:0}
.vg-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin-bottom:12px}
.vg-grade .vg-card{margin-bottom:0}
/* a lista de viagens */
.vg-cartao{padding:16px 18px;display:flex;flex-direction:column;gap:12px;cursor:pointer;min-width:0;transition:border-color .12s,box-shadow .12s}
.vg-cartao:hover{border-color:var(--ink3);box-shadow:0 6px 18px rgba(0,0,0,.08)}
.vg-cartao:focus-visible,.vg-ativ:focus-visible,.vg-lin:focus-visible,.vg-hosp:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.vg-cartao.arquivada{opacity:.78}
.vg-cartao-topo,.vg-hosp-topo{display:flex;align-items:flex-start;gap:12px}
.vg-selo{width:40px;height:40px;border-radius:12px;background:var(--accent-soft);color:var(--ink);display:grid;place-items:center;flex:0 0 auto}
.vg-selo .ic{width:20px;height:20px}
.vg-cartao-nome{flex:1;min-width:0}
.vg-cartao-nome h3{font-size:16px;font-weight:600;letter-spacing:-.01em;text-transform:none;color:var(--ink);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vg-hosp .vg-cartao-nome h3{white-space:normal}
.vg-cartao-nome small{display:block;color:var(--ink3);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vg-cartao-datas{display:flex;align-items:center;gap:8px;color:var(--ink2);font-size:13px}
.vg-cartao-datas .ic{width:15px;height:15px;color:var(--ink3)}
.vg-cartao-nums{display:flex;gap:0;border:1px solid var(--vg-linha2);border-radius:12px;overflow:hidden}
.vg-cartao-nums>div{flex:1;padding:8px 12px;display:flex;flex-direction:column;min-width:0}
.vg-cartao-nums>div+div{border-left:1px solid var(--vg-linha2)}
.vg-cartao-nums b{font-size:16px;letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vg-cartao-nums span{font-size:11.5px;color:var(--ink3)}
.vg-cartao-pe{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}
.chip.vg-espera{opacity:.6}
/* a viagem aberta */
.vg-topo{padding:18px 20px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;overflow:hidden}
.vg-topo-l{min-width:0;display:flex;flex-direction:column;gap:8px}
.vg-topo-dest{display:flex;align-items:center;gap:8px;font-size:17px;flex-wrap:wrap}
.vg-topo-dest .ic{width:18px;height:18px;color:var(--ink2)}
.vg-topo-dest b{font-weight:600;letter-spacing:-.01em}
.vg-topo-datas{display:flex;align-items:center;gap:8px;color:var(--ink2);font-size:13.5px;flex-wrap:wrap}
.vg-topo-datas .ic{width:16px;height:16px;color:var(--ink3)}
.vg-obs{white-space:pre-wrap;color:var(--ink2);font-size:13.5px;max-width:72ch}
.vg-stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:14px -20px 0;border-top:1px solid var(--vg-linha2);background:var(--hover)}
.vg-stats>div{padding:12px 20px;display:flex;flex-direction:column;gap:2px;min-width:0}
.vg-stats>div+div{border-left:1px solid var(--vg-linha2)}
.vg-stats span{font-size:12px;color:var(--ink3)}
.vg-stats b{font-size:20px;font-weight:600;letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.md-abas.vg-abas{margin:18px 0 14px;border-bottom-color:var(--vg-linha)}
.vg-corpo{min-width:0}
/* roteiro */
.vg-dia{margin-bottom:12px;overflow:hidden}
.vg-dia header{display:flex;align-items:center;gap:10px;padding:11px 14px 11px 18px;background:var(--hover);border-bottom:1px solid var(--vg-linha2)}
.vg-dia-n{font-size:12px;font-weight:600;background:var(--ink);color:var(--on-ink);border-radius:999px;padding:3px 11px;white-space:nowrap}
.vg-dia-d{font-weight:500;color:var(--ink);flex:1;min-width:0}
.vg-mais{width:32px;height:32px;border-radius:50%;border:1px solid var(--vg-linha);background:var(--card);display:grid;place-items:center;color:var(--ink2)}
.vg-mais:hover{border-color:var(--ink);color:var(--ink)}
.vg-mais .ic{width:16px;height:16px}
.vg-ativs{list-style:none;margin:0;padding:0}
.vg-livre{color:var(--ink3);font-size:13px;padding:12px 18px;list-style:none}
.vg-ativ{display:flex;align-items:center;gap:12px;padding:11px 8px 11px 18px;border-bottom:1px solid var(--vg-linha2);cursor:pointer;min-width:0;background:var(--card)}
.vg-ativ:last-child{border-bottom:0}
.vg-ativ:hover,.vg-lin:hover,.vg-hosp:hover{background:var(--hover)}
.vg-ativ.arrastando{opacity:.45}
.vg-ativ[draggable="true"]{cursor:grab}
.vg-hora{width:44px;flex:0 0 auto;font-size:13px;font-weight:500;color:var(--ink2);text-align:right}
.vg-tipo{width:34px;height:34px;border-radius:50%;background:var(--accent-soft);color:var(--ink2);display:grid;place-items:center;flex:0 0 auto}
.vg-tipo .ic{width:17px;height:17px}
.vg-lin-tx{flex:1;min-width:0}
.vg-lin-tx b{display:block;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vg-lin-tx small{display:block;color:var(--ink3);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vg-ativ .vg-lin-tx b,.vg-ativ .vg-lin-tx small{white-space:normal}
.vg-mapa{display:inline-flex;align-items:center;gap:4px;color:var(--ink2);text-decoration:underline;text-decoration-color:var(--vg-linha);text-underline-offset:3px}
.vg-mapa:hover{color:var(--ink);text-decoration-color:var(--ink)}
.vg-mapa .ic{width:13px;height:13px}
/* hospedagens */
.vg-hosp{padding:16px 18px;display:flex;flex-direction:column;gap:12px;cursor:pointer;transition:border-color .12s,box-shadow .12s}
.vg-hosp:hover{border-color:var(--ink3);box-shadow:0 6px 18px rgba(0,0,0,.08)}
.vg-hosp-datas{display:grid;grid-template-columns:1fr 1fr auto;border:1px solid var(--vg-linha2);border-radius:12px;overflow:hidden}
.vg-hosp-datas>div{padding:8px 12px;display:flex;flex-direction:column;min-width:0}
.vg-hosp-datas>div+div{border-left:1px solid var(--vg-linha2)}
.vg-hosp-datas span{font-size:11.5px;color:var(--ink3)}
.vg-hosp-datas b{font-size:14px;font-weight:600;white-space:nowrap}
.vg-hosp-datas small{font-size:12px;color:var(--ink3)}
.vg-hosp-pe{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:auto}
.vg-hosp-valor{margin-left:auto;font-weight:600;font-size:15px}
.vg-hosp-sem{margin-left:auto;color:var(--ink3);font-size:12.5px}
/* gastos, acertos e pessoas */
.vg-cats .vg-meter{display:grid;grid-template-columns:104px minmax(0,1fr) 96px;gap:12px;align-items:center;padding:5px 0;font-size:13px}
.vg-meter i{display:block;height:8px;border-radius:99px;background:var(--track);overflow:hidden}
.vg-meter i b{display:block;height:100%;border-radius:99px;background:var(--ink3)}
.vg-meter em{font-style:normal;font-weight:500;text-align:right}
.vg-lin{display:flex;align-items:center;gap:12px;padding:11px 8px 11px 18px;border-bottom:1px solid var(--vg-linha2);cursor:pointer;min-width:0}
.vg-lin:last-child{border-bottom:0}
.vg-lin.apagado{opacity:.55}
.vg-data{width:40px;flex:0 0 auto;text-align:center;font-size:12px;color:var(--ink3);line-height:1.1}
.vg-data b{display:block;font-size:17px;color:var(--ink);font-weight:600}
.vg-lin-val{text-align:right;flex:0 0 auto;max-width:46%}
.vg-lin-val b{display:block;font-weight:600;white-space:nowrap}
.vg-lin-val small{display:block;color:var(--ink3);font-size:11.5px;margin-top:2px}
.vg-sem-menu{width:36px;flex:0 0 auto}
.vg-avatar{width:34px;height:34px;border-radius:50%;background:var(--accent-soft);color:var(--ink2);display:grid;place-items:center;font-weight:600;font-size:14px;flex:0 0 auto}
.vg-lin .chip{flex:0 0 auto}
.vg-lin-tx b .chip{margin-left:6px;vertical-align:1px}
.vg-lin.sug{flex-wrap:nowrap}
.vg-pedir{flex:0 0 auto;margin-right:2px;padding:7px 14px;font-size:13px}
/* estados e textos */
.vg-vazio{text-align:center;padding:34px 18px;border:1px dashed var(--vg-linha);border-radius:18px;background:var(--card);color:var(--ink2);display:flex;flex-direction:column;align-items:center;gap:14px}
.vg-erro{border-style:solid}
.vg-carrega{padding:26px 6px;color:var(--ink3);font-size:13px}
.vg-carrega p{margin-top:10px}
.vg-barra{height:3px;border-radius:3px;background:var(--track);overflow:hidden;position:relative}
.vg-barra i{position:absolute;top:0;bottom:0;width:38%;border-radius:3px;background:var(--ink);animation:vgBarra 1.1s ease-in-out infinite}
@keyframes vgBarra{from{left:-38%}to{left:100%}}
@media (prefers-reduced-motion:reduce){.vg-barra i{animation:none;left:0;width:100%;opacity:.55}}
/* pop-up de ver, formulários e a janela do link */
.vg-ver .vg-destaque{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0 14px}
.vg-ver .vg-destaque b{font-size:26px;letter-spacing:-.02em}
.vg-pre{white-space:pre-wrap}
.vg-ext{display:inline-flex;align-items:center;gap:5px;text-decoration:underline;text-underline-offset:3px}
.vg-ext .ic{width:14px;height:14px}
.vg-ver .ver-l .btn.mini{margin-left:8px;padding:4px 10px;font-size:12px}
.vg-conf{font-size:12.5px;padding:8px 12px;border-radius:12px;background:var(--accent-soft);color:var(--ink2)}
.vg-conf.ok{background:var(--good-soft);color:var(--good)}
.vg-conf.falta{background:var(--warn-soft);color:var(--warn)}
.vg-link-txt{word-break:break-all;white-space:pre-wrap;font-size:12.5px}
.vg-link-dlg .conf-acoes{flex-direction:column}
.vg-link-dlg .conf-acoes .btn{width:100%}
@media (max-width:640px){
  .vg-grade{grid-template-columns:minmax(0,1fr)}
  .vg-topo{padding:16px 16px 0}
  .vg-stats{margin:12px -16px 0}
  .vg-stats>div{padding:10px 10px 10px 14px}
  .vg-stats b{font-size:15px}
  .vg-dia header{padding-left:14px}
  .vg-ativ,.vg-lin{padding-left:14px;gap:10px}
  .vg-hora{width:38px;font-size:12.5px}
  .vg-lin-val{max-width:52%}
  .vg-lin-tx b,.vg-lin-tx small{white-space:normal}
  .vg-lin.sug{flex-wrap:wrap}
  .vg-lin.sug .vg-pedir{order:5;flex:1 1 100%;margin:4px 8px 4px 44px}
  .vg-cats .vg-meter{grid-template-columns:84px minmax(0,1fr) 88px;gap:8px}
  .vg-lista h3{padding-left:14px}
}
