/* ===================================================================================
   atividades.css — Central de Atividades (15/10/2026; maquete aprovada:
   _docs/proto/atividades-notion-proto.html). Visual "Notion" dentro do #ct, tudo preso
   à casca .ca-cc (classes ca-*). Tokens --ca-* próprios (claro e escuro); fonte herdada.
   TODA classe leva o prefixo ca-: nomes curtos (.rel, .on, .m…) existem no styles.css e vazam (.rel é flex).
   Abaixo de 760px a Tabela vira lista de cartões (.ca-lista); a página lateral ocupa a tela.
   Projetos em cards (15/10, maquete atividades-projetos-proto.html): galeria .ca-gal/.ca-pc, barra .ca-top,
   "Nova atividade…" .ca-addrow, modal .ca-mo, recorrente .ca-st.rec, histórico .ca-hist.
   =================================================================================== */
.ca-cc{
  --ca-bg:#fff;--ca-tx:#37352f;--ca-tx2:#5f5e5b;--ca-mu:#787774;--ca-fa:#a5a29d;--ca-ln:#e9e9e7;--ca-hov:rgba(55,53,47,.06);--ca-sel:rgba(55,53,47,.08);
  --ca-card:#fff;--ca-card-h:#fafafa;--ca-peek:#fff;--ca-callout:#f1f1ef;--ca-prev:#fbf3db;--ca-out:#fbfbfa;--ca-chk:#9b9a97;--ca-inp:#fff;
  --ca-sh:rgba(15,15,15,.1) 0 0 0 1px,rgba(15,15,15,.08) 0 2px 4px;
  --ca-sh-peek:rgba(15,15,15,.06) 0 0 0 1px,rgba(15,15,15,.22) 0 16px 48px;
  --ca-ov:rgba(15,15,15,.25);--ca-azul:#2383e2;--ca-red:#c0392b;
  --ca-gray-bg:#e3e2e0;--ca-gray-tx:#32302c;--ca-brown-bg:#eee0da;--ca-brown-tx:#442a1e;--ca-orange-bg:#fadec9;--ca-orange-tx:#49290e;
  --ca-yellow-bg:#fdecc8;--ca-yellow-tx:#402c1b;--ca-green-bg:#dbeddb;--ca-green-tx:#1c3829;--ca-blue-bg:#d3e5ef;--ca-blue-tx:#183347;
  --ca-purple-bg:#e8deee;--ca-purple-tx:#412454;--ca-pink-bg:#f5e0e9;--ca-pink-tx:#4c2337;--ca-teal-bg:#d6ece9;--ca-teal-tx:#1b3f3a;--ca-ac-teal:#0f7b6c;
  --ca-sh2:rgba(15,15,15,.1) 0 0 0 1px,rgba(15,15,15,.14) 0 6px 16px;
  --ca-ic:#55534e;--ca-ac-green:#448361;--ca-ac-blue:#337ea9;--ca-ac-purple:#9065b0;--ca-ac-orange:#d9730d;--ca-ac-yellow:#cb912f;--ca-ac-pink:#c14c8a;--ca-ac-brown:#9f6b53;--ca-ac-gray:#787774;
  --ca-st-nao-bg:#f1f1ef;--ca-st-nao:#6f6e6b;--ca-st-and-bg:#e7f3f8;--ca-st-and:#2b6f94;--ca-st-agu-bg:#fbecdd;--ca-st-agu:#b35f06;--ca-st-ok-bg:#edf3ec;--ca-st-ok:#3b7356;
  background:var(--ca-bg);color:var(--ca-tx);border-radius:16px;font-size:14px;line-height:1.5;min-height:60vh;position:relative;color-scheme:light}
[data-theme="dark"] .ca-cc{
  --ca-bg:#191919;--ca-tx:rgba(255,255,255,.86);--ca-tx2:rgba(255,255,255,.62);--ca-mu:rgba(255,255,255,.55);--ca-fa:rgba(255,255,255,.36);--ca-ln:#2f2f2f;--ca-hov:rgba(255,255,255,.055);--ca-sel:rgba(255,255,255,.08);
  --ca-card:#252525;--ca-card-h:#2c2c2c;--ca-peek:#202020;--ca-callout:#2a2a2a;--ca-prev:#3a3020;--ca-out:#1c1c1c;--ca-chk:rgba(255,255,255,.42);--ca-inp:#262626;
  --ca-sh:rgba(0,0,0,.35) 0 0 0 1px,rgba(0,0,0,.3) 0 2px 4px;
  --ca-sh-peek:rgba(255,255,255,.1) 0 0 0 1px,rgba(0,0,0,.6) 0 16px 48px;
  --ca-ov:rgba(0,0,0,.5);--ca-red:#ff7b72;
  --ca-gray-bg:#373737;--ca-gray-tx:rgba(255,255,255,.86);--ca-brown-bg:#4a3228;--ca-brown-tx:rgba(255,255,255,.86);--ca-orange-bg:#5c3b23;--ca-orange-tx:rgba(255,255,255,.86);
  --ca-yellow-bg:#564328;--ca-yellow-tx:rgba(255,255,255,.86);--ca-green-bg:#243d30;--ca-green-tx:rgba(255,255,255,.86);--ca-blue-bg:#143a4e;--ca-blue-tx:rgba(255,255,255,.86);
  --ca-purple-bg:#3c2d49;--ca-purple-tx:rgba(255,255,255,.86);--ca-pink-bg:#4e2c3c;--ca-pink-tx:rgba(255,255,255,.86);--ca-teal-bg:#1c3f3a;--ca-teal-tx:rgba(255,255,255,.86);--ca-ac-teal:#4fd1be;
  --ca-sh2:rgba(0,0,0,.4) 0 0 0 1px,rgba(0,0,0,.45) 0 8px 20px;
  --ca-ic:rgba(255,255,255,.8);--ca-ac-green:#5fc4a8;--ca-ac-blue:#6cb6ec;--ca-ac-purple:#b99be8;--ca-ac-orange:#ffad5c;--ca-ac-yellow:#f2c45a;--ca-ac-pink:#ef7fb4;--ca-ac-brown:#d29b7f;--ca-ac-gray:#b5b5b5;
  --ca-st-nao-bg:#2f2f2f;--ca-st-nao:#b8b8b8;--ca-st-and-bg:#143a4e;--ca-st-and:#7cc1e8;--ca-st-agu-bg:#4a3220;--ca-st-agu:#ffb366;--ca-st-ok-bg:#1f3a2c;--ca-st-ok:#6fcbb8;
  color-scheme:dark}
