/* =========================================================
   CDF INTERNO — visual (tema CLARO, azul CDF como acento)
   Celular primeiro; PC (900px ou mais) ganha barra lateral.
   Cor de cada estágio/status: objeto CORES no topo do app.js
   (o JS põe --cor, --cor-bg, --cor-bg2, --cor-ln e --cor-tx em quem tem data-cat).
   ========================================================= */

/* === CORES E FONTES === */
:root{
  /* fundo e superfícies */
  --bg:#F3F2EE; --panel:#FFFFFF; --panel2:#F7F6F2; --panel3:#EEECE7;
  --line:#E3E0D9; --line2:#CFCBC2;
  /* texto */
  --fg:#24282F; --muted:#5D646E; --faint:#8A909A;
  /* marca (azul CDF) */
  --accent:#1F5A94; --accent-hover:#184A7C; --accent-hi:#3D8ED6; --accent-bg:#EAF2FB; --accent-bg2:#DCEAF8; --accent-ln:#BCD4EE;
  /* estados */
  --ok:#167A3E; --ok-bg:#E6F4EA; --ok-ln:#B5DCC0;
  --warn:#8A5300; --warn-bg:#FFF3D6; --warn-ln:#EFCB7B; --warn-forte:#F6C453; --warn-forte-tx:#3A2600;
  --bad:#B42318; --bad-bg:#FDECEA; --bad-ln:#F2BDB7;
  --neutro:#7C8592; --wa:#25D366; --wa-tx:#06260F;
  /* sombras e vidro */
  --sh1:0 1px 2px rgba(36,40,47,.05),0 1px 3px rgba(36,40,47,.06);
  --sh2:0 6px 18px rgba(36,40,47,.08);
  --sh3:-12px 0 32px rgba(36,40,47,.12);
  --sh-abas:0 -1px 3px rgba(36,40,47,.05); --sh-toast:0 8px 24px rgba(36,40,47,.22);
  --vidro:rgba(255,255,255,.94);
  --toast-bg:#24282F; --toast-tx:#FFFFFF; --on-accent:#FFFFFF;
  /* fontes e medidas */
  --display:"Bebas Neue","Bahnschrift","Arial Narrow",sans-serif;
  --body:"Barlow","Bahnschrift","Segoe UI",system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Consolas,monospace;
  --topo-h:64px; --abas-h:64px; --lat-w:220px; --ficha-w:520px;
  --sb:env(safe-area-inset-bottom,0px); --sl:env(safe-area-inset-left,0px); --sr:env(safe-area-inset-right,0px); --st:env(safe-area-inset-top,0px);
  color-scheme:light;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--fg);font-family:var(--body);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}
button,input,select,textarea{font:inherit;color:inherit}
option{background:var(--panel);color:var(--fg)}
a{color:var(--accent)}
[hidden]{display:none!important}
.mono{font-family:var(--mono)}
.muted{color:var(--muted)}
.pos{color:var(--ok)} .neg{color:var(--bad)}

/* === CARREGANDO / LOGIN === */
.carregando{min-height:100vh;display:grid;place-items:center;color:var(--muted);font-family:var(--display);font-size:1.6rem;letter-spacing:.1em}
.login{min-height:100vh;display:grid;place-items:center;padding:24px max(16px,var(--sr)) calc(24px + var(--sb)) max(16px,var(--sl))}
.login form,.login .cartao{width:100%;max-width:400px;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--sh2)}
.login img{width:72px;height:72px;border-radius:50%;border:2px solid var(--accent-hi);padding:3px;display:block;margin:0 auto 4px;background:var(--panel)}
.login h1{font-family:var(--display);font-weight:400;font-size:2.2rem;letter-spacing:.04em;line-height:.95;text-align:center;margin:0;color:var(--fg)}
.login h1 small{display:block;font-size:.42em;letter-spacing:.3em;color:var(--accent)}
.login .sub{color:var(--muted);text-align:center;font-size:.92rem;margin:4px 0 8px}
.login label{font-size:.78rem;color:var(--muted);letter-spacing:.05em;text-transform:uppercase;margin-top:4px}
.login input{width:100%;min-height:48px;font-size:16px;background:var(--panel);border:1px solid var(--line2);border-radius:12px;padding:10px 14px;outline:none}
.login input:focus{border-color:var(--accent-hi);box-shadow:0 0 0 3px var(--accent-bg)}
.login .btn{margin-top:10px;width:100%}
.aviso-demo{background:var(--warn-bg);border:1px solid var(--warn-ln);color:var(--warn);border-radius:10px;padding:8px 10px;font-size:.86rem;margin:0}
.msg{min-height:1.3em;margin:4px 0 0;font-size:.9rem;color:var(--bad);text-align:center}
.esqueci{color:var(--muted);font-size:.9rem;text-align:center}
.esqueci summary{cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:center;color:var(--accent)}
.esqueci p{margin:0 0 4px}

