/* Juliana Digital CRM. Cores, espaçamentos e componentes tirados dos mockups. */
*{box-sizing:border-box;margin:0;padding:0}

:root,[data-tema="escuro"]{
  --bg:#0d0f13;--pn:#171a21;--pn2:#1d212a;--bd:#272c37;--tx:#e9ebef;--mu:#8e95a3;
  --ok:#4cc38a;--wa:#f0b24a;--er:#ef6a62;--fr:#5aa9e6;
  --side:#12151b;--campo:#12151b;--sobre-ac:#0d0f13;--sombra:0 18px 50px rgba(0,0,0,.55);
  --c-ok:#183b2c;--c-wa:#43331a;--c-er:#471f1d;--c-fr:#1c3350;--neutro:#2b3142;
  --ac:var(--ac-escuro,#8aa4ff);
  color-scheme:dark;
}
[data-tema="claro"]{
  --bg:#eceef3;--pn:#ffffff;--pn2:#f6f7fa;--bd:#dcdfe7;--tx:#1b1e26;--mu:#6b7280;
  --ok:#1f9d63;--wa:#b87a0c;--er:#d4443c;--fr:#2878c2;
  --side:#f1f2f6;--campo:#ffffff;--sobre-ac:#ffffff;--sombra:0 18px 50px rgba(20,24,40,.18);
  --c-ok:#d6f0e3;--c-wa:#f6e8c8;--c-er:#f8dcda;--c-fr:#dbe9f7;--neutro:#e3e7f5;
  --ac:var(--ac-claro,#4466e0);
  color-scheme:light;
}
@media (prefers-color-scheme:light){
  [data-tema="auto"]{
    --bg:#eceef3;--pn:#ffffff;--pn2:#f6f7fa;--bd:#dcdfe7;--tx:#1b1e26;--mu:#6b7280;
    --ok:#1f9d63;--wa:#b87a0c;--er:#d4443c;--fr:#2878c2;
    --side:#f1f2f6;--campo:#ffffff;--sobre-ac:#ffffff;--sombra:0 18px 50px rgba(20,24,40,.18);
    --c-ok:#d6f0e3;--c-wa:#f6e8c8;--c-er:#f8dcda;--c-fr:#dbe9f7;--neutro:#e3e7f5;
    --ac:var(--ac-claro,#4466e0);
    color-scheme:light;
  }
}
:root{--ac-suave:color-mix(in srgb,var(--ac) 16%,var(--pn2));--ac-menu:color-mix(in srgb,var(--ac) 13%,var(--side))}

html,body{min-height:100%}
html{background:var(--pn)}
body{background:var(--pn);color:var(--tx);font:15px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--ac);text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0}
img{display:block;max-width:100%}
.mu{color:var(--mu)}
.oculto{display:none!important}
:focus-visible{outline:2px solid var(--ac);outline-offset:2px}

/* ---------- Layout ---------- */
.app{display:flex;min-height:100vh}
.side{width:220px;flex:none;background:var(--side);border-right:1px solid var(--bd);padding:18px 12px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}
.nm{font-size:13px;font-weight:800;letter-spacing:.02em;margin:0 8px 14px;color:var(--ac)}
.nm span{color:var(--tx);font-weight:600}
.side .lg{display:flex;align-items:center;gap:10px;font-weight:700;margin:0 8px 16px;font-size:16px;min-width:0}
.side .lg span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.av{width:36px;height:36px;border-radius:50%;background:var(--neutro);border:1px solid var(--ac);color:var(--ac);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex:none;overflow:hidden}
.av img{width:100%;height:100%;object-fit:cover}
.menu a{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;border-radius:8px;color:var(--mu);margin-bottom:2px;font-size:14px}
.menu a:hover{color:var(--tx)}
.menu a.on{background:var(--ac-menu);color:var(--tx)}
.menu a small{font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;opacity:.7}
.side .fim{margin-top:auto;padding-top:14px}
.side .fim button{display:block;width:100%;text-align:left;padding:9px 12px;border-radius:8px;color:var(--mu);font-size:14px}
.side .fim button:hover{color:var(--tx)}
.main{flex:1;padding:22px 26px 40px;min-width:0}
.barra-movel{display:none}

.top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.top h2{font-size:22px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pills{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.pill{padding:6px 14px;border:1px solid var(--bd);border-radius:99px;color:var(--mu);font-size:13px;white-space:nowrap}
.pill:hover{color:var(--tx)}
.pill.on{background:var(--ac);color:var(--sobre-ac);border-color:var(--ac);font-weight:600}

/* ---------- Cartões e linhas ---------- */
.grid{display:grid;gap:14px}
.g2{grid-template-columns:1fr 1fr}
.g3{grid-template-columns:1fr 1fr 1fr}
.inteiro{grid-column:1/-1}
.card{background:var(--pn2);border:1px solid var(--bd);border-radius:10px;padding:14px;min-width:0}
.card h3{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--mu);margin-bottom:10px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.card h3 .acoes{display:flex;gap:6px;text-transform:none;letter-spacing:0}
.row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:7px 0;border-top:1px solid var(--bd);font-size:14px}
.card > .row:first-of-type,.card h3 + .row{border-top:0}
.row > :first-child{flex-shrink:0;max-width:48%}
.row > :last-child{text-align:right;min-width:0;overflow-wrap:break-word}
.row > :only-child{max-width:none;text-align:left;flex-shrink:1}
.row .chip{align-self:flex-start}
.row.so{display:block}
.row.so > *{max-width:none}
.row.so > :last-child{text-align:left}
.vazio{color:var(--mu);font-size:13px;padding:6px 0}
.nota-rodape{margin-top:12px;font-size:12.5px;color:var(--mu)}
.dica{font-size:12.5px;color:var(--mu);margin-top:8px}
.pre{white-space:pre-wrap}

.chip{flex:none;white-space:nowrap;display:inline-block;padding:2px 9px;border-radius:99px;font-size:11.5px;font-weight:600}
.c-ok{background:var(--c-ok);color:var(--ok)}
.c-wa{background:var(--c-wa);color:var(--wa)}
.c-er{background:var(--c-er);color:var(--er)}
.c-fr{background:var(--c-fr);color:var(--fr)}
.c-ne{background:var(--ac-suave);color:var(--ac)}
.c-mu{background:var(--neutro);color:var(--mu)}
button.chip:hover{filter:brightness(1.15)}
.chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center}

.logo{width:26px;height:26px;border-radius:7px;background:var(--neutro);color:var(--ac);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex:none;overflow:hidden;vertical-align:middle}
.logo img{width:100%;height:100%;object-fit:contain}

/* ---------- Botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;border-radius:8px;border:1px solid var(--bd);font-size:12.5px;color:var(--tx);background:transparent;white-space:nowrap;line-height:1.3}
.btn:hover{border-color:var(--mu)}
.btn.p{background:var(--ac);color:var(--sobre-ac);font-weight:700;border-color:var(--ac)}
.btn.p:hover{filter:brightness(1.08)}
.btn.g{padding:9px 16px;font-size:13.5px;font-weight:700}
.btn.perigo{color:var(--er);border-color:color-mix(in srgb,var(--er) 45%,var(--bd))}
.btn[disabled],.btn[aria-disabled="true"]{opacity:.45;cursor:not-allowed}
.btn.mini{padding:3px 9px;font-size:12px}
.lnk{color:var(--ac);font-size:13px}
.lnk:hover{text-decoration:underline}

/* ---------- Tabela ---------- */
.tbl{width:100%;border-collapse:collapse;font-size:13.5px}
.tbl th{text-align:left;font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--mu);padding:8px 10px;border-bottom:1px solid var(--bd);font-weight:600}
.tbl td{padding:10px;border-bottom:1px solid var(--bd);vertical-align:middle}
.tbl tbody tr:last-child td{border-bottom:0}
.tbl tbody tr.clicavel{cursor:pointer}
.tbl tbody tr.clicavel:hover td{background:color-mix(in srgb,var(--ac) 5%,transparent)}
.tbl tfoot td{padding:10px;border-top:1px solid var(--bd);border-bottom:0}
.tbl th.num{text-align:right}
.num{text-align:right;font-variant-numeric:tabular-nums}
.nome-conta{display:inline-flex;align-items:center;gap:8px;font-weight:700}
.atalhos{display:flex;gap:4px;flex-wrap:wrap}

/* ---------- Separadores ---------- */
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--bd);margin-bottom:16px;overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs button{padding:9px 14px;color:var(--mu);font-size:13.5px;border-bottom:2px solid transparent;white-space:nowrap}
.tabs button:hover{color:var(--tx)}
.tabs button.on{color:var(--tx);border-bottom-color:var(--ac)}
.tabs.pills-tabs{gap:4px;padding-bottom:12px}
.tabs.pills-tabs button{padding:6px 14px;border:1px solid var(--bd);border-radius:99px;font-size:13px}
.tabs.pills-tabs button.on{background:var(--ac);color:var(--sobre-ac);border-color:var(--ac);font-weight:600}

