/* Ponte para o design system (css/tokens.css): meus nomes antigos -> tokens novos.
   Assim os temas (slate/carbon/midnight) e a fonte do design valem em todo o site. */
:root{
  --txt:var(--text); --late:var(--overdue); --hoje:var(--today);
  --semana:var(--accent); --done:var(--st-pronto);
  --a_fazer:var(--st-afazer); --fazendo:var(--st-fazendo); --revisao:var(--st-revisao);
  --pronto:var(--st-pronto); --entregue:var(--st-entregue);
  --claude-bg:color-mix(in srgb,var(--claude) 12%,var(--bg));
  --claude-line:color-mix(in srgb,var(--claude) 35%,transparent);
  --radius:var(--radius-lg);
}
*{box-sizing:border-box}
a{color:inherit;text-decoration:none}
.muted{color:var(--muted);font-weight:400}

/* ---------- topbar + abas ---------- */
.topbar{display:flex;align-items:center;gap:14px;padding:8px 18px;min-height:54px;flex-wrap:wrap;
  background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.brand{font-weight:700;font-size:15px;white-space:nowrap;display:flex;align-items:center;gap:7px}
.ico-logo{width:22px;height:22px;color:var(--accent);flex:0 0 22px}
.ico{width:16px;height:16px;flex:0 0 16px;vertical-align:-3px}

/* seletor de tema/fonte */
.theme-wrap{position:relative}
.theme-toggle{font-size:15px;line-height:1;padding:6px 9px}
.theme-pop{display:none;position:absolute;right:0;top:42px;z-index:30;
  background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px;
  box-shadow:var(--shadow-overlay,0 24px 60px rgba(0,0,0,.5));min-width:230px}
.theme-pop.show{display:block}
.tp-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:6px 0}
.tp-row>span{color:var(--muted);font-size:12px;font-weight:600}
.seg{display:flex;gap:3px;background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:3px}
.seg button{border:1px solid transparent;background:transparent;color:var(--muted);border-radius:6px;
  padding:5px 9px;font-size:11.5px;font-weight:600;cursor:pointer;font-family:inherit}