/* === BOTÕES === */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:0;border-radius:12px;padding:10px 16px;font-weight:700;cursor:pointer;background:var(--accent);color:var(--on-accent);text-decoration:none;white-space:nowrap}
.btn:hover{background:var(--accent-hover)}
.btn.sec{background:var(--panel);border:1px solid var(--line2);color:var(--fg)}
.btn.sec:hover{border-color:var(--accent-hi);background:var(--accent-bg)}
.btn.del{background:var(--panel);border:1px solid var(--bad-ln);color:var(--bad)}
.btn.del:hover{background:var(--bad-bg)}
.btn.wa{background:var(--wa);color:var(--wa-tx)}
.btn.wa:hover{filter:brightness(.96)}
.btn.peq{min-height:36px;padding:6px 12px;font-size:.88rem;border-radius:10px}
.btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.btn.agenda{font-family:var(--body);background:var(--accent-bg);border:1px solid var(--accent-ln);color:var(--accent);min-height:44px;padding:6px 10px;font-size:.84rem;border-radius:10px;gap:6px}
.btn.agenda:hover{background:var(--accent-bg2);border-color:var(--accent-hi)}
.btn:focus-visible,.copiar:focus-visible{outline:2px solid var(--accent-hi);outline-offset:2px}
.copiar{min-height:44px;min-width:76px;border:1px solid var(--accent-ln);background:var(--accent-bg);color:var(--accent);border-radius:10px;padding:6px 10px;font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;cursor:pointer;flex:none}
.copiar:hover{background:var(--accent-bg2);border-color:var(--accent-hi)}

/* === TOPO === */
.topo{position:fixed;top:0;left:0;right:0;z-index:30;background:var(--vidro);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding-top:var(--st);box-shadow:var(--sh1)}
.faixa-demo{background:var(--warn-forte);color:var(--warn-forte-tx);text-align:center;font-weight:700;font-size:.8rem;letter-spacing:.06em;padding:4px 8px}
.cab{display:flex;align-items:center;gap:8px;padding:8px max(12px,var(--sr)) 8px max(12px,var(--sl));min-height:56px}
.cab img{width:34px;height:34px;border-radius:50%;border:1px solid var(--accent-hi);flex:none}
.marca{min-width:0;display:flex;flex-direction:column}
.marca b{font-family:var(--display);font-weight:400;font-size:1.3rem;letter-spacing:.06em;line-height:1;white-space:nowrap;color:var(--fg)}
.marca b em{font-style:normal;color:var(--accent)}
.marca small{font-size:.78rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:34vw}
.cab .sp{flex:1}
.aovivo{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:.68rem;color:var(--muted);white-space:nowrap}
.aovivo i{width:10px;height:10px;border-radius:50%;background:var(--faint);display:inline-block}
.aovivo.on{color:var(--ok)} .aovivo.on i{background:var(--ok);box-shadow:0 0 0 3px var(--ok-bg)}
.btn-topo{min-height:40px;border:1px solid var(--line2);background:var(--panel);border-radius:10px;padding:6px 10px;font-size:.84rem;font-weight:600;cursor:pointer;white-space:nowrap}
.btn-topo:hover{border-color:var(--accent-hi);background:var(--accent-bg)}
@media (max-width:480px){
  .aovivo span{display:none}
  .btn-topo{padding:6px 8px;font-size:.78rem}
  .marca b{font-size:1.1rem}
}

/* === NAVEGAÇÃO: abas no rodapé (celular) e barra lateral (PC) === */
.abas{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(5,1fr);background:var(--vidro);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:0 var(--sr) var(--sb) var(--sl);box-shadow:var(--sh-abas)}
.abas button{min-height:var(--abas-h);border:0;background:transparent;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:.72rem;font-weight:600;cursor:pointer;padding:4px 2px;position:relative}
.abas button svg,.lateral button svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.abas button.on{color:var(--accent)}
.abas button.on::before{content:"";position:absolute;top:0;left:22%;right:22%;height:3px;border-radius:0 0 3px 3px;background:var(--accent-hi)}
.lateral{display:none}