/* ---------- Cabeçalho da ficha de conta ---------- */
.hd{display:flex;gap:18px;align-items:center;margin-bottom:16px;flex-wrap:wrap}
.big{width:72px;height:72px;border-radius:16px;background:var(--neutro);color:var(--ac);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:22px;border:1px dashed var(--ac);flex:none;overflow:hidden}
.big.tem{border-style:solid;border-color:var(--bd);background:var(--pn2)}
.big img{width:100%;height:100%;object-fit:contain}
.hd .info{flex:1 1 240px;min-width:0}
.hd h2{font-size:24px}
.hd .sub{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:var(--mu);margin-top:2px}
.hd .btns{display:flex;gap:8px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}

/* ---------- Identidade ---------- */
.sw{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.sw i{display:block;width:54px;height:54px;border-radius:10px;border:1px solid var(--bd)}
.sw small{display:block;font-size:11px;color:var(--mu);margin-top:4px;text-align:center}
.ref{display:flex;gap:10px;flex-wrap:wrap}
.ref figure{width:110px}
.ref .im{width:110px;height:80px;border-radius:8px;background:var(--neutro);border:1px solid var(--bd);overflow:hidden;position:relative}
.ref .im img{width:100%;height:100%;object-fit:cover}
.ref figcaption{font-size:11.5px;color:var(--mu);margin-top:4px;line-height:1.3;overflow-wrap:break-word}
.ref .im button{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:6px;background:rgba(0,0,0,.6);color:#fff;font-size:13px;line-height:22px}
.ref .vaga{width:110px;height:80px;border-radius:8px;border:1px dashed var(--bd);color:var(--mu);font-size:12px;display:flex;align-items:center;justify-content:center}
.ref .vaga:hover{border-color:var(--ac);color:var(--ac)}

/* ---------- Configurações ---------- */
.up{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.ph{width:110px;height:110px;border-radius:50%;background:var(--neutro);border:2px dashed var(--ac);color:var(--ac);display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:800;flex:none;overflow:hidden}
.ph.tem,.lgo.tem{border-style:solid;border-color:var(--bd)}
.ph img{width:100%;height:100%;object-fit:cover}
.lgo{width:200px;height:90px;border-radius:12px;background:var(--neutro);border:2px dashed var(--ac);color:var(--ac);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;flex:none;overflow:hidden;padding:8px}
.lgo img{max-width:100%;max-height:100%;object-fit:contain}
.up > div:last-child{flex:1 1 200px;min-width:0}
.up .btns{display:flex;gap:8px;flex-wrap:wrap}
.themes{display:flex;gap:10px}
.th{flex:1;text-align:center;font-size:12.5px;color:var(--mu);border-radius:12px;padding:0}
.th.on{color:var(--tx)}
.th.on .pv{outline:2px solid var(--ac);outline-offset:2px}
.pv{height:64px;border-radius:10px;border:1px solid var(--bd);margin-bottom:6px;padding:8px;display:flex;gap:6px}
.pv i{display:block;border-radius:5px;flex:1}
.pv.l{background:#f4f5f8}.pv.l i{background:#dfe3ec}
.pv.d{background:#12151b}.pv.d i{background:#272c37}
.pv.a{background:linear-gradient(90deg,#f4f5f8 50%,#12151b 50%)}.pv.a i{background:#8e95a3;opacity:.45}
.cores{display:flex;gap:10px;margin-top:10px}
.cores button{width:32px;height:32px;border-radius:50%;border:1px solid var(--bd)}
.cores button.on{outline:2px solid var(--tx);outline-offset:2px}
.tg{display:inline-block;width:34px;height:18px;border-radius:99px;background:var(--neutro);position:relative;vertical-align:middle;flex:none;border:0}
.tg::after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--mu);transition:left .15s}
.tg[aria-checked="true"]{background:var(--ac)}
.tg[aria-checked="true"]::after{left:18px;background:var(--sobre-ac)}
.barra{display:flex;height:14px;border-radius:99px;overflow:hidden;background:var(--bd);margin:6px 0 10px}
.barra i{display:block;height:100%}
.legenda{display:flex;justify-content:space-between;gap:10px;font-size:13px;flex-wrap:wrap}

/* ---------- Formulários e janelas ---------- */
.fundo{position:fixed;inset:0;background:rgba(5,7,10,.62);display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px;z-index:50;overflow-y:auto}
.janela{width:100%;max-width:560px;background:var(--pn);border:1px solid var(--bd);border-radius:14px;box-shadow:var(--sombra)}
.janela.larga{max-width:820px}
.janela header{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--bd)}
.janela header h3{font-size:17px}
.janela .corpo{padding:16px 18px}
.janela footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 18px;border-top:1px solid var(--bd)}
.fechar{width:30px;height:30px;border-radius:8px;color:var(--mu);font-size:20px;line-height:1}
.fechar:hover{color:var(--tx);background:var(--pn2)}
.campos{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}
.campos .inteiro{grid-column:1/-1}
.grupo-titulo{grid-column:1/-1;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--mu);margin-top:8px;padding-top:12px;border-top:1px solid var(--bd)}
.grupo-titulo:first-child{margin-top:0;padding-top:0;border-top:0}
label.campo,div.campo{display:block;font-size:12.5px;color:var(--mu)}
label.campo > span,div.campo > span{display:block;margin-bottom:5px}
.in{width:100%;background:var(--campo);border:1px solid var(--bd);border-radius:9px;padding:10px 12px;font-size:14px;color:var(--tx)}
.in:focus{outline:none;border-color:var(--ac);box-shadow:0 0 0 3px color-mix(in srgb,var(--ac) 22%,transparent)}
textarea.in{min-height:84px;resize:vertical}
select.in{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--mu) 50%),linear-gradient(135deg,var(--mu) 50%,transparent 50%);background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:32px}
.in.erro{border-color:var(--er)}
.ajuda{font-size:12px;color:var(--mu);margin-top:4px}
.opcoes{display:flex;gap:8px;flex-wrap:wrap}
.opcoes label{display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid var(--bd);border-radius:9px;font-size:13.5px;color:var(--tx);cursor:pointer}
.opcoes label:has(input:checked){border-color:var(--ac);background:var(--ac-suave)}
.opcoes input{accent-color:var(--ac)}
.msg-erro{color:var(--er);font-size:13px;margin-top:10px}
.msg-ok{color:var(--ok);font-size:13px;margin-top:10px}
.lista-sel{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow-y:auto}
.lista-sel label{display:flex;gap:10px;align-items:center;padding:9px 12px;border:1px solid var(--bd);border-radius:9px;font-size:13.5px;cursor:pointer}
.lista-sel label:has(input:checked){border-color:var(--ac);background:var(--ac-suave)}