.seg button[aria-pressed="true"]{background:var(--card);color:var(--text);border-color:var(--line)}
.tabs{display:flex;gap:4px;flex:1;min-width:0;overflow-x:auto}
.tabs a{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:9px;color:var(--muted);font-weight:600;white-space:nowrap}
.tabs a:hover{color:var(--txt);background:#1f2731}
.tabs a.on{color:#fff;background:var(--accent)}
.topbar-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.btn-ghost{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border:1px solid var(--line);border-radius:8px;color:var(--muted)}
.btn-ghost:hover{color:var(--txt);border-color:var(--accent)}

/* ---------- resumo / chips ---------- */
.resumo{display:flex;align-items:center;gap:10px;padding:12px 18px;flex-wrap:wrap;
  background:#12181f;border-bottom:1px solid var(--line)}
.chip{background:var(--card);border:1px solid var(--line);border-radius:20px;
  padding:5px 13px;font-size:13px;color:var(--muted)}
.chip b{color:var(--txt);font-size:15px;margin-right:3px}
.chip.late b{color:var(--late)} .chip.hoje b{color:var(--hoje)}
.chip.semana b{color:var(--semana)} .chip.done b{color:var(--done)}
.cal-nav{display:flex;align-items:center;gap:10px;margin-right:auto}
.cal-title{font-size:16px;min-width:160px;text-align:center}

/* ---------- flash ---------- */
.flash-wrap{padding:10px 18px 0;display:flex;flex-direction:column;gap:6px}
.flash{padding:9px 13px;border-radius:9px;font-size:13px}
.flash.ok{background:#15321f;color:#86efac;border:1px solid #1f5132}
.flash.erro{background:#3b1d1d;color:#fca5a5;border:1px solid #5b2626}

.content{padding:16px}

/* ---------- quadro (kanban) ---------- */
.board{display:flex;gap:14px;overflow-x:auto;align-items:flex-start}
.col{flex:0 0 290px;background:var(--panel);border:1px solid var(--line);
  border-radius:var(--radius);padding:10px;display:flex;flex-direction:column;gap:10px}
.col-head{margin:2px 4px 4px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;
  color:var(--muted);display:flex;align-items:center;gap:8px}
.col-head.col-late{color:var(--late)}
.count{background:var(--card);color:var(--muted);border-radius:20px;padding:1px 9px;font-size:12px}
.card{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--a_fazer);
  border-radius:10px;padding:11px;display:flex;flex-direction:column;gap:8px}
.card.status-a_fazer{border-left-color:var(--a_fazer)}
.card.status-fazendo{border-left-color:var(--fazendo)}
.card.status-revisao{border-left-color:var(--revisao)}
.card.status-pronto{border-left-color:var(--pronto)}
.card.status-entregue{border-left-color:var(--entregue);opacity:.7}
.card-top{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.pill{font-size:11px;padding:2px 8px;border-radius:20px;background:#2c3742;color:var(--muted);white-space:nowrap}
.pill.deadline{background:#3a2f1c;color:var(--hoje)}
.card-title{font-weight:600;line-height:1.3;color:var(--txt)}
.card-title:hover{color:var(--accent)}
.card-meta{display:flex;justify-content:space-between;align-items:center}
.oid{font-size:12px;color:var(--muted)}
.oid:hover{color:var(--accent)}
.card-controls{display:flex;gap:6px}
.f-status,.f-resp,.f-notas{background:var(--panel);border:1px solid var(--line);
  color:var(--txt);border-radius:7px;padding:6px 8px;font-size:13px;font-family:inherit}
.f-status{flex:0 0 110px}
.f-resp{flex:1;min-width:0}
.f-notas{width:100%;resize:vertical;min-height:34px}
.card-saved{font-size:11px;color:var(--pronto);min-height:13px}
.empty{color:var(--line);text-align:center;padding:4px}
.empty-all{color:var(--muted);padding:40px;text-align:center;width:100%}

/* ---------- calendário ---------- */
.cal{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:10px;overflow-x:auto}
.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:6px}
.cal-head{margin-bottom:6px}
.cal-dow{text-align:center;color:var(--muted);font-size:12px;text-transform:uppercase;
  letter-spacing:.05em;padding:4px}
.cal-cell{background:var(--card);border:1px solid var(--line);border-radius:9px;
  min-height:104px;padding:6px;display:flex;flex-direction:column;gap:4px}
.cal-cell.out{opacity:.4}
.cal-cell.today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.cal-day{font-size:12px;color:var(--muted);font-weight:700}
.cal-cell.today .cal-day{color:var(--accent)}
.cal-item{display:block;font-size:11.5px;line-height:1.25;padding:4px 6px;border-radius:6px;
  background:#2c3742;border-left:3px solid var(--a_fazer);white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis}
.cal-item:hover{filter:brightness(1.2)}
.cal-item.status-a_fazer{border-left-color:var(--a_fazer)}
.cal-item.status-fazendo{border-left-color:var(--fazendo)}
.cal-item.status-revisao{border-left-color:var(--revisao)}
.cal-item.status-pronto{border-left-color:var(--pronto)}
.cal-item.status-entregue{border-left-color:var(--entregue);opacity:.6}

/* ---------- usuários ---------- */
.users-page{display:flex;flex-direction:column;gap:16px;max-width:900px}
.users-page .panel{overflow-x:auto}
.utable{min-width:520px}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px}
.panel h2{margin:0 0 12px;font-size:16px}
.utable{width:100%;border-collapse:collapse}
.utable th{text-align:left;color:var(--muted);font-size:12px;font-weight:600;
  padding:6px 8px;border-bottom:1px solid var(--line)}
.utable td{padding:8px;border-bottom:1px solid var(--line);vertical-align:middle}
.inline{display:flex;gap:6px;align-items:center;margin:0}
.inline input[type=password],.inline input[type=text]{background:var(--card);border:1px solid var(--line);
  color:var(--txt);border-radius:7px;padding:6px 8px;font-size:13px}
button{background:var(--accent);color:#fff;border:none;border-radius:7px;padding:7px 12px;
  font-size:13px;cursor:pointer;font-weight:600;font-family:inherit}
button:hover{filter:brightness(1.1)}
button.danger{background:#7f2222}
.badge{padding:4px 11px;border-radius:20px;font-size:12px}
.badge-on{background:#1d3a5f;color:#9ec5ff}
.badge-off{background:#2c3742;color:var(--muted)}
.userform{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.userform input{background:var(--card);border:1px solid var(--line);color:var(--txt);
  border-radius:8px;padding:9px 11px;font-size:14px}
.chk{display:flex;align-items:center;gap:5px;color:var(--muted)}

/* ---------- login ---------- */
.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh}
.login-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;
  padding:32px 28px;width:320px;display:flex;flex-direction:column;gap:12px}
.login-card h1{margin:0;font-size:20px}
.login-card .sub{margin:0 0 8px;color:var(--muted);font-size:13px}
.login-card input{background:var(--card);border:1px solid var(--line);color:var(--txt);
  border-radius:8px;padding:10px 12px;font-size:14px}
.login-card button{padding:11px;font-size:15px}
.erro{background:#3b1d1d;color:#fca5a5;border:1px solid #5b2626;border-radius:8px;padding:8px 10px;font-size:13px}

/* ---------- botao + e modal ---------- */
.btn-add{display:inline-flex;align-items:center;gap:6px;background:var(--accent);color:#fff;border:none;
  border-radius:8px;padding:7px 13px;font-weight:600;cursor:pointer;font-size:13px}
.btn-add:hover{filter:brightness(1.1)}
.modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:50;
  align-items:flex-start;justify-content:center;padding-top:12vh}
.modal.show{display:flex}
.modal-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;
  padding:22px;width:min(480px,92vw);display:flex;flex-direction:column;gap:12px}
.modal-card h3{margin:0;font-size:17px}
.modal-card input{background:var(--card);border:1px solid var(--line);color:var(--txt);
  border-radius:8px;padding:10px 12px;font-size:14px}
.modal-actions{display:flex;justify-content:flex-end;gap:8px}

/* ---------- extras quadro ---------- */
.col-date{color:var(--muted);font-weight:600;margin-left:2px}
.arts{display:flex;flex-direction:column;gap:4px}
.art{display:block;font-size:12px;padding:5px 8px;border-radius:7px;background:#1d2b22;
  border:1px solid #285038;color:#a7f3d0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.art.art-material{background:#1d2733;border-color:#2b4a6b;color:#bcd9ff}
.art:hover{filter:brightness(1.15)}

/* horario de entrega fora do padrao (!= 23h00) -> chamativo */
.pill.deadline.hora-alerta{background:#3a1d1d;color:#ffb4b4;border:1px solid var(--late);
  font-weight:700;animation:pulse-alert 1.8s ease-in-out infinite}
@keyframes pulse-alert{0%,100%{box-shadow:0 0 0 0 rgba(239,68,68,.0)}
  50%{box-shadow:0 0 0 3px rgba(239,68,68,.28)}}

/* caixa de entrega do Claude (laranja) */
.claude-box{border:1px solid var(--claude-line);background:var(--claude-bg);border-radius:8px;overflow:hidden}
.claude-tab{display:flex;align-items:center;gap:5px;background:var(--claude);color:#1a1206;
  font-size:11px;font-weight:800;padding:3px 8px;letter-spacing:.03em}
.claude-body{display:flex;flex-direction:column;gap:4px;padding:6px}
.claude-empty{color:#9a7a5c;font-size:11.5px;font-style:italic}

/* briefing + anexos do cliente + contexto */
.ctx{display:flex;flex-direction:column;gap:5px}
.brief{font-size:12px;background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:5px 8px}
.brief summary{cursor:pointer;color:var(--muted);font-weight:600;user-select:none}
.brief-body{margin-top:6px;display:flex;flex-direction:column;gap:7px}
.brief-desc{color:var(--txt);line-height:1.4;max-height:160px;overflow:auto;white-space:pre-wrap;font-size:12px}
.cfiles{display:flex;flex-direction:column;gap:3px}
.cfile{font-size:12px;padding:4px 7px;border-radius:6px;background:#2c2336;border:1px solid #4a3a5e;
  color:#d9c5ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cfile:hover{filter:brightness(1.15)}
.ctx-actions{display:flex;align-items:center;gap:8px}
.ctx-btn{background:#243042;color:#bcd9ff;border:1px solid #2b4a6b;border-radius:7px;padding:4px 9px;
  font-size:12px;font-weight:600;cursor:pointer}
.ctx-btn:hover{filter:brightness(1.2)}
.ctx-link{font-size:12px;color:var(--muted)}
.ctx-link:hover{color:var(--accent)}

/* responsavel (quem faz) com avatar */
.resp{display:flex;align-items:center;gap:5px;flex:1;min-width:0}
.resp .f-resp{flex:1;min-width:0}
.resp-av{width:24px;height:24px;border-radius:50%;flex:0 0 24px;object-fit:cover;
  display:inline-flex;align-items:center;justify-content:center;font-size:13px;
  background:var(--card);border:1px solid var(--line)}
.resp-av.ini{background:#33405a;color:#cfe0ff;font-weight:700;font-size:12px}
.resp-av.claude{background:var(--claude);color:#1a1206;border-color:var(--claude-line)}
.claude-sched{font-size:11.5px;color:var(--claude);background:var(--claude-bg);
  border:1px solid var(--claude-line);border-radius:6px;padding:3px 7px;
  display:flex;align-items:center;justify-content:space-between;gap:6px}
.claude-sched.due{border-color:var(--claude)}
.prod-btn{background:var(--claude);color:#1a1206;border:none;border-radius:6px;padding:3px 9px;
  font-size:11.5px;font-weight:800;cursor:pointer;white-space:nowrap}
.prod-btn:hover{filter:brightness(1.08)}

/* semana: data do dia + destaque de hoje */
.wk-data{color:var(--muted);font-weight:600}
.wk-hoje{background:var(--accent);color:#fff;border-radius:10px;padding:0 7px;font-size:10px;font-weight:800}
.wk-col.wk-today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:#16202c}

/* avatares na aba usuarios */
.avatar-form{margin:0}
.avatar-pick{cursor:pointer;display:inline-block}
.avatar-img{width:36px;height:36px;border-radius:50%;object-fit:cover;display:inline-flex;
  align-items:center;justify-content:center;background:#33405a;color:#cfe0ff;font-weight:700;
  border:1px solid var(--line)}
.avatar-pick:hover .avatar-img{border-color:var(--accent)}

/* ---------- aba Semana ---------- */
.week{display:flex;flex-direction:column;gap:14px}
.wk-pool{background:var(--panel);border:1px dashed var(--line);border-radius:var(--radius);
  padding:10px;display:flex;flex-wrap:wrap;gap:10px;min-height:70px}
.wk-grid{display:grid;grid-template-columns:repeat(7,minmax(180px,1fr));gap:10px;overflow-x:auto;padding-bottom:4px}
.wk-col{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:8px;display:flex;flex-direction:column;gap:8px;min-height:140px}
.wk-pool.over,.wk-col.over{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.wk-head{margin:0 2px 2px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;
  color:var(--muted);display:flex;align-items:center;gap:6px}
.wk-pool .wk-head{width:100%}
.wk-card{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--a_fazer);
  border-radius:9px;padding:9px;display:flex;flex-direction:column;gap:6px;cursor:grab}
.wk-pool .wk-card{flex:0 0 230px}
.wk-card.dragging{opacity:.5}
.wk-card.status-fazendo{border-left-color:var(--fazendo)}
.wk-card.status-revisao{border-left-color:var(--revisao)}
.wk-card.status-pronto{border-left-color:var(--pronto)}
.wk-card.status-entregue{border-left-color:var(--entregue);opacity:.72}
.wk-card-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.grip{color:var(--muted);cursor:grab}
.wk-title{font-weight:600;font-size:13px;line-height:1.25;color:var(--txt)}
.wk-title:hover{color:var(--accent)}
.wk-controls{display:flex;gap:5px}
.wk-controls .f-status{flex:0 0 96px}
.wk-controls .f-resp{flex:1;min-width:0}

/* laptop estreito / tablet: abas vao pra uma linha propria (nada corta) */
@media(max-width:920px){
  .topbar{gap:10px;padding:8px 12px}
  .brand{order:1}
  .topbar-right{order:2;margin-left:auto}
  .tabs{order:3;flex:1 1 100%}
  .topbar-right .muted{display:none}        /* esconde o nome no topo (evita aperto) */
  .wk-grid{grid-template-columns:repeat(7,minmax(172px,1fr))}
}
/* celular: tudo empilhado, nada cortado */
@media(max-width:640px){
  .hide-sm{display:none}
  .topbar{gap:8px;padding:8px 10px}
  .tabs a{padding:7px 10px;font-size:13px}
  .resumo{padding:10px 12px;gap:8px}
  .board{flex-direction:column}
  .col{flex:1 1 auto;width:100%}
  .week .wk-grid{grid-template-columns:1fr;overflow-x:visible}  /* dias empilhados */
  .wk-pool .wk-card{flex:1 1 100%}
  .content{padding:10px}
  .theme-pop{right:auto;left:0;min-width:200px}
  .cal-grid{grid-template-columns:repeat(7,minmax(48px,1fr));gap:3px}
  .cal-cell{min-height:64px;padding:3px}
  .cal-item{font-size:0;padding:5px;border-left-width:8px}
}

/* botao arquivar (no card) */
.arch-btn{background:transparent;border:none;cursor:pointer;font-size:13px;opacity:.5;padding:2px 4px;line-height:1;transition:transform .1s}
.arch-btn:hover{opacity:1;transform:scale(1.15)}

/* ============================================================
   TEMA "LAÍS" — pastel, claro e fofo (Meninas Super Poderosas,
   Steven Universo, Pearl). Tema CLARO: ajusta os pontos que eram
   escuros fixos para tons pastel.
   ============================================================ */
/* a PALETA vem de css/tokens-lais.css (designer). Aqui só fonte fofa + ajustes dos
   pontos que eram escuros fixos no tema escuro. */
[data-theme="lais"]{ --font:'Nunito','Segoe UI',sans-serif; }
[data-theme="lais"] .brand,[data-theme="lais"] .col-head,[data-theme="lais"] .wk-head,
[data-theme="lais"] .panel h2,[data-theme="lais"] .login-card h1{font-family:'Baloo 2','Nunito',cursive}
[data-theme="lais"] body{background:linear-gradient(180deg,#fdeef8,#fdf4fb) fixed}
[data-theme="lais"] .topbar{background:linear-gradient(90deg,#ffe1f1,#e8f0ff)}
[data-theme="lais"] .tabs a:hover{background:#fbe4f3;color:var(--text)}
[data-theme="lais"] .tabs a.on{color:#fff}
[data-theme="lais"] .pill{background:#f6e6f3;color:var(--muted)}
[data-theme="lais"] .pill.deadline{background:#fdeede;color:#cf812f}
[data-theme="lais"] .count{background:#f3e3f1;color:var(--muted)}
[data-theme="lais"] .resp-av.ini{background:#ead7f5;color:#7a4ea3}
[data-theme="lais"] .wk-col.wk-today{background:#fff0f8}
[data-theme="lais"] .cfile{background:#efe4fb;border-color:#dcc6f3;color:#7a4ea3}
[data-theme="lais"] .art{background:#e3f7ee;border-color:#bfe9d4;color:#2f8f63}
[data-theme="lais"] .art.art-material{background:#e6f0fc;border-color:#c5ddf6;color:#3a6ea5}
[data-theme="lais"] .ctx-btn{background:#e9eefc;border-color:#cdd9f6;color:#5b6fb0}
[data-theme="lais"] .erro{background:#ffe4e6;color:#b4475a;border-color:#fbb6c4}
[data-theme="lais"] .flash.ok{background:#e7f7ef;color:#2f8f63;border-color:#bfe9d4}
[data-theme="lais"] .flash.erro{background:#ffe4e6;color:#b4475a;border-color:#fbb6c4}
[data-theme="lais"] button.danger{background:#fbb6c4;color:#7a2738}
[data-theme="lais"] .badge-on{background:#e6f0fc;color:#3a6ea5}
[data-theme="lais"] .badge-off{background:#f3e3f1;color:var(--muted)}
[data-theme="lais"] .card,[data-theme="lais"] .wk-card{box-shadow:0 2px 8px rgba(226,111,179,.10)}

/* ===== Cantinho da Laís (dentro da Semana, só pra ela) ===== */
.cantinho{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}
.cant-hero{display:flex;align-items:center;gap:18px;padding:18px 22px;border-radius:22px;
  background:linear-gradient(105deg,#ffd6ee,#d9e6ff 55%,#d6f5ea)}
.cant-av{width:74px;height:74px;border-radius:50%;object-fit:cover;border:3px solid #fff;
  box-shadow:0 5px 16px rgba(0,0,0,.13);flex:0 0 74px}
.cant-alvin{margin-left:auto}
.cant-hero-txt{flex:1;min-width:0}
.cant-oi{font-size:22px;font-weight:800;color:#5c4a66;font-family:'Baloo 2',cursive}
.cant-sub{color:#7a6a85;font-size:13px;margin:2px 0 9px}
.cant-chips{display:flex;gap:8px;flex-wrap:wrap}
.cant-chip{background:rgba(255,255,255,.85);border-radius:20px;padding:5px 12px;font-size:12.5px;font-weight:700;color:#6b5775}
.cant-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.cant-card{background:#fff;border:1px solid #f3d9ec;border-radius:18px;padding:16px;text-align:center;
  box-shadow:0 2px 10px rgba(226,111,179,.08)}
.cant-alvincard{background:linear-gradient(180deg,#fff3e9,#fff)}
.cant-card-av{width:84px;height:84px;border-radius:50%;object-fit:cover;border:3px solid #fff;
  box-shadow:0 5px 16px rgba(0,0,0,.13);margin-bottom:8px}
.cant-titulo{font-weight:800;color:#5c4a66;font-family:'Baloo 2',cursive;margin-bottom:6px}
.cant-msg{color:#cf7fb0;font-size:13px;font-weight:700;min-height:18px}
.cant-pet{margin-top:10px;background:linear-gradient(90deg,#ff8fc7,#ff9a6b);color:#fff;border:none;
  border-radius:14px;padding:10px 18px;font-weight:800;cursor:pointer;font-family:inherit;
  box-shadow:0 5px 14px rgba(255,143,199,.4);transition:transform .12s}
.cant-pet:hover{filter:brightness(1.05);transform:translateY(-1px)}
.cant-count{margin-top:8px;color:#a98fb4;font-size:12px}
.cant-moods{display:flex;gap:8px;justify-content:center;margin:8px 0}
.cant-mood{flex:1;aspect-ratio:1;border-radius:14px;font-size:22px;border:1px solid #f3d9ec;background:#fff;
  cursor:pointer;transition:transform .12s}
.cant-mood:hover{transform:translateY(-3px) scale(1.08)}
.cant-sub2{color:#a98fb4;font-size:12px;margin-bottom:9px}
.cant-pal{display:flex;gap:8px;justify-content:center}
.cant-pal span{width:34px;height:34px;border-radius:50%;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.1)}
@media(max-width:760px){
  .cant-cards{grid-template-columns:1fr}
  .cant-hero{flex-wrap:wrap}
  .cant-alvin{margin-left:0}
}

/* ===== TEMA C-137 (Patrick) — toques portal nos componentes do painel =====
   A paleta vem de css/tokens-patrick.css; aqui adapto os pontos que tinham
   cor fixa e adiciono brilho/foco verde. Vale nas duas variantes (night/white). */
[data-theme^="patrick-"] .content,[data-theme^="patrick-"] .topbar,
[data-theme^="patrick-"] .resumo,[data-theme^="patrick-"] .login-card{position:relative;z-index:1}
[data-theme^="patrick-"] .ico-logo{color:var(--accent);filter:drop-shadow(0 0 6px var(--glow))}
[data-theme^="patrick-"] .tabs a:hover{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}
[data-theme^="patrick-"] .tabs a.on{color:var(--ink);box-shadow:0 0 16px var(--glow)}
/* botoes de acento (texto escuro legivel sobre o verde + brilho) */
[data-theme^="patrick-"] .btn-add,[data-theme^="patrick-"] .login-card button,
[data-theme^="patrick-"] .userform button,[data-theme^="patrick-"] .inline button,
[data-theme^="patrick-"] .modal-card button[type="submit"]{color:var(--ink);box-shadow:0 0 16px var(--glow)}
/* pills */
[data-theme^="patrick-"] .pill{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);font-family:var(--mono)}
[data-theme^="patrick-"] .pill.deadline{background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn)}
[data-theme^="patrick-"] .pill.deadline.hora-alerta{background:var(--alert);color:#fff}
/* avatar iniciais + coluna de hoje */
[data-theme^="patrick-"] .resp-av.ini{background:color-mix(in srgb,var(--accent) 20%,transparent);color:var(--accent)}
[data-theme^="patrick-"] .wk-col.wk-today{background:color-mix(in srgb,var(--accent) 7%,transparent);
  box-shadow:inset 0 0 26px rgba(155,216,63,.07)}
[data-theme^="patrick-"] .wk-hoje{box-shadow:0 0 12px var(--glow)}
/* briefing / anexos / contexto */
[data-theme^="patrick-"] .cfile{background:color-mix(in srgb,var(--accent2) 12%,transparent);border-color:color-mix(in srgb,var(--accent2) 30%,transparent);color:var(--accent2)}
[data-theme^="patrick-"] .art{background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:color-mix(in srgb,var(--accent) 30%,transparent);color:var(--accent)}
[data-theme^="patrick-"] .art.art-material{background:color-mix(in srgb,var(--accent2) 12%,transparent);border-color:color-mix(in srgb,var(--accent2) 30%,transparent);color:var(--accent2)}
[data-theme^="patrick-"] .ctx-btn{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 30%,transparent);color:var(--accent)}
/* badges / mensagens */
[data-theme^="patrick-"] .badge-on{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}
[data-theme^="patrick-"] .badge-off{background:color-mix(in srgb,var(--muted) 16%,transparent);color:var(--muted)}
[data-theme^="patrick-"] .erro,[data-theme^="patrick-"] .flash.erro{background:color-mix(in srgb,var(--alert) 15%,transparent);color:var(--alert);border-color:color-mix(in srgb,var(--alert) 35%,transparent)}
[data-theme^="patrick-"] .flash.ok{background:color-mix(in srgb,var(--accent) 13%,transparent);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 32%,transparent)}
[data-theme^="patrick-"] button.danger{background:color-mix(in srgb,var(--alert) 22%,transparent);color:var(--alert)}
/* foco verde nos campos */
[data-theme^="patrick-"] .f-status:focus,[data-theme^="patrick-"] .f-resp:focus,
[data-theme^="patrick-"] .f-notas:focus,[data-theme^="patrick-"] .login-card input:focus,
[data-theme^="patrick-"] .input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--glow)}
/* login com moldura portal */
[data-theme^="patrick-"] .login-card{box-shadow:0 0 50px var(--glow)}
/* labels/contadores em mono (vibe terminal) */
[data-theme^="patrick-"] .col-head,[data-theme^="patrick-"] .wk-head,[data-theme^="patrick-"] .oid{font-family:var(--mono)}