/* === ÁREA PRINCIPAL === */
.tela{padding:calc(var(--topo-h) + 12px) max(14px,var(--sr)) calc(var(--abas-h) + var(--sb) + 28px) max(14px,var(--sl));max-width:1200px;margin:0 auto}
.hdr{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 0 12px}
.hdr h1{font-family:var(--display);font-weight:400;font-size:2.1rem;letter-spacing:.04em;line-height:1;margin:0;color:var(--fg)}
.hdr .sp{flex:1}
h2{font-family:var(--display);font-weight:400;font-size:1.15rem;letter-spacing:.18em;color:var(--muted);margin:20px 0 10px;display:flex;align-items:center;gap:10px}
h2::after{content:"";flex:1;height:1px;background:var(--line)}
h2 .n{font-family:var(--mono);font-size:.7rem;letter-spacing:0;color:var(--accent);background:var(--accent-bg);border:1px solid var(--accent-ln);border-radius:999px;padding:1px 8px}
.vazio{color:var(--muted);padding:18px 10px;text-align:center;border:1px dashed var(--line2);border-radius:12px;background:var(--panel2)}

/* === FILTROS === */
.filtros{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;align-items:center}
.filtros input[type=search],.filtros select,.filtros input[type=month]{min-height:44px;font-size:16px;background:var(--panel);border:1px solid var(--line2);border-radius:12px;padding:8px 12px;outline:none}
.filtros input[type=search]{flex:1 1 220px}
.filtros input:focus,.filtros select:focus{border-color:var(--accent-hi);box-shadow:0 0 0 3px var(--accent-bg)}
.seg{display:inline-flex;border:1px solid var(--line2);border-radius:12px;overflow:hidden;background:var(--panel)}
.seg button{min-height:44px;border:0;background:transparent;padding:6px 14px;font-weight:600;cursor:pointer;color:var(--muted)}
.seg button.on{background:var(--accent);color:var(--on-accent)}
.chk{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--muted);cursor:pointer;font-size:.92rem}
.chk input{width:20px;height:20px;accent-color:var(--accent)}