.aviso{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--tx);color:var(--pn);padding:10px 16px;border-radius:10px;font-size:14px;z-index:60;box-shadow:var(--sombra);max-width:calc(100vw - 32px)}
.aviso.erro{background:var(--er);color:#fff}

/* ---------- Entrada ---------- */
.entrada{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:34px 16px;background:var(--bg)}
.box{width:440px;max-width:100%;background:var(--pn);border:1px solid var(--bd);border-radius:16px;padding:34px}
.box .lgo-e{width:84px;height:84px;margin:0 auto 14px;border-radius:50%;background:var(--neutro);border:2px dashed var(--ac);color:var(--ac);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:24px;overflow:hidden}
.box .lgo-e.tem{border-style:solid;border-color:var(--bd)}
.box .lgo-e img{width:100%;height:100%;object-fit:cover}
.box .marca-img{max-height:44px;max-width:220px;margin:0 auto 10px}
.nm2{text-align:center;font-size:22px;font-weight:800}
.nm2 span{color:var(--ac)}
.hi{text-align:center;color:var(--mu);margin:4px 0 22px;font-size:14px}
.box label{display:block;font-size:12.5px;color:var(--mu);margin:12px 0 5px}
.box .go{margin-top:18px;width:100%;background:var(--ac);color:var(--sobre-ac);text-align:center;font-weight:700;padding:12px;border-radius:9px;font-size:15px}
.box .go[disabled]{opacity:.6}
.box .lk{display:block;text-align:center;margin:14px auto 0;font-size:13px;color:var(--ac)}
.box .nt{margin-top:18px;padding-top:14px;border-top:1px solid var(--bd);font-size:12.5px;color:var(--mu);text-align:center}

/* ---------- Em breve ---------- */
.breve{max-width:620px}
.breve .card{padding:22px}
.breve h3{font-size:12px}
.breve p{font-size:14.5px;margin-top:4px}


/* ---------- Fase B: filtros, quadro, ficha do conteúdo, calendário, tarefas ---------- */
.oculto-leitor{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.filtros{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap;align-items:center}
select.ft{appearance:none;background:transparent;border:1px solid var(--bd);border-radius:8px;padding:6px 26px 6px 12px;font-size:13px;color:var(--mu);
  background-image:linear-gradient(45deg,transparent 50%,var(--mu) 50%),linear-gradient(135deg,var(--mu) 50%,transparent 50%);
  background-position:calc(100% - 13px) 52%,calc(100% - 9px) 52%;background-size:4px 4px;background-repeat:no-repeat;max-width:190px}
select.ft:hover{color:var(--tx)}
select.ft option{background:var(--pn);color:var(--tx)}
.in.pesquisa{width:170px;padding:6px 12px;font-size:13px;border-radius:8px}
.mes-nav{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--bd);border-radius:8px;padding:2px 4px;font-size:13px;color:var(--mu);margin-left:auto}
.mes-nav span{padding:0 6px;min-width:110px;text-align:center}
.mes-nav button{width:26px;height:26px;border-radius:6px;color:var(--mu);font-size:16px}
.mes-nav button:hover{background:var(--pn2);color:var(--tx)}
.board{display:grid;gap:10px;overflow-x:auto;padding-bottom:4px}
.col{background:var(--side);border:1px solid var(--bd);border-radius:10px;padding:10px;min-height:520px;min-width:0}
.col h4{font-size:12px;color:var(--mu);margin-bottom:10px;display:flex;justify-content:space-between;gap:6px;text-transform:uppercase;letter-spacing:.04em}
.k{background:var(--pn2);border:1px solid var(--bd);border-radius:8px;padding:10px;margin-bottom:8px;font-size:13px;cursor:pointer}
.k:hover{border-color:color-mix(in srgb,var(--ac) 50%,var(--bd))}
.k .t{margin:6px 0;font-weight:600}
.k .m{color:var(--mu);font-size:12px;line-height:1.6}
.k .h{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--mu)}
.dif{margin-top:6px;font-size:11.5px;color:var(--wa)}
.k-acoes{margin-top:8px}
.k-acoes .btn{opacity:.85}
.opt{margin-top:10px;font-size:11.5px;color:var(--mu);border:1px dashed var(--bd);border-radius:8px;padding:8px}
.sub-conteudo{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:var(--mu);margin-bottom:14px}
.step{display:flex;gap:6px;margin:0 0 16px;overflow-x:auto}
.step button{flex:1;min-width:96px;text-align:center;padding:8px 4px;border-radius:8px;border:1px solid var(--bd);font-size:11.5px;color:var(--mu);background:transparent}
.step button.done{color:var(--ok)}
.step button.now{background:var(--ac);color:var(--sobre-ac);font-weight:700;border-color:var(--ac);opacity:1}
.step button.pode{color:var(--tx);border-color:color-mix(in srgb,var(--ac) 55%,var(--bd));cursor:pointer}
.step button.pode:hover{background:var(--ac-suave)}
.step button[disabled]:not(.now){cursor:default}
.card.aviso-borda{border-color:var(--wa)}
.cal-grid{display:grid;grid-template-columns:3fr 1fr;gap:14px;align-items:start}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cal .hcal{font-size:11.5px;color:var(--mu);text-transform:uppercase;letter-spacing:.05em;padding:2px 6px}
.cal .d{min-height:104px;background:var(--side);border:1px solid var(--bd);border-radius:8px;padding:6px;font-size:12px;min-width:0}
.cal .d.o{opacity:.45}
.cal .d.t{border-color:var(--ac);box-shadow:0 0 0 1px var(--ac)}
.cal .n{color:var(--mu);margin-bottom:4px}
.cal .t .n{color:var(--ac);font-weight:700}
.ev{display:block;width:100%;text-align:left;border-radius:6px;padding:4px 6px;margin-bottom:4px;font-size:11.5px;line-height:1.25;overflow-wrap:break-word}
.ev:hover{filter:brightness(1.12)}
.ev.c-ok,.ev.c-fr,.ev.c-ne,.ev.c-wa,.ev.c-mu{color:var(--tx)}
.ev.c-ok{background:color-mix(in srgb,var(--ok) 22%,var(--pn2))}
.ev.c-fr{background:color-mix(in srgb,var(--fr) 22%,var(--pn2))}
.ev.c-ne{background:color-mix(in srgb,var(--ac) 20%,var(--pn2))}
.ev.c-wa{background:color-mix(in srgb,var(--wa) 22%,var(--pn2))}
.ev.tarefa{background:var(--pn2);border:1px solid var(--bd);color:var(--tx)}
.cal-lista{display:none}
.cal-lista .card{margin-bottom:10px}
.sem-data .row{font-size:12.5px}
.sem-data .row button{white-space:normal;width:100%}
/* A tabela das tarefas nunca fica por baixo dos cartões: abaixo da largura que ela
   precisa, os cartões da direita passam para baixo dela. */
