:root {
  --bg:      #06101f;
  --green:   #0d7a5f;
  --accent:  #00d4a0;
  --accent2: #00b4d8;
  --amber:   #f0a500;
  --red:     #ff4757;
  --blue:    #1a56db;
  --blue-text: #7aacff;
  --purple:  #8b5cf6;
  --text:    #eef2ff;
  --sub:     #5a7499;
  --border:  rgba(255,255,255,0.08);
  --card:    rgba(255,255,255,0.04);
  --input-bg: rgba(255,255,255,.06);
  --modal-bg: #0e1f38;
  --track-bg: rgba(255,255,255,.05);
  --hover-bg: rgba(255,255,255,.1);
  --subtle-bg: rgba(255,255,255,.03);
  color-scheme: dark;
}
:root[data-theme="light"] {
  --bg:      #f0f5fb;
  --green:   #0d7a5f;
  --accent:  #0d7a5f;
  --accent2: #0891b2;
  --amber:   #b45309;
  --red:     #dc2626;
  --blue:    #1045a1;
  --blue-text: #1d4ed8;
  --purple:  #7c3aed;
  --text:    #111827;
  --sub:     #6b7fa3;
  --border:  rgba(0,0,0,0.08);
  --card:    #fff;
  --input-bg: #e8eef8;
  --modal-bg: #fff;
  --track-bg: rgba(0,0,0,.05);
  --hover-bg: rgba(0,0,0,.05);
  --subtle-bg: rgba(0,0,0,.025);
  color-scheme: light;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden}
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:0;background-image:linear-gradient(rgba(0,212,160,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,212,160,.05) 1px,transparent 1px);background-size:48px 48px}
:root[data-theme="light"] body::before{opacity:.4}
.orb{position:fixed;border-radius:50%;filter:blur(110px);pointer-events:none;z-index:0}
.orb1{width:700px;height:700px;background:radial-gradient(circle,#063d2a 0%,transparent 65%);top:-280px;left:-200px;opacity:.6}
.orb2{width:450px;height:450px;background:radial-gradient(circle,#0a2d6e 0%,transparent 65%);bottom:-180px;right:-130px;opacity:.4}
:root[data-theme="light"] .orb1,:root[data-theme="light"] .orb2{opacity:.08}
.page{position:relative;z-index:1;max-width:1380px;margin:0 auto;padding:32px 28px 80px}

/* ── HEADER ── */
header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;padding-bottom:20px;border-bottom:1px solid var(--border);flex-wrap:wrap;gap:12px}
.logo-wrap{display:flex;align-items:center;gap:12px}
.logo-badge{width:42px;height:42px;border-radius:11px;background:linear-gradient(135deg,#0d7a5f,#00d4a0);display:flex;align-items:center;justify-content:center;font-family:'Sora',sans-serif;font-weight:800;font-size:14px;color:#fff;box-shadow:0 0 0 1px rgba(0,212,160,.5),0 6px 20px rgba(0,212,160,.3)}
.logo-text{font-family:'Sora',sans-serif;font-size:15px;font-weight:700;color:var(--text)}
.logo-sub{font-size:11px;color:var(--sub);margin-top:1px;font-family:'DM Mono',monospace}
.btnVoltar{display:flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--border);color:var(--sub);text-decoration:none;padding:8px 14px;border-radius:10px;font-size:13px;transition:.15s}
.btnVoltar:hover{background:var(--hover-bg);color:var(--text)}

/* ── HERO ── */
.hero{margin-bottom:24px}
.hero-label{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:8px;display:block;font-family:'DM Mono',monospace}
h1{font-family:'Sora',sans-serif;font-size:26px;font-weight:800;color:var(--text);margin-bottom:4px}
.mes-atual{font-size:13px;color:var(--sub);font-family:'DM Mono',monospace;margin-top:2px}

/* ── ABAS ── */
.abas{display:flex;gap:4px;margin-bottom:24px;border-bottom:1px solid var(--border)}
.aba{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--sub);padding:10px 20px;font-family:'Sora',sans-serif;font-size:13px;font-weight:700;cursor:pointer;transition:.15s;margin-bottom:-1px}
.aba:hover{color:var(--text)}
.aba.ativo{color:var(--accent);border-bottom-color:var(--accent)}

/* ── FORMULÁRIO ── */
.form-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px;margin-bottom:24px}
.form-title{font-family:'Sora',sans-serif;font-size:12px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:1px;margin-bottom:16px}
.form-row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.form-group{display:flex;flex-direction:column;gap:5px}
.form-group label{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:var(--sub);font-family:'DM Mono',monospace}
.form-group input,.form-group select{background:var(--input-bg);border:1px solid var(--border);color:var(--text);padding:9px 12px;border-radius:10px;font-size:13px;font-family:'DM Sans',sans-serif;outline:none;transition:.15s}
.form-group input:focus,.form-group select:focus{border-color:rgba(0,212,160,.5);background:rgba(0,212,160,.06)}
.form-group select option{background:var(--modal-bg) !important;color:var(--text) !important}
.form-group select{background:var(--input-bg) !important;color:var(--text) !important}
.fg-desc{flex:1;min-width:220px}
.fg-desc input{width:100%}
.btnAdd{background:linear-gradient(135deg,#0d7a5f,#00b890);color:#fff;border:none;padding:10px 22px;border-radius:10px;font-family:'Sora',sans-serif;font-weight:800;font-size:13px;cursor:pointer;transition:.15s;white-space:nowrap;box-shadow:0 4px 14px rgba(0,212,160,.2);align-self:flex-end}
.btnAdd:hover{background:linear-gradient(135deg,#0f9070,#00d4a0)}
.btnAdd:disabled{opacity:.5;cursor:not-allowed}

/* ── DIAS DA SEMANA ── */
.dias-semana{display:flex;gap:5px;flex-wrap:wrap}
.dia-check{display:none}
.dia-label{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;background:var(--input-bg);border:1px solid var(--border);font-size:10px;font-weight:700;color:var(--sub);cursor:pointer;transition:.15s;font-family:'DM Mono',monospace;user-select:none}
.dia-check:checked+.dia-label{background:rgba(0,212,160,.2);border-color:rgba(0,212,160,.5);color:var(--accent)}
.dia-label:hover{border-color:rgba(0,212,160,.3);color:var(--text)}

/* ── Tipo de recorrência (Definitivo / Só esse mês) ── */
.tipo-recorrencia{display:flex;gap:6px}
.tipo-btn{padding:8px 12px;border-radius:8px;background:var(--input-bg);border:1px solid var(--border);font-size:11px;font-weight:600;color:var(--sub);cursor:pointer;transition:.15s;font-family:'DM Sans',sans-serif;white-space:nowrap}
.tipo-btn.ativo{background:rgba(0,212,160,.2);border-color:rgba(0,212,160,.5);color:var(--accent)}
.tipo-btn:hover{border-color:rgba(0,212,160,.3);color:var(--text)}
.tag-unica{display:inline-block;font-size:9px;padding:2px 7px;border-radius:999px;background:rgba(240,165,0,.15);border:1px solid rgba(240,165,0,.35);color:var(--amber);font-family:'DM Mono',monospace;font-weight:600;margin-bottom:5px}
.dia-btn-ver{border:1px solid var(--border);background:var(--input-bg)}

/* ── FILTRO ── */
.filtro-bar{display:flex;align-items:center;gap:10px;margin-bottom:20px;flex-wrap:wrap}
.filtro-bar label{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:var(--sub);font-family:'DM Mono',monospace;white-space:nowrap}
.filtro-bar select{background:var(--input-bg);border:1px solid var(--border);color:var(--text);padding:8px 12px;border-radius:10px;font-size:13px;font-family:'DM Sans',sans-serif;outline:none;transition:.15s}
.filtro-bar select:focus{border-color:rgba(0,212,160,.5)}
.filtro-bar select option{background:var(--modal-bg) !important;color:var(--text) !important}
.filtro-bar select{background:var(--input-bg) !important;color:var(--text) !important}
.filtro-count{font-size:11px;color:var(--sub);font-family:'DM Mono',monospace}

/* ── KPIs ── */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:24px}
.kpi{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px 18px}
.kpi-val{font-family:'Sora',sans-serif;font-size:30px;font-weight:800;color:var(--text);line-height:1}
.kpi-lbl{font-size:11px;color:var(--sub);margin-top:4px}
.kpi-prog{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px 18px;grid-column:span 2}
.prog-label{display:flex;justify-content:space-between;margin-bottom:8px;font-size:12px;color:var(--sub)}
.prog-label strong{color:var(--text);font-family:'Sora',sans-serif}
.prog-bar{background:var(--input-bg);border-radius:999px;height:8px;overflow:hidden}
.prog-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .5s ease}

/* ── Minhas Tarefas — agrupamento por semana ── */
.minhas-grupo-semana{margin-bottom:22px}
.minhas-grupo-titulo{font-family:'Sora',sans-serif;font-weight:800;font-size:13px;color:var(--text);margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px}
.minhas-grupo-contagem{font-family:'DM Mono',monospace;font-size:11px;font-weight:600;color:var(--sub);background:var(--input-bg);border-radius:999px;padding:1px 8px}

/* ── Prioridade ── */
.tarefa-prioridade{box-shadow:0 0 0 1.5px rgba(240,165,0,.5), 0 0 12px rgba(240,165,0,.15)}
.tag-prioridade{display:inline-block;font-size:9px;padding:2px 7px;border-radius:999px;background:rgba(240,165,0,.18);border:1px solid rgba(240,165,0,.4);color:var(--amber);font-family:'DM Mono',monospace;font-weight:700;margin-bottom:5px;margin-left:4px}
.btn-prioridade{background:rgba(240,165,0,.12);color:var(--amber)}
.btn-prioridade:hover{background:rgba(240,165,0,.22)}

/* ── GRID SEMANAS ── */
.semanas-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:28px}
.semana-col{background:var(--subtle-bg);border:1px solid var(--border);border-radius:14px;overflow:hidden}
.semana-header{padding:10px 14px;background:var(--input-bg);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.semana-nome{font-family:'Sora',sans-serif;font-size:12px;font-weight:700;color:var(--sub);text-transform:uppercase;letter-spacing:1px}
.semana-count{font-size:10px;color:var(--sub);font-family:'DM Mono',monospace;background:var(--input-bg);padding:2px 7px;border-radius:999px}
.semana-col.ativa .semana-header{background:rgba(0,212,160,.08);border-bottom-color:rgba(0,212,160,.2)}
.semana-col.ativa .semana-nome{color:var(--accent)}
.semana-body{padding:8px;min-height:120px}

/* ── TAREFA ── */
.tarefa{border-radius:10px;padding:10px 11px;margin-bottom:7px;font-size:12px;position:relative;transition:.15s}
.tarefa:last-child{margin-bottom:0}
.tarefa.pendente {background:rgba(240,165,0,.1); border:1px solid rgba(240,165,0,.28)}
.tarefa.andamento{background:rgba(26,86,219,.1); border:1px solid rgba(26,86,219,.28)}
.tarefa.concluido{background:rgba(0,212,160,.08);border:1px solid rgba(0,212,160,.25)}
.tarefa-status-pill{display:inline-block;font-size:9px;padding:2px 7px;border-radius:999px;font-family:'DM Mono',monospace;font-weight:600;letter-spacing:.5px;margin-bottom:5px}
.pendente  .tarefa-status-pill{background:rgba(240,165,0,.2); color:var(--amber)}
.andamento .tarefa-status-pill{background:rgba(26,86,219,.25);color:var(--blue-text)}
.concluido .tarefa-status-pill{background:rgba(0,212,160,.18);color:var(--accent)}
.tarefa-desc{color:var(--text);line-height:1.4;margin-bottom:5px;font-weight:500}
.concluido .tarefa-desc{text-decoration:line-through;opacity:.6}
.tarefa-resp{display:flex;align-items:center;gap:5px;margin-bottom:5px}
.resp-avatar{width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,#0d7a5f,#00d4a0);display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#fff;flex-shrink:0}
.resp-nome{font-size:11px;color:var(--sub);font-family:'DM Mono',monospace}
.tarefa-dias{display:flex;gap:3px;flex-wrap:wrap;margin-bottom:5px}
.dia-tag{font-size:9px;padding:1px 5px;border-radius:4px;background:rgba(0,212,160,.1);border:1px solid rgba(0,212,160,.25);color:var(--accent);font-family:'DM Mono',monospace;font-weight:600}
.tarefa-acoes{display:flex;gap:4px;flex-wrap:wrap}
.btn-mini{border:none;border-radius:6px;padding:3px 8px;font-size:10px;cursor:pointer;font-family:'DM Sans',sans-serif;transition:.12s;font-weight:500}
.btn-status{background:var(--hover-bg);color:var(--sub)}
.btn-status:hover{background:var(--track-bg);color:var(--text)}
.btn-edit {background:rgba(26,86,219,.15);color:var(--blue-text)}
.btn-edit:hover{background:rgba(26,86,219,.28)}
.btn-resp {background:rgba(0,212,160,.1);color:var(--accent)}
.btn-resp:hover{background:rgba(0,212,160,.2)}
.btn-del  {background:rgba(255,71,87,.12);color:var(--red)}
.btn-del:hover{background:rgba(255,71,87,.25)}

/* ── ANOTAÇÃO ── */
.anot-wrap{margin-bottom:28px}
.anot-header{font-family:'Sora',sans-serif;font-size:13px;font-weight:700;color:var(--text);margin-bottom:10px}
.anot-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px}
.anot-card textarea{width:100%;min-height:90px;background:var(--input-bg);border:1px solid var(--border);color:var(--text);padding:10px 12px;border-radius:10px;font-family:'DM Sans',sans-serif;font-size:13px;resize:vertical;outline:none;transition:.15s}
.anot-card textarea:focus{border-color:rgba(0,212,160,.4)}
.anot-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:10px}
.saved-msg{font-size:11px;color:var(--accent);opacity:0;transition:opacity .3s;font-family:'DM Mono',monospace}
.saved-msg.show{opacity:1}
.btn-salvar-anot{background:linear-gradient(135deg,#0d7a5f,#00b890);color:#fff;border:none;padding:8px 18px;border-radius:10px;font-family:'Sora',sans-serif;font-weight:700;font-size:12px;cursor:pointer;transition:.15s}
.btn-salvar-anot:hover{background:linear-gradient(135deg,#0f9070,#00d4a0)}

/* ── FECHAR MÊS ── */
.fechar-mes-wrap{margin-bottom:28px}
.btn-fechar-mes{background:rgba(240,165,0,.1);border:1px solid rgba(240,165,0,.3);color:var(--amber);padding:10px 20px;border-radius:10px;font-family:'Sora',sans-serif;font-weight:700;font-size:13px;cursor:pointer;transition:.15s;display:flex;align-items:center;gap:8px}
.btn-fechar-mes:hover{background:rgba(240,165,0,.18)}

/* ── CALENDÁRIO ── */
.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:12px}
.cal-title{font-family:'Sora',sans-serif;font-size:18px;font-weight:800;color:var(--text)}
.cal-filtro-wrap{display:flex;align-items:center;gap:10px}
.cal-filtro-label{font-size:11px;color:var(--sub);font-family:'DM Mono',monospace;text-transform:uppercase;letter-spacing:1px;white-space:nowrap}
.cal-select{background:var(--input-bg);border:1px solid var(--border);color:var(--text);padding:8px 14px;border-radius:10px;font-size:13px;font-family:'DM Sans',sans-serif;outline:none;transition:.15s;min-width:160px}
.cal-select:focus{border-color:rgba(0,212,160,.5)}
.cal-select option{background:var(--modal-bg) !important;color:var(--text) !important}
.cal-select{background:var(--input-bg) !important;color:var(--text) !important}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:28px}
.cal-dow{text-align:center;font-size:10px;font-family:'DM Mono',monospace;color:var(--sub);text-transform:uppercase;letter-spacing:1px;padding:8px 0;font-weight:700}
.cal-dia{background:var(--subtle-bg);border:1px solid var(--border);border-radius:10px;min-height:90px;padding:6px;transition:.15s}
.cal-dia-topo{display:flex;align-items:center;justify-content:space-between;min-height:22px;margin-bottom:3px}
.cal-adicionar{width:22px;height:22px;border:1px solid var(--border);background:var(--input-bg);color:var(--sub);border-radius:7px;cursor:pointer;font-size:16px;line-height:1;opacity:.45;transition:.15s}
.cal-dia:hover .cal-adicionar,.cal-adicionar:focus-visible{opacity:1;color:var(--accent);border-color:rgba(0,212,160,.4)}
.cal-dia.outro-mes{opacity:.25}
.cal-dia.hoje-cal{border-color:rgba(0,212,160,.45);background:rgba(0,212,160,.06)}
.cal-dia-num{font-size:11px;font-weight:700;color:var(--sub);font-family:'DM Mono',monospace;margin-bottom:4px}
.cal-dia.hoje-cal .cal-dia-num{color:var(--accent)}
.cal-tarefa-mini{font-size:10px;padding:2px 5px;border-radius:4px;margin-bottom:2px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-tarefa-mini.pendente {background:rgba(240,165,0,.15);color:var(--amber)}
.cal-tarefa-mini.andamento{background:rgba(26,86,219,.18);color:var(--blue-text)}
.cal-tarefa-mini.concluido{background:rgba(0,212,160,.12);color:var(--accent);text-decoration:line-through;opacity:.7}
.cal-mais{font-size:9px;color:var(--sub);font-family:'DM Mono',monospace;margin-top:2px}

/* ── HISTÓRICO ── */
.hist-toolbar{display:flex;justify-content:flex-end;margin-bottom:14px}
.btn-apagar-tudo{background:rgba(255,71,87,.1);border:1px solid rgba(255,71,87,.3);color:var(--red);padding:8px 18px;border-radius:10px;font-family:'Sora',sans-serif;font-weight:700;font-size:12px;cursor:pointer;transition:.15s;display:flex;align-items:center;gap:6px}
.btn-apagar-tudo:hover{background:rgba(255,71,87,.22)}
.historico-lista{display:flex;flex-direction:column;gap:12px}
.hist-card{background:var(--card);border:1px solid var(--border);border-radius:14px;overflow:hidden}
.hist-header{padding:14px 18px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:.15s;gap:12px;flex-wrap:wrap}
.hist-header:hover{background:var(--input-bg)}
.hist-mes-nome{font-family:'Sora',sans-serif;font-size:14px;font-weight:700;color:var(--text)}
.hist-stats{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.hist-badge{font-size:11px;padding:3px 10px;border-radius:999px;font-family:'DM Mono',monospace;font-weight:600}
.hist-badge.ok  {background:rgba(0,212,160,.12);color:var(--accent);border:1px solid rgba(0,212,160,.25)}
.hist-badge.warn{background:rgba(255,71,87,.1); color:var(--red);border:1px solid rgba(255,71,87,.25)}
.hist-badge.neu {background:var(--input-bg);color:var(--sub);border:1px solid var(--border)}
.btn-apagar-mes{background:rgba(255,71,87,.1);border:1px solid rgba(255,71,87,.25);color:var(--red);padding:3px 10px;border-radius:6px;font-size:11px;cursor:pointer;transition:.15s;font-family:'DM Sans',sans-serif;font-weight:600}
.btn-apagar-mes:hover{background:rgba(255,71,87,.25)}
.hist-chevron{color:var(--sub);font-size:12px;transition:transform .2s}
.hist-card.aberto .hist-chevron{transform:rotate(180deg)}
.hist-body{display:none;padding:0 18px 16px;border-top:1px solid var(--border)}
.hist-card.aberto .hist-body{display:block}
.hist-tarefas{margin-top:14px;display:flex;flex-direction:column;gap:6px}
.hist-tarefa{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:8px;font-size:12px;gap:8px}
.hist-tarefa.concluido{background:rgba(0,212,160,.07);border:1px solid rgba(0,212,160,.15)}
.hist-tarefa.pendente,.hist-tarefa.andamento{background:rgba(255,71,87,.07);border:1px solid rgba(255,71,87,.15)}
.hist-tarefa-desc{color:var(--text);font-weight:500}
.hist-tarefa.concluido .hist-tarefa-desc{text-decoration:line-through;opacity:.6}
.hist-tarefa-meta{color:var(--sub);font-size:10px;font-family:'DM Mono',monospace;margin-top:2px}
.hist-sem-badge{font-size:10px;padding:2px 8px;border-radius:999px;font-family:'DM Mono',monospace;white-space:nowrap}
.hist-sem-badge.concluido{background:rgba(0,212,160,.15);color:var(--accent)}
.hist-sem-badge.pendente,.hist-sem-badge.andamento{background:rgba(255,71,87,.12);color:var(--red)}
.hist-anotacao{margin-top:12px;padding:10px 14px;background:var(--subtle-bg);border:1px solid var(--border);border-radius:10px;font-size:12px;color:var(--sub);line-height:1.6}
.hist-anotacao strong{color:var(--text);display:block;margin-bottom:4px;font-family:'Sora',sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:1px}

/* ── RESUMO POR PESSOA ── */
.resumo-pessoas-tabela-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:14px;background:var(--card)}
.resumo-pessoas-tabela{width:100%;min-width:700px;table-layout:fixed;border-collapse:collapse}
.resumo-pessoas-tabela col.col-responsavel{width:26%}
.resumo-pessoas-tabela th,.resumo-pessoas-tabela td{padding:14px 12px;text-align:center;vertical-align:middle;border-bottom:1px solid var(--border)}
.resumo-pessoas-tabela th{font-size:10px;letter-spacing:.6px;text-transform:uppercase;color:var(--sub);background:var(--subtle-bg);white-space:normal;line-height:1.35}
.resumo-pessoas-tabela th:first-child,.resumo-pessoas-tabela td:first-child{text-align:left;padding-left:20px}
.resumo-pessoas-tabela tbody tr:last-child td{border-bottom:0}
.resumo-pessoas-tabela tbody tr:hover{background:var(--input-bg)}
.resumo-pessoas-tabela .nome-cell{font-weight:700;color:var(--text)}
.resumo-pessoas-tabela .num-concluidas{color:var(--accent);font-weight:700}
.resumo-pessoas-tabela .num-andamento{color:var(--blue-text);font-weight:700}
.resumo-pessoas-tabela .num-pendentes{color:var(--amber);font-weight:700}
.pessoa-percentual{display:inline-block;min-width:52px;padding:5px 10px;border-radius:999px;background:rgba(0,212,160,.1);color:var(--accent);font-size:12px;font-weight:700}

/* ── ROTINAS ── */
.rotinas-intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:4px 0 22px;padding:22px 24px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(125deg,rgba(0,212,160,.1),var(--card) 58%)}
.rotinas-intro h2{font-family:'Sora',sans-serif;font-size:24px;color:var(--text);margin:5px 0}
.rotinas-intro p,.rotina-modelo p,.execucao-cabecalho p{font-size:12px;color:var(--sub);margin:0}
.rotinas-colunas{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(420px,1.35fr);gap:20px;align-items:start}
.rotina-secao-titulo{margin:0 0 12px}.rotina-secao-titulo h3{font-family:'Sora',sans-serif;color:var(--text);font-size:16px;margin:0 0 4px}.rotina-secao-titulo span{color:var(--sub);font-size:11px}
.rotinas-lista{display:flex;flex-direction:column;gap:12px}
.rotina-modelo,.rotina-execucao{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:18px;box-shadow:0 8px 25px rgba(0,0,0,.08)}
.rotina-modelo-topo,.execucao-cabecalho{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.rotina-modelo h4,.execucao-cabecalho h4{font-family:'Sora',sans-serif;color:var(--text);font-size:15px;margin:7px 0 4px}
.rotina-tag{color:var(--accent);font:700 9px 'DM Mono',monospace;letter-spacing:.8px}
.btn-iniciar-rotina{flex:none;padding:8px 11px;border:1px solid rgba(0,212,160,.35);background:rgba(0,212,160,.1);color:var(--accent);border-radius:9px;font-weight:700;font-size:11px;cursor:pointer}
.rotina-preview{display:grid;gap:7px;margin-top:16px;padding-top:13px;border-top:1px solid var(--border)}
.rotina-preview-etapa{display:flex;gap:9px;align-items:center}.rotina-preview-etapa>span,.execucao-numero{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:var(--subtle-bg);color:var(--accent);font:700 10px 'DM Mono',monospace;flex:none}
.rotina-preview-etapa strong,.execucao-etapa-info strong{display:block;color:var(--text);font-size:11px}.rotina-preview-etapa small{display:block;color:var(--sub);font-size:10px;margin-top:2px}
.execucao-contagem{background:var(--subtle-bg);border:1px solid var(--border);border-radius:999px;color:var(--sub);font:11px 'DM Mono',monospace;padding:6px 9px;white-space:nowrap}
.execucao-etapas{display:grid;gap:8px;margin-top:14px}.execucao-etapa{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--border);background:var(--subtle-bg);border-radius:12px}.execucao-etapa.concluido{border-color:rgba(0,212,160,.24)}.execucao-etapa.bloqueada{opacity:.72}
.execucao-etapa-info{min-width:0;flex:1}.execucao-etapa-info span,.execucao-etapa-info small{display:block;color:var(--sub);font-size:10px;margin-top:4px}.execucao-etapa-info small{color:var(--amber)}
.execucao-etapa-acao{display:flex;align-items:flex-end;flex-direction:column;gap:6px}.etapa-status{font-size:9px;color:var(--sub);white-space:nowrap}.etapa-status.andamento{color:var(--blue-text)}.etapa-status.concluido{color:var(--accent)}.etapa-status.pendente{color:var(--amber)}
.btn-etapa-status{background:rgba(0,212,160,.12);border:1px solid rgba(0,212,160,.3);color:var(--accent);border-radius:8px;padding:6px 8px;font-size:10px;font-weight:700;cursor:pointer;white-space:nowrap}
.rotina-editor{margin-bottom:22px}.rotina-cabecalho{display:grid;grid-template-columns:1fr 1fr;gap:14px}.rotina-etapas-titulo{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:18px 0 12px;color:var(--text)}.rotina-etapas-titulo span{font-size:11px;color:var(--sub)}
.rotina-etapa{display:flex;gap:12px;align-items:flex-start;padding:14px;margin:9px 0;border:1px solid var(--border);border-radius:13px;background:var(--subtle-bg)}.etapa-numero{font:700 12px 'DM Mono',monospace;color:var(--accent);padding-top:28px}.etapa-campos{flex:1;min-width:0}.etapa-campos label{display:block;color:var(--sub);font:9px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.6px;margin-bottom:5px}.etapa-campos input,.etapa-campos select{width:100%;background:var(--input-bg);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:8px 10px;font:12px 'DM Sans',sans-serif}.etapa-opcoes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:9px}.etapa-aviso-lock{font-size:10px;color:var(--amber);margin-top:8px}.etapa-controles{display:flex;flex-direction:column;gap:5px;padding-top:20px}.etapa-controles button{width:26px;height:25px;border:1px solid var(--border);border-radius:7px;background:var(--input-bg);color:var(--sub);cursor:pointer}.etapa-controles button:last-child{color:var(--red)}.etapa-controles button:disabled{opacity:.3;cursor:default}

/* ── MODAL ── */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);backdrop-filter:blur(4px);z-index:1000;display:none;align-items:center;justify-content:center;padding:20px}
.modal-overlay.aberto{display:flex}
.modal-box{background:var(--modal-bg);border:1px solid var(--border);border-radius:20px;padding:28px;width:100%;max-width:480px;box-shadow:0 32px 80px rgba(0,0,0,.5);animation:fadeIn .2s ease;max-height:90vh;overflow-y:auto}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.modal-title{font-family:'Sora',sans-serif;font-size:16px;font-weight:800;color:var(--text);margin-bottom:20px}
.modal-field{margin-bottom:14px}
.modal-field label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:var(--sub);font-family:'DM Mono',monospace;margin-bottom:6px}
.modal-field input,.modal-field select{width:100%;background:var(--input-bg);border:1px solid var(--border);color:var(--text);padding:10px 13px;border-radius:10px;font-size:13px;font-family:'DM Sans',sans-serif;outline:none;transition:.15s}
.modal-field input:focus,.modal-field select:focus{border-color:rgba(0,212,160,.5)}
.modal-field select option{background:var(--modal-bg) !important;color:var(--text) !important}
.modal-field select{background:var(--input-bg) !important;color:var(--text) !important}
.modal-btns{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}
.btn-cancelar{background:var(--input-bg);border:1px solid var(--border);color:var(--sub);padding:10px 20px;border-radius:10px;font-family:'Sora',sans-serif;font-weight:700;font-size:13px;cursor:pointer;transition:.15s}
.btn-cancelar:hover{background:var(--hover-bg);color:var(--text)}
.btn-confirmar{background:linear-gradient(135deg,#0d7a5f,#00b890);color:#fff;border:none;padding:10px 22px;border-radius:10px;font-family:'Sora',sans-serif;font-weight:800;font-size:13px;cursor:pointer;transition:.15s}
.btn-confirmar:hover{background:linear-gradient(135deg,#0f9070,#00d4a0)}

/* ── TOAST ── */
.toast{position:fixed;bottom:28px;right:28px;z-index:9999;background:var(--modal-bg);border:1px solid rgba(0,212,160,.3);color:var(--text);padding:12px 20px;border-radius:12px;font-size:13px;box-shadow:0 12px 40px rgba(0,0,0,.4);display:none}
.toast.show{display:block;animation:slideUp .25s ease}
@keyframes slideUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* ── EMPTY ── */
.empty{text-align:center;padding:40px 20px;color:var(--sub);font-size:13px}
.empty-icon{font-size:28px;margin-bottom:8px;opacity:.4}

/* ── RESPONSIVO ── */
@media(max-width:1100px){.semanas-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.semanas-grid{grid-template-columns:repeat(2,1fr)};.kpi-prog{grid-column:span 1};.cal-grid{font-size:10px}}
@media(max-width:480px){.semanas-grid{grid-template-columns:1fr};.form-row{flex-direction:column}}
@media(max-width:900px){.rotinas-colunas{grid-template-columns:1fr}}
@media(max-width:600px){.rotinas-intro{align-items:flex-start;flex-direction:column}.rotinas-intro h2{font-size:20px}.rotina-cabecalho,.etapa-opcoes{grid-template-columns:1fr}.rotina-etapas-titulo{align-items:flex-start;flex-direction:column}.execucao-etapa{align-items:flex-start}.execucao-etapa-acao{align-items:flex-end}.cal-dia{min-height:74px;padding:4px}.cal-adicionar{opacity:.8;width:20px;height:20px}}

/* ── Nova tarefa: mini calendário à esquerda, campos à direita ── */
.form-nova-tarefa{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start}
.form-campos{display:flex;flex-direction:column;gap:14px;min-width:0}
.form-campos .fg-desc{min-width:0}
.mc-dica{font-size:11.5px;line-height:1.55;color:var(--sub);margin:0}
.mc-dica b{color:var(--text);font-weight:600}
@media (max-width:760px){.form-nova-tarefa{grid-template-columns:1fr}}

/* ── Mini calendário (seleção de várias datas) ── */
.mini-cal{width:300px;max-width:100%;background:var(--input-bg);border:1px solid var(--border);border-radius:12px;padding:10px}
.mc-topo{display:flex;align-items:center;gap:8px;margin-bottom:8px;min-height:22px}
.mc-mes{font-family:'Sora',sans-serif;font-weight:700;font-size:13px;color:var(--text)}
.mc-info{font-size:10.5px;color:var(--sub);font-family:'DM Mono',monospace}
.mc-limpar{margin-left:auto;background:none;border:1px solid var(--border);color:var(--sub);font-size:10.5px;padding:2px 8px;border-radius:6px;cursor:pointer;font-family:'DM Sans',sans-serif}
.mc-limpar:hover{color:var(--text);border-color:rgba(255,71,87,.45)}
.mc-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.mc-dow{background:none;border:none;padding:4px 0;font-size:9.5px;font-weight:700;letter-spacing:.3px;color:var(--sub);font-family:'DM Mono',monospace;cursor:pointer;border-radius:6px;text-transform:uppercase}
.mc-dow:hover{color:var(--accent);background:rgba(0,212,160,.08)}
.mc-vazio{display:block}
.mc-dia{height:32px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--text);font-size:12.5px;font-family:'DM Sans',sans-serif;cursor:pointer;transition:background .12s,border-color .12s;font-variant-numeric:tabular-nums}
.mc-dia:hover{border-color:rgba(0,212,160,.4)}
.mc-dia.hoje{border-color:var(--border);font-weight:700}
.mc-dia.sel{background:rgba(0,212,160,.22);border-color:rgba(0,212,160,.6);color:var(--accent);font-weight:700}
.mc-dia:focus-visible,.mc-dow:focus-visible,.mc-limpar:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.modal-field .mini-cal{width:100%}
.dia-tag-outras{background:transparent;border-style:dashed;color:var(--sub);cursor:help}

/* ── Atalhos do mini calendário (mês todo, dias úteis, semana, período) ── */
.mc-atalhos{display:flex;flex-direction:column;gap:6px;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid var(--border)}
.mc-atalhos-linha{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.mc-rotulo{font-size:9.5px;text-transform:uppercase;letter-spacing:.8px;color:var(--sub);font-family:'DM Mono',monospace;margin-right:2px;min-width:50px}
.mc-chip{background:transparent;border:1px solid var(--border);color:var(--sub);font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;cursor:pointer;font-family:'DM Sans',sans-serif;transition:.12s;white-space:nowrap}
.mc-chip:hover{color:var(--text);border-color:rgba(0,212,160,.45)}
.mc-chip.ativo{background:rgba(0,212,160,.18);border-color:rgba(0,212,160,.55);color:var(--accent)}
.mc-chip-sem{min-width:34px;text-align:center}
.mc-chip:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.mc-periodo{display:grid;grid-template-columns:auto 1fr auto 1fr;align-items:center;gap:4px 5px}
.mc-periodo input[type=date]{min-width:0;width:100%;background:var(--subtle-bg);border:1px solid var(--border);color:var(--text);border-radius:7px;padding:4px 4px;font-size:11px;font-family:'DM Mono',monospace;outline:none}
.mc-periodo input[type=date]:focus{border-color:rgba(0,212,160,.5)}
.mc-ate{font-size:10.5px;color:var(--sub)}
.mc-per-uteis{grid-column:1 / 4;display:flex;align-items:center;gap:5px;font-size:11px;color:var(--sub);cursor:pointer;user-select:none}
.mc-per-uteis input{accent-color:var(--accent);margin:0}
.mc-per-btn{grid-column:4;justify-self:end}
/* o mini calendário fica dentro de .form-group/.modal-field, cujo "label"
   é maiúsculo/monoespaçado — o do "só dias úteis" volta ao texto normal */
.form-group .mini-cal label.mc-per-uteis,.modal-field .mini-cal label.mc-per-uteis{text-transform:none;letter-spacing:0;font-family:'DM Sans',sans-serif;font-size:11px;color:var(--sub);margin:0}
.mc-chip.mc-per-btn{background:rgba(0,212,160,.14);border-color:rgba(0,212,160,.5);color:var(--accent)}
.mc-chip.mc-per-btn:hover{background:rgba(0,212,160,.24)}
/* dentro do modal, o estilo genérico ".modal-field input" (largura 100%,
   padding grande) pegava também os campos do período e o checkbox */
.modal-field .mini-cal input.mc-per-soUteis{width:auto;padding:0;border:none;background:none}
.modal-field .mini-cal .mc-periodo input[type=date]{padding:4px;font-size:11px;border-radius:7px;background:var(--subtle-bg)}