/* === CARTÕES DE NÚMERO (INÍCIO / CAIXA) === */
.kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media (min-width:700px){.kpis{grid-template-columns:repeat(4,1fr)}}
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px 14px;min-width:0;box-shadow:var(--sh1)}
.kpi small{display:block;color:var(--muted);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase}
.kpi b{display:block;font-family:var(--display);font-weight:400;font-size:1.8rem;line-height:1.1;color:var(--accent);margin-top:2px;overflow-wrap:anywhere}
.kpi b.pos{color:var(--ok)} .kpi b.neg{color:var(--bad)}
.kpi[data-cat]{border-top:4px solid var(--cor,var(--accent-hi))}
.kpi[data-cat] b{color:var(--cor-tx,var(--accent))}
.kpi em{display:block;font-style:normal;font-size:.8rem;color:var(--muted)}
.pipe{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}
.pipe button{background:var(--panel);border:1px solid var(--line);border-left:5px solid var(--cor,var(--accent-hi));border-radius:8px 12px 12px 8px;padding:10px;text-align:left;cursor:pointer;min-height:44px;box-shadow:var(--sh1)}
.pipe button:hover{background:var(--cor-bg2,var(--panel2))}
.pipe small{display:block;color:var(--muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.05em}
.pipe b{font-family:var(--display);font-weight:400;font-size:1.7rem;line-height:1;color:var(--cor-tx,var(--fg))}
.pipe em{display:block;font-style:normal;font-family:var(--mono);font-size:.68rem;color:var(--muted)}

/* === LISTAS === */
.lista{display:grid;gap:8px}
.it{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-left:4px solid var(--cor,var(--accent-hi));background:var(--panel);border-radius:6px 12px 12px 6px;cursor:pointer;min-height:56px;text-align:left;width:100%;color:inherit;box-shadow:var(--sh1)}
.it:hover{background:var(--panel2)}
.it .tx{flex:1;min-width:0}
.it .tx b{display:block;font-weight:600;line-height:1.25;overflow-wrap:anywhere}
.it .tx small{display:block;color:var(--muted);font-size:.84rem;overflow-wrap:anywhere}
.it .v{font-family:var(--mono);font-size:.84rem;color:var(--accent);text-align:right;white-space:nowrap;display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.it .v .quando{line-height:1.25}
.it .v .quando span{white-space:nowrap}
@media (max-width:599px){.it .v .quando{white-space:normal;max-width:6.5em}}
.it .v small{font-size:.74rem}
.it .v.neg{color:var(--bad)}
.it.entrada{--cor:var(--ok)} .it.saida{--cor:var(--neutro)}
.it.feito{opacity:.75}
.it.feito .tx b{text-decoration:line-through;color:var(--muted)}
.it .chkbig{width:26px;height:26px;accent-color:var(--ok);flex:none;cursor:pointer}
.it .acoes-it{display:flex;gap:6px;flex:none}
.thumb{width:64px;height:64px;border-radius:10px;object-fit:cover;background:var(--panel3);border:1px solid var(--line);flex:none;display:grid;place-items:center;font-family:var(--display);color:var(--muted);font-size:1.2rem;overflow:hidden}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.badge{display:inline-block;font-family:var(--mono);font-size:.64rem;letter-spacing:.03em;padding:2px 7px;border-radius:999px;border:1px solid var(--line);background:var(--panel3);color:var(--muted);margin:2px 4px 0 0;vertical-align:middle;white-space:nowrap}
.badge.ok{color:var(--ok);background:var(--ok-bg);border-color:var(--ok-ln)}
.badge.warn{color:var(--warn);background:var(--warn-bg);border-color:var(--warn-ln)}
.badge.bad{color:var(--bad);background:var(--bad-bg);border-color:var(--bad-ln)}
.badge.az{color:var(--accent);background:var(--accent-bg);border-color:var(--accent-ln)}
/* chip com a cor do estágio/status (CORES no app.js) */
.badge.cor{color:var(--cor-tx,var(--muted));background:var(--cor-bg,var(--panel3));border-color:var(--cor-ln,var(--line));font-weight:500}
.badge.cor::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--cor,var(--neutro));margin-right:5px;vertical-align:1px}
.ponto{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--accent-hi);margin-right:6px;vertical-align:middle}
.grade2{display:grid;gap:10px}
@media (min-width:700px){.grade2{grid-template-columns:1fr 1fr}}
.bloco{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px 14px;box-shadow:var(--sh1)}
.bloco h3{margin:0 0 6px;font-size:1rem}
.bloco ul{margin:0;padding-left:18px;color:var(--fg);font-size:.92rem}
.aviso-fixo{background:var(--warn-bg);border:1px solid var(--warn-ln);color:var(--warn);border-radius:12px;padding:10px 12px;margin-bottom:12px;font-weight:600}

/* tabela (media kits, acessos) */
.tbl{overflow-x:auto;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh1)}
table{width:100%;border-collapse:collapse;font-size:.92rem}
th{font-family:var(--mono);font-size:.66rem;letter-spacing:.06em;color:var(--muted);text-align:left;padding:10px 10px;border-bottom:1px solid var(--line);font-weight:500;white-space:nowrap;background:var(--panel2)}
td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
tbody tr:last-child td{border-bottom:0}
tr.clic{cursor:pointer} tr.clic:hover td{background:var(--panel2)}
tr[data-cat] td:first-child{box-shadow:inset 4px 0 0 var(--cor,var(--accent-hi))}
td.num{font-family:var(--mono);white-space:nowrap;text-align:right}
td select{min-height:44px;font-size:16px;background:var(--panel);border:1px solid var(--line2);border-radius:10px;padding:4px 8px}
/* lista de opção pintada com a cor do valor escolhido */
.campo select[data-cat],td select[data-cat]{background:var(--cor-bg,var(--panel));color:var(--cor-tx,var(--fg));border-color:var(--cor-ln,var(--line2));font-weight:600}