.ca-cc *{box-sizing:border-box}
.ca-cc button,.ca-cc select,.ca-cc input{font-family:inherit;color:inherit}
.ca-cc button{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.ca-cc :focus-visible{outline:2px solid var(--ca-azul);outline-offset:2px}
.ca-cc svg.ca-i{flex:none;display:block}
.ca-cc .ca-late,:is(#ct,#caRoot) .ca-cc td.ca-late,:is(#ct,#caRoot) .ca-cc td .ca-late{color:var(--ca-red)}
.ca-cc .ca-gray{color:var(--ca-mu);font-size:14px;line-height:1.5;font-weight:400}
.ca-cc .ca-vz{color:var(--ca-fa)}

/* ---------- página ---------- */
.ca-page{padding:28px 56px 72px;max-width:1240px;width:100%;margin:0 auto}
.ca-picon{width:72px;height:72px;border-radius:14px;display:grid;place-items:center;background:var(--b,var(--ca-sel));color:var(--ac,var(--ca-tx));margin-bottom:14px}
.ca-cc .ca-h1{font-size:40px;line-height:1.2;font-weight:700;margin:0 0 6px;letter-spacing:-.01em;color:var(--ca-tx)}
.ca-cc .ca-desc{color:var(--ca-mu);font-size:16px;line-height:1.5;margin:0 0 22px}
.ca-prev{display:none;gap:10px;align-items:center;background:var(--ca-prev);border-radius:6px;padding:10px 14px;margin:-6px 0 18px;font-size:14px;line-height:1.45;color:var(--ca-tx)}
.ca-prev.on{display:flex}

.ca-views{display:flex;align-items:center;gap:2px;border-bottom:1px solid var(--ca-ln);margin-bottom:8px;flex-wrap:wrap}
.ca-vt{display:flex;align-items:center;gap:6px;min-height:40px;padding:0 10px;border:0;background:none;font-size:14px;line-height:1.2;color:var(--ca-mu);border-bottom:2px solid transparent;margin-bottom:-1px;border-radius:0}
.ca-vt svg{color:var(--ca-ic)}
.ca-vt[aria-pressed="true"]{color:var(--ca-tx);border-bottom-color:var(--ca-tx);font-weight:500}
.ca-vt:hover{color:var(--ca-tx)}
.ca-tools{margin-left:auto;display:flex;align-items:center;gap:4px}
.ca-tb{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 8px;border:0;border-radius:5px;background:none;color:var(--ca-mu);font-size:14px;line-height:1.2}
.ca-tb:hover{background:var(--ca-hov);color:var(--ca-tx)}

.ca-filters{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 18px}
.ca-fp{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:32px;border-radius:16px;border:1px solid var(--ca-ln);font-size:13px;line-height:1.2;color:var(--ca-mu);padding:0 26px 0 10px}
.ca-fp.set{border-color:rgba(35,131,226,.45);background:rgba(35,131,226,.1);color:#2f7cc0}
[data-theme="dark"] .ca-fp.set{color:#7fb8ec}
.ca-fp select{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;font-size:16px}
.ca-fp::after{content:"";position:absolute;right:10px;top:50%;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-70%) rotate(45deg)}
.ca-como{border-radius:6px;border-color:transparent}
.ca-como:hover{background:var(--ca-hov)}

/* ---------- etiquetas ---------- */
.ca-tag{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 7px;border-radius:4px;font-size:12.5px;line-height:1;white-space:nowrap;background:var(--b);color:var(--t);font-weight:400}
.ca-tag svg{color:var(--ac)}
.ca-tag .ca-tx{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.ca-st{display:inline-flex;align-items:center;gap:6px;height:20px;padding:0 8px;border-radius:10px;font-size:12.5px;line-height:1;white-space:nowrap;font-weight:500}
.ca-st::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.8}
.ca-st.nao{background:var(--ca-st-nao-bg);color:var(--ca-st-nao)}
.ca-st.and{background:var(--ca-st-and-bg);color:var(--ca-st-and)}
.ca-st.agu{background:var(--ca-st-agu-bg);color:var(--ca-st-agu)}
.ca-st.agu::before{display:none}
.ca-st.ok{background:var(--ca-st-ok-bg);color:var(--ca-st-ok)}
.ca-st.del{background:var(--ca-gray-bg);color:var(--ca-mu)}
.ca-st.del::before{display:none}
.ca-st.rec{background:var(--ca-purple-bg);color:var(--ca-ac-purple)}
.ca-st.rec::before{display:none}
.ca-fp.ca-info{cursor:default;padding-right:12px}
.ca-fp.ca-info::after{display:none}
.ca-fp.ca-del{padding-right:10px;gap:5px;cursor:pointer;background:none;color:var(--ca-mu)}
.ca-fp.ca-del::after{display:none}
.ca-fp.ca-del.set{color:#2f7cc0}
[data-theme="dark"] .ca-fp.ca-del.set{color:#7fb8ec}
:is(#ct,#caRoot) .ca-cc tr.ca-apagada td,.ca-card.ca-apagada .t span{color:var(--ca-mu)}
:is(#ct,#caRoot) .ca-cc tr.ca-apagada td.nm .t,.ca-card.ca-apagada .t span{text-decoration:line-through;text-decoration-color:var(--ca-fa)}
.ca-pk-f{margin-top:28px;padding-top:14px;border-top:1px solid var(--ca-ln);display:flex;justify-content:flex-end}
.ca-tb.ca-perigo{color:var(--ca-red);min-height:36px}
.ca-tb.ca-perigo:hover{background:rgba(192,57,43,.1);color:var(--ca-red)}

/* ---------- tabela (o th/td global do app é sobrescrito aqui) ---------- */
.ca-grp{margin-bottom:22px}
.ca-gh{display:flex;align-items:center;gap:8px;min-height:40px;border:0;background:none;padding:0 4px;font-size:14px;line-height:1.3;font-weight:600;width:100%;text-align:left;border-radius:5px;color:var(--ca-tx)}
.ca-gh:hover{background:var(--ca-hov)}
.ca-gh .ar{color:var(--ca-mu);transition:transform .12s;display:flex}
.ca-gh[aria-expanded="false"] .ar{transform:rotate(-90deg)}
.ca-gh .ca-n{color:var(--ca-fa);font-weight:400;font-size:13px;white-space:nowrap;flex:none}
:is(#ct,#caRoot) .ca-cc .ca-gh .ca-tag{min-width:0;max-width:60%;display:inline-flex;flex:0 1 auto}
:is(#ct,#caRoot) .ca-cc .ca-gh .ca-tag svg{display:block;flex:none}
.ca-tw{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
.ca-cc{overflow-x:clip}
:is(#ct,#caRoot) .ca-cc table{border-collapse:collapse;width:100%;min-width:820px;font-size:14px;background:none;table-layout:auto}
:is(#ct,#caRoot) .ca-cc .ca-tcurso th:nth-child(2),:is(#ct,#caRoot) .ca-cc .ca-tcurso th:nth-child(3),:is(#ct,#caRoot) .ca-cc .ca-tcurso th:nth-child(4){width:1%;white-space:nowrap}
:is(#ct,#caRoot) .ca-cc .ca-tcurso td:nth-child(2),:is(#ct,#caRoot) .ca-cc .ca-tcurso td:nth-child(3){white-space:nowrap}
:is(#ct,#caRoot) .ca-cc table:not(.ca-tcurso) th:nth-child(2),:is(#ct,#caRoot) .ca-cc table:not(.ca-tcurso) th:nth-child(3){width:1%;white-space:nowrap}
:is(#ct,#caRoot) .ca-cc table:not(.ca-tcurso) td:nth-child(2){white-space:nowrap}
:is(#ct,#caRoot) .ca-cc table.ca-sem,:is(#ct,#caRoot) .ca-cc .ca-gh-livre+.ca-tw table{min-width:640px}
:is(#ct,#caRoot) .ca-cc th{font-weight:400;color:var(--ca-mu);font-size:13px;line-height:1.3;text-align:left;padding:6px 8px;border-top:1px solid var(--ca-ln);border-bottom:1px solid var(--ca-ln);white-space:nowrap;background:none;text-transform:none;letter-spacing:0}
:is(#ct,#caRoot) .ca-cc th span{display:inline-flex;align-items:center;gap:6px}
:is(#ct,#caRoot) .ca-cc th svg{color:var(--ca-ic)}
:is(#ct,#caRoot) .ca-cc th+th,:is(#ct,#caRoot) .ca-cc td+td{border-left:1px solid var(--ca-ln)}
:is(#ct,#caRoot) .ca-cc td{padding:7px 8px;border-bottom:1px solid var(--ca-ln);font-size:14px;line-height:1.4;vertical-align:middle;color:var(--ca-tx);background:none}
.ca-cc tr.ca-r{cursor:pointer}
:is(#ct,#caRoot) .ca-cc tr.ca-r:hover td{background:var(--ca-hov)}
:is(#ct,#caRoot) .ca-cc td.nm{font-weight:500;min-width:260px}
.ca-cc td.nm .ca-pi{display:inline-flex;align-items:center;gap:8px}
.ca-cc td.nm .ca-pi>svg{color:var(--ac,var(--ca-ic))}
.ca-cc td.nm .pr{display:inline-flex;align-items:center;gap:4px;margin-left:4px;font-size:12px;color:var(--ca-mu);font-weight:400}
.ca-cc td.nm .pr svg{color:var(--ca-ic)}
:is(#ct,#caRoot) .ca-cc tr.done td.nm span.t{color:var(--ca-mu);text-decoration:line-through;text-decoration-color:var(--ca-fa)}
:is(#ct,#caRoot) .ca-cc td.dt{white-space:nowrap}
:is(#ct,#caRoot) .ca-cc td.ca-rel{color:var(--ca-mu);font-size:13px;line-height:1.7}
.ca-cc td.ca-rel span{border-bottom:1px solid var(--ca-ln);white-space:nowrap;display:inline;margin-right:4px}
.ca-cc td.ca-rel span+span::before{content:"· ";border:0;color:var(--ca-fa)}
.ca-lista{display:none}

/* ---------- quadro / cartões ---------- */
.ca-board{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:12px;overflow-x:auto;padding-bottom:8px}
.ca-bc{min-width:0}
.ca-bh{display:flex;align-items:center;gap:8px;padding:4px 2px 10px;font-size:14px;line-height:1.3;color:var(--ca-mu)}
.ca-vazio{min-height:40px;border:1px dashed var(--ca-ln);border-radius:6px}
.ca-card{display:block;width:100%;text-align:left;background:var(--ca-card);border:0;border-radius:6px;box-shadow:var(--ca-sh);padding:10px 10px 8px;margin-bottom:8px;font-size:14px;line-height:1.4;color:var(--ca-tx)}
.ca-card:hover{background:var(--ca-card-h)}
.ca-card .t{font-weight:500;display:flex;gap:8px;align-items:flex-start;line-height:1.35}
.ca-card .t svg{margin-top:2px;color:var(--ac,var(--ca-ic))}
.ca-card .ca-tg{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px;min-width:0}
.ca-card .ca-tg .ca-tag{max-width:100%;min-width:0}
.ca-card .ca-m{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:8px;font-size:12.5px;line-height:1.3;color:var(--ca-mu)}
.ca-card .ca-m span{display:inline-flex;align-items:center;gap:4px}
.ca-card .ca-m svg{color:var(--ca-ic)}
.ca-card .ca-m .ca-late svg{color:var(--ca-red)}
.ca-card .ca-w{display:flex;gap:6px;align-items:flex-start;margin-top:8px;font-size:12.5px;line-height:1.35;color:var(--ca-st-agu)}
.ca-card .ca-w svg{margin-top:2px}
.ca-card.ok .t span{color:var(--ca-mu);text-decoration:line-through;text-decoration-color:var(--ca-fa)}

/* ---------- calendário ---------- */
.ca-calh{display:flex;align-items:center;gap:4px;margin-bottom:8px}
.ca-calh b{font-size:16px;line-height:1.3;font-weight:600;margin-right:auto;color:var(--ca-tx)}
.ca-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--ca-ln);border-left:1px solid var(--ca-ln)}
.ca-cal .wd{font-size:12px;line-height:1.3;color:var(--ca-mu);padding:6px 8px;border-right:1px solid var(--ca-ln);border-bottom:1px solid var(--ca-ln);text-align:right}
.ca-cd{min-height:118px;border-right:1px solid var(--ca-ln);border-bottom:1px solid var(--ca-ln);padding:4px 4px 6px;min-width:0}
.ca-cd.out{background:var(--ca-out)}
.ca-cd.out .dn{color:var(--ca-fa)}
.ca-cd .dn{text-align:right;font-size:13px;line-height:1.3;color:var(--ca-mu);padding:2px 4px 4px}
.ca-cd.hoje .dn span{background:var(--ca-red);color:#fff;border-radius:50%;display:inline-grid;place-items:center;width:22px;height:22px;font-size:12px}
.ca-cd .ev{display:flex;align-items:center;gap:5px;width:100%;text-align:left;border:0;background:var(--ca-card);border-radius:4px;box-shadow:var(--ca-sh);padding:4px 6px;font-size:12px;line-height:1.3;margin-bottom:4px;white-space:nowrap;overflow:hidden;color:var(--ca-tx);min-height:24px}
.ca-cd .ev span{overflow:hidden;text-overflow:ellipsis}
.ca-cd .ev svg{color:var(--ac,var(--ca-ic))}
.ca-cd .ev.curso{background:var(--b);color:var(--t);box-shadow:none;font-weight:600}
.ca-cd .ev.curso svg{color:currentColor}
.ca-cd .ev.ok span{color:var(--ca-fa);text-decoration:line-through}
.ca-cd .ev.ca-late{color:var(--ca-red)}
.ca-cd .ev.ca-late svg{color:var(--ca-red)}
.ca-cd .ca-mais{font-size:12px;line-height:1.3;color:var(--ca-mu);padding:4px 6px;border:0;background:none;min-height:28px}

/* ---------- página lateral (peek) ---------- */
.ca-ov{position:fixed;inset:0;background:var(--ca-ov);z-index:290;display:none}
.ca-ov.on{display:block}
/* Balão da atividade no CENTRO (Rafael, 20/10/2026; antes era página lateral presa à direita) */
.ca-peek{position:fixed;top:50%;left:50%;width:min(720px,calc(100vw - 32px));max-height:min(860px,calc(100dvh - 48px));border-radius:12px;overflow:hidden;background:var(--ca-peek);box-shadow:var(--ca-sh-peek);z-index:291;display:flex;flex-direction:column;color:var(--ca-tx);font-size:14px;line-height:1.5;
  transform:translate(-50%,-48%) scale(.98);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s,transform .15s,visibility 0s linear .15s}
.ca-peek.on{transform:translate(-50%,-50%);opacity:1;visibility:visible;pointer-events:auto;transition:opacity .15s,transform .15s}
.ca-pk-top .ca-tb{min-height:44px}
.ca-pk-top{display:flex;align-items:center;gap:4px;padding:8px 12px;color:var(--ca-mu)}
.ca-pk-top .sp{flex:1}
.ca-crumb{font-size:13px;line-height:1.3}
.ca-pk-b{overflow-y:auto;padding:20px 40px 32px;flex:1}
.ca-pk-b .ca-hr+.ca-pk-f{margin-top:0;border-top:0} /* sem os textos de baixo, o Apagar não leva segunda linha */
.ca-pk-b .ca-picon{width:56px;height:56px;border-radius:12px;margin-bottom:12px}
.ca-pk-b h2{font-size:30px;line-height:1.25;margin:0 0 18px;font-weight:700;color:var(--ca-tx)}
.ca-props{display:grid;grid-template-columns:150px minmax(0,1fr);gap:2px 8px;margin:0 0 14px}
.ca-props dt{display:flex;align-items:center;gap:8px;color:var(--ca-mu);font-size:14px;line-height:1.3;min-height:36px}
.ca-props dt svg{color:var(--ca-ic)}
.ca-props dd{margin:0;display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;min-height:36px;font-size:14px;line-height:1.4}
.ca-in{width:100%;min-height:32px;border:1px solid transparent;border-radius:5px;background:none;padding:4px 6px;font-size:14px;line-height:1.4;color:var(--ca-tx)}
.ca-in::placeholder{color:var(--ca-fa)}
.ca-in:hover{background:var(--ca-hov)}
.ca-in:focus{background:var(--ca-inp);border-color:var(--ca-ln);outline:0}
.ca-lnk{border:0;background:none;padding:0;font-size:14px;line-height:1.4;display:inline-flex;align-items:center;gap:5px;border-bottom:1px solid var(--ca-ln);color:var(--ca-tx);border-radius:0;min-height:28px}
.ca-lnk svg{color:var(--ac,var(--ca-ic))}
.ca-lnk:hover{border-bottom-color:var(--ca-mu)}
.ca-lnk.ok{color:var(--ca-mu);text-decoration:line-through}
.ca-lnk.ca-ext{margin-left:auto;font-size:13px;font-weight:400;color:var(--ca-mu)}
.ca-hr{height:1px;background:var(--ca-ln);margin:12px 0 18px}
.ca-callout{display:flex;gap:12px;background:var(--ca-callout);border-radius:6px;padding:14px 16px;margin-bottom:18px;font-size:15px;line-height:1.45}
.ca-callout svg{color:var(--ca-st-agu);margin-top:2px;flex:none}
.ca-h3{font-size:18px;line-height:1.3;font-weight:600;margin:6px 0 8px;display:flex;align-items:center;gap:8px;color:var(--ca-tx)}
.ca-todo{display:flex;align-items:flex-start;gap:9px;padding:6px 4px;font-size:15px;line-height:1.4;width:100%;text-align:left;border:0;background:none;border-radius:4px;color:var(--ca-tx);min-height:36px}
.ca-todo:hover:not([disabled]){background:var(--ca-hov)}
.ca-todo[disabled]{cursor:not-allowed;color:var(--ca-fa)}
.ca-todo .bx{width:18px;height:18px;border:1.5px solid var(--ca-chk);border-radius:3px;flex:none;margin-top:2px;display:grid;place-items:center}
.ca-todo.on .bx{background:var(--ca-azul);border-color:var(--ca-azul);color:#fff}
.ca-todo.on span.t{color:var(--ca-fa);text-decoration:line-through}
.ca-todo.ca-big{font-weight:500;padding:10px 10px;border:1px solid var(--ca-ln);border-radius:6px;margin-top:4px;min-height:44px}

/* ---------- barra do topo (Projetos · Minha semana / nome) ---------- */
.ca-top{display:flex;align-items:center;gap:4px;padding:10px 16px 0;font-size:13px;line-height:1.3;color:var(--ca-mu);min-width:0;flex-wrap:wrap}
.ca-top .ca-tb{font-size:13px;min-height:32px;padding:0 8px}
.ca-top .ca-tb.on{color:var(--ca-tx);background:var(--ca-sel)}
.ca-top .ca-sep{color:var(--ca-fa);padding:0 2px}
.ca-top .ca-sp{flex:1;min-width:8px}
.ca-seg{display:inline-flex;border:1px solid var(--ca-ln);border-radius:8px;padding:2px;gap:2px;background:var(--ca-bg)}
.ca-seg button{border:0;background:none;color:var(--ca-mu);min-height:28px;padding:0 10px;border-radius:6px;font-size:13px;line-height:1.2;display:inline-flex;align-items:center;gap:5px}
.ca-seg button[aria-pressed="true"]{background:var(--ca-sel);color:var(--ca-tx);font-weight:600}
.ca-seg button svg{color:currentColor}
.ca-prev-top{margin:10px 16px 0}
select.ca-in.ca-resp{max-width:100%}
html[data-theme="dark"].ca-black .ca-seg button[aria-pressed="true"]{background:#1f1f1f}
.ca-top b{color:var(--ca-tx);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.ca-cc .ca-nota{display:flex;align-items:center;gap:6px;font-size:13px;margin:0 0 10px}

/* ---------- galeria de projetos (grade única: Cursos e Eventos + livres + Novo projeto) ---------- */
.ca-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.ca-pc{display:flex;flex-direction:column;text-align:left;background:var(--ca-card);border:0;border-radius:10px;box-shadow:var(--ca-sh);padding:0;overflow:hidden;min-height:168px;color:var(--ca-tx);transition:box-shadow .15s,transform .15s;font-size:14px;line-height:1.4}
.ca-pc:hover{box-shadow:var(--ca-sh2);transform:translateY(-1px)}
.ca-pc .ca-cover{height:54px;background:var(--b);display:flex;align-items:flex-end;padding:0 14px}
.ca-pc .ca-ico{width:38px;height:38px;border-radius:9px;background:var(--ca-card);box-shadow:var(--ca-sh);display:grid;place-items:center;color:var(--ac);transform:translateY(14px)}
.ca-pc .ca-body{padding:22px 14px 12px;display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}
.ca-pc .ca-t{font-weight:600;font-size:15px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ca-pc .ca-sub{font-size:12.5px;line-height:1.3;color:var(--ca-mu);display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.ca-pc .ca-sub .ca-late{font-weight:500}
.ca-pc .ca-prox{display:flex;align-items:center;gap:6px;font-size:12.5px;line-height:1.3;color:var(--ca-tx2);min-width:0}
.ca-pc .ca-prox svg{color:var(--ac)}
.ca-pc .ca-prox span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ca-pc .ca-prog{margin-top:auto;display:flex;align-items:center;gap:8px;font-size:12px;line-height:1.3;color:var(--ca-mu)}
.ca-pc .ca-bar{flex:1;height:4px;border-radius:4px;background:var(--ca-ln);overflow:hidden}
.ca-pc .ca-bar i{display:block;height:100%;background:var(--ac);border-radius:4px}
.ca-pc.ca-novo{border:1px dashed var(--ca-ln);box-shadow:none;background:none;align-items:center;justify-content:center;flex-direction:row;gap:8px;color:var(--ca-mu);min-height:168px}
.ca-pc.ca-novo:hover{background:var(--ca-hov);transform:none}

/* ---------- projeto livre: grupos, caixinha, "Nova atividade…" ---------- */
.ca-gh-livre{min-height:36px;font-size:13px;color:var(--ca-mu);cursor:default}
.ca-gh-livre:hover{background:none}
:is(#ct,#caRoot) .ca-cc td.ca-ob{color:var(--ca-mu);font-size:13px;max-width:320px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ca-addrow{display:flex;align-items:center;gap:6px;width:100%;text-align:left;border:0;background:none;color:var(--ca-fa);padding:4px 8px;font-size:14px;line-height:1.4;border-bottom:1px solid var(--ca-ln);min-height:40px;cursor:text}
.ca-addrow:hover{background:var(--ca-hov)}
.ca-addrow input{flex:1;border:0;background:none;font-size:14px;line-height:1.4;color:var(--ca-tx);min-width:0;min-height:32px;padding:0}
.ca-addrow input::placeholder{color:var(--ca-fa)}
.ca-addrow input:focus{outline:0}
.ca-hist{margin-top:18px;font-size:13px;line-height:1.4;color:var(--ca-mu)}
.ca-hist div{padding:4px 0;border-bottom:1px dashed var(--ca-ln)}
.ca-h2in{font-size:28px;line-height:1.25;font-weight:700;margin:0 0 14px;padding:2px 6px;height:auto;color:var(--ca-tx)}
.ca-date{width:auto;min-width:150px}
.ca-hora{width:auto;min-width:96px}
.ca-dias{display:flex;gap:4px;flex-wrap:wrap;width:100%;margin-top:4px}
.ca-dias button{min-width:40px;min-height:32px;border:1px solid var(--ca-ln);border-radius:8px;background:none;color:var(--ca-mu);font-size:12.5px;line-height:1.2;padding:0 6px}
.ca-dias button[aria-pressed="true"]{background:var(--ca-sel);color:var(--ca-tx);border-color:var(--ca-mu);font-weight:600}
.ca-dias button[disabled]{opacity:.5;cursor:not-allowed}
html[data-theme="dark"].ca-black .ca-dias button[aria-pressed="true"]{background:#1f1f1f;border-color:#5a5a5a}
.ca-min{width:72px;min-width:0;text-align:right}
.ca-btn.ca-ini{min-height:30px;padding:0 10px;font-size:13px;display:inline-flex;align-items:center;gap:5px;border-color:var(--ca-ln)}
.ca-kini{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--ca-ln);background:none;border-radius:10px;padding:0 7px;min-height:22px;font-size:12px;line-height:1;color:var(--ca-tx);cursor:pointer}
.ca-kini:hover{background:var(--ca-hov)}
.ca-kini::after{content:"";position:absolute;inset:-8px;display:none}
select.ca-in{width:auto;min-width:150px;appearance:auto}
/* ---------- cartões em três colunas (19/10; maquete atividades-cartoes-proto.html) ---------- */
.ca-kb{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
.ca-kcol{background:var(--ca-out);border:1px solid var(--ca-ln);border-radius:12px;padding:10px;min-height:280px}
.ca-kcol.over{outline:2px dashed var(--ca-mu);outline-offset:-4px}
.ca-kh{display:flex;align-items:center;gap:8px;padding:4px 6px 12px;font-size:13.5px;line-height:1.3;font-weight:600;color:var(--ca-tx)}
.ca-kh i{width:9px;height:9px;border-radius:50%;background:var(--ca-mu)}
.ca-kcol.and .ca-kh i{background:var(--ca-st-and)}.ca-kcol.ok .ca-kh i{background:var(--ca-st-ok)}
.ca-kh .ca-n{margin-left:auto;color:var(--ca-fa);font-weight:400;font-size:12.5px}
.ca-card.ca-k{position:relative;cursor:grab;touch-action:pan-y}
.ca-card.ca-k:active{cursor:grabbing}
.ca-card.ca-k[draggable="false"]{cursor:pointer}
.ca-card.ca-lock{opacity:.8}
.ca-kobs{font-size:12.5px;line-height:1.4;color:var(--ca-mu);margin-top:6px}
.ca-av{margin-left:auto;width:24px;height:24px;border-radius:50%;background:var(--ca-sel);color:var(--ca-tx);display:inline-grid!important;place-items:center;font-size:11px;font-weight:600;border:1px solid var(--ca-ln)}
.ca-kprog{height:3px;border-radius:3px;background:var(--ca-ln);overflow:hidden;margin-top:8px}
.ca-kprog i{display:block;height:100%;background:var(--ac,var(--ca-ic))}
.ca-addk{border:1px dashed var(--ca-ln);border-radius:8px;min-height:38px;padding:0 10px;margin-top:2px}
.ca-addsel{border:1px solid var(--ca-ln);border-radius:6px;background:var(--ca-inp);color:var(--ca-tx);font-size:13px;line-height:1.2;min-height:30px;max-width:46%;padding:0 6px}
.ca-kabas{display:none}
.ca-kghost{position:fixed;left:0;top:0;z-index:400;pointer-events:none;opacity:.92;box-shadow:0 12px 32px rgba(0,0,0,.35);transform:translate(-9999px,-9999px)}
.ca-card.ca-karr{opacity:.35}
.ca-kabas button.over{outline:2px dashed var(--ca-mu);outline-offset:-2px}
.ca-card.ca-k .ca-tg .ca-st.agu{height:auto;padding:3px 8px;white-space:normal;line-height:1.3}
html[data-theme="dark"].ca-black .ca-kcol{background:#070707}

/* ---------- modal Novo projeto ---------- */
.ca-mo{position:fixed;inset:0;background:var(--ca-ov);z-index:295;display:flex;align-items:center;justify-content:center;padding:16px}
.ca-mo-c{background:var(--ca-peek);border-radius:12px;box-shadow:var(--ca-sh2);width:min(460px,100%);padding:22px 24px;color:var(--ca-tx);max-height:100%;overflow-y:auto}
.ca-mo-c h2{font-size:20px;line-height:1.3;margin:0 0 14px;color:var(--ca-tx)}
.ca-fg{margin-bottom:12px}
.ca-fg2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.ca-fg label{display:block;font-size:12.5px;line-height:1.3;color:var(--ca-mu);margin-bottom:4px}
.ca-fg input,.ca-fg select{width:100%;min-height:40px;border:1px solid var(--ca-ln);border-radius:6px;background:var(--ca-inp);padding:0 10px;font-size:16px;line-height:1.3;color:var(--ca-tx)}
.ca-icos{display:flex;gap:6px;flex-wrap:wrap}
.ca-icos button{width:40px;height:40px;border-radius:8px;border:1px solid var(--ca-ln);background:none;display:grid;place-items:center;color:var(--ca-ic)}
.ca-icos button[aria-pressed="true"]{border-color:var(--ca-azul);background:rgba(35,131,226,.12);color:var(--ca-azul)}
.ca-acts{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}
.ca-btn{min-height:40px;padding:0 14px;border-radius:6px;border:1px solid var(--ca-ln);background:none;font-size:14px;line-height:1.3;font-weight:500;color:var(--ca-tx)}
.ca-btn.ca-pri{background:var(--ca-azul);border-color:var(--ca-azul);color:#fff}
.ca-btn[disabled]{opacity:.5;cursor:not-allowed}

/* ---------- MODO BLACK (Rafael, 15/10/2026): no noturno, dentro de Atividades, TUDO fica preto — a casca do EXEDU
   inclusive (fundo, cabeçalho, trilho, "+ Nota", bolinha) — e quase sem cor, "para roubar o mínimo de dopamina".
   A classe `ca-black` no <html> é ligada/desligada pelo r() (core.js) conforme a tela; só vale com data-theme="dark".
   Preto puro #000; a única cor que sobra é o âmbar apagado das atrasadas e do "Aguardando" (decisão do Rafael).
   Maquete: _docs/proto/atividades-black-proto.html. ---------- */
html[data-theme="dark"].ca-black{--bg:#000;--az:#9a9a9a;--azs:#161616}
html[data-theme="dark"].ca-black body{background:#000}
html[data-theme="dark"].ca-black header{background:#000;background-image:none;box-shadow:0 1px 0 #1a1a1a}
html[data-theme="dark"].ca-black #nv{background:#000;border-color:#1a1a1a;box-shadow:none}
html[data-theme="dark"].ca-black header .hdr-nota,html[data-theme="dark"].ca-black header .hdr-nota:hover{background:#141414;background-image:none;color:#bdbdbd;border:1px solid #2a2a2a;box-shadow:none}
html[data-theme="dark"].ca-black header .hdr-qr{border-color:#2a2a2a;color:#9a9a9a}
html[data-theme="dark"].ca-black .nv-bd,html[data-theme="dark"].ca-black #nv .nv-bd,html[data-theme="dark"].ca-black header .hdr-push-n{background:#2a2a2a;color:#bdbdbd}
html[data-theme="dark"].ca-black header .hdr-av{background:#1f1f1f;background-image:none;color:#bdbdbd;box-shadow:none}
html[data-theme="dark"].ca-black #nv button.on{background:#141414;background-image:none;color:#d4d4d4;box-shadow:none;border-color:#2a2a2a}
html[data-theme="dark"].ca-black header .hmb{background:#1a1a1a}
html[data-theme="dark"].ca-black .ca-cc{
  --ca-bg:#000;--ca-tx:#d4d4d4;--ca-tx2:#a3a3a3;--ca-mu:#8a8a8a;--ca-fa:#5a5a5a;--ca-ln:#1f1f1f;--ca-hov:rgba(255,255,255,.04);--ca-sel:rgba(255,255,255,.07);
  --ca-card:#0e0e0e;--ca-card-h:#141414;--ca-peek:#0a0a0a;--ca-callout:#141414;--ca-prev:#141414;--ca-out:#050505;--ca-chk:#5a5a5a;--ca-inp:#141414;
  --ca-sh:rgba(255,255,255,.07) 0 0 0 1px;--ca-sh2:rgba(255,255,255,.12) 0 0 0 1px;--ca-sh-peek:rgba(255,255,255,.08) 0 0 0 1px,rgba(0,0,0,.8) 0 16px 48px;
  --ca-ov:rgba(0,0,0,.72);--ca-azul:#3a3a3a;--ca-red:#b08a4a;
  --ca-gray-bg:#161616;--ca-brown-bg:#161616;--ca-orange-bg:#161616;--ca-yellow-bg:#161616;--ca-green-bg:#161616;--ca-blue-bg:#161616;--ca-purple-bg:#161616;--ca-pink-bg:#161616;--ca-teal-bg:#161616;
  --ca-gray-tx:#9a9a9a;--ca-brown-tx:#9a9a9a;--ca-orange-tx:#9a9a9a;--ca-yellow-tx:#9a9a9a;--ca-green-tx:#9a9a9a;--ca-blue-tx:#9a9a9a;--ca-purple-tx:#9a9a9a;--ca-pink-tx:#9a9a9a;--ca-teal-tx:#9a9a9a;
  --ca-ic:#9a9a9a;--ca-ac-green:#a3a3a3;--ca-ac-blue:#a3a3a3;--ca-ac-purple:#a3a3a3;--ca-ac-orange:#a3a3a3;--ca-ac-yellow:#a3a3a3;--ca-ac-pink:#a3a3a3;--ca-ac-brown:#a3a3a3;--ca-ac-gray:#a3a3a3;--ca-ac-teal:#a3a3a3;
  --ca-st-nao-bg:#161616;--ca-st-nao:#8a8a8a;--ca-st-and-bg:#161616;--ca-st-and:#a3a3a3;--ca-st-agu-bg:#1a1610;--ca-st-agu:#a08a5a;--ca-st-ok-bg:#161616;--ca-st-ok:#9a9a9a;
  border:1px solid #1a1a1a}
html[data-theme="dark"].ca-black .ca-fp.set,html[data-theme="dark"].ca-black .ca-fp.ca-del.set{color:#bdbdbd;border-color:#3a3a3a;background:#141414}
html[data-theme="dark"].ca-black :is(#ct,#caRoot) .ca-cc tr.done .ca-ck{background:#3a3a3a;border-color:#3a3a3a;color:#d4d4d4}
html[data-theme="dark"].ca-black .ca-btn.ca-pri{background:#2a2a2a;border-color:#3a3a3a;color:#d4d4d4}
html[data-theme="dark"].ca-black .ca-icos button[aria-pressed="true"]{border-color:#5a5a5a;background:#1f1f1f;color:#d4d4d4}
html[data-theme="dark"].ca-black .ca-cd.hoje .dn span{background:#2a2a2a;color:#d4d4d4}
html[data-theme="dark"].ca-black .ca-pc .ca-cover{background:#141414}
html[data-theme="dark"].ca-black .ca-pc .ca-ico{border:1px solid #1f1f1f}
html[data-theme="dark"].ca-black .ca-top .ca-tb.on{background:#141414}
html[data-theme="dark"].ca-black :focus-visible{outline-color:#6a6a6a}

/* Campos da Central no noturno: o styles.css pinta TODO input/select/textarea do escuro com --wh (azul-marinho) e !important
   (regra global da linha ~947); aqui o fundo é o da Central (transparente; o da casca ao focar). 19/10/2026, Rafael: "azul, retire". */
/* A regra global tem 4 :not() (especificidade 0,5,1) e !important: para vencer, id + 4 :not() aqui também (1,5,2). */
html[data-theme="dark"] :is(#ct,#caRoot) .ca-cc input:not([type=button]):not([type=submit]):not([type=checkbox]):not([type=radio]),
html[data-theme="dark"] :is(#ct,#caRoot) .ca-cc select:not([type=button]):not([type=submit]):not([type=checkbox]):not([type=radio]),
html[data-theme="dark"] :is(#ct,#caRoot) .ca-cc textarea:not([type=button]):not([type=submit]):not([type=checkbox]):not([type=radio]){background:transparent!important;color:var(--ca-tx)!important;border-color:var(--ca-ln)!important;box-shadow:none}
html[data-theme="dark"] :is(#ct,#caRoot) .ca-cc .ca-in:focus:not([type=button]):not([type=submit]):not([type=checkbox]):not([type=radio]),
html[data-theme="dark"] :is(#ct,#caRoot) .ca-cc .ca-fg input:not([type=button]):not([type=submit]):not([type=checkbox]):not([type=radio]),
html[data-theme="dark"] :is(#ct,#caRoot) .ca-cc .ca-fg select:not([type=button]):not([type=submit]):not([type=checkbox]):not([type=radio]){background:var(--ca-inp)!important}
[data-theme="dark"] .ca-cc .ca-addrow input::placeholder,[data-theme="dark"] .ca-cc .ca-in::placeholder{color:var(--ca-fa)}
/* Preenchimento automático do navegador: o Chrome pinta o campo de azul (no escuro, azul-escuro) por cima de qualquer
   background. A única saída é o box-shadow interno da cor do fundo + transição infinita da cor. */
.ca-cc input:-webkit-autofill,.ca-cc input:-webkit-autofill:hover,.ca-cc input:-webkit-autofill:focus,.ca-cc input:-internal-autofill-selected{
  -webkit-box-shadow:0 0 0 1000px var(--ca-bg) inset!important;box-shadow:0 0 0 1000px var(--ca-bg) inset!important;-webkit-text-fill-color:var(--ca-tx)!important;caret-color:var(--ca-tx);transition:background-color 999999s ease-out 0s}
.ca-cc .ca-addrow input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--ca-bg) inset!important}

/* ---------- app em tela cheia (#caRoot, 19/10) ---------- */
#caRoot{position:fixed;inset:0;z-index:2000;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#fff;padding-top:env(safe-area-inset-top,0px)}
[data-theme="dark"] #caRoot{background:#191919}
html[data-theme="dark"].ca-black #caRoot{background:#000}
html.ca-on,html.ca-on body{overflow:hidden}
#caRoot .ca-cc{border-radius:0;min-height:100%}
#caRoot .ca-top{position:sticky;top:0;z-index:5;background:var(--ca-bg);padding-top:10px;padding-bottom:6px;border-bottom:1px solid var(--ca-ln)}
.ca-top .ca-sair{color:var(--ca-tx);font-weight:600}
/* ---------- enviar tarefa (avião no cartão + lista da equipe) ---------- */
.ca-card.ca-k{padding-right:40px}
.ca-ksend{position:absolute;right:8px;top:8px;width:28px;height:28px;border:0;border-radius:7px;background:none;color:var(--ca-mu);display:grid;place-items:center;cursor:pointer}
.ca-ksend::after{content:"";position:absolute;inset:-8px}
.ca-ksend:hover{background:var(--ca-hov);color:var(--ca-tx)}
.ca-pop{position:absolute;right:8px;top:38px;z-index:6;width:min(260px,calc(100% - 16px));background:var(--ca-peek);border:1px solid var(--ca-ln);border-radius:10px;box-shadow:var(--ca-sh2);padding:6px;max-height:280px;overflow-y:auto}
.ca-pop-t{font-size:12px;line-height:1.3;color:var(--ca-mu);padding:4px 8px 6px}
.ca-pop-it{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:0;background:none;border-radius:7px;padding:6px 8px;min-height:40px;font-size:13.5px;line-height:1.3;color:var(--ca-tx);cursor:pointer}
.ca-pop-it:hover{background:var(--ca-hov)}
.ca-pop-it.on{font-weight:600}
.ca-pop-it .ca-av{margin-left:0}
.ca-pop-it svg{margin-left:auto;color:var(--ca-st-ok)}

/* ---------- "Meus projetos" e Desempenho (Rafael, 20/10/2026) ---------- */
.ca-volta{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px 0 8px;margin:-6px 0 6px -8px;font-size:14px;line-height:1.2;font-weight:500;color:var(--ca-mu);border-radius:8px}
.ca-volta:hover{color:var(--ca-tx);background:var(--ca-sel)}
.ca-dz-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 22px}
.ca-dz-tile{border:1px solid var(--ca-ln);border-radius:10px;padding:14px 16px;background:var(--ca-card);min-width:0}
.ca-dz-tile .k{font-size:13px;line-height:1.3;color:var(--ca-mu)}
.ca-dz-tile .v{font-size:32px;line-height:1.1;font-weight:700;color:var(--ca-tx);margin:6px 0 4px;font-variant-numeric:tabular-nums}
.ca-dz-tile .s{font-size:12.5px;line-height:1.35;color:var(--ca-mu)}
.ca-dz-tile .s b{font-weight:600}.ca-dz-tile .up{color:var(--ca-ac-green)}.ca-dz-tile .dn{color:var(--ca-red)}
.ca-dz-h{font-size:14px;line-height:1.3;font-weight:600;color:var(--ca-tx);margin:0 0 10px}
.ca-dz-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.ca-dz-hd .ca-dz-h{margin:0}
.ca-dz-seg button{min-height:40px;padding:0 14px;font-size:14px} /* alvo 44 com a borda e o respiro da .ca-seg */
.ca-dz-ch{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));align-items:end;height:190px;border-bottom:1px solid var(--ca-ln);margin-bottom:6px}
.ca-dz-b{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;height:100%;min-width:0;border:0;background:none;padding:0 6px;border-radius:8px 8px 0 0;cursor:pointer;color:var(--ca-mu);font-size:12px;line-height:1.2}
.ca-dz-b:hover{background:var(--ca-hov)}
.ca-dz-b i{display:block;width:100%;max-width:44px;border-radius:5px 5px 0 0;background:var(--ca-chk);min-height:3px}
.ca-dz-b .n{font-weight:600;color:var(--ca-tx);font-variant-numeric:tabular-nums}
.ca-dz-b.cur i{background:var(--ca-azul)}
.ca-dz-b[aria-pressed="true"]{background:var(--ca-sel)}
.ca-dz-lb{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));font-size:12px;line-height:1.3;color:var(--ca-mu);text-align:center;margin-bottom:24px}
.ca-dz-lb .cur{color:var(--ca-tx);font-weight:600}
.ca-dz-dia{font-size:13px;line-height:1.3;color:var(--ca-mu);font-weight:600;margin:14px 0 4px;padding:0 4px}
.ca-dz-li{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;border:0;background:none;text-align:left;padding:4px 6px;border-radius:6px;color:var(--ca-tx);font-size:14px;line-height:1.35}
.ca-dz-li:hover{background:var(--ca-hov)}
.ca-dz-li .ok{color:var(--ca-ac-green);display:flex;flex:none}
.ca-dz-li .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ca-dz-li .o{flex:none;max-width:45%;overflow:hidden}
.ca-dz-vz{color:var(--ca-mu);font-size:14px;line-height:1.4;padding:8px 4px}

/* ---------- celular ---------- */
@media (max-width:1000px){.ca-page{padding:20px 24px 56px}}
@media (max-width:760px){
  .ca-cc{border-radius:0}
  .ca-page{padding:12px 16px 48px}
  .ca-cc .ca-h1{font-size:30px}
  .ca-vt{padding:0 7px;font-size:13.5px;gap:5px}
  .ca-picon{width:56px;height:56px}
  .ca-tools{width:100%;margin:2px 0 4px}
  .ca-como{padding-left:8px}
  .ca-fp{min-height:36px}
  .ca-tw{display:none}
  .ca-lista{display:block}
  .ca-board{grid-template-columns:minmax(0,1fr)}
  .ca-kb{grid-template-columns:minmax(0,1fr)}
  .ca-kcol{display:none;min-height:0}
  .ca-kcol.on{display:block}
  .ca-kabas{display:flex;gap:4px;margin-bottom:10px}
  .ca-kabas button{flex:1;min-height:38px;border:1px solid var(--ca-ln);background:none;border-radius:8px;font-size:12.5px;line-height:1.2;color:var(--ca-mu);padding:0 4px}
  .ca-kabas button[aria-pressed="true"]{background:var(--ca-sel);color:var(--ca-tx);font-weight:600}
  .ca-bc{min-width:0}
  .ca-peek{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}
  .ca-pk-b{padding:12px 18px 24px}
  .ca-pk-b select.ca-in{min-height:44px} /* Projeto, Responsável e Repete com alvo de 44 */
  .ca-dz-tiles{gap:8px}.ca-dz-tile{padding:10px}.ca-dz-tile .v{font-size:26px}.ca-dz-tile .k,.ca-dz-tile .s{font-size:12px}
  .ca-dz-ch,.ca-dz-lb{grid-template-columns:repeat(6,minmax(0,1fr))}
  .ca-dz-ch>:nth-child(-n+2),.ca-dz-lb>:nth-child(-n+2){display:none} /* 6 períodos no celular (barra com alvo de 44+) */
  .ca-dz-li .o{display:none}
  .ca-pk-b h2{font-size:24px}
  .ca-props{grid-template-columns:112px minmax(0,1fr)}
  .ca-in{font-size:16px}
  .ca-cd{min-height:72px;padding:2px 2px 4px}
  .ca-cd .ev{font-size:11px;padding:3px 4px;min-height:22px}
  .ca-cd .ev svg{display:none}
  .ca-cd .dn{font-size:12px}
  .ca-top{padding:8px 12px 0}
  .ca-gal{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .ca-pc{min-height:150px}
  .ca-pc .ca-t{font-size:14px}
  .ca-pc .ca-body{padding:20px 10px 10px}
  .ca-addrow input{font-size:16px}
  .ca-h2in{font-size:24px}
  #caRoot .ca-top{padding-left:12px;padding-right:12px}
  .ca-pop{right:4px;width:calc(100% - 8px)}
  .ca-mo{padding:0;align-items:flex-end}
  .ca-mo-c{border-radius:14px 14px 0 0;max-height:92vh;max-height:92dvh}
}
@media (max-width:1000px) and (min-width:761px){.ca-gal{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}}