.tarefas-grid{display:flex;flex-wrap:wrap;align-items:flex-start;gap:14px}
.tarefas-grid > :first-child{flex:999 1 780px;min-width:0}
.tarefas-grid > :last-child{flex:1 1 300px;min-width:0}
/* Uma tabela mais larga do que o cartão desliza dentro dele, nunca por cima do vizinho. */
.card:has(> table),.card:has(> div > table){overflow-x:auto}
.semana{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.dia{background:var(--side);border:1px solid var(--bd);border-radius:10px;padding:8px;min-height:320px;min-width:0}
.dia.hoje{border-color:var(--ac);box-shadow:0 0 0 1px var(--ac)}
.dia h4{font-size:12px;color:var(--mu);margin-bottom:8px;display:flex;justify-content:space-between;text-transform:uppercase;letter-spacing:.04em}
.dia.hoje h4 span:first-child{color:var(--ac)}


/* ---------- Fase C: potenciais clientes, financeiro, início ---------- */
.seg{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:14px}
.kpi-seg{text-align:left;background:var(--pn2);border:1px solid var(--bd);border-radius:10px;padding:14px 14px;color:var(--tx)}
.kpi-seg b{display:block;font-size:22px;margin-bottom:4px}
.kpi-seg span{font-size:12.5px;color:var(--mu)}
.kpi-seg.destaque{border-color:var(--ok);box-shadow:0 0 0 1px var(--ok)}
.kpi-seg:not([disabled]):hover{border-color:var(--ac)}
.kpi-seg[disabled]{cursor:default;opacity:1}
.ft.seguir{border:1px solid var(--bd);border-radius:8px;padding:6px 12px;font-size:13px;color:var(--ok)}
.ft.seguir.on{border-color:var(--ok);background:var(--c-ok)}
.tbl tr.hl td{background:color-mix(in srgb,var(--ok) 7%,transparent)}
.nota-ok{margin-top:6px;font-size:11.5px;color:var(--ok)}
.btn.ganho{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 55%,var(--bd))}
.kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}
.kpi > div{background:var(--pn2);border:1px solid var(--bd);border-radius:10px;padding:12px 16px}
.kpi b{display:block;font-size:24px;margin-top:2px}
.kpi span{font-size:12px;color:var(--mu)}