/* === KANBAN (EMPRESAS) === */
.kanban{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;-webkit-overflow-scrolling:touch}
.col{flex:0 0 84%;scroll-snap-align:start;background:var(--cor-bg2,var(--panel2));border:1px solid var(--line);border-top:4px solid var(--cor,var(--accent-hi));border-radius:14px;padding:10px;min-height:160px;display:flex;flex-direction:column;gap:8px}
.col.alvo{outline:2px solid var(--cor,var(--accent-hi));outline-offset:-2px;background:var(--cor-bg,var(--panel3))}
.col h3{margin:0;font-family:var(--display);font-weight:400;font-size:1.25rem;letter-spacing:.08em;display:flex;justify-content:space-between;align-items:baseline;gap:6px;color:var(--cor-tx,var(--fg))}
.col h3 small{font-family:var(--mono);font-size:.66rem;letter-spacing:0;color:var(--cor-tx,var(--muted));background:var(--panel);border:1px solid var(--cor-ln,var(--line));border-radius:999px;padding:1px 8px;white-space:nowrap}
.card{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--cor,var(--accent-hi));border-radius:6px 12px 12px 6px;padding:10px;cursor:pointer;display:flex;flex-direction:column;gap:4px;box-shadow:var(--sh1)}
.card:hover{box-shadow:var(--sh2);border-color:var(--cor-ln,var(--line2));border-left-color:var(--cor,var(--accent-hi))}
.card.arrastando{opacity:.4}
.card b{line-height:1.2;overflow-wrap:anywhere}
.card small{color:var(--muted);font-size:.82rem;overflow-wrap:anywhere}
.card .passo{color:var(--fg)}
.card .linha{display:flex;align-items:center;gap:8px;justify-content:space-between;flex-wrap:wrap}
.card select.mover{min-height:44px;font-size:16px;background:var(--panel);border:1px solid var(--accent-ln);color:var(--accent);border-radius:10px;padding:4px 8px;max-width:100%}
@media (min-width:900px){
  .col{flex:0 0 230px}
}

