*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root {
  /* ===== PALETA GOVERNADA (sistema único de cor do app) =====
     Regra de ouro: nenhuma cor além das abaixo pode ser inventada.
     Cores de áreas/contextos vêm do banco (areas.color, contexts.color). */

  /* Brand */
  --brand: #E8704A;

  /* Neutros */
  --ink:        #1A1A1A;
  --ink-2:      #4A4A4A;
  --ink-3:      #8A8A8A;
  --line:       #ECECEA;
  --line-2:     #E0E0DC;
  --surface:    #FFFFFF;
  --surface-2:  #F5F4F0;
  --bg:         #FAFAF7;

  /* Secundária controlada — reservada pra áreas/contextos quando precisar de fallback */
  --area-primary: #2A6FDB;

  /* Cor semântica de perigo/atraso/excluir (rosa-vermelho) */
  --danger: #B0556C;

  /* ===== LEGADO (deprecated — não usar em código novo) ===== */
  --navy-950:#0a0f1a;
  --navy-900:#0f172a;
  --navy-800:#1e293b;
  --navy-700:#334155;
  --navy-600:#475569;
  --navy-500:#64748b;
  --navy-400:#94a3b8;
  --navy-300:#cbd5e1;
  --navy-200:#e2e8f0;
  --navy-100:#f1f5f9;
  --navy-50:#f8fafc;
  --blue:#3b82f6;
  --blue-dark:#2563eb;
  --green:#22c55e;
  --red:#ef4444;
  --purple:#8b5cf6;
  --amber:#f59e0b;
  --font:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

body {
  font-family:var(--font);
  background:var(--bg);
  color:var(--ink);
  display:flex;
  min-height:100vh;
  font-size:14px;
}

/* ===== SIDEBAR ===== */
/* ─── Rail principal único (claro) ─── */
.rail-main {
  width: 88px;
  background: var(--surface);
  border-right: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 24px 0;
  gap: 4px;
  position: fixed;
  top: 0; left: 0; bottom: 0;
  z-index: 10;
  font-family: 'Inter', system-ui, sans-serif;
  transition: width 280ms cubic-bezier(0.22, 1, 0.36, 1);
  overflow: hidden;
}

/* Brand row */
.rail-brand-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  margin-bottom: 24px;
  flex-shrink: 0;
  padding: 0;
}
.rail-brand {
  font-family: 'Inter Tight', sans-serif;
  font-weight: 700;
  font-size: 16px;          /* contraído: GTD pequeno */
  letter-spacing: -0.02em;
  color: var(--ink);
  display: inline-flex;
  align-items: baseline;
  line-height: 1;
  transition: font-size 220ms ease;
}
.rail-brand-dot {
  color: var(--brand);
  font-weight: 700;
  display: none;             /* só aparece no expandido */
  margin-left: 1px;
}

/* Toggle button */
.rail-toggle {
  width: 26px; height: 26px;
  border-radius: 7px;
  background: transparent;
  border: none;
  cursor: pointer;
  display: grid;
  place-items: center;
  color: var(--ink-3);
  transition: background .15s, color .15s, transform .25s cubic-bezier(0.34, 1.56, 0.64, 1);
  position: relative;
}
.rail-toggle:hover {
  background: var(--surface-2);
  color: var(--ink);
}
.rail-toggle:active { transform: rotate(180deg) scale(0.92); }
.rail-toggle svg { width: 14px; height: 14px; stroke-width: 2; }
.rail-toggle .rail-toggle-ico-expand { display: block; }
.rail-toggle .rail-toggle-ico-collapse { display: none; }

/* Divider entre grupos (só visível no expandido) */
.rail-divider {
  display: none;
  height: 1px;
  background: var(--line);
  margin: 12px 22px;
  align-self: stretch;
}
.rail-item {
  width: 100%;
  border: none;
  background: transparent;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 12px 0;
  color: var(--ink-3);
  position: relative;
  transition: color .15s;
  flex-shrink: 0;
}
.rail-item svg { width: 20px; height: 20px; stroke-width: 1.8; color: var(--ink-3); }
.rail-label {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
}
.rail-item:hover { color: var(--ink-2); }
.rail-item:hover svg { color: var(--ink-2); }
.rail-item.active { color: var(--ink); font-weight: 600; }
.rail-item.active svg { color: var(--brand); }
.rail-item.active::before {
  content: '';
  position: absolute;
  left: 0;
  top: 8px; bottom: 8px;
  width: 3px;
  background: var(--brand);
  border-radius: 0 2px 2px 0;
}

/* Sublist das listas (só quando active === 'organizar') */
.rail-sublist {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 4px;
  padding: 4px 0 16px;
  width: 100%;
  align-items: center;
}
.rail-sub-glyph {
  width: 40px; height: 40px;
  border-radius: 9px;
  display: grid; place-items: center;
  cursor: pointer;
  background: transparent;
  color: var(--ink-3);
  border: none;
  transition: background .15s, color .15s;
  position: relative;
}
.rail-sub-glyph svg { width: 16px; height: 16px; stroke-width: 2; color: var(--ink-3); }
.rail-sub-glyph:hover { background: var(--line); color: var(--ink-2); }
.rail-sub-glyph:hover svg { color: var(--ink-2); }
.rail-sub-glyph.active { background: var(--brand); color: var(--surface); }
.rail-sub-glyph.active svg { color: var(--surface); }

/* Quando sublist está aberta (rail-main tem .has-sublist), o item "Listas"
   pai mantém cor ativa mas SEM barra lateral (evita redundância visual) */
.rail-main.has-sublist .rail-item[data-view="organizar"] {
  color: var(--ink);
}
.rail-main.has-sublist .rail-item[data-view="organizar"]::before {
  display: none;
}
/* Tooltip do rail-sublist: precisa escapar do overflow:hidden do .rail-main.
   Por isso renderizamos no body via JS (no hover) em vez de filho posicionado.
   Aqui só estilizamos. */
.rail-sub-tooltip {
  display: none; /* desativado: o tooltip antigo era cortado pelo overflow:hidden */
}
.rail-sub-glyph[data-label]::after {
  /* fallback acessível: nada visualmente no estado colapsado.
     O tooltip de verdade aparece via JS (criado no body em position:fixed). */
}
.rail-tooltip-floating {
  position: fixed;
  background: var(--ink);
  color: var(--surface);
  padding: 5px 10px;
  border-radius: 6px;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
  pointer-events: none;
  z-index: 9999;
  opacity: 0;
  transform: translateY(-50%);
  transition: opacity .12s;
}
.rail-tooltip-floating.show { opacity: 1; }

/* ====================================================
   MODO EXPANDIDO (.rail-main.is-expanded)
   ==================================================== */
.rail-main.is-expanded {
  width: 220px;
  align-items: stretch;
}

/* Margin do main pra acompanhar */
.main {
  transition: margin-left 280ms cubic-bezier(0.22, 1, 0.36, 1);
}
.rail-main.is-expanded ~ .main {
  margin-left: 220px;
}

/* Brand row no expandido */
.rail-main.is-expanded .rail-brand-row {
  justify-content: space-between;
  padding: 0 22px;
}
.rail-main.is-expanded .rail-brand {
  font-size: 22px;
}
.rail-main.is-expanded .rail-brand-dot { display: inline; }

/* Toggle inverte ícone no expandido */
.rail-main.is-expanded .rail-toggle-ico-expand { display: none; }
.rail-main.is-expanded .rail-toggle-ico-collapse { display: block; }

/* Items: viram horizontais com ícone + label */
.rail-main.is-expanded .rail-item {
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
  padding: 12px 22px;
  color: #6A6A66;
  font-size: 14.5px;
  font-weight: 500;
  animation: railItemFadeIn 240ms cubic-bezier(0.22, 1, 0.36, 1) both;
}
.rail-main.is-expanded .rail-item:hover {
  background: var(--bg);
  color: var(--ink);
}
.rail-main.is-expanded .rail-item.active {
  color: var(--ink);
  font-weight: 600;
  background: linear-gradient(90deg, rgba(232,112,74,0.06), transparent 70%);
}
.rail-main.is-expanded .rail-item.active svg { color: var(--brand); }
.rail-main.is-expanded .rail-item svg { width: 20px; height: 20px; stroke-width: 1.8; }

.rail-main.is-expanded .rail-label {
  font-size: 14.5px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0;
  animation: railLabelSlide 280ms cubic-bezier(0.22, 1, 0.36, 1) both;
  white-space: nowrap;
}
.rail-main.is-expanded .rail-item.active .rail-label { font-weight: 600; }

@keyframes railItemFadeIn {
  from { opacity: 0; transform: translateX(-6px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes railLabelSlide {
  from { opacity: 0; transform: translateX(-12px); }
  to   { opacity: 1; transform: translateX(0); }
}

/* Brand row no expandido aparece com fade */
.rail-main.is-expanded .rail-brand-row { animation: railItemFadeIn 220ms ease both; }

/* Item Hoje no expandido — sem o quadrado especial laranja */
.rail-main.is-expanded .rail-item-hoje {
  padding: 12px 22px;
}
.rail-main.is-expanded .rail-item-hoje .rail-hoje-square {
  width: 20px; height: 20px;
  background: transparent;
  box-shadow: none;
  color: var(--brand);
}
.rail-main.is-expanded .rail-item-hoje:hover .rail-hoje-square { transform: none; box-shadow: none; }
.rail-main.is-expanded .rail-item-hoje .rail-hoje-square svg { width: 20px; height: 20px; stroke-width: 1.8; }

/* Divider visível só no expandido */
.rail-main.is-expanded .rail-divider {
  display: block;
  animation: railDividerExpand 320ms ease both;
}
@keyframes railDividerExpand {
  from { transform: scaleX(0); opacity: 0; }
  to { transform: scaleX(1); opacity: 1; }
}

/* Sublist no expandido: sempre visível, vertical, com indent */
.rail-main.is-expanded .rail-sublist {
  display: flex !important;   /* sempre aberta */
  flex-direction: column;
  gap: 0;
  padding: 2px 0 8px;
  align-items: stretch;
  margin-top: 0;
  animation: railItemFadeIn 320ms ease both;
}
.rail-main.is-expanded .rail-sub-glyph {
  width: auto;
  height: auto;
  border-radius: 0;
  background: transparent;
  color: var(--ink-3);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
  padding: 8px 22px 8px 56px;
  font-family: 'Inter', sans-serif;
  font-size: 13.5px;
  font-weight: 500;
  transition: background .12s, color .12s;
  position: relative;
}
.rail-main.is-expanded .rail-sub-glyph::after {
  /* nome do sub-item (via data-attr) */
  content: attr(data-label);
}
.rail-main.is-expanded .rail-sub-glyph svg { width: 15px; height: 15px; stroke-width: 2; }
.rail-main.is-expanded .rail-sub-glyph:hover {
  background: var(--bg);
  color: var(--ink);
}
.rail-main.is-expanded .rail-sub-glyph.active {
  background: transparent;
  color: var(--brand);
  font-weight: 600;
}
.rail-main.is-expanded .rail-sub-glyph.active svg { color: var(--brand); }
.rail-main.is-expanded .rail-sub-tooltip { display: none; }

/* No expandido, item "Listas" pai NÃO mostra bandeira ativa */
.rail-main.is-expanded .rail-item[data-view="organizar"].active::before {
  display: none;
}
.rail-main.is-expanded.has-sublist .rail-item[data-view="organizar"] {
  font-weight: 500;
  color: #6A6A66;
}
.rail-main.is-expanded.has-sublist .rail-item[data-view="organizar"] svg { color: currentColor; }

/* More wrap no expandido */
.rail-main.is-expanded .rail-more-wrap { width: 100%; justify-content: flex-start; }
.rail-main.is-expanded .rail-pop {
  left: 226px;
  bottom: auto;
  top: 50%;
  transform: translateY(-50%);
}

/* Spacer — rodapé */
.rail-spacer { flex: 1; }

/* Bandeira laranja vai pra todos os modos (item ativo) — mas no expandido fica mais discreta */
.rail-main.is-expanded .rail-item.active::before {
  top: 6px; bottom: 6px;
  width: 3px;
  border-radius: 0 3px 3px 0;
}

/* "Mais" + popover */
.rail-more-wrap { position: relative; width: 100%; display: flex; justify-content: center; }
.rail-pop {
  position: fixed;
  left: 94px;
  bottom: 90px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
  padding: 8px;
  width: 240px;
  z-index: 50;
  display: none;
  flex-direction: column;
  gap: 2px;
  font-family: 'Inter', sans-serif;
}
.rail-pop.open { display: flex; }
.rail-pop-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ink-3);
  padding: 8px 12px 4px;
}
.rail-pop-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 8px;
  cursor: pointer;
  color: var(--ink-2);
  background: transparent;
  border: none;
  text-align: left;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 500;
  transition: background .12s, color .12s;
}
.rail-pop-item:hover { background: #F5F5F2; color: var(--ink); }
.rail-pop-item svg { width: 18px; height: 18px; stroke-width: 1.8; flex-shrink: 0; color: var(--ink-3); }
.rail-pop-item:hover svg { color: var(--ink); }
.rail-pop-text { display: flex; flex-direction: column; gap: 2px; }
.rail-pop-title { font-size: 14px; font-weight: 500; }
.rail-pop-desc { font-size: 11px; color: var(--ink-3); font-weight: 400; }

.rail-spacer { flex: 1; }

/* ===== MAIN ===== */
.main {
  flex:1;
  margin-left:88px;
  display:flex;
  flex-direction:column;
  height:100vh;
  overflow:hidden;
}
.view { display:none;flex-direction:column;height:100%;overflow:hidden; }
.view.active { display:flex; }
/* Garante que SÓ a view ativa apareça (algumas views forçam display via #id,
   o que fazia 2 views dividirem a altura e sobrar espaço vazio embaixo) */
.view:not(.active) { display:none !important; }

/* ===== HEADER ===== */
.view-header {
  display:flex;align-items:center;gap:12px;
  padding:20px 32px;
  border-bottom:1px solid var(--navy-200);
  background:#fff;
  flex-shrink:0;
}
.view-header h2 {
  font-size:18px;font-weight:700;flex:1;
  display:flex;align-items:center;gap:8px;
}
.view-header h2 svg { width:20px;height:20px;color:var(--blue); }
.view-meta { font-size:13px;color:var(--navy-500); }

/* ===== BUTTONS ===== */
.btn {
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 16px;border-radius:8px;
  font-size:13px;font-weight:500;
  cursor:pointer;border:none;
  transition:all .2s;
  font-family:var(--font);
}
.btn svg { width:14px;height:14px; }
.btn-primary { background:var(--blue);color:#fff; }
.btn-primary:hover { background:var(--blue-dark); }
.btn-ai { background:var(--purple);color:#fff; }
.btn-ai:hover { background:#7c3aed; }
.btn-secondary { background:var(--navy-100);color:var(--navy-700); }
.btn-secondary:hover { background:var(--navy-200); }
.btn-danger { background:#fee2e2;color:var(--red); }
.btn-danger:hover { background:#fecaca; }
.btn-success { background:#dcfce7;color:#16a34a; }
.btn-success:hover { background:#bbf7d0; }

/* ===== CAPTURAR ===== */
.capture-container {
  max-width:680px;margin:0 auto;
  padding:32px;width:100%;
  flex:1;overflow-y:auto;
}
.capture-input-wrap {
  background:#fff;
  border:2px solid var(--blue);
  border-radius:16px;
  padding:6px 6px 6px 20px;
  display:flex;align-items:center;gap:8px;
  box-shadow:0 4px 20px rgba(59,130,246,.12);
  margin-bottom:28px;
}
.capture-input-wrap input {
  flex:1;border:none;outline:none;
  font-size:16px;font-family:var(--font);
  color:var(--navy-900);background:transparent;
  padding:10px 0;
}
.capture-input-wrap input::placeholder { color:var(--navy-400); }
.capture-input-wrap button {
  width:44px;height:44px;
  background:var(--blue);border:none;border-radius:10px;
  color:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;transition:all .2s;
}
.capture-input-wrap button:hover { background:var(--blue-dark); }
.capture-input-wrap button svg { width:20px;height:20px; }
.capture-section-label {
  font-size:11px;font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;
  color:var(--navy-400);margin-bottom:12px;
}
.inbox-item {
  background:#fff;border:1px solid var(--navy-200);
  border-radius:12px;padding:14px 16px;margin-bottom:8px;
  display:flex;align-items:center;gap:12px;
  transition:all .2s;
}
.inbox-item:hover { border-color:var(--navy-300);box-shadow:0 2px 8px rgba(0,0,0,.06); }
.inbox-item-body { flex:1; }
.inbox-item-text { font-size:15px;color:var(--navy-900); }
.inbox-item-source { font-size:11px;color:var(--navy-400);margin-top:2px; }
.inbox-item-del {
  width:28px;height:28px;border:none;background:transparent;
  color:var(--navy-300);border-radius:6px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all .2s;opacity:0;flex-shrink:0;
}
.inbox-item:hover .inbox-item-del { opacity:1; }
.inbox-item-del:hover { background:#fee2e2;color:var(--red); }
.inbox-item-del svg { width:14px;height:14px; }
.inbox-empty {
  padding:48px 24px;text-align:center;
  color:var(--navy-400);font-size:14px;
}

/* ===== PROGRESS AI ===== */
.progress-container {
  background:#fff;border-bottom:1px solid var(--navy-200);
  padding:16px 32px;flex-shrink:0;
}
.progress-header { display:flex;justify-content:space-between;margin-bottom:8px; }
.progress-label { font-size:13px;font-weight:500;color:var(--navy-700); }
.progress-stats { font-size:13px;color:var(--navy-500); }
.progress-bar { height:6px;background:var(--navy-200);border-radius:99px;overflow:hidden; }
.progress-bar-fill { height:100%;background:var(--purple);border-radius:99px;transition:width .4s; }
.progress-status { font-size:12px;color:var(--navy-500);margin-top:6px; }

/* ===== ESCLARECER ===== */
.process-wrap {
  flex:1;display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  padding:32px;background:var(--bg);
  overflow-y:auto;
}
.process-progress { width:100%;max-width:560px;margin-bottom:32px; }
.process-progress-bar { height:4px;background:var(--navy-200);border-radius:99px;overflow:hidden; }
.process-progress-fill { height:100%;background:var(--blue);border-radius:99px;transition:width .4s; }
.process-counter { font-size:12px;color:var(--navy-400);margin-top:8px;text-align:center; }
.process-card {
  background:#fff;border-radius:20px;padding:40px;
  max-width:560px;width:100%;
  box-shadow:0 4px 32px rgba(0,0,0,.08);
}
.process-card-source {
  font-size:11px;color:var(--navy-400);
  text-transform:uppercase;letter-spacing:.08em;
  margin-bottom:12px;
}
.process-title-row {
  display:flex;align-items:flex-start;gap:8px;
  margin-bottom:32px;
}
.process-title {
  font-size:22px;font-weight:700;
  color:var(--navy-900);line-height:1.4;flex:1;
}
.process-edit-btn {
  width:32px;height:32px;border:none;background:transparent;
  color:var(--navy-300);border-radius:8px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;margin-top:4px;transition:all .2s;
}
.process-edit-btn:hover { background:var(--navy-100);color:var(--navy-600); }
.process-edit-btn svg { width:16px;height:16px; }
.process-title-input {
  font-size:20px;font-weight:700;
  padding:10px 14px;
  border:2px solid var(--blue);border-radius:10px;
  font-family:var(--font);color:var(--navy-900);
  outline:none;width:100%;
  margin-bottom:32px;display:none;
}
.process-question { text-align:center;margin-bottom:28px; }
.process-question-icon {
  width:56px;height:56px;background:var(--navy-50);
  border-radius:16px;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 16px;color:var(--blue);
}
.process-question-icon svg { width:28px;height:28px; }
.process-question-text { font-size:18px;font-weight:600;color:var(--navy-800); }
.process-options { display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;margin-bottom:20px; }
.process-option {
  padding:8px 16px;
  border:1px solid var(--navy-200);border-radius:99px;
  background:#fff;font-size:13px;font-weight:500;
  cursor:pointer;transition:all .15s;
  display:flex;align-items:center;gap:6px;
  font-family:var(--font);color:var(--navy-700);
}
.process-option svg { width:14px;height:14px;flex-shrink:0; }
.process-option:hover { border-color:var(--blue);background:#eff6ff;color:var(--blue); }
.process-option.opt-yes { border-color:var(--green);color:#16a34a; }
.process-option.opt-yes:hover { background:#f0fdf4; }
.process-option.opt-no { border-color:var(--navy-300); }
.process-option.opt-no:hover { border-color:var(--navy-500);background:var(--navy-50);color:var(--navy-700); }
.process-option.opt-fast { border-color:var(--amber);color:#d97706; }
.process-option.opt-fast:hover { background:#fffbeb; }
.process-footer {
  display:flex;justify-content:space-between;align-items:center;
  padding-top:20px;border-top:1px solid var(--navy-100);
}
.process-btn-trash {
  padding:10px 16px;border:none;background:transparent;
  color:var(--navy-400);border-radius:8px;cursor:pointer;
  font-size:13px;font-weight:500;
  display:flex;align-items:center;gap:6px;
  transition:all .2s;font-family:var(--font);
}
.process-btn-trash:hover { background:#fee2e2;color:var(--red); }
.process-btn-trash svg { width:14px;height:14px; }
.process-btn-skip {
  padding:10px 16px;border:none;background:transparent;
  color:var(--navy-400);border-radius:8px;cursor:pointer;
  font-size:13px;font-weight:500;
  display:flex;align-items:center;gap:6px;
  transition:all .2s;font-family:var(--font);
}
.process-btn-skip:hover { background:var(--navy-100);color:var(--navy-700); }
.process-btn-skip svg { width:14px;height:14px; }
.process-done { text-align:center;padding:48px 24px; }
.process-done-icon {
  width:72px;height:72px;background:#dcfce7;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 20px;color:#16a34a;
}
.process-done-icon svg { width:36px;height:36px; }
.process-done h3 { font-size:22px;font-weight:700;margin-bottom:8px; }
.process-done p { color:var(--navy-500);margin-bottom:24px; }

/* ===== ORGANIZAR ===== */
.org-tabs {
  display:flex;gap:4px;
  padding:0 32px;
  border-bottom:1px solid var(--navy-200);
  background:#fff;flex-shrink:0;
  overflow-x:auto;
}
.org-tab {
  padding:12px 18px;font-size:13px;font-weight:500;
  color:var(--navy-500);border:none;background:transparent;
  cursor:pointer;border-bottom:2px solid transparent;
  margin-bottom:-1px;transition:all .2s;
  font-family:var(--font);
  display:flex;align-items:center;gap:6px;
  white-space:nowrap;flex-shrink:0;
}
.org-tab svg { width:14px;height:14px; }
.org-tab.active { color:var(--blue);border-bottom-color:var(--blue); }
.org-tab-badge {
  background:var(--navy-200);color:var(--navy-600);
  font-size:10px;font-weight:700;
  padding:1px 6px;border-radius:99px;
}
.org-tab.active .org-tab-badge { background:#dbeafe;color:var(--blue); }
.org-container { flex:1;overflow-y:auto;padding:24px 32px; }

/* ===== TASK ITEMS ===== */
.task-item {
  background:#fff;border:1px solid var(--navy-200);
  border-radius:12px;padding:14px 16px;margin-bottom:8px;
  display:flex;align-items:flex-start;gap:10px;
  transition:all .2s;
}
.task-item:hover { border-color:var(--navy-300);box-shadow:0 2px 8px rgba(0,0,0,.06); }
.drag-handle {
  color:var(--navy-300);cursor:grab;
  display:flex;align-items:center;padding:2px 0;
  opacity:0;transition:opacity .2s;flex-shrink:0;
  margin-top:2px;
}
.drag-handle svg { width:16px;height:16px; }
.task-item:hover .drag-handle { opacity:1; }
.task-item-content { flex:1;min-width:0; }
.task-item-title { font-size:15px;font-weight:500;color:var(--navy-900);margin-bottom:4px; }
.task-item-meta { display:flex;gap:8px;flex-wrap:wrap; }
.task-tag { font-size:11px;color:var(--navy-400); }
.task-tag-urgent { color:var(--red); }
.task-item-actions {
  display:flex;gap:4px;align-items:center;
  opacity:0;transition:opacity .2s;flex-shrink:0;
}
.task-item:hover .task-item-actions { opacity:1; }
.task-btn {
  width:30px;height:30px;border:none;background:transparent;
  color:var(--navy-400);border-radius:7px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all .2s;
}
.task-btn svg { width:14px;height:14px; }
.task-btn:hover { background:var(--navy-100);color:var(--navy-700); }
.task-btn-danger:hover { background:#fee2e2;color:var(--red); }
.task-check {
  width:34px;height:34px;
  border:2px solid var(--navy-300);background:transparent;
  color:transparent;border-radius:50%;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all .2s;flex-shrink:0;
}
.task-check svg { width:14px;height:14px; }
.task-check:hover { border-color:var(--green);background:#f0fdf4;color:var(--green); }
.ctx-filters { display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px; }
.ctx-filter {
  padding:5px 12px;border:1px solid var(--navy-200);
  border-radius:99px;font-size:12px;font-weight:500;
  cursor:pointer;background:#fff;color:var(--navy-600);
  transition:all .2s;font-family:var(--font);
}
.ctx-filter.active,.ctx-filter:hover { background:var(--blue);border-color:var(--blue);color:#fff; }
.org-empty { padding:40px 24px;text-align:center;color:var(--navy-400);font-size:14px; }

/* Inline edit form */
.task-edit-form {
  display:none;flex-direction:column;gap:8px;
  padding:12px 0 4px;
}
.task-edit-form.open { display:flex; }
.task-edit-row { display:flex;gap:8px;flex-wrap:wrap; }
.task-edit-input,.task-edit-select {
  padding:7px 10px;border:1px solid var(--navy-300);
  border-radius:8px;font-size:13px;font-family:var(--font);
  color:var(--navy-900);background:#fff;outline:none;
}
.task-edit-input:focus,.task-edit-select:focus { border-color:var(--blue); }
.task-edit-input { flex:1;min-width:160px; }
.task-edit-actions { display:flex;gap:6px; }

/* Sortable */
.sortable-ghost { opacity:.4; }
.sortable-drag { box-shadow:0 8px 24px rgba(0,0,0,.12); }

/* ===== REFLETIR ===== */
.review-wrap { max-width:600px;margin:0 auto;padding:32px;flex:1;overflow-y:auto; }
.review-intro {
  background:linear-gradient(135deg,#eff6ff,#f0fdf4);
  border-radius:16px;padding:24px;margin-bottom:28px;
  border:1px solid #dbeafe;
}
.review-intro h3 { font-size:16px;font-weight:700;margin-bottom:6px;color:var(--navy-800); }
.review-intro p { font-size:13px;color:var(--navy-600);line-height:1.6; }
.review-step {
  background:#fff;border:1px solid var(--navy-200);
  border-radius:12px;padding:16px 20px;margin-bottom:8px;
  display:flex;align-items:center;gap:14px;
  cursor:pointer;transition:all .2s;
}
.review-step:hover { border-color:var(--navy-300);box-shadow:0 2px 8px rgba(0,0,0,.06); }
.review-step.done { opacity:.5; }
.review-step.done .review-step-title { text-decoration:line-through; }
.review-step-check {
  width:24px;height:24px;border:2px solid var(--navy-300);
  border-radius:6px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  color:transparent;transition:all .2s;
}
.review-step-check svg { width:14px;height:14px; }
.review-step.done .review-step-check { background:var(--green);border-color:var(--green);color:#fff; }
.review-step-content { flex:1; }
.review-step-title { font-size:15px;font-weight:500;color:var(--navy-900); }
.review-step-desc { font-size:12px;color:var(--navy-500);margin-top:2px; }
.review-progress { text-align:center;margin-top:24px;color:var(--navy-500);font-size:13px; }

/* ===== ENGAJAR ===== */
.engage-wrap {
  flex:1;display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  padding:32px;background:var(--bg);overflow-y:auto;
}
.engage-ctx-filters { display:flex;gap:6px;flex-wrap:wrap;margin-bottom:32px; }
.engage-card {
  background:#fff;border-radius:20px;padding:48px 40px;
  max-width:560px;width:100%;
  box-shadow:0 4px 32px rgba(0,0,0,.08);text-align:center;
}
.engage-card-ctx {
  font-size:12px;font-weight:600;text-transform:uppercase;
  letter-spacing:.08em;color:var(--blue);margin-bottom:16px;
}
.engage-card-title {
  font-size:28px;font-weight:700;color:var(--navy-900);
  line-height:1.3;margin-bottom:40px;
}
.engage-card-actions { display:flex;flex-direction:column;gap:10px;align-items:center; }
.engage-btn-done {
  width:100%;padding:18px;background:var(--green);color:#fff;
  border:none;border-radius:14px;font-size:18px;font-weight:700;
  cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;
  transition:all .2s;font-family:var(--font);
}
.engage-btn-done svg { width:22px;height:22px; }
.engage-btn-done:hover { background:#16a34a;transform:translateY(-1px);box-shadow:0 4px 16px rgba(34,197,94,.3); }
.engage-btn-skip {
  padding:12px 24px;background:transparent;color:var(--navy-500);
  border:none;border-radius:10px;font-size:14px;font-weight:500;
  cursor:pointer;transition:all .2s;font-family:var(--font);
}
.engage-btn-skip:hover { background:var(--navy-100);color:var(--navy-700); }
.engage-counter { font-size:13px;color:var(--navy-400);margin-top:16px; }
.engage-empty { text-align:center;padding:48px 24px; }
.engage-empty-icon {
  width:64px;height:64px;background:#dcfce7;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 16px;color:#16a34a;
}
.engage-empty-icon svg { width:32px;height:32px; }
.engage-empty h3 { font-size:20px;font-weight:700;margin-bottom:8px; }
.engage-empty p { color:var(--navy-500);font-size:14px; }

/* ===== SETTINGS ===== */
.settings-wrap { max-width:560px;margin:0 auto;padding:32px;flex:1;overflow-y:auto; }
.settings-section {
  background:#fff;border:1px solid var(--navy-200);
  border-radius:14px;padding:20px;margin-bottom:16px;
}
.settings-section h3 { font-size:14px;font-weight:700;margin-bottom:4px; }
.settings-section p { font-size:12px;color:var(--navy-500);margin-bottom:16px;line-height:1.5; }
.ctx-item {
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 12px;background:var(--navy-50);
  border-radius:8px;margin-bottom:6px;
}
.ctx-item-label { font-weight:500;font-size:14px; }
.ctx-item-actions { display:flex;gap:4px; }
.ctx-add { display:flex;gap:8px;flex-wrap:wrap;margin-top:12px; }
.ctx-add input {
  flex:1;min-width:120px;padding:8px 12px;
  border:1px solid var(--navy-300);border-radius:8px;
  font-size:13px;font-family:var(--font);outline:none;
}
.ctx-add input:focus { border-color:var(--blue); }

/* ===== CALENDÁRIO ===== */
.cal-nav-btn {
  width:36px;height:36px;border:none;background:var(--navy-100);
  border-radius:8px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  color:var(--navy-600);transition:all .2s;flex-shrink:0;
}
.cal-nav-btn:hover { background:var(--navy-200); }
.cal-nav-btn svg { width:18px;height:18px; }

.cal-wrap {
  flex:1;display:flex;flex-direction:column;
  overflow:hidden;padding:0 24px 24px;
}
.cal-grid-header {
  display:grid;grid-template-columns:repeat(7,1fr);
  gap:2px;margin-bottom:4px;
}
.cal-grid-header div {
  text-align:center;font-size:11px;font-weight:700;
  text-transform:uppercase;letter-spacing:.06em;
  color:var(--navy-400);padding:8px 0;
}
.cal-grid {
  display:grid;grid-template-columns:repeat(7,1fr);
  gap:2px;flex:1;
}
.cal-day {
  background:#fff;border:1px solid var(--navy-200);
  border-radius:10px;padding:8px;
  min-height:80px;cursor:pointer;
  transition:all .2s;display:flex;flex-direction:column;gap:3px;
  overflow:hidden;
}
.cal-day:hover { border-color:var(--blue);box-shadow:0 2px 8px rgba(59,130,246,.1); }
.cal-day.today { border-color:var(--blue);background:#eff6ff; }
.cal-day.other-month { background:var(--navy-50);opacity:.5; }
.cal-day.selected { border-color:var(--blue);box-shadow:0 0 0 2px rgba(59,130,246,.3); }
.cal-day-num {
  font-size:13px;font-weight:600;color:var(--navy-700);
  width:24px;height:24px;display:flex;align-items:center;justify-content:center;
  border-radius:50%;flex-shrink:0;
}
.cal-day.today .cal-day-num {
  background:var(--blue);color:#fff;
}
.cal-task-dot {
  font-size:11px;color:var(--navy-700);
  background:var(--navy-100);border-radius:4px;
  padding:1px 5px;white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis;line-height:1.4;
}
.cal-task-dot.urgent { background:#fee2e2;color:var(--red); }
.cal-task-dot.done { opacity:.4;text-decoration:line-through; }
.cal-more { font-size:10px;color:var(--navy-400);padding:1px 4px; }

/* Day panel */
.cal-day-panel {
  position:fixed;right:0;top:0;bottom:0;width:320px;
  background:#fff;border-left:1px solid var(--navy-200);
  box-shadow:-4px 0 24px rgba(0,0,0,.08);
  display:flex;flex-direction:column;z-index:20;
}
.cal-day-panel-header {
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 20px 16px;border-bottom:1px solid var(--navy-200);
  flex-shrink:0;
}
.cal-day-panel-title { font-size:16px;font-weight:700;color:var(--navy-900); }
.cal-day-panel-close {
  width:32px;height:32px;border:none;background:transparent;
  color:var(--navy-400);border-radius:8px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:all .2s;
}
.cal-day-panel-close:hover { background:var(--navy-100);color:var(--navy-700); }
.cal-day-panel-close svg { width:16px;height:16px; }
.cal-day-panel-body { flex:1;overflow-y:auto;padding:16px 20px; }
.cal-panel-task {
  background:var(--navy-50);border:1px solid var(--navy-200);
  border-radius:10px;padding:12px 14px;margin-bottom:8px;
  display:flex;align-items:flex-start;gap:10px;
}
.cal-panel-task-content { flex:1;min-width:0; }
.cal-panel-task-title { font-size:14px;font-weight:500;color:var(--navy-900);margin-bottom:3px; }
.cal-panel-task-meta { font-size:11px;color:var(--navy-400); }
.cal-panel-task-check {
  width:28px;height:28px;border:2px solid var(--navy-300);
  background:transparent;color:transparent;border-radius:50%;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:all .2s;flex-shrink:0;
}
.cal-panel-task-check svg { width:12px;height:12px; }
.cal-panel-task-check:hover { border-color:var(--green);background:#f0fdf4;color:var(--green); }
.cal-panel-empty { padding:32px 0;text-align:center;color:var(--navy-400);font-size:13px; }
.cal-panel-section { font-size:11px;font-weight:700;text-transform:uppercase;
  letter-spacing:.06em;color:var(--navy-400);margin:16px 0 8px; }
.cal-due-form {
  margin-top:16px;padding-top:16px;border-top:1px solid var(--navy-200);
}
.cal-due-form label { font-size:12px;font-weight:600;color:var(--navy-600);display:block;margin-bottom:6px; }
.cal-due-select {
  width:100%;padding:8px 10px;border:1px solid var(--navy-300);
  border-radius:8px;font-size:13px;font-family:var(--font);
  color:var(--navy-900);outline:none;margin-bottom:8px;
}
.cal-due-select:focus { border-color:var(--blue); }

/* ===== ORG ADD FORM ===== */
.org-add-form {
  display:flex;gap:8px;align-items:center;
  margin-bottom:16px;
  background:#fff;border:2px solid var(--blue);
  border-radius:12px;padding:6px 6px 6px 16px;
  box-shadow:0 2px 12px rgba(59,130,246,.08);
}
.org-add-input {
  flex:1;border:none;outline:none;
  font-size:15px;font-family:var(--font);
  color:var(--navy-900);background:transparent;
  padding:8px 0;
}
.org-add-input::placeholder { color:var(--navy-400); }

/* ===== MODAL PROJETO ===== */
.modal-overlay {
  position:fixed;inset:0;
  background:rgba(0,0,0,.4);
  display:flex;align-items:center;justify-content:center;
  z-index:100;padding:24px;
}
.modal-card {
  background:#fff;border-radius:20px;
  width:100%;max-width:520px;
  box-shadow:0 8px 48px rgba(0,0,0,.16);
  display:flex;flex-direction:column;gap:0;
  max-height:90vh;overflow-y:auto;
}
.modal-header {
  display:flex;align-items:center;gap:12px;
  padding:24px 24px 16px;border-bottom:1px solid var(--navy-100);
  flex-shrink:0;
}
.modal-icon { width:22px;height:22px;color:var(--blue);flex-shrink:0; }
.modal-title-input {
  flex:1;border:none;outline:none;
  font-size:18px;font-weight:700;
  font-family:var(--font);color:var(--navy-900);
  background:transparent;
}
.modal-title-input::placeholder { color:var(--navy-300); }
.modal-close {
  width:32px;height:32px;border:none;background:transparent;
  color:var(--navy-400);border-radius:8px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all .2s;flex-shrink:0;
}
.modal-close:hover { background:var(--navy-100);color:var(--navy-700); }
.modal-close svg { width:16px;height:16px; }
.modal-section { padding:16px 24px;border-bottom:1px solid var(--navy-100); }
.modal-section-row { display:flex;gap:12px; }
.modal-section-col { flex:1;min-width:0; }
.modal-label {
  font-size:11px;font-weight:700;text-transform:uppercase;
  letter-spacing:.06em;color:var(--navy-400);
  display:block;margin-bottom:8px;
}
.modal-textarea {
  width:100%;padding:10px 12px;
  border:1px solid var(--navy-200);border-radius:10px;
  font-size:14px;font-family:var(--font);color:var(--navy-900);
  outline:none;resize:none;line-height:1.5;
}
.modal-textarea:focus { border-color:var(--blue); }
.modal-input {
  width:100%;padding:9px 12px;
  border:1px solid var(--navy-200);border-radius:10px;
  font-size:14px;font-family:var(--font);color:var(--navy-900);
  outline:none;background:var(--surface);
}
.modal-input:focus { border-color:var(--blue); }
.modal-select {
  width:100%;padding:10px 12px;
  border:1px solid var(--navy-200);border-radius:10px;
  font-size:14px;font-family:var(--font);color:var(--navy-900);
  outline:none;background:#fff;cursor:pointer;
  appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;
  padding-right:32px;
}
.modal-select:focus { border-color:var(--blue); }
.modal-next-action {
  display:flex;align-items:center;gap:10px;
  padding:12px 14px;
  background:#f0fdf4;border:1px solid #bbf7d0;
  border-radius:10px;color:#16a34a;font-size:14px;font-weight:500;
}
.modal-next-action svg { width:16px;height:16px;flex-shrink:0; }
.modal-action-item {
  display:flex;align-items:center;gap:10px;
  padding:8px 0;border-bottom:1px solid var(--navy-100);
}
.modal-action-item:last-child { border-bottom:none; }
.modal-action-check {
  width:22px;height:22px;border:2px solid var(--navy-300);
  border-radius:5px;background:transparent;color:transparent;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:all .2s;flex-shrink:0;
}
.modal-action-check svg { width:12px;height:12px; }
.modal-action-check:hover { border-color:var(--green);background:#f0fdf4;color:var(--green); }
.modal-action-check.done { background:var(--green);border-color:var(--green);color:#fff; }
.modal-action-title {
  flex:1;font-size:14px;color:var(--navy-800);
}
.modal-action-title.done { text-decoration:line-through;color:var(--navy-400); }
.modal-action-del {
  width:26px;height:26px;border:none;background:transparent;
  color:var(--navy-300);border-radius:6px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all .2s;opacity:0;
}
.modal-action-item:hover .modal-action-del { opacity:1; }
.modal-action-del:hover { background:#fee2e2;color:var(--red); }
.modal-action-del svg { width:13px;height:13px; }
.modal-add-action {
  display:flex;gap:8px;align-items:center;margin-top:10px;
}
.modal-add-input {
  flex:1;padding:8px 12px;
  border:1px solid var(--navy-200);border-radius:8px;
  font-size:13px;font-family:var(--font);outline:none;
}
.modal-add-input:focus { border-color:var(--blue); }
.btn-sm { padding:8px 12px;font-size:12px; }
.btn-sm svg { width:14px;height:14px; }
.modal-footer {
  display:flex;justify-content:space-between;align-items:center;
  padding:16px 24px;flex-shrink:0;
}

/* ===== METAS ===== */
.goals-wrap { flex:1;overflow-y:auto;padding:24px 32px;max-width:680px;margin:0 auto;width:100%; }
.goals-horizon { margin-bottom:28px; }
.goals-horizon-title {
  font-size:11px;font-weight:700;text-transform:uppercase;
  letter-spacing:.08em;color:var(--navy-400);
  margin-bottom:12px;display:flex;align-items:center;gap:8px;
}
.goals-horizon-title svg { width:14px;height:14px; }
.goal-item {
  background:#fff;border:1px solid var(--navy-200);
  border-radius:12px;padding:14px 16px;margin-bottom:8px;
  display:flex;align-items:flex-start;gap:12px;transition:all .2s;
}
.goal-item:hover { border-color:var(--navy-300);box-shadow:0 2px 8px rgba(0,0,0,.06); }
.goal-check {
  width:28px;height:28px;border:2px solid var(--navy-300);
  border-radius:50%;background:transparent;color:transparent;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:all .2s;flex-shrink:0;margin-top:2px;
}
.goal-check svg { width:13px;height:13px; }
.goal-check:hover { border-color:var(--green);background:#f0fdf4;color:var(--green); }
.goal-content { flex:1;min-width:0; }
.goal-title { font-size:15px;font-weight:500;color:var(--navy-900);margin-bottom:3px; }
.goal-notes { font-size:12px;color:var(--navy-500);line-height:1.5; }
.goal-del {
  width:28px;height:28px;border:none;background:transparent;
  color:var(--navy-300);border-radius:6px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all .2s;opacity:0;flex-shrink:0;
}
.goal-item:hover .goal-del { opacity:1; }
.goal-del:hover { background:#fee2e2;color:var(--red); }
.goal-del svg { width:14px;height:14px; }
.goal-add-form {
  background:#fff;border:2px dashed var(--navy-200);
  border-radius:12px;padding:16px;margin-bottom:8px;
  display:none;flex-direction:column;gap:10px;
}
.goal-add-form.open { display:flex; }
.goal-add-row { display:flex;gap:8px;flex-wrap:wrap; }
.goal-add-input {
  flex:1;padding:8px 12px;border:1px solid var(--navy-300);
  border-radius:8px;font-size:14px;font-family:var(--font);outline:none;
}
.goal-add-input:focus { border-color:var(--blue); }
.goal-add-select {
  padding:8px 12px;border:1px solid var(--navy-300);
  border-radius:8px;font-size:13px;font-family:var(--font);outline:none;
}

/* ===== AGUARDANDO badge ===== */
#badge-aguardando { background:var(--amber);color:#fff; }

/* ===== REVISÃO PROJETO ===== */
.proj-review-badge {
  font-size:11px;color:var(--amber);font-weight:600;
  display:flex;align-items:center;gap:4px;margin-top:3px;
}
.proj-review-badge svg { width:12px;height:12px; }

/* ===== MIND SWEEP ===== */
.sweep-wrap {
  flex:1;display:flex;flex-direction:column;
  align-items:center;justify-content:flex-start;
  padding:32px;overflow-y:auto;background:var(--bg);
}

/* Intro */
.sweep-intro {
  max-width:560px;width:100%;text-align:center;padding:24px 0;
}
.sweep-intro-icon {
  width:72px;height:72px;background:linear-gradient(135deg,#eff6ff,#f0fdf4);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  margin:0 auto 20px;color:var(--blue);
}
.sweep-intro-icon svg { width:36px;height:36px; }
.sweep-intro h2 { font-size:24px;font-weight:700;margin-bottom:12px;color:var(--navy-900); }
.sweep-intro p { font-size:15px;color:var(--navy-600);line-height:1.7;margin-bottom:8px; }
.sweep-intro-rules {
  background:#fff;border:1px solid var(--navy-200);border-radius:14px;
  padding:20px 24px;margin:24px 0;text-align:left;
}
.sweep-intro-rules li {
  font-size:14px;color:var(--navy-700);line-height:1.8;
  list-style:none;padding-left:20px;position:relative;
}
.sweep-intro-rules li::before {
  content:'→';position:absolute;left:0;color:var(--blue);font-weight:700;
}

/* Progress bar */
.sweep-progress {
  width:100%;max-width:560px;margin-bottom:28px;
}
.sweep-progress-bar {
  height:6px;background:var(--navy-200);border-radius:99px;overflow:hidden;margin-bottom:6px;
}
.sweep-progress-fill {
  height:100%;background:linear-gradient(90deg,var(--blue),var(--purple));
  border-radius:99px;transition:width .4s;
}
.sweep-progress-label {
  display:flex;justify-content:space-between;
  font-size:12px;color:var(--navy-400);
}

/* Category header */
.sweep-category {
  width:100%;max-width:560px;
  display:flex;align-items:center;gap:10px;
  margin-bottom:20px;
}
.sweep-category-icon {
  width:40px;height:40px;background:var(--navy-100);
  border-radius:10px;display:flex;align-items:center;justify-content:center;
  color:var(--blue);flex-shrink:0;
}
.sweep-category-icon svg { width:20px;height:20px; }
.sweep-category-name { font-size:13px;font-weight:700;color:var(--navy-500);text-transform:uppercase;letter-spacing:.06em; }

/* Trigger card */
.sweep-card {
  background:#fff;border-radius:20px;padding:36px 40px;
  max-width:560px;width:100%;
  box-shadow:0 4px 32px rgba(0,0,0,.08);
  margin-bottom:20px;
}
.sweep-trigger {
  font-size:22px;font-weight:700;color:var(--navy-900);
  line-height:1.4;margin-bottom:28px;text-align:center;
}
.sweep-input-wrap {
  background:var(--navy-50);border:2px solid var(--navy-200);
  border-radius:12px;padding:6px 6px 6px 16px;
  display:flex;align-items:center;gap:8px;
  transition:border-color .2s;margin-bottom:12px;
}
.sweep-input-wrap:focus-within { border-color:var(--blue);background:#fff; }
.sweep-input-wrap input {
  flex:1;border:none;outline:none;
  font-size:15px;font-family:var(--font);
  color:var(--navy-900);background:transparent;padding:10px 0;
}
.sweep-input-wrap input::placeholder { color:var(--navy-400); }
.sweep-input-wrap button {
  width:40px;height:40px;background:var(--blue);border:none;
  border-radius:8px;color:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;transition:all .2s;
}
.sweep-input-wrap button:hover { background:var(--blue-dark); }
.sweep-input-wrap button svg { width:18px;height:18px; }

/* Captured items */
.sweep-captured {
  display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px;min-height:0;
}
.sweep-captured-tag {
  background:#eff6ff;color:var(--blue);
  font-size:12px;font-weight:500;
  padding:4px 10px;border-radius:99px;
  display:flex;align-items:center;gap:6px;
}
.sweep-captured-tag svg { width:12px;height:12px;cursor:pointer;opacity:.6; }
.sweep-captured-tag svg:hover { opacity:1; }

/* Nav buttons */
.sweep-nav {
  display:flex;justify-content:space-between;align-items:center;
  width:100%;max-width:560px;
}
.sweep-btn-skip {
  padding:12px 20px;border:none;background:transparent;
  color:var(--navy-400);border-radius:10px;font-size:14px;
  font-weight:500;cursor:pointer;transition:all .2s;font-family:var(--font);
  display:flex;align-items:center;gap:6px;
}
.sweep-btn-skip:hover { background:var(--navy-100);color:var(--navy-700); }
.sweep-btn-skip svg { width:14px;height:14px; }
.sweep-btn-next {
  padding:14px 28px;background:var(--blue);color:#fff;
  border:none;border-radius:12px;font-size:15px;font-weight:600;
  cursor:pointer;transition:all .2s;font-family:var(--font);
  display:flex;align-items:center;gap:8px;
}
.sweep-btn-next:hover { background:var(--blue-dark);transform:translateY(-1px); }
.sweep-btn-next svg { width:16px;height:16px; }

/* Done screen */
.sweep-done {
  max-width:560px;width:100%;text-align:center;padding:24px 0;
}
.sweep-done-icon {
  width:80px;height:80px;background:#dcfce7;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 20px;color:#16a34a;
}
.sweep-done-icon svg { width:40px;height:40px; }
.sweep-done h2 { font-size:24px;font-weight:700;margin-bottom:8px; }
.sweep-done p { font-size:15px;color:var(--navy-600);margin-bottom:24px;line-height:1.6; }
.sweep-done-count {
  font-size:48px;font-weight:800;color:var(--blue);margin-bottom:4px;
}
.sweep-done-label { font-size:14px;color:var(--navy-500);margin-bottom:32px; }

/* ===== CAL NEW TASK ===== */
.cal-new-task-wrap {
  display:flex;gap:8px;align-items:center;
}
.cal-due-input {
  flex:1;padding:8px 10px;
  border:1px solid var(--navy-300);border-radius:8px;
  font-size:13px;font-family:var(--font);outline:none;
}
.cal-due-input:focus { border-color:var(--blue); }

/* ===== CAL PANEL DRAG ===== */
.cal-panel-drag {
  color:var(--navy-300);cursor:grab;
  display:flex;align-items:center;
  opacity:0;transition:opacity .2s;flex-shrink:0;
}
.cal-panel-drag svg { width:14px;height:14px; }
.cal-panel-task:hover .cal-panel-drag { opacity:1; }

/* ===== CAL TASK EDIT FORM ===== */
.cal-panel-task-edit {
  width:28px;height:28px;border:none;background:transparent;
  color:var(--navy-300);border-radius:6px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all .2s;opacity:0;flex-shrink:0;
}
.cal-panel-task:hover .cal-panel-task-edit { opacity:1; }
.cal-panel-task-edit:hover { background:var(--navy-100);color:var(--navy-700); }
.cal-panel-task-edit svg { width:13px;height:13px; }
.cal-task-edit-form {
  display:none;margin-top:8px;padding-top:8px;
  border-top:1px solid var(--navy-100);
}

/* ===== HOJE ===== */
.hoje-wrap {
  flex:1;overflow-y:auto;padding:24px 32px;
  max-width:680px;margin:0 auto;width:100%;
}
.hoje-date {
  font-size:13px;font-weight:600;color:var(--navy-400);
  text-transform:uppercase;letter-spacing:.08em;
  margin-bottom:20px;
}
.hoje-add-wrap { margin-bottom:16px; }
.hoje-section-label {
  display:flex;align-items:center;gap:6px;
  font-size:11px;font-weight:700;text-transform:uppercase;
  letter-spacing:.06em;color:var(--amber);
  margin:20px 0 10px;
}
.hoje-section-label svg { width:13px;height:13px; }
.hoje-task {
  background:#fff;border:1px solid var(--navy-200);
  border-radius:12px;padding:14px 16px;margin-bottom:8px;
  display:flex;align-items:center;gap:10px;
  transition:all .2s;
}
.hoje-task:hover { border-color:var(--navy-300);box-shadow:0 2px 8px rgba(0,0,0,.06); }
.hoje-task.done { opacity:.45; }
.hoje-task.done .hoje-task-title { text-decoration:line-through;color:var(--navy-400); }
.hoje-drag {
  color:var(--navy-300);cursor:grab;
  display:flex;align-items:center;
  opacity:0;transition:opacity .2s;flex-shrink:0;
}
.hoje-drag svg { width:16px;height:16px; }
.hoje-task:hover .hoje-drag { opacity:1; }
.hoje-task-content { flex:1;min-width:0; }
.hoje-task-title { font-size:15px;font-weight:500;color:var(--navy-900);margin-bottom:3px; }
.hoje-task-meta { font-size:11px;color:var(--navy-400); }
.hoje-task-check {
  width:34px;height:34px;
  border:2px solid var(--navy-300);background:transparent;
  color:transparent;border-radius:50%;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all .2s;flex-shrink:0;
}
.hoje-task-check svg { width:14px;height:14px; }
.hoje-task-check:hover { border-color:var(--green);background:#f0fdf4;color:var(--green); }
.hoje-task.done .hoje-task-check { background:var(--green);border-color:var(--green);color:#fff; }
.hoje-empty {
  padding:48px 24px;text-align:center;color:var(--navy-400);font-size:14px;
}
.hoje-empty-icon {
  width:56px;height:56px;background:#dcfce7;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 16px;color:#16a34a;
}
.hoje-empty-icon svg { width:28px;height:28px; }

/* ===== DAILY HIGHLIGHT ===== */
.daily-highlight-wrap { margin-bottom:16px; }
.daily-highlight {
  background:linear-gradient(135deg,#fef08a,#fde047);
  border:2px solid #f59e0b;border-radius:12px;
  padding:16px 20px;
  display:flex;flex-direction:column;gap:8px;
  position:relative;overflow:hidden;
}
.daily-highlight::before {
  content:'';position:absolute;top:-20px;right:-20px;
  width:80px;height:80px;border-radius:50%;
  background:rgba(251,191,36,.3);
}
.daily-highlight.done {
  background:linear-gradient(135deg,#dcfce7,#bbf7d0);
  border-color:#22c55e;
}
.daily-highlight-label {
  font-size:11px;font-weight:700;text-transform:uppercase;
  letter-spacing:.08em;color:#92400e;
  display:flex;align-items:center;gap:5px;
}
.daily-highlight-label svg { width:13px;height:13px; }
.daily-highlight.done .daily-highlight-label { color:#166534; }
.daily-highlight-title {
  font-size:17px;font-weight:700;color:#1c1917;line-height:1.3;
}
.daily-highlight-actions { display:flex;gap:8px;align-items:center;margin-top:4px; }
.daily-highlight-check {
  display:inline-flex;align-items:center;gap:6px;
  background:#fff;border:1.5px solid #f59e0b;border-radius:8px;
  padding:6px 14px;font-size:12px;font-weight:600;color:#92400e;
  cursor:pointer;transition:all .15s;font-family:var(--font);
}
.daily-highlight-check:hover { background:#fef3c7; }
.daily-highlight-check.done { background:#22c55e;border-color:#22c55e;color:#fff; }
.daily-highlight-check svg { width:14px;height:14px; }
.daily-highlight-change {
  display:inline-flex;align-items:center;gap:5px;
  background:none;border:none;font-size:11px;color:#92400e;
  cursor:pointer;opacity:.7;font-family:var(--font);
}
.daily-highlight-change:hover { opacity:1; }
.daily-highlight-change svg { width:12px;height:12px; }

/* ===== HOJE GROUPS (Must/Should/Could) ===== */
.hoje-group { margin-bottom:16px; }
.hoje-group-label {
  font-size:11px;font-weight:700;text-transform:uppercase;
  letter-spacing:.07em;padding:4px 0 8px;
  display:flex;align-items:center;gap:5px;
}
.hoje-group-label svg { width:13px;height:13px; }
.hoje-group-must   { color:#dc2626; }
.hoje-group-should { color:#d97706; }
.hoje-group-could  { color:#6b7280; }
.hoje-group-none   { color:#9ca3af; }
.hoje-group-tasks { display:flex;flex-direction:column;gap:6px; }

/* ===== HOJE TASK BADGES ===== */
.hoje-task-badges { display:flex;gap:5px;flex-wrap:wrap;margin-top:4px; }
.hoje-badge {
  display:inline-flex;align-items:center;gap:3px;
  font-size:10px;font-weight:600;padding:2px 7px;border-radius:10px;
  letter-spacing:.03em;cursor:default;
}
.must-do    { background:#fee2e2;color:#dc2626; }
.should-do  { background:#fef3c7;color:#d97706; }
.could-do   { background:#f3f4f6;color:#6b7280; }
.badge-highlight { background:#fef08a;color:#92400e; }
.exec-not-started    { background:#f3f4f6;color:#6b7280;cursor:pointer; }
.exec-in-progress    { background:#dbeafe;color:#1d4ed8;cursor:pointer; }
.exec-procrastinating{ background:#fce7f3;color:#be185d;cursor:pointer; }
.exec-skipped        { background:#f3f4f6;color:#9ca3af;cursor:pointer;text-decoration:line-through; }
.exec-not-started:hover,.exec-in-progress:hover,.exec-procrastinating:hover,.exec-skipped:hover {
  filter:brightness(.95);
}

/* ===== HOJE TASK ACTIONS ===== */
.hoje-task-actions { display:flex;gap:4px;align-items:center;flex-shrink:0; }
.hoje-must-btn {
  width:28px;height:28px;border-radius:6px;
  background:none;border:1px solid var(--navy-200);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;color:var(--navy-400);transition:all .15s;
}
.hoje-must-btn:hover { border-color:var(--navy-400);color:var(--navy-600); }
.hoje-must-btn svg { width:13px;height:13px; }
.hoje-task.is-highlight { border-left:3px solid #f59e0b; }

/* ===== HOJE — TEMA CLARO NEURODIVERGENTE ===== */
#view-hoje {
  background: var(--bg);
}
#view-hoje .view-header {
  background: var(--surface);
  border-bottom: 1px solid #E8E8E3;
}
#view-hoje .view-header h2 { color: var(--ink); }
#view-hoje .view-header h2 svg { color: #6B6B6B; }
#view-hoje .view-meta { color: #6B6B6B; }

.hoje-wrap {
  background: transparent;
  max-width: 720px;
  margin: 0 auto;
}
.hoje-date {
  color: #6B6B6B;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .02em;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid #E8E8E3;
}

/* Linhas */
.hoje-task {
  background: transparent;
  border: none;
  border-bottom: 1px solid #EDEDE8;
  border-radius: 0;
  padding: 14px 4px;
  margin-bottom: 0;
  box-shadow: none;
  position: relative;
  overflow: hidden;
}
.hoje-task:hover {
  background: rgba(0,0,0,.02);
  border-color: #E8E8E3;
  box-shadow: none;
}
.hoje-task-title {
  font-size: 15px;
  font-weight: 400;
  color: var(--ink);
  position: relative;
}
.hoje-task-meta { color: #6B6B6B; }

/* Check circle — neutro */
.hoje-task-check {
  border-color: #D4D4CE;
}
.hoje-task-check:hover {
  border-color: #6B6B6B;
  background: #F0F0EB;
  color: #6B6B6B;
}
.hoje-task.done .hoje-task-check {
  background: #6B6B6B;
  border-color: #6B6B6B;
  color: #fff;
}

/* Animação de risco */
.hoje-task-title::after {
  content: '';
  position: absolute;
  left: -4px; top: 50%;
  width: 0; height: 1px;
  background: #6B6B6B;
  border-radius: 2px;
  transition: width .4s cubic-bezier(.4,0,.2,1);
  transform: translateY(-50%);
}
.hoje-task.done .hoje-task-title { color: #9B9B9B; }
.hoje-task.done .hoje-task-title::after {
  width: calc(100% + 8px);
}

/* Drag handle */
.hoje-drag { color: #D4D4CE; }
.hoje-task:hover .hoje-drag { opacity: .8; color: #9B9B9B; }

/* Empty state */
.hoje-empty-icon { background: #F0F0EB; color: #9B9B9B; }

/* Add form */
#view-hoje .org-add-form {
  background: transparent;
  border: none;
  border-bottom: 1px dashed #D4D4CE;
  border-radius: 0;
  padding: 8px 4px;
  box-shadow: none;
}
#view-hoje .org-add-input {
  font-size: 15px;
  color: var(--ink);
}
#view-hoje .org-add-input::placeholder { color: #9B9B9B; }

.hoje-section-label { color: #6B6B6B; }

/* ===== PROCESS INLINE ===== */
.process-inline-divider {
  display:flex;align-items:center;gap:12px;
  margin:24px 0 16px;
}
.process-inline-divider::before,
.process-inline-divider::after {
  content:'';flex:1;height:1px;background:var(--navy-200);
}
.process-inline-divider span {
  font-size:11px;font-weight:700;text-transform:uppercase;
  letter-spacing:.08em;color:var(--navy-400);white-space:nowrap;
}

/* ===== PROGRESS AI MELHORADO ===== */
.progress-ai-header {
  display:flex;align-items:center;gap:10px;margin-bottom:12px;
}
.progress-ai-icon {
  width:32px;height:32px;background:linear-gradient(135deg,#eff6ff,#f5f3ff);
  border-radius:8px;display:flex;align-items:center;justify-content:center;
  color:var(--blue);flex-shrink:0;
}
.progress-ai-icon svg { width:16px;height:16px; }
.progress-ai-title { font-size:14px;font-weight:600;color:var(--navy-800); }
.progress-ai-stats {
  display:flex;justify-content:space-between;
  font-size:12px;color:var(--navy-500);margin:6px 0 8px;
}
.progress-current {
  font-size:13px;color:var(--navy-600);margin-bottom:10px;
  min-height:20px;
}
.progress-log {
  max-height:180px;overflow-y:auto;
  display:flex;flex-direction:column;gap:4px;
}
.progress-log-item {
  display:flex;align-items:center;gap:8px;
  padding:6px 10px;background:var(--navy-50);
  border-radius:8px;font-size:12px;
  animation:fadeIn .3s ease;
}
.progress-log-icon { font-size:14px;flex-shrink:0; }
.progress-log-title { flex:1;color:var(--navy-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.progress-log-action { color:var(--navy-400);font-size:11px;flex-shrink:0; }
.progress-log-error { background:#fee2e2; }
.progress-log-error .progress-log-title { color:var(--red); }
@keyframes fadeIn { from { opacity:0;transform:translateY(4px); } to { opacity:1;transform:none; } }

/* ===== SCHEDULE PICKER ===== */
.schedule-picker {
  background:var(--navy-50);border:1px solid var(--navy-200);
  border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:12px;
}
.schedule-picker-label {
  display:flex;align-items:center;gap:8px;
  font-size:13px;font-weight:600;color:var(--navy-700);
}
.schedule-picker-label svg { width:16px;height:16px;color:var(--blue); }
.schedule-picker-input {
  padding:10px 14px;border:2px solid var(--blue);border-radius:10px;
  font-size:15px;font-family:var(--font);outline:none;
  color:var(--navy-900);background:#fff;
}
.schedule-picker-actions { display:flex;gap:8px; }

/* ===== CAL SEARCH ===== */
.cal-search-wrap { margin-bottom:4px; }
.cal-search-result {
  padding:10px 12px;border-radius:8px;cursor:pointer;
  border:1px solid var(--navy-200);margin-bottom:4px;
  transition:all .15s;background:#fff;
}
.cal-search-result:hover { background:var(--navy-50);border-color:var(--blue); }
.cal-search-result-title { font-size:13px;font-weight:500;color:var(--navy-900); }
.cal-search-result-meta { font-size:11px;color:var(--navy-400);margin-top:2px; }

/* ===== PROJECTS LIST ===== */
.projects-list {
  display:flex;
  flex-direction:column;
  gap:2px;
}

.project-row {
  background:#fff;
  border:1px solid var(--navy-200);
  border-radius:12px;
  padding:16px 18px 16px 20px;
  display:flex;
  align-items:center;
  gap:12px;
  cursor:pointer;
  transition:border-color .15s, box-shadow .15s;
  position:relative;
  overflow:hidden;
}
.project-row::before {
  content:'';
  position:absolute;
  left:0; top:0; bottom:0;
  width:3px;
  background:transparent;
  transition:background .2s;
  border-radius:12px 0 0 12px;
}
.project-row.needs-review::before {
  background:var(--navy-400);
}
.project-row:hover {
  border-color:var(--navy-300);
  box-shadow:0 2px 10px rgba(0,0,0,.05);
}

/* drag handle */
.pt-col-drag {
  color:var(--navy-300);
  cursor:grab;
  opacity:0;
  transition:opacity .2s;
  display:flex;
  align-items:center;
  flex-shrink:0;
}
.pt-col-drag svg { width:14px;height:14px; }
.project-row:hover .pt-col-drag { opacity:1; }

/* main content */
.pt-col-name {
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.pt-project-name {
  font-size:15px;
  font-weight:500;
  color:var(--navy-900);
  white-space:normal;
  word-break:break-word;
  line-height:1.3;
}
.pt-next-action {
  font-size:12px;
  color:var(--navy-400);
  white-space:normal;
  word-break:break-word;
  line-height:1.3;
}
.pt-next-action.has-action {
  color:var(--navy-500);
}
.pt-next-action.no-action {
  color:var(--navy-300);
  font-style:italic;
}

/* review hint — right side, quiet */
.pt-col-review {
  font-size:11px;
  color:var(--navy-300);
  text-align:right;
  flex-shrink:0;
  white-space:nowrap;
}
.pt-col-review.stale {
  color:var(--navy-400);
}

/* hide the old badge — replaced by left border */
.pt-review-badge { display:none; }

.pt-loading { color:var(--navy-300);font-size:12px; }

@media (max-width:768px) {
  .project-row { padding:14px 14px 14px 18px; }
  .pt-col-review { display:none; }
}

/* ===== CONFIRM TOAST ===== */
.confirm-toast {
  position:fixed; bottom:80px; left:50%; transform:translateX(-50%);
  background:var(--navy-900); color:#fff; border-radius:12px;
  padding:12px 16px; display:flex; align-items:center; gap:10px;
  font-size:13px; z-index:200; box-shadow:0 4px 24px rgba(0,0,0,.3);
  animation:slideUp .2s ease; white-space:nowrap;
}
.btn-confirm-yes {
  background:var(--red); color:#fff; border:none; border-radius:8px;
  padding:6px 12px; font-size:12px; cursor:pointer; font-family:var(--font); font-weight:600;
}
.btn-confirm-no {
  background:transparent; color:rgba(255,255,255,.6); border:none;
  padding:6px 8px; font-size:12px; cursor:pointer; font-family:var(--font);
}
@keyframes slideUp {
  from { opacity:0; transform:translateX(-50%) translateY(10px); }
  to { opacity:1; transform:translateX(-50%) translateY(0); }
}

/* ===== MOBILE RESPONSIVE ===== */
@media (max-width:768px) {
  .sidebar {
    position:fixed; bottom:0; left:0; right:0;
    flex-direction:row; height:60px; overflow-x:auto;
    padding:0; border-top:1px solid var(--navy-200);
    border-right:none; z-index:50; top:auto; width:auto;
  }
  .sidebar-btn {
    flex-direction:column; min-width:56px;
    padding:6px 8px; font-size:9px; gap:2px;
    height:auto; width:auto;
  }
  .sidebar-btn svg { width:18px; height:18px; }
  .sidebar-logo { display:none; }
  .sidebar-divider { display:none; }
  .main { margin-left:0; padding-bottom:70px; }
  .view-header { flex-wrap:wrap; gap:8px; padding:12px 16px; }
  .org-tabs { overflow-x:auto; -webkit-overflow-scrolling:touch; flex-wrap:nowrap; }
  .org-tab { white-space:nowrap; flex-shrink:0; }
  .cal-day-panel {
    width:100%; position:fixed; bottom:60px; left:0; right:0;
    max-height:70vh; border-radius:16px 16px 0 0; z-index:40;
    top:auto;
  }
  .modal-card { max-height:95vh; border-radius:16px 16px 0 0; margin:auto 0 0; }
  .modal-overlay { align-items:flex-end; padding:0; }
  .hoje-task { min-height:56px; }
  .task-item-actions { opacity:1 !important; }
  .task-btn { opacity:1 !important; }
  .cal-panel-task-edit { opacity:1 !important; }
  .drag-handle { opacity:0.4 !important; }
  .hoje-drag { opacity:0.4 !important; }
  .cal-panel-drag { opacity:0.4 !important; }
}

/* ===== TOUCH DEVICE ===== */
.touch-device .task-item-actions { opacity:1 !important; }
.touch-device .task-btn { opacity:1 !important; }
.touch-device .drag-handle { opacity:0.5 !important; }
.touch-device .hoje-drag { opacity:0.5 !important; }
.touch-device .cal-panel-drag { opacity:0.5 !important; }
.touch-device .cal-panel-task-edit { opacity:1 !important; }
.touch-device .modal-action-del { opacity:1 !important; }
.touch-device .goal-del { opacity:1 !important; }

/* ===== HOJE — foco nas 3 primeiras ===== */
.hoje-task.dimmed {
  opacity: 0.38;
  transition: opacity .2s;
}
.hoje-task.dimmed:hover {
  opacity: 0.75;
}

/* ===== AGENTE FLUTUANTE ===== */
.agent-bubble {
  position:fixed;bottom:24px;right:24px;
  width:52px;height:52px;border-radius:50%;
  background:linear-gradient(135deg,#3b82f6,#8b5cf6);
  color:#fff;border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 20px rgba(59,130,246,.4);
  z-index:100;transition:transform .2s,box-shadow .2s;
}
.agent-bubble:hover { transform:scale(1.08);box-shadow:0 6px 28px rgba(59,130,246,.5); }
.agent-bubble svg { width:22px;height:22px; }
@media(max-width:768px){
  .agent-bubble { bottom:72px;right:16px;width:46px;height:46px; }
}

.agent-panel {
  position:fixed;bottom:88px;right:24px;
  width:360px;max-height:520px;
  background:#fff;border-radius:20px;
  box-shadow:0 8px 40px rgba(0,0,0,.18);
  display:none;flex-direction:column;
  z-index:100;overflow:hidden;
  border:1px solid var(--navy-200);
  animation:agentIn .2s ease;
}
.agent-panel.open { display:flex; }
@keyframes agentIn {
  from { opacity:0;transform:translateY(12px) scale(.97); }
  to   { opacity:1;transform:none; }
}
@media(max-width:768px){
  .agent-panel {
    bottom:70px;right:8px;left:8px;width:auto;max-height:60vh;
  }
}

.agent-header {
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 16px;border-bottom:1px solid var(--navy-100);
  background:linear-gradient(135deg,#eff6ff,#f5f3ff);
}
.agent-header-info { display:flex;align-items:center;gap:10px; }
.agent-avatar {
  width:34px;height:34px;border-radius:50%;
  background:linear-gradient(135deg,#3b82f6,#8b5cf6);
  display:flex;align-items:center;justify-content:center;color:#fff;
}
.agent-avatar svg { width:16px;height:16px; }
.agent-name { font-size:13px;font-weight:700;color:var(--navy-900); }
.agent-model { font-size:10px;color:var(--navy-400);font-weight:500; }
.agent-close {
  width:28px;height:28px;border:none;background:transparent;
  color:var(--navy-400);cursor:pointer;border-radius:6px;
  display:flex;align-items:center;justify-content:center;
}
.agent-close:hover { background:var(--navy-100); }
.agent-close svg { width:14px;height:14px; }

.agent-messages {
  flex:1;overflow-y:auto;padding:16px;
  display:flex;flex-direction:column;gap:10px;
}
.agent-msg { display:flex;flex-direction:column;gap:2px; }
.agent-msg-ai .agent-msg-text {
  background:var(--navy-50);border-radius:4px 14px 14px 14px;
  padding:10px 14px;font-size:13px;color:var(--navy-800);
  max-width:90%;line-height:1.5;
}
.agent-msg-user .agent-msg-text {
  background:linear-gradient(135deg,#3b82f6,#8b5cf6);
  color:#fff;border-radius:14px 14px 4px 14px;
  padding:10px 14px;font-size:13px;
  max-width:90%;align-self:flex-end;line-height:1.5;
}
.agent-msg-user { align-items:flex-end; }
.agent-typing .agent-msg-text {
  background:var(--navy-50);border-radius:4px 14px 14px 14px;
  padding:10px 14px;
}
.agent-typing-dots { display:flex;gap:4px;align-items:center; }
.agent-typing-dots span {
  width:6px;height:6px;border-radius:50%;background:var(--navy-400);
  animation:typingDot 1.2s infinite;
}
.agent-typing-dots span:nth-child(2) { animation-delay:.2s; }
.agent-typing-dots span:nth-child(3) { animation-delay:.4s; }
@keyframes typingDot {
  0%,60%,100% { transform:translateY(0); }
  30% { transform:translateY(-4px); }
}

.agent-input-wrap {
  display:flex;align-items:flex-end;gap:8px;
  padding:12px 14px;border-top:1px solid var(--navy-100);
}
.agent-input {
  flex:1;border:1px solid var(--navy-200);border-radius:12px;
  padding:8px 12px;font-size:13px;font-family:var(--font);
  outline:none;resize:none;max-height:100px;line-height:1.4;
  color:var(--navy-900);
}
.agent-input:focus { border-color:var(--blue); }
.agent-send {
  width:36px;height:36px;border-radius:10px;border:none;
  background:linear-gradient(135deg,#3b82f6,#8b5cf6);
  color:#fff;cursor:pointer;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  transition:opacity .2s;
}
.agent-send:disabled { opacity:.4;cursor:default; }
.agent-send svg { width:15px;height:15px; }

/* ===== HOJE — edição inline ===== */
.hoje-task-title[contenteditable="true"] {
  outline:none;border-bottom:2px solid var(--blue);
  padding-bottom:2px;cursor:text;
}

/* ===== MAPA MENTAL ===== */
.mapa-container {
  flex:1;min-height:0;width:100%;
  position:relative;overflow:hidden;background:#f8fafc;
}
#mapa-svg-wrap {
  width:100%;height:100%;
  overflow:hidden;position:relative;
  cursor:grab;user-select:none;
}
#mapa-svg-wrap:active { cursor:grabbing; }
#mapa-svg-inner {
  position:absolute;
  transform-origin:0 0;
  will-change:transform;
}
/* Project node hover: thicker border via SVG filter trick — handled inline */
#mapa-svg-inner rect[onclick]:hover {
  filter:drop-shadow(0 2px 8px rgba(0,0,0,0.15));
  stroke-width:2.5 !important;
}
.mapa-tooltip {
  position:absolute;background:var(--navy-900);color:#fff;
  font-size:12px;padding:6px 10px;border-radius:8px;
  pointer-events:none;display:none;z-index:10;
  max-width:220px;line-height:1.4;white-space:normal;
}
.ctx-item {
  padding:8px 14px;font-size:13px;cursor:pointer;color:#0f172a;
  transition:background 0.1s;
}
.ctx-item:hover { background:#f1f5f9; }

/* ===== DIÁRIO ===== */
.diary-layout {
  display:flex;flex:1;min-height:0;overflow:hidden;
}

/* Sidebar */
.diary-sidebar {
  width:220px;flex-shrink:0;
  border-right:1px solid var(--navy-200);
  background:#fafbfc;
  display:flex;flex-direction:column;
  overflow:hidden;
}
.diary-sidebar-header {
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 16px 12px;
  border-bottom:1px solid var(--navy-200);
  flex-shrink:0;
}
.diary-sidebar-title {
  font-size:13px;font-weight:700;color:var(--navy-700);
  text-transform:uppercase;letter-spacing:.06em;
}
.diary-new-btn {
  width:28px;height:28px;border:none;background:transparent;
  color:var(--navy-400);border-radius:7px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all .2s;
}
.diary-new-btn:hover { background:var(--navy-200);color:var(--navy-700); }
.diary-new-btn svg { width:16px;height:16px; }
.diary-entries-list {
  flex:1;overflow-y:auto;padding:8px;
}
.diary-entry-item {
  padding:10px 12px;border-radius:10px;cursor:pointer;
  transition:all .15s;margin-bottom:2px;
}
.diary-entry-item:hover { background:var(--navy-100); }
.diary-entry-item.active { background:#dbeafe;color:var(--blue); }
.diary-entry-date {
  font-size:13px;font-weight:600;color:var(--navy-800);
  margin-bottom:2px;
}
.diary-entry-item.active .diary-entry-date { color:var(--blue); }
.diary-entry-preview {
  font-size:11px;color:var(--navy-400);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  line-height:1.4;
}
.diary-entry-mood {
  font-size:11px;margin-top:3px;
}

/* Editor */
.diary-editor-wrap {
  flex:1;display:flex;flex-direction:column;overflow:hidden;
  background:#fff;
}
.diary-editor-header {
  padding:20px 32px 12px;
  border-bottom:1px solid var(--navy-100);
  flex-shrink:0;
}
.diary-date-display {
  font-size:22px;font-weight:700;color:var(--navy-900);
  margin-bottom:8px;
}
.diary-mood-row {
  display:flex;gap:6px;margin-bottom:10px;
}
.diary-mood-btn {
  padding:4px 10px;border:1px solid var(--navy-200);
  border-radius:99px;font-size:12px;cursor:pointer;
  background:#fff;transition:all .15s;
  display:flex;align-items:center;gap:4px;
}
.diary-mood-btn:hover { border-color:var(--blue);background:#eff6ff; }
.diary-mood-btn.active { background:var(--blue);border-color:var(--blue);color:#fff; }
.diary-editor-actions {
  display:flex;gap:8px;align-items:center;
}
.diary-analyze-btn {
  display:inline-flex;align-items:center;gap:6px;
  padding:7px 14px;border-radius:8px;
  font-size:12px;font-weight:500;cursor:pointer;
  background:var(--purple);color:#fff;border:none;
  transition:all .2s;font-family:var(--font);
}
.diary-analyze-btn:hover { background:#7c3aed; }
.diary-analyze-btn svg { width:13px;height:13px; }
.diary-analyze-btn:disabled { opacity:.5;cursor:not-allowed; }

/* Textarea Bear-style */
.diary-toolbar {
  display:flex;align-items:center;gap:2px;
  padding:8px 16px;
  border-bottom:1px solid var(--navy-100);
  background:#fafbfc;
  flex-shrink:0;
  flex-wrap:wrap;
}
.diary-tb-btn {
  width:30px;height:30px;
  border:none;background:transparent;
  border-radius:6px;cursor:pointer;
  color:var(--navy-500);
  font-size:13px;
  display:flex;align-items:center;justify-content:center;
  transition:background .15s,color .15s;
}
.diary-tb-btn:hover { background:var(--navy-100);color:var(--navy-900); }
.diary-tb-btn svg { width:14px;height:14px; }
.diary-tb-sep { width:1px;height:20px;background:var(--navy-200);margin:0 4px; }

.diary-editor {
  flex:1;
  padding:28px 40px;
  outline:none;
  font-size:16px;line-height:1.9;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--navy-900);background:#fff;
  overflow-y:auto;
  min-height:0;
}
.diary-editor:empty::before {
  content:attr(data-placeholder);
  color:var(--navy-300);
  pointer-events:none;
}
.diary-editor h1 { font-size:26px;font-weight:700;margin:16px 0 8px;color:var(--navy-900); }
.diary-editor h2 { font-size:20px;font-weight:700;margin:14px 0 6px;color:var(--navy-800); }
.diary-editor h3 { font-size:16px;font-weight:700;margin:12px 0 4px;color:var(--navy-700); }
.diary-editor ul,.diary-editor ol { padding-left:24px;margin:6px 0; }
.diary-editor li { margin:3px 0; }
.diary-editor blockquote {
  border-left:3px solid var(--blue);
  margin:8px 0;padding:4px 16px;
  color:var(--navy-500);font-style:italic;
}
.diary-editor code {
  background:var(--navy-100);border-radius:4px;
  padding:1px 6px;font-size:13px;font-family:monospace;
}
.diary-editor img {
  max-width:100%;border-radius:8px;
  margin:8px 0;display:block;
}
.diary-editor input[type=checkbox] { margin-right:6px;cursor:pointer; }

.diary-textarea {
  flex:1;width:100%;
  padding:28px 32px;
  border:none;outline:none;resize:none;
  font-size:16px;line-height:1.8;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--navy-900);background:#fff;
  overflow-y:auto;
}
.diary-textarea::placeholder { color:var(--navy-300); }

/* AI Panel */
.diary-ai-panel {
  border-top:1px solid var(--navy-100);
  background:#fafbfc;
  padding:16px 32px 20px;
  flex-shrink:0;
  max-height:320px;overflow-y:auto;
}
.diary-ai-header {
  display:flex;align-items:center;gap:8px;
  font-size:13px;font-weight:600;color:var(--purple);
  margin-bottom:12px;
}
.diary-ai-header svg { width:15px;height:15px; }
.diary-ai-close {
  margin-left:auto;width:24px;height:24px;
  border:none;background:transparent;color:var(--navy-400);
  border-radius:6px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
}
.diary-ai-close:hover { background:var(--navy-200); }
.diary-ai-close svg { width:13px;height:13px; }
.diary-ai-highlight {
  font-size:14px;font-weight:600;color:var(--navy-800);
  background:linear-gradient(135deg,#eff6ff,#f5f3ff);
  border-radius:10px;padding:10px 14px;margin-bottom:12px;
  border-left:3px solid var(--purple);
  line-height:1.5;
}
.diary-ai-insights {
  font-size:13px;color:var(--navy-600);line-height:1.7;
  margin-bottom:14px;
}
.diary-ai-tasks-title {
  font-size:11px;font-weight:700;text-transform:uppercase;
  letter-spacing:.06em;color:var(--navy-400);margin-bottom:8px;
}
.diary-ai-task-item {
  display:flex;align-items:center;gap:10px;
  padding:8px 12px;background:#fff;
  border:1px solid var(--navy-200);border-radius:9px;
  margin-bottom:6px;
}
.diary-ai-task-title {
  flex:1;font-size:13px;color:var(--navy-800);
}
.diary-ai-task-meta {
  font-size:11px;color:var(--navy-400);
}
.diary-ai-task-add {
  width:26px;height:26px;border:none;
  background:var(--green);color:#fff;
  border-radius:6px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;transition:all .2s;
}
.diary-ai-task-add:hover { background:#16a34a; }
.diary-ai-task-add svg { width:13px;height:13px; }
.diary-ai-task-add.added { background:var(--navy-200);color:var(--navy-500);cursor:default; }
.diary-ai-add-all {
  margin-top:10px;
  display:inline-flex;align-items:center;gap:6px;
  padding:7px 14px;border-radius:8px;
  font-size:12px;font-weight:500;cursor:pointer;
  background:var(--green);color:#fff;border:none;
  transition:all .2s;font-family:var(--font);
}
.diary-ai-add-all:hover { background:#16a34a; }
.diary-ai-add-all svg { width:13px;height:13px; }

/* Empty state */
.diary-empty {
  flex:1;display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  color:var(--navy-400);gap:12px;
}
.diary-empty svg { width:40px;height:40px;opacity:.3; }
.diary-empty p { font-size:14px; }

/* ===== GAVETA (Organizar) ===== */

/* Cores por categoria */
:root {
  --folder-proximas:  #3b82f6;
  --folder-projetos:  #10b981;
  --folder-algumdia:  #f59e0b;
  --folder-referencia:#8b5cf6;
  --folder-aguardando:#f97316;
  --folder-concluidas:#64748b;
  --drawer-bg: #2c2416;
  --drawer-wood: repeating-linear-gradient(
    90deg,
    rgba(255,255,255,0.015) 0px,
    rgba(255,255,255,0.015) 1px,
    transparent 1px,
    transparent 18px
  ), linear-gradient(180deg, #2c2416 0%, #1e1810 100%);
  --paper-bg: #fdf8f0;
  --paper-line: #e8dfc8;
}

.drawer-wrap {
  flex:1;display:flex;flex-direction:column;overflow:hidden;
  background:var(--drawer-bg);
}

/* ── Pastas suspensas ── */
.drawer-folders {
  flex-shrink:0;
  padding:20px 24px 0;
  background:var(--drawer-wood);
  position:relative;
}
.drawer-folders::after {
  content:'';
  position:absolute;bottom:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,#1a1008,#3d2e18,#1a1008);
}
.drawer-folders-rail {
  display:flex;gap:6px;align-items:flex-end;
  overflow-x:auto;padding-bottom:0;
}
.drawer-folders-rail::-webkit-scrollbar { display:none; }

.folder-tab {
  position:relative;
  padding:10px 20px 14px;
  border:none;cursor:pointer;
  font-family:var(--font);font-size:12px;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;
  border-radius:8px 8px 0 0;
  background:#c8b89a;
  color:#5c4a2a;
  transition:all .2s;
  flex-shrink:0;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.3), 2px 0 4px rgba(0,0,0,0.2);
  border-top:3px solid #a89070;
  border-left:1px solid #b8a080;
  border-right:1px solid #b8a080;
  margin-bottom:-1px;
}
.folder-tab:hover {
  background:#d4c4a8;
  transform:translateY(-2px);
}

/* Lingueta colorida no topo de cada pasta */
.folder-tab::before {
  content:'';
  position:absolute;top:-3px;left:0;right:0;height:4px;
  border-radius:4px 4px 0 0;
  background:var(--folder-proximas);
}
.folder-tab[data-org-tab="proximas"]::before   { background:var(--folder-proximas); }
.folder-tab[data-org-tab="projetos"]::before   { background:var(--folder-projetos); }
.folder-tab[data-org-tab="algumdia"]::before   { background:var(--folder-algumdia); }
.folder-tab[data-org-tab="referencia"]::before { background:var(--folder-referencia); }
.folder-tab[data-org-tab="aguardando"]::before { background:var(--folder-aguardando); }
.folder-tab[data-org-tab="concluidas"]::before { background:var(--folder-concluidas); }

/* Pasta ativa — mais alta e mais clara */
.folder-tab.active {
  background:var(--paper-bg);
  color:#2c1a00;
  transform:translateY(-4px);
  z-index:2;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.6), 2px -2px 8px rgba(0,0,0,0.25);
  padding-bottom:18px;
}

/* ── Corpo da gaveta ── */
.drawer-body {
  flex:1;overflow:hidden;
  background:var(--paper-bg);
  border-top:2px solid #c8b89a;
  position:relative;
}
/* Linhas de papel no fundo */
.drawer-body::before {
  content:'';
  position:absolute;inset:0;
  background:repeating-linear-gradient(
    180deg,
    transparent 0px,
    transparent 31px,
    var(--paper-line) 31px,
    var(--paper-line) 32px
  );
  pointer-events:none;opacity:0.5;
}
.drawer-body-inner {
  position:relative;z-index:1;
  height:100%;overflow-y:auto;
  padding:20px 28px 32px;
}

/* Filtros de contexto */
/* Contexto retrô no topo da gaveta */
.drawer-ctx-header {
  flex-shrink:0;
  display:flex;flex-direction:column;align-items:center;
  padding:14px 24px 10px;
  background:var(--drawer-wood);
  border-bottom:2px solid #b8975a;
  gap:8px;
}
.drawer-ctx-label {
  font-size:9px;font-weight:800;letter-spacing:.18em;
  color:#8a6830;text-transform:uppercase;
  font-family:'Courier New',monospace;
}
.drawer-ctx-filters {
  display:flex;gap:4px;flex-wrap:wrap;justify-content:center;
}
.drawer-ctx-filter {
  padding:5px 14px;
  border:1.5px solid #b8975a;
  border-radius:3px;
  font-size:11px;font-weight:700;
  cursor:pointer;
  background:rgba(255,248,235,0.7);
  color:#7a5c30;
  transition:all .15s;
  font-family:'Courier New',monospace;
  letter-spacing:.05em;
  text-transform:uppercase;
  box-shadow:1px 1px 0 rgba(0,0,0,.12);
}
.drawer-ctx-filter.active {
  background:#7a5c30;border-color:#5a3e18;color:#fff8eb;
  box-shadow:inset 1px 1px 2px rgba(0,0,0,.2);
}
.drawer-ctx-filter:hover:not(.active) {
  background:#e8d5b0;border-color:#9a7540;
}

/* Campo de adição */
.drawer-add-wrap {
  margin-bottom:20px;
}
.drawer-add-form {
  display:flex;gap:8px;align-items:center;
  background:rgba(255,255,255,0.8);
  border:1.5px dashed #c8b89a;
  border-radius:10px;padding:6px 6px 6px 16px;
}
.drawer-add-input {
  flex:1;border:none;outline:none;
  font-size:14px;font-family:var(--font);
  color:#2c1a00;background:transparent;padding:8px 0;
}
.drawer-add-input::placeholder { color:#b8a070; }

/* ── Fichas empilhadas ── */
.drawer-cards {
  display:flex;flex-direction:column;gap:0;
}

.file-card {
  position:relative;
  background:var(--paper-bg);
  border:1px solid #d4c4a0;
  border-radius:3px 10px 3px 3px;
  padding:14px 16px 14px 28px;
  margin-bottom:-4px; /* sobreposição */
  transition:all .2s;
  box-shadow:0 2px 4px rgba(0,0,0,0.08), 0 1px 0 rgba(255,255,255,0.8) inset;
  cursor:default;
}
.file-card:hover {
  transform:translateY(-2px) translateX(2px);
  box-shadow:0 6px 16px rgba(0,0,0,0.12), 0 1px 0 rgba(255,255,255,0.8) inset;
  z-index:10;
  margin-bottom:0;
}
.file-card:last-child { margin-bottom:0; }

/* Orelha colorida no canto superior direito */
.file-card::after {
  content:'';
  position:absolute;top:0;right:0;
  width:0;height:0;
  border-style:solid;
  border-width:0 18px 18px 0;
  border-color:transparent #d4c4a0 transparent transparent;
  border-radius:0 10px 0 0;
}
.file-card.card-proximas::after   { border-color:transparent var(--folder-proximas) transparent transparent; }
.file-card.card-projetos::after   { border-color:transparent var(--folder-projetos) transparent transparent; }
.file-card.card-algumdia::after   { border-color:transparent var(--folder-algumdia) transparent transparent; }
.file-card.card-referencia::after { border-color:transparent var(--folder-referencia) transparent transparent; }
.file-card.card-aguardando::after { border-color:transparent var(--folder-aguardando) transparent transparent; }
.file-card.card-concluidas::after { border-color:transparent var(--folder-concluidas) transparent transparent; }

/* Linha colorida à esquerda */
.file-card::before {
  content:'';
  position:absolute;left:0;top:0;bottom:0;width:4px;
  border-radius:3px 0 0 3px;
  background:var(--folder-proximas);
}
.file-card.card-proximas::before   { background:var(--folder-proximas); }
.file-card.card-projetos::before   { background:var(--folder-projetos); }
.file-card.card-algumdia::before   { background:var(--folder-algumdia); }
.file-card.card-referencia::before { background:var(--folder-referencia); }
.file-card.card-aguardando::before { background:var(--folder-aguardando); }
.file-card.card-concluidas::before { background:var(--folder-concluidas);opacity:.4; }

.file-card-body {
  display:flex;align-items:flex-start;gap:10px;
}
.file-card-check {
  width:20px;height:20px;flex-shrink:0;margin-top:2px;
  border:2px solid #c8b89a;border-radius:50%;
  background:transparent;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  color:transparent;transition:all .2s;
}
.file-card-check svg { width:11px;height:11px; }
.file-card-check:hover { border-color:#10b981;background:#f0fdf4;color:#10b981; }
.file-card-check.done { background:#10b981;border-color:#10b981;color:#fff; }

.file-card-content { flex:1;min-width:0; }
.file-card-title {
  font-size:14px;font-weight:500;color:#2c1a00;
  line-height:1.4;margin-bottom:4px;
}
.file-card.card-concluidas .file-card-title {
  text-decoration:line-through;color:#a89070;
}
.file-card-meta {
  display:flex;gap:6px;flex-wrap:wrap;align-items:center;
}
.file-card-tag {
  font-size:10px;font-weight:600;letter-spacing:.04em;
  padding:2px 7px;border-radius:99px;
  background:rgba(0,0,0,0.06);color:#7a5c30;
}
.file-card-tag-urgent {
  background:#fee2e2;color:#dc2626;
}
.file-card-tag-area {
  background:#e0e7ff;color:#3730a3;
}
.file-card-tag-cat {
  background:#d1fae5;color:#065f46;
}
.file-card-actions {
  display:flex;gap:2px;align-items:center;
  opacity:0;transition:opacity .2s;flex-shrink:0;
}
.file-card:hover .file-card-actions { opacity:1; }
.file-card-btn {
  width:28px;height:28px;border:none;background:transparent;
  color:#a89070;border-radius:6px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all .2s;
}
.file-card-btn svg { width:13px;height:13px; }
.file-card-btn:hover { background:rgba(0,0,0,0.08);color:#2c1a00; }
.file-card-btn-danger:hover { background:#fee2e2;color:#dc2626; }
/* Botão "Adicionar em Meu Dia" no card de próxima ação */
.file-card-btn-meudia { color: var(--brand); }
.file-card-btn-meudia:hover { background: rgba(232,112,74,0.14); color: var(--brand); }
.file-card-btn-meudia.is-on { background: var(--brand); color: #fff; }
.file-card-btn-meudia.is-on:hover { background: var(--brand); color: #fff; }

/* Botão "Meu Dia" em cada item da Entrada */
.ib-end { display: flex; align-items: center; gap: 6px; }
.ib-meudia-btn {
  display: inline-flex; align-items: center; gap: 5px;
  border: 1px solid rgba(232,112,74,0.35);
  background: rgba(232,112,74,0.08);
  color: var(--brand);
  font-family: 'Inter', sans-serif;
  font-size: 12px; font-weight: 600;
  padding: 6px 10px; border-radius: 8px;
  cursor: pointer; flex-shrink: 0;
  white-space: nowrap;
  transition: background .15s, border-color .15s;
}
.ib-meudia-btn:hover { background: var(--brand); color: #fff; border-color: var(--brand); }
.ib-meudia-btn svg { width: 14px; height: 14px; }

/* Toast de feedback */
.gtd-toast {
  position: fixed; left: 50%; bottom: 32px; transform: translateX(-50%) translateY(16px);
  display: inline-flex; align-items: center; gap: 8px;
  background: #2A2520; color: #FBF8F2;
  font-family: 'Inter', sans-serif; font-size: 14px; font-weight: 500;
  padding: 12px 18px; border-radius: 12px;
  box-shadow: 0 12px 32px -8px rgba(0,0,0,0.4);
  opacity: 0; pointer-events: none; z-index: 9999;
  transition: opacity .2s, transform .2s;
}
.gtd-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }
.gtd-toast svg { width: 16px; height: 16px; color: var(--brand); }

/* Botão "Semana" em cada item da Entrada */
.ib-semana-btn {
  display: inline-flex; align-items: center; gap: 5px;
  border: 1px solid rgba(59,126,161,0.35);
  background: rgba(59,126,161,0.08);
  color: #3B7EA1;
  font-family: 'Inter', sans-serif;
  font-size: 12px; font-weight: 600;
  padding: 6px 10px; border-radius: 8px;
  cursor: pointer; flex-shrink: 0; white-space: nowrap;
  transition: background .15s, border-color .15s, color .15s;
}
.ib-semana-btn:hover { background: #3B7EA1; color: #fff; border-color: #3B7EA1; }
.ib-semana-btn svg { width: 14px; height: 14px; }

/* ===== Quadro SEMANA (Kanban) ===== */
/* NÃO forçar display aqui: o app usa .view/.view.active pra mostrar/esconder.
   .view já é flex-column height:100%, então o board (flex:1) preenche a altura. */
#view-semana { background: var(--bg, #FBF8F2); }
.semana-header.view-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 28px 40px 20px; border-bottom: 1px solid var(--line, rgba(180,160,110,0.2));
  flex-shrink: 0;
}
.semana-head-left { display: flex; align-items: center; gap: 14px; }
.semana-head-icon {
  width: 52px; height: 52px; border-radius: 14px;
  background: #3B7EA1; display: grid; place-items: center;
  box-shadow: 0 8px 20px -8px rgba(59,126,161,0.55);
}
.semana-head-icon svg { width: 26px; height: 26px; color: #fff; stroke: #fff; }
.semana-header h2 {
  font-family: 'Lora', Georgia, serif; font-size: 28px; font-weight: 600;
  color: var(--ink, #2A2520); margin: 0; line-height: 1.1;
}
.semana-sub {
  font-family: 'JetBrains Mono', monospace; font-size: 11px; font-weight: 500;
  text-transform: uppercase; letter-spacing: 0.12em; color: #B0A88A; margin-top: 4px;
}
.semana-head-actions { display: flex; align-items: center; gap: 8px; }

.semana-board {
  flex: 1; display: flex; gap: 14px; align-items: stretch;
  padding: 22px 40px 32px; overflow-x: auto; overflow-y: hidden;
  user-select: none; -webkit-user-select: none; -moz-user-select: none;
}
.semana-col {
  flex: 1 0 215px; min-width: 215px; display: flex; flex-direction: column;
  background: rgba(0,0,0,0.018); border: 1px solid var(--line, rgba(180,160,110,0.18));
  border-radius: 14px; overflow: hidden;
}
.semana-col-backlog {
  background: rgba(59,126,161,0.06); border-color: rgba(59,126,161,0.25);
  /* "A organizar" começa estreito (~50%); botão expande */
  flex: 0 0 130px; min-width: 130px;
}
.semana-col-backlog.is-wide { flex: 1 0 230px; min-width: 230px; }
.semana-width-btn {
  width: 22px; height: 22px; border: none; background: transparent;
  color: #3B7EA1; border-radius: 6px; cursor: pointer;
  display: grid; place-items: center; opacity: 0.6;
  transition: opacity .15s, background .15s;
}
.semana-col-backlog:hover .semana-width-btn { opacity: 1; }
.semana-width-btn:hover { background: rgba(59,126,161,0.16); }
.semana-width-btn svg { width: 15px; height: 15px; }
.semana-col.is-today {
  border-color: var(--brand); box-shadow: 0 0 0 1px var(--brand) inset;
  flex: 1.7 0 300px; min-width: 300px;   /* dia de hoje em destaque, mais largo */
}
.semana-col.is-past { opacity: 0.8; }

/* Dia passado colapsado: tira vertical, mostra feitos/pendentes */
.semana-col-collapsed {
  flex: 0 0 60px; min-width: 60px; width: 60px;
  align-items: center; cursor: pointer;
  padding: 14px 0; gap: 8px;
  background: rgba(0,0,0,0.03);
  transition: background .15s;
}
.semana-col-collapsed:hover { background: rgba(0,0,0,0.06); }
.semana-col-collapsed .semana-col-dow { font-size: 10px; }
.semana-col-collapsed .semana-col-daynum { font-size: 17px; }
.semana-col-collapsed-stats { display: flex; flex-direction: column; align-items: center; gap: 4px; margin-top: 2px; }
.semana-col-done-badge {
  display: inline-flex; align-items: center; gap: 2px;
  font-family: 'JetBrains Mono', monospace; font-size: 10px; font-weight: 700;
  color: #fff; background: #5A8A6E; border-radius: 99px; padding: 1px 6px;
}
.semana-col-done-badge svg { width: 10px; height: 10px; stroke-width: 3; }
.semana-col-pend-badge {
  font-family: 'JetBrains Mono', monospace; font-size: 10px; font-weight: 700;
  color: #fff; background: #B0A88A; border-radius: 99px; padding: 1px 6px;
}
.semana-col-collapsed-count {
  font-family: 'JetBrains Mono', monospace; font-size: 10px; font-weight: 700;
  color: #fff; background: #B0A88A; border-radius: 99px; padding: 1px 6px;
}
.semana-col-collapsed-ico { width: 13px; height: 13px; color: #B0A88A; margin-top: auto; }
.semana-col-collapse-btn {
  border: none; background: transparent; color: #B0A88A; cursor: pointer;
  padding: 0; margin-left: 2px; display: inline-grid; place-items: center;
}
.semana-col-collapse-btn:hover { color: var(--ink-2, #6B6B66); }
.semana-col-collapse-btn svg { width: 13px; height: 13px; }
.semana-col-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 12px; border-bottom: 1px solid var(--line, rgba(180,160,110,0.16));
  flex-shrink: 0; gap: 6px; min-width: 0;
}
.semana-col-title {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 700;
  color: #3B7EA1; text-transform: uppercase; letter-spacing: 0.04em;
  min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
}
.semana-col-title svg { flex-shrink: 0; }
.semana-col-title svg { width: 13px; height: 13px; }
.semana-col-daywrap { display: flex; align-items: baseline; gap: 7px; }
.semana-col-dow {
  font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 700;
  color: var(--ink-2, #6B6B66); text-transform: uppercase; letter-spacing: 0.06em;
}
.semana-col-daynum {
  font-family: 'Lora', Georgia, serif; font-size: 19px; font-weight: 600;
  color: var(--ink, #2A2520);
}
.semana-col-today-badge {
  font-family: 'Inter', sans-serif; font-size: 9px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.08em; color: #fff;
  background: var(--brand); padding: 2px 6px; border-radius: 6px; margin-left: 4px;
}
.semana-col-count {
  font-family: 'JetBrains Mono', monospace; font-size: 11px; font-weight: 600;
  color: #B0A88A; min-width: 16px; text-align: right;
}
.semana-col-head-right { display: flex; align-items: center; gap: 4px; flex-shrink: 0; }
.semana-add-btn {
  width: 22px; height: 22px; border: none; background: transparent;
  color: #3B7EA1; border-radius: 6px; cursor: pointer;
  display: grid; place-items: center; opacity: 0.55;
  transition: opacity .15s, background .15s;
}
.semana-col-backlog:hover .semana-add-btn { opacity: 1; }
.semana-add-btn:hover { background: rgba(59,126,161,0.16); }
.semana-add-btn svg { width: 15px; height: 15px; }
.semana-add-row { margin-bottom: 8px; }
.semana-add-input {
  width: 100%; box-sizing: border-box;
  border: 1px solid #3B7EA1; border-radius: 8px;
  padding: 8px 9px; font-family: 'Inter', sans-serif; font-size: 12px;
  outline: none; background: #fff; color: var(--ink, #2A2520);
}
.semana-add-input::placeholder { color: #9BB3C2; }
.semana-col-body {
  flex: 1; padding: 10px; display: flex; flex-direction: column; gap: 8px;
  overflow-y: auto; min-height: 60px;
}
.semana-col-empty {
  font-family: 'Inter', sans-serif; font-size: 11.5px; color: #B0A88A;
  text-align: center; padding: 18px 8px; line-height: 1.5;
  border: 1px dashed rgba(180,160,110,0.3); border-radius: 10px;
}
.semana-card {
  display: flex; align-items: flex-start; gap: 7px;
  background: var(--surface, #fff); border: 1px solid var(--line, rgba(0,0,0,0.08));
  border-radius: 10px; padding: 8px 9px; cursor: grab;
  box-shadow: 0 1px 2px rgba(0,0,0,0.04);
  transition: box-shadow .15s, border-color .15s;
}
.semana-card:hover { box-shadow: 0 3px 8px rgba(0,0,0,0.08); }
.semana-card:active { cursor: grabbing; }
.semana-card-ghost { opacity: 0.4; }
.semana-card-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; opacity: 0.75; margin-top: 5px; }
.semana-card-check {
  width: 18px; height: 18px; flex-shrink: 0; border-radius: 50%;
  border: 1.5px solid var(--line-2, #c8c8c2); background: transparent;
  display: grid; place-items: center; cursor: pointer; color: transparent;
  transition: all .15s;
}
.semana-card-check:hover { border-color: var(--brand); color: var(--brand); }
.semana-card-check svg { width: 11px; height: 11px; }
.semana-card-title {
  flex: 1; font-family: 'Inter', sans-serif; font-size: 12px; line-height: 1.3;
  color: var(--ink, #2A2520); letter-spacing: -0.005em; margin-top: 2px;
}
/* Dia de hoje: cards levemente maiores e mais bold pra dar foco */
.semana-col.is-today .semana-card-title { font-size: 13.5px; font-weight: 600; }
.semana-card-x {
  width: 20px; height: 20px; flex-shrink: 0; border: none; background: transparent;
  color: #C8C8C2; border-radius: 6px; cursor: pointer; display: grid; place-items: center;
  opacity: 0; transition: opacity .15s, background .15s, color .15s;
}
.semana-card:hover .semana-card-x { opacity: 1; }
.semana-card-x:hover { background: #fee2e2; color: #dc2626; }
.semana-card-x svg { width: 13px; height: 13px; }

/* === Animações da Semana === */
/* Troca de semana: colunas entram em cascata, uma puxando a outra, com leve overshoot */
.semana-anim-next .semana-col, .semana-anim-prev .semana-col {
  animation-duration: .55s;
  animation-timing-function: cubic-bezier(.22,1,.36,1);
  animation-fill-mode: both;
}
.semana-anim-next .semana-col { animation-name: semanaColNext; }
.semana-anim-prev .semana-col { animation-name: semanaColPrev; }
.semana-anim-next .semana-col:nth-child(2), .semana-anim-prev .semana-col:nth-child(2) { animation-delay: 60ms; }
.semana-anim-next .semana-col:nth-child(3), .semana-anim-prev .semana-col:nth-child(3) { animation-delay: 120ms; }
.semana-anim-next .semana-col:nth-child(4), .semana-anim-prev .semana-col:nth-child(4) { animation-delay: 180ms; }
.semana-anim-next .semana-col:nth-child(5), .semana-anim-prev .semana-col:nth-child(5) { animation-delay: 240ms; }
.semana-anim-next .semana-col:nth-child(6), .semana-anim-prev .semana-col:nth-child(6) { animation-delay: 300ms; }
.semana-anim-next .semana-col:nth-child(7), .semana-anim-prev .semana-col:nth-child(7) { animation-delay: 360ms; }
@keyframes semanaColNext {
  0%   { opacity: 0; transform: translateX(90px) scale(.94); }
  70%  { opacity: 1; transform: translateX(-7px) scale(1.01); }
  100% { opacity: 1; transform: none; }
}
@keyframes semanaColPrev {
  0%   { opacity: 0; transform: translateX(-90px) scale(.94); }
  70%  { opacity: 1; transform: translateX(7px) scale(1.01); }
  100% { opacity: 1; transform: none; }
}

/* Arrasto: card "levanta" com inclinação. Usa rotate/scale separados pra NÃO sobrescrever
   o transform que o SortableJS usa pra mover o clone (senão o preview trava na tela) */
.semana-card-drag {
  rotate: 3deg;
  scale: 1.05;
  box-shadow: 0 14px 28px rgba(0,0,0,0.18) !important;
  opacity: .95;
  cursor: grabbing !important;
}

/* Card novo nascendo no quadro: pop com onda de energia laranja */
@keyframes semanaCardBorn {
  0%   { opacity: 0; transform: scale(.5) translateY(-10px); box-shadow: 0 0 0 0 rgba(211,84,0,.45); }
  55%  { opacity: 1; transform: scale(1.07); }
  75%  { box-shadow: 0 0 0 14px rgba(211,84,0,0); }
  100% { opacity: 1; transform: scale(1); box-shadow: 0 1px 2px rgba(0,0,0,0.04); }
}
.semana-card-born { animation: semanaCardBorn .6s cubic-bezier(.34,1.56,.64,1) both; }

/* Card saindo do quadro: voa pro lado girando e a lista se fecha atrás dele */
@keyframes semanaCardLeave {
  0%   { opacity: 1; transform: none; max-height: 200px; }
  45%  { opacity: .5; transform: translateX(48px) rotate(4deg) scale(.93); }
  100% { opacity: 0; transform: translateX(90px) rotate(7deg) scale(.85);
         max-height: 0; padding-top: 0; padding-bottom: 0; border-width: 0; }
}
.semana-card-leaving { animation: semanaCardLeave .42s ease-in both; overflow: hidden; pointer-events: none; }
@keyframes semanaCardLand { 0% { transform: scale(1.05); } 55% { transform: scale(.97); } 100% { transform: scale(1); } }
.semana-card-landed { animation: semanaCardLand .28s cubic-bezier(.22,1,.36,1); }

/* Concluir: check pulsa, card dá um flash verde e o risco se desenha no título */
@keyframes semanaCheckPop { 0% { transform: scale(1); } 45% { transform: scale(1.5); } 100% { transform: scale(1); } }
@keyframes semanaDoneFlash { 0% { background: #EAF5EE; border-color: #5A8A6E; } 100% { background: var(--surface, #fff); } }
@keyframes semanaStrikeDraw { from { width: 0; } to { width: 100%; } }
.semana-card-completing { animation: semanaDoneFlash .55s ease-out; }
.semana-card-completing .semana-card-check {
  background: #5A8A6E; border-color: #5A8A6E; color: #fff;
  animation: semanaCheckPop .35s cubic-bezier(.34,1.56,.64,1);
}
.semana-card-completing .semana-card-title { position: relative; color: #8A857C; transition: color .3s; }
.semana-card-completing .semana-card-title::after {
  content: ''; position: absolute; left: 0; top: 50%; height: 1.5px; width: 0;
  background: rgba(0,0,0,0.45); animation: semanaStrikeDraw .3s .12s ease-out forwards;
}

/* === Filtro Agência x Pessoal (controle segmentado: A organizar + dia ativo) === */
.semana-segs {
  display: flex; margin: 0 8px 8px; padding: 3px;
  background: rgba(0,0,0,0.055); border-radius: 999px;
}
.semana-seg {
  flex: 1; display: flex; align-items: center; justify-content: center; gap: 4px;
  padding: 5px 4px; border: none; border-radius: 999px; background: transparent;
  cursor: pointer; color: #8A857C;
  font-family: 'Inter', sans-serif; font-size: 10.5px; font-weight: 700;
  transition: background .15s, color .15s, box-shadow .15s;
}
.semana-seg svg { width: 13px; height: 13px; }
.semana-seg-n { font-size: 10px; }
.semana-seg.is-active { background: #fff; color: var(--ink, #2A2520); box-shadow: 0 1px 3px rgba(0,0,0,0.14); }
.semana-seg.is-active svg { color: var(--brand, #D35400); }

/* Maletinha de 1 toque: marca o card como Agência (azul = ligado) */
.semana-card-ag {
  width: 20px; height: 20px; flex-shrink: 0; border: none; background: transparent;
  color: #C8C8C2; border-radius: 6px; cursor: pointer; display: grid; place-items: center;
  transition: color .15s, background .15s;
}
.semana-card-ag svg { width: 13px; height: 13px; }
.semana-card-ag.is-on { color: #2A6FDB; }
.semana-card-ag:hover { background: #EAF1FB; color: #2A6FDB; }

/* Card compacto: coluna "A organizar" encolhida. Uma linha só, texto cortado com "...", sem vazar */
.semana-card-compact { align-items: center; gap: 6px; padding: 6px 8px; }
.semana-card-compact .semana-card-dot { margin-top: 0; }
.semana-card-compact .semana-card-title {
  margin-top: 0; font-size: 11.5px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0;
}

/* Card concluído: discreto, riscado, fica no quadro como histórico */
.semana-card-done { opacity: 0.5; box-shadow: none; background: transparent; border-color: rgba(0,0,0,0.05); }
.semana-card-done:hover { opacity: 0.8; }
.semana-card-done .semana-card-title { text-decoration: line-through; text-decoration-color: rgba(0,0,0,0.35); color: #8A857C; }
.semana-card-check.is-done { background: #5A8A6E; border-color: #5A8A6E; color: #fff; }
.semana-card-check.is-done svg { color: #fff; }

/* Miniaturas dos cards no dia colapsado (barrinhas; riscadas se concluídas) */
.semana-mini-stack {
  display: flex; flex-direction: column; gap: 4px; align-items: stretch;
  width: 100%; padding: 4px 10px 0; box-sizing: border-box;
}
.semana-mini {
  height: 6px; border-radius: 3px; background: var(--mc, #C8C8C2);
  position: relative; opacity: 0.85;
}
.semana-mini.is-done { opacity: 0.35; }
.semana-mini.is-done::after {
  content: ''; position: absolute; left: 0; right: 0; top: 50%;
  height: 1.5px; background: #4A4A46; transform: translateY(-50%); border-radius: 2px;
}

/* Inline edit dentro da ficha */
.file-card-edit {
  display:none;flex-direction:column;gap:8px;
  padding:10px 0 4px;
}
.file-card-edit.open { display:flex; }
.file-card-edit-row { display:flex;gap:8px;flex-wrap:wrap; }
.file-card-edit-input, .file-card-edit-select {
  padding:6px 10px;border:1px solid #c8b89a;
  border-radius:7px;font-size:13px;font-family:var(--font);
  color:#2c1a00;background:rgba(255,255,255,0.8);outline:none;
}
.file-card-edit-input:focus, .file-card-edit-select:focus { border-color:var(--blue); }
.file-card-edit-input { flex:1;min-width:140px; }
.file-card-edit-actions { display:flex;gap:6px; }

/* Projeto row dentro da gaveta */
.file-card-project {
  cursor:pointer;
}
.file-card-project:hover .file-card-title { color:var(--folder-projetos); }

/* Vazio */
.drawer-empty {
  padding:48px 24px;text-align:center;
  color:#b8a070;font-size:14px;
}

/* Contagem no header da pasta ativa */
.folder-tab-count {
  display:inline-block;
  margin-left:6px;
  font-size:10px;font-weight:700;
  background:rgba(0,0,0,0.12);
  border-radius:99px;padding:1px 6px;
  vertical-align:middle;
}
.folder-tab.active .folder-tab-count {
  background:rgba(0,0,0,0.08);
}

/* ===== MODAL PROJETO REDESIGN ===== */
.proj-modal-card {
  background:#fff;border-radius:20px;
  width:100%;max-width:680px;
  height:80vh;
  box-shadow:0 8px 48px rgba(0,0,0,.18);
  display:flex;flex-direction:column;
  overflow:hidden;
}
.proj-modal-header {
  display:flex;align-items:center;gap:12px;
  padding:20px 24px 16px;
  border-bottom:1px solid var(--navy-100);
  flex-shrink:0;
}
.proj-modal-horizon-badge {
  font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;
  padding:3px 10px;border-radius:20px;
  background:var(--blue);color:#fff;
  white-space:nowrap;flex-shrink:0;
}
.proj-modal-horizon-badge.horizon-goal { background:#7c3aed; }
.proj-modal-horizon-badge.horizon-vision { background:#0f172a; }
.proj-modal-horizon-badge.horizon-none { background:var(--navy-300); }
.proj-modal-title-input {
  flex:1;border:none;outline:none;
  font-size:18px;font-weight:700;
  font-family:var(--font);color:var(--navy-900);
  background:transparent;min-width:0;
}
.proj-modal-title-input::placeholder { color:var(--navy-300); }
.proj-modal-body {
  flex:1;overflow-y:auto;
  padding:0;
  display:flex;flex-direction:column;gap:0;
}
.proj-modal-footer {
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 24px;
  border-top:1px solid var(--navy-100);
  flex-shrink:0;background:#fff;
}

/* Info blocks (por quê / resultado) */
.proj-info-block {
  padding:16px 24px;
  border-bottom:1px solid var(--navy-100);
}
.proj-info-block-header {
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:6px;
}
.proj-info-block-actions {
  display:flex;align-items:center;gap:2px;
}
.proj-info-block-label {
  font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;
  color:var(--navy-400);
}
.proj-info-edit-btn {
  background:none;border:none;cursor:pointer;
  color:var(--navy-300);padding:2px 4px;border-radius:4px;
  display:flex;align-items:center;
  transition:color .15s;
}
.proj-info-edit-btn:hover { color:var(--blue); }
.proj-info-edit-btn svg { width:13px;height:13px; }
.proj-info-ai-btn {
  background:none;border:none;cursor:pointer;
  color:var(--navy-300);padding:2px 4px;border-radius:4px;
  display:flex;align-items:center;
  transition:color .15s;
}
.proj-info-ai-btn:hover { color:var(--purple,#7c3aed); }
.proj-info-ai-btn svg { width:13px;height:13px; }
.proj-info-ai-btn:disabled { opacity:.5;cursor:not-allowed; }
@keyframes spin { to { transform:rotate(360deg); } }
.spin { animation:spin .8s linear infinite; display:inline-block; }
.proj-info-view { position:relative; }
.proj-info-text {
  font-size:14px;color:var(--navy-700);line-height:1.6;
  max-height:60px;overflow:hidden;
  position:relative;
}
.proj-info-text.expanded { max-height:none; }
.proj-info-text:not(.expanded)::after {
  content:'';
  position:absolute;bottom:0;left:0;right:0;height:28px;
  background:linear-gradient(transparent, #fff);
  pointer-events:none;
}
.proj-info-text.empty { color:var(--navy-300);font-style:italic; }
.proj-info-seemore {
  background:none;border:none;cursor:pointer;
  font-size:12px;color:var(--blue);padding:2px 0;margin-top:2px;
}
.proj-info-textarea {
  width:100%;border:1px solid var(--navy-200);border-radius:8px;
  padding:10px 12px;font-size:14px;font-family:var(--font);
  color:var(--navy-900);resize:vertical;outline:none;
  line-height:1.6;margin-top:4px;
}
.proj-info-textarea:focus { border-color:var(--blue); }

/* Meta row */
.proj-meta-row {
  display:flex;gap:12px;
  padding:14px 24px;
  border-bottom:1px solid var(--navy-100);
}
.proj-meta-col { flex:1;min-width:0; }
.proj-meta-label {
  font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;
  color:var(--navy-400);display:block;margin-bottom:5px;
}
.proj-meta-select {
  width:100%;border:1px solid var(--navy-200);border-radius:8px;
  padding:7px 10px;font-size:13px;font-family:var(--font);
  color:var(--navy-800);background:#fff;outline:none;cursor:pointer;
}
.proj-meta-select:focus { border-color:var(--blue); }

/* Próxima ação */
.proj-next-action-block {
  padding:14px 24px;
  border-bottom:1px solid var(--navy-100);
}
.proj-next-action-label {
  font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;
  color:var(--navy-400);display:flex;align-items:center;gap:5px;margin-bottom:8px;
}
.proj-next-action-label svg { width:12px;height:12px; }
.proj-next-action-text {
  display:flex;align-items:center;gap:8px;
  background:#f0fdf4;border:1px solid #bbf7d0;
  border-radius:10px;padding:10px 14px;
  font-size:14px;color:var(--navy-800);
}
.proj-next-action-text svg { width:14px;height:14px;color:#16a34a;flex-shrink:0; }
.proj-next-action-text.empty { background:var(--navy-50);border-color:var(--navy-200);color:var(--navy-400); }

/* Ações */
.proj-actions-section {
  padding:14px 24px 20px;
  flex:1;
}
.proj-actions-label {
  font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;
  color:var(--navy-400);margin-bottom:10px;
}
.proj-add-action-row {
  display:flex;gap:8px;margin-top:10px;
}
.proj-add-action-input {
  flex:1;border:1px solid var(--navy-200);border-radius:8px;
  padding:8px 12px;font-size:14px;font-family:var(--font);
  color:var(--navy-900);outline:none;
}
.proj-add-action-input:focus { border-color:var(--blue); }

/* ===== ESTRUTURAÇÃO IA — Modal Projeto ===== */
.proj-ai-bar {
  display:flex;align-items:center;gap:10px;
  padding:14px 24px;border-bottom:1px solid var(--navy-100);
}
.proj-ai-btn {
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 16px;border-radius:8px;
  font-size:13px;font-weight:500;cursor:pointer;
  background:var(--purple);color:#fff;border:none;
  transition:all .2s;font-family:var(--font);
  flex-shrink:0;
}
.proj-ai-btn:hover { background:#7c3aed; }
.proj-ai-btn:disabled { opacity:.5;cursor:not-allowed; }
.proj-ai-btn svg { width:13px;height:13px; }
.proj-ai-hint {
  font-size:12px;color:var(--navy-400);line-height:1.4;
}

/* Preview da estrutura */
.proj-ai-preview {
  margin-top:14px;
  border:1px solid #e9d5ff;
  border-radius:12px;
  background:#faf5ff;
  overflow:hidden;
}
.proj-ai-preview-header {
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 14px;
  background:#f3e8ff;
  border-bottom:1px solid #e9d5ff;
}
.proj-ai-preview-title {
  font-size:12px;font-weight:700;color:#7c3aed;
  display:flex;align-items:center;gap:6px;
  text-transform:uppercase;letter-spacing:.05em;
}
.proj-ai-preview-title svg { width:13px;height:13px; }
.proj-ai-apply-btn {
  display:inline-flex;align-items:center;gap:5px;
  padding:5px 12px;border-radius:6px;
  font-size:11px;font-weight:600;cursor:pointer;
  background:var(--purple);color:#fff;border:none;
  transition:all .2s;font-family:var(--font);
}
.proj-ai-apply-btn:hover { background:#7c3aed; }
.proj-ai-apply-btn svg { width:11px;height:11px; }

.proj-ai-body { padding:14px; }

.proj-ai-field { margin-bottom:12px; }
.proj-ai-field-label {
  font-size:10px;font-weight:700;text-transform:uppercase;
  letter-spacing:.06em;color:#9333ea;margin-bottom:4px;
}
.proj-ai-field-value {
  font-size:13px;color:var(--navy-800);line-height:1.5;
}

.proj-ai-stages { margin-top:4px; }
.proj-ai-stage {
  margin-bottom:10px;
}
.proj-ai-stage-name {
  font-size:12px;font-weight:700;color:var(--navy-700);
  margin-bottom:4px;display:flex;align-items:center;gap:6px;
}
.proj-ai-stage-name::before {
  content:'';width:8px;height:8px;border-radius:50%;
  background:var(--purple);flex-shrink:0;
}
.proj-ai-action-item {
  display:flex;align-items:flex-start;gap:8px;
  padding:6px 10px;margin-bottom:3px;
  background:#fff;border:1px solid #e9d5ff;
  border-radius:7px;font-size:12px;color:var(--navy-700);
  line-height:1.4;
}
.proj-ai-action-item::before {
  content:'→';color:#9333ea;font-weight:700;flex-shrink:0;margin-top:1px;
}
.proj-ai-action-meta {
  display:flex;gap:6px;margin-top:3px;flex-wrap:wrap;
}
.proj-ai-action-tag {
  font-size:10px;padding:1px 6px;border-radius:99px;
  background:#f3e8ff;color:#7c3aed;font-weight:500;
}




/* ===== TEMAS DE COR ===== */
body.theme-ocean { --blue:#0ea5e9;--blue-dark:#0284c7;--purple:#6366f1;--bg:#f0f9ff;--surface:#fff; }
body.theme-forest { --blue:#16a34a;--blue-dark:#15803d;--purple:#84cc16;--bg:#f0fdf4;--surface:#fff; }
body.theme-sunset { --blue:#f97316;--blue-dark:#ea580c;--purple:#ec4899;--bg:#fff7ed;--surface:#fff; }
body.theme-midnight { --blue:#818cf8;--blue-dark:#6366f1;--purple:#a78bfa;--bg:#0f172a;--surface:#1e293b;--navy-900:#f1f5f9;--navy-800:#e2e8f0;--navy-700:#cbd5e1;--navy-600:#94a3b8;--navy-500:#64748b;--navy-400:#475569;--navy-300:#334155;--navy-200:#1e293b;--navy-100:#1e293b;--navy-50:#1e293b; }
body.theme-rose { --blue:#e11d48;--blue-dark:#be123c;--purple:#db2777;--bg:#fff1f2;--surface:#fff; }

/* ===== CONTEXTO ÚNICO RETRÔ ===== */
.drawer-ctx-single {
  display:flex;align-items:center;gap:10px;
  cursor:pointer;position:relative;
}
.drawer-ctx-badge {
  font-size:18px;font-weight:900;
  font-family:'Courier New',monospace;
  letter-spacing:.08em;text-transform:uppercase;
  color:#5a3e18;
  padding:6px 18px;
  background:rgba(255,248,235,0.9);
  border:2px solid #b8975a;
  border-radius:3px;
  box-shadow:2px 2px 0 rgba(0,0,0,.15);
  transition:all .15s;
  display:flex;align-items:center;gap:8px;
}
.drawer-ctx-badge:hover { background:#e8d5b0; }
.drawer-ctx-badge svg { width:14px;height:14px;color:#8a6830; }
.drawer-ctx-dropdown {
  position:absolute;top:calc(100% + 6px);left:0;
  background:#fff8eb;
  border:2px solid #b8975a;
  border-radius:4px;
  box-shadow:3px 3px 0 rgba(0,0,0,.15);
  z-index:100;
  min-width:160px;
  overflow:hidden;
}
.drawer-ctx-option {
  display:block;width:100%;text-align:left;
  padding:9px 16px;
  font-size:12px;font-weight:700;
  font-family:'Courier New',monospace;
  letter-spacing:.06em;text-transform:uppercase;
  color:#7a5c30;background:transparent;border:none;
  cursor:pointer;transition:background .1s;
}
.drawer-ctx-option:hover,.drawer-ctx-option.active { background:#e8d5b0;color:#3d2a0a; }

/* ===== PER-TAB FILTER PILLS ===== */
.drawer-ctx-selector {
  display:flex;gap:8px;flex-wrap:wrap;align-items:center;
  padding:4px 0 2px;
}
.drawer-filter-bar {
  display:flex;flex-direction:column;gap:6px;
  padding:4px 0;
}
.drawer-filter-toggle {
  display:inline-flex;align-items:center;gap:6px;
  background:none;border:1px solid var(--navy-200);border-radius:6px;
  padding:4px 10px;font-size:11px;font-weight:600;
  color:var(--navy-500);cursor:pointer;font-family:var(--font);
  transition:all .15s;position:relative;
  align-self:flex-start;
}
.drawer-filter-toggle:hover { border-color:var(--blue);color:var(--blue); }
.drawer-filter-toggle.has-active { border-color:var(--blue);color:var(--blue);background:#eff6ff; }
.drawer-filter-toggle svg { width:13px;height:13px; }
.drawer-filter-dot {
  width:6px;height:6px;border-radius:50%;
  background:var(--blue);display:inline-block;
}
.drawer-filter-panel {
  display:flex;gap:8px;flex-wrap:wrap;align-items:center;
  padding:6px 0 2px;
}
.drawer-filter-pill {
  position:relative;
  display:inline-flex;align-items:center;gap:6px;
  padding:5px 12px;
  font-size:12px;font-weight:600;
  font-family:'Courier New',monospace;
  letter-spacing:.04em;
  color:#7a5c30;
  background:rgba(255,248,235,0.9);
  border:1.5px solid #c9a96e;
  border-radius:3px;
  cursor:pointer;
  transition:all .15s;
  user-select:none;
}
.drawer-filter-pill:hover { background:#e8d5b0; }
.drawer-filter-pill.active {
  background:#5a3e18;color:#fff8eb;
  border-color:#5a3e18;
}
.drawer-filter-pill svg { width:13px;height:13px;flex-shrink:0; }
.drawer-filter-dropdown {
  position:absolute;top:calc(100% + 4px);left:0;
  background:#fff8eb;
  border:1.5px solid #b8975a;
  border-radius:4px;
  box-shadow:3px 3px 0 rgba(0,0,0,.12);
  z-index:200;
  min-width:180px;
  overflow:hidden;
}

/* ===== SUGGEST NEW ===== */
.diary-suggest-new-wrap {
  display:flex;gap:8px;align-items:center;
  margin-top:14px;padding-top:12px;
  border-top:1px dashed var(--navy-200);
}
.diary-suggest-new-input {
  flex:1;padding:7px 12px;
  border:1px solid var(--navy-200);border-radius:8px;
  font-size:13px;font-family:var(--font);color:var(--navy-900);
  background:var(--surface);outline:none;
}
.diary-suggest-new-input:focus { border-color:var(--purple); }
.diary-suggest-new-btn {
  display:flex;align-items:center;gap:6px;
  padding:7px 14px;
  background:var(--purple);color:#fff;
  border:none;border-radius:8px;
  font-size:12px;font-weight:600;cursor:pointer;
  white-space:nowrap;transition:opacity .15s;
  font-family:var(--font);
}
.diary-suggest-new-btn:hover { opacity:.85; }
.diary-suggest-new-btn svg { width:13px;height:13px; }

/* ===== MENTOR IA ===== */
.mentor-layout {
  display:flex;height:100%;overflow:hidden;
}
.mentor-profile {
  width:240px;flex-shrink:0;
  border-right:1px solid var(--navy-100);
  background:var(--navy-50);
  display:flex;flex-direction:column;
  overflow:hidden;
}
.mentor-profile-header {
  display:flex;align-items:center;gap:8px;
  padding:16px;
  font-size:12px;font-weight:700;text-transform:uppercase;
  letter-spacing:.08em;color:var(--navy-500);
  border-bottom:1px solid var(--navy-100);
}
.mentor-profile-header svg { width:15px;height:15px; }
.mentor-profile-body {
  flex:1;overflow-y:auto;padding:12px;
  font-size:12px;line-height:1.6;color:var(--navy-700);
}
.mentor-profile-section { margin-bottom:14px; }
.mentor-profile-section-title {
  font-size:10px;font-weight:800;text-transform:uppercase;
  letter-spacing:.1em;color:var(--navy-400);margin-bottom:6px;
}
.mentor-profile-tag {
  display:inline-block;padding:2px 8px;
  background:var(--navy-100);border-radius:99px;
  font-size:11px;color:var(--navy-600);margin:2px;
}
.mentor-profile-loading { color:var(--navy-400);font-size:12px;padding:8px; }
.mentor-build-profile-btn {
  display:flex;align-items:center;gap:6px;
  width:100%;margin-top:8px;padding:7px 10px;
  background:none;border:1px dashed var(--navy-200);border-radius:8px;
  color:var(--navy-400);font-size:12px;cursor:pointer;
  transition:all .15s;font-family:var(--font);
}
.mentor-build-profile-btn:hover { border-color:var(--blue);color:var(--blue); }
.mentor-build-profile-btn:disabled { opacity:.5;cursor:not-allowed; }
.mentor-build-profile-btn svg { width:13px;height:13px; }

.mentor-chat {
  flex:1;display:flex;flex-direction:column;overflow:hidden;
}
.mentor-chat-header {
  display:flex;align-items:center;gap:12px;
  padding:16px 24px;
  border-bottom:1px solid var(--navy-100);
  background:var(--surface);flex-shrink:0;
}
.mentor-avatar {
  width:40px;height:40px;border-radius:50%;
  background:linear-gradient(135deg,var(--blue),var(--purple));
  display:flex;align-items:center;justify-content:center;
  color:#fff;flex-shrink:0;
}
.mentor-avatar svg { width:20px;height:20px; }
.mentor-name { font-size:15px;font-weight:700;color:var(--navy-900); }
.mentor-subtitle { font-size:11px;color:var(--navy-400); }

.mentor-messages {
  flex:1;overflow-y:auto;
  padding:24px;
  display:flex;flex-direction:column;gap:16px;
}
.mentor-msg { display:flex;max-width:75%; }
.mentor-msg-ai { align-self:flex-start; }
.mentor-msg-user { align-self:flex-end;flex-direction:row-reverse; }
.mentor-msg-bubble {
  padding:12px 16px;border-radius:16px;
  font-size:14px;line-height:1.6;
}
.mentor-msg-ai .mentor-msg-bubble {
  background:var(--navy-100);color:var(--navy-900);
  border-bottom-left-radius:4px;
}
.mentor-msg-user .mentor-msg-bubble {
  background:var(--blue);color:#fff;
  border-bottom-right-radius:4px;
}
.mentor-msg-actions {
  margin-top:8px;display:flex;flex-wrap:wrap;gap:6px;
}
.mentor-action-chip {
  display:inline-flex;align-items:center;gap:4px;
  padding:3px 10px;border-radius:99px;
  font-size:11px;font-weight:600;
  background:#dcfce7;color:#16a34a;
}
.mentor-action-chip svg { width:11px;height:11px; }

.mentor-input-area {
  padding:16px 24px;
  border-top:1px solid var(--navy-100);
  background:var(--surface);flex-shrink:0;
}
.mentor-input-wrap {
  display:flex;align-items:flex-end;gap:10px;
  background:var(--navy-50);
  border:1.5px solid var(--navy-200);
  border-radius:14px;padding:8px 8px 8px 16px;
  transition:border-color .15s;
}
.mentor-input-wrap:focus-within { border-color:var(--blue); }
.mentor-input {
  flex:1;border:none;background:transparent;outline:none;
  font-size:14px;font-family:var(--font);color:var(--navy-900);
  resize:none;max-height:120px;line-height:1.5;
}
.mentor-send {
  width:36px;height:36px;border-radius:10px;
  background:var(--blue);color:#fff;border:none;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;flex-shrink:0;transition:background .15s;
}
.mentor-send:hover { background:var(--blue-dark); }
.mentor-send svg { width:16px;height:16px; }
.mentor-typing {
  display:flex;gap:4px;align-items:center;padding:4px 0;
}
.mentor-typing span {
  width:7px;height:7px;border-radius:50%;
  background:var(--navy-400);
  animation:mentorBounce 1.2s infinite;
}
.mentor-typing span:nth-child(2) { animation-delay:.2s; }
.mentor-typing span:nth-child(3) { animation-delay:.4s; }
@keyframes mentorBounce {
  0%,60%,100% { transform:translateY(0); }
  30% { transform:translateY(-6px); }
}

/* ===== THEME SWATCHES ===== */
.theme-swatches { display:flex;gap:10px;flex-wrap:wrap;margin-top:8px; }
.theme-swatch {
  width:40px;height:40px;border-radius:50%;
  border:3px solid transparent;
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  background:var(--swatch-color);
  color:#fff;
  transition:transform .15s,border-color .15s;
  box-shadow:0 2px 6px rgba(0,0,0,.15);
}
.theme-swatch:hover { transform:scale(1.12); }
.theme-swatch.active { border-color:var(--navy-900);transform:scale(1.1); }
.theme-swatch svg { width:16px;height:16px; }

/* ===== FILE CARD DRAG HANDLE ===== */
.file-card-drag-handle {
  position:absolute;left:4px;top:50%;transform:translateY(-50%);
  width:18px;height:100%;
  display:flex;align-items:center;justify-content:center;
  color:#c8b89a;cursor:grab;opacity:0;
  transition:opacity .15s;
}
.file-card-drag-handle svg { width:13px;height:13px; }
.file-card:hover .file-card-drag-handle { opacity:1; }
.file-card-drag-handle:active { cursor:grabbing; }
.sortable-ghost { opacity:.4;background:#e8d5b0 !important; }
.sortable-drag { box-shadow:0 8px 24px rgba(0,0,0,.18) !important;transform:rotate(1deg); }

/* ===== LEITURAS ===== */
.book-card {
  background:var(--surface);
  border:1px solid var(--navy-200);
  border-radius:12px;
  padding:14px 16px 14px 20px;
  margin-bottom:8px;
  display:flex;align-items:flex-start;gap:12px;
  cursor:pointer;transition:all .15s;
  position:relative;
}
.book-card:hover { border-color:var(--blue);box-shadow:0 2px 8px rgba(0,0,0,.06); }
.book-card-spine {
  width:4px;border-radius:99px;flex-shrink:0;align-self:stretch;
  background:var(--blue);
}
.book-card-spine.status-reading { background:var(--green); }
.book-card-spine.status-want    { background:var(--amber); }
.book-card-spine.status-done    { background:var(--navy-300); }
.book-card-spine.status-paused  { background:var(--navy-400); }
.book-card-body { flex:1;min-width:0; }
.book-card-title { font-size:15px;font-weight:600;color:var(--navy-900);margin-bottom:2px; }
.book-card-author { font-size:12px;color:var(--navy-500);margin-bottom:6px; }
.book-card-notes {
  font-size:12px;color:var(--navy-600);line-height:1.5;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.book-card-status {
  font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
  padding:2px 8px;border-radius:99px;flex-shrink:0;
}
.book-card-status.status-reading { background:#dcfce7;color:#16a34a; }
.book-card-status.status-want    { background:#fef3c7;color:#d97706; }
.book-card-status.status-done    { background:var(--navy-100);color:var(--navy-500); }
.book-card-status.status-paused  { background:var(--navy-100);color:var(--navy-400); }
.book-add-btn {
  display:flex;align-items:center;gap:8px;
  padding:10px 16px;
  background:var(--navy-50);border:1.5px dashed var(--navy-300);
  border-radius:10px;color:var(--navy-500);
  font-size:13px;cursor:pointer;width:100%;
  transition:all .15s;font-family:var(--font);
  margin-bottom:12px;
}
.book-add-btn:hover { border-color:var(--blue);color:var(--blue);background:#eff6ff; }
.book-add-btn svg { width:15px;height:15px; }

.books-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:16px;
  padding:24px;
}
.books-empty {
  grid-column:1/-1;
  text-align:center;
  color:var(--navy-400);
  padding:48px 0;
  font-size:15px;
}

/* ===== MENTOR PENDING ACTIONS ===== */
.mentor-pending-wrap {
  background:var(--navy-50);
  border:1.5px solid var(--navy-200);
  border-radius:12px;
  padding:14px;
  max-width:420px;
}
.mentor-pending-title {
  display:flex;align-items:center;gap:6px;
  font-size:12px;font-weight:700;color:var(--navy-600);
  margin-bottom:10px;text-transform:uppercase;letter-spacing:.05em;
}
.mentor-pending-title svg { width:13px;height:13px; }
.mentor-pending-item {
  display:flex;align-items:center;gap:8px;
  padding:8px 10px;
  background:var(--surface);
  border:1px solid var(--navy-200);
  border-radius:8px;
  margin-bottom:6px;
  transition:opacity .2s;
}
.mentor-pending-item-info { flex:1;min-width:0; }
.mentor-pending-tipo {
  display:inline-block;
  font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
  color:var(--purple);background:#f3e8ff;
  padding:1px 6px;border-radius:99px;margin-bottom:3px;
}
.mentor-pending-title-text {
  display:block;font-size:13px;font-weight:600;color:var(--navy-900);
  white-space:normal;word-break:break-word;
}
.mentor-pending-motivo {
  display:block;font-size:11px;color:var(--navy-500);margin-top:2px;
}
.mentor-pending-btns { display:flex;gap:4px;flex-shrink:0; }
.mentor-pending-confirm {
  display:flex;align-items:center;gap:4px;
  padding:5px 10px;border-radius:6px;
  background:var(--green);color:#fff;
  border:none;font-size:12px;font-weight:600;cursor:pointer;
  font-family:var(--font);transition:opacity .15s;
}
.mentor-pending-confirm:hover { opacity:.85; }
.mentor-pending-confirm svg { width:12px;height:12px; }
.mentor-pending-ignore {
  width:28px;height:28px;border-radius:6px;
  background:var(--navy-100);color:var(--navy-500);
  border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .15s;
}
.mentor-pending-ignore:hover { background:#fee2e2;color:var(--red); }
.mentor-pending-ignore svg { width:12px;height:12px; }
.mentor-pending-footer { margin-top:8px;display:flex;justify-content:flex-end; }
.mentor-pending-all {
  display:flex;align-items:center;gap:6px;
  padding:6px 14px;border-radius:8px;
  background:var(--blue);color:#fff;
  border:none;font-size:12px;font-weight:600;cursor:pointer;
  font-family:var(--font);transition:opacity .15s;
}
.mentor-pending-all:hover { opacity:.85; }
.mentor-pending-all svg { width:13px;height:13px; }

/* ===== INBOX ITEM NUMBER & CLICKABLE ===== */
.inbox-item-num {
  width:22px;height:22px;border-radius:50%;
  background:var(--navy-100);color:var(--navy-500);
  font-size:10px;font-weight:700;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.inbox-item:hover .inbox-item-num {
  background:var(--blue);color:#fff;
}
.inbox-item:hover {
  border-color:var(--blue);
  box-shadow:0 2px 8px rgba(59,130,246,.1);
}

/* ===== WIZARD STEPS ===== */
.wizard-steps { display:none; } /* removido — substituído por dots */

/* ===== WIZARD DOTS ===== */
.decide-wizard-dots {
  display:flex;align-items:center;gap:6px;flex:1;justify-content:center;
}
.wizard-dot {
  width:8px;height:8px;border-radius:50%;
  background:var(--navy-200);transition:all .2s;
}
.wizard-dot.active {
  background:var(--blue);
  box-shadow:0 0 0 3px rgba(59,130,246,.2);
  transform:scale(1.3);
}
.wizard-dot.done { background:var(--green); }

/* ===== NEXT ACTION FORM ===== */
.next-action-form { display:flex;flex-direction:column;gap:10px; }
.next-action-input {
  width:100%;padding:12px 16px;
  border:2px solid var(--blue);border-radius:10px;
  font-size:15px;font-family:var(--font);color:var(--navy-900);
  outline:none;background:var(--surface);
}
.next-action-input.input-error { border-color:var(--red);animation:shake .3s; }
@keyframes shake {
  0%,100% { transform:translateX(0); }
  25% { transform:translateX(-6px); }
  75% { transform:translateX(6px); }
}
.next-action-btns { display:flex;gap:8px; }

/* ===== DECIDE MODAL ===== */
.decide-modal-card {
  background:var(--surface);
  border-radius:20px;
  padding:32px;
  width:100%;max-width:600px;
  max-height:90vh;
  overflow-y:hidden;
  box-shadow:0 24px 64px rgba(0,0,0,.18);
  display:flex;flex-direction:column;gap:20px;
}
.decide-modal-header {
  display:flex;align-items:center;gap:12px;
}
.decide-modal-counter {
  font-size:12px;font-weight:600;color:var(--navy-400);
  white-space:nowrap;
}
.decide-title-row {
  display:flex;align-items:flex-start;gap:8px;
}
.decide-title-row .process-title {
  font-size:20px;font-weight:700;color:var(--navy-900);
  line-height:1.3;flex:1;
}
.decide-question {
  font-size:17px;font-weight:600;color:var(--navy-800);
}
.decide-subtitle {
  font-size:13px;color:var(--navy-400);margin-top:-12px;
}
.decide-options {
  display:flex;flex-direction:column;gap:0;
  border:1.5px solid var(--navy-100);border-radius:12px;overflow:hidden;
  flex:1;overflow-y:auto;min-height:0;
}
.decide-option {
  display:flex;align-items:center;gap:12px;
  padding:14px 18px;
  background:var(--surface);border:none;
  border-bottom:1px solid var(--navy-100);
  font-size:15px;font-weight:500;color:var(--navy-700);
  cursor:pointer;text-align:left;
  transition:background .15s;font-family:var(--font);
  width:100%;
}
.decide-option:last-child { border-bottom:none; }
.decide-option svg { width:16px;height:16px;flex-shrink:0;color:var(--navy-400); }
.decide-option:hover { background:var(--navy-50); }
.decide-option.opt-yes { color:#16a34a; }
.decide-option.opt-yes svg { color:#16a34a; }
.decide-option.opt-yes:hover { background:#f0fdf4; }
.decide-option.opt-no svg { color:var(--navy-400); }
.decide-option.opt-fast { color:#d97706; }
.decide-option.opt-fast svg { color:#d97706; }
.decide-option.opt-fast:hover { background:#fffbeb; }
.decide-option.opt-danger { color:var(--red); }
.decide-option.opt-danger svg { color:var(--red); }
.decide-option.opt-danger:hover { background:#fee2e2; }

/* ===== NEXT ACTION AI SUGGESTIONS ===== */
.next-action-ai-suggestions {
  display:flex;align-items:center;flex-wrap:wrap;gap:6px;
  min-height:24px;
}
.next-action-ai-label {
  display:flex;align-items:center;gap:3px;
  font-size:10px;font-weight:700;text-transform:uppercase;
  letter-spacing:.06em;color:var(--navy-400);
  flex-shrink:0;
}
.next-action-ai-loading {
  font-size:11px;color:var(--navy-300);
  animation:pulse 1.2s infinite;
}
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.4} }
.next-action-ai-chip {
  padding:3px 10px;border-radius:99px;
  background:var(--navy-50);border:1px solid var(--navy-200);
  font-size:12px;color:var(--navy-600);
  cursor:pointer;font-family:var(--font);
  transition:all .15s;
}
.next-action-ai-chip:hover {
  background:var(--blue);color:#fff;border-color:var(--blue);
}

/* ===== INSIGHTS ===== */
.insight-daily-card {
  background:linear-gradient(135deg,var(--blue) 0%,#7c3aed 100%);
  border-radius:12px;padding:16px 18px;margin-bottom:16px;color:#fff;
}
.insight-daily-label {
  display:flex;align-items:center;gap:6px;
  font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;
  opacity:.8;margin-bottom:8px;
}
.insight-daily-label svg { width:13px;height:13px; }
.insight-daily-text { font-size:15px;line-height:1.6;font-weight:500; }
.insights-toolbar { margin-bottom:12px; }
.insights-book-group { margin-bottom:20px; }
.insights-book-title {
  display:flex;align-items:center;gap:6px;
  font-size:12px;font-weight:700;color:var(--navy-500);
  text-transform:uppercase;letter-spacing:.4px;
  margin-bottom:8px;padding-bottom:6px;
  border-bottom:1px solid var(--navy-100);
}
.insights-book-title svg { width:13px;height:13px; }
.insight-item {
  display:flex;align-items:flex-start;gap:8px;
  padding:10px 12px;border-radius:8px;
  background:var(--navy-50);margin-bottom:6px;
  border:1px solid var(--navy-100);
}
.insight-item-text {
  flex:1;font-size:13px;color:var(--navy-800);line-height:1.6;
}
.insight-item-delete {
  background:none;border:none;cursor:pointer;
  color:var(--navy-300);padding:2px;border-radius:4px;
  flex-shrink:0;display:flex;align-items:center;
  transition:color .15s;
}
.insight-item-delete:hover { color:var(--red,#ef4444); }
.insight-item-delete svg { width:13px;height:13px; }
.insights-loading { color:var(--navy-400);font-size:13px;padding:16px; }
.btn-index-insight {
  display:flex;align-items:center;gap:5px;
  background:none;border:1px solid var(--navy-200);border-radius:6px;
  padding:4px 10px;font-size:11px;color:var(--navy-500);
  cursor:pointer;font-family:var(--font);transition:all .15s;
}
.btn-index-insight:hover { border-color:var(--blue);color:var(--blue); }
.btn-index-insight svg { width:12px;height:12px; }
.btn-index-ai { border-color:var(--purple);color:var(--purple); }
.btn-index-ai:hover { background:#f5f3ff;border-color:var(--purple); }

/* ===== BOOK MODAL REDESIGN ===== */
.book-modal-card {
  background:#fff;border-radius:14px;
  width:min(900px,96vw);max-height:90vh;
  display:flex;flex-direction:column;
  box-shadow:0 20px 60px rgba(0,0,0,.18);
  overflow:hidden;
}
.book-modal-header {
  display:flex;align-items:center;gap:10px;
  padding:18px 20px 12px;
  border-bottom:1px solid var(--navy-100);
  flex-shrink:0;
}
.book-modal-meta {
  display:flex;gap:16px;padding:12px 20px;
  border-bottom:1px solid var(--navy-100);
  flex-shrink:0;
}
.book-modal-body {
  display:flex;flex:1;min-height:0;overflow:hidden;
}
.book-modal-notes-col {
  flex:1;display:flex;flex-direction:column;
  padding:14px 16px;border-right:1px solid var(--navy-100);
  min-width:0;
}
.book-modal-index-col {
  width:280px;flex-shrink:0;display:flex;flex-direction:column;
  padding:14px 16px;
}
.book-modal-col-header {
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:8px;gap:6px;flex-wrap:wrap;
}
.book-modal-col-title {
  font-size:11px;font-weight:700;text-transform:uppercase;
  letter-spacing:.06em;color:var(--navy-500);
}
.book-insight-count {
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--navy-100);color:var(--navy-600);
  border-radius:10px;padding:1px 7px;font-size:11px;font-weight:700;
  margin-left:4px;
}
.book-notes-textarea {
  flex:1;resize:none;min-height:0;
}
.book-index-list {
  flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:6px;
}
.book-index-empty {
  font-size:12px;color:var(--navy-400);text-align:center;
  padding:20px 10px;line-height:1.6;
}
.book-index-item {
  display:flex;align-items:flex-start;gap:6px;
  background:var(--navy-50);border:1px solid var(--navy-100);
  border-radius:6px;padding:8px 10px;
}
.book-index-item-text {
  flex:1;font-size:12px;color:var(--navy-800);line-height:1.5;
  word-break:break-word;
}
.book-index-item-delete {
  flex-shrink:0;background:none;border:none;cursor:pointer;
  color:var(--navy-300);padding:2px;border-radius:4px;
  transition:color .15s;
}
.book-index-item-delete:hover { color:#dc2626; }
.book-index-item-delete svg { width:13px;height:13px; }
.book-modal-footer {
  display:flex;align-items:flex-end;gap:12px;
  padding:12px 20px;border-top:1px solid var(--navy-100);
  flex-shrink:0;
}
@media (max-width:640px) {
  .book-modal-body { flex-direction:column; }
  .book-modal-notes-col { border-right:none;border-bottom:1px solid var(--navy-100); }
  .book-modal-index-col { width:100%;max-height:200px; }
}

/* ===== MODAL REFERÊNCIA ===== */
.ref-modal-card {
  background:#fff;border-radius:14px;
  width:min(780px,96vw);max-height:90vh;
  display:flex;flex-direction:column;
  box-shadow:0 20px 60px rgba(0,0,0,.18);
  overflow:hidden;
}
.ref-modal-header {
  display:flex;align-items:center;gap:10px;
  padding:18px 20px 12px;
  border-bottom:1px solid var(--navy-100);
  flex-shrink:0;
}
.ref-modal-body {
  display:flex;flex:1;min-height:0;overflow:hidden;
}
.ref-modal-main {
  flex:1;overflow-y:auto;padding:16px 20px;
  display:flex;flex-direction:column;gap:16px;
}
.ref-modal-sidebar {
  width:200px;flex-shrink:0;
  border-left:1px solid var(--navy-100);
  padding:16px;display:flex;flex-direction:column;gap:12px;
}
.ref-sidebar-section { display:flex;flex-direction:column;gap:6px; }
.ref-sidebar-label {
  font-size:11px;font-weight:700;text-transform:uppercase;
  letter-spacing:.06em;color:var(--navy-500);
}
.ref-field-group { display:flex;flex-direction:column;gap:6px; }
.ref-link-add { display:flex;gap:8px;align-items:center; }
.ref-link-item {
  display:flex;align-items:center;gap:6px;
  padding:5px 8px;background:var(--navy-50);
  border:1px solid var(--navy-100);border-radius:6px;
  margin-bottom:4px;
}
.ref-link-url {
  flex:1;font-size:12px;color:var(--blue);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  text-decoration:none;
}
.ref-link-url:hover { text-decoration:underline; }
.ref-link-remove {
  flex-shrink:0;background:none;border:none;cursor:pointer;
  color:var(--navy-300);padding:2px;border-radius:4px;
}
.ref-link-remove:hover { color:#dc2626; }
.ref-link-remove svg { width:12px;height:12px; }
.ref-tags-wrap { display:flex;flex-wrap:wrap;gap:6px;min-height:24px; }
.ref-tag-chip {
  display:inline-flex;align-items:center;gap:4px;
  background:#e0e7ff;color:#3730a3;
  border-radius:12px;padding:3px 10px;font-size:12px;font-weight:500;
}
.ref-tag-chip button {
  background:none;border:none;cursor:pointer;
  color:#6366f1;padding:0;line-height:1;
}
.ref-tag-chip button svg { width:11px;height:11px; }
.ref-modal-footer {
  display:flex;justify-content:flex-end;gap:8px;
  padding:12px 20px;border-top:1px solid var(--navy-100);
  flex-shrink:0;
}
.file-card-ref { cursor:pointer; }
.file-card-ref:hover { border-color:var(--blue); }
.file-card-tag-label {
  background:#f0fdf4;color:#166534;
}
.ref-add-btn {
  width:100%;justify-content:center;
  padding:10px;font-size:13px;
  margin-bottom:8px;
}
@media (max-width:640px) {
  .ref-modal-body { flex-direction:column; }
  .ref-modal-sidebar { width:100%;border-left:none;border-top:1px solid var(--navy-100); }
}


/* ╔══════════════════════════════════════════════════════════╗
   ║  3 TEMAS MODERNOS — Cloud, Sage, Mono                   ║
   ╚══════════════════════════════════════════════════════════╝ */

/* ═══ Variáveis base por tema ═══ */
[data-theme="cloud"] {
  --bg: var(--surface);
  --surface: var(--surface);
  --navy-900: #0F172A;
  --navy-700: #334155;
  --navy-500: #64748B;
  --navy-400: #94A3B8;
  --navy-300: #CBD5E1;
  --navy-200: #E2E8F0;
  --navy-100: #F1F5F9;
  --navy-50: #F8FAFC;
  --accent: #6366F1;
  --font: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}
[data-theme="cloud"] body {
  font-family: 'Inter', -apple-system, sans-serif;
  font-feature-settings: 'cv11', 'ss01';
  letter-spacing: -0.005em;
}

[data-theme="sage"] {
  --bg: #F5F5F0;
  --surface: var(--surface);
  --navy-900: #1C1C1A;
  --navy-700: #3F3F3B;
  --navy-500: #6E6E68;
  --navy-400: #9C9C94;
  --navy-300: #C8C8C0;
  --navy-200: #E5E5DD;
  --navy-100: #EFEFE9;
  --navy-50: #F5F5F0;
  --accent: #2D7A5F;
  --font: -apple-system, BlinkMacSystemFont, 'SF Pro Display', sans-serif;
}
[data-theme="sage"] body {
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', sans-serif;
  letter-spacing: -0.011em;
}

[data-theme="mono"] {
  --bg: var(--bg);
  --surface: var(--surface);
  --navy-900: #18181B;
  --navy-700: #3F3F46;
  --navy-500: #71717A;
  --navy-400: #A1A1AA;
  --navy-300: #D4D4D8;
  --navy-200: #E4E4E7;
  --navy-100: #F4F4F5;
  --navy-50: var(--bg);
  --accent: #18181B;
  --font: 'Inter', -apple-system, sans-serif;
}
[data-theme="mono"] body {
  font-family: 'Inter', -apple-system, sans-serif;
  letter-spacing: -0.005em;
}

/* ═══ Esconder elementos da gaveta marrom ═══ */
[data-theme="cloud"] .drawer-body::before,
[data-theme="sage"] .drawer-body::before,
[data-theme="mono"] .drawer-body::before,
[data-theme="cloud"] .drawer-folders::after,
[data-theme="sage"] .drawer-folders::after,
[data-theme="mono"] .drawer-folders::after,
[data-theme="cloud"] .file-card::after,
[data-theme="sage"] .file-card::after,
[data-theme="mono"] .file-card::after,
[data-theme="cloud"] .folder-tab::before,
[data-theme="sage"] .folder-tab::before,
[data-theme="mono"] .folder-tab::before { display: none !important; }


/* ═════════════════════════════════════════════════════════
   ☁ TEMA CLOUD — Linear/Vercel · pílulas + branco puro
   ═════════════════════════════════════════════════════════ */
[data-theme="cloud"] .drawer-wrap { background: var(--surface); }
[data-theme="cloud"] #view-organizar,
[data-theme="cloud"] #view-capturar,
[data-theme="cloud"] #view-hoje { background: var(--surface); }

[data-theme="cloud"] .drawer-folders {
  background: var(--surface);
  padding: 20px 32px 16px;
  border-bottom: 1px solid #E2E8F0;
}
[data-theme="cloud"] .drawer-folders-rail {
  gap: 4px;
  background: #F1F5F9;
  padding: 4px;
  border-radius: 10px;
  width: fit-content;
  max-width: 100%;
  overflow-x: auto;
}
[data-theme="cloud"] .folder-tab {
  background: transparent;
  color: #64748B;
  border: none;
  border-radius: 7px;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: -0.005em;
  text-transform: none;
  padding: 8px 16px;
  margin: 0;
  box-shadow: none;
  transform: none;
  display: flex; align-items: center; gap: 8px;
}
[data-theme="cloud"] .folder-tab:hover {
  background: rgba(255,255,255,.5);
  color: #0F172A;
  transform: none;
}
[data-theme="cloud"] .folder-tab.active {
  background: var(--surface);
  color: #0F172A;
  box-shadow: 0 1px 2px rgba(0,0,0,.06), 0 0 0 1px rgba(15,23,42,.04);
  transform: none;
  padding: 8px 16px;
  font-weight: 600;
}
[data-theme="cloud"] .folder-tab-count {
  background: #E2E8F0;
  color: #64748B;
  border-radius: 99px;
  padding: 1px 7px;
  margin-left: 0;
  font-size: 11px;
  font-weight: 600;
  min-width: 20px;
  text-align: center;
}
[data-theme="cloud"] .folder-tab.active .folder-tab-count {
  background: #6366F1;
  color: var(--surface);
}

[data-theme="cloud"] .drawer-body { background: var(--surface); border-top: none; }
[data-theme="cloud"] .drawer-body-inner {
  padding: 24px 32px;
  max-width: 880px;
  margin: 0 auto;
}
[data-theme="cloud"] .drawer-ctx-header {
  background: transparent;
  border-bottom: 1px solid #F1F5F9;
  padding: 12px 0;
}

[data-theme="cloud"] .file-card,
[data-theme="cloud"] .file-card.card-proximas,
[data-theme="cloud"] .file-card.card-projetos,
[data-theme="cloud"] .file-card.card-algumdia,
[data-theme="cloud"] .file-card.card-referencia,
[data-theme="cloud"] .file-card.card-aguardando,
[data-theme="cloud"] .file-card.card-concluidas {
  background: var(--surface);
  border: 1px solid #E2E8F0;
  border-left: 1px solid #E2E8F0 !important;
  border-radius: 8px;
  margin-bottom: 6px;
  box-shadow: none;
  padding: 14px 16px;
}
[data-theme="cloud"] .file-card:hover {
  background: var(--surface);
  border-color: #CBD5E1;
  box-shadow: 0 1px 3px rgba(15,23,42,.04);
}
[data-theme="cloud"] .file-card-title {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #0F172A;
  letter-spacing: -0.005em;
}
[data-theme="cloud"] .file-card-drag-handle { display: none; }
[data-theme="cloud"] .drawer-add-form {
  background: var(--surface);
  border: 1px solid #E2E8F0;
  border-radius: 8px;
  padding: 10px 14px;
}
[data-theme="cloud"] .drawer-add-input {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  color: #0F172A;
}
[data-theme="cloud"] .drawer-add-input::placeholder { color: #94A3B8; }


/* ═════════════════════════════════════════════════════════
   🌿 TEMA SAGE — Things 3/Apple · underline elegante
   ═════════════════════════════════════════════════════════ */
[data-theme="sage"] .drawer-wrap { background: #F5F5F0; }
[data-theme="sage"] #view-organizar,
[data-theme="sage"] #view-capturar,
[data-theme="sage"] #view-hoje { background: #F5F5F0; }

[data-theme="sage"] .drawer-folders {
  background: #F5F5F0;
  padding: 20px 32px 0;
  border-bottom: 1px solid #E5E5DD;
}
[data-theme="sage"] .drawer-folders-rail {
  gap: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
}
[data-theme="sage"] .folder-tab {
  background: transparent;
  color: #6E6E68;
  border: none;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  font-family: -apple-system, sans-serif;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: -0.011em;
  text-transform: none;
  padding: 12px 20px 14px;
  margin-bottom: -1px;
  box-shadow: none;
  transform: none;
  display: flex; align-items: center; gap: 8px;
}
[data-theme="sage"] .folder-tab:hover {
  background: transparent;
  color: #1C1C1A;
  transform: none;
}
[data-theme="sage"] .folder-tab.active {
  background: transparent;
  color: #2D7A5F;
  border-bottom: 2px solid #2D7A5F;
  font-weight: 600;
  transform: none;
}
[data-theme="sage"] .folder-tab-count {
  background: #E5E5DD;
  color: #6E6E68;
  border-radius: 99px;
  padding: 1px 8px;
  margin-left: 0;
  font-size: 11px;
  font-weight: 600;
  min-width: 22px;
  text-align: center;
}
[data-theme="sage"] .folder-tab.active .folder-tab-count {
  background: #2D7A5F;
  color: var(--surface);
}

[data-theme="sage"] .drawer-body { background: #F5F5F0; border-top: none; }
[data-theme="sage"] .drawer-body-inner {
  padding: 28px 40px;
  max-width: 820px;
  margin: 0 auto;
}
[data-theme="sage"] .drawer-ctx-header {
  background: transparent;
  border-bottom: 1px solid #E5E5DD;
  padding: 14px 0;
}

[data-theme="sage"] .file-card,
[data-theme="sage"] .file-card.card-proximas,
[data-theme="sage"] .file-card.card-projetos,
[data-theme="sage"] .file-card.card-algumdia,
[data-theme="sage"] .file-card.card-referencia,
[data-theme="sage"] .file-card.card-aguardando,
[data-theme="sage"] .file-card.card-concluidas {
  background: var(--surface);
  border: none !important;
  border-left: none !important;
  border-radius: 10px;
  margin-bottom: 8px;
  box-shadow: 0 1px 2px rgba(0,0,0,.04);
  padding: 16px 20px;
}
[data-theme="sage"] .file-card:hover {
  background: var(--surface);
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
}
[data-theme="sage"] .file-card-title {
  font-family: -apple-system, sans-serif;
  font-size: 15px;
  font-weight: 500;
  color: #1C1C1A;
  letter-spacing: -0.011em;
}
[data-theme="sage"] .file-card-drag-handle { display: none; }
[data-theme="sage"] .drawer-add-form {
  background: var(--surface);
  border: none;
  border-radius: 10px;
  padding: 14px 18px;
  box-shadow: 0 1px 2px rgba(0,0,0,.04);
}
[data-theme="sage"] .drawer-add-input {
  font-family: -apple-system, sans-serif;
  font-size: 15px;
  color: #1C1C1A;
}
[data-theme="sage"] .drawer-add-input::placeholder { color: #9C9C94; }


/* ═════════════════════════════════════════════════════════
   ⚪ TEMA MONO — Notion/Bear · minimalista off-white
   ═════════════════════════════════════════════════════════ */
[data-theme="mono"] .drawer-wrap { background: var(--bg); }
[data-theme="mono"] #view-organizar,
[data-theme="mono"] #view-capturar,
[data-theme="mono"] #view-hoje { background: var(--bg); }

[data-theme="mono"] .drawer-folders {
  background: var(--bg);
  padding: 24px 32px 0;
  border-bottom: 1px solid #E4E4E7;
}
[data-theme="mono"] .drawer-folders-rail {
  gap: 4px;
}
[data-theme="mono"] .folder-tab {
  background: transparent;
  color: #71717A;
  border: none;
  border-radius: 6px;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: -0.005em;
  text-transform: none;
  padding: 8px 14px;
  margin: 0;
  box-shadow: none;
  transform: none;
  display: flex; align-items: center; gap: 8px;
}
[data-theme="mono"] .folder-tab:hover {
  background: #F4F4F5;
  color: #18181B;
  transform: none;
}
[data-theme="mono"] .folder-tab.active {
  background: #18181B;
  color: var(--surface);
  font-weight: 600;
  transform: none;
}
[data-theme="mono"] .folder-tab.active .folder-tab-count {
  background: rgba(255,255,255,.2);
  color: var(--surface);
}
[data-theme="mono"] .folder-tab-count {
  background: #E4E4E7;
  color: #71717A;
  border-radius: 99px;
  padding: 1px 7px;
  margin-left: 0;
  font-size: 11px;
  font-weight: 600;
  min-width: 20px;
  text-align: center;
}
[data-theme="mono"] .folder-tab.active .folder-tab-count {
  background: #18181B;
  color: var(--surface);
}

[data-theme="mono"] .drawer-body { background: var(--surface); border-top: none; }
[data-theme="mono"] .drawer-body-inner {
  padding: 28px 36px;
  max-width: 860px;
  margin: 0 auto;
}
[data-theme="mono"] .drawer-ctx-header {
  background: transparent;
  border-bottom: 1px solid #F4F4F5;
  padding: 12px 0;
}

[data-theme="mono"] .file-card,
[data-theme="mono"] .file-card.card-proximas,
[data-theme="mono"] .file-card.card-projetos,
[data-theme="mono"] .file-card.card-algumdia,
[data-theme="mono"] .file-card.card-referencia,
[data-theme="mono"] .file-card.card-aguardando,
[data-theme="mono"] .file-card.card-concluidas {
  background: transparent;
  border: none;
  border-left: none !important;
  border-bottom: 1px solid #F4F4F5;
  border-radius: 0;
  margin-bottom: 0;
  box-shadow: none;
  padding: 16px 4px;
}
[data-theme="mono"] .file-card:hover {
  background: var(--bg);
  border-bottom-color: #E4E4E7;
}
[data-theme="mono"] .file-card-title {
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  font-weight: 500;
  color: #18181B;
  letter-spacing: -0.005em;
}
[data-theme="mono"] .file-card-drag-handle { display: none; }
[data-theme="mono"] .drawer-add-form {
  background: transparent;
  border: 1px solid #E4E4E7;
  border-radius: 8px;
  padding: 12px 16px;
}
[data-theme="mono"] .drawer-add-input {
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  color: #18181B;
}
[data-theme="mono"] .drawer-add-input::placeholder { color: #A1A1AA; }


/* ═══ Hoje view nos 3 temas ═══ */
[data-theme="cloud"] #view-hoje .view-header,
[data-theme="sage"]  #view-hoje .view-header,
[data-theme="mono"]  #view-hoje .view-header { background: transparent; }


/* ═══ Check button compartilhado ═══ */
[data-theme="cloud"] .file-card-check,
[data-theme="sage"] .file-card-check,
[data-theme="mono"] .file-card-check {
  width: 18px; height: 18px;
  border-radius: 50%;
  border: 1.5px solid var(--navy-300);
  background: transparent;
}
[data-theme="cloud"] .file-card-check.done { background: #6366F1; border-color: #6366F1; }
[data-theme="sage"]  .file-card-check.done { background: #2D7A5F; border-color: #2D7A5F; }
[data-theme="mono"]  .file-card-check.done { background: #18181B; border-color: #18181B; }


/* ═══ Theme picker UI nas Configurações ═══ */
.theme-picker { display:flex; gap:12px; flex-wrap:wrap; margin-top:12px; }
.theme-option {
  flex: 1;
  min-width: 160px;
  border: 2px solid var(--navy-200);
  border-radius: 12px;
  padding: 16px;
  cursor: pointer;
  background: var(--surface);
  transition: all .15s;
  text-align: left;
}
.theme-option:hover { border-color: var(--navy-400); }
.theme-option.active {
  border-color: var(--accent, #6366F1);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent, #6366F1) 15%, transparent);
}
.theme-option-name { font-weight: 600; font-size: 15px; margin-bottom: 4px; color: var(--navy-900); }
.theme-option-desc { font-size: 12px; color: var(--navy-500); margin-bottom: 12px; }
.theme-option-preview {
  height: 60px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 500;
  border: 1px solid var(--navy-200);
}
.theme-option-preview.cloud { background: var(--surface); color: #0F172A; font-family: 'Inter', sans-serif; }
.theme-option-preview.sage  { background: #F5F5F0; color: #2D7A5F; font-family: -apple-system, sans-serif; }
.theme-option-preview.mono  { background: var(--bg); color: #18181B; font-family: 'Inter', sans-serif; }

/* Impedir seleção de texto enquanto arrasta */
#sortable-list .file-card,
#hoje-sortable .hoje-task,
#inbox-sortable .inbox-item,
#cal-sortable .cal-panel-task {
  -webkit-user-select: none;
  user-select: none;
}
#sortable-list .file-card-edit,
#sortable-list input,
#sortable-list textarea,
#hoje-sortable input,
#hoje-sortable textarea {
  -webkit-user-select: text;
  user-select: text;
}

/* ╔══════════════════════════════════════════════════════════╗
   ║  Override de elementos com estilo marrom antigo          ║
   ║  (filtros, dropdowns, badges, drawer-empty)              ║
   ╚══════════════════════════════════════════════════════════╝ */

/* Filtros — Cloud */
[data-theme="cloud"] .drawer-filter-toggle {
  background: var(--surface);
  border: 1px solid #E2E8F0;
  color: #64748B;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  border-radius: 8px;
}
[data-theme="cloud"] .drawer-filter-toggle:hover { border-color: #6366F1; color: #6366F1; }
[data-theme="cloud"] .drawer-filter-toggle.has-active { border-color: #6366F1; color: #6366F1; background: #EEF2FF; }
[data-theme="cloud"] .drawer-filter-pill {
  background: var(--surface);
  border: 1px solid #E2E8F0;
  color: #64748B;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  border-radius: 8px;
  text-transform: none;
  letter-spacing: -0.005em;
}
[data-theme="cloud"] .drawer-filter-pill:hover { background: #F1F5F9; border-color: #CBD5E1; }
[data-theme="cloud"] .drawer-filter-pill.active {
  background: #6366F1;
  border-color: #6366F1;
  color: var(--surface);
}
[data-theme="cloud"] .drawer-filter-dropdown,
[data-theme="cloud"] .drawer-ctx-options {
  background: var(--surface);
  border: 1px solid #E2E8F0;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0,0,0,.08);
  font-family: 'Inter', sans-serif;
}
[data-theme="cloud"] .drawer-ctx-option,
[data-theme="cloud"] .drawer-filter-dropdown button {
  color: #334155;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  text-transform: none;
  letter-spacing: -0.005em;
  background: transparent;
}
[data-theme="cloud"] .drawer-ctx-option:hover,
[data-theme="cloud"] .drawer-ctx-option.active,
[data-theme="cloud"] .drawer-filter-dropdown button:hover,
[data-theme="cloud"] .drawer-filter-dropdown button.active {
  background: #F1F5F9;
  color: #0F172A;
}

/* Filtros — Sage */
[data-theme="sage"] .drawer-filter-toggle {
  background: var(--surface);
  border: 1px solid #E5E5DD;
  color: #6E6E68;
  font-family: -apple-system, sans-serif;
  font-weight: 500;
  border-radius: 8px;
}
[data-theme="sage"] .drawer-filter-toggle:hover { border-color: #2D7A5F; color: #2D7A5F; }
[data-theme="sage"] .drawer-filter-toggle.has-active { border-color: #2D7A5F; color: #2D7A5F; background: #EAF4EE; }
[data-theme="sage"] .drawer-filter-pill {
  background: var(--surface);
  border: 1px solid #E5E5DD;
  color: #6E6E68;
  font-family: -apple-system, sans-serif;
  font-weight: 500;
  border-radius: 8px;
  text-transform: none;
  letter-spacing: -0.011em;
}
[data-theme="sage"] .drawer-filter-pill:hover { background: #F5F5F0; border-color: #C8C8C0; }
[data-theme="sage"] .drawer-filter-pill.active {
  background: #2D7A5F;
  border-color: #2D7A5F;
  color: var(--surface);
}
[data-theme="sage"] .drawer-filter-dropdown,
[data-theme="sage"] .drawer-ctx-options {
  background: var(--surface);
  border: 1px solid #E5E5DD;
  border-radius: 10px;
  box-shadow: 0 4px 16px rgba(0,0,0,.06);
  font-family: -apple-system, sans-serif;
}
[data-theme="sage"] .drawer-ctx-option,
[data-theme="sage"] .drawer-filter-dropdown button {
  color: #3F3F3B;
  font-family: -apple-system, sans-serif;
  font-weight: 500;
  text-transform: none;
  letter-spacing: -0.011em;
  background: transparent;
}
[data-theme="sage"] .drawer-ctx-option:hover,
[data-theme="sage"] .drawer-ctx-option.active,
[data-theme="sage"] .drawer-filter-dropdown button:hover,
[data-theme="sage"] .drawer-filter-dropdown button.active {
  background: #F5F5F0;
  color: #1C1C1A;
}

/* Filtros — Mono */
[data-theme="mono"] .drawer-filter-toggle {
  background: var(--surface);
  border: 1px solid #E4E4E7;
  color: #71717A;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  border-radius: 8px;
}
[data-theme="mono"] .drawer-filter-toggle:hover { border-color: #18181B; color: #18181B; }
[data-theme="mono"] .drawer-filter-toggle.has-active { border-color: #18181B; color: #18181B; background: #F4F4F5; }
[data-theme="mono"] .drawer-filter-pill {
  background: var(--surface);
  border: 1px solid #E4E4E7;
  color: #71717A;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  border-radius: 8px;
  text-transform: none;
  letter-spacing: -0.005em;
}
[data-theme="mono"] .drawer-filter-pill:hover { background: var(--bg); border-color: #D4D4D8; }
[data-theme="mono"] .drawer-filter-pill.active {
  background: #18181B;
  border-color: #18181B;
  color: var(--surface);
}
[data-theme="mono"] .drawer-filter-dropdown,
[data-theme="mono"] .drawer-ctx-options {
  background: var(--surface);
  border: 1px solid #E4E4E7;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0,0,0,.06);
  font-family: 'Inter', sans-serif;
}
[data-theme="mono"] .drawer-ctx-option,
[data-theme="mono"] .drawer-filter-dropdown button {
  color: #3F3F46;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  text-transform: none;
  letter-spacing: -0.005em;
  background: transparent;
}
[data-theme="mono"] .drawer-ctx-option:hover,
[data-theme="mono"] .drawer-ctx-option.active,
[data-theme="mono"] .drawer-filter-dropdown button:hover,
[data-theme="mono"] .drawer-filter-dropdown button.active {
  background: #F4F4F5;
  color: #18181B;
}

/* Drawer-empty (estado vazio) — neutralizar nos 3 temas */
[data-theme="cloud"] .drawer-empty { color: #94A3B8; }
[data-theme="sage"] .drawer-empty  { color: #9C9C94; }
[data-theme="mono"] .drawer-empty  { color: #A1A1AA; }

/* file-card-tag (badges nos cards) — neutralizar nos 3 temas */
[data-theme="cloud"] .file-card-tag { background: #F1F5F9; color: #64748B; border: none; font-family: 'Inter', sans-serif; }
[data-theme="sage"] .file-card-tag  { background: #F0EFE9; color: #6E6E68; border: none; font-family: -apple-system, sans-serif; }
[data-theme="mono"] .file-card-tag  { background: #F4F4F5; color: #71717A; border: none; font-family: 'Inter', sans-serif; }

/* file-card-meta (linha de tags) — sem estilos antigos */
[data-theme="cloud"] .file-card-meta,
[data-theme="sage"] .file-card-meta,
[data-theme="mono"] .file-card-meta { color: inherit; }

/* file-card-actions buttons */
[data-theme="cloud"] .file-card-btn,
[data-theme="sage"] .file-card-btn,
[data-theme="mono"] .file-card-btn {
  background: transparent;
  border: 1px solid var(--navy-200);
  color: var(--navy-500);
  border-radius: 6px;
}
[data-theme="cloud"] .file-card-btn:hover { background: #F1F5F9; color: #0F172A; }
[data-theme="sage"] .file-card-btn:hover  { background: #F5F5F0; color: #1C1C1A; }
[data-theme="mono"] .file-card-btn:hover  { background: #F4F4F5; color: #18181B; }

/* drawer-ctx-badge (botão de contexto antigo) */
[data-theme="cloud"] .drawer-ctx-badge,
[data-theme="sage"] .drawer-ctx-badge,
[data-theme="mono"] .drawer-ctx-badge {
  background: var(--surface);
  border: 1px solid var(--navy-200);
  color: var(--navy-700);
  font-family: var(--font);
  font-weight: 500;
  text-transform: none;
  letter-spacing: -0.005em;
  border-radius: 8px;
}
[data-theme="cloud"] .drawer-ctx-badge:hover { background: #F1F5F9; }
[data-theme="sage"] .drawer-ctx-badge:hover  { background: #F5F5F0; }
[data-theme="mono"] .drawer-ctx-badge:hover  { background: #F4F4F5; }
[data-theme="cloud"] .drawer-ctx-badge svg,
[data-theme="sage"] .drawer-ctx-badge svg,
[data-theme="mono"] .drawer-ctx-badge svg { color: var(--navy-500); }

/* ╔══════════════════════════════════════════════════════════╗
   ║  V3 LISTAS — wrapper escopado .v3-listas                 ║
   ║  Boundary CSS estrito. Tipografia e proporções fixas.    ║
   ╚══════════════════════════════════════════════════════════╝ */

.v3-listas {
  /* tipografia (paleta cromática herda de body.theme-* via cascade) */
  --font-display: 'Inter Tight', system-ui, sans-serif;
  --font-ui: 'Inter', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, monospace;

  /* radii e shadows */
  --r-card: 14px;
  --r-pill: 999px;
  --shadow-card: 0 1px 2px rgba(0,0,0,.04);

  /* font base do wrapper (UI) */
  font-family: var(--font-ui);
  color: var(--ink);
  background: var(--bg);
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* ─── Rail vertical 72px ─── */
.v3-listas .v3-rail {
  background: var(--ink);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 24px 0 24px 14px;
  gap: 6px;
}
.v3-listas .v3-rail-brand {
  width: 36px; height: 36px;
  border-radius: 9px;
  background: var(--brand);
  color: var(--surface);
  display: grid; place-items: center;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 14px;
  margin-bottom: 18px;
}
.v3-listas .v3-rail-item {
  width: 44px; height: 44px;
  border-radius: 10px;
  background: transparent;
  color: var(--ink-3);
  display: grid; place-items: center;
  font-size: 18px;
  cursor: pointer;
  border: 1px solid #2A2A2A;
  position: relative;
  transition: background .15s, color .15s;
}
.v3-listas .v3-rail-item:hover {
  color: var(--surface);
  background: #2A2A2A;
}
.v3-listas .v3-rail-item.is-active {
  color: var(--surface);
  border-color: transparent;
}
.v3-listas .v3-rail-tooltip {
  position: absolute; left: 56px; top: 50%; transform: translateY(-50%);
  background: var(--ink); color: var(--surface);
  padding: 4px 10px;
  border-radius: 6px;
  font-size: 12px;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  transition: opacity .15s;
  font-family: var(--font-ui);
  z-index: 100;
}
.v3-listas .v3-rail-item:hover .v3-rail-tooltip { opacity: 1; }

/* ─── Main / Scroll área ─── */
.v3-listas .v3-main {
  flex: 1;
  overflow: auto;
  padding: 0 0 64px;
  background: var(--bg);
}

/* (Removido: .v3-sticky-header e .v3-h-square antigo — substituídos por .header-zone) */
.v3-listas .v3-h-square-legacy {
  width: 48px; height: 48px;
  border-radius: 12px;
  color: var(--surface);
  display: grid;
  place-items: center;
  font-family: var(--font-display);
  font-size: 24px;
  font-weight: 700;
  flex-shrink: 0;
}
.v3-listas .v3-h-title {
  font-family: var(--font-display);
  font-size: 44px;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1;
  color: var(--ink);
  margin: 0;
}
.v3-listas .v3-h-main {
  display: flex;
  align-items: center;
  gap: 18px;
  padding-bottom: 18px;
}

/* ─── Banner de contexto ─── sempre presente, só muda cor */
.v3-listas .v3-ctx-banner {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 0 -56px 20px;
  padding: 18px 56px;
  color: var(--surface);
  border-bottom: 1px solid transparent;
  transition: background-color 220ms ease, color 220ms ease, border-color 220ms ease;
}
.v3-listas .v3-ctx-banner * {
  transition: color 220ms ease, opacity 180ms ease;
}
/* Estado "Todos" — banner branco neutro */
.v3-listas .v3-ctx-banner.is-all {
  color: var(--ink);
  border-bottom-color: var(--line);
}
.v3-listas .v3-ctx-banner.is-all .v3-ctx-banner-icon { color: var(--ink-3); }
.v3-listas .v3-ctx-banner.is-all .v3-ctx-banner-label { color: var(--ink-3); opacity: 1; }
.v3-listas .v3-ctx-banner.is-all .v3-ctx-banner-name { color: var(--ink); }
.v3-listas .v3-ctx-banner.is-all .v3-ctx-banner-desc { color: var(--ink-2); opacity: 1; }

.v3-listas .v3-ctx-banner-emoji { font-size: 26px; line-height: 1; }
.v3-listas .v3-ctx-banner-label {
  font-family: var(--font-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  opacity: 0.8;
}
.v3-listas .v3-ctx-banner-name {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -0.01em;
}
.v3-listas .v3-ctx-banner-desc {
  font-size: 13px;
  opacity: 0.85;
  margin-left: 14px;
  font-family: var(--font-ui);
}
.v3-listas .v3-ctx-banner-close {
  margin-left: auto;
  padding: 6px 14px;
  border-radius: var(--r-pill);
  background: rgba(255,255,255,0.18);
  color: var(--surface);
  font-size: 12px;
  font-weight: 500;
  font-family: var(--font-ui);
  cursor: pointer;
  border: none;
}
.v3-listas .v3-ctx-banner-close:hover { background: rgba(255,255,255,0.28); }

/* ─── Filter bar (chips de contexto) ─── */
.v3-listas .v3-filter-bar {
  padding: 20px 56px 0;
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  align-items: stretch;
  background: transparent;
  border-bottom: 1px solid var(--line);
}
.v3-listas .v3-filter-label {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--ink-3);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-right: 0;
  align-self: center;
  padding-bottom: 11px;
}
.v3-listas .v3-chip {
  padding: 8px 4px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  background: transparent;
  color: var(--ink-2);
  border: none;
  border-bottom: 3px solid transparent;
  border-radius: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-ui);
  transition: color .15s, border-color .15s;
  margin-bottom: -1px;
}
@media (hover: hover) {
  .v3-listas .v3-chip:hover { color: var(--ink); background: transparent; }
}
.v3-listas .v3-chip.is-active {
  background: transparent;
  color: var(--ink);
  border-bottom: 3px solid var(--ctx-color, var(--ink));
  font-weight: 600;
}
.v3-listas .v3-chip.is-active .v3-chip-dot {
  background: var(--ctx-color, var(--ink));
}
.v3-listas .v3-chip-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
}

/* ─── Lista de cards ─── */
.v3-listas .v3-list {
  padding: 24px 56px 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
  position: relative;
}
.v3-listas .v3-card {
  display: flex;
  background: var(--surface);
  border-radius: var(--r-card);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  border: 1px solid var(--line);
  min-height: 72px;
}
.v3-listas .v3-flag {
  width: 88px;
  min-height: 72px;
  color: var(--surface);
  padding: 16px 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-shrink: 0;
  text-align: center;
}
.v3-listas .v3-flag-emoji {
  font-size: 20px;
  line-height: 1;
}
.v3-listas .v3-flag-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--surface);
}
.v3-listas .v3-flag-icon svg {
  width: 22px;
  height: 22px;
  stroke-width: 2;
}
.v3-listas .v3-ctx-banner-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--surface);
}
.v3-listas .v3-ctx-banner-icon svg {
  width: 26px;
  height: 26px;
  stroke-width: 2;
}
.v3-listas .v3-flag-name {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1.2;
  opacity: 0.95;
}
.v3-listas .v3-card-body {
  flex: 1;
  padding: 16px 22px;
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: 72px;
  min-width: 0; /* permite que filhos com texto longo encolham e quebrem linha */
}
.v3-listas .v3-cb {
  width: 22px; height: 22px;
  border-radius: 7px;
  border: 1.5px solid #C8C8C4;
  flex-shrink: 0;
  cursor: pointer;
  background: transparent;
  transition: background .15s, border-color .15s, transform .15s;
  display: grid;
  place-items: center;
  color: transparent;
  position: relative;
}
.v3-listas .v3-cb:hover { background: var(--line); border-color: var(--ink-3); }
.v3-listas .v3-cb:active { transform: scale(0.92); }
.v3-listas .v3-cb-check {
  width: 14px; height: 14px;
  stroke-dasharray: 30;
  stroke-dashoffset: 30;
  opacity: 0;
}

/* === Animação ao clicar no checkbox === */
.v3-listas .v3-cb.is-checking {
  background: #1F8A5B;
  border-color: #1F8A5B;
  color: var(--surface);
  animation: v3CbPulse 320ms cubic-bezier(0.34, 1.56, 0.64, 1);
}
.v3-listas .v3-cb.is-checking .v3-cb-check {
  opacity: 1;
  animation: v3CbDrawCheck 280ms 60ms cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
@keyframes v3CbPulse {
  0%   { transform: scale(1); box-shadow: 0 0 0 0 rgba(31,138,91,0.50); }
  40%  { transform: scale(1.20); box-shadow: 0 0 0 14px rgba(31,138,91,0); }
  100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(31,138,91,0); }
}
@keyframes v3CbDrawCheck {
  to { stroke-dashoffset: 0; }
}

/* === Card "completando" — sai pra direita com leve fade === */
.v3-listas .v3-card.is-completing {
  animation: v3CardKickOut 380ms cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
@keyframes v3CardKickOut {
  0%   { transform: scale(1) translateX(0); opacity: 1; filter: saturate(1); }
  20%  { transform: scale(0.98) translateX(0); opacity: 1; }
  100% { transform: scale(0.96) translateX(60px); opacity: 0; filter: saturate(0.4); }
}

/* === Card colapsando (altura 0) === */
.v3-listas .v3-card.is-collapsing {
  transition: height 180ms ease, padding 180ms ease, margin 180ms ease, border-width 180ms ease;
  overflow: hidden;
}

/* === Confete === */
.v3-confetti-piece {
  position: absolute;
  top: 0; left: 0;
  width: 7px; height: 11px;
  border-radius: 2px;
  transform: translate(-50%, -50%);
  animation: v3ConfettiBurst 900ms cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
  pointer-events: none;
}
@keyframes v3ConfettiBurst {
  0% {
    transform: translate(-50%, -50%) rotate(0deg) scale(0.5);
    opacity: 0;
  }
  10% {
    transform: translate(-50%, -50%) rotate(0deg) scale(1);
    opacity: 1;
  }
  100% {
    transform: translate(calc(-50% + var(--dx)), calc(-50% + var(--dy) + 50px)) rotate(var(--rot)) scale(0.6);
    opacity: 0;
  }
}
.v3-listas .v3-card-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0; /* idem: deixa o título quebrar em vez de estourar */
}
.v3-listas .v3-card-title {
  font-size: 16px;
  font-weight: 500;
  color: var(--ink);
  line-height: 1.35;
  font-family: var(--font-ui);
  /* Títulos longos quebram linha em vez de estourar o card */
  overflow-wrap: anywhere;
  word-break: break-word;
  /* Limita a 3 linhas com ellipsis pra cards não ficarem enormes */
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.v3-listas .v3-card-meta {
  display: flex;
  gap: 14px;
  font-size: 12px;
  color: var(--ink-3);
  font-family: var(--font-ui);
}
.v3-listas .v3-card-due {
  text-align: right;
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--ink-3);
}

/* ─── Empty state ─── */
.v3-listas .v3-empty {
  padding: 80px 56px;
  text-align: center;
  color: var(--ink-3);
  font-family: var(--font-ui);
  font-size: 14px;
}


/* ─── V3 botão "+ tag" ─── */
.v3-listas .v3-tag-add {
  padding: 8px 4px;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  background: transparent;
  color: var(--ink-3);
  border: none;
  border-bottom: 3px solid transparent;
  border-radius: 0;
  font-family: var(--font-ui);
  margin-bottom: -1px;
  margin-left: 8px;
  transition: color .15s;
}
.v3-listas .v3-tag-add:hover {
  color: var(--ink);
}

/* ─── V3 mini chip de tag dentro do card ─── */
.v3-listas .v3-card-tag {
  display: inline-block;
  padding: 1px 8px;
  border-radius: 99px;
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  background: color-mix(in srgb, var(--tag-color) 12%, white);
  color: var(--tag-color);
  border: 1px solid color-mix(in srgb, var(--tag-color) 25%, white);
}

/* ─── V3 modal de criar tag ─── */
.v3-tag-modal {
  background: var(--surface);
  border-radius: 14px;
  padding: 28px;
  width: 100%;
  max-width: 420px;
  box-shadow: 0 20px 60px rgba(0,0,0,.16);
  font-family: 'Inter', sans-serif;
  color: var(--ink);
}
.v3-tag-modal-title {
  font-family: 'Inter Tight', sans-serif;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -0.01em;
  margin-bottom: 20px;
}
.v3-tag-modal-input {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--line-2);
  border-radius: 10px;
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  color: var(--ink);
  outline: none;
  transition: border-color .15s;
}
.v3-tag-modal-input:focus { border-color: #2A6FDB; }
.v3-tag-modal-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ink-3);
  margin-top: 18px;
  margin-bottom: 10px;
}
.v3-tag-palette {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.v3-tag-swatch {
  width: 36px; height: 36px;
  border-radius: 10px;
  border: 2px solid transparent;
  cursor: pointer;
  transition: transform .12s, border-color .12s;
}
.v3-tag-swatch:hover { transform: scale(1.08); }
.v3-tag-swatch.is-active {
  border-color: var(--ink);
  transform: scale(1.05);
}
.v3-tag-modal-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  margin-top: 24px;
}
.v3-tag-modal-btn {
  padding: 9px 18px;
  border-radius: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  border: none;
  transition: background .15s;
}
.v3-tag-modal-btn-secondary {
  background: transparent;
  color: var(--ink-2);
}
.v3-tag-modal-btn-secondary:hover { background: var(--surface-2); }
.v3-tag-modal-btn-primary {
  background: var(--ink);
  color: var(--surface);
}
.v3-tag-modal-btn-primary:hover { background: #333333; }

/* ─── V3 grid de ícones (modal contexto) ─── */
.v3-icon-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 8px;
}
.v3-icon-btn {
  width: 100%;
  aspect-ratio: 1;
  border-radius: 10px;
  border: 1px solid var(--line-2);
  background: var(--surface);
  color: var(--ink-2);
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: all .12s;
}
.v3-icon-btn:hover {
  border-color: var(--ink);
  color: var(--ink);
}
.v3-icon-btn.is-active {
  border-color: transparent;
}
.v3-icon-btn svg {
  width: 18px; height: 18px;
  stroke-width: 2;
}

/* Settings — contexto com swatch colorido */
.ctx-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border: 1px solid var(--navy-200);
  border-radius: 10px;
  margin-bottom: 8px;
}
.ctx-item-swatch {
  width: 32px; height: 32px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  color: var(--surface);
  flex-shrink: 0;
}
.ctx-item-swatch svg {
  width: 16px; height: 16px;
  stroke-width: 2;
}
.ctx-item-label {
  font-weight: 500;
  font-size: 14px;
  color: var(--navy-900);
}
.ctx-item-sublabel {
  font-size: 12px;
  color: var(--navy-400);
  margin-left: auto;
  margin-right: 8px;
  font-family: var(--font-mono, monospace);
}
.ctx-item-actions {
  display: flex;
  gap: 4px;
}

/* ─── V3 chips menores (kind em Referências) ─── */
.v3-listas .v3-filter-bar-kind {
  padding: 16px 56px 0;
  border-bottom: none;
  gap: 8px;
}
.v3-listas .v3-chip-sm {
  padding: 4px 10px;
  border-radius: 6px;
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  cursor: pointer;
  background: transparent;
  color: var(--ink-3);
  border: 1px solid var(--line-2);
  transition: all .15s;
}
.v3-listas .v3-chip-sm:hover {
  background: var(--line);
  color: var(--ink-2);
}
.v3-listas .v3-chip-sm.is-active {
  background: var(--ink);
  color: var(--surface);
  border-color: var(--ink);
}

/* ─── V3 Tela Índice (grid de 6 cards) ─── */
.v3-listas .v3-index-wrap {
  padding: 56px;
  max-width: 1080px;
  margin: 0 auto;
}
.v3-listas .v3-index-header {
  margin-bottom: 36px;
}
.v3-listas .v3-index-title {
  font-family: var(--font-display);
  font-size: 44px;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1;
  color: var(--ink);
  margin: 0 0 10px;
}
.v3-listas .v3-index-sub {
  font-family: var(--font-ui);
  font-size: 15px;
  color: var(--ink-3);
}
.v3-listas .v3-index-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 18px;
}
.v3-listas .v3-index-card {
  background: var(--surface-2);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 24px 22px 22px;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 10px;
  text-align: left;
  position: relative;
  overflow: hidden;
  min-height: 180px;
  transition: transform .18s, box-shadow .18s, border-color .18s;
  font-family: var(--font-ui);
}
.v3-listas .v3-index-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
  border-color: var(--line-2);
}
.v3-listas .v3-index-card-glyph {
  position: absolute;
  top: 18px;
  right: 22px;
  width: 36px; height: 36px;
  display: grid; place-items: center;
  color: var(--ink-2);
  background: transparent;
}
.v3-listas .v3-index-card-glyph svg {
  width: 26px; height: 26px;
  stroke-width: 2;
}
.v3-listas .v3-index-card-name {
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--ink);
  margin-top: auto;
  line-height: 1.1;
}
.v3-listas .v3-index-card-desc {
  font-size: 13px;
  color: var(--ink-2);
  line-height: 1.4;
  max-width: 90%;
}
.v3-listas .v3-index-card-count {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ink-3);
  margin-top: 8px;
}

/* ─── Botão Voltar pra Listas ─── */
.v3-listas .v3-h-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: transparent;
  border: none;
  color: var(--ink-3);
  font-family: var(--font-ui);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  padding: 4px 10px 4px 0;
  margin-bottom: 14px;
  transition: color .15s;
}
.v3-listas .v3-h-back:hover { color: var(--ink); }
.v3-listas .v3-h-back svg {
  width: 16px;
  height: 16px;
  stroke-width: 2;
}

/* ─── Item 4: contagem por aba ─── */
.v3-listas .v3-tab-count {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--ink-3);
  margin-left: 6px;
  font-weight: 500;
  transition: color 220ms ease;
}
.v3-listas .v3-chip.is-active .v3-tab-count {
  color: var(--ctx-color, var(--ink));
}

/* (removido) Fade-in geral dos cards causava "chacoalhada" após drop —
   o re-render da lista re-aplicava a animação em todos os cards. */

/* ─── Item 5: botão quick-ctx ─── */
.v3-listas .v3-card { position: relative; }
.v3-listas .v3-quick-ctx {
  position: absolute;
  top: 14px;
  right: 14px;
  padding: 4px 10px;
  border-radius: 6px;
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  cursor: pointer;
  background: transparent;
  color: var(--ink-3);
  border: 1px dashed var(--line-2);
  opacity: 0;
  transition: opacity 150ms, background 150ms, color 150ms, border-color 150ms;
  z-index: 2;
}
.v3-listas .v3-card:hover .v3-quick-ctx { opacity: 1; }
.v3-listas .v3-quick-ctx:hover {
  background: var(--ink);
  color: var(--surface);
  border-color: var(--ink);
  border-style: solid;
}

/* Dropdown do quick-ctx */
.v3-listas .v3-quick-ctx-menu {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(0,0,0,.10);
  padding: 6px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 180px;
  z-index: 10;
}
.v3-listas .v3-quick-ctx-option {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 6px;
  cursor: pointer;
  background: transparent;
  border: none;
  font-family: var(--font-ui);
  font-size: 13px;
  color: var(--ink);
  text-align: left;
  transition: background 120ms;
}
.v3-listas .v3-quick-ctx-option:hover { background: var(--bg); }
.v3-listas .v3-quick-ctx-option-swatch {
  width: 18px; height: 18px;
  border-radius: 5px;
  display: grid;
  place-items: center;
  color: var(--surface);
  flex-shrink: 0;
}
.v3-listas .v3-quick-ctx-option-swatch svg {
  width: 11px; height: 11px;
  stroke-width: 2;
}

/* ─── Item 6: Botão Voltar mais presente ─── */
.v3-listas .v3-h-back {
  font-size: 14px;
  color: var(--ink-2);
  font-weight: 500;
}
.v3-listas .v3-h-back:hover {
  color: var(--ink);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ─── V3 Drag-and-drop ─── ghost flutuante + linha sutil */

/* Cursor grab no card */
.v3-listas .v3-card { cursor: grab; }
.v3-listas .v3-card:active { cursor: grabbing; }
.v3-listas .v3-card .v3-cb,
.v3-listas .v3-card .v3-quick-ctx,
.v3-listas .v3-card .v3-quick-ctx-menu,
.v3-listas .v3-card .v3-quick-ctx-option {
  cursor: pointer;
}

/* Bloqueia seleção de texto durante o drag (no card todo) */
.v3-listas .v3-card,
.v3-listas .v3-card * {
  -webkit-user-select: none;
  user-select: none;
}
/* Inputs/textareas/edição continuam selecionáveis */
.v3-listas .v3-card input,
.v3-listas .v3-card textarea,
.v3-listas .v3-card [contenteditable="true"] {
  -webkit-user-select: text;
  user-select: text;
}

/* === DnD nativo === */

/* Origem do drag — fica visível com baixa opacity (não some, dá referência) */
.v3-listas .v3-card.v3-card-source {
  opacity: 0.25;
  filter: grayscale(0.5);
}

/* Clone que segue o cursor — opacity baixa pra não tampar o conteúdo abaixo */
.v3-card-clone {
  position: fixed !important;
  pointer-events: none;
  z-index: 9999;
  opacity: 0.55;
  box-shadow: 0 12px 32px rgba(0,0,0,0.20);
  border-radius: 14px;
  background: var(--surface);
  border: 1px solid rgba(0,0,0,0.08);
  /* Mantém aparência do card */
  display: flex;
  overflow: hidden;
}

/* Body bloqueia seleção de texto durante drag */
body.v3-dnd-active { user-select: none; -webkit-user-select: none; cursor: grabbing; }
body.v3-dnd-active * { cursor: grabbing !important; }

/* Drop line — overlay absoluto */
.v3-listas .v3-drop-line {
  position: absolute;
  left: 56px; right: 56px;
  height: 2px;
  background: linear-gradient(90deg,
    transparent 0%,
    var(--ink, var(--ink)) 12%,
    var(--ink, var(--ink)) 88%,
    transparent 100%);
  border-radius: 2px;
  opacity: 0.85;
  box-shadow: 0 0 12px rgba(26,26,26,0.35);
  pointer-events: none;
  z-index: 5;
  transition: top 90ms ease-out;
}
.v3-listas .v3-drop-line.is-hidden { display: none; }

/* Foco visível ao tabular */
.v3-listas .v3-card:focus-visible {
  outline: 2px solid rgba(26, 26, 26, 0.5);
  outline-offset: 2px;
}

/* ─── V3 Animação de pouso ao soltar (drop) ─── */
/* Movimento mínimo — só fade do glow + sombra que assenta. Sem scale, sem translate. */
.v3-listas .v3-card-landed {
  position: relative;
  z-index: 2;
  animation: v3CardLandShadow 500ms ease-out both;
}
@keyframes v3CardLandShadow {
  0% {
    box-shadow:
      0 8px 24px rgba(0,0,0,0.14),
      0 0 0 2px color-mix(in srgb, var(--land-color, var(--ink)) 35%, transparent);
  }
  100% {
    box-shadow: var(--shadow-card);
  }
}

/* Glow estático que apaga — sem transform */
.v3-listas .v3-card-landed::before {
  content: '';
  position: absolute;
  inset: -4px;
  border-radius: calc(var(--r-card) + 4px);
  background: color-mix(in srgb, var(--land-color, var(--ink)) 18%, transparent);
  z-index: -1;
  animation: v3LandGlow 500ms ease-out both;
  pointer-events: none;
}
@keyframes v3LandGlow {
  0%   { opacity: 1; }
  100% { opacity: 0; }
}

/* === Clone fora do .v3-listas — replicar estilos críticos === */
.v3-card-clone .v3-flag {
  width: 88px;
  min-height: 72px;
  padding: 16px 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-shrink: 0;
  text-align: center;
  color: var(--surface);
}
.v3-card-clone .v3-flag-icon { display: inline-flex; align-items: center; justify-content: center; color: var(--surface); }
.v3-card-clone .v3-flag-icon svg { width: 22px; height: 22px; stroke-width: 2; }
.v3-card-clone .v3-flag-name {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.v3-card-clone .v3-card-body {
  flex: 1;
  padding: 16px 22px;
  display: flex;
  align-items: center;
  gap: 16px;
}
.v3-card-clone .v3-cb {
  width: 22px; height: 22px;
  border-radius: 7px;
  border: 1.5px solid #C8C8C4;
  flex-shrink: 0;
  background: transparent;
}
.v3-card-clone .v3-card-content { flex: 1; display: flex; flex-direction: column; gap: 6px; }
.v3-card-clone .v3-card-title {
  font-size: 16px; font-weight: 500; color: var(--ink);
  font-family: 'Inter', sans-serif;
}
.v3-card-clone .v3-card-meta {
  display: flex; gap: 14px; font-size: 12px; color: var(--ink-3);
  font-family: 'Inter', sans-serif;
}
.v3-card-clone .v3-quick-ctx,
.v3-card-clone .v3-quick-ctx-menu { display: none !important; }

/* === Wizard: passo "Qual contexto?" === */
.ctx-pick-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}
.ctx-pick-chips {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.ctx-pick-chip {
  padding: 8px 14px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  background: var(--surface);
  color: var(--ink);
  border: 1px solid var(--line-2);
  font-family: 'Inter', sans-serif;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: all .15s;
}
.ctx-pick-chip:hover {
  border-color: var(--ctx-color, var(--ink));
  background: color-mix(in srgb, var(--ctx-color, var(--ink)) 8%, white);
}
.ctx-pick-chip.is-suggested {
  border-color: var(--ctx-color, var(--ink));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ctx-color, var(--ink)) 15%, transparent);
}
.ctx-pick-dot { width: 8px; height: 8px; border-radius: 50%; }

.ctx-pick-suggest {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  background: #F8F7F2;
  border-radius: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
}
.ctx-pick-suggest-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ink-3);
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.ctx-pick-suggest-loading { color: var(--ink-3); font-style: italic; font-size: 12px; }
.ctx-pick-suggest-btn {
  margin-left: auto;
  padding: 6px 14px;
  border-radius: 6px;
  border: none;
  color: var(--surface);
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
}
.ctx-pick-suggest-btn:hover { filter: brightness(1.05); }

.ctx-pick-actions {
  display: flex;
  gap: 8px;
  margin-top: 8px;
}

/* Botão "Atribuir com IA" no banner Todos os contextos */
.v3-listas .v3-ctx-bulk-btn {
  margin-left: auto;
  padding: 7px 14px;
  border-radius: 8px;
  background: var(--ink);
  color: var(--surface);
  border: none;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: background .15s;
}
.v3-listas .v3-ctx-bulk-btn svg { width: 14px; height: 14px; stroke-width: 2; }
.v3-listas .v3-ctx-bulk-btn:hover { background: #333333; }
.v3-listas .v3-ctx-bulk-btn:disabled { opacity: 0.6; cursor: progress; }
.v3-spin { animation: v3Spin 1s linear infinite; }
@keyframes v3Spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* === V3 Modal de detalhes da task === */
/* Toggle "Agrupar" alinhado à direita da filter-bar */
.v3-listas .v3-group-toggle {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  border-radius: 8px;
  background: transparent;
  color: var(--ink-3);
  border: 1px solid var(--line-2);
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  margin-bottom: -1px;
  transition: all .15s;
}
.v3-listas .v3-group-toggle:hover {
  color: var(--ink);
  border-color: var(--ink-3);
}
.v3-listas .v3-group-toggle.is-on {
  background: var(--ink);
  color: var(--surface);
  border-color: var(--ink);
}
.v3-listas .v3-group-toggle svg {
  width: 14px; height: 14px; stroke-width: 2;
}

/* Lista agrupada por contexto */
.v3-listas .v3-list-grouped {
  padding: 24px 0 0;
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.v3-listas .v3-group { display: flex; flex-direction: column; gap: 10px; }
.v3-listas .v3-group-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 56px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  color: var(--ink-3);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.v3-listas .v3-group-dot {
  width: 8px; height: 8px; border-radius: 50%;
}
.v3-listas .v3-group-dot-empty {
  background: transparent;
  border: 1px dashed var(--ink-3);
}
.v3-listas .v3-group-name { color: var(--ink); letter-spacing: 0.04em; }
.v3-listas .v3-group-count {
  background: var(--line);
  color: var(--ink-3);
  border-radius: 999px;
  padding: 1px 8px;
  font-size: 10px;
}
.v3-listas .v3-list-grouped .v3-list { padding-top: 0; }

/* === V3 Seletor de Área da Vida === */
.v3-listas .v3-area-row {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 56px 0;
  background: var(--bg);
  flex-wrap: wrap;
}
.v3-listas .v3-area-label {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ink-3);
}
.v3-listas .v3-area-wrap { position: relative; }

.v3-listas .v3-area-selector {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 12px 18px;
  border-radius: 12px;
  background: var(--area-c, var(--ink));
  color: var(--surface);
  border: none;
  font-family: 'Inter Tight', sans-serif;
  font-weight: 600;
  font-size: 16px;
  letter-spacing: -0.01em;
  cursor: pointer;
  transition: filter .15s, transform .15s;
  box-shadow: 0 1px 2px rgba(0,0,0,.06);
}
.v3-listas .v3-area-selector:hover {
  filter: brightness(1.06);
}
.v3-listas .v3-area-selector svg { width: 18px; height: 18px; stroke-width: 2; }
.v3-listas .v3-area-count {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 500;
  background: rgba(255,255,255,.20);
  padding: 1px 8px;
  border-radius: 99px;
  letter-spacing: 0;
}
.v3-listas .v3-area-chev { width: 14px !important; height: 14px !important; opacity: 0.9; }

/* Dropdown */
.v3-listas .v3-area-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  z-index: 60;
  width: 320px;
  max-height: 480px;
  overflow: hidden;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: 0 12px 32px rgba(0,0,0,.10);
  display: flex;
  flex-direction: column;
  font-family: 'Inter', sans-serif;
}
.v3-listas .v3-area-search {
  margin: 10px;
  padding: 9px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  outline: none;
  transition: border-color .15s;
}
.v3-listas .v3-area-search:focus { border-color: var(--ink); }
.v3-listas .v3-area-list {
  overflow-y: auto;
  max-height: 400px;
  padding: 4px 6px 8px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.v3-listas .v3-area-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 8px;
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
  font-family: 'Inter', sans-serif;
  transition: background .12s;
  width: 100%;
}
.v3-listas .v3-area-item:hover { background: #F5F5F2; }
.v3-listas .v3-area-item.is-active { background: #F0F0EC; }
.v3-listas .v3-area-item-swatch {
  width: 22px; height: 22px;
  border-radius: 5px;
  display: grid;
  place-items: center;
  color: var(--surface);
  flex-shrink: 0;
}
.v3-listas .v3-area-item-swatch svg { width: 12px; height: 12px; stroke-width: 2; }
.v3-listas .v3-area-item-swatch-empty {
  background: transparent;
  border: 1px dashed var(--ink-3);
  color: var(--ink-3);
}
.v3-listas .v3-area-item-name {
  flex: 1;
  font-size: 14px;
  font-weight: 500;
  color: var(--ink);
}
.v3-listas .v3-area-item-count {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--ink-3);
}

/* Botão "Atribuir áreas com IA" */
.v3-listas .v3-area-bulk-btn {
  margin-left: auto;
  padding: 8px 14px;
  border-radius: 8px;
  background: var(--ink);
  color: var(--surface);
  border: none;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: background .15s;
}
.v3-listas .v3-area-bulk-btn svg { width: 14px; height: 14px; stroke-width: 2; }
.v3-listas .v3-area-bulk-btn:hover { background: #333333; }
.v3-listas .v3-area-bulk-btn:disabled { opacity: 0.6; cursor: progress; }

/* Banners múltiplos empilhados (área + contexto) */
.v3-listas .v3-sticky-header .v3-ctx-banner + .v3-ctx-banner {
  margin-top: -12px;
  margin-bottom: 8px;
}

/* Contagem mono pequeno dentro do banner (só quando há filtro) */
.v3-listas .v3-ctx-banner-count {
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: rgba(255,255,255,0.85);
  background: rgba(255,255,255,0.18);
  padding: 4px 10px;
  border-radius: 99px;
  white-space: nowrap;
  margin-left: 4px;
}
.v3-listas .v3-ctx-banner.is-all .v3-ctx-banner-count {
  color: var(--ink-3);
  background: var(--line);
}

/* === V3 Bandeira: estado "sem área" === */
.v3-listas .v3-flag { position: relative; }

/* Bandeira "sem área" — fundo neutro com ícone+label cinza */
.v3-listas .v3-flag.is-empty {
  background: var(--surface-2) !important;
  color: var(--ink-3);
  border: 1px dashed var(--line-2);
}
.v3-listas .v3-flag.is-empty .v3-flag-icon { color: var(--ink-3); }
.v3-listas .v3-flag.is-empty .v3-flag-icon svg { color: var(--ink-3); }
.v3-listas .v3-flag.is-empty .v3-flag-name { color: var(--ink-3); }

/* === Botão "+ área" — mesmo estilo do "+ contexto" === */
.v3-listas .v3-quick-area {
  position: absolute;
  top: 14px;
  right: 100px;  /* fica à esquerda do "+ contexto" se ambos aparecerem */
  padding: 4px 10px;
  border-radius: 6px;
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  cursor: pointer;
  background: transparent;
  color: var(--ink-3);
  border: 1px dashed var(--line-2);
  opacity: 0;
  transition: opacity 150ms, background 150ms, color 150ms, border-color 150ms;
  z-index: 2;
}
.v3-listas .v3-card:hover .v3-quick-area { opacity: 1; }
.v3-listas .v3-quick-area:hover {
  background: var(--ink);
  color: var(--surface);
  border-color: var(--ink);
  border-style: solid;
}

.v3-listas .v3-quick-area-menu {
  position: absolute;
  top: calc(100% + 4px);
  right: 90px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(0,0,0,.10);
  padding: 6px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 200px;
  max-height: 360px;
  overflow-y: auto;
  z-index: 10;
}

/* Quando NÃO há "+ contexto" visível (task já tem contexto), o "+ área" sozinho fica à direita */
.v3-listas .v3-card:not(:has(.v3-quick-ctx)) .v3-quick-area {
  right: 14px;
}

/* === Settings: Áreas da vida — lista === */
.v3-area-settings-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 4px;
}
.v3-area-settings-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid var(--navy-200, #E2E8F0);
  border-radius: 10px;
  background: var(--surface);
}
.v3-area-settings-drag {
  color: #C8C8C2;
  cursor: grab;
  display: grid;
  place-items: center;
}
.v3-area-settings-drag:active { cursor: grabbing; }
.v3-area-settings-drag svg { width: 16px; height: 16px; stroke-width: 2; }
.v3-area-settings-swatch {
  width: 32px; height: 32px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  color: var(--surface);
  flex-shrink: 0;
}
.v3-area-settings-swatch svg { width: 16px; height: 16px; stroke-width: 2; }
.v3-area-settings-name {
  flex: 1;
  font-weight: 500;
  font-size: 14px;
  color: var(--navy-900, #0F172A);
  font-family: 'Inter', sans-serif;
}
.v3-area-settings-count {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--ink-3);
  margin-right: 8px;
}

/* === V3 Drawer de detalhe da task === */
.v3-drawer-overlay {
  position: fixed;
  inset: 0;
  background: rgba(26,26,26,0.30);
  z-index: 100;
  display: none;
  backdrop-filter: blur(2px);
}
.v3-drawer-overlay.is-open { display: block; }

.v3-drawer-panel {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 480px;
  height: min(760px, calc(100vh - 32px));
  background: var(--surface);
  border-radius: 16px;
  box-shadow: 0 24px 48px rgba(0,0,0,.10), 0 2px 8px rgba(0,0,0,.04);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  font-family: 'Inter', sans-serif;
  color: var(--ink);
  animation: v3DrawerSlide 260ms cubic-bezier(0.22, 1, 0.36, 1) both;
  will-change: transform, opacity;
}
@keyframes v3DrawerSlide {
  from { transform: translate(28px, calc(-50% + 6px)) scale(0.985); opacity: 0; filter: blur(2px); }
  to   { transform: translate(0, -50%) scale(1); opacity: 1; filter: blur(0); }
}
.v3-drawer-panel.is-closing {
  animation: v3DrawerSlideOut 180ms cubic-bezier(0.4, 0, 1, 1) both;
}
@keyframes v3DrawerSlideOut {
  from { transform: translate(0, -50%) scale(1); opacity: 1; }
  to   { transform: translate(28px, calc(-50% + 6px)) scale(0.985); opacity: 0; }
}
/* Backdrop com fade in/out */
.v3-drawer-overlay {
  animation: v3OverlayFadeIn 180ms ease both;
}
.v3-drawer-overlay.is-closing {
  animation: v3OverlayFadeOut 180ms ease both;
}
@keyframes v3OverlayFadeIn  { from { opacity: 0; } to { opacity: 1; } }
@keyframes v3OverlayFadeOut { from { opacity: 1; } to { opacity: 0; } }

.v3-drawer-header {
  padding: 18px 22px 14px;
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: center;
  gap: 12px;
  position: relative;
}
.v3-drawer-breadcrumb {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-3);
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.v3-drawer-bc-dot {
  width: 8px; height: 8px;
  border-radius: 2px;
}
.v3-drawer-move-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 8px;
  border: 1px solid var(--line-2);
  background: var(--surface);
  font-size: 11px;
  font-weight: 500;
  color: var(--ink-2);
  font-family: 'JetBrains Mono', monospace;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
}
.v3-drawer-move-btn:hover { background: var(--surface-2); }
.v3-drawer-move-btn svg { width: 11px; height: 11px; stroke-width: 2; }
.v3-drawer-close {
  margin-left: auto;
  width: 30px; height: 30px;
  border-radius: 8px;
  background: var(--surface-2);
  display: grid;
  place-items: center;
  cursor: pointer;
  color: var(--ink-2);
  border: none;
}
.v3-drawer-close:hover { background: var(--line); color: var(--ink); }
.v3-drawer-close svg { width: 16px; height: 16px; stroke-width: 2; }

.v3-drawer-title-wrap { padding: 8px 22px 14px; }
/* Data planejada do card, mostrada quando o drawer abre pela página Semana */
.v3-drawer-semana-date {
  display: inline-flex; align-items: center; gap: 6px; margin-top: 8px;
  font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 500;
  color: var(--brand, #D35400); background: rgba(211,84,0,0.08);
  border: 1px solid rgba(211,84,0,0.18); border-radius: 999px; padding: 4px 11px;
}
.v3-drawer-semana-date svg { width: 13px; height: 13px; }
.v3-drawer-title {
  font-family: 'Inter Tight', sans-serif;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -0.015em;
  color: var(--ink);
  line-height: 1.25;
  margin: 4px 0 2px;
  cursor: text;
  outline: none;
  border-radius: 4px;
  padding: 2px 4px;
  transition: background .12s;
}
.v3-drawer-title:focus { background: #F8F7F4; }

.v3-drawer-body {
  flex: 1;
  overflow: auto;
  padding: 16px 22px 8px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.v3-drawer-section {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.v3-drawer-section-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.v3-drawer-section-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-3);
}
.v3-drawer-collapse-link {
  font-size: 11px;
  color: var(--ink-3);
  cursor: pointer;
  background: transparent;
  border: none;
  font-family: 'Inter', sans-serif;
}
.v3-drawer-collapse-link:hover { color: var(--ink); text-decoration: underline; }

.v3-drawer-notes {
  width: 100%;
  min-height: 84px;
  resize: vertical;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  font-family: 'Inter', sans-serif;
  font-size: 13.5px;
  color: var(--ink);
  background: var(--bg);
  line-height: 1.5;
  outline: none;
  transition: border-color .15s, background .15s;
}
.v3-drawer-notes:focus {
  border-color: var(--ink);
  background: var(--surface);
}

/* Dropzone tracejada */
.v3-drawer-dropzone {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px;
  border-radius: 10px;
  background: var(--bg);
  border: 1px dashed #D8D7D2;
  cursor: pointer;
  color: #6A6A66;
  font-size: 12.5px;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  transition: all .15s;
}
.v3-drawer-dropzone:hover {
  background: #F0EFEA;
  border-color: #B0B0AA;
  color: var(--ink);
}
.v3-drawer-dropzone svg { width: 13px; height: 13px; stroke-width: 2; }

/* Linhas de detalhe (Área, Contexto, Data, Projeto) */
.v3-drawer-details-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.v3-drawer-detail-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: var(--bg);
  cursor: pointer;
  text-align: left;
  transition: all .12s;
  font-family: 'Inter', sans-serif;
  width: 100%;
  position: relative;
}
.v3-drawer-detail-row:hover {
  background: var(--surface);
  border-color: #D8D7D2;
}
.v3-drawer-detail-glyph {
  width: 22px; height: 22px;
  border-radius: 6px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.v3-drawer-detail-glyph svg { width: 12px; height: 12px; stroke-width: 2; }
.v3-drawer-detail-label {
  flex: 1;
  font-size: 13px;
  font-weight: 500;
  color: var(--ink);
}
.v3-drawer-detail-chev { width: 13px !important; height: 13px !important; color: var(--ink-3); }

/* Picker menus dentro do drawer */
.v3-drawer-pickermenu {
  position: relative !important;
  top: 4px !important;
  right: auto !important;
  left: 0 !important;
  width: 100%;
  max-height: 240px;
}

/* Footer */
.v3-drawer-footer {
  border-top: 1px solid var(--line);
  padding: 14px 22px;
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--bg);
}
.v3-drawer-primary {
  flex: 1;
  padding: 11px 16px;
  border-radius: 10px;
  background: #1F8A5B;
  color: var(--surface);
  border: none;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 13.5px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: background .15s;
}
.v3-drawer-primary:hover { background: #196f49; }
.v3-drawer-primary svg { width: 15px; height: 15px; stroke-width: 2; }

/* === Novo padrão de drawer: Concluir no topo, Salvar no rodapé === */
.v3-drawer-complete-top {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px 6px 10px;
  border-radius: 8px;
  background: #1F8A5B;
  color: var(--surface);
  border: none;
  font-family: 'Inter', sans-serif;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .15s, transform .12s, box-shadow .15s;
}
.v3-drawer-complete-top:hover {
  background: #196f49;
  box-shadow: 0 4px 12px rgba(31,138,91,0.25);
}
.v3-drawer-complete-top svg { width: 12px; height: 12px; stroke-width: 2.5; }

.v3-drawer-save {
  padding: 9px 18px;
  border-radius: 9px;
  background: var(--ink);
  color: var(--surface);
  border: none;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 13px;
  cursor: pointer;
  transition: background .15s, transform .12s;
}
.v3-drawer-save:hover { background: #2A2A2A; }

/* Hint "salvas automaticamente" no rodapé do drawer */
.v3-drawer-save-hint {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: 1;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: var(--ink-3);
  transition: color .25s;
}
.v3-drawer-save-hint svg {
  width: 13px; height: 13px;
  color: var(--ink-3);
  transition: color .25s, transform .25s;
}
.v3-drawer-save-hint.is-saved {
  color: #1F8A5B;
}
.v3-drawer-save-hint.is-saved svg {
  color: #1F8A5B;
  animation: v3SavedPulse .6s ease;
}
@keyframes v3SavedPulse {
  0%   { transform: scale(1); }
  40%  { transform: scale(1.35) rotate(-5deg); }
  100% { transform: scale(1) rotate(0); }
}

/* Feedback de tap pra TODOS os botões interativos do drawer/modais */
.v3-tap {
  transition: transform .08s cubic-bezier(0.4,0,0.2,1),
              background .15s,
              box-shadow .15s,
              color .15s;
}
.v3-tap:active {
  transform: scale(0.94);
}
.v3-drawer-danger {
  font-size: 12px;
  color: #B0556C;
  background: transparent;
  border: none;
  cursor: pointer;
  font-family: 'Inter', sans-serif;
  padding: 8px 12px;
}
.v3-drawer-danger:hover { color: #8B3D52; text-decoration: underline; }

/* Menu "Mover…" */
/* Popover "Mover para" — design refinado */
.v3-move-popover {
  position: absolute;
  top: calc(100% + 8px);
  left: 100px;
  min-width: 260px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow:
    0 1px 0 rgba(0,0,0,0.02),
    0 12px 28px rgba(0,0,0,0.10),
    0 4px 8px rgba(0,0,0,0.04);
  padding: 10px 8px 8px;
  z-index: 30;
  animation: v3MoveIn 180ms cubic-bezier(0.22, 1, 0.36, 1) both;
  transform-origin: top left;
}
@keyframes v3MoveIn {
  from { opacity: 0; transform: translateY(-6px) scale(0.97); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
.v3-move-popover-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-3);
  padding: 4px 10px 8px;
}
.v3-move-popover-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.v3-move-item {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 10px 12px;
  background: transparent;
  border: none;
  border-radius: 9px;
  cursor: pointer;
  font-family: 'Inter', sans-serif;
  font-size: 13.5px;
  font-weight: 500;
  color: var(--ink);
  text-align: left;
  transition: background .12s, transform .08s cubic-bezier(0.4,0,0.2,1);
}
.v3-move-item:hover {
  background: var(--surface-2);
}
.v3-move-item:active { transform: scale(0.97); }
.v3-move-item-ico {
  width: 28px; height: 28px;
  border-radius: 7px;
  background: var(--surface-2);
  display: grid; place-items: center;
  color: var(--ink-2);
  flex-shrink: 0;
  transition: background .12s, color .12s;
}
.v3-move-item:hover .v3-move-item-ico {
  background: var(--ink);
  color: var(--surface);
}
.v3-move-item-ico svg { width: 14px; height: 14px; stroke-width: 2; }
.v3-move-item-name { flex: 1; }
.v3-move-item-arrow {
  width: 14px; height: 14px;
  color: var(--ink-3);
  opacity: 0;
  transform: translateX(-4px);
  transition: opacity .15s, transform .15s, color .12s;
}
.v3-move-item:hover .v3-move-item-arrow {
  opacity: 1;
  transform: translateX(0);
  color: var(--ink);
}

/* === Rail principal: Hoje em destaque === */
.rail-item-hoje { padding-top: 8px; padding-bottom: 14px; }
.rail-item-hoje .rail-hoje-square {
  width: 40px; height: 40px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--brand), #D9534F);
  color: var(--surface);
  display: grid;
  place-items: center;
  box-shadow: 0 2px 8px rgba(232, 112, 74, 0.30);
  transition: transform .15s, box-shadow .15s;
}
.rail-item-hoje:hover .rail-hoje-square {
  transform: scale(1.05);
  box-shadow: 0 4px 14px rgba(232, 112, 74, 0.42);
}
.rail-item-hoje .rail-hoje-square svg {
  width: 22px; height: 22px;
  stroke-width: 2;
}
.rail-item-hoje .rail-label { color: var(--ink); font-weight: 600; }
.rail-item-hoje:hover .rail-label { color: var(--brand); }
.rail-item-hoje.active .rail-label { color: var(--brand); }
/* Hoje ativa: barra laranja já vai aparecer via .rail-item.active::before */

/* === Hoje: seções (ATRASADAS / HOJE) === */
.hoje-section { margin-bottom: 24px; }
.hoje-section-header {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--ink-3, var(--ink-3));
  margin-bottom: 10px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--line, var(--line));
}
.hoje-section-header svg {
  width: 14px; height: 14px;
  stroke-width: 2;
}
.hoje-section-overdue .hoje-section-header {
  color: #B0556C;
  border-bottom-color: rgba(176, 85, 108, 0.30);
}
.hoje-section-overdue .hoje-section-header svg { color: #B0556C; }

/* Tarefa atrasada: barra vermelha discreta à esquerda */
.hoje-task.is-overdue {
  border-left: 3px solid #B0556C;
  padding-left: 10px;
  background: rgba(176, 85, 108, 0.04);
}
.hoje-task-meta-line {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  color: #B0556C;
  margin-top: 2px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* Botão "tirar do Hoje" (X) — aparece no hover */
.hoje-task { position: relative; }
.hoje-remove-btn {
  background: transparent;
  border: none;
  color: #C8C8C2;
  cursor: pointer;
  padding: 4px;
  border-radius: 6px;
  display: grid;
  place-items: center;
  opacity: 0;
  transition: opacity 0.15s, color 0.15s, background 0.15s;
}
.hoje-task:hover .hoje-remove-btn { opacity: 1; }
.hoje-remove-btn:hover {
  color: #B0556C;
  background: rgba(176, 85, 108, 0.08);
}
.hoje-remove-btn svg {
  width: 14px; height: 14px;
  stroke-width: 2;
}

/* === V3 Drawer · Pickers inline === */
.v3-picker {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--bg);
  overflow: hidden;
  transition: border-color .15s, background .15s;
}
.v3-picker.is-expanded {
  border-color: var(--picker-c, var(--ink));
  background: var(--surface);
}

.v3-picker-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  background: transparent;
  border: none;
  cursor: pointer;
  width: 100%;
  text-align: left;
  font-family: 'Inter', sans-serif;
}
.v3-picker-head:hover { background: rgba(0,0,0,0.02); }
.v3-picker-collapse {
  font-size: 11px;
  color: var(--ink-3);
  font-family: 'Inter', sans-serif;
}
.v3-picker-clear {
  display: inline-grid;
  place-items: center;
  width: 24px; height: 24px;
  border-radius: 6px;
  background: transparent;
  border: none;
  color: var(--ink-3);
  cursor: pointer;
  transition: background-color .12s, color .12s;
}
.v3-picker-clear:hover {
  background-color: rgba(176, 85, 108, 0.10);
  color: var(--danger, #B0556C);
}
.v3-picker-clear svg { width: 13px; height: 13px; }
.v3-picker-collapse:hover { color: var(--ink); text-decoration: underline; }

.v3-picker-body {
  padding: 8px 12px 12px;
  border-top: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* Search */
.v3-picker-search-wrap {
  position: relative;
  display: flex;
  align-items: center;
}
.v3-picker-search-wrap svg {
  position: absolute;
  left: 10px;
  width: 14px; height: 14px;
  color: var(--ink-3);
  pointer-events: none;
  stroke-width: 2;
}
.v3-picker-search {
  width: 100%;
  padding: 8px 10px 8px 32px;
  border: 1px solid var(--line);
  border-radius: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  background: var(--bg);
  outline: none;
  color: var(--ink);
  transition: border-color .15s, background .15s;
}
.v3-picker-search:focus {
  border-color: var(--picker-c, var(--ink));
  background: var(--surface);
}

/* Lista de items */
.v3-picker-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
  max-height: 240px;
  overflow-y: auto;
}
.v3-picker-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  background: transparent;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  text-align: left;
  font-family: 'Inter', sans-serif;
  width: 100%;
  transition: background .12s;
  position: relative;
}
.v3-picker-item:hover { background: var(--surface-2); }
.v3-picker-item.is-selected {
  background: #F0F0EC;
}
.v3-picker-item.is-selected::before {
  content: '';
  position: absolute;
  left: 0; top: 6px; bottom: 6px;
  width: 3px;
  background: var(--item-c, var(--ink));
  border-radius: 0 2px 2px 0;
}
.v3-picker-item-swatch {
  width: 22px; height: 22px;
  border-radius: 6px;
  display: grid;
  place-items: center;
  color: var(--surface);
  flex-shrink: 0;
}
.v3-picker-item-swatch svg { width: 12px; height: 12px; stroke-width: 2; }
.v3-picker-item-name {
  flex: 1;
  font-size: 13px;
  font-weight: 500;
  color: var(--ink);
}
.v3-picker-empty {
  padding: 16px 10px;
  text-align: center;
  color: var(--ink-3);
  font-size: 12px;
  font-style: italic;
}

/* Foot (criar/remover) */
.v3-picker-foot {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding-top: 8px;
  border-top: 1px solid #F0EFEA;
}
.v3-picker-foot-btn {
  text-align: left;
  padding: 7px 10px;
  background: transparent;
  border: none;
  border-radius: 6px;
  font-family: 'Inter', sans-serif;
  font-size: 12.5px;
  font-weight: 500;
  color: var(--ink-2);
  cursor: pointer;
  transition: background .12s;
}
.v3-picker-foot-btn:hover { background: var(--surface-2); color: var(--ink); }
.v3-picker-foot-create { color: var(--picker-c, var(--ink)); }
.v3-picker-foot-remove { color: #B0556C; }
.v3-picker-foot-remove:hover { background: rgba(176, 85, 108, 0.08); }

/* Atalhos quick (data) */
.v3-picker-quick-row {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.v3-picker-quick {
  padding: 6px 12px;
  border-radius: 99px;
  background: var(--surface-2);
  border: 1px solid var(--line);
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 500;
  color: var(--ink-2);
  cursor: pointer;
  transition: all .12s;
}
.v3-picker-quick:hover {
  background: var(--picker-c, var(--ink));
  color: var(--surface);
  border-color: var(--picker-c, var(--ink));
}

/* Calendário inline */
.v3-cal-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4px 0;
}
.v3-cal-month {
  font-family: 'Inter Tight', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
  letter-spacing: -0.01em;
}
.v3-cal-navbtn {
  width: 28px; height: 28px;
  border-radius: 6px;
  background: transparent;
  border: none;
  color: var(--ink-3);
  cursor: pointer;
  display: grid;
  place-items: center;
}
.v3-cal-navbtn:hover { background: var(--surface-2); color: var(--ink); }
.v3-cal-navbtn svg { width: 16px; height: 16px; stroke-width: 2; }

.v3-cal-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 2px;
}
.v3-cal-dow {
  text-align: center;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  color: var(--ink-3);
  padding: 6px 0 2px;
  letter-spacing: 0.06em;
}
.v3-cal-cell {
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  background: transparent;
  border: none;
  border-radius: 6px;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 500;
  color: var(--ink);
  cursor: pointer;
  transition: all .12s;
}
.v3-cal-cell:hover:not(.v3-cal-cell-empty) {
  background: #F0F0EC;
}
.v3-cal-cell-empty { cursor: default; }
.v3-cal-cell.is-today {
  color: var(--brand);
  font-weight: 700;
}
.v3-cal-cell.is-selected {
  background: var(--ink);
  color: var(--surface);
}
.v3-cal-cell.is-selected.is-today { background: var(--brand); }

/* Confirm inline (delete) */
.v3-drawer-confirm-text {
  flex: 1;
  font-size: 13px;
  color: var(--ink);
  font-weight: 500;
}
.v3-drawer-confirm-cancel {
  background: transparent;
  border: none;
  color: var(--ink-3);
  cursor: pointer;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  padding: 8px 12px;
}
.v3-drawer-confirm-cancel:hover { color: var(--ink); }
.v3-drawer-confirm-yes {
  background: #B0556C;
  color: var(--surface);
  border: none;
  border-radius: 8px;
  padding: 8px 14px;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}
.v3-drawer-confirm-yes:hover { background: #8B3D52; }

/* === Bandeira clicável + popover === */
.v3-listas .v3-flag.is-clickable {
  cursor: pointer;
  transition: filter .15s;
}
.v3-listas .v3-flag.is-clickable:hover { filter: brightness(1.08); }

/* Pill de contexto no meta do card */
.v3-listas .v3-card-ctx-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 2px 8px;
  border-radius: 99px;
  background: color-mix(in srgb, var(--c, var(--ink-3)) 12%, transparent);
  color: var(--c, var(--ink));
  border: none;
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 500;
  cursor: pointer;
  transition: background .12s, transform .08s;
  text-transform: lowercase;
  letter-spacing: 0;
}
.v3-listas .v3-card-ctx-pill:hover {
  background: color-mix(in srgb, var(--c, var(--ink-3)) 22%, transparent);
}
.v3-listas .v3-card-ctx-pill:active { transform: scale(0.96); }
.v3-listas .v3-card-ctx-pill-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
}

/* Pill "Adicionar em Meu Dia" no card de tarefa */
.v3-listas .v3-meudia-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 9px;
  border-radius: 99px;
  background: color-mix(in srgb, var(--brand) 12%, transparent);
  color: var(--brand);
  border: none;
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  transition: background .12s, transform .08s;
}
.v3-listas .v3-meudia-pill:hover { background: var(--brand); color: #fff; }
.v3-listas .v3-meudia-pill:active { transform: scale(0.96); }
.v3-listas .v3-meudia-pill.is-on { background: var(--brand); color: #fff; }
.v3-listas .v3-meudia-pill svg { width: 12px; height: 12px; }

/* Pill "Adicionar em Esta Semana" */
.v3-listas .v3-semana-pill {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 2px 9px; border-radius: 99px;
  background: rgba(59,126,161,0.12); color: #3B7EA1;
  border: none; font-family: 'Inter', sans-serif;
  font-size: 11px; font-weight: 600; cursor: pointer;
  transition: background .12s, transform .08s;
}
.v3-listas .v3-semana-pill:hover { background: #3B7EA1; color: #fff; }
.v3-listas .v3-semana-pill:active { transform: scale(0.96); }
.v3-listas .v3-semana-pill.is-on { background: #3B7EA1; color: #fff; }
.v3-listas .v3-semana-pill svg { width: 12px; height: 12px; }
.v3-listas .v3-card-ctx-pill.is-empty {
  color: var(--ink-3, var(--ink-3));
  background: transparent;
  border: 1px dashed var(--line-2, var(--line-2));
  text-transform: none;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.04em;
  padding: 1px 7px;
}

/* Popover ancorado */
.v3-popover {
  position: fixed;
  z-index: 200;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: 0 12px 32px rgba(0,0,0,.12), 0 2px 6px rgba(0,0,0,.04);
  font-family: 'Inter', sans-serif;
  animation: v3PopoverFade 140ms ease-out;
  max-height: 360px;
  overflow: hidden;
}
.v3-popover-inner {
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 360px;
  overflow: hidden;
}
.v3-popover .v3-picker-list {
  max-height: 240px;
  overflow-y: auto;
}
@keyframes v3PopoverFade {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* === Lista do Dia · Refactor === */

/* Header da view: meta com toggle de modo foco + count */
.hoje-focus-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 99px;
  background: transparent;
  border: 1px solid var(--line-2, var(--line-2));
  color: var(--ink-2, var(--ink-2));
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: all .15s;
  margin-right: 10px;
}
.hoje-focus-toggle:hover { border-color: var(--ink, var(--ink)); color: var(--ink, var(--ink)); }
.hoje-focus-toggle.is-on {
  background: var(--ink);
  color: var(--surface);
  border-color: var(--ink);
}
.hoje-focus-toggle svg { width: 13px; height: 13px; stroke-width: 2; }
.hoje-meta-count {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--ink-3);
}

/* Accordion header dos sub-grupos */
.hoje-accordion-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 14px 0 10px;
  margin-bottom: 8px;
  border-bottom: 1px solid var(--line, var(--line));
  cursor: pointer;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #6A6A66;
  text-transform: none;
  transition: color .12s;
}
.hoje-accordion-header:hover { color: var(--ink); }
.hoje-accordion-header svg.hoje-acc-chev {
  width: 14px; height: 14px;
  stroke-width: 2;
  color: var(--ink-3);
}
.hoje-accordion-header span { flex: 1; }

/* Botão "adiar tudo" */
.hoje-bulk-postpone {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  border-radius: 99px;
  background: transparent;
  border: 1px solid var(--line-2, var(--line-2));
  color: var(--ink-3);
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 500;
  cursor: pointer;
  transition: all .15s;
  text-transform: none;
  letter-spacing: 0;
}
.hoje-bulk-postpone:hover {
  background: var(--bg);
  border-color: var(--ink);
  color: var(--ink);
}
.hoje-bulk-postpone svg { width: 11px; height: 11px; stroke-width: 2; }

/* Divider visual entre atrasadas e hoje */
.hoje-today-divider {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 18px 0 8px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--ink);
}
.hoje-today-divider::before {
  content: '';
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--line, var(--line)), var(--line, var(--line)));
}
.hoje-today-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, var(--line, var(--line)), var(--line, var(--line)), transparent);
}

/* Card de tarefa atualizado */
.hoje-task {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 12px 14px 14px;
  border-radius: 8px;
  transition: background .12s;
}
.hoje-task:hover { background: var(--bg); }
.hoje-task.is-overdue {
  border-left: 3px solid var(--area-c, #C8C8C2);
  padding-left: 10px;
  background: transparent;
}
.hoje-task.is-overdue:hover { background: var(--bg); }

.hoje-task-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.hoje-task-line {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.hoje-task-title {
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  font-weight: 500;
  color: var(--ink);
  cursor: text;
  flex: 1;
  min-width: 200px;
}
.hoje-task-area-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 9px;
  border-radius: 99px;
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 500;
  white-space: nowrap;
}
.hoje-task-area-pill svg {
  width: 11px; height: 11px;
  stroke-width: 2;
}

/* Linha "venceu" — discreta em cinza com ⚠ vermelho */
.hoje-task-meta-line {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 400;
  color: var(--ink-3);
  text-transform: none;
  letter-spacing: 0;
  display: flex;
  align-items: center;
  gap: 5px;
}
.hoje-overdue-mark {
  color: #B0556C;
  font-size: 11px;
}

/* Bloco de modo foco */
.hoje-focus-block .hoje-task {
  background: var(--surface);
  border: 1px solid var(--line, var(--line));
  margin-bottom: 10px;
}
.hoje-focus-mantra {
  text-align: center;
  margin-top: 24px;
  padding: 16px;
  font-family: 'Inter Tight', sans-serif;
  font-size: 14px;
  font-style: italic;
  color: #6A6A66;
  letter-spacing: -0.005em;
}
.hoje-focus-empty {
  text-align: center;
  padding: 60px 20px;
  color: var(--ink-3);
}
.hoje-focus-empty .hoje-empty-icon {
  margin: 0 auto 12px;
  width: 48px; height: 48px;
  display: grid; place-items: center;
}

/* Toast de desfazer adiamento */
.hoje-toast {
  position: fixed;
  bottom: 28px; left: 50%;
  transform: translateX(-50%) translateY(20px);
  background: var(--ink);
  color: var(--surface);
  padding: 12px 16px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  gap: 14px;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  box-shadow: 0 12px 32px rgba(0,0,0,.20);
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s, transform .2s;
  z-index: 200;
}
.hoje-toast.is-visible {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}
.hoje-toast button {
  background: transparent;
  color: var(--brand);
  border: none;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  cursor: pointer;
  font-size: 13px;
  padding: 0;
}
.hoje-toast button:hover { color: var(--surface); }

/* === View: Áreas da Vida (dashboard) === */
.areas-view {
  padding: 40px 56px 64px;
  max-width: 1280px;
  margin: 0 auto;
  font-family: 'Inter', sans-serif;
}
.areas-view-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 32px;
  flex-wrap: wrap;
}
.areas-view-title {
  font-family: 'Inter Tight', sans-serif;
  font-size: 36px;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.1;
  color: var(--ink);
  margin: 0 0 6px;
}
.areas-view-sub {
  font-size: 14px;
  color: #6B6B6B;
  margin: 0;
}
.areas-view-stats {
  display: flex;
  gap: 16px;
}
.areas-stat {
  text-align: center;
  padding: 10px 16px;
  border-radius: 10px;
  background: var(--surface);
  border: 1px solid var(--line);
}
.areas-stat-warn { border-color: #E8C5CC; background: #FCF4F6; }
.areas-stat-warn .areas-stat-num { color: #B0556C; }
.areas-stat-num {
  font-family: 'Inter Tight', sans-serif;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.015em;
  color: var(--ink);
  line-height: 1;
}
.areas-stat-lbl {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ink-3);
  margin-top: 4px;
}

/* Grid de cards */
.areas-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 16px;
}
.area-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 18px 18px 14px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: all .15s;
  position: relative;
  overflow: hidden;
}
.area-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--c, var(--ink-3));
}
.area-card:hover {
  border-color: var(--c, var(--ink-3));
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
  transform: translateY(-2px);
}
.area-card.is-orphan { opacity: 0.75; }

.area-card-head {
  display: flex;
  align-items: center;
  gap: 10px;
}
.area-card-icon {
  width: 36px; height: 36px;
  border-radius: 9px;
  background: var(--c, var(--ink-3));
  color: var(--surface);
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.area-card-icon svg { width: 18px; height: 18px; stroke-width: 2; }
.area-card-name {
  font-family: 'Inter Tight', sans-serif;
  font-size: 17px;
  font-weight: 600;
  letter-spacing: -0.015em;
  color: var(--ink);
  margin: 0;
  flex: 1;
  min-width: 0;
}

/* Mantra "por que isso importa" */
.area-card-mantra {
  padding: 8px 10px;
  border-radius: 8px;
  background: var(--bg);
  cursor: text;
  transition: background .12s;
  min-height: 32px;
  display: flex;
  align-items: center;
}
.area-card-mantra:hover { background: #F0EFEA; }
.area-card-mantra[data-editing="1"] { background: var(--surface); }
.area-card-mantra-text {
  font-family: 'Inter Tight', sans-serif;
  font-size: 13px;
  font-style: italic;
  color: var(--ink-2);
  letter-spacing: -0.005em;
  line-height: 1.4;
}
.area-card-mantra-placeholder {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: var(--c, var(--ink-3));
  opacity: 0.7;
  font-weight: 500;
}
.area-card-mantra-input {
  width: 100%;
  font-family: 'Inter Tight', sans-serif;
  font-size: 13px;
  font-style: italic;
  color: var(--ink);
  background: transparent;
  border: none;
  outline: none;
}

/* Métricas */
.area-card-metrics {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-top: 4px;
  cursor: pointer;
  border-top: 1px solid #F4F4F2;
  padding-top: 12px;
}
.area-card:hover .area-card-metrics { color: var(--c, var(--ink)); }
.area-metric {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.area-metric-num {
  font-family: 'Inter Tight', sans-serif;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.015em;
  color: var(--ink);
  line-height: 1;
}
.area-metric-lbl {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ink-3);
}
.area-metric-soft .area-metric-num { color: #6B6B6B; font-size: 16px; }

.area-card-orphan-tag {
  position: absolute;
  top: 12px; right: 12px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #B0B0AA;
  background: rgba(0,0,0,0.03);
  padding: 2px 8px;
  border-radius: 99px;
}

/* Animação de conclusão na Lista do Dia */
.hoje-task.is-completing {
  animation: v3CardKickOut 380ms cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
.hoje-task.is-collapsing {
  transition: height 180ms ease, padding 180ms ease, margin 180ms ease, border-width 180ms ease;
  overflow: hidden;
}

/* === V3 Project Card (Passo 2) === */
.v3-listas .v3-project-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  transition: all .15s;
  position: relative;
  border-left: 4px solid var(--area-c, var(--ink-3));
}
.v3-listas .v3-project-card:hover {
  border-color: #D8D7D2;
  box-shadow: 0 4px 16px rgba(0,0,0,.06);
}
.v3-listas .v3-project-card.is-stuck {
  background: #FFFAF5;
  border-color: #F0D5C7;
}
.v3-listas .v3-project-card-head {
  display: flex;
  align-items: center;
  gap: 12px;
}
.v3-listas .v3-project-card-icon {
  width: 32px; height: 32px;
  border-radius: 8px;
  color: var(--surface);
  display: grid;
  place-items: center;
  flex-shrink: 0;
  border: none;
  cursor: pointer;
  transition: filter .15s, transform .08s;
  padding: 0;
}
.v3-listas .v3-project-card-icon:hover { filter: brightness(1.08); }
.v3-listas .v3-project-card-icon:active { transform: scale(0.94); }
.v3-listas .v3-project-card-icon svg { width: 16px; height: 16px; stroke-width: 2; }
.v3-listas .v3-project-card-title {
  font-family: 'Inter Tight', sans-serif;
  font-size: 17px;
  font-weight: 600;
  letter-spacing: -0.015em;
  color: var(--ink);
  margin: 0;
  flex: 1;
  cursor: pointer;
}
.v3-listas .v3-project-card-title:hover { color: var(--area-c, var(--ink)); }
.v3-listas .v3-project-card-status {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 9px;
  border-radius: 99px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--st-c, var(--ink));
  background: color-mix(in srgb, var(--st-c, var(--ink)) 10%, transparent);
}
.v3-listas .v3-project-card-status-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
}
.v3-listas .v3-project-card-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ink-3);
}
.v3-listas .v3-project-card-outcome { display: flex; flex-direction: column; gap: 4px; }
.v3-listas .v3-project-card-outcome-text {
  font-family: 'Inter Tight', sans-serif;
  font-size: 13.5px;
  font-style: italic;
  color: var(--ink-2);
  letter-spacing: -0.005em;
  line-height: 1.4;
}
.v3-listas .v3-project-card-outcome-empty {
  padding: 6px 10px;
  background: transparent;
  border: 1px dashed #D8D7D2;
  border-radius: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: var(--ink-3);
  cursor: pointer;
  text-align: left;
}
.v3-listas .v3-project-card-outcome-empty:hover { border-color: var(--ink); color: var(--ink); }
.v3-listas .v3-project-card-next-row {
  display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap;
}
.v3-listas .v3-project-card-next {
  font-family: 'Inter', sans-serif; font-size: 13px; color: var(--ink); font-weight: 500;
}
.v3-listas .v3-project-card-no-next {
  font-family: 'Inter', sans-serif; font-size: 12px; color: #B0556C;
  display: inline-flex; align-items: center; gap: 5px;
}
.v3-listas .v3-project-card-no-next svg { width: 12px; height: 12px; stroke-width: 2; }
.v3-listas .v3-project-card-foot {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  padding-top: 8px; border-top: 1px solid #F4F4F2;
}
.v3-listas .v3-project-card-meta-pill {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 2px 9px; border-radius: 99px;
  font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 500;
  border: none;
  cursor: pointer;
  transition: filter .12s, transform .08s;
}
.v3-listas .v3-project-card-meta-pill:hover { filter: brightness(0.96); }
.v3-listas .v3-project-card-meta-pill:active { transform: scale(0.96); }
.v3-listas .v3-project-card-meta-pill svg { width: 10px; height: 10px; stroke-width: 2; }
.v3-listas .v3-project-card-meta-pill-empty {
  background: transparent !important;
  color: var(--ink-3) !important;
  border: 1px dashed #D8D7D2;
  padding: 1px 8px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.v3-listas .v3-project-card-meta-pill-empty:hover {
  border-color: var(--ink);
  color: var(--ink) !important;
}
.v3-listas .v3-project-card-count,
.v3-listas .v3-project-card-when {
  font-family: 'JetBrains Mono', monospace; font-size: 10px; color: var(--ink-3);
}
.v3-listas .v3-project-card-stuck-tag {
  margin-left: auto;
  display: inline-flex; align-items: center; gap: 4px;
  padding: 2px 9px; border-radius: 99px;
  background: #FCEFE5; color: #C26A3A;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em;
}
.v3-listas .v3-project-card-stuck-tag svg { width: 11px; height: 11px; stroke-width: 2; }

/* === Drawer de projeto === */
.v3-proj-status-row { display: flex; gap: 6px; flex-wrap: wrap; }
.v3-proj-status-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 12px; border-radius: 8px;
  background: var(--bg); border: 1px solid var(--line);
  font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 500;
  color: var(--ink-2); cursor: pointer; transition: all .12s;
}
.v3-proj-status-btn:hover { background: #F0EFEA; }
.v3-proj-status-btn.is-active {
  background: var(--st-c, var(--ink)); color: var(--surface); border-color: var(--st-c, var(--ink));
}
.v3-proj-status-btn.is-active .v3-proj-status-dot { background: rgba(255,255,255,0.8) !important; }
.v3-proj-status-dot { width: 7px; height: 7px; border-radius: 50%; }

.v3-proj-actions-list { display: flex; flex-direction: column; gap: 6px; margin-bottom: 6px; }
.v3-proj-action-row {
  display: flex; align-items: center; gap: 10px;
  padding: 8px 10px; border-radius: 8px;
  background: var(--bg); border: 1px solid var(--line);
}
.v3-proj-action-row:hover { background: var(--surface-2); }
.v3-proj-action-title { flex: 1; font-size: 13px; color: var(--ink); cursor: pointer; }
.v3-proj-action-title:hover { color: var(--brand); }
.v3-proj-no-actions {
  padding: 12px; display: flex; align-items: center; gap: 8px;
  border-radius: 8px; background: #FFFAF5; border: 1px dashed #F0D5C7;
  font-size: 12px; color: #C26A3A;
}
.v3-proj-no-actions svg { width: 14px; height: 14px; stroke-width: 2; }
.v3-proj-add-action {
  width: 100%; padding: 9px 12px; border-radius: 8px;
  background: transparent; border: 1px dashed #D8D7D2; color: #6A6A66;
  font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 500;
  cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  transition: all .12s;
}
.v3-proj-add-action:hover { border-color: var(--ink); color: var(--ink); }
.v3-proj-add-action svg { width: 13px; height: 13px; stroke-width: 2; }
.v3-proj-new-input {
  flex: 1; background: transparent; border: none;
  font-family: 'Inter', sans-serif; font-size: 13px; outline: none;
}
.v3-cb-disabled { opacity: 0.4; cursor: not-allowed; }

/* === View: Horizontes (Passo 3) === */
.horizontes-view {
  padding: 40px 56px 64px;
  max-width: 880px;
  margin: 0 auto;
  font-family: 'Inter', sans-serif;
}
.horizontes-header { margin-bottom: 36px; }
.horizontes-title {
  font-family: 'Inter Tight', sans-serif;
  font-size: 36px;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.1;
  color: var(--ink);
  margin: 0 0 6px;
}
.horizontes-sub {
  font-size: 14px;
  color: #6B6B6B;
  margin: 0;
}
.horizontes-section {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 24px;
  margin-bottom: 20px;
}
.horizontes-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
  flex-wrap: wrap;
}
.horizontes-section-title {
  font-family: 'Inter Tight', sans-serif;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -0.015em;
  color: var(--ink);
  margin: 0 0 4px;
}
.horizontes-section-sub {
  font-size: 12px;
  color: var(--ink-3);
}
.horizontes-add-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 12px; border-radius: 8px;
  background: var(--ink); color: var(--surface); border: none;
  font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 500;
  cursor: pointer; transition: background .12s;
}
.horizontes-add-btn:hover { background: #333333; }
.horizontes-add-btn svg { width: 12px; height: 12px; stroke-width: 2; }

.horizontes-goal-add {
  margin-bottom: 14px;
  padding: 14px;
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.horizontes-goal-input {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  outline: none;
}
.horizontes-goal-input:focus { border-color: var(--ink); }
.horizontes-goal-row { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.horizontes-goal-select, .horizontes-goal-date {
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  background: var(--surface);
}
.horizontes-goal-save {
  padding: 8px 14px; border-radius: 8px;
  background: var(--ink); color: var(--surface); border: none;
  font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 500;
  cursor: pointer;
}
.horizontes-goal-cancel {
  padding: 8px 14px; border-radius: 8px;
  background: transparent; color: var(--ink-3); border: none;
  font-family: 'Inter', sans-serif; font-size: 13px;
  cursor: pointer;
}

.horizontes-goals-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 12px;
}
.goal-card {
  background: var(--bg);
  border: 1px solid var(--line);
  border-left: 4px solid var(--c, var(--ink-3));
  border-radius: 10px;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  transition: all .15s;
}
.goal-card:hover { background: var(--surface); box-shadow: 0 4px 12px rgba(0,0,0,.05); }
.goal-card.is-done { opacity: 0.55; }
.goal-card-head { display: flex; align-items: center; gap: 10px; }
.goal-card-check {
  width: 22px; height: 22px;
  border-radius: 50%;
  border: 1.5px solid #C8C8C4;
  background: transparent;
  cursor: pointer;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  color: transparent;
  transition: all .15s;
}
.goal-card-check:hover { border-color: var(--c, var(--ink)); }
.goal-card-check.is-done {
  background: var(--c, var(--ink));
  border-color: var(--c, var(--ink));
  color: var(--surface);
}
.goal-card-check svg { width: 13px; height: 13px; stroke-width: 3; }
.goal-card-area-pill {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 3px 9px; border-radius: 99px;
  font-size: 11px; font-weight: 500;
  flex: 1;
  font-family: 'Inter', sans-serif;
}
.goal-card-area-pill svg { width: 11px; height: 11px; stroke-width: 2; }
.goal-card-del {
  background: transparent; border: none;
  color: #C8C8C2; cursor: pointer;
  padding: 4px; border-radius: 6px;
  opacity: 0; transition: opacity .15s, color .15s;
}
.goal-card:hover .goal-card-del { opacity: 1; }
.goal-card-del:hover { color: #B0556C; }
.goal-card-del svg { width: 13px; height: 13px; stroke-width: 2; }
.goal-card-title {
  font-family: 'Inter Tight', sans-serif;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 0;
  cursor: text;
  outline: none;
  border-radius: 4px;
  padding: 2px 4px;
  transition: background .12s;
}
.goal-card-title:focus { background: #F0EFEA; }
.goal-card.is-done .goal-card-title { text-decoration: line-through; }
.goal-card-meta {
  display: flex; gap: 12px; flex-wrap: wrap;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  color: var(--ink-3);
}
.goal-card-target, .goal-card-projects {
  display: inline-flex; align-items: center; gap: 4px;
}
.goal-card-target svg, .goal-card-projects svg { width: 11px; height: 11px; stroke-width: 2; }
.goal-card-no-proj { font-style: italic; opacity: 0.7; }

.horizontes-empty {
  padding: 24px;
  text-align: center;
  color: var(--ink-3);
  font-style: italic;
  font-size: 13px;
}

.horizontes-done-details {
  margin-top: 20px;
  border-top: 1px solid var(--line);
  padding-top: 16px;
}
.horizontes-done-details summary {
  cursor: pointer;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ink-3);
  margin-bottom: 12px;
}
.horizontes-done-details summary:hover { color: var(--ink); }

.horizontes-textarea {
  width: 100%;
  min-height: 140px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 10px;
  font-family: 'Inter Tight', sans-serif;
  font-size: 15px;
  line-height: 1.6;
  color: var(--ink);
  background: var(--bg);
  outline: none;
  resize: vertical;
  letter-spacing: -0.005em;
  transition: border-color .15s, background .15s;
}
.horizontes-textarea:focus { border-color: var(--ink); background: var(--surface); }
.horizontes-textarea-tall { min-height: 200px; }

/* === Revisão Semanal (Passo 4) === */
.review-wrap {
  padding: 32px 56px 64px;
  max-width: 720px;
  margin: 0 auto;
}
.review-intro {
  margin-bottom: 24px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--line);
}
.review-intro h3 {
  font-family: 'Inter Tight', sans-serif;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -0.015em;
  color: var(--ink);
  margin: 0 0 6px;
}
.review-intro p {
  font-size: 13px;
  color: #6B6B6B;
  margin: 0;
}
.review-steps-list { display: flex; flex-direction: column; gap: 10px; }
.review-step-card {
  display: flex;
  gap: 14px;
  padding: 16px 18px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
  transition: all .15s;
}
.review-step-card.is-done {
  background: #F4F8F5;
  border-color: #D5E5D9;
  opacity: 0.72;
}
.review-step-check {
  width: 32px; height: 32px;
  border-radius: 50%;
  border: 1.5px solid #C8C8C4;
  background: transparent;
  cursor: pointer;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  color: transparent;
  transition: all .15s;
}
.review-step-check:hover { border-color: #1F8A5B; }
.review-step-check.is-done {
  background: #1F8A5B;
  border-color: #1F8A5B;
  color: var(--surface);
}
.review-step-check svg { width: 16px; height: 16px; stroke-width: 3; }
.review-step-num {
  font-family: 'Inter Tight', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: var(--ink-3);
}
.review-step-body { flex: 1; display: flex; flex-direction: column; gap: 6px; }
.review-step-row1 { display: flex; align-items: center; gap: 8px; }
.review-step-icon { width: 16px; height: 16px; stroke-width: 2; color: var(--ink-2); }
.review-step-title {
  font-family: 'Inter Tight', sans-serif;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: -0.015em;
  color: var(--ink);
  flex: 1;
}
.review-step-card.is-done .review-step-title { text-decoration: line-through; }
.review-step-count {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  color: #B0556C;
  background: #FCEFE5;
  padding: 2px 8px;
  border-radius: 99px;
}
.review-step-desc { font-size: 12px; color: #6B6B6B; }
.review-step-action {
  margin-top: 4px;
  padding: 7px 12px;
  background: var(--ink);
  color: var(--surface);
  border: none;
  border-radius: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  align-self: flex-start;
  transition: background .12s;
}
.review-step-action:hover { background: #333333; }
.review-step-empty {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: #1F8A5B;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.review-done {
  text-align: center;
  padding: 60px 20px;
}
.review-done-icon {
  width: 80px; height: 80px;
  margin: 0 auto 20px;
  display: grid;
  place-items: center;
  background: #DBF1E1;
  border-radius: 50%;
  color: #1F8A5B;
}
.review-done-icon svg { width: 40px; height: 40px; stroke-width: 2; }
.review-done h2 {
  font-family: 'Inter Tight', sans-serif;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--ink);
  margin: 0 0 8px;
}
.review-done p {
  font-size: 14px;
  color: #6B6B6B;
  margin: 0 0 24px;
}
.review-reset-btn {
  padding: 10px 20px;
  background: var(--ink);
  color: var(--surface);
  border: none;
  border-radius: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
}
.review-reset-btn:hover { background: #333333; }

/* ====================================================
   LISTA DO DIA — MODO PAPEL (refactor)
   ==================================================== */

/* Esconde elementos do header antigo: focus-toggle e meta-count */
#view-hoje .hoje-focus-toggle,
#view-hoje .hoje-meta-count { display: none !important; }

/* "Meu Dia" no menu principal: acento quente da marca pra se destacar */
.rail-item-hoje svg { color: var(--brand); stroke: var(--brand); }

/* Header da view-hoje: HERÓI centralizado — o sol é o maior destaque da página */
#view-hoje .view-header.hoje-hero {
  background: transparent;
  border-bottom: 1px solid rgba(180,160,110,0.22);
  padding: 52px 56px 26px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0;
  position: relative;
}
/* O quadrado do sol: elemento dominante no topo */
.hoje-hero-icon {
  width: 104px;
  height: 104px;
  border-radius: 28px;
  background: var(--brand);
  display: grid;
  place-items: center;
  box-shadow: 0 14px 34px -10px rgba(200,140,40,0.5);
  margin-bottom: 22px;
}
.hoje-hero-icon svg {
  width: 56px;
  height: 56px;
  color: var(--surface);
  stroke: var(--surface);
  stroke-width: 2;
}
#view-hoje .view-header.hoje-hero h2 {
  font-family: 'Lora', 'Inter Tight', Georgia, serif;
  font-size: 38px;
  font-weight: 600;
  color: #2A2520;
  letter-spacing: -0.02em;
  line-height: 1.1;
  margin: 0;
  flex: none;
}
/* Data por extenso, logo abaixo do título */
.hoje-hero-date {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: #B0A88A;
  margin-top: 10px;
}
/* Ações (tema + adicionar) discretas no canto superior direito */
.hoje-hero-actions {
  position: absolute;
  top: 22px;
  right: 28px;
  display: flex;
  align-items: center;
  gap: 12px;
}
#view-hoje .view-header .view-meta {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #B0A88A;
}
#view-hoje .view-header .btn {
  background: #2A2520;
  color: #FBF8F2;
  border: none;
  padding: 9px 14px;
  border-radius: 10px;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 500;
}

/* Fundo papel pra view inteira */
#view-hoje {
  background: #FBF8F2;
  background-image:
    repeating-linear-gradient(
      to bottom,
      transparent 0,
      transparent 47px,
      rgba(0,0,0,0.025) 48px
    );
}

/* Wrapper externo "folha de papel" */
.paper-wrap {
  max-width: 640px;
  margin: 28px auto 64px;
  padding: 40px 56px 64px;
  background: transparent;
  font-family: 'Lora', Georgia, serif;
}

/* Data por extenso, discreta no topo */
#view-hoje .hoje-date {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #B0A88A;
  margin-bottom: 28px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(180,160,110,0.18);
  text-align: center;
}

/* Lista — sem marker, alinhamento manuscrito */
.paper-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* Cada item: linha grande, letra serifada, espaçamento generoso */
.paper-item {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  padding: 18px 12px;
  position: relative;
  transition: background .15s, opacity .25s;
  border-radius: 8px;
}
.paper-item:hover { background: rgba(0,0,0,0.025); }

/* Bullet colorido sutil (cor da área) */
.paper-bullet {
  width: 12px; height: 12px;
  border-radius: 50%;
  margin-top: 14px;
  flex-shrink: 0;
  opacity: 0.7;
}

/* Texto — fonte serifada grande, manuscrito */
.paper-text {
  flex: 1;
  font-family: 'Lora', Georgia, serif;
  font-size: 27px;
  font-weight: 400;
  color: #2A2520;
  line-height: 1.4;
  cursor: pointer;
  letter-spacing: -0.005em;
  position: relative;
  display: inline-block;
  user-select: none;
  transition: color .15s;
}
.paper-text:hover { color: var(--ink); }

/* Atrasadas: texto mais discreto, com pequena marca à esquerda */
.paper-item.is-overdue .paper-text {
  color: #6B6B66;
  font-style: italic;
}
.paper-item.is-overdue .paper-bullet { opacity: 0.4; }

/* Animação: risco passando pelo texto */
.paper-item.is-striking .paper-text::after {
  content: '';
  position: absolute;
  left: -4px;
  top: 50%;
  width: 0;
  height: 2px;
  background: #6B6B66;
  border-radius: 2px;
  animation: paperStrike 480ms cubic-bezier(.4,0,.2,1) forwards;
  transform: translateY(-50%);
}
@keyframes paperStrike {
  0%   { width: 0; opacity: 0.9; }
  100% { width: calc(100% + 8px); opacity: 0.65; }
}

/* Fade-out depois do risco */
.paper-item.is-fading {
  opacity: 0;
  transition: opacity 260ms ease;
}

/* Colapso de altura */
.paper-item.is-collapsing {
  transition: height 220ms ease, padding 220ms ease, margin 220ms ease, opacity 200ms ease;
  overflow: hidden;
}

/* Empty states */
.paper-empty,
.paper-empty-block {
  max-width: 640px;
  margin: 80px auto 0;
  padding: 0 56px;
  text-align: center;
  font-family: 'Lora', Georgia, serif;
}
.paper-empty-icon {
  width: 56px; height: 56px;
  margin: 0 auto 18px;
  display: grid;
  place-items: center;
  color: #D4B873;
  opacity: 0.6;
}
.paper-empty-icon svg { width: 36px; height: 36px; stroke-width: 1.5; }
.paper-empty-title {
  font-size: 22px;
  font-weight: 500;
  color: var(--ink-2);
  margin: 0 0 6px;
  font-style: italic;
  letter-spacing: -0.01em;
}
.paper-empty-sub {
  font-size: 14px;
  color: #9B9080;
  margin: 0;
}

/* Concluídas hoje — histórico discreto no rodapé do Meu Dia */
.paper-done-section {
  margin-top: 40px;
  padding-top: 20px;
  border-top: 1px solid rgba(180,160,110,0.18);
}
.paper-done-label {
  display: flex; align-items: center; gap: 6px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px; font-weight: 500;
  text-transform: uppercase; letter-spacing: 0.1em;
  color: #B0A88A; margin-bottom: 8px;
}
.paper-done-label svg { width: 12px; height: 12px; }
.paper-list-done .paper-item { padding: 7px 8px; opacity: 0.55; }
.paper-list-done .paper-item:hover { opacity: 0.85; }
.paper-list-done .paper-bullet { margin-top: 11px; opacity: 0.4; }
.paper-list-done .paper-text {
  font-size: 18px;
  text-decoration: line-through;
  text-decoration-color: rgba(0,0,0,0.3);
  color: #8A857C;
}
.paper-list-done .paper-text:hover { color: #5A554C; }

/* Mantra discreto no rodapé */
.paper-mantra {
  margin-top: 56px;
  text-align: center;
  font-family: 'Lora', Georgia, serif;
  font-style: italic;
  font-size: 13px;
  color: #B0A88A;
  letter-spacing: 0.01em;
}

/* Atrasadas — gaveta no rodapé */
.paper-overdue-link-wrap {
  margin-top: 48px;
  text-align: center;
}
.paper-overdue-link {
  background: transparent;
  border: 1px dashed rgba(180,160,110,0.4);
  color: #8A7A5C;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 8px 16px;
  border-radius: 99px;
  cursor: pointer;
  transition: all .15s;
}
.paper-overdue-link:hover {
  border-color: #8A7A5C;
  color: #4A4030;
  background: rgba(180,160,110,0.06);
}

.paper-overdue-section { margin-top: 36px; }
.paper-overdue-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: 0 8px 12px;
  margin-bottom: 6px;
  border-bottom: 1px dashed rgba(180,160,110,0.25);
}
.paper-overdue-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #B0A88A;
}
.paper-overdue-toggle {
  background: transparent;
  border: none;
  color: #9B9080;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.06em;
  cursor: pointer;
}
.paper-overdue-toggle:hover { color: #4A4030; }

.paper-list-overdue .paper-text {
  font-size: 18px;
  color: #6B6B66;
}

/* Esconde elementos antigos do Hoje que não usamos mais
   (NOTA: .hoje-add-wrap removido daqui — controlado pelo JS) */
#view-hoje .hoje-section-header,
#view-hoje .hoje-accordion-header,
#view-hoje .hoje-bulk-postpone,
#view-hoje .hoje-today-divider,
#view-hoje .hoje-task-area-pill,
#view-hoje .hoje-task-meta-line,
#view-hoje .hoje-remove-btn,
#view-hoje .hoje-section { display: none !important; }

/* Form de adicionar em Hoje — estilo papel */
#view-hoje .hoje-add-wrap {
  max-width: 640px;
  margin: 20px auto 0;
  padding: 0 56px;
}
#view-hoje .hoje-add-wrap .org-add-form {
  display: flex;
  gap: 10px;
  background: rgba(255,255,255,0.6);
  padding: 14px 16px;
  border-radius: 10px;
  border: 1px dashed rgba(180,160,110,0.4);
}
#view-hoje .hoje-add-wrap .org-add-input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  font-family: 'Lora', Georgia, serif;
  font-size: 17px;
  color: #2A2520;
}
#view-hoje .hoje-add-wrap .org-add-input::placeholder {
  color: #B0A88A;
  font-style: italic;
}
#view-hoje .hoje-add-wrap .btn-primary {
  background: #4A4030;
  border: none;
  color: #F8F4E8;
  padding: 8px 14px;
  border-radius: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
#view-hoje .hoje-add-wrap .btn-primary:hover { background: #2A2520; }
#view-hoje .hoje-add-wrap .btn-primary svg { width: 13px; height: 13px; }

/* ============================================================
   TEMAS DE PAPEL para Lista do Dia
   Aplicados via data-paper-theme no #view-hoje
   ============================================================ */

/* Tema padrão: pergaminho */
#view-hoje[data-paper-theme="pergaminho"],
#view-hoje:not([data-paper-theme]) {
  background: #FBF8F2;
  background-image: repeating-linear-gradient(
    to bottom, transparent 0, transparent 47px,
    rgba(0,0,0,0.025) 48px
  );
}

/* Tema: caderno azul (linhas azuis horizontais + margem vermelha à esquerda) */
#view-hoje[data-paper-theme="azul"] {
  background: #FCFCF8;
  background-image:
    linear-gradient(to right, transparent 0, transparent 96px, rgba(220,80,80,0.20) 96px, rgba(220,80,80,0.20) 97px, transparent 97px),
    repeating-linear-gradient(
      to bottom, transparent 0, transparent 31px,
      rgba(80,120,180,0.22) 32px
    );
}
#view-hoje[data-paper-theme="azul"] .paper-wrap { padding-left: 116px; }
#view-hoje[data-paper-theme="azul"] .paper-text { color: #1A3A6B; }
#view-hoje[data-paper-theme="azul"] .paper-empty-title { color: #1A3A6B; }

/* Tema: pautado (cinza claro, linhas finas) */
#view-hoje[data-paper-theme="pautado"] {
  background: #FAFAFA;
  background-image: repeating-linear-gradient(
    to bottom, transparent 0, transparent 31px,
    rgba(0,0,0,0.06) 32px
  );
}
#view-hoje[data-paper-theme="pautado"] .paper-text { color: var(--ink); }

/* Tema: quadriculado (grid leve, papel matemática) */
#view-hoje[data-paper-theme="quadriculado"] {
  background: #FCFCF8;
  background-image:
    linear-gradient(rgba(0,80,140,0.10) 1px, transparent 1px),
    linear-gradient(to right, rgba(0,80,140,0.10) 1px, transparent 1px);
  background-size: 24px 24px;
}
#view-hoje[data-paper-theme="quadriculado"] .paper-text { color: #1A2840; }

/* Tema: noite (escuro, papel cinza-grafite) */
#view-hoje[data-paper-theme="noite"] {
  background: #1F1E1A;
  background-image: repeating-linear-gradient(
    to bottom, transparent 0, transparent 47px,
    rgba(255,255,255,0.04) 48px
  );
  color: #E8E2D2;
}
#view-hoje[data-paper-theme="noite"] .paper-text { color: #E8E2D2; }
#view-hoje[data-paper-theme="noite"] .paper-empty-title { color: #B8AE93; }
#view-hoje[data-paper-theme="noite"] .paper-empty-sub { color: #807660; }
#view-hoje[data-paper-theme="noite"] .paper-mantra { color: #807660; }
#view-hoje[data-paper-theme="noite"] .hoje-date { color: #807660; border-bottom-color: rgba(255,255,255,0.08); }
#view-hoje[data-paper-theme="noite"] .view-header { border-bottom-color: rgba(255,255,255,0.08); }
#view-hoje[data-paper-theme="noite"] .view-header h2 { color: #B8AE93; }
#view-hoje[data-paper-theme="noite"] .paper-item:hover { background: rgba(255,255,255,0.04); }
#view-hoje[data-paper-theme="noite"] .paper-item.is-overdue .paper-text { color: #807660; }
#view-hoje[data-paper-theme="noite"] .paper-overdue-link {
  border-color: rgba(255,255,255,0.15);
  color: #B8AE93;
}
#view-hoje[data-paper-theme="noite"] .hoje-add-wrap .org-add-form {
  background: rgba(255,255,255,0.05);
  border-color: rgba(255,255,255,0.15);
}
#view-hoje[data-paper-theme="noite"] .hoje-add-wrap .org-add-input { color: #E8E2D2; }
#view-hoje[data-paper-theme="noite"] .hoje-add-wrap .org-add-input::placeholder { color: #807660; }

/* === Seletor de tema (botão no header de Hoje) === */
.hoje-theme-picker {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.hoje-theme-toggle {
  background: transparent;
  border: 1px solid rgba(180,160,110,0.3);
  color: #8A7A5C;
  padding: 6px 12px;
  border-radius: 99px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all .15s;
}
.hoje-theme-toggle:hover {
  background: rgba(180,160,110,0.08);
  color: #4A4030;
}
.hoje-theme-toggle svg { width: 13px; height: 13px; stroke-width: 2; }

.hoje-theme-menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(0,0,0,.10);
  padding: 6px;
  display: none;
  flex-direction: column;
  gap: 2px;
  min-width: 200px;
  z-index: 100;
}
.hoje-theme-menu.is-open { display: flex; }
.hoje-theme-option {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 10px;
  border: none;
  background: transparent;
  border-radius: 6px;
  cursor: pointer;
  text-align: left;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  color: var(--ink);
  transition: background .12s;
}
.hoje-theme-option:hover { background: var(--surface-2); }
.hoje-theme-option.is-active { background: #F0F0EC; font-weight: 600; }
.hoje-theme-swatch {
  width: 28px; height: 28px;
  border-radius: 6px;
  flex-shrink: 0;
  border: 1px solid rgba(0,0,0,0.05);
}
.hoje-theme-swatch-pergaminho {
  background: #FBF8F2;
  background-image: repeating-linear-gradient(to bottom, transparent 0, transparent 6px, rgba(0,0,0,0.07) 7px);
}
.hoje-theme-swatch-azul {
  background: #FCFCF8;
  background-image:
    linear-gradient(to right, transparent 0, transparent 5px, rgba(220,80,80,0.3) 5px, rgba(220,80,80,0.3) 6px, transparent 6px),
    repeating-linear-gradient(to bottom, transparent 0, transparent 5px, rgba(80,120,180,0.30) 6px);
}
.hoje-theme-swatch-pautado {
  background: #FAFAFA;
  background-image: repeating-linear-gradient(to bottom, transparent 0, transparent 5px, rgba(0,0,0,0.10) 6px);
}
.hoje-theme-swatch-quadriculado {
  background: #FCFCF8;
  background-image:
    linear-gradient(rgba(0,80,140,0.15) 1px, transparent 1px),
    linear-gradient(to right, rgba(0,80,140,0.15) 1px, transparent 1px);
  background-size: 6px 6px;
}
.hoje-theme-swatch-noite {
  background: #1F1E1A;
  background-image: repeating-linear-gradient(to bottom, transparent 0, transparent 6px, rgba(255,255,255,0.08) 7px);
}

/* === Frase de ancoragem (substitui banners) === */
.v3-listas .anchor-line {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding: 0;
  margin-bottom: 24px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  color: var(--ink-2, var(--ink-2));
  line-height: 1.6;
}
.v3-listas .anchor-prefix,
.v3-listas .anchor-conn {
  color: #6A6A66;
  font-size: 13.5px;
}
.v3-listas .anchor-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 10px 5px 8px;
  border-radius: 8px;
  background: var(--surface);
  color: var(--ac, var(--ink));
  border: 1.5px solid var(--ac, var(--ink));
  font-family: 'Inter Tight', sans-serif;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: -0.005em;
  cursor: pointer;
  transition: background .15s, transform .08s;
}
.v3-listas .anchor-chip:hover {
  background: color-mix(in srgb, var(--ac, var(--ink)) 8%, white);
}
.v3-listas .anchor-chip:active { transform: scale(0.96); }
.v3-listas .anchor-chip svg.ai { width: 13px; height: 13px; stroke-width: 2.2; }
.v3-listas .anchor-chip svg.cv { width: 11px; height: 11px; stroke-width: 2; opacity: 0.65; }

/* Chip vazio (Todas / Sem) */
.v3-listas .anchor-chip-empty {
  --ac: var(--ink-3);
  background: var(--bg);
  color: #6A6A66;
  border-color: #D8D7D2;
  font-weight: 500;
}
.v3-listas .anchor-chip-empty:hover {
  background: #F0EFEA;
  border-color: var(--ink-3);
}

/* Link "+ filtrar por área" (quando sem área mas com contexto) */
.v3-listas .anchor-area-add {
  background: transparent;
  border: none;
  color: var(--ink-3);
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: lowercase;
  cursor: pointer;
  padding: 4px 8px;
}
.v3-listas .anchor-area-add:hover { color: var(--ink); text-decoration: underline; }

/* === Zonas unificadas: header-zone (cinza-quente) + list-zone (branco) === */
.v3-listas .header-zone {
  background: var(--bg);
  padding: 48px 44px 24px;
  border-bottom: 1px solid var(--line, var(--line));
}
.v3-listas .v3-h-main {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
  padding: 0 !important;
}
.v3-listas .v3-h-square {
  width: 48px; height: 48px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: var(--surface-2) !important;
  border: 1px solid var(--line);
  color: var(--ink-2);
  flex-shrink: 0;
}
.v3-listas .v3-h-square svg {
  width: 22px;
  height: 22px;
  color: var(--ink-2);
  stroke: var(--ink-2);
  stroke-width: 2;
}
.v3-listas .v3-h-title {
  font-family: 'Inter Tight', sans-serif;
  font-size: 36px;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.05;
  color: var(--ink);
  margin: 0;
}

/* Abas de contexto dentro do header-zone, sem gap */
.v3-listas .header-zone .v3-filter-bar {
  background: transparent;
  padding: 0 !important;
  border-bottom: none;
  margin-top: 8px;
}

/* List-zone: container dos cards (branco) */
.v3-listas .list-zone {
  background: var(--surface);
  padding: 22px 44px 28px;
}

.v3-listas .list-zone .v3-list {
  padding: 0;
  margin: 0;
}
.v3-listas .list-zone .v3-list-grouped {
  padding: 0;
}

/* Botão bulk de área dentro da list-zone */
.v3-bulk-area-wrap {
  padding: 0 0 14px;
  display: flex;
}

/* Esconde os banners antigos (ÁREA ATIVA / CONTEXTO ATIVO / botão azul sólido) */
.v3-listas .v3-ctx-banner,
.v3-listas .v3-area-row,
.v3-listas .v3-area-selector,
.v3-listas .v3-area-label { display: none !important; }

/* Pulse no toggle ao clicar */
.rail-toggle.is-pulsing {
  animation: railTogglePulse 400ms cubic-bezier(0.34, 1.56, 0.64, 1);
}
@keyframes railTogglePulse {
  0%   { transform: scale(1); box-shadow: 0 0 0 0 rgba(232,112,74,0.45); }
  40%  { transform: scale(1.18); box-shadow: 0 0 0 8px rgba(232,112,74,0); }
  100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(232,112,74,0); }
}

/* Toggle no rodapé quando contraído (centralizado, antes do Config) */
.rail-main:not(.is-expanded) .rail-brand-row {
  flex-direction: column;
  gap: 6px;
}
.rail-main:not(.is-expanded) .rail-toggle {
  margin-top: 2px;
}

/* ============================================================
   DIÁRIO (Commonplace Book) — view #view-journal
   ============================================================ */

#view-journal {
  background: var(--surface);
}
.journal-root {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

/* Header zone (mesmo padrão das Listas) */
.journal-header-zone {
  background: var(--bg);
  padding: 48px 44px 24px;1
  border-bottom: 1px solid var(--line);
}
.journal-h-main {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
}
.journal-h-square {
  width: 48px; height: 48px;
  border-radius: 12px;
  background: var(--surface-2);
  border: 1px solid var(--line);
  display: grid; place-items: center;
  flex-shrink: 0;
}
.journal-h-square svg {
  width: 22px; height: 22px;
  color: var(--ink-2); stroke: var(--ink-2); stroke-width: 2;
}
.journal-h-title {
  font-family: 'Inter Tight', sans-serif;
  font-size: 36px;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.05;
  color: var(--ink);
  margin: 0;
  flex: 1;
}
.journal-h-capture {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--ink);
  color: var(--surface);
  border: none;
  padding: 11px 16px;
  border-radius: 10px;
  font-family: 'Inter', sans-serif;
  font-size: 13.5px;
  font-weight: 600;
  cursor: pointer;
  transition: transform .12s, background .12s;
}
.journal-h-capture:hover { background: #2A2A2A; transform: translateY(-1px); }
.journal-h-capture svg { width: 16px; height: 16px; }

/* Anchor line (mesmo padrão das Listas) */
.journal-anchor-line {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
  font-family: 'Inter', sans-serif;
  font-size: 14px; color: var(--ink-2); line-height: 1.6;
  margin-bottom: 24px;
}
.journal-anchor-prefix,
.journal-anchor-conn { color: #6A6A66; font-size: 13.5px; }
.journal-anchor-chip {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 5px 10px 5px 8px;
  border-radius: 8px;
  background: var(--surface);
  border: 1.5px solid var(--ac, var(--ink-2));
  color: var(--ac, var(--ink-2));
  font-family: 'Inter', sans-serif;
  font-size: 13px; font-weight: 600;
  cursor: pointer;
  transition: background .12s;
}
.journal-anchor-chip:hover { background: rgba(0,0,0,0.02); }
.journal-anchor-chip svg { width: 14px; height: 14px; }
.journal-anchor-chip-empty {
  background: transparent;
  border: 1.5px dashed #C8C7C2;
  color: var(--ink-3);
}

/* Tabs de tipo */
.journal-type-tabs {
  display: flex; gap: 18px;
  flex-wrap: wrap;
  margin-top: 8px;
}
.journal-type-tab {
  background: transparent; border: none; cursor: pointer;
  padding: 8px 0; margin: 0;
  font-family: 'Inter', sans-serif;
  font-size: 13.5px;
  color: #6A6A66;
  border-bottom: 2px solid transparent;
  display: inline-flex; align-items: center; gap: 8px;
}
.journal-type-tab.is-active {
  color: var(--ink);
  font-weight: 600;
  border-bottom-color: var(--ink);
}
.journal-type-tab-count {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 500;
  color: var(--ink-3);
}

/* List zone */
.journal-list-zone {
  background: var(--surface);
  padding: 28px 44px 56px;
  flex: 1;
}

/* Day group */
.journal-day-group {
  margin-bottom: 26px;
}
.journal-day-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin: 0 0 12px 4px;
}

/* Entry card */
.entry {
  display: grid;
  grid-template-columns: 88px 1fr;
  border-radius: 14px;
  overflow: hidden;
  background: var(--surface);
  border: 1px solid var(--line);
  margin-bottom: 14px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.04);
  cursor: pointer;
  transition: box-shadow .12s, transform .12s;
}
.entry:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.06);
  transform: translateY(-1px);
}
.entry-side {
  background: var(--surface-2);
  border-right: 1px solid var(--line);
  padding: 18px 12px;
  display: flex; flex-direction: column;
  align-items: center; gap: 10px;
  color: #6A6A66;
}
.entry-side svg { width: 22px; height: 22px; }
.entry-side .time {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  color: var(--ink-3);
}
.entry-body {
  padding: 20px 24px;
}
.entry-type {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #6A6A66;
  margin-bottom: 8px;
}
.entry-content {
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  line-height: 1.55;
  text-wrap: pretty;
  color: var(--ink);
  white-space: pre-wrap;
}
.entry-content.quote {
  font-family: 'Newsreader', 'Lora', Georgia, serif;
  font-style: italic;
  font-weight: 400;
  font-size: 17px;
  line-height: 1.5;
}
.entry-source {
  margin-top: 10px;
  font-family: 'Inter', sans-serif;
  font-style: italic;
  font-size: 13px;
  color: var(--ink-3);
}
.entry-tags {
  display: flex; gap: 6px; flex-wrap: wrap;
  margin-top: 12px;
}
.entry-tag {
  display: inline-flex; align-items: center;
  padding: 3px 9px;
  border-radius: 6px;
  background: var(--surface-2);
  color: #6A6A66;
  font-family: 'Inter', sans-serif;
  font-size: 11.5px;
}
.entry-tag::before {
  content: '';
  display: inline-block;
  width: 5px; height: 5px;
  border-radius: 50%;
  background: currentColor;
  opacity: .5;
  margin-right: 5px;
}

/* Empty state */
.journal-empty {
  text-align: center;
  padding: 80px 24px;
  color: var(--ink-3);
}
.journal-empty-icon {
  width: 56px; height: 56px;
  margin: 0 auto 16px;
  border-radius: 14px;
  background: var(--surface-2);
  display: grid; place-items: center;
  color: var(--ink-2);
}
.journal-empty-icon svg { width: 28px; height: 28px; }
.journal-empty-title {
  font-family: 'Inter Tight', sans-serif;
  font-size: 18px;
  font-weight: 600;
  color: var(--ink-2);
  margin: 0 0 4px;
}
.journal-empty-sub {
  font-family: 'Inter', sans-serif;
  font-size: 13.5px;
  margin: 0;
}

/* ============================================================
   MODAL DE CAPTURA
   ============================================================ */
.journal-modal { z-index: 200; animation: v3OverlayFadeIn 180ms ease both; }
.journal-modal .jc-card,
.journal-drawer-overlay .jd-card {
  animation: v3ModalCardIn 220ms cubic-bezier(0.22, 1, 0.36, 1) both;
}
.journal-drawer-overlay { animation: v3OverlayFadeIn 180ms ease both; }
@keyframes v3ModalCardIn {
  from { transform: translateY(14px) scale(0.97); opacity: 0; }
  to   { transform: translateY(0)    scale(1);    opacity: 1; }
}
@keyframes v3ModalCardOut {
  from { transform: translateY(0)    scale(1);    opacity: 1; }
  to   { transform: translateY(8px)  scale(0.98); opacity: 0; }
}
.journal-modal .jc-card {
  width: 100%;
  max-width: 560px;
  background: var(--surface);
  border-radius: 16px;
  padding: 22px;
  border: 1px solid var(--line);
  box-shadow: 0 24px 60px rgba(0,0,0,0.18);
  position: relative;
}
.jc-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink-2);
  margin-bottom: 14px;
}
.jc-textarea {
  width: 100%;
  min-height: 140px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--bg);
  font-family: 'Inter', sans-serif;
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--ink);
  resize: vertical;
  outline: none;
  transition: border-color .12s, background .12s;
}
.jc-textarea:focus {
  border-color: var(--ink);
  background: var(--surface);
}
.jc-row { margin-top: 14px; }
.jc-types {
  display: flex; gap: 8px;
  flex-wrap: wrap;
}
.jc-type {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 11px;
  border-radius: 8px;
  background: var(--surface-2);
  border: 1px solid transparent;
  color: var(--ink-2);
  font-family: 'Inter', sans-serif;
  font-size: 13px; font-weight: 500;
  cursor: pointer;
  transition: all .12s;
}
.jc-type:hover { background: var(--line); }
.jc-type svg { width: 14px; height: 14px; }
.jc-type.is-active {
  background: var(--ink);
  color: var(--surface);
}
.jc-foot {
  display: flex; align-items: center; justify-content: space-between;
  margin-top: 16px;
  gap: 12px;
}
.jc-hint {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--ink-3);
}
.jc-save {
  background: var(--ink);
  color: var(--surface); border: none;
  padding: 9px 16px;
  border-radius: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 13.5px;
  font-weight: 600;
  cursor: pointer;
  transition: background .12s, transform .08s cubic-bezier(0.4,0,0.2,1);
}
.jc-save:hover { background: #2A2520; }
.jc-save:active { transform: scale(0.94); }
.jc-type { transition: background .12s, color .12s, transform .08s cubic-bezier(0.4,0,0.2,1); }
.jc-type:active { transform: scale(0.94); }
.jd-save { transition: background .12s, transform .08s cubic-bezier(0.4,0,0.2,1); }
.jd-save:active { transform: scale(0.94); }
.jd-close { transition: background .12s, transform .08s cubic-bezier(0.4,0,0.2,1); }
.jd-close:active { transform: scale(0.92); }
.journal-h-capture:active { transform: scale(0.96); }

/* ============================================================
   DRAWER DA ENTRADA
   ============================================================ */
.journal-drawer-overlay { z-index: 180; }
.jd-card {
  width: 100%;
  max-width: 540px;
  background: var(--surface);
  border-radius: 16px;
  box-shadow: 0 24px 60px rgba(0,0,0,0.18);
  display: flex; flex-direction: column;
  max-height: 88vh;
  overflow: hidden;
}
.jd-head {
  padding: 20px 24px 14px;
  border-bottom: 1px solid var(--line);
  display: flex; align-items: center; gap: 12px;
}
.jd-head-bc {
  flex: 1;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--ink-3);
}
.jd-close {
  width: 30px; height: 30px;
  border-radius: 8px;
  background: var(--surface-2);
  border: none;
  display: grid; place-items: center;
  cursor: pointer;
  color: var(--ink-2);
}
.jd-body {
  padding: 18px 24px;
  overflow-y: auto;
  flex: 1;
  display: flex; flex-direction: column;
  gap: 16px;
}
.jd-section-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin-bottom: 6px;
}
.jd-content {
  width: 100%;
  min-height: 120px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--bg);
  font-family: 'Inter', sans-serif;
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--ink);
  resize: vertical;
  outline: none;
}
.jd-content.is-quote {
  font-family: 'Newsreader', Georgia, serif;
  font-style: italic;
  font-size: 16px;
}
.jd-dropzone {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: 12px;
  border-radius: 10px;
  background: var(--bg);
  border: 1px dashed #D8D7D2;
  color: #6A6A66;
  font-family: 'Inter', sans-serif;
  font-size: 12.5px;
  cursor: pointer;
}
.jd-detail-row {
  display: flex; gap: 10px;
  align-items: center;
}
.jd-detail-row .jd-input {
  flex: 1;
  padding: 9px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  outline: none;
}
.jd-foot {
  padding: 14px 22px;
  border-top: 1px solid var(--line);
  background: var(--bg);
  display: flex; align-items: center; gap: 12px;
}
.jd-save {
  flex: 1;
  padding: 10px 16px;
  border-radius: 10px;
  background: #1F8A5B;
  color: var(--surface);
  border: none;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 13.5px;
  cursor: pointer;
}
.jd-link {
  font-size: 12px;
  color: var(--ink-3);
  cursor: pointer;
  font-family: 'Inter', sans-serif;
}
.jd-danger { color: #B0556C; }

/* ============================================================
   TOAST DE REVISITA
   ============================================================ */
.journal-revisit-toast {
  position: fixed;
  bottom: 24px;
  right: 24px;
  max-width: 360px;
  padding: 14px 18px;
  border-radius: 12px;
  background: var(--surface);
  border-left: 4px solid var(--ink-2);
  box-shadow: 0 12px 32px rgba(0,0,0,0.14);
  z-index: 300;
  cursor: pointer;
  font-family: 'Inter', sans-serif;
  animation: jrt-in .25s ease-out;
}
.journal-revisit-toast-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-2);
  margin-bottom: 6px;
}
.journal-revisit-toast-text {
  font-size: 13.5px;
  color: #2A2520;
  line-height: 1.5;
}
.journal-revisit-toast-close {
  position: absolute;
  top: 8px; right: 8px;
  background: transparent;
  border: none;
  cursor: pointer;
  color: var(--ink-3);
  width: 22px; height: 22px;
  display: grid; place-items: center;
}
@keyframes jrt-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Rail item Diário — usa o padrão geral do rail (.rail-item.active),
   sem cor própria. Bloco mantido vazio pra evitar regressão de seletores. */

/* ============================================================
   BOTÃO "+ Adicionar" no header das listas + barra de add inline
   ============================================================ */
.v3-listas .v3-h-add {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--ink);
  color: var(--surface);
  border: none;
  padding: 11px 16px;
  border-radius: 10px;
  font-family: 'Inter', sans-serif;
  font-size: 13.5px;
  font-weight: 600;
  cursor: pointer;
  transition: transform .12s cubic-bezier(0.4,0,0.2,1), background .12s, box-shadow .15s;
  flex-shrink: 0;
}
.v3-listas .v3-h-add:hover { background: #2A2A2A; transform: translateY(-1px); box-shadow: 0 6px 16px rgba(0,0,0,0.12); }
.v3-listas .v3-h-add:active { transform: scale(0.95); }
.v3-listas .v3-h-add svg { width: 16px; height: 16px; }

.v3-listas .v3-add-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 18px;
  padding: 12px 14px;
  background: var(--surface-2);
  border: 1px solid var(--line);
  border-radius: 10px;
}
.v3-listas .v3-add-input {
  flex: 1;
  border: none;
  background: transparent;
  outline: none;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  color: var(--ink);
}
.v3-listas .v3-add-input::placeholder { color: var(--ink-3); }
.v3-listas .v3-add-confirm {
  background: var(--ink);
  color: var(--surface);
  border: none;
  padding: 8px 14px;
  border-radius: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}
.v3-listas .v3-add-cancel {
  background: transparent;
  border: none;
  width: 30px; height: 30px;
  border-radius: 8px;
  cursor: pointer;
  display: grid;
  place-items: center;
  color: var(--ink-3);
}
.v3-listas .v3-add-cancel:hover { background: var(--line); color: var(--ink-2); }
.v3-listas .v3-add-cancel svg { width: 14px; height: 14px; }

/* ============================================================
   SISTEMA DE TEMAS
   Estratégia: classe no body sobrepõe :root via specificity.
   ============================================================ */

/* === Tema Atual === (já é o :root default, mas mantemos a classe explícita) */
body.theme-current {
  --brand: #E8704A;
  --ink: #1A1A1A;
  --ink-2: #4A4A4A;
  --ink-3: #8A8A8A;
  --line: #ECECEA;
  --line-2: #E0E0DC;
  --surface: #FFFFFF;
  --surface-2: #F5F4F0;
  --bg: #FAFAF7;
  --area-primary: #2A6FDB;
  --font-display: 'Inter Tight', system-ui, sans-serif;
  --font-ui:      'Inter', system-ui, sans-serif;
  --font-mono:    'JetBrains Mono', ui-monospace, monospace;
  --font-quote:   'Newsreader', Georgia, serif;
}

/* === Tema B · Dark === */
body.theme-dark {
  --brand: #E8704A;
  --ink: #F2F0EA;
  --ink-2: #C9C7C0;
  --ink-3: #8A8A87;
  --line: #262626;
  --line-2: #3A3A3A;
  --surface: #141414;
  --surface-2: #1A1A1A;
  --bg: #0A0A0A;
  --area-primary: #4A8AE8;
  /* Mesmas fontes do atual */
  --font-display: 'Inter Tight', system-ui, sans-serif;
  --font-ui:      'Inter', system-ui, sans-serif;
  --font-mono:    'JetBrains Mono', ui-monospace, monospace;
  --font-quote:   'Newsreader', Georgia, serif;

  background: var(--bg);
  color: var(--ink);
}

/* Transição suave entre temas */
body, .rail-main, .v3-listas, .v3-drawer-panel, .v3-h-square,
.v3-h-add, .v3-add-bar, .header-zone, .list-zone,
.v3-card, .v3-card-flag, .v3-card-body, .v3-h-title,
.v3-h-square svg, .anchor-chip, .v3-filter-bar, .v3-chip,
.v3-drawer-notes, .v3-drawer-title, .v3-drawer-overlay,
.journal-header-zone, .journal-h-square, .journal-h-title,
.journal-list-zone, .entry, .entry-side, .entry-body,
.entry-content, .entry-source, .v3-move-popover,
.modal-overlay, .modal-card, .v3-tag-modal,
.v3-quick-ctx-menu, .v3-popover {
  transition: background-color .25s ease, color .25s ease,
              border-color .25s ease, box-shadow .25s ease;
}

/* === DARK · Overrides de cores hardcoded que escaparam das vars === */

/* Body geral */
body.theme-dark { background: var(--bg); }

/* App main container */
body.theme-dark .main,
body.theme-dark .main-wrap,
body.theme-dark .view {
  background: var(--bg);
  color: var(--ink);
}

/* Rail */
body.theme-dark .rail-main {
  background: var(--surface);
  border-right-color: var(--line);
}
body.theme-dark .rail-brand { color: var(--ink); }
body.theme-dark .rail-divider { background: var(--line); }

/* Header das listas / list zone */
body.theme-dark .v3-listas .header-zone {
  background: var(--surface);
  border-bottom-color: var(--line);
}
body.theme-dark .v3-listas .list-zone {
  background: var(--bg);
}
body.theme-dark .v3-listas .v3-h-title { color: var(--ink); }
body.theme-dark .v3-listas .v3-h-square {
  background: var(--surface-2) !important;
  border-color: var(--line);
  color: var(--ink-2);
}
body.theme-dark .v3-listas .v3-h-square svg {
  color: var(--ink-2);
  stroke: var(--ink-2);
}

/* Anchor chips */
body.theme-dark .v3-listas .anchor-line,
body.theme-dark .v3-listas .anchor-prefix,
body.theme-dark .v3-listas .anchor-conn {
  color: var(--ink-2);
}
body.theme-dark .v3-listas .anchor-chip {
  background: transparent;
  color: var(--brand);
}
body.theme-dark .v3-listas .anchor-chip-empty {
  background: transparent;
  border-color: var(--line-2);
  color: var(--ink-3);
}

/* Filter bar / context tabs */
body.theme-dark .v3-listas .v3-filter-bar { background: transparent; border-bottom: none; }
body.theme-dark .v3-listas .v3-chip {
  background: var(--surface-2);
  color: var(--ink-2);
  border-color: var(--line);
}
body.theme-dark .v3-listas .v3-chip.is-active {
  background: var(--ink);
  color: var(--surface);
}
body.theme-dark .v3-listas .v3-tab-count { color: var(--ink-3); }

/* Cards */
body.theme-dark .v3-listas .v3-card,
body.theme-dark .v3-listas .v3-project-card {
  background: var(--surface);
  border-color: var(--line);
  color: var(--ink);
}
body.theme-dark .v3-listas .v3-card:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.4);
  border-color: var(--line-2);
}
body.theme-dark .v3-listas .v3-card-title,
body.theme-dark .v3-listas .v3-project-card-title,
body.theme-dark .v3-listas .v3-card-text { color: var(--ink); }
body.theme-dark .v3-listas .v3-card-meta,
body.theme-dark .v3-listas .v3-card-foot { color: var(--ink-3); }
body.theme-dark .v3-listas .v3-card-side {
  background: var(--surface-2);
  border-right-color: var(--line);
  color: var(--ink-3);
}

/* Add bar e botão Adicionar */
body.theme-dark .v3-listas .v3-h-add {
  background: var(--brand);
  color: var(--surface);
}
body.theme-dark .v3-listas .v3-h-add:hover { background: #D6633F; }
body.theme-dark .v3-listas .v3-add-bar {
  background: var(--surface-2);
  border-color: var(--line);
}
body.theme-dark .v3-listas .v3-add-input {
  color: var(--ink);
}
body.theme-dark .v3-listas .v3-add-input::placeholder { color: var(--ink-3); }
body.theme-dark .v3-listas .v3-add-confirm {
  background: var(--brand);
  color: var(--surface);
}
body.theme-dark .v3-listas .v3-add-cancel { color: var(--ink-3); }
body.theme-dark .v3-listas .v3-add-cancel:hover { background: var(--line); color: var(--ink-2); }

/* Drawer */
body.theme-dark .v3-drawer-overlay {
  background: rgba(0,0,0,.6);
}
body.theme-dark .v3-drawer-panel {
  background: var(--surface);
  color: var(--ink);
  box-shadow: 0 24px 48px rgba(0,0,0,.5), 0 2px 8px rgba(0,0,0,.3);
}
body.theme-dark .v3-drawer-header {
  border-bottom-color: var(--line);
}
body.theme-dark .v3-drawer-breadcrumb { color: var(--ink-3); }
body.theme-dark .v3-drawer-bc-dot {
  background: var(--ink-2) !important;
}
body.theme-dark .v3-drawer-title { color: var(--ink); }
body.theme-dark .v3-drawer-section-label { color: var(--ink-3); }
body.theme-dark .v3-drawer-notes {
  background: var(--surface-2);
  border-color: var(--line);
  color: var(--ink);
}
body.theme-dark .v3-drawer-notes::placeholder { color: var(--ink-3); }
body.theme-dark .v3-drawer-dropzone {
  background: var(--surface-2);
  border-color: var(--line-2);
  color: var(--ink-3);
}
body.theme-dark .v3-drawer-footer {
  background: var(--surface-2);
  border-top-color: var(--line);
}
body.theme-dark .v3-drawer-save {
  background: var(--brand);
  color: var(--surface);
}
body.theme-dark .v3-drawer-save:hover { background: #D6633F; }
body.theme-dark .v3-drawer-save-hint { color: var(--ink-3); }
body.theme-dark .v3-drawer-move-btn {
  background: var(--surface-2);
  border-color: var(--line);
  color: var(--ink-2);
}
body.theme-dark .v3-drawer-move-btn:hover { background: var(--line); }
body.theme-dark .v3-drawer-close {
  background: var(--surface-2);
  color: var(--ink-2);
}
body.theme-dark .v3-drawer-close:hover { background: var(--line); }

/* Move popover */
body.theme-dark .v3-move-popover {
  background: var(--surface);
  border-color: var(--line);
  box-shadow: 0 12px 28px rgba(0,0,0,.5);
}
body.theme-dark .v3-move-popover-label { color: var(--ink-3); }
body.theme-dark .v3-move-item { color: var(--ink); }
body.theme-dark .v3-move-item:hover { background: var(--surface-2); }
body.theme-dark .v3-move-item-ico {
  background: var(--surface-2);
  color: var(--ink-2);
}
body.theme-dark .v3-move-item:hover .v3-move-item-ico {
  background: var(--brand);
  color: var(--surface);
}

/* Checkbox / completion */
body.theme-dark .v3-card-check {
  border-color: var(--line-2);
  background: transparent;
}

/* Journal / Diário */
body.theme-dark .journal-header-zone {
  background: var(--surface);
  border-bottom-color: var(--line);
}
body.theme-dark .journal-list-zone { background: var(--bg); }
body.theme-dark .journal-h-square {
  background: var(--surface-2);
  border-color: var(--line);
}
body.theme-dark .journal-h-square svg {
  color: var(--ink-2);
  stroke: var(--ink-2);
}
body.theme-dark .journal-h-title { color: var(--ink); }
body.theme-dark .journal-h-capture { background: var(--brand); color: var(--surface); }
body.theme-dark .journal-h-capture:hover { background: #D6633F; }
body.theme-dark .journal-anchor-line,
body.theme-dark .journal-anchor-prefix,
body.theme-dark .journal-anchor-conn { color: var(--ink-2); }
body.theme-dark .journal-anchor-chip {
  background: transparent;
  color: var(--brand);
}
body.theme-dark .journal-type-tab { color: var(--ink-3); }
body.theme-dark .journal-type-tab.is-active {
  color: var(--ink);
  border-bottom-color: var(--ink);
}
body.theme-dark .journal-day-label { color: var(--ink-3); }
body.theme-dark .entry {
  background: var(--surface);
  border-color: var(--line);
}
body.theme-dark .entry-side {
  background: var(--surface-2);
  border-right-color: var(--line);
  color: var(--ink-3);
}
body.theme-dark .entry-side svg { color: var(--ink-3); }
body.theme-dark .entry-side .time { color: var(--ink-3); }
body.theme-dark .entry-type { color: var(--ink-3); }
body.theme-dark .entry-content { color: var(--ink); }
body.theme-dark .entry-source { color: var(--ink-3); }
body.theme-dark .entry-tag {
  background: var(--surface-2);
  color: var(--ink-2);
}

/* Journal modal */
body.theme-dark .journal-modal .jc-card {
  background: var(--surface);
  border-color: var(--line);
  box-shadow: 0 24px 60px rgba(0,0,0,.6);
}
body.theme-dark .jc-label { color: var(--ink-3); }
body.theme-dark .jc-textarea {
  background: var(--surface-2);
  border-color: var(--line);
  color: var(--ink);
}
body.theme-dark .jc-textarea::placeholder { color: var(--ink-3); }
body.theme-dark .jc-textarea:focus {
  border-color: var(--brand);
  background: var(--surface);
}
body.theme-dark .jc-type {
  background: var(--surface-2);
  color: var(--ink-2);
}
body.theme-dark .jc-type:hover { background: var(--line); }
body.theme-dark .jc-type.is-active {
  background: var(--ink);
  color: var(--surface);
}
body.theme-dark .jc-save {
  background: var(--brand);
  color: var(--surface);
}
body.theme-dark .jc-save:hover { background: #D6633F; }
body.theme-dark .jc-hint { color: var(--ink-3); }

/* Journal drawer */
body.theme-dark .jd-card { background: var(--surface); color: var(--ink); }
body.theme-dark .jd-head { border-bottom-color: var(--line); }
body.theme-dark .jd-head-bc { color: var(--ink-3); }
body.theme-dark .jd-close { background: var(--surface-2); color: var(--ink-2); }
body.theme-dark .jd-section-label { color: var(--ink-3); }
body.theme-dark .jd-content {
  background: var(--surface-2);
  border-color: var(--line);
  color: var(--ink);
}
body.theme-dark .jd-foot {
  background: var(--surface-2);
  border-top-color: var(--line);
}

/* Toast revisita */
body.theme-dark .journal-revisit-toast {
  background: var(--surface);
  color: var(--ink);
  border-left-color: var(--brand);
}
body.theme-dark .journal-revisit-toast-label { color: var(--brand); }
body.theme-dark .journal-revisit-toast-text { color: var(--ink); }

/* Sublist do rail */
body.theme-dark .rail-sub-glyph { color: var(--ink-3); }
body.theme-dark .rail-sub-glyph svg { color: var(--ink-3); }
body.theme-dark .rail-sub-glyph:hover {
  background: var(--surface-2);
  color: var(--ink-2);
}
body.theme-dark .rail-sub-tooltip {
  background: var(--ink);
  color: var(--surface);
}

/* Modais genéricos */
body.theme-dark .modal-overlay {
  background: rgba(0,0,0,.6);
}
body.theme-dark .modal-card,
body.theme-dark .v3-tag-modal {
  background: var(--surface);
  color: var(--ink);
}
body.theme-dark .v3-tag-modal-title { color: var(--ink); }
body.theme-dark .v3-tag-modal-input {
  background: var(--surface-2);
  border-color: var(--line);
  color: var(--ink);
}
body.theme-dark .v3-tag-modal-label { color: var(--ink-3); }

/* Popovers genéricos (picker, etc) */
body.theme-dark .v3-popover {
  background: var(--surface);
  border-color: var(--line);
  box-shadow: 0 12px 32px rgba(0,0,0,.5);
}
body.theme-dark .v3-picker-item { color: var(--ink); }
body.theme-dark .v3-picker-item:hover { background: var(--surface-2); }
body.theme-dark .v3-picker-search { color: var(--ink); }
body.theme-dark .v3-picker-empty { color: var(--ink-3); }

/* Empty states */
body.theme-dark .v3-listas .v3-empty,
body.theme-dark .journal-empty,
body.theme-dark .paper-empty,
body.theme-dark .paper-empty-block { color: var(--ink-3); }
body.theme-dark .journal-empty-title,
body.theme-dark .paper-empty-title { color: var(--ink-2); }
body.theme-dark .journal-empty-icon {
  background: var(--surface-2);
  color: var(--ink-2);
}

/* Hoje (view paper) — quando em dark, sobrepõe o paper */
body.theme-dark #view-hoje {
  background: var(--bg);
  background-image: none;
}
body.theme-dark #view-hoje .view-header {
  border-bottom-color: var(--line);
}
body.theme-dark #view-hoje .view-header h2 { color: var(--ink); }
body.theme-dark #view-hoje .view-header h2 svg {
  background: var(--brand);
  color: var(--surface);
}
body.theme-dark .paper-wrap { color: var(--ink); }
body.theme-dark .paper-item { color: var(--ink); border-bottom-color: var(--line); }
body.theme-dark .paper-overdue-section { border-color: var(--line); }
body.theme-dark .hoje-date { color: var(--ink-3); border-bottom-color: var(--line); }
body.theme-dark .paper-mantra { color: var(--ink-2); }

/* Settings */
body.theme-dark .settings-section {
  background: var(--surface);
  border-color: var(--line);
}
body.theme-dark .settings-section h3,
body.theme-dark .settings-section h2 { color: var(--ink); }
body.theme-dark .ctx-item,
body.theme-dark .area-item {
  background: var(--surface);
  border-color: var(--line);
  color: var(--ink);
}
body.theme-dark .ctx-item-sublabel { color: var(--ink-3); }

/* ============================================================
   Seletor de tema do app (settings)
   ============================================================ */
.app-theme-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 12px;
  margin-top: 12px;
}
.app-theme-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px;
  background: var(--surface);
  border: 1.5px solid var(--line);
  border-radius: 12px;
  cursor: pointer;
  font-family: 'Inter', sans-serif;
  text-align: left;
  transition: border-color .15s, transform .12s, box-shadow .15s;
}
.app-theme-card:hover {
  border-color: var(--line-2);
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0,0,0,0.06);
}
.app-theme-card.is-active {
  border-color: var(--brand);
  box-shadow: 0 0 0 3px rgba(232,112,74,0.18);
}
.app-theme-card.is-soon {
  opacity: 0.55;
  cursor: not-allowed;
}
.app-theme-card.is-soon:hover {
  transform: none;
  border-color: var(--line);
  box-shadow: none;
}
.app-theme-preview {
  display: flex;
  height: 56px;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid var(--line);
}
.app-theme-preview span {
  flex: 1;
  display: block;
}
.app-theme-meta { display: flex; flex-direction: column; gap: 2px; }
.app-theme-name {
  font-weight: 600;
  font-size: 14px;
  color: var(--ink);
  display: flex; align-items: center; gap: 8px;
}
.app-theme-soon {
  display: inline-block;
  background: var(--surface-2);
  color: var(--ink-3);
  font-family: 'JetBrains Mono', monospace;
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  padding: 2px 6px;
  border-radius: 4px;
}
.app-theme-desc { font-size: 12px; color: var(--ink-2); }
.app-theme-check {
  position: absolute;
  top: 10px; right: 10px;
  width: 22px; height: 22px;
  border-radius: 50%;
  background: var(--brand);
  color: var(--surface);
  display: grid; place-items: center;
}
.app-theme-check svg { width: 12px; height: 12px; stroke-width: 3; }

/* Dark theme: app-theme-cards no settings */
body.theme-dark .app-theme-card {
  background: var(--surface);
  border-color: var(--line);
  color: var(--ink);
}
body.theme-dark .app-theme-card:hover { border-color: var(--line-2); }
body.theme-dark .app-theme-name { color: var(--ink); }
body.theme-dark .app-theme-desc { color: var(--ink-2); }
body.theme-dark .app-theme-soon { background: var(--surface-2); color: var(--ink-3); }

/* ============================================================
   TEMA A · NOTEBOOK
   ============================================================ */
body.theme-notebook {
  --brand: #A6612C;
  --brand-soft: #C2885A;
  --ink: #2B1F12;
  --ink-2: #6E5A40;
  --ink-3: #8A7355;
  --line: #E5D8C0;
  --line-2: #D6BF95;
  --surface: #FBF6EB;
  --surface-2: #F0E5CC;
  --bg: #F4ECDD;
  --area-primary: #3B5878;

  --font-display: 'Source Serif 4', 'Lora', Georgia, serif;
  --font-ui:      'Inter', system-ui, sans-serif;
  --font-mono:    'JetBrains Mono', ui-monospace, monospace;
  --font-quote:   'Newsreader', Georgia, serif;

  background: var(--bg);
  color: var(--ink);
}

body.theme-notebook .main,
body.theme-notebook .view { background: var(--bg); color: var(--ink); }

body.theme-notebook .rail-main {
  background: var(--surface);
  border-right-color: var(--line);
}
body.theme-notebook .rail-brand {
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--ink);
}
body.theme-notebook .rail-divider { background: var(--line); }

body.theme-notebook .v3-listas .header-zone {
  background: var(--bg);
  border-bottom-color: var(--line);
}
body.theme-notebook .v3-listas .list-zone { background: var(--surface); }
body.theme-notebook .v3-listas .v3-h-square {
  background: var(--surface-2) !important;
  border-color: var(--line-2);
  color: var(--ink-2);
}
body.theme-notebook .v3-listas .v3-h-square svg {
  color: var(--ink-2);
  stroke: var(--ink-2);
}
body.theme-notebook .v3-listas .v3-h-title {
  font-family: var(--font-display);
  color: var(--ink);
}
body.theme-notebook .v3-listas .anchor-line,
body.theme-notebook .v3-listas .anchor-prefix,
body.theme-notebook .v3-listas .anchor-conn { color: var(--ink-2); }
body.theme-notebook .v3-listas .anchor-chip {
  background: var(--surface);
  color: var(--brand);
}

body.theme-notebook .v3-listas .v3-card,
body.theme-notebook .v3-listas .v3-project-card {
  background: var(--surface);
  border-color: var(--line);
  color: var(--ink);
}
body.theme-notebook .v3-listas .v3-card-side {
  background: var(--surface-2);
  border-right-color: var(--line);
  color: var(--ink-2);
}
body.theme-notebook .v3-listas .v3-card-title { color: var(--ink); font-family: var(--font-ui); }
body.theme-notebook .v3-listas .v3-card-meta { color: var(--ink-3); }

body.theme-notebook .v3-listas .v3-h-add {
  background: var(--brand); color: var(--surface);
}
body.theme-notebook .v3-listas .v3-h-add:hover { background: #8E5126; }
body.theme-notebook .v3-listas .v3-add-bar {
  background: var(--surface-2);
  border-color: var(--line);
}
body.theme-notebook .v3-listas .v3-add-confirm {
  background: var(--brand); color: var(--surface);
}

/* Drawer */
body.theme-notebook .v3-drawer-panel {
  background: var(--surface);
  color: var(--ink);
}
body.theme-notebook .v3-drawer-header { border-bottom-color: var(--line); }
body.theme-notebook .v3-drawer-title {
  font-family: var(--font-display);
  color: var(--ink);
}
body.theme-notebook .v3-drawer-notes {
  background: var(--surface-2);
  border-color: var(--line);
  color: var(--ink);
}
body.theme-notebook .v3-drawer-footer {
  background: var(--surface-2);
  border-top-color: var(--line);
}
body.theme-notebook .v3-drawer-save { background: var(--ink); color: var(--surface); }
body.theme-notebook .v3-drawer-move-btn {
  background: var(--surface);
  border-color: var(--line);
  color: var(--ink-2);
}
body.theme-notebook .v3-drawer-close { background: var(--surface-2); color: var(--ink-2); }

body.theme-notebook .v3-move-popover {
  background: var(--surface);
  border-color: var(--line);
}
body.theme-notebook .v3-move-item:hover { background: var(--surface-2); }
body.theme-notebook .v3-move-item-ico { background: var(--surface-2); color: var(--ink-2); }
body.theme-notebook .v3-move-item:hover .v3-move-item-ico {
  background: var(--brand); color: var(--surface);
}

/* Journal */
body.theme-notebook .journal-header-zone {
  background: var(--bg);
  border-bottom-color: var(--line);
}
body.theme-notebook .journal-list-zone { background: var(--surface); }
body.theme-notebook .journal-h-square {
  background: var(--surface-2);
  border-color: var(--line-2);
}
body.theme-notebook .journal-h-square svg { color: var(--ink-2); stroke: var(--ink-2); }
body.theme-notebook .journal-h-title { font-family: var(--font-display); color: var(--ink); }
body.theme-notebook .journal-h-capture { background: var(--brand); color: var(--surface); }
body.theme-notebook .entry {
  background: var(--surface);
  border-color: var(--line);
}
body.theme-notebook .entry-side {
  background: var(--surface-2);
  border-right-color: var(--line);
  color: var(--ink-2);
}
body.theme-notebook .entry-content { color: var(--ink); font-family: var(--font-ui); }
body.theme-notebook .entry-content.quote {
  font-family: var(--font-quote);
  font-style: italic;
}
body.theme-notebook .entry-source { color: var(--ink-3); }

/* Hoje view — paper já harmoniza, mas sem grid de linhas extras */
body.theme-notebook #view-hoje {
  background: var(--bg);
  background-image: none;
}

/* Settings */
body.theme-notebook .settings-section {
  background: var(--surface);
  border-color: var(--line);
}

/* ============================================================
   TEMA C · EDITORIAL
   ============================================================ */
body.theme-editorial {
  --brand: #B83B3B;
  --ink: #1A1A1A;
  --ink-2: #5C5C5C;
  --ink-3: #8A8A8A;
  --line: #1A1A1A;
  --line-2: #1A1A1A;
  --surface: #FFFFFF;
  --surface-2: #FFFFFF;
  --bg: #FFFFFF;
  --area-primary: #1A1A1A;

  --font-display: 'IBM Plex Serif', Georgia, serif;
  --font-ui:      'IBM Plex Sans', system-ui, sans-serif;
  --font-mono:    'IBM Plex Mono', ui-monospace, monospace;
  --font-quote:   'IBM Plex Serif', Georgia, serif;

  background: var(--bg);
  color: var(--ink);
}

body.theme-editorial .view { background: var(--bg); color: var(--ink); }

body.theme-editorial .rail-main {
  background: var(--surface);
  border-right: 1px solid var(--ink);
}
body.theme-editorial .rail-brand {
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--ink);
}

/* Bordas pretas, sem radius */
body.theme-editorial .v3-listas .header-zone {
  background: var(--surface);
  border-bottom: 2px solid var(--ink);
}
body.theme-editorial .v3-listas .v3-h-square {
  background: var(--surface) !important;
  border: 1.5px solid var(--ink);
  border-radius: 4px;
  color: var(--ink);
}
body.theme-editorial .v3-listas .v3-h-square svg { color: var(--ink); stroke: var(--ink); }
body.theme-editorial .v3-listas .v3-h-title {
  font-family: var(--font-display);
  color: var(--ink);
}
body.theme-editorial .v3-listas .anchor-chip {
  background: var(--surface);
  border: 1.5px solid var(--brand) !important;
  color: var(--brand);
  font-family: var(--font-display);
  border-radius: 0;
}
body.theme-editorial .v3-listas .anchor-chip-empty {
  border: 1.5px dashed var(--ink) !important;
  color: var(--ink-2);
}

body.theme-editorial .v3-listas .v3-card,
body.theme-editorial .v3-listas .v3-project-card {
  background: var(--surface);
  border: 1px solid var(--ink);
  border-radius: 0 !important;
}
body.theme-editorial .v3-listas .v3-card-side {
  background: var(--surface);
  border-right: 1px solid var(--ink);
  color: var(--ink);
}
body.theme-editorial .v3-listas .v3-card-title {
  font-family: var(--font-ui);
  color: var(--ink);
}
body.theme-editorial .v3-card-check {
  border: 1.5px solid var(--ink) !important;
  border-radius: 0 !important;
}
body.theme-editorial .v3-listas .v3-h-add {
  background: var(--ink);
  color: var(--surface);
  border-radius: 0;
  font-family: var(--font-ui);
}
body.theme-editorial .v3-listas .v3-add-bar {
  border: 1px solid var(--ink);
  border-radius: 0;
  background: var(--surface);
}
body.theme-editorial .v3-listas .v3-add-confirm {
  background: var(--ink); color: var(--surface); border-radius: 0;
}
body.theme-editorial .v3-listas .v3-chip { border: 1px solid var(--ink); border-radius: 0; background: var(--surface); color: var(--ink); }
body.theme-editorial .v3-listas .v3-chip.is-active { background: var(--ink); color: var(--surface); }

/* Drawer */
body.theme-editorial .v3-drawer-panel {
  background: var(--surface);
  border: 1.5px solid var(--ink);
  border-radius: 0;
}
body.theme-editorial .v3-drawer-header { border-bottom: 1.5px solid var(--ink); }
body.theme-editorial .v3-drawer-title { font-family: var(--font-display); color: var(--ink); }
body.theme-editorial .v3-drawer-notes {
  background: var(--surface);
  border: 1px solid var(--ink);
  border-radius: 0;
}
body.theme-editorial .v3-drawer-dropzone {
  background: var(--surface);
  border: 1px dashed var(--ink);
  border-radius: 0;
}
body.theme-editorial .v3-drawer-footer {
  background: var(--surface);
  border-top: 1.5px solid var(--ink);
}
body.theme-editorial .v3-drawer-save {
  background: var(--ink); color: var(--surface); border-radius: 0;
}
body.theme-editorial .v3-drawer-move-btn {
  background: var(--surface);
  border: 1px solid var(--ink) !important;
  border-radius: 0;
  color: var(--ink);
}
body.theme-editorial .v3-drawer-close {
  background: var(--surface);
  border: 1px solid var(--ink);
  border-radius: 0;
  color: var(--ink);
}
body.theme-editorial .v3-drawer-complete-top {
  background: var(--brand);
  border-radius: 0;
  font-family: var(--font-mono);
}

body.theme-editorial .v3-move-popover {
  background: var(--surface);
  border: 1.5px solid var(--ink);
  border-radius: 0;
  box-shadow: 4px 4px 0 var(--ink);
}
body.theme-editorial .v3-move-item { border-radius: 0; }
body.theme-editorial .v3-move-item-ico {
  background: var(--surface);
  border: 1px solid var(--ink);
  border-radius: 0;
  color: var(--ink);
}
body.theme-editorial .v3-move-item:hover .v3-move-item-ico {
  background: var(--ink); color: var(--surface);
}

/* Journal */
body.theme-editorial .journal-header-zone {
  background: var(--surface);
  border-bottom: 2px solid var(--ink);
}
body.theme-editorial .journal-h-square {
  background: var(--surface);
  border: 1.5px solid var(--ink);
  border-radius: 4px;
}
body.theme-editorial .journal-h-square svg { color: var(--ink); stroke: var(--ink); }
body.theme-editorial .journal-h-title { font-family: var(--font-display); color: var(--ink); }
body.theme-editorial .journal-h-capture {
  background: var(--ink); color: var(--surface); border-radius: 0;
  font-family: var(--font-ui);
}
body.theme-editorial .entry {
  background: var(--surface);
  border: 1px solid var(--ink);
  border-radius: 0;
}
body.theme-editorial .entry-side {
  background: var(--surface);
  border-right: 1px solid var(--ink);
  color: var(--ink);
}
body.theme-editorial .entry-content { font-family: var(--font-ui); color: var(--ink); }
body.theme-editorial .entry-content.quote {
  font-family: var(--font-display);
  font-style: italic;
}
body.theme-editorial .entry-tag {
  background: var(--surface);
  border: 1px solid var(--ink);
  border-radius: 0;
  color: var(--ink);
}
body.theme-editorial .journal-anchor-chip {
  background: var(--surface);
  border: 1.5px solid var(--brand) !important;
  color: var(--brand);
  border-radius: 0;
  font-family: var(--font-display);
}
body.theme-editorial .journal-type-tab.is-active {
  color: var(--ink); border-bottom-color: var(--brand);
}

/* Modais genéricos */
body.theme-editorial .modal-card,
body.theme-editorial .v3-tag-modal,
body.theme-editorial .jc-card,
body.theme-editorial .jd-card {
  background: var(--surface);
  border: 1.5px solid var(--ink);
  border-radius: 0 !important;
}
body.theme-editorial .jc-textarea {
  background: var(--surface);
  border: 1px solid var(--ink);
  border-radius: 0;
}
body.theme-editorial .jc-type { border-radius: 0; border: 1px solid transparent; }
body.theme-editorial .jc-type.is-active {
  background: var(--ink); color: var(--surface);
}
body.theme-editorial .jc-save {
  background: var(--ink); border-radius: 0;
}

/* App theme cards (settings) */
body.theme-editorial .app-theme-card {
  border-radius: 0;
  border: 1.5px solid var(--ink);
  box-shadow: none;
}
body.theme-editorial .app-theme-card.is-active {
  box-shadow: 4px 4px 0 var(--brand);
  border-color: var(--brand);
}
body.theme-editorial .app-theme-preview { border-radius: 0; border: 1px solid var(--ink); }

/* Settings sections */
body.theme-editorial .settings-section {
  border: 1.5px solid var(--ink);
  border-radius: 0;
  background: var(--surface);
}

/* ============================================================
   TEMA D · MINIMAL
   ============================================================ */
body.theme-d {
  --brand: #E8704A;
  --ink: #1A1A1A;
  --ink-2: #4A4A4A;
  --ink-3: #8A8A8A;
  --line: #F0EFEB;
  --line-2: #DCDBD6;
  --surface: #FFFFFF;
  --surface-2: #F5F4F0;
  --bg: #FAFAF7;
  /* Acento dinâmico vem do JS via --area-color; fallback azul atual */
  --area-color: #2A6FDB;
  --area-accent: var(--area-color);
  --header-tint: 2.5%;

  --font-display: 'Inter Tight', sans-serif;
  --font-ui:      'Inter', system-ui, sans-serif;
  --font-mono:    'JetBrains Mono', ui-monospace, monospace;
  --font-quote:   'Newsreader', Georgia, serif;

  background: var(--bg);
  color: var(--ink);
}

body.theme-d .view { background: var(--bg); color: var(--ink); }

/* Rail */
body.theme-d .rail-main { background: var(--surface); border-right-color: var(--line); }
body.theme-d .rail-brand {
  font-family: var(--font-display);
  font-size: 18px; font-weight: 600;
  color: var(--ink);
}
body.theme-d .rail-item { color: var(--ink-3); }
body.theme-d .rail-item svg { color: var(--ink-3); }
body.theme-d .rail-item:hover { color: var(--ink-2); }
body.theme-d .rail-item:hover svg { color: var(--ink-2); }
body.theme-d .rail-item.active { color: var(--ink); font-weight: 500; }
body.theme-d .rail-item.active svg { color: var(--brand); }
body.theme-d .rail-item.active::before { background: var(--ink); }
body.theme-d .rail-sub-glyph:hover { background: var(--surface-2); }
body.theme-d .rail-sub-glyph.active { background: var(--brand); }

/* Header zone — achatado, com wash de 2.5% da cor da área */
body.theme-d .v3-listas .header-zone {
  padding: 28px 36px 14px;
  background: color-mix(in srgb, var(--area-accent) var(--header-tint), var(--surface));
  border-bottom: 1px solid var(--line);
}
body.theme-d .v3-listas .v3-h-main {
  margin-bottom: 12px;
  gap: 12px;
}
body.theme-d .v3-listas .v3-h-square {
  width: 34px; height: 34px;
  border-radius: 9px;
  background: var(--surface-2) !important;
  border: 1px solid var(--line-2);
  color: var(--ink-2);
}
body.theme-d .v3-listas .v3-h-square svg {
  width: 16px; height: 16px;
  color: var(--ink-2); stroke: var(--ink-2);
}
body.theme-d .v3-listas .v3-h-title {
  font-size: 26px;
  font-weight: 500;
  letter-spacing: -0.015em;
  color: var(--ink);
}

/* Anchor chip menor, na cor da área */
body.theme-d .v3-listas .anchor-line {
  font-size: 12.5px;
  margin-bottom: 8px;
}
body.theme-d .v3-listas .anchor-chip {
  padding: 4px 9px 4px 8px;
  border-radius: 7px;
  background: var(--surface);
  border: 1.5px solid var(--area-accent);
  color: var(--area-accent);
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 12.5px;
}
body.theme-d .v3-listas .anchor-chip svg { width: 12px; height: 12px; }

/* List zone */
body.theme-d .v3-listas .list-zone {
  padding: 16px 36px 30px;
  gap: 10px;
}

/* Cards: barra vertical 3px à esquerda, sem bandeira de 88px */
body.theme-d .v3-listas .v3-card {
  grid-template-columns: 3px 1fr;
  border: 1px solid var(--line);
  border-radius: 10px;
  box-shadow: none;
  background: var(--surface);
}
body.theme-d .v3-listas .v3-card:hover {
  border-color: var(--line-2);
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}
body.theme-d .v3-listas .v3-card-side,
body.theme-d .v3-listas .v3-card-flag {
  background: var(--area-color, var(--ink-3));
  padding: 0;
  border-right: none;
}
body.theme-d .v3-listas .v3-card-side > *,
body.theme-d .v3-listas .v3-card-flag > * { display: none !important; }
body.theme-d .v3-listas .v3-card-body { padding: 14px 18px; }
body.theme-d .v3-listas .v3-card-title { font-size: 13.5px; font-weight: 500; }
body.theme-d .v3-listas .v3-card-meta { font-size: 11.5px; color: var(--ink-3); }

/* Projetos cards — barra fina também */
body.theme-d .v3-listas .v3-project-card {
  border: 1px solid var(--line);
  border-radius: 10px;
  border-left: 3px solid var(--area-color, var(--ink-3));
  box-shadow: none;
}

/* + Adicionar / add bar */
body.theme-d .v3-listas .v3-h-add {
  background: var(--ink);
  color: var(--surface);
  padding: 8px 13px;
  font-size: 12.5px;
  border-radius: 8px;
}
body.theme-d .v3-listas .v3-h-add svg { width: 14px; height: 14px; }
body.theme-d .v3-listas .v3-add-bar {
  background: var(--surface-2);
  border-color: var(--line);
}

/* Diário */
body.theme-d .journal-header-zone {
  padding: 28px 36px 14px;
  background: var(--bg);
  border-bottom: 1px solid var(--line);
}
body.theme-d .journal-h-main { margin-bottom: 12px; gap: 12px; }
body.theme-d .journal-h-square {
  width: 34px; height: 34px;
  border-radius: 9px;
  background: var(--surface-2);
  border: 1px solid var(--line-2);
}
body.theme-d .journal-h-square svg { width: 16px; height: 16px; color: var(--ink-2); stroke: var(--ink-2); }
body.theme-d .journal-h-title { font-size: 26px; font-weight: 500; }
body.theme-d .journal-list-zone { padding: 16px 36px 30px; }
body.theme-d .entry {
  border-color: var(--line);
  box-shadow: none;
}
body.theme-d .entry-side {
  background: var(--surface-2);
  border-right-color: var(--line);
}
body.theme-d .entry-content { font-size: 14.5px; }
body.theme-d .entry-content.quote { font-size: 14.5px; }

/* ============================================================
   TEMA E · MONOCROMÁTICO
   ============================================================ */
body.theme-e {
  --brand: #E8704A;
  --ink: #1A1A1A;
  --ink-2: #4A4A4A;
  --ink-3: #8A8A8A;
  --line: #F0EFEB;
  --line-2: #DCDBD6;
  --surface: #FFFFFF;
  --surface-2: #F5F4F0;
  --bg: #FAFAF7;
  --area-color: #E8704A;          /* IGNORADO: sempre laranja */
  --area-accent: var(--brand);
  --header-tint: 0%;

  --font-display: 'Inter Tight', sans-serif;
  --font-ui:      'Inter', system-ui, sans-serif;
  --font-mono:    'JetBrains Mono', ui-monospace, monospace;
  --font-quote:   'Newsreader', Georgia, serif;

  background: var(--bg);
  color: var(--ink);
}

body.theme-e .view { background: var(--bg); color: var(--ink); }

/* Rail */
body.theme-e .rail-main { background: var(--surface); border-right-color: var(--line); }
body.theme-e .rail-brand { font-size: 18px; font-weight: 600; color: var(--ink); }
body.theme-e .rail-item { color: var(--ink-3); }
body.theme-e .rail-item svg { color: var(--ink-3); }
body.theme-e .rail-item:hover { color: var(--ink-2); }
body.theme-e .rail-item.active { color: var(--ink); font-weight: 500; }
body.theme-e .rail-item.active svg { color: var(--brand); }
body.theme-e .rail-item.active::before { background: var(--brand); width: 2px; }

/* Header zone — sem wash, sempre bg padrão */
body.theme-e .v3-listas .header-zone {
  padding: 28px 36px 14px;
  background: var(--bg);
  border-bottom: 1px solid var(--line);
}
body.theme-e .v3-listas .v3-h-main { margin-bottom: 12px; gap: 12px; }
body.theme-e .v3-listas .v3-h-square {
  width: 34px; height: 34px;
  border-radius: 9px;
  background: var(--surface-2) !important;
  border: 1px solid var(--line-2);
  color: var(--ink-2);
}
body.theme-e .v3-listas .v3-h-square svg { width: 16px; height: 16px; color: var(--ink-2); stroke: var(--ink-2); }
body.theme-e .v3-listas .v3-h-title {
  font-size: 26px;
  font-weight: 500;
  letter-spacing: -0.015em;
}
body.theme-e .v3-listas .anchor-line {
  font-size: 12.5px;
  margin-bottom: 8px;
}
/* Chip da área SEMPRE em laranja, ignorando --ac (cor da área) */
body.theme-e .v3-listas .anchor-chip {
  padding: 4px 9px 4px 8px;
  border-radius: 7px;
  background: var(--surface);
  border: 1.5px solid var(--brand) !important;
  color: var(--brand) !important;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 12.5px;
}
body.theme-e .v3-listas .anchor-chip svg { width: 12px; height: 12px; }

/* List zone */
body.theme-e .v3-listas .list-zone {
  padding: 16px 36px 30px;
  gap: 10px;
}

/* Cards: bandeira lateral 76px com ícone do tipo de lista + label mono */
body.theme-e .v3-listas .v3-card {
  grid-template-columns: 76px 1fr;
  border: 1px solid var(--line);
  border-radius: 10px;
  box-shadow: none;
  background: var(--surface);
}
body.theme-e .v3-listas .v3-card:hover {
  border-color: var(--line-2);
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}
body.theme-e .v3-listas .v3-card-side,
body.theme-e .v3-listas .v3-card-flag {
  background: var(--surface-2);
  border-right: 1px solid var(--line);
  color: var(--ink-2);
  padding: 14px 8px;
}
body.theme-e .v3-listas .v3-card-side svg,
body.theme-e .v3-listas .v3-card-flag svg {
  width: 18px; height: 18px;
  color: var(--ink-2); stroke: var(--ink-2);
}
body.theme-e .v3-listas .v3-card-side-label,
body.theme-e .v3-listas .v3-card-flag-label {
  font-family: var(--font-mono);
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-2);
}
body.theme-e .v3-listas .v3-card-body { padding: 14px 18px; }
body.theme-e .v3-listas .v3-card-title { font-size: 13.5px; font-weight: 500; }
body.theme-e .v3-listas .v3-card-meta { font-size: 11.5px; color: var(--ink-3); }

/* Projetos no E */
body.theme-e .v3-listas .v3-project-card {
  border: 1px solid var(--line);
  border-radius: 10px;
  border-left: 1px solid var(--line);
  box-shadow: none;
}

/* + Adicionar */
body.theme-e .v3-listas .v3-h-add {
  background: var(--ink);
  color: var(--surface);
  padding: 8px 13px;
  font-size: 12.5px;
  border-radius: 8px;
}

/* Diário (igual D) */
body.theme-e .journal-header-zone {
  padding: 28px 36px 14px;
  background: var(--bg);
  border-bottom: 1px solid var(--line);
}
body.theme-e .journal-h-main { margin-bottom: 12px; gap: 12px; }
body.theme-e .journal-h-square {
  width: 34px; height: 34px;
  border-radius: 9px;
  background: var(--surface-2);
  border: 1px solid var(--line-2);
}
body.theme-e .journal-h-square svg { width: 16px; height: 16px; color: var(--ink-2); stroke: var(--ink-2); }
body.theme-e .journal-h-title { font-size: 26px; font-weight: 500; }
body.theme-e .journal-list-zone { padding: 16px 36px 30px; }
body.theme-e .entry { border-color: var(--line); box-shadow: none; }
body.theme-e .entry-content { font-size: 14.5px; }
body.theme-e .entry-content.quote { font-size: 14.5px; }
body.theme-e .journal-anchor-chip {
  border: 1.5px solid var(--brand) !important;
  color: var(--brand) !important;
  font-size: 12.5px;
}

/* ============================================================
   TEMAS D + E — OVERRIDES FORTES (alta especificidade)
   Necessário porque regras base de .v3-listas têm tamanhos/grids fixos.
   ============================================================ */

/* ----- TEMA D · MINIMAL ----- */

/* Header zone achatado */
body.theme-d .v3-listas .header-zone {
  padding: 28px 36px 14px !important;
  background: color-mix(in srgb, var(--area-accent) var(--header-tint), var(--surface)) !important;
}

/* Glifo pequeno */
body.theme-d .v3-listas .v3-h-square {
  width: 34px !important;
  height: 34px !important;
  border-radius: 9px !important;
}
body.theme-d .v3-listas .v3-h-square svg {
  width: 16px !important;
  height: 16px !important;
}

/* Título menor */
body.theme-d .v3-listas .v3-h-title {
  font-size: 26px !important;
  font-weight: 500 !important;
  letter-spacing: -0.015em !important;
}

/* Anchor chip menor */
body.theme-d .v3-listas .anchor-chip {
  padding: 4px 9px 4px 8px !important;
  border-radius: 7px !important;
  font-size: 12.5px !important;
  border-color: var(--area-accent) !important;
  color: var(--area-accent) !important;
}

/* Bandeira do card: barra fininha 6px com cor da área */
body.theme-d .v3-listas .v3-card {
  display: flex !important;
}
body.theme-d .v3-listas .v3-card .v3-flag {
  width: 6px !important;
  min-height: 0 !important;
  padding: 0 !important;
  background: var(--area-color, var(--ink-3)) !important;
  border-right: none !important;
  align-self: stretch !important;
}
body.theme-d .v3-listas .v3-card .v3-flag .v3-flag-icon,
body.theme-d .v3-listas .v3-card .v3-flag .v3-flag-name {
  display: none !important;
}

/* Cards limpos sem sombra */
body.theme-d .v3-listas .v3-card,
body.theme-d .v3-listas .v3-project-card {
  border: 1px solid var(--line) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}
body.theme-d .v3-listas .v3-card-body { padding: 14px 18px !important; }


/* ----- TEMA E · MONOCROMÁTICO ----- */

body.theme-e .v3-listas .header-zone {
  padding: 28px 36px 14px !important;
  background: var(--bg) !important;
}

/* Glifo pequeno (igual D) */
body.theme-e .v3-listas .v3-h-square {
  width: 34px !important;
  height: 34px !important;
  border-radius: 9px !important;
}
body.theme-e .v3-listas .v3-h-square svg {
  width: 16px !important;
  height: 16px !important;
}

body.theme-e .v3-listas .v3-h-title {
  font-size: 26px !important;
  font-weight: 500 !important;
  letter-spacing: -0.015em !important;
}

/* Anchor chip sempre laranja, ignorando cor da área */
body.theme-e .v3-listas .anchor-chip {
  padding: 4px 9px 4px 8px !important;
  border-radius: 7px !important;
  font-size: 12.5px !important;
  border-color: var(--brand) !important;
  color: var(--brand) !important;
  background: var(--surface) !important;
}

/* Bandeira 76px cinza-claro com ícone do tipo de lista + label mono */
body.theme-e .v3-listas .v3-card {
  display: flex !important;
}
body.theme-e .v3-listas .v3-card .v3-flag {
  width: 76px !important;
  background: var(--surface-2) !important;
  border-right: 1px solid var(--line) !important;
  color: var(--ink-2) !important;
  padding: 14px 8px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  align-self: stretch !important;
}
body.theme-e .v3-listas .v3-card .v3-flag .v3-flag-icon {
  display: inline-flex !important;
}
body.theme-e .v3-listas .v3-card .v3-flag .v3-flag-icon svg {
  width: 18px !important;
  height: 18px !important;
  color: var(--ink-2) !important;
  stroke: var(--ink-2) !important;
}
body.theme-e .v3-listas .v3-card .v3-flag .v3-flag-name {
  display: inline-block !important;
  font-family: var(--font-mono) !important;
  font-size: 9.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--ink-2) !important;
}

body.theme-e .v3-listas .v3-card,
body.theme-e .v3-listas .v3-project-card {
  border: 1px solid var(--line) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}
body.theme-e .v3-listas .v3-card-body { padding: 14px 18px !important; }

/* Tema E: contexto inline no card em cinza neutro (não na cor da área) */
body.theme-e .v3-listas .v3-card-ctx-pill {
  background: var(--surface-2) !important;
  color: var(--ink-2) !important;
  border-color: var(--line) !important;
}
body.theme-e .v3-listas .v3-card-ctx-pill .v3-card-ctx-pill-dot {
  background: var(--ink-3) !important;
}


/* ----- DARK: força tamanhos baseline + cores ----- */
body.theme-dark .v3-listas .v3-h-square,
body.theme-notebook .v3-listas .v3-h-square,
body.theme-editorial .v3-listas .v3-h-square {
  background: var(--surface-2) !important;
  border-color: var(--line-2, var(--line)) !important;
  color: var(--ink-2) !important;
}
body.theme-dark .v3-listas .v3-h-square svg,
body.theme-notebook .v3-listas .v3-h-square svg {
  color: var(--ink-2) !important;
  stroke: var(--ink-2) !important;
}

/* DARK: força fundo dos containers principais */
body.theme-dark .v3-listas .header-zone { background: var(--surface) !important; }
body.theme-dark .v3-listas .list-zone { background: var(--bg) !important; }
body.theme-dark .v3-card,
body.theme-dark .v3-project-card {
  background: var(--surface) !important;
  border-color: var(--line) !important;
}

/* NOTEBOOK: tipografia serif nos títulos */
body.theme-notebook .v3-listas .v3-h-title,
body.theme-notebook .journal-h-title,
body.theme-notebook .v3-drawer-title,
body.theme-notebook .rail-brand {
  font-family: 'Source Serif 4', 'Lora', Georgia, serif !important;
}

/* EDITORIAL: tipografia serif IBM Plex + sem radius */
body.theme-editorial .v3-listas .v3-h-title,
body.theme-editorial .journal-h-title,
body.theme-editorial .v3-drawer-title,
body.theme-editorial .rail-brand {
  font-family: 'IBM Plex Serif', Georgia, serif !important;
}
body.theme-editorial .v3-card,
body.theme-editorial .v3-project-card,
body.theme-editorial .v3-h-square,
body.theme-editorial .entry,
body.theme-editorial .modal-card,
body.theme-editorial .jc-card,
body.theme-editorial .jd-card,
body.theme-editorial .v3-drawer-panel,
body.theme-editorial .v3-h-add,
body.theme-editorial .v3-drawer-save,
body.theme-editorial .jc-save,
body.theme-editorial .v3-chip,
body.theme-editorial .anchor-chip,
body.theme-editorial .journal-anchor-chip {
  border-radius: 0 !important;
}


/* ============================================================
   TEMA ATUAL · Spec final (Mock Temas.html · TEMA ATUAL)
   ============================================================ */

/* Glifo do header da lista — 44×44, radius 11px, neutro */
body.theme-current .v3-listas .v3-h-square,
body.theme-current .journal-h-square {
  display: grid !important;
  place-items: center !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 11px !important;
  background-color: var(--surface-2) !important;
  border-width: 1px !important;
  border-style: solid !important;
  border-color: var(--line) !important;
  color: var(--ink-2) !important;
  flex-shrink: 0 !important;
}
body.theme-current .v3-listas .v3-h-square svg,
body.theme-current .journal-h-square svg {
  width: 21px !important;
  height: 21px !important;
  color: var(--ink-2) !important;
  stroke: var(--ink-2) !important;
  stroke-width: 2 !important;
}

/* Lista: cards independentes com gap visível */
body.theme-current .v3-listas .list-zone .v3-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
}
body.theme-current .v3-listas .list-zone {
  padding: 22px 36px !important;
}

/* Cada card: unidade completa com border nos 4 lados
   Uso longhand explícito pra contornar bug de var() em shorthand. */
body.theme-current .v3-listas .list-zone .v3-list .v3-card {
  display: grid !important;
  grid-template-columns: 80px 1fr !important;
  background-color: var(--surface) !important;
  border-width: 1px !important;
  border-style: solid !important;
  border-color: var(--line) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: none !important;
  min-height: 0 !important;
}

/* Bandeira lateral: cinza-claro NEUTRO + ícone Lucide + label mono */
body.theme-current .v3-listas .v3-card .v3-flag {
  background-color: var(--surface-2) !important;
  color: var(--ink-2) !important;
  border-right-width: 1px !important;
  border-right-style: solid !important;
  border-right-color: var(--line) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 14px !important;
  width: 80px !important;
  min-width: 80px !important;
}
body.theme-current .v3-listas .v3-card .v3-flag.is-empty {
  background-color: var(--surface-2) !important;
  border-width: 0 !important;
  border-right-width: 1px !important;
  border-right-style: solid !important;
  border-right-color: var(--line) !important;
}
body.theme-current .v3-listas .v3-card .v3-flag-icon,
body.theme-current .v3-listas .v3-card .v3-flag-icon svg {
  color: var(--ink-2) !important;
  stroke: var(--ink-2) !important;
  width: 20px !important;
  height: 20px !important;
}
body.theme-current .v3-listas .v3-card .v3-flag-name {
  font-family: var(--font-mono, 'JetBrains Mono', monospace) !important;
  font-size: 9.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--ink-2) !important;
  opacity: 1 !important;
  line-height: 1.2 !important;
}

/* Chip de área: neutro (mock TEMA ATUAL) — branco com borda cinza e texto preto */
body.theme-current .v3-listas .anchor-chip {
  background-color: var(--surface) !important;
  color: var(--ink) !important;
  border-width: 1.5px !important;
  border-style: solid !important;
  border-color: var(--line) !important;
}
body.theme-current .v3-listas .anchor-chip.anchor-chip-empty {
  border-color: var(--line-2) !important;
  color: var(--ink-3) !important;
}

/* ============================================================
   TEMA ATUAL · Refator Contexto-First
   (Mock Contexto Primeiro.html · Variação II)
   ============================================================ */

/* Esconder a frase ancoradora "Mostrando ações de..." — substituída pelas pills de contexto */
body.theme-current .v3-listas .anchor-line {
  display: none !important;
}

/* Filterbar com label "Contexto" + pills horizontais */
body.theme-current .v3-listas .v3-ctx-bar {
  margin-top: 14px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  background: transparent !important;
  border-bottom: none !important;
}
body.theme-current .v3-listas .v3-ctx-bar .v3-filter-label {
  font-family: var(--font-mono, 'JetBrains Mono', monospace) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--ink-3) !important;
  margin-right: 4px !important;
}

/* Pills de contexto */
body.theme-current .v3-listas .v3-ctx-bar .v3-chip {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 6px 12px 6px 10px !important;
  border-radius: 999px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  background-color: var(--surface) !important;
  border-width: 1px !important;
  border-style: solid !important;
  border-color: var(--line) !important;
  color: var(--ink-2) !important;
  cursor: pointer !important;
  transition: background-color .15s, color .15s, border-color .15s !important;
}
body.theme-current .v3-listas .v3-ctx-bar .v3-chip:hover {
  border-color: var(--line-2) !important;
  color: var(--ink) !important;
}

/* Ativo: preto sólido (não a cor do contexto) */
body.theme-current .v3-listas .v3-ctx-bar .v3-chip.is-active {
  background-color: var(--ink) !important;
  color: var(--surface) !important;
  border-color: var(--ink) !important;
}
body.theme-current .v3-listas .v3-ctx-bar .v3-chip.is-active .v3-tab-count {
  color: var(--surface) !important;
  opacity: 0.7 !important;
}

/* Dot do chip */
body.theme-current .v3-listas .v3-ctx-bar .v3-chip-dot {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  flex-shrink: 0 !important;
}
body.theme-current .v3-listas .v3-ctx-bar .v3-chip-dot-all {
  background-color: transparent !important;
  border: 1.5px solid var(--ink-3) !important;
}
body.theme-current .v3-listas .v3-ctx-bar .v3-chip.is-active .v3-chip-dot-all {
  border-color: var(--surface) !important;
  opacity: 0.6 !important;
}

/* Count tag */
body.theme-current .v3-listas .v3-ctx-bar .v3-tab-count {
  font-family: var(--font-mono, 'JetBrains Mono', monospace) !important;
  font-size: 10.5px !important;
  color: var(--ink-3) !important;
  margin-left: 2px !important;
}

/* Botão Agrupar por área */
body.theme-current .v3-listas .v3-ctx-bar .v3-group-toggle {
  margin-left: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 6px 11px 6px 10px !important;
  border-radius: 8px !important;
  background-color: var(--surface) !important;
  border-width: 1px !important;
  border-style: solid !important;
  border-color: var(--line) !important;
  color: var(--ink-2) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
}
body.theme-current .v3-listas .v3-ctx-bar .v3-group-toggle:hover {
  border-color: var(--line-2) !important;
}
body.theme-current .v3-listas .v3-ctx-bar .v3-group-toggle.is-on {
  background-color: var(--ink) !important;
  color: var(--surface) !important;
  border-color: var(--ink) !important;
}
body.theme-current .v3-listas .v3-ctx-bar .v3-group-toggle svg {
  width: 13px !important;
  height: 13px !important;
}

/* Header zone: sem tint de área (sempre neutro) */
body.theme-current .v3-listas .header-zone {
  background-color: var(--bg) !important;
}

/* Grupo por área (cabeçalho colapsável) */
body.theme-current .v3-listas .v3-group {
  margin-bottom: 18px;
}
body.theme-current .v3-listas .v3-group-header {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 4px 8px !important;
  margin-bottom: 6px !important;
  border-bottom: 1px solid var(--line) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: var(--ink) !important;
}
body.theme-current .v3-listas .v3-group-dot {
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  flex-shrink: 0 !important;
}
body.theme-current .v3-listas .v3-group-dot-empty {
  background-color: transparent !important;
  border: 1.5px solid var(--ink-3) !important;
}
body.theme-current .v3-listas .v3-group-name {
  flex: 1 !important;
}
body.theme-current .v3-listas .v3-group-count {
  font-family: var(--font-mono, 'JetBrains Mono', monospace) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  color: var(--ink-3) !important;
  letter-spacing: 0.04em !important;
}

/* Mini-chip de contexto no card: 3 cores derivadas via color-mix */
body.theme-current .v3-listas .v3-card-ctx-pill {
  background-color: color-mix(in srgb, var(--c, var(--ink-3)) 14%, white) !important;
  color: color-mix(in srgb, var(--c, var(--ink)) 75%, black) !important;
  padding: 3px 9px 3px 8px !important;
  border-radius: 999px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  text-transform: lowercase !important;
  border: none !important;
}
body.theme-current .v3-listas .v3-card-ctx-pill-dot {
  width: 6px !important;
  height: 6px !important;
}

/* ============================================================
   TEMA ATUAL · Popovers (área/contexto/data/projeto)
   Mesmo design system do .v3-move-popover (drawer "Mover para").
   ============================================================ */
body.theme-current .v3-popover {
  background-color: var(--surface) !important;
  border-width: 1px !important;
  border-style: solid !important;
  border-color: var(--line) !important;
  border-radius: 12px !important;
  box-shadow:
    0 1px 0 rgba(0,0,0,0.02),
    0 10px 24px rgba(0,0,0,0.08),
    0 3px 6px rgba(0,0,0,0.04) !important;
  padding: 0 !important;
  min-width: 240px !important;
  max-width: 280px !important;
  max-height: 380px !important;
  font-family: 'Inter', sans-serif !important;
  overflow: hidden !important;
}
body.theme-current .v3-popover-inner {
  padding: 8px 6px 6px !important;
  gap: 4px !important;
  max-height: 380px !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Campo de busca: pill discreto */
body.theme-current .v3-popover .v3-picker-search-wrap {
  position: relative;
  padding: 0 2px !important;
  margin: 0 0 4px !important;
}
body.theme-current .v3-popover .v3-picker-search {
  width: 100%;
  padding: 7px 10px 7px 28px !important;
  border-width: 1px !important;
  border-style: solid !important;
  border-color: var(--line) !important;
  border-radius: 7px !important;
  background-color: var(--surface-2) !important;
  color: var(--ink) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  outline: none !important;
}
body.theme-current .v3-popover .v3-picker-search:focus {
  border-color: var(--ink) !important;
  background-color: var(--surface) !important;
}
body.theme-current .v3-popover .v3-picker-search-wrap svg {
  position: absolute;
  left: 10px; top: 50%;
  transform: translateY(-50%);
  width: 12px; height: 12px;
  color: var(--ink-3) !important;
  pointer-events: none;
}

/* Lista de itens — linhas compactas */
body.theme-current .v3-popover .v3-picker-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 1px !important;
  flex: 1 !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-y: auto !important;
  padding: 0 2px !important;
}
body.theme-current .v3-popover .v3-picker-item {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  padding: 6px 8px !important;
  background-color: transparent !important;
  border-width: 0 !important;
  border-radius: 7px !important;
  cursor: pointer !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--ink) !important;
  text-align: left !important;
  transition: background-color .12s, transform .08s cubic-bezier(0.4,0,0.2,1) !important;
  min-height: 0 !important;
}
body.theme-current .v3-popover .v3-picker-item:hover {
  background-color: var(--surface-2) !important;
}
body.theme-current .v3-popover .v3-picker-item:active { transform: scale(0.97); }
body.theme-current .v3-popover .v3-picker-item.is-selected {
  background-color: transparent !important;
  font-weight: 600 !important;
}
body.theme-current .v3-popover .v3-picker-item.is-selected:hover {
  background-color: var(--surface-2) !important;
}
body.theme-current .v3-popover .v3-picker-item.is-selected::before {
  display: none !important;
}
body.theme-current .v3-popover .v3-picker-item-swatch {
  width: 22px !important;
  height: 22px !important;
  border-radius: 6px !important;
  display: grid !important;
  place-items: center !important;
  color: #FFFFFF !important;
  flex-shrink: 0 !important;
}
body.theme-current .v3-popover .v3-picker-item-swatch svg {
  width: 12px !important;
  height: 12px !important;
  stroke-width: 2 !important;
  color: #FFFFFF !important;
}
body.theme-current .v3-popover .v3-picker-item-name {
  flex: 1 !important;
  font-size: 13px !important;
  color: var(--ink) !important;
}
body.theme-current .v3-popover .v3-picker-empty {
  padding: 16px 10px !important;
  text-align: center !important;
  color: var(--ink-3) !important;
  font-size: 12.5px !important;
}

/* Footer: remover (rosa-vermelho danger) */
body.theme-current .v3-popover .v3-picker-foot {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  margin-top: 6px !important;
  padding-top: 8px !important;
  border-top-width: 1px !important;
  border-top-style: solid !important;
  border-top-color: var(--line) !important;
}
body.theme-current .v3-popover .v3-picker-foot-btn {
  display: flex !important;
  align-items: center !important;
  text-align: left !important;
  padding: 8px 10px !important;
  background-color: transparent !important;
  border-width: 0 !important;
  border-radius: 8px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  transition: background-color .12s !important;
}
body.theme-current .v3-popover .v3-picker-foot-remove {
  color: var(--danger, #B0556C) !important;
}
body.theme-current .v3-popover .v3-picker-foot-remove:hover {
  background-color: rgba(176, 85, 108, 0.08) !important;
}

/* Animação de entrada */
body.theme-current .v3-popover {
  animation: v3PopoverIn 180ms cubic-bezier(0.22, 1, 0.36, 1) both !important;
  transform-origin: top left;
}
@keyframes v3PopoverIn {
  from { opacity: 0; transform: translateY(-6px) scale(0.97); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

/* ============================================================
   TEMA ATUAL · Rail unificado + botão Adicionar menor
   - Hoje sem quadrado laranja preenchido (vira só ícone Lucide cinza/laranja)
   - Sublist ativa: só barra lateral 3px laranja, sem fundo preenchido
   - Botão "+ Adicionar" no header: tamanho moderado
   ============================================================ */

/* Hoje: remove o square laranja preenchido — fica só ícone Lucide igual aos demais */
body.theme-current .rail-main:not(.is-expanded) .rail-item-hoje .rail-hoje-square {
  background: transparent !important;
  box-shadow: none !important;
  width: 24px !important;
  height: 24px !important;
  color: var(--ink-3) !important;
  border-radius: 0 !important;
}
body.theme-current .rail-main:not(.is-expanded) .rail-item-hoje .rail-hoje-square svg {
  width: 20px !important;
  height: 20px !important;
  color: var(--ink-3) !important;
  stroke: var(--ink-3) !important;
}
body.theme-current .rail-main:not(.is-expanded) .rail-item-hoje.active .rail-hoje-square,
body.theme-current .rail-main:not(.is-expanded) .rail-item-hoje.active .rail-hoje-square svg {
  color: var(--brand) !important;
  stroke: var(--brand) !important;
}
body.theme-current .rail-main:not(.is-expanded) .rail-item-hoje:hover .rail-hoje-square {
  transform: none !important;
  box-shadow: none !important;
}
body.theme-current .rail-main:not(.is-expanded) .rail-item-hoje:hover .rail-hoje-square svg {
  color: var(--ink-2) !important;
  stroke: var(--ink-2) !important;
}

/* Sublist do rail: ativo sem quadrado laranja sólido, só barra lateral 3px */
body.theme-current .rail-main:not(.is-expanded) .rail-sub-glyph.active {
  background-color: transparent !important;
  color: var(--brand) !important;
}
body.theme-current .rail-main:not(.is-expanded) .rail-sub-glyph.active svg {
  color: var(--brand) !important;
  stroke: var(--brand) !important;
}
body.theme-current .rail-main:not(.is-expanded) .rail-sub-glyph.active::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 6px !important; bottom: 6px !important;
  width: 3px !important;
  background-color: var(--brand) !important;
  border-radius: 0 2px 2px 0 !important;
}
body.theme-current .rail-main:not(.is-expanded) .rail-sub-glyph:hover {
  background-color: var(--surface-2) !important;
  color: var(--ink-2) !important;
}

/* Botão "+ Adicionar" no header das listas — versão compacta */
body.theme-current .v3-listas .v3-h-add {
  padding: 8px 14px !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  border-radius: 8px !important;
  gap: 6px !important;
}
body.theme-current .v3-listas .v3-h-add svg {
  width: 14px !important;
  height: 14px !important;
}

/* ============================================================
   TEMA ATUAL · Fix urgente final
   - Botão "+ Adicionar" sai do header e vira pill compacta na ctx-bar
   - Rail item ativo: zero background filled, só linha vertical
   ============================================================ */

/* ctx-bar agora suporta toolbar-actions com gap auto à direita */
body.theme-current .v3-listas .v3-ctx-bar .v3-toolbar-actions {
  margin-left: auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

/* ctx-bar vazia (só com botão Adicionar, em algumdia/aguardando) */
body.theme-current .v3-listas .v3-ctx-bar-empty {
  justify-content: flex-end !important;
}

/* Botão "+ Adicionar" pequeno na toolbar — sobrescreve regras anteriores */
body.theme-current .v3-listas .v3-toolbar-actions .v3-h-add {
  padding: 7px 12px 7px 10px !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  background-color: var(--ink) !important;
  color: var(--surface) !important;
  font-family: 'Inter Tight', sans-serif !important;
  gap: 6px !important;
  white-space: nowrap !important;
  box-shadow: none !important;
  border-width: 0 !important;
}
body.theme-current .v3-listas .v3-toolbar-actions .v3-h-add:hover {
  background-color: #2A2A2A !important;
  transform: none !important;
  box-shadow: none !important;
}
body.theme-current .v3-listas .v3-toolbar-actions .v3-h-add svg {
  width: 14px !important;
  height: 14px !important;
}

/* Agrupar por área: mesma vibe (secondary com border line) */
body.theme-current .v3-listas .v3-toolbar-actions .v3-group-toggle {
  padding: 7px 12px 7px 10px !important;
  border-radius: 8px !important;
  background-color: var(--surface) !important;
  border-width: 1px !important;
  border-style: solid !important;
  border-color: var(--line) !important;
  color: var(--ink) !important;
  font-family: 'Inter Tight', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
}
body.theme-current .v3-listas .v3-toolbar-actions .v3-group-toggle:hover {
  background-color: var(--bg) !important;
  border-color: var(--line-2) !important;
}
body.theme-current .v3-listas .v3-toolbar-actions .v3-group-toggle.is-on {
  background-color: var(--ink) !important;
  color: var(--surface) !important;
  border-color: var(--ink) !important;
}
body.theme-current .v3-listas .v3-toolbar-actions .v3-group-toggle svg {
  width: 14px !important;
  height: 14px !important;
}

/* Rail item primário ativo: SEM background filled, só linha vertical 3px */
body.theme-current .rail-item.active {
  background-color: transparent !important;
  color: var(--ink) !important;
  font-weight: 600 !important;
}
body.theme-current .rail-item.active svg {
  color: var(--brand) !important;
  stroke: var(--brand) !important;
}
body.theme-current .rail-item.active::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 8px !important; bottom: 8px !important;
  width: 3px !important;
  background-color: var(--brand) !important;
  border-radius: 0 2px 2px 0 !important;
}

/* ============================================================
   TEMA ATUAL · Popover · Swatch neutro com dot de cor sutil
   Cor da área/contexto vira um dot pequeno no canto inferior direito,
   não mais o swatch inteiro saturado.
   ============================================================ */
body.theme-current .v3-popover .v3-picker-item-swatch-neutral {
  background-color: var(--surface-2) !important;
  border-width: 1px !important;
  border-style: solid !important;
  border-color: var(--line) !important;
  color: var(--ink-2) !important;
  position: relative !important;
}
body.theme-current .v3-popover .v3-picker-item-swatch-neutral svg {
  color: var(--ink-2) !important;
  stroke: var(--ink-2) !important;
  width: 12px !important;
  height: 12px !important;
}
body.theme-current .v3-popover .v3-picker-item-dot {
  position: absolute !important;
  bottom: -2px !important;
  right: -2px !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  border: 1.5px solid var(--surface) !important;
}

/* Label "Mover para" do popover de lista */
body.theme-current .v3-popover .v3-popover-label {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--ink-3) !important;
  padding: 4px 10px 8px !important;
}

/* ============================================================
   TEMA ATUAL · INBOX (Entrada) — refator GTD canônico
   ============================================================ */

/* Header */
body.theme-current #view-capturar .ib-header {
  display: flex; align-items: center; gap: 18px;
  padding: 28px 44px 22px;
  background-color: var(--bg);
  border-bottom: 1px solid var(--line);
}
body.theme-current #view-capturar .ib-glyph {
  width: 44px; height: 44px; border-radius: 11px;
  background-color: var(--surface-2);
  border: 1px solid var(--line);
  color: var(--ink-2);
  display: grid; place-items: center; flex-shrink: 0;
}
body.theme-current #view-capturar .ib-glyph svg { width: 22px; height: 22px; }
body.theme-current #view-capturar .ib-titles { flex: 1; }
body.theme-current #view-capturar .ib-title {
  font-family: 'Inter Tight', sans-serif;
  font-size: 32px; font-weight: 700;
  letter-spacing: -0.025em; line-height: 1;
  color: var(--ink); margin: 0;
}
body.theme-current #view-capturar .ib-sub {
  font-size: 13px; color: var(--ink-2);
  margin-top: 6px;
}
body.theme-current #view-capturar .ib-score {
  text-align: right; flex-shrink: 0;
}
body.theme-current #view-capturar .ib-score .num {
  font-family: 'Inter Tight', sans-serif;
  font-size: 44px; font-weight: 700;
  letter-spacing: -0.03em; line-height: 1;
  color: var(--ink);
}
body.theme-current #view-capturar .ib-score .lbl {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px; font-weight: 600;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--ink-3); margin-top: 4px;
}

/* Toolbar */
body.theme-current #view-capturar .ib-toolbar {
  padding: 18px 44px; display: flex;
  align-items: center; gap: 10px;
  border-bottom: 1px solid var(--line);
  background-color: var(--surface);
}
body.theme-current #view-capturar .ib-btn {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 9px 14px 9px 12px;
  border-radius: 9px;
  font-family: 'Inter Tight', sans-serif;
  font-size: 13.5px; font-weight: 600;
  border: 1px solid transparent; cursor: pointer;
  background-color: transparent;
  color: var(--ink);
}
body.theme-current #view-capturar .ib-btn svg { width: 14px; height: 14px; }
body.theme-current #view-capturar .ib-btn.primary {
  background-color: var(--ink); color: var(--surface);
}
body.theme-current #view-capturar .ib-btn.primary:hover { background-color: #2A2A2A; }
body.theme-current #view-capturar .ib-btn.primary:disabled { opacity: 0.4; cursor: not-allowed; }
body.theme-current #view-capturar .ib-btn.ai {
  background-color: var(--surface);
  border-color: var(--line);
  color: var(--ink);
}
body.theme-current #view-capturar .ib-btn.ai .star { color: var(--brand); }
body.theme-current #view-capturar .ib-btn.ai:hover { background-color: var(--bg); }
body.theme-current #view-capturar .ib-spacer { flex: 1; }

/* Capture field */
body.theme-current #view-capturar .ib-capture {
  margin: 24px 44px;
  display: flex; align-items: center; gap: 10px;
  padding: 6px 6px 6px 18px;
  background-color: var(--surface);
  border: 2px solid var(--brand);
  border-radius: 14px;
  box-shadow: 0 0 0 4px #FBEFE9;
}
body.theme-current #view-capturar .ib-capture input {
  flex: 1; border: none; outline: none;
  font-family: 'Inter', sans-serif;
  font-size: 15px; color: var(--ink);
  padding: 12px 0; background: transparent;
}
body.theme-current #view-capturar .ib-capture input::placeholder { color: var(--ink-3); }
body.theme-current #view-capturar .ib-capture .add-btn {
  width: 42px; height: 42px; border-radius: 10px;
  background-color: var(--ink); color: var(--surface);
  border: none; cursor: pointer;
  display: grid; place-items: center;
}
body.theme-current #view-capturar .ib-capture .add-btn:hover { background-color: #2A2A2A; }
body.theme-current #view-capturar .ib-capture .add-btn svg { width: 18px; height: 18px; }
body.theme-current #view-capturar .ib-capture .hint {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px; color: var(--ink-3);
  text-transform: uppercase; letter-spacing: 0.12em;
  padding-right: 8px;
}
body.theme-current #view-capturar .ib-capture kbd {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  padding: 2px 5px; border-radius: 4px;
  background-color: var(--surface-2);
  border: 1px solid var(--line);
  color: var(--ink-2);
}

/* List items */
body.theme-current #view-capturar .ib-list {
  margin: 8px 44px 36px;
  display: flex; flex-direction: column; gap: 10px;
}
body.theme-current #view-capturar .ib-item {
  display: grid; grid-template-columns: 56px 1fr auto;
  align-items: center;
  background-color: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px; padding: 16px 18px;
  cursor: pointer; transition: border-color .15s, box-shadow .15s;
}
body.theme-current #view-capturar .ib-item:hover {
  border-color: var(--line-2);
  box-shadow: 0 2px 6px rgba(0,0,0,.04);
}
body.theme-current #view-capturar .ib-item .ib-mark {
  width: 28px; height: 28px; border-radius: 8px;
  background-color: var(--surface-2);
  color: var(--ink-3);
  border: 1px solid var(--line);
  display: grid; place-items: center;
  flex-shrink: 0;
}
body.theme-current #view-capturar .ib-item .ib-mark svg { width: 14px; height: 14px; }
body.theme-current #view-capturar .ib-item .ib-content { display: flex; flex-direction: column; }
body.theme-current #view-capturar .ib-item .ib-content .t {
  font-size: 14.5px; color: var(--ink);
  line-height: 1.4;
}
body.theme-current #view-capturar .ib-item .ib-content .m {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px; color: var(--ink-3);
  text-transform: uppercase; letter-spacing: 0.1em;
  margin-top: 4px;
}
body.theme-current #view-capturar .ib-item .ib-arrow {
  color: #C8C8C4; flex-shrink: 0; margin-left: 12px;
}
body.theme-current #view-capturar .ib-item .ib-arrow svg { width: 18px; height: 18px; }
body.theme-current #view-capturar .ib-item:hover .ib-arrow { color: var(--ink); }

/* Empty state */
body.theme-current #view-capturar .ib-empty {
  margin: 48px auto; text-align: center;
  color: var(--ink-3); padding: 36px;
}
body.theme-current #view-capturar .ib-empty-icon {
  width: 56px; height: 56px; border-radius: 14px;
  background-color: var(--surface-2);
  border: 1px solid var(--line);
  color: #1F8A5B;
  display: grid; place-items: center;
  margin: 0 auto 12px;
}
body.theme-current #view-capturar .ib-empty-icon svg { width: 26px; height: 26px; }
body.theme-current #view-capturar .ib-empty-title {
  font-family: 'Inter Tight', sans-serif;
  font-size: 18px; font-weight: 600;
  color: var(--ink); letter-spacing: -0.01em;
}
body.theme-current #view-capturar .ib-empty-sub {
  font-size: 13px; color: var(--ink-3);
  margin-top: 4px;
}

/* ============================================================
   MODAL DE PROCESSAMENTO (6 steps)
   ============================================================ */
.ib-process-overlay {
  position: fixed; inset: 0;
  background: rgba(0,0,0,0.5);
  display: none; align-items: center; justify-content: center;
  z-index: 250;
  padding: 24px;
  animation: ibFadeIn 180ms ease;
}
@keyframes ibFadeIn { from { opacity: 0; } to { opacity: 1; } }

.ib-process-modal {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 16px;
  width: 100%;
  max-width: 520px;
  max-height: 88vh;
  overflow-y: auto;
  display: flex; flex-direction: column;
  box-shadow: 0 24px 48px rgba(0,0,0,0.18);
  animation: ibSlideUp 220ms cubic-bezier(0.22, 1, 0.36, 1);
}
@keyframes ibSlideUp {
  from { opacity: 0; transform: translateY(14px) scale(0.97); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

.ib-process-modal .step-tag {
  padding: 10px 16px;
  background-color: var(--bg);
  border-bottom: 1px solid var(--line);
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--ink-2);
  display: flex; align-items: center; gap: 8px;
}
.ib-process-modal .step-tag .num {
  width: 18px; height: 18px; border-radius: 50%;
  background-color: var(--ink); color: var(--surface);
  display: grid; place-items: center;
  font-size: 9.5px; font-weight: 700;
}

.ib-process-modal .m-stage {
  padding: 22px 22px 18px;
  display: flex; flex-direction: column; gap: 14px;
}
.ib-process-modal .m-top {
  display: flex; align-items: center; justify-content: space-between;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px; color: var(--ink-3);
  text-transform: uppercase; letter-spacing: 0.12em;
}
.ib-process-modal .m-dots { display: flex; align-items: center; gap: 5px; }
.ib-process-modal .m-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background-color: var(--line);
}
.ib-process-modal .m-dot.done { background-color: var(--ink); }
.ib-process-modal .m-dot.active {
  background-color: var(--brand);
  box-shadow: 0 0 0 3px #FBEFE9;
}
.ib-process-modal .m-x {
  color: var(--ink-3); cursor: pointer;
  background: none; border: none;
  display: inline-grid; place-items: center;
  width: 22px; height: 22px;
  border-radius: 5px;
}
.ib-process-modal .m-x:hover { background-color: var(--surface-2); color: var(--ink); }
.ib-process-modal .m-x svg { width: 14px; height: 14px; }

.ib-process-modal .m-title {
  font-family: 'Inter Tight', sans-serif;
  font-size: 18px; font-weight: 700;
  letter-spacing: -0.015em; line-height: 1.2;
  color: var(--ink);
  display: flex; align-items: flex-start; gap: 8px;
}
.ib-process-modal .m-question {
  font-family: 'Inter Tight', sans-serif;
  font-size: 15.5px; font-weight: 600;
  color: var(--ink); letter-spacing: -0.01em;
  margin: 4px 0 2px;
}
.ib-process-modal .m-hint {
  font-size: 12.5px; color: var(--ink-2);
  line-height: 1.5;
}
.ib-process-modal .m-hint strong { color: var(--ink); }

.ib-process-modal .m-opts {
  border: 1px solid var(--line); border-radius: 11px;
  overflow: hidden; margin-top: 2px;
  display: flex; flex-direction: column;
}
.ib-process-modal .m-opt {
  display: flex; align-items: center; gap: 10px;
  padding: 11px 13px;
  font-size: 13px; color: var(--ink);
  cursor: pointer;
  border: none;
  background-color: transparent;
  border-bottom: 1px solid var(--line);
  transition: background .15s;
  text-align: left; width: 100%;
}
.ib-process-modal .m-opt:last-child { border-bottom: none; }
.ib-process-modal .m-opt:hover { background-color: var(--bg); }
.ib-process-modal .m-opt .ic {
  width: 22px; height: 22px; border-radius: 6px;
  background-color: var(--surface-2);
  color: var(--ink-2);
  display: grid; place-items: center;
  flex-shrink: 0;
}
.ib-process-modal .m-opt .ic svg { width: 13px; height: 13px; }
.ib-process-modal .m-opt .lab {
  flex: 1; display: flex; flex-direction: column;
}
.ib-process-modal .m-opt .lab .h {
  font-family: 'Inter Tight', sans-serif;
  font-size: 13.5px; font-weight: 600;
  color: var(--ink);
}
.ib-process-modal .m-opt .lab .s {
  font-size: 11px; color: var(--ink-3);
  margin-top: 1px;
}
.ib-process-modal .m-opt .kbd-hint {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9.5px;
  padding: 2px 5px; border-radius: 4px;
  background-color: var(--surface-2);
  border: 1px solid var(--line);
  color: var(--ink-2);
}
.ib-process-modal .m-opt.primary .ic {
  background-color: #FBEFE9; color: var(--brand);
}
.ib-process-modal .m-opt.primary .lab .h { color: #C04416; }
.ib-process-modal .m-opt.danger .ic {
  background-color: #FCEBE3; color: #C04416;
}
.ib-process-modal .m-opt.danger .lab .h { color: #C04416; }

.ib-process-modal .m-input {
  border: 1px solid var(--line); border-radius: 10px;
  padding: 10px 12px;
  font-family: 'Inter', sans-serif;
  font-size: 13.5px; color: var(--ink);
  background-color: var(--surface);
  outline: none; width: 100%;
}
.ib-process-modal .m-input:focus {
  border-color: var(--brand);
  box-shadow: 0 0 0 3px #FBEFE9;
}

.ib-process-modal .m-person { display: flex; gap: 6px; }
.ib-process-modal .m-person input {
  flex: 1; border: 1px solid var(--line); border-radius: 9px;
  padding: 9px 11px; font-size: 12.5px;
  background-color: var(--surface);
  outline: none;
  font-family: 'Inter', sans-serif;
  color: var(--ink);
}
.ib-process-modal .m-person input:focus {
  border-color: var(--brand);
}
.ib-process-modal .m-person .when {
  padding: 9px 11px; border: 1px solid var(--line);
  border-radius: 9px; font-size: 12.5px;
  color: var(--ink-2); cursor: pointer;
  background-color: var(--surface);
  white-space: nowrap;
}
.ib-process-modal .m-person .when:hover { border-color: var(--ink); color: var(--ink); }

.ib-process-modal .m-ctx { display: flex; flex-wrap: wrap; gap: 6px; }
.ib-process-modal .m-ctx-pill {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 11px 6px 9px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background-color: var(--surface);
  font-size: 12px; font-weight: 500;
  color: var(--ink-2);
  cursor: pointer;
}
.ib-process-modal .m-ctx-pill .dot {
  width: 7px; height: 7px; border-radius: 50%;
}
.ib-process-modal .m-ctx-pill.active {
  background-color: var(--ink); color: var(--surface);
  border-color: var(--ink);
}

.ib-process-modal .m-date .row {
  display: flex; gap: 6px; flex-wrap: wrap;
}
.ib-process-modal .m-date .chip {
  padding: 6px 11px; border: 1px solid var(--line);
  border-radius: 9px;
  font-size: 12px; color: var(--ink-2);
  cursor: pointer; background-color: var(--surface);
  font-family: 'Inter', sans-serif;
  outline: none;
}
.ib-process-modal .m-date .chip:hover { border-color: var(--ink); color: var(--ink); }
.ib-process-modal .m-date .chip.active {
  background-color: var(--ink); color: var(--surface);
  border-color: var(--ink);
}

.ib-process-modal .m-foot {
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 22px;
  border-top: 1px solid var(--line);
  background-color: var(--bg);
}
.ib-process-modal .m-foot-btn {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: 'Inter Tight', sans-serif;
  font-size: 12.5px; font-weight: 500;
  color: var(--ink-3);
  cursor: pointer; background: none; border: none;
  padding: 4px 0;
}
.ib-process-modal .m-foot-btn svg { width: 12px; height: 12px; }
.ib-process-modal .m-foot-btn.discard { color: #A53F1B; }
.ib-process-modal .m-foot-btn.discard:hover { color: #C04416; }
.ib-process-modal .m-foot-btn:hover { color: var(--ink); }
.ib-process-modal .m-foot-btn.next {
  color: var(--ink);
  background-color: var(--ink);
  color: var(--surface);
  border: 1px solid var(--ink);
  padding: 7px 14px; border-radius: 8px;
}
.ib-process-modal .m-foot-btn.next:hover { background-color: #2A2A2A; }
.ib-process-modal .m-foot-btn.next:disabled { opacity: 0.4; cursor: not-allowed; }

/* ============================================================
   SIDE PANEL (≥5 itens)
   ============================================================ */
.ib-process-panel {
  position: fixed; inset: 0;
  background-color: var(--bg);
  display: none;
  grid-template-columns: 1fr 460px;
  gap: 32px;
  padding: 40px;
  z-index: 250;
  animation: ibFadeIn 220ms ease;
}
.ib-process-panel[style*="display: flex"] { display: grid !important; }
.ib-process-panel .pr-left {
  background-color: var(--surface);
  border-radius: 14px;
  border: 1px solid var(--line-2);
  overflow: hidden;
  opacity: 0.55;
  display: flex; flex-direction: column;
}
.ib-process-panel .pl-hdr {
  padding: 20px 28px;
  background-color: var(--bg);
  border-bottom: 1px solid var(--line);
  display: flex; align-items: center; gap: 14px;
}
.ib-process-panel .pl-hdr .pl-g {
  width: 36px; height: 36px; border-radius: 9px;
  background-color: var(--surface-2);
  border: 1px solid var(--line);
  color: var(--ink-2);
  display: grid; place-items: center;
}
.ib-process-panel .pl-hdr .pl-g svg { width: 17px; height: 17px; }
.ib-process-panel .pl-hdr h2 {
  font-family: 'Inter Tight', sans-serif;
  font-size: 22px; font-weight: 700;
  letter-spacing: -0.02em; margin: 0;
  color: var(--ink);
}
.ib-process-panel .pl-hdr .pl-count {
  margin-left: auto;
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px; color: var(--ink-3);
}
.ib-process-panel .pl-body {
  padding: 20px 28px;
  display: flex; flex-direction: column; gap: 8px;
  overflow-y: auto;
}
.ib-process-panel .pl-item {
  background-color: var(--surface);
  border: 1px solid var(--line);
  border-radius: 10px; padding: 13px 16px;
  display: flex; align-items: center; gap: 14px;
}
.ib-process-panel .pl-item.current {
  border-color: var(--brand);
  box-shadow: 0 0 0 3px #FBEFE9;
}
.ib-process-panel .pl-item .num-chip {
  width: 22px; height: 22px; border-radius: 7px;
  background-color: var(--surface-2);
  color: var(--ink-2);
  border: 1px solid var(--line);
  display: grid; place-items: center;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px; font-weight: 600;
  flex-shrink: 0;
}
.ib-process-panel .pl-item.current .num-chip {
  background-color: var(--brand); color: var(--surface); border: none;
}
.ib-process-panel .pl-item .t {
  font-size: 13px; color: var(--ink); flex: 1;
}

.ib-process-panel .pr-right {
  background-color: var(--surface);
  border-radius: 14px;
  border: 1px solid var(--line-2);
  overflow: hidden;
  display: flex; flex-direction: column;
  box-shadow: -8px 0 24px rgba(0,0,0,.06);
  max-height: calc(100vh - 80px);
}
.ib-process-panel .pr-right .m-stage {
  flex: 1; overflow-y: auto;
  padding: 22px 26px;
}

/* ============================================================
   INBOX · Dropdown de modo de processamento (modal/painel)
   ============================================================ */
body.theme-current #view-capturar .ib-btn-group {
  position: relative;
  display: inline-flex;
  border-radius: 9px;
  overflow: visible;
}
body.theme-current #view-capturar .ib-btn-group .ib-btn.primary {
  border-radius: 9px 0 0 9px;
  border-right: 1px solid rgba(255,255,255,0.15);
}
body.theme-current #view-capturar .ib-btn-mode {
  padding: 9px 10px !important;
  border-radius: 0 9px 9px 0 !important;
}
body.theme-current #view-capturar .ib-btn-mode svg {
  width: 14px !important;
  height: 14px !important;
}
body.theme-current #view-capturar .ib-mode-menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  min-width: 280px;
  background-color: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow:
    0 1px 0 rgba(0,0,0,0.02),
    0 10px 24px rgba(0,0,0,0.10),
    0 3px 6px rgba(0,0,0,0.04);
  padding: 6px;
  z-index: 100;
  animation: ibFadeIn 140ms ease;
}
body.theme-current #view-capturar .ib-mode-opt {
  display: flex; align-items: center; gap: 10px;
  width: 100%;
  padding: 10px;
  background-color: transparent;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  text-align: left;
  transition: background-color .12s;
}
body.theme-current #view-capturar .ib-mode-opt:hover {
  background-color: var(--surface-2);
}
body.theme-current #view-capturar .ib-mode-opt svg {
  width: 18px; height: 18px;
  color: var(--ink-2);
  flex-shrink: 0;
}
body.theme-current #view-capturar .ib-mode-opt-title {
  font-family: 'Inter Tight', sans-serif;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--ink);
}
body.theme-current #view-capturar .ib-mode-opt-desc {
  font-size: 11.5px;
  color: var(--ink-3);
  margin-top: 1px;
}

/* ============================================================
   DIÁRIO HÍBRIDO · entry-per-day + fragmentos
   ============================================================ */
:root {
  --serif-font: ui-serif, 'New York', 'Iowan Old Style', 'Charter', Georgia, serif;
  --serif-prose-size: 18.5px;
  --serif-frag-size: 17px;
  --serif-preview-size: 13.5px;
  --serif-source-size: 13.5px;
}
:root.font-newsreader {
  --serif-font: 'Newsreader', Georgia, serif;
  --serif-prose-size: 17.5px;
  --serif-frag-size: 16.5px;
  --serif-source-size: 13px;
}

body.theme-current #view-journal {
  background-color: var(--bg);
  padding: 0;
  display: flex;
  flex-direction: column;
}
body.theme-current #view-journal .journal-root {
  display: flex;
  flex: 1;
  min-height: 100vh;
}
body.theme-current .diary-stage {
  display: grid;
  grid-template-columns: 320px 1fr;
  min-height: 100vh;
  width: 100%;
  background-color: var(--bg);
}
/* Caderno: stage vira 1 coluna porque não tem sidebar separada */
body.theme-current .diary-stage:has(.nb-wrap) {
  grid-template-columns: 1fr;
}

/* ===== SIDEBAR ===== */
body.theme-current .ds-sidebar {
  background-color: var(--surface);
  border-right: 1px solid var(--line);
  display: flex; flex-direction: column;
  overflow: hidden;
  position: sticky;
  top: 0;
  max-height: 100vh;
}
body.theme-current .ds-sb-hdr {
  padding: 22px 22px 14px;
  border-bottom: 1px solid var(--line);
  display: flex; align-items: center; gap: 10px;
}
body.theme-current .ds-sb-hdr .glyph {
  width: 32px; height: 32px; border-radius: 8px;
  background-color: var(--surface-2);
  border: 1px solid var(--line);
  color: var(--ink-2);
  display: grid; place-items: center;
}
body.theme-current .ds-sb-hdr .glyph svg { width: 16px; height: 16px; }
body.theme-current .ds-sb-hdr h2 {
  flex: 1;
  font-family: 'Inter Tight', sans-serif;
  font-size: 19px; font-weight: 700;
  letter-spacing: -0.02em; margin: 0;
  color: var(--ink);
}
body.theme-current .ds-sb-hdr .actions { display: flex; gap: 6px; }
body.theme-current .ds-sb-hdr .ic-btn {
  width: 32px; height: 32px; border-radius: 8px;
  background: transparent; border: none;
  display: grid; place-items: center;
  color: var(--ink-2); cursor: pointer;
}
body.theme-current .ds-sb-hdr .ic-btn:hover { background-color: var(--bg); color: var(--ink); }
body.theme-current .ds-sb-hdr .ic-btn svg { width: 15px; height: 15px; }

body.theme-current .ds-sb-filter {
  padding: 12px 22px 14px;
  display: flex; align-items: center; gap: 6px;
  border-bottom: 1px solid var(--line);
  flex-wrap: wrap;
}
body.theme-current .ds-sb-filter .lbl {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9.5px; font-weight: 600;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--ink-3);
  margin-right: 2px;
}
body.theme-current .ds-sb-filter .tag-pill {
  padding: 4px 10px; border-radius: 999px;
  border: 1px solid var(--line);
  background-color: var(--surface);
  font-size: 11px; color: var(--ink-2);
  cursor: pointer;
  font-family: 'Inter', sans-serif;
}
body.theme-current .ds-sb-filter .tag-pill:hover { border-color: var(--line-2); }
body.theme-current .ds-sb-filter .tag-pill.active {
  background-color: var(--ink); color: var(--surface);
  border-color: var(--ink);
}

body.theme-current .ds-sb-list { flex: 1; overflow-y: auto; }
body.theme-current .ds-sb-empty {
  padding: 24px 22px;
  color: var(--ink-3);
  font-size: 13px;
  font-style: italic;
}
body.theme-current .ds-entry {
  padding: 16px 22px 18px;
  border-bottom: 1px solid #F0EFEB;
  cursor: pointer;
  position: relative;
  transition: background-color .12s;
}
body.theme-current .ds-entry:hover { background-color: var(--bg); }
body.theme-current .ds-entry.active { background-color: var(--bg); }
body.theme-current .ds-entry.active::before {
  content: ''; position: absolute;
  left: 0; top: 16px; bottom: 16px;
  width: 3px; background-color: var(--brand);
  border-radius: 0 2px 2px 0;
}
body.theme-current .ds-entry .title {
  font-family: 'Inter Tight', sans-serif;
  font-size: 13.5px; font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--ink);
  margin-bottom: 6px;
}
body.theme-current .ds-entry .title .sep {
  color: var(--brand); font-weight: 400;
  margin: 0 4px;
}
body.theme-current .ds-entry .preview.serif {
  font-family: var(--serif-font);
  font-size: var(--serif-preview-size);
  line-height: 1.5;
  color: var(--ink-2);
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  margin-bottom: 8px;
}
body.theme-current .ds-entry .meta {
  display: flex; gap: 6px; align-items: center;
  flex-wrap: wrap;
}
body.theme-current .ds-entry .meta .frag {
  padding: 1px 6px; border-radius: 4px;
  background-color: var(--surface-2);
  color: var(--ink-2);
  font-family: 'JetBrains Mono', monospace;
  font-size: 9.5px;
  letter-spacing: 0.02em;
}

/* ===== CANVAS ===== */
body.theme-current .ds-canvas {
  background-color: var(--surface);
  overflow-y: auto;
  display: flex; flex-direction: column;
  position: relative;
  min-height: 100vh;
}
body.theme-current .ds-top {
  padding: 18px 36px;
  display: flex; align-items: center; gap: 8px;
  border-bottom: 1px solid var(--line);
  background-color: var(--surface);
  position: sticky; top: 0; z-index: 5;
}
body.theme-current .ds-top .crumb {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px; font-weight: 600;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--ink-3);
}
body.theme-current .ds-top .crumb .sep { color: var(--brand); margin: 0 4px; }
body.theme-current .ds-top .spacer { flex: 1; }
body.theme-current .ds-top .info {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px; color: var(--ink-3);
  padding-right: 8px;
}
body.theme-current .ds-top .ic-btn {
  width: 32px; height: 32px; border-radius: 8px;
  background: transparent; border: none;
  display: grid; place-items: center;
  color: var(--ink-2); cursor: pointer;
}
body.theme-current .ds-top .ic-btn:hover { background-color: var(--bg); color: var(--ink); }
body.theme-current .ds-top .ic-btn svg { width: 14px; height: 14px; }

body.theme-current .ds-body {
  padding: 36px 64px 120px;
  max-width: 720px;
  margin: 0 auto;
  flex: 1;
  width: 100%;
}
body.theme-current .ds-title {
  font-family: 'Inter Tight', sans-serif;
  font-size: 38px; font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--ink);
  margin: 0 0 10px;
  line-height: 1.05;
}
body.theme-current .ds-title .sep {
  color: var(--brand); font-weight: 400;
  margin: 0 8px;
}
body.theme-current .ds-tags {
  display: flex; gap: 6px; flex-wrap: wrap;
  margin-bottom: 38px;
  align-items: center;
}
body.theme-current .ds-tag {
  display: inline-flex; align-items: center;
  padding: 4px 11px; border-radius: 999px;
  background-color: var(--surface-2);
  border: 1px solid var(--line);
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px; font-weight: 500;
  color: var(--ink-2);
  cursor: pointer;
}
body.theme-current .ds-tag:hover { border-color: var(--line-2); }
body.theme-current .ds-tag.brand {
  background-color: #FBEFE9;
  border-color: #F5C5B0;
  color: #C04416;
}
body.theme-current .ds-tag-add {
  padding: 4px 11px; border-radius: 999px;
  background: transparent;
  border: 1px dashed var(--line-2);
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px; color: var(--ink-3);
  cursor: pointer;
}
body.theme-current .ds-tag-add:hover { color: var(--ink); border-color: var(--ink-3); }

/* Prose */
body.theme-current .ds-prose {
  font-family: var(--serif-font);
  font-size: var(--serif-prose-size);
  line-height: 1.7;
  color: var(--ink);
  outline: none;
  min-height: 200px;
}
body.theme-current .ds-prose p { margin: 0 0 1em; }
body.theme-current .ds-prose p:last-child { margin-bottom: 0; }
body.theme-current .ds-prose em { font-style: italic; }
body.theme-current .ds-prose strong { font-weight: 600; }
body.theme-current .ds-prose:empty::before {
  content: attr(data-placeholder);
  color: var(--ink-3);
  font-style: italic;
  pointer-events: none;
}

/* Fragment blocks */
body.theme-current .frag-block {
  margin: 28px -8px;
  padding: 18px 22px 18px 26px;
  background-color: var(--bg);
  border-left: 3px solid var(--ink-3);
  border-radius: 0 10px 10px 0;
  position: relative;
}
body.theme-current .frag-block.citacao     { border-left-color: var(--brand); }
body.theme-current .frag-block.ideia       { border-left-color: #2A6FDB; }
body.theme-current .frag-block.gratidao    { border-left-color: #5A8A6E; }
body.theme-current .frag-block.duvida      { border-left-color: #C19233; }
body.theme-current .frag-block.aprendizado { border-left-color: #7E4FBF; }

body.theme-current .frag-block .frag-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--ink-2);
  margin-bottom: 8px;
  display: flex; align-items: center; gap: 6px;
}
body.theme-current .frag-block.citacao     .frag-label { color: #C04416; }
body.theme-current .frag-block.ideia       .frag-label { color: #1B4B92; }
body.theme-current .frag-block.gratidao    .frag-label { color: #3D6D52; }
body.theme-current .frag-block.duvida      .frag-label { color: #8C6921; }
body.theme-current .frag-block.aprendizado .frag-label { color: #5A3496; }
body.theme-current .frag-block .frag-label svg { width: 11px; height: 11px; }
body.theme-current .frag-block .frag-unmark {
  margin-left: auto;
  width: 20px; height: 20px; border-radius: 5px;
  background: transparent; border: none;
  color: var(--ink-3); cursor: pointer;
  display: grid; place-items: center;
}
body.theme-current .frag-block .frag-unmark:hover {
  background-color: var(--surface-2); color: var(--ink);
}
body.theme-current .frag-block .frag-unmark svg { width: 12px; height: 12px; }

body.theme-current .frag-block .frag-body {
  font-family: var(--serif-font);
  font-size: var(--serif-frag-size);
  line-height: 1.6;
  color: var(--ink);
  margin: 0;
  outline: none;
}
body.theme-current .frag-block.citacao .frag-body { font-style: italic; }
body.theme-current .frag-block .frag-source {
  margin-top: 8px;
  font-family: var(--serif-font);
  font-size: var(--serif-source-size);
  font-style: italic;
  color: var(--ink-3);
}

/* Floating toolbar */
body.theme-current .ds-toolbar {
  position: fixed;
  bottom: 28px;
  left: calc(50% + 160px); /* compensa sidebar 320px */
  transform: translateX(-50%);
  background-color: var(--surface);
  border: 1px solid var(--line-2);
  border-radius: 12px;
  padding: 6px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.08);
  display: flex; align-items: center; gap: 2px;
  z-index: 20;
}
body.theme-current .ds-toolbar button {
  width: 34px; height: 34px;
  border: none; background: transparent;
  border-radius: 8px;
  color: var(--ink-2); cursor: pointer;
  display: grid; place-items: center;
}
body.theme-current .ds-toolbar button:hover {
  background-color: var(--surface-2); color: var(--ink);
}
body.theme-current .ds-toolbar button.active {
  background-color: var(--ink); color: var(--surface);
}
body.theme-current .ds-toolbar button svg { width: 16px; height: 16px; }
body.theme-current .ds-toolbar .sep {
  width: 1px; height: 22px;
  background-color: var(--line);
  margin: 0 4px;
}
body.theme-current .ds-toolbar .frag-menu {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 0 12px; height: 34px;
  width: auto;
  font-family: 'Inter Tight', sans-serif;
  font-size: 12.5px; font-weight: 600;
  color: var(--ink-2); cursor: pointer;
  border-radius: 8px;
}
body.theme-current .ds-toolbar .frag-menu svg { width: 12px; height: 12px; }
body.theme-current .frag-menu-pop {
  position: absolute;
  bottom: calc(100% + 6px);
  right: 40px;
  background-color: var(--surface);
  border: 1px solid var(--line);
  border-radius: 10px;
  box-shadow: 0 10px 24px rgba(0,0,0,0.10);
  padding: 6px;
  display: flex; flex-direction: column; gap: 2px;
  min-width: 200px;
  z-index: 30;
}
body.theme-current .frag-menu-pop button {
  display: flex; align-items: center; gap: 10px;
  width: 100%;
  padding: 8px 10px;
  background: transparent;
  border: none;
  border-radius: 7px;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  color: var(--ink);
  cursor: pointer;
  text-align: left;
}
body.theme-current .frag-menu-pop button:hover {
  background-color: var(--surface-2);
}
body.theme-current .frag-menu-pop button svg {
  width: 14px; height: 14px; color: var(--ink-2);
}
body.theme-current .frag-menu-pop button kbd {
  margin-left: auto;
  font-family: 'JetBrains Mono', monospace;
  font-size: 9.5px;
  padding: 2px 5px; border-radius: 4px;
  background-color: var(--surface-2);
  border: 1px solid var(--line);
  color: var(--ink-3);
}

/* Esconde modais legados do journal antigo */
body.theme-current .journal-modal,
body.theme-current .journal-drawer-overlay { display: none !important; }

/* Fix: Entrada com muitos itens precisa rolar.
   Solução: position:absolute no view ativo, ocupando todo o .main,
   garantindo height calculado e overflow funcionando. */
body.theme-current .main {
  position: relative !important;
}
body.theme-current #view-capturar.view.active,
body.theme-current #view-calendario.view.active,
body.theme-current #view-organizar.view.active,
body.theme-current #view-areas.view.active,
body.theme-current #view-journal.view.active,
body.theme-current #view-decidir.view.active,
body.theme-current #view-hoje.view.active {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  height: auto !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}
body.theme-current #view-capturar .ib-list {
  padding-bottom: 80px !important;
}
body.theme-current #view-calendario { padding-bottom: 80px !important; }
/* Calendário: header fixo no topo, grid rola junto com o view.
   Antes: .cal-wrap tinha overflow:hidden + flex:1 e .cal-grid tinha flex:1,
   o que esmagava as últimas linhas quando a viewport era pequena. */
body.theme-current #view-calendario .cal-wrap {
  overflow: visible !important;
  flex: 0 0 auto !important;
  min-height: 0 !important;
}
body.theme-current #view-calendario .cal-grid {
  flex: 0 0 auto !important;
  grid-auto-rows: minmax(110px, auto) !important;
}
body.theme-current #view-calendario .cal-day {
  min-height: 110px !important;
}
body.theme-current #view-capturar::-webkit-scrollbar,
body.theme-current #view-calendario::-webkit-scrollbar { width: 10px; }
body.theme-current #view-capturar::-webkit-scrollbar-track,
body.theme-current #view-calendario::-webkit-scrollbar-track { background: transparent; }
body.theme-current #view-capturar::-webkit-scrollbar-thumb,
body.theme-current #view-calendario::-webkit-scrollbar-thumb {
  background: var(--line-2);
  border-radius: 5px;
  border: 2px solid transparent;
  background-clip: padding-box;
}
body.theme-current #view-capturar::-webkit-scrollbar-thumb:hover,
body.theme-current #view-calendario::-webkit-scrollbar-thumb:hover { background: var(--ink-3); }

/* ============================================================
   TEMA ATUAL · DIÁRIO → CADERNO (commonplace book)
   ============================================================ */

/* Toggle Diário / Caderno (compartilhado: sidebar do diário + header do caderno) */
body.theme-current .nb-toggle {
  display: flex; gap: 4px; padding: 4px;
  background: var(--surface-2);
  border-radius: 8px;
  margin: 8px 14px 0;
}
body.theme-current .nb-toggle .nb-tab {
  flex: 1; display: flex; align-items: center; justify-content: center; gap: 6px;
  padding: 6px 10px; border: none; background: transparent;
  border-radius: 6px;
  font-family: 'Inter', sans-serif;
  font-size: 12px; font-weight: 600;
  color: var(--ink-3); cursor: pointer;
  transition: all .15s;
}
body.theme-current .nb-toggle .nb-tab:hover { color: var(--ink); }
body.theme-current .nb-toggle .nb-tab.active {
  background: var(--surface); color: var(--ink);
  box-shadow: 0 1px 3px rgba(0,0,0,.06);
}
body.theme-current .nb-toggle .nb-tab svg { width: 13px; height: 13px; }

/* Wrap principal do Caderno (substitui sidebar+canvas) */
body.theme-current .nb-wrap {
  flex: 1;
  display: flex; flex-direction: column;
  padding: 32px 48px 80px;
  max-width: 1400px;
  margin: 0 auto;
  width: 100%;
}
body.theme-current .nb-hdr { margin-bottom: 32px; }
body.theme-current .nb-hdr .nb-toggle {
  max-width: 320px;
  margin: 0 0 24px 0;
}
body.theme-current .nb-title {
  font-family: 'Inter Tight', 'Inter', sans-serif;
  font-size: 36px; font-weight: 700; letter-spacing: -0.02em;
  color: var(--ink);
  margin: 0 0 8px 0;
}
body.theme-current .nb-sub {
  font-family: 'Inter', sans-serif;
  font-size: 14px; color: var(--ink-2);
  margin: 0 0 20px 0; max-width: 580px;
}
body.theme-current .nb-filters {
  display: flex; gap: 6px; flex-wrap: wrap;
}
body.theme-current .nb-pill {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 12px;
  border: 1px solid var(--line);
  background: var(--surface);
  border-radius: 999px;
  font-family: 'Inter', sans-serif;
  font-size: 12px; font-weight: 500;
  color: var(--ink-2); cursor: pointer;
  transition: all .15s;
}
body.theme-current .nb-pill:hover { border-color: var(--ink-3); color: var(--ink); }
body.theme-current .nb-pill.active {
  background: var(--ink); border-color: var(--ink); color: var(--surface);
}
body.theme-current .nb-pill .cnt {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px; font-weight: 600;
  opacity: 0.6;
}

/* Grid de cards — masonry-like com colunas variadas */
body.theme-current .nb-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  grid-auto-rows: minmax(80px, auto);
  grid-auto-flow: dense;
  gap: 18px;
  padding: 8px 4px 40px;
}

/* Card individual — estilo post-it/mural */
body.theme-current .nb-card {
  --bar: var(--brand);
  --accent: var(--ink);
  --tint: #FFF7F0; /* fundo levemente tingido da cor do tipo */
  position: relative;
  background: var(--tint);
  border: 1px solid rgba(0,0,0,.04);
  border-left: 3px solid var(--bar);
  border-radius: 6px;
  padding: 18px 20px;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease;
  display: flex; flex-direction: column;
  gap: 10px;
  box-shadow:
    0 1px 2px rgba(0,0,0,.04),
    0 4px 12px rgba(0,0,0,.06);
}
/* Rotação leve aleatória pra dar sensação de post-it espalhado */
body.theme-current .nb-grid .nb-card:nth-child(7n+1) { transform: rotate(-0.8deg); }
body.theme-current .nb-grid .nb-card:nth-child(7n+2) { transform: rotate(0.6deg); }
body.theme-current .nb-grid .nb-card:nth-child(7n+3) { transform: rotate(-0.3deg); }
body.theme-current .nb-grid .nb-card:nth-child(7n+4) { transform: rotate(1.1deg); }
body.theme-current .nb-grid .nb-card:nth-child(7n+5) { transform: rotate(-1.2deg); }
body.theme-current .nb-grid .nb-card:nth-child(7n+6) { transform: rotate(0.4deg); }
body.theme-current .nb-grid .nb-card:nth-child(7n+7) { transform: rotate(-0.6deg); }

body.theme-current .nb-card:hover {
  transform: rotate(0deg) translateY(-3px) scale(1.02) !important;
  box-shadow:
    0 2px 4px rgba(0,0,0,.06),
    0 12px 28px rgba(0,0,0,.12);
  z-index: 2;
}

/* Cores de fundo por tipo (tons pastel) */
body.theme-current .nb-card.t-citacao     { --tint: #FFF1E8; }
body.theme-current .nb-card.t-ideia       { --tint: #EAF2FE; }
body.theme-current .nb-card.t-aprendizado { --tint: #F2EAFB; }
body.theme-current .nb-card.t-gratidao    { --tint: #EDF5EF; }
body.theme-current .nb-card.t-duvida      { --tint: #FBF3E0; }

/* Variação de tamanho baseada no comprimento do corpo */
body.theme-current .nb-card.size-lg { grid-row: span 2; }
body.theme-current .nb-card.size-md { /* default 1x1 */ }
body.theme-current .nb-card-hdr {
  display: flex; align-items: center; justify-content: space-between;
}
body.theme-current .nb-card .nb-type {
  display: inline-flex; align-items: center; gap: 5px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--accent);
}
body.theme-current .nb-card .nb-type svg { width: 11px; height: 11px; }
body.theme-current .nb-card .nb-date {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px; font-weight: 600; letter-spacing: 0.1em;
  color: var(--ink-3);
}
body.theme-current .nb-card .nb-body {
  font-family: 'New York', 'Newsreader', Georgia, serif;
  font-size: 15px; line-height: 1.55;
  color: var(--ink);
  margin: 0;
  white-space: pre-wrap;
  word-break: break-word;
}
body.theme-current .nb-card .nb-src {
  font-family: 'New York', 'Newsreader', Georgia, serif;
  font-style: italic;
  font-size: 13px; color: var(--ink-2);
  margin-top: 4px;
}
body.theme-current .nb-card .nb-tags {
  display: flex; flex-wrap: wrap; gap: 4px;
  margin-top: 6px;
}
body.theme-current .nb-card .nb-tag {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px; font-weight: 600;
  color: var(--ink-3);
  background: var(--surface-2);
  padding: 2px 7px; border-radius: 4px;
}

/* Empty state */
body.theme-current .nb-empty {
  grid-column: 1 / -1;
  text-align: center;
  padding: 60px 24px;
  color: var(--ink-3);
}
body.theme-current .nb-empty svg {
  width: 40px; height: 40px;
  color: var(--ink-3);
  opacity: 0.5;
  margin-bottom: 12px;
}
body.theme-current .nb-empty p {
  font-family: 'Inter', sans-serif;
  font-size: 14px; margin: 0 0 6px 0;
  color: var(--ink-2);
}
body.theme-current .nb-empty p.muted {
  font-size: 12px; color: var(--ink-3);
}

/* ============================================================
   TEMA ATUAL · "Depois de" — gatilho condicional na task
   ============================================================ */

/* Linha de gatilho dentro do card */
body.theme-current .v3-listas .v3-card-trigger {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  padding: 6px 10px;
  background: linear-gradient(0deg, rgba(232,112,74,0.06), rgba(232,112,74,0.06)), var(--surface-2);
  border-left: 2px solid var(--brand);
  border-radius: 5px;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
}
body.theme-current .v3-listas .v3-trigger-label {
  display: inline-flex; align-items: center; gap: 4px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--brand);
  flex-shrink: 0;
}
body.theme-current .v3-listas .v3-trigger-label svg { width: 11px; height: 11px; }
body.theme-current .v3-listas .v3-trigger-text {
  flex: 1;
  color: var(--ink-2);
  font-size: 12px;
  cursor: text;
  border-radius: 4px;
  padding: 2px 4px;
  transition: background .15s;
  min-width: 0;
  overflow-wrap: anywhere;
}
body.theme-current .v3-listas .v3-trigger-text:hover {
  background: var(--surface);
}
body.theme-current .v3-listas .v3-trigger-fire {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 4px 10px;
  border-radius: 6px;
  border: 1px solid var(--brand);
  background: var(--brand);
  color: var(--surface);
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  flex-shrink: 0;
  transition: all .15s;
}
body.theme-current .v3-listas .v3-trigger-fire:hover {
  background: #C04416;
  border-color: #C04416;
}
body.theme-current .v3-listas .v3-trigger-fire svg { width: 11px; height: 11px; }

/* Botão "+ gatilho" no card hover (mesmo padrão de +contexto/+area) */
body.theme-current .v3-listas .v3-quick-trigger {
  position: absolute;
  top: 14px;
  right: 14px;
  padding: 4px 10px;
  border-radius: 6px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  cursor: pointer;
  background: transparent;
  color: var(--ink-3);
  border: 1px dashed var(--line-2);
  opacity: 0;
  transition: opacity 150ms, background 150ms, color 150ms, border-color 150ms;
  z-index: 2;
}
body.theme-current .v3-listas .v3-card:hover .v3-quick-trigger { opacity: 1; }
body.theme-current .v3-listas .v3-quick-trigger:hover {
  background: var(--brand);
  color: var(--surface);
  border-color: var(--brand);
  border-style: solid;
}
/* Quando o card já tem +contexto/+area, empurra o +gatilho pra esquerda pra não sobrepor */
body.theme-current .v3-listas .v3-card:has(.v3-quick-ctx) .v3-quick-trigger { right: 100px; }
body.theme-current .v3-listas .v3-card:has(.v3-quick-area) .v3-quick-trigger { right: 80px; }
body.theme-current .v3-listas .v3-card:has(.v3-quick-ctx):has(.v3-quick-area) .v3-quick-trigger { right: 180px; }

/* Empty state da lista Depois de */
body.theme-current .v3-listas .v3-empty-depoisde {
  text-align: center;
  padding: 60px 24px;
  color: var(--ink-3);
}

/* ============================================================
   TEMA ATUAL · Alerta de lifecycle de projetos
   Regra GTD do Max: projeto não passa de 1 ano. Alerta dispara
   em projetos > 9 meses ou faltando <60 dias pro target_date.
   ============================================================ */

body.theme-current .v3-listas .v3-proj-alert {
  margin-top: 10px;
  padding: 10px 12px;
  background: linear-gradient(0deg, rgba(193,146,51,0.08), rgba(193,146,51,0.08)), var(--surface-2);
  border-left: 3px solid #C19233;
  border-radius: 6px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
body.theme-current .v3-listas .v3-proj-alert.is-overdue {
  background: linear-gradient(0deg, rgba(204,68,68,0.08), rgba(204,68,68,0.08)), var(--surface-2);
  border-left-color: #CC4444;
}
body.theme-current .v3-listas .v3-proj-alert-msg {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  line-height: 1.45;
  color: #8C6921;
  font-weight: 500;
}
body.theme-current .v3-listas .v3-proj-alert.is-overdue .v3-proj-alert-msg {
  color: #993333;
}
body.theme-current .v3-listas .v3-proj-alert-msg svg {
  width: 14px; height: 14px;
  flex-shrink: 0;
  margin-top: 1px;
}
body.theme-current .v3-listas .v3-proj-alert-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
body.theme-current .v3-listas .v3-proj-act {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 10px;
  border: 1px solid var(--line);
  background: var(--surface);
  border-radius: 6px;
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 600;
  color: var(--ink-2);
  cursor: pointer;
  transition: all .15s;
}
body.theme-current .v3-listas .v3-proj-act:hover {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--surface);
}
body.theme-current .v3-listas .v3-proj-act:hover svg { color: var(--surface); }
body.theme-current .v3-listas .v3-proj-act svg {
  width: 12px; height: 12px;
  color: var(--ink-3);
  transition: color .15s;
}

/* Subtítulo no header da lista — descrição curta do propósito */
body.theme-current .v3-listas .v3-h-titles {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  flex: 1;
}
body.theme-current .v3-listas .v3-h-sub {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: var(--ink-3);
  margin: 0;
  line-height: 1.4;
  max-width: 640px;
}

/* Diário: sidebar colapsável */
body.theme-current .diary-stage.sb-collapsed {
  grid-template-columns: 0 1fr;
}
body.theme-current .ds-sb-expand-btn {
  position: fixed;
  left: 100px; /* depois do rail principal */
  top: 24px;
  z-index: 50;
  width: 36px; height: 36px;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: var(--surface);
  color: var(--ink-2);
  display: grid; place-items: center;
  cursor: pointer;
  transition: all .15s;
  box-shadow: 0 2px 6px rgba(0,0,0,.04);
}
body.theme-current .ds-sb-expand-btn:hover {
  background: var(--ink);
  color: var(--surface);
  border-color: var(--ink);
}
body.theme-current .ds-sb-expand-btn svg { width: 16px; height: 16px; }

/* Quando o rail principal está colapsado também, ajusta posição */
body.rail-collapsed .ds-sb-expand-btn { left: 100px; }

/* ╔══════════════════════════════════════════════════════════╗
   ║  VERSÃO MOBILE (≤768px)                                  ║
   ╚══════════════════════════════════════════════════════════╝ */

/* Botão "mover pra outro dia" no card: só existe no celular */
.semana-card-move {
  display: none; width: 22px; height: 22px; flex-shrink: 0;
  border: none; background: transparent; color: #A8A49C;
  border-radius: 6px; cursor: pointer; place-items: center;
}
.semana-card-move svg { width: 14px; height: 14px; }

/* Folha de mover (bottom sheet) */
.semana-sheet-overlay {
  position: fixed; inset: 0; background: rgba(26,26,26,0.35);
  z-index: 130; display: flex; align-items: flex-end;
}
.semana-sheet {
  width: 100%; background: var(--surface, #fff);
  border-radius: 18px 18px 0 0;
  padding: 16px 16px calc(16px + env(safe-area-inset-bottom));
  display: flex; flex-direction: column; gap: 6px;
  animation: semanaSheetUp .22s cubic-bezier(.22,1,.36,1);
  font-family: 'Inter', sans-serif;
}
@keyframes semanaSheetUp { from { transform: translateY(40px); opacity: 0; } to { transform: none; opacity: 1; } }
.semana-sheet-title { font-size: 14px; font-weight: 600; color: var(--ink, #2A2520); margin-bottom: 2px; }
.semana-sheet-label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #8A857C; margin: 4px 0 2px; }
.semana-sheet-opt {
  display: flex; align-items: center; gap: 10px; padding: 12px;
  border-radius: 10px; border: 1px solid var(--line, rgba(0,0,0,0.08));
  background: var(--surface, #fff); font-size: 14px; font-weight: 500;
  color: var(--ink, #2A2520); font-family: 'Inter', sans-serif; cursor: pointer;
}
.semana-sheet-opt.is-today { border-color: var(--brand, #D35400); color: var(--brand, #D35400); font-weight: 600; }
.semana-sheet-opt svg { width: 16px; height: 16px; }
.semana-sheet-dow { font-weight: 700; font-size: 11px; width: 34px; color: #8A857C; }
.semana-sheet-opt.is-today .semana-sheet-dow { color: var(--brand, #D35400); }
.semana-sheet-cancel { margin-top: 6px; padding: 12px; border: none; background: transparent; color: #8A857C; font-size: 14px; font-family: 'Inter', sans-serif; cursor: pointer; }

.rail-pop-monly { display: none; }
.semana-mswipe-hint { display: none; }

@media (max-width: 768px) {

  /* ===== Barra inferior estilo app ===== */
  .rail-main, .rail-main.is-expanded {
    top: auto; bottom: 0; left: 0; right: 0; width: 100% !important;
    height: auto; flex-direction: row; align-items: stretch;
    justify-content: space-around; gap: 0;
    padding: 6px 8px calc(6px + env(safe-area-inset-bottom));
    border-right: none; border-top: 1px solid var(--line, rgba(0,0,0,0.08));
    z-index: 90; overflow: visible;
  }
  .rail-brand-row, .rail-divider, .rail-sublist, .rail-spacer { display: none !important; }
  .rail-item-journal,
  .rail-item[data-view="areas"],
  .rail-item[data-view="calendario"],
  .rail-item-settings { display: none !important; }
  .rail-main .rail-item, .rail-main.is-expanded .rail-item, .rail-main.is-expanded .rail-item-hoje {
    flex: 1; flex-direction: column !important; justify-content: center; align-items: center;
    gap: 3px !important; height: auto; width: auto !important; padding: 6px 2px !important;
    font-size: 9.5px; animation: none !important; background: none !important;
  }
  .rail-main .rail-item svg, .rail-main.is-expanded .rail-item svg { width: 21px; height: 21px; }
  .rail-main .rail-label, .rail-main.is-expanded .rail-label {
    display: block !important; opacity: 1 !important; width: auto !important;
    font-size: 9.5px !important; font-weight: 500 !important; line-height: 1; white-space: nowrap;
    animation: none !important;
  }
  .rail-main .rail-item.active .rail-label, .rail-main.is-expanded .rail-item.active .rail-label { font-weight: 700 !important; color: var(--brand, #D35400); }
  .rail-item.active::before { display: none !important; }
  .rail-main.is-expanded .rail-item.active { background: none !important; }
  /* Quadrado laranja do Meu Dia: vira ícone normal na barra */
  .rail-item-hoje .rail-hoje-square {
    width: 21px !important; height: 21px !important;
    background: transparent !important; box-shadow: none !important; color: var(--brand, #D35400);
  }
  .rail-item-hoje .rail-hoje-square svg { width: 21px !important; height: 21px !important; }
  .rail-more-wrap { flex: 1; display: flex; }
  .rail-more-wrap .rail-item { width: 100% !important; }
  .rail-pop {
    position: fixed; top: auto; left: 10px; right: 10px; width: auto;
    bottom: calc(78px + env(safe-area-inset-bottom));
  }
  .rail-pop-monly { display: flex; }

  /* ===== Main ocupa a tela toda ===== */
  .main, .rail-main.is-expanded ~ .main { margin-left: 0 !important; height: 100dvh; }
  .view { padding-bottom: calc(70px + env(safe-area-inset-bottom)); }

  /* ===== Semana: um dia por tela ===== */
  .semana-board { display: block; overflow-y: auto; }
  .semana-mobile { display: flex; flex-direction: column; min-height: 0; }
  .semana-mpills {
    display: flex; gap: 6px; overflow-x: auto; padding: 2px 2px 10px;
    -webkit-overflow-scrolling: touch; scrollbar-width: none;
  }
  .semana-mpills::-webkit-scrollbar { display: none; }
  .semana-mpill {
    flex-shrink: 0; display: flex; align-items: center; gap: 5px;
    padding: 9px 13px; border-radius: 999px;
    border: 1px solid var(--line, rgba(0,0,0,0.10));
    background: var(--surface, #fff); cursor: pointer;
    font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 600;
    color: var(--ink-2, #555);
  }
  .semana-mpill svg { width: 15px; height: 15px; }
  .semana-mpill.is-today { border-color: var(--brand, #D35400); color: var(--brand, #D35400); }
  .semana-mpill.is-active { background: var(--brand, #D35400); border-color: var(--brand, #D35400); color: #fff; }
  .semana-mpill.is-active svg { color: #fff; }
  .semana-mpill-dow { font-size: 10px; font-weight: 700; letter-spacing: .04em; }
  .semana-mpill-n {
    font-size: 10px; font-weight: 700; background: rgba(0,0,0,0.08);
    border-radius: 999px; padding: 1px 6px;
  }
  .semana-mpill.is-active .semana-mpill-n { background: rgba(255,255,255,0.25); }
  .semana-mday-head { display: flex; align-items: center; gap: 8px; padding: 2px 4px 10px; }
  .semana-mday-title {
    display: flex; align-items: center; gap: 6px; flex: 1;
    font-family: 'Inter Tight', sans-serif; font-size: 16px; font-weight: 700;
    color: var(--ink, #2A2520);
  }
  .semana-mday-title svg { width: 17px; height: 17px; }
  .semana-mcol { width: 100%; min-width: 0; flex: none; }
  .semana-mcol.is-today { min-width: 0; }

  /* Cards maiores pro dedo */
  .semana-mcol .semana-card { padding: 13px 12px; gap: 9px; }
  .semana-mcol .semana-card-title { font-size: 14px !important; line-height: 1.4; }
  .semana-mcol .semana-card-check { width: 23px; height: 23px; }
  .semana-mcol .semana-card-check svg { width: 13px; height: 13px; }
  .semana-card-move { display: grid; }
  .semana-card-x { opacity: 1; }
  .semana-mswipe-hint {
    display: block; text-align: center; padding: 12px 0 4px;
    font-family: 'Inter', sans-serif; font-size: 10.5px; color: #B5B0A8;
  }

  /* ===== Drawer da tarefa vira bottom sheet ===== */
  .v3-drawer-panel {
    right: 0; left: 0; top: auto; bottom: 0; transform: none;
    width: 100%; height: min(92dvh, 760px);
    border-radius: 18px 18px 0 0;
    animation: v3DrawerUpM 240ms cubic-bezier(.22,1,.36,1) both;
  }
  .v3-drawer-panel.is-closing { animation: v3DrawerDownM 160ms ease both; }

  /* ===== Cabeçalhos e modais gerais ===== */
  .view-header { flex-wrap: wrap; gap: 8px; }
}
@keyframes v3DrawerUpM { from { transform: translateY(48px); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes v3DrawerDownM { from { transform: none; opacity: 1; } to { transform: translateY(48px); opacity: 0; } }

/* Mobile: vence o layout do rail expandido (senao a barra inferior fica gigante) */
@media (max-width: 768px) {
  .rail-main, .rail-main.is-expanded {
    height: calc(64px + env(safe-area-inset-bottom)) !important;
    padding: 4px 4px calc(2px + env(safe-area-inset-bottom)) !important;
  }
  .rail-main .rail-item,
  .rail-main.is-expanded .rail-item,
  .rail-main.is-expanded .rail-item-hoje {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    padding: 4px 2px !important;
    height: auto !important;
    background: none !important;
    animation: none !important;
  }
  .rail-main .rail-label,
  .rail-main.is-expanded .rail-label {
    font-size: 9.5px !important;
    line-height: 1 !important;
    animation: none !important;
  }
  .rail-main.is-expanded .rail-item svg { width: 21px !important; height: 21px !important; }
  .rail-main.is-expanded .rail-item-hoje .rail-hoje-square,
  .rail-item-hoje .rail-hoje-square {
    width: 21px !important; height: 21px !important;
    background: transparent !important; box-shadow: none !important;
    color: var(--brand) !important;
  }
}

/* Mobile: some a sublista de Listas da barra inferior (a regra do expandido tem !important) */
@media (max-width: 768px) {
  .rail-main .rail-sublist,
  .rail-main.is-expanded .rail-sublist { display: none !important; }
}

/* Filtro Agência x Pessoal: ajustes mobile (alvos maiores pro dedo) */
@media (max-width: 768px) {
  .semana-segs { margin: 0 2px 10px; padding: 4px; }
  .semana-seg { padding: 8px 4px; font-size: 12px; gap: 5px; }
  .semana-seg svg { width: 15px; height: 15px; }
  .semana-seg-n { font-size: 11px; }
  .semana-mcol .semana-card-ag { width: 24px; height: 24px; }
  .semana-mcol .semana-card-ag svg { width: 15px; height: 15px; }
}

/* ╔══════════════════════════════════════════════════════════╗
   ║  MENU ENXUTO (desktop + mobile)                          ║
   ║  Meu Dia, Diário, Áreas e Agenda moram em "Mais          ║
   ║  ferramentas". Semana é o destaque do menu.              ║
   ╚══════════════════════════════════════════════════════════╝ */
.rail-item-hoje,
.rail-item-journal,
.rail-main .rail-item[data-view="areas"],
.rail-main .rail-item[data-view="calendario"] { display: none !important; }

/* Semana: ícone em quadrado laranja, o herói do menu */
.rail-main .rail-item-semana svg,
.rail-main.is-expanded .rail-item-semana svg {
  width: 32px; height: 32px; padding: 7px; box-sizing: border-box;
  background: var(--brand, #D35400); color: #fff !important;
  border-radius: 10px; box-shadow: 0 2px 8px rgba(211, 84, 0, 0.30);
}
.rail-main .rail-item-semana.active svg { color: #fff !important; }
.rail-main.is-expanded .rail-item-semana .rail-label { font-weight: 700; color: var(--brand, #D35400); }

@media (max-width: 768px) {
  .rail-main .rail-item-semana svg, .rail-main.is-expanded .rail-item-semana svg {
    width: 30px; height: 30px; padding: 6px;
  }
  .rail-main .rail-item-semana .rail-label { color: var(--brand, #D35400); font-weight: 700 !important; }

  /* ===== Entrada no celular ===== */
  .ib-capture kbd { display: none; }
  .ib-item { flex-wrap: wrap; }
  .ib-end { flex-basis: 100%; justify-content: flex-start; margin-left: 44px; margin-top: 6px; }

  /* ===== Listas no celular: selo lateral vira só ícone, pills quebram linha ===== */
  .v3-listas .v3-flag { width: 42px; min-width: 42px; padding: 10px 4px; }
  .v3-listas .v3-flag-name { display: none; }
  .v3-card-meta { flex-wrap: wrap; row-gap: 6px; }

  /* ===== Diário no celular: lista e dia empilhados em coluna única ===== */
  body.theme-current .diary-stage { grid-template-columns: 1fr; }
  body.theme-current .ds-sidebar {
    position: static; max-height: none; border-right: none;
    border-bottom: 1px solid var(--line, rgba(0,0,0,0.08));
  }
  .ds-sb-expand-btn { display: none !important; }
}

/* === Painel simplificado da Semana (sdw) === */
.sdw-date-btn { cursor: pointer; }
.sdw-date-btn .sdw-date-chev { width: 12px; height: 12px; opacity: .7; }
.sdw-date-btn.is-open { background: rgba(211,84,0,0.14); }
.sdw-date-panel {
  margin-top: 10px; padding: 12px;
  background: var(--bg, #F7F6F3); border-radius: 12px;
  display: flex; flex-direction: column; gap: 8px;
}
.sdw-days { display: flex; gap: 6px; }
.sdw-day {
  flex: 1; display: flex; flex-direction: column; align-items: center; gap: 2px;
  padding: 8px 2px; border-radius: 10px;
  border: 1px solid var(--line, rgba(0,0,0,0.10)); background: var(--surface, #fff);
  cursor: pointer; font-family: 'Inter', sans-serif; transition: all .12s;
}
.sdw-day-dow { font-size: 9px; font-weight: 700; letter-spacing: .05em; color: #8A857C; }
.sdw-day-num { font-size: 15px; font-weight: 700; color: var(--ink, #2A2520); }
.sdw-day.is-today { border-color: var(--brand, #D35400); }
.sdw-day.is-today .sdw-day-dow { color: var(--brand, #D35400); }
.sdw-day.is-sel { background: var(--brand, #D35400); border-color: var(--brand, #D35400); }
.sdw-day.is-sel .sdw-day-dow, .sdw-day.is-sel .sdw-day-num { color: #fff; }
.sdw-day:active { transform: scale(.95); }
.sdw-backlog {
  display: flex; align-items: center; gap: 8px; padding: 10px 12px;
  border-radius: 10px; border: 1px dashed var(--line-2, #C8C8C2);
  background: transparent; color: #6A6A66;
  font-family: 'Inter', sans-serif; font-size: 12.5px; font-weight: 600; cursor: pointer;
}
.sdw-backlog.is-sel { border-style: solid; border-color: var(--ink, #2A2520); color: var(--ink, #2A2520); }
.sdw-backlog svg { width: 14px; height: 14px; }
.sdw-other {
  border: none; background: none; color: #A8A49C;
  font-family: 'Inter', sans-serif; font-size: 11.5px; font-weight: 500;
  cursor: pointer; display: flex; align-items: center; gap: 4px;
  padding: 2px; align-self: flex-start;
}
.sdw-other svg { width: 12px; height: 12px; }
.sdw-cal { border-top: 1px solid var(--line, rgba(0,0,0,0.08)); padding-top: 8px; }
.sdw-ctx-row { display: flex; gap: 10px; }
.sdw-ctx {
  flex: 1; display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: 14px; border-radius: 12px;
  border: 1.5px solid var(--line, rgba(0,0,0,0.10)); background: var(--surface, #fff);
  font-family: 'Inter', sans-serif; font-size: 14px; font-weight: 600;
  color: #6A6A66; cursor: pointer; transition: all .15s;
}
.sdw-ctx svg { width: 17px; height: 17px; }
.sdw-ctx:active { transform: scale(.97); }
.sdw-ctx-pessoal.is-on { background: #EEF7F1; border-color: #5A8A6E; color: #3F6B52; }
.sdw-ctx-agencia.is-on { background: #EAF1FB; border-color: #2A6FDB; color: #2A6FDB; }

/* ╔══════════════════════════════════════════════════════════╗
   ║  AJUSTE FINO TDAH — tipografia funcional sem serifa      ║
   ║  Tarefa e navegação = sans (escaneia rápido).            ║
   ║  Citações e mantra continuam serifados (leitura calma).  ║
   ║  PRA REVERTER: apagar este bloco inteiro.                ║
   ╚══════════════════════════════════════════════════════════╝ */
.semana-header h2,
#view-hoje .view-header.hoje-hero h2 {
  font-family: 'Inter Tight', 'Inter', sans-serif !important;
  letter-spacing: -0.02em;
}
.semana-col-daynum {
  font-family: 'Inter Tight', 'Inter', sans-serif !important;
  font-variant-numeric: tabular-nums;
}
.paper-wrap, .paper-text, .paper-empty-block,
#view-hoje .hoje-add-wrap .org-add-input {
  font-family: 'Inter', sans-serif !important;
}
.paper-text { letter-spacing: -0.005em; }

/* === Correções: ícone Semana ativo + cor única da marca + Entrada limpa === */
/* O tema força stroke laranja no ícone ativo; com fundo laranja o ícone sumia. ID vence. */
#rail-main .rail-item-semana svg { color: #fff !important; stroke: #fff !important; }
/* Glifo da página Semana no laranja da marca, igual ao menu (era azul) */
.semana-head-icon { background: var(--brand, #D35400); box-shadow: 0 8px 20px -8px rgba(211, 84, 0, 0.55); }

/* Entrada: lista com mais respiro; sai "Meu Dia" do item, "Processar agora" e "Sugerir com IA" */
#view-capturar .ib-toolbar { display: none !important; }
.ib-meudia-btn { display: none !important; }
body.theme-current #view-capturar .ib-list { gap: 18px; }

/* Entrada no celular: o item é GRID (a regra antiga de flex-wrap não valia) */
@media (max-width: 768px) {
  body.theme-current #view-capturar .ib-item { grid-template-columns: 44px 1fr; padding: 14px; }
  body.theme-current #view-capturar .ib-end { grid-column: 1 / -1; margin: 8px 0 0; justify-content: flex-start; }
}

/* Hierarquia de relevância: cards de OUTROS dias (nem hoje, nem organizar) com fonte menor */
.semana-col:not(.is-today):not(.semana-col-backlog) .semana-card-title { font-size: 11px; }