/* ---------- Fase D: imagens que falham, texto que não cabe ---------- */
.ph > span,.lgo > span,.ref .im > span{display:flex;width:100%;height:100%;align-items:center;justify-content:center}
.ref .im > span.sem-imagem{font-size:11px;color:var(--mu);text-align:center;padding:4px}
.card,.k,.top h2,.hd h2,.tbl td,.row > *,.janela header h3,.dia,.ev{overflow-wrap:break-word;word-break:normal}
.tbl th{overflow-wrap:normal;hyphens:none}
.k .t,.hd .info,.top h2{min-width:0}

/* ---------- Telemóvel ---------- */
@media (max-width:900px){
  .g3{grid-template-columns:1fr 1fr}
}
@media (max-width:1100px){
  .cal-grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  .app{display:block}
  .barra-movel{display:flex;align-items:center;justify-content:space-between;gap:10px;position:sticky;top:0;z-index:30;background:var(--side);border-bottom:1px solid var(--bd);padding:10px 14px}
  .barra-movel .nm{margin:0;font-size:14px}
  .barra-movel button{display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--bd);border-radius:9px;font-size:13px}
  .side{position:fixed;inset:0 auto 0 0;width:260px;z-index:40;transform:translateX(-100%);transition:transform .2s ease;height:100%}
  .app.menu-aberto .side{transform:none;box-shadow:var(--sombra)}
  .app.menu-aberto::after{content:"";position:fixed;inset:0;background:rgba(5,7,10,.5);z-index:35}
  .main{padding:16px 14px 40px}
  .g2,.g3,.campos{grid-template-columns:1fr}
  .top h2{font-size:20px}
  .hd{gap:12px}
  .hd .btns{margin-left:0;width:100%;justify-content:flex-start}
  .hd .btns > *{flex:1 1 auto}
  .big{width:56px;height:56px;font-size:17px;border-radius:12px}
  .hd h2{font-size:20px}
  .themes{flex-direction:column}
  .th{display:flex;align-items:center;gap:12px;text-align:left}
  .th .pv{width:120px;margin:0}
  /* tabelas passam a cartões */
  .tbl.responsiva thead{display:none}
  .tbl.responsiva,.tbl.responsiva tbody,.tbl.responsiva tr,.tbl.responsiva td{display:block;width:100%}
  .tbl.responsiva tr{padding:10px 0;border-bottom:1px solid var(--bd)}
  .tbl.responsiva tbody tr:last-child{border-bottom:0}
  .tbl.responsiva td{border:0;padding:3px 0;display:flex;justify-content:space-between;gap:12px;text-align:right}
  .tbl.responsiva td::before{content:attr(data-r);color:var(--mu);font-size:12.5px;text-align:left}
  .tbl.responsiva td.primeira{font-size:15px;padding-bottom:6px}
  .tbl.responsiva td.primeira::before{content:none}
  .tbl.responsiva tfoot{display:block}
  .tbl.responsiva tfoot tr,.tbl.responsiva tfoot td{display:block}
  .board{grid-template-columns:repeat(var(--ncol,7),260px)!important}
  .col{min-height:0}
  .cal-grid{grid-template-columns:1fr}
  .cal{display:none}
  .cal-lista{display:block}
  .semana{grid-template-columns:1fr}
  .dia{min-height:0}
  .mes-nav{margin-left:0}
  .in.pesquisa{width:100%}
  select.ft{max-width:none;min-width:0}
  .step button{min-width:110px}
  .seg{grid-template-columns:1fr 1fr}
  .seg .kpi-seg:last-child{grid-column:1/-1}
  .kpi{grid-template-columns:1fr 1fr}
  /* alvos de toque de pelo menos 32 px */
  .main a,.main button,.main select,.janela button,.janela select,.barra-movel button{min-height:32px}
  .main a:not(.btn):not(.pill):not(.chip):not(.ev),.main button.lnk{display:inline-flex;align-items:center}
  .btn.mini{min-height:32px;padding:5px 10px}
  .main button.chip,.main a.chip{display:inline-flex;align-items:center;min-height:32px;padding:4px 12px}
  .tg{width:52px;height:32px}
  .tg::after{width:26px;height:26px;top:3px;left:3px}
  .tg[aria-checked="true"]::after{left:23px}
  .mes-nav button{width:32px;height:32px}
  .fechar{width:36px;height:36px}
  .ref .im button{width:32px;height:32px;line-height:32px}
  .side .menu a,.side .fim button{min-height:40px}
  select.ft{flex:1 1 100%}
  .janela footer{flex-wrap:wrap}
  .janela footer .btn{flex:1}
  .box{padding:26px 20px}
}
@media print{.side,.barra-movel{display:none}}
.aviso-acao{margin-left:12px;padding:4px 10px;border-radius:8px;border:1px solid currentColor;color:inherit;font-weight:700;min-height:32px}
.entrada > main{width:100%;max-width:440px;min-width:0}
.box .lk{display:flex;align-items:center;justify-content:center;min-height:32px;width:fit-content}
.aviso-mes{margin-bottom:12px;border-color:var(--wa)}