/* === FICHA (painel lateral no PC, tela cheia no celular) === */
.ficha{position:fixed;top:var(--topo-h);right:0;bottom:0;left:0;z-index:40;background:var(--bg);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 max(14px,var(--sr)) calc(28px + var(--sb)) max(14px,var(--sl));overscroll-behavior:contain}
.ficha-cab{position:sticky;top:0;z-index:2;background:var(--bg);display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--line);margin-bottom:12px}
.ficha-cab h2{margin:0;font-size:1.5rem;letter-spacing:.04em;color:var(--fg);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ficha-cab h2::after{display:none}
.ficha-cab .tipo{font-family:var(--mono);font-size:.66rem;color:var(--muted);display:block;letter-spacing:.06em}
.ficha .sec{margin:16px 0 8px}
/* celular: 2 colunas só pra data + hora ficarem lado a lado; o resto ocupa a linha toda */
.campos{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.campo{display:flex;flex-direction:column;gap:4px;min-width:0;grid-column:1/-1}
.campo.par{grid-column:auto}
@media (min-width:560px){.campo{grid-column:auto}.campo.largo{grid-column:1/-1}}
.campo>label,.campo>.rot{font-size:.76rem;color:var(--muted);letter-spacing:.05em;text-transform:uppercase}
.campo input,.campo select,.campo textarea{width:100%;min-height:48px;font-size:16px;background:var(--panel);border:1px solid var(--line2);border-radius:12px;padding:10px 12px;outline:none}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--accent-hi);box-shadow:0 0 0 3px var(--accent-bg)}
.campo textarea{min-height:110px;resize:vertical;line-height:1.4}
.campo .comcopiar{display:flex;gap:8px;align-items:stretch}
.campo .comcopiar>input,.campo .comcopiar>textarea{flex:1;min-width:0}
.campo.bool label{display:flex;align-items:center;gap:10px;min-height:48px;text-transform:none;letter-spacing:0;font-size:1rem;color:var(--fg);cursor:pointer}
.campo.bool input{width:24px;height:24px;min-height:0;accent-color:var(--accent)}
.campo .dica{font-size:.78rem;color:var(--muted)}
.acoes-rapidas{display:flex;flex-wrap:wrap;gap:8px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips button{min-height:44px;border:1px solid var(--line2);background:var(--panel);border-radius:999px;padding:6px 14px;cursor:pointer;font-weight:600}
.chips button:hover{border-color:var(--accent-hi);background:var(--accent-bg)}
.chips button.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.nova-int{margin-top:8px}
.nova-int input{width:100%;min-height:48px;font-size:16px;background:var(--panel);border:1px solid var(--accent-hi);border-radius:12px;padding:10px 12px;outline:none}
.nova-int input:focus{box-shadow:0 0 0 3px var(--accent-bg)}
.timeline{display:grid;gap:6px}
.tl{display:flex;gap:10px;align-items:flex-start;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:8px 10px;box-shadow:var(--sh1)}
.tl .tx{flex:1;min-width:0}
.tl .tx small{display:block;color:var(--muted);font-size:.78rem}
.tl .tx p{margin:2px 0 0;overflow-wrap:anywhere;white-space:pre-wrap}
.tl button{min-height:36px;min-width:36px;border:1px solid var(--line2);background:var(--panel);border-radius:8px;color:var(--muted);cursor:pointer}
.tl button:hover{border-color:var(--accent-hi);color:var(--accent)}
.solta{border:2px dashed var(--line2);border-radius:14px;padding:12px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:var(--panel)}
.solta.alvo{border-color:var(--accent-hi);background:var(--accent-bg)}
.solta img{max-width:160px;max-height:160px;border-radius:10px;display:block}
.solta p{margin:0;color:var(--muted);font-size:.9rem;flex:1 1 160px}
.rodape-ficha{margin-top:24px;padding-top:12px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:.8rem}

/* === MAIS (celular) === */
.mais{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mais button{min-height:96px;background:var(--panel);border:1px solid var(--line);border-radius:14px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-weight:600;box-shadow:var(--sh1)}
.mais button:hover{border-color:var(--accent-ln);background:var(--accent-bg)}
.mais button svg{width:30px;height:30px;stroke:var(--accent);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* === FEED DE ATIVIDADE === */
.feed{display:grid;gap:6px}
.ev{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;background:var(--panel);border-radius:12px;border:1px solid var(--line);box-shadow:var(--sh1)}
.ev .tx{flex:1;min-width:0}
.ev .tx small{display:block;color:var(--muted);font-size:.78rem}
.ev.clic{cursor:pointer}
.ev.clic:hover{border-color:var(--accent-ln);background:var(--panel2)}

/* === AVISO RÁPIDO (toast) === */
.toast{position:fixed;left:50%;bottom:calc(var(--abas-h) + var(--sb) + 16px);transform:translateX(-50%) translateY(10px);background:var(--toast-bg);color:var(--toast-tx);border:1px solid transparent;border-radius:999px;padding:10px 18px;font-size:.92rem;font-weight:600;z-index:80;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:90vw;text-align:center;box-shadow:var(--sh-toast)}
.toast.on{opacity:1;transform:translateX(-50%) translateY(0)}
.toast.ok{background:var(--ok);color:var(--on-accent)}
.toast.erro{background:var(--bad);color:var(--on-accent)}

/* === PC: barra lateral, ficha como painel à direita === */
@media (min-width:900px){
  .abas{display:none}
  .lateral{display:flex;flex-direction:column;gap:4px;position:fixed;top:var(--topo-h);left:0;bottom:0;width:var(--lat-w);padding:12px 10px;border-right:1px solid var(--line);background:var(--panel);overflow-y:auto;z-index:20}
  .lateral button{display:flex;align-items:center;gap:12px;min-height:44px;border:0;background:transparent;color:var(--muted);border-radius:10px;padding:8px 12px;font-weight:600;cursor:pointer;text-align:left;font-size:.98rem}
  .lateral button:hover{background:var(--panel2);color:var(--fg)}
  .lateral button.on{background:var(--accent-bg);color:var(--accent);box-shadow:inset 3px 0 0 var(--accent-hi)}
  .tela{margin-left:var(--lat-w);padding:calc(var(--topo-h) + 16px) 24px 40px;max-width:none}
  .ficha{left:auto;width:min(var(--ficha-w),60vw);border-left:1px solid var(--line);box-shadow:var(--sh3);padding:0 20px 28px}
  .toast{bottom:24px}
  .btn.agenda{min-height:36px}
}
@media (min-width:1400px){
  body.com-ficha .tela{margin-right:var(--ficha-w)}
}

/* === AJUSTES FINAIS === */
.thumb.grande{width:auto;height:auto;max-width:220px;min-height:80px;min-width:80px}
.thumb.grande img{width:100%;height:auto}
.nova-int .ln{display:flex;gap:8px}
.nova-int .ln input{flex:1;min-width:0}
.tl button{min-height:44px;min-width:44px}
.bloco.clic{cursor:pointer}
.bloco.clic:hover{border-color:var(--accent-ln);background:var(--panel2)}
.campo .abrir-link{align-self:flex-start}
@media (min-width:900px) and (hover:hover) and (pointer:fine){
  .card select.mover{display:none}
}
.mt{margin-top:10px}
.nota{color:var(--muted);font-size:.84rem;margin:8px 0 10px}
.warn-txt{color:var(--warn)}
.ficha-cab h2{display:block}
.acoes-rapidas .btn{min-height:44px}
@media (max-width:899px){.btn.peq{min-height:44px}}
