/* ===== DESIGN SYSTEM — Terminal Luxe ===== */
:root {
  --bb-bg: #0b0b0b;
  --bb-bg-card: #111111;
  --bb-bg-card2: #161616;
  --bb-bg-raised: #1a1a1a;
  --bb-border: #1d1d1d;
  --bb-border-mid: #252525;
  --bb-border-strong: #1d1d1d;
  --bb-text: #eae8e3;
  --bb-text-2: #b0ada6;
  --bb-text-muted: #686560;
  --bb-text-dim: #3d3b38;
  --bb-accent: #5a73e8;
  --bb-amber: var(--am-500);
  --bb-green: #3fcf7e;
  --bb-red: #f87171;
  --bb-font-ui: var(--font-mono);
  --bb-font-mono: var(--font-mono);
  /* Global fallbacks for the canonical PageHeader bar (short tokens were page-scoped only) */
  --amber: var(--am-500);
  --sb: #0b0b0b;
  --ink2: #686560;
  --muted: #686560;
}

/* ===== BASE STYLES ===== */

* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: var(--font-mono); background: #0b0b0b; color: #e8e8e6; font-size: 13px; height: 100vh; overflow: hidden; }
/* ── Grão de filme global removido (2026-06-23) — textura agora só na scanline do .prf-panel-body ── */
.app { display: flex; height: 100vh; }

.sidebar { width: 220px; background: #1f1f1f; border-right: 1px solid #1d1d1d; flex-shrink: 0; display: flex; flex-direction: column; padding: 8px 0; overflow-y: auto; }
.sidebar-workspace { display: flex; align-items: center; gap: 8px; padding: 6px 12px 10px; font-weight: 600; font-size: 13px; }
.workspace-icon { width: 20px; height: 20px; background: #5a73e8; border-radius:0; display:flex;align-items:center;justify-content:center;font-size:10px;flex-shrink:0; }
.sidebar-item { display: flex; align-items: center; gap: 7px; padding: 4px 12px; color: #9b9b9b; font-size: 13px; cursor: pointer; border-radius:0; margin: 0 4px; }
.sidebar-item:hover, .sidebar-item.active { background: #1d1d1d; color: #e8e8e6; }
.sidebar-section { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; color: #888; padding: 12px 12px 4px; }
.sidebar-divider { border: none; border-top: 1px solid #1d1d1d; margin: 6px 0; }

.main { flex: 1; overflow-y: auto; background: #191919; }
.page-toolbar { display: flex; align-items: center; justify-content: space-between; padding: 8px 20px; border-bottom: 1px solid #2a2a2a; position: sticky; top: 0; background: #191919; z-index: 10; }
.toolbar-left { display: flex; align-items: center; gap: 8px; }
.toolbar-right { display: flex; align-items: center; gap: 8px; }
.toolbar-btn { font-size: 11px; color: #928980; padding: 3px 8px; border: 1px solid #1d1d1d; border-radius:0; cursor: pointer; background: #141210; }
.toolbar-btn:hover { color: #e8e8e6; border-color: #777; }
.toolbar-btn.active { color: #e8e8e6; border-color: #777; }

.page-content { max-width: 900px; margin: 0 auto; padding: 32px 60px 80px; }
.p-agenda .page-content { max-width: 1400px; padding-left: 20px; padding-right: 20px; }
.page-icon { font-size: 40px; margin-bottom: 8px; }
.page-title { font-size: 28px; font-weight: 700; margin-bottom: 4px; }
.page-subtitle { font-size: 13px; color: #888; margin-bottom: 24px; }
.page-meta { font-size: 13px; color: #888; margin-bottom: 24px; }

.tag { padding: 2px 6px; border-radius:0; font-size: 9px; font-weight: 500; white-space: nowrap; }

/* ===== DRAWER ===== */
.drawer-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.6); z-index: 40; }
.drawer-panel { position: fixed; right: 0; top: 50px; bottom: 0; height: auto; width: 360px; background: #111111; border-left: 2px solid #1d1d1d; z-index: 41; transform: translateX(100%); transition: transform .25s ease; overflow-y: auto; --dp-card:#141210; --dp-line:#2a2a2a; --dp-track:#1d1d1d; --dp-text:#e8e8e6; --dp-strong:#3a352e; }
/* Drawer global de projeto/cliente usa estilos inline → tema via vars --dp-*; light quando o app não está em dark */
body:not(.dark) .drawer-panel { --dp-card:#f0ece4; --dp-line:#d8d2c6; --dp-track:#d8d2c6; --dp-text:#111111; --dp-strong:#111111; }
.drawer-panel.open { transform: translateX(0); }
.drawer-close { position: absolute; top: 12px; right: 14px; background: none; border: none; color: #686560; font-size: 20px; cursor: pointer; }
.drawer-close:hover { color: #eae8e3; }
.drawer-backbar { padding: 8px 14px; background: #1a1a1a; color: #b8b1a4; font-family: var(--font-mono); font-size: 9px; letter-spacing: 1px; text-transform: uppercase; cursor: pointer; border-bottom: 1px solid #2a2520; }
.drawer-backbar:hover { color: #fff; background: #222; }
.drawer-content { padding: 48px 24px 32px; }
.drawer-type-badge { font-family: var(--font-mono); font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: #e79c22; margin-bottom: 12px; }
.drawer-title { font-size: 18px; font-weight: 700; color: #eae8e3; margin-bottom: 20px; line-height: 1.3; }
.drawer-avatar { width: 48px; height: 48px; background: #1d1d1d; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 700; color: #eae8e3; margin-bottom: 12px; }
.drawer-field { display: flex; justify-content: space-between; align-items: flex-start; padding: 8px 0; border-bottom: 1px solid #1d1d1d; gap: 16px; }
.df-label { font-family: var(--font-mono); font-size: 9px; color: #686560; text-transform: uppercase; letter-spacing: .07em; flex-shrink: 0; }
.df-value { font-size: 12px; color: #eae8e3; text-align: right; }
.df-link { font-size: 12px; color: #e79c22; text-decoration: none; text-align: right; word-break: break-all; }
.drawer-body { margin-top: 16px; font-size: 13px; color: #686560; line-height: 1.6; }
.drawer-action { margin-top: 20px; width: 100%; padding: 10px; background: #1d1d1d; border: 1px solid #2a2a2a; border-radius: 0; color: #eae8e3; font-size: 12px; font-family: var(--font-mono); cursor: pointer; }
.drawer-action:hover { background: #222; }
.drawer-amber-header { background: #e79c22; padding: 10px 16px; display: flex; align-items: center; margin: -48px -24px 0; }
.drawer-type-label { font-family: var(--font-mono); font-size: 9px; font-weight: 700; color: #0b0b0b; text-transform: uppercase; letter-spacing: .1em; }
.drawer-panel:has(.drawer-amber-header) .drawer-close { color: #c9861a; }
.drawer-panel:has(.drawer-amber-header) .drawer-close:hover { color: #0b0b0b; }
.drawer-section-label { font-family: var(--font-mono); font-size: 9px; font-weight: 700; color: #e79c22; text-transform: uppercase; letter-spacing: .1em; border-bottom: 1px solid #1d1d1d; padding-bottom: 4px; margin: 16px 0 8px; }
.drawer-title-zone { padding: 12px 0; border-bottom: 1px solid #1d1d1d; margin-bottom: 0; }

/* ===== PAGE: agenda ===== */
.p-agenda .today-section { display: grid; grid-template-columns: 1.5fr 1fr; gap: 20px; margin-bottom: 28px; }
.p-agenda .today-head { font-size: 14px; font-weight: 700; color: #e8e8e6; margin-bottom: 3px; }
.p-agenda .today-sub { font-size: 11px; color: #888; margin-bottom: 14px; }
.p-agenda .timeline-item { display: flex; gap: 8px; margin-bottom: 7px; align-items: flex-start; }
.p-agenda .t-time { font-size: 10px; color: #777; min-width: 32px; padding-top: 3px; text-align: right; }
.p-agenda .t-block { flex: 1; border-radius:0; padding: 7px 10px; }
.p-agenda .t-block.event { background: #0f2240; border-left: 3px solid #60a5fa; }
.p-agenda .t-block.prio { background: #2a1500; border-left: 3px solid #fb923c; }
.p-agenda .t-block.task { background: #0a2419; border-left: 3px solid #4ade80; }
.p-agenda .t-title { font-size: 11px; color: #ccc; line-height: 1.3; }
.p-agenda .t-meta { font-size: 9px; color: #888; margin-top: 2px; }
.p-agenda .divider-label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: #777; margin: 12px 0 8px; display: flex; align-items: center; gap: 8px; }
.p-agenda .divider-label::after { content:''; flex:1; height:1px; background:#222; }
.p-agenda .task-row { display: flex; align-items: center; gap: 8px; padding: 5px 0; border-bottom: 1px solid #1e1e1e; }
.p-agenda .task-row:last-child { border-bottom: none; }
.p-agenda .check { width: 13px; height: 13px; border: 1.5px solid #333; border-radius:0; flex-shrink: 0; }
.p-agenda .check.done { background: #4ade80; border-color: #4ade80; }
.p-agenda .task-name { font-size: 11px; color: #ccc; flex: 1; }
.p-agenda .task-name.done { text-decoration: line-through; color: #777; }
.p-agenda .tag { padding: 2px 6px; border-radius:0; font-size: 9px; font-weight: 500; white-space: nowrap; }
.p-agenda .tag-prio { background: #2a1500; color: #fb923c; }
.p-agenda .tag-normal { background: #0a2419; color: #4ade80; }
.p-agenda .tag-event { background: #0f2e4a; color: #60a5fa; }
.p-agenda .week-strip-head { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: #888; margin-bottom: 8px; }
.p-agenda .week-strip { display: grid; grid-template-columns: repeat(7, 1fr); gap: 3px; margin-bottom: 16px; }
.p-agenda .strip-day { text-align: center; padding: 6px 2px; border-radius:0; }
.p-agenda .strip-day.today { background: #1a1a2e; border: 1px solid #3d3d7a; }
.p-agenda .strip-lbl { font-size: 7px; color: #777; text-transform: uppercase; }
.p-agenda .strip-num { font-size: 11px; font-weight: 600; color: #928980; margin: 2px 0; }
.p-agenda .strip-day.today .strip-num { color: #818cf8; }
.p-agenda .strip-dots { display: flex; justify-content: center; gap: 2px; min-height: 6px; }
.p-agenda .sdot { width: 4px; height: 4px; border-radius: 50%; }
.p-agenda .upcoming-head { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: #888; margin-bottom: 8px; }
.p-agenda .up-item { display: flex; align-items: center; gap: 8px; padding: 5px 0; border-bottom: 1px solid #1e1e1e; }
.p-agenda .up-item:last-child { border-bottom: none; }
.p-agenda .up-date { font-size: 10px; color: #777; min-width: 40px; }
.p-agenda .up-dot { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }
.p-agenda .up-name { font-size: 11px; color: #888; flex: 1; }
.p-agenda .cal-section { padding-top: 8px; }
.p-agenda .cal-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; position: sticky; top: 41px; z-index: 9; background: #191919; padding: 8px 0; }
.p-agenda .cal-title { font-size: 14px; font-weight: 700; color: #e8e8e6; }
.p-agenda .cal-nav { display: flex; align-items: center; gap: 8px; }
.p-agenda .cal-nav-btn { font-size: 11px; color: #888; padding: 3px 9px; border: 1px solid #2a2a2a; border-radius:0; cursor: pointer; }
.p-agenda .cal-tabs { display: flex; gap: 4px; }
.p-agenda .cal-tab { font-size: 11px; padding: 3px 10px; border-radius:0; cursor: pointer; color: #888; border: 1px solid transparent; }
.p-agenda .cal-tab.active { background: #1d1d1d; color: #e8e8e6; border-color: #3f3f3f; }
/* Calendar — Google Calendar light theme */
.p-agenda .wv-container { background: #fff; border: 1px solid #dadce0; border-radius:0; overflow: hidden; color: #3c4043; }
.p-agenda .wv-header-row { display: flex; background: #f1f3f4; border-bottom: 1px solid #dadce0; }
.p-agenda .wv-corner { width: 48px; flex-shrink: 0; border-right: 1px solid #dadce0; }
.p-agenda .wv-day-head { flex: 1; padding: 8px 4px; text-align: center; border-left: 1px solid #dadce0; }
.p-agenda .wv-day-head.single { flex: 1; }
.p-agenda .wv-dh-lbl { font-size: 9px; color: #70757a; text-transform: uppercase; letter-spacing: .04em; font-weight: 500; }
.p-agenda .wv-dh-num { font-size: 14px; font-weight: 500; color: #3c4043; margin-top: 3px; }
.p-agenda .wv-day-head.today .wv-dh-num { color: #fff; background: #1a73e8; border-radius: 50%; width: 26px; height: 26px; display: flex; align-items: center; justify-content: center; margin: 2px auto 0; font-weight: 700; }
.p-agenda .wv-allday-row { display: flex; border-bottom: 2px solid #dadce0; background: #f8f9fa; min-height: 26px; }
.p-agenda .wv-allday-label { width: 48px; flex-shrink: 0; font-size: 8px; color: #70757a; text-align: center; padding: 4px 2px; line-height: 1.4; display: flex; align-items: center; justify-content: center; border-right: 1px solid #dadce0; }
.p-agenda .wv-allday-cell { flex: 1; min-width: 0; border-left: 1px solid #dadce0; padding: 2px 3px; min-height: 26px; overflow: hidden; }
.p-agenda .wv-allday-cell.single { flex: 1; }
.p-agenda .wv-allday-cell.today { background: #e8f0fe55; }
.p-agenda .wv-allday-pill { font-size: 9px; font-weight: 500; padding: 1px 6px; border-radius:0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; margin-bottom: 2px; }
.p-agenda .wv-allday-pill.task { border: 1px solid; background: transparent !important; }
.p-agenda .wv-allday-pill.done { opacity: 0.45; text-decoration: line-through; }
.p-agenda .wv-scroll { max-height: 560px; overflow-y: auto; }
.p-agenda .wv-body { display: flex; }
.p-agenda .wv-time-gutter { width: 48px; flex-shrink: 0; position: relative; background: #fff; border-right: 1px solid #dadce0; }
.p-agenda .wv-time-label { position: absolute; right: 6px; font-size: 9px; color: #70757a; transform: translateY(-50%); white-space: nowrap; }
.p-agenda .wv-days { flex: 1; display: flex; overflow-x: auto; }
.p-agenda .wv-day-col { flex: 1; min-width: 80px; position: relative; border-left: 1px solid #dadce0; background: #fff; }
.p-agenda .wv-day-col.today { background: #fafbff; }
.p-agenda .wv-hour-line { position: absolute; left: 0; right: 0; border-top: 1px solid #e8eaed; pointer-events: none; }
.p-agenda .wv-half-line { position: absolute; left: 0; right: 0; border-top: 1px solid #f1f3f4; pointer-events: none; }
.p-agenda .wv-event-block { position: absolute; left: 2px; right: 2px; border-radius:0; padding: 3px 6px; cursor: pointer; overflow: hidden; box-sizing: border-box; z-index: 2; font-size: 11px; box-shadow: 0 1px 3px rgba(0,0,0,.18); }
.p-agenda .wv-event-block:hover { filter: brightness(0.93); }
.p-agenda .wv-task-block { border: 1.5px dashed; border-radius:0; background: transparent !important; }
.p-agenda .wv-task-block.done { opacity: 0.4; text-decoration: line-through; }
.p-agenda .wv-block-time { font-size: 9px; opacity: .85; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-bottom: 1px; }
.p-agenda .wv-block-title { font-size: 10px; font-weight: 600; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* Month view — GCal light */
.p-agenda .cal-month-cell { background: #fff; border-right: 1px solid #dadce0; border-bottom: 1px solid #dadce0; padding: 4px; min-height: 72px; }
.p-agenda .cal-month-cell.today { background: #f8f9ff; }
.p-agenda .cal-month-cell.other-month .cal-month-num { color: #bdc1c6; }
.p-agenda .cal-month-num { font-size: 11px; font-weight: 500; color: #3c4043; margin-bottom: 3px; display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; }
.p-agenda .cal-month-num.today { background: #1a73e8; color: #fff; border-radius: 50%; font-weight: 700; }
.p-agenda .cal-month-pill { font-size: 9px; font-weight: 500; padding: 1px 5px; border-radius:0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; margin-bottom: 2px; display: block; }
.p-agenda .cal-month-pill.task { border: 1px solid; background: transparent !important; }
.p-agenda .cal-month-pill.done { opacity: 0.4; text-decoration: line-through; }
/* Dark mode overrides */
.p-agenda .wv-container.dark { background: #202124; border-color: #3c4043; color: #e8eaed; }
.p-agenda .wv-container.dark .wv-header-row { background: #292929; border-color: #3c4043; }
.p-agenda .wv-container.dark .wv-corner { border-color: #3c4043; }
.p-agenda .wv-container.dark .wv-day-head { border-color: #3c4043; }
.p-agenda .wv-container.dark .wv-dh-lbl { color: #9aa0a6; }
.p-agenda .wv-container.dark .wv-dh-num { color: #e8eaed; }
.p-agenda .wv-container.dark .wv-allday-row { background: #1e1e1e; border-color: #3c4043; }
.p-agenda .wv-container.dark .wv-allday-label { color: #9aa0a6; border-color: #3c4043; }
.p-agenda .wv-container.dark .wv-allday-cell { border-color: #3c4043; }
.p-agenda .wv-container.dark .wv-allday-cell.today { background: #1a1d2e55; }
.p-agenda .wv-container.dark .wv-time-gutter { background: #1f1f1f; border-color: #3c4043; }
.p-agenda .wv-container.dark .wv-time-label { color: #9aa0a6; }
.p-agenda .wv-container.dark .wv-day-col { background: #202124; border-color: #3c4043; }
.p-agenda .wv-container.dark .wv-day-col.today { background: #1a1d2e; }
.p-agenda .wv-container.dark .wv-hour-line { border-color: #3c4043; }
.p-agenda .wv-container.dark .wv-half-line { border-color: #292929; }
.p-agenda .wv-container.dark .cal-month-cell { background: #202124; border-color: #3c4043; }
.p-agenda .wv-container.dark .cal-month-cell.today { background: #1a1d2e; }
.p-agenda .wv-container.dark .cal-month-num { color: #e8eaed; }
.p-agenda .wv-container.dark .cal-month-cell.other-month .cal-month-num { color: #5f6368; }
.p-agenda .cal-month-cell { background: #141414; border: 1px solid #222; border-radius:0; padding: 5px; min-height: 60px; }
.p-agenda .cal-month-cell.today { background: #15152a; border-color: #3a3a5c; }
.p-agenda .cal-month-cell.other-month { opacity: 0.4; }
.p-agenda .cal-month-pill { font-size: 8px; padding: 1px 4px; border-radius:0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; margin-bottom: 2px; }
.p-agenda .cal-month-pill-event { background: #0f2240; color: #60a5fa; }
.p-agenda .cal-month-pill-task { background: #0a2419; color: #4ade80; }
.p-agenda .cal-month-pill-task.done { opacity: 0.4; text-decoration: line-through; }
.p-agenda .agenda-top { display: flex; align-items: center; gap: 16px; margin-bottom: 16px; flex-wrap: wrap; }
.p-agenda .od-strip { display: flex; align-items: center; gap: 12px; background: #1e1500; border: 1px solid #3d2c00; border-left: 3px solid #e79c22; border-radius:0; padding: 9px 14px; flex-wrap: wrap; flex: 1; }
.p-agenda .od-badge { background: #e79c22; color: #191919; font-size: 10px; font-weight: 800; padding: 3px 8px; border-radius:0; letter-spacing: .04em; flex-shrink: 0; }
.p-agenda .od-sep { color: #3d2c00; font-size: 12px; }
.p-agenda .od-item { display: flex; align-items: center; gap: 6px; }
.p-agenda .od-name { font-size: 11px; color: #c4a44a; }
.p-agenda .od-days { font-size: 10px; color: #7a6020; background: #2a1e00; border-radius:0; padding: 1px 5px; }
.p-agenda .preview-note { position: fixed; bottom: 14px; right: 16px; background: #1d1d1d; border: 1px solid #3f3f3f; border-radius:0; padding: 6px 12px; font-size: 11px; color: #928980; }
.p-agenda .agenda-quick { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 20px; }
.p-agenda .agenda-sec-lbl { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: #888; margin-bottom: 8px; }
.p-agenda .agenda-ev-row { display: flex; align-items: center; gap: 8px; padding: 4px 0; border-bottom: 1px solid #1e1e1e; }
.p-agenda .agenda-ev-row:last-child { border-bottom: none; }
.p-agenda .agenda-ev-time { font-size: 10px; color: #777; min-width: 36px; }
.p-agenda .agenda-ev-dot { width: 5px; height: 5px; border-radius: 50%; flex-shrink: 0; }
.p-agenda .agenda-ev-name { font-size: 11px; color: #ccc; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.p-agenda .agenda-ev-name.done { text-decoration: line-through; color: #928980; }
.p-agenda .agenda-check { width: 13px; height: 13px; border: 1.5px solid #444; border-radius:0; flex-shrink: 0; cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 9px; color: #4ade80; }
.p-agenda .agenda-check.done { background: #4ade80; border-color: #4ade80; color: #191919; }
.p-agenda .day-panel-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.6); z-index: 200; display: flex; align-items: center; justify-content: center; }
.p-agenda .day-panel { background: #1e1e1e; border: 1px solid #1d1d1d; border-radius:0; padding: 20px; min-width: 300px; max-width: 400px; width: 90%; max-height: 70vh; overflow-y: auto; }
.p-agenda .day-panel-head { display: flex; align-items: center; justify-content: space-between; font-size: 14px; font-weight: 700; color: #e8e8e6; margin-bottom: 16px; }
.p-agenda .day-panel-sec { font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: #888; margin: 10px 0 6px; }
.p-agenda .day-panel-row { display: flex; align-items: center; gap: 8px; padding: 6px 0; border-bottom: 1px solid #2a2a2a; }
.p-agenda .day-panel-row:last-child { border-bottom: none; }
.p-agenda .day-panel-time { font-size: 10px; color: #777; min-width: 36px; }
.p-agenda .day-panel-dot { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }
.p-agenda .day-panel-name { font-size: 12px; color: #ccc; flex: 1; }
.p-agenda .day-panel-name.done { text-decoration: line-through; color: #928980; }

/* ===== PAGE: captura ===== */
.p-captura .capture-box { background: #141210; border: 1px solid #3a3a3a; border-radius:0; padding: 16px 20px; margin-bottom: 20px; }
.p-captura .capture-input { width: 100%; background: transparent; border: none; outline: none; font-size: 15px; color: #e8e8e6; font-family: inherit; margin-bottom: 12px; }
.p-captura .capture-input::placeholder { color: #3a3a3a; }
.p-captura .capture-divider { border: none; border-top: 1px solid #1d1d1d; margin-bottom: 12px; }
.p-captura .capture-meta { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.p-captura .capture-tag { padding: 4px 10px; border-radius:0; font-size: 11px; font-weight: 500; border: 1px solid #3a3a3a; background: #2a2a2a; color: #928980; cursor: pointer; }
.p-captura .capture-tag:hover { border-color: #888; color: #aaa; }
.p-captura .capture-submit { padding: 5px 16px; border-radius:0; font-size: 12px; font-weight: 600; cursor: pointer; border: none; background: #5a73e8; color: white; margin-left: auto; }
.p-captura .inbox-header { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.p-captura .inbox-title { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: #f87171; }
.p-captura .inbox-count { background: #3a1a1a; border: 1px solid #6b2020; color: #f87171; padding: 1px 8px; border-radius:0; font-size: 10px; font-weight: 700; }
.p-captura .inbox-action { margin-left: auto; font-size: 11px; color: #5a73e8; cursor: pointer; }
.p-captura .inbox-list { background: #1f1f1f; border: 1px solid #1d1d1d; border-radius:0; margin-bottom: 24px; overflow: hidden; }
.p-captura .inbox-item { display: flex; align-items: center; gap: 10px; padding: 9px 14px; border-bottom: 1px solid #2a2a2a; cursor: pointer; }
.p-captura .inbox-item:last-child { border-bottom: none; }
.p-captura .inbox-item:hover { background: #141210; }
.p-captura .inbox-item:hover .item-cats { opacity: 1; }
.p-captura .item-dot { width: 7px; height: 7px; border-radius: 50%; background: #444; flex-shrink: 0; }
.p-captura .item-text { flex: 1; font-size: 12px; color: #ccc; }
.p-captura .item-time { font-size: 11px; color: #777; }
.p-captura .item-cats { opacity: 0; display: flex; gap: 5px; transition: opacity .15s; }
.p-captura .cat-btn { padding: 2px 8px; border-radius:0; font-size: 10px; border: 1px solid #3a3a3a; color: #777; cursor: pointer; white-space: nowrap; }
.p-captura .cat-btn:hover { border-color: #5a73e8; color: #8fa4f0; }
.p-captura .body-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
.p-captura .body-full { margin-bottom: 14px; }
.p-captura .dest-box { background: #1f1f1f; border: 1px solid #1d1d1d; border-radius:0; overflow: hidden; }
.p-captura .dest-header { display: flex; align-items: center; gap: 8px; padding: 10px 14px; border-bottom: 1px solid #2a2a2a; }
.p-captura .dest-title { font-size: 12px; font-weight: 600; flex: 1; }
.p-captura .dest-count { font-size: 10px; color: #888; background: #2a2a2a; padding: 1px 7px; border-radius:0; }
.p-captura .dest-link { font-size: 11px; color: #5a73e8; cursor: pointer; }
.p-captura .dest-body { padding: 8px 0; }
.p-captura .dest-item { display: flex; align-items: flex-start; gap: 8px; padding: 6px 14px; border-bottom: 1px solid #222; }
.p-captura .dest-item:last-child { border-bottom: none; }
.p-captura .dest-item-dot { width: 5px; height: 5px; border-radius: 50%; flex-shrink: 0; margin-top: 4px; }
.p-captura .dest-item-text { font-size: 11px; color: #888; flex: 1; line-height: 1.4; }
.p-captura .mini-tag { display: inline-block; padding: 1px 5px; border-radius:0; font-size: 9px; margin-right: 4px; }
.p-captura .t-ideia { background: #2d1b69; color: #c084fc; }
.p-captura .t-obs { background: #162416; color: #86efac; }
.p-captura .t-pesq { background: #2a1f06; color: #e79c22; }
.p-captura .t-link { background: #1e2d2a; color: #34d399; }
.p-captura .t-swipe { background: #1a1a2d; color: #818cf8; }
.p-captura .t-task { background: #0f2e4a; color: #60a5fa; }
.p-captura .dot-purple { background: #c084fc; }
.p-captura .dot-green { background: #86efac; }
.p-captura .dot-yellow { background: #e79c22; }
.p-captura .dot-teal { background: #34d399; }
.p-captura .dot-indigo { background: #818cf8; }
.p-captura .dot-blue { background: #60a5fa; }
.p-captura .dest-empty { padding: 16px 14px; font-size: 11px; color: #777; text-align: center; }
.p-captura .preview-note { position: fixed; bottom: 14px; right: 16px; background: #1d1d1d; border: 1px solid #3f3f3f; border-radius:0; padding: 6px 12px; font-size: 11px; color: #928980; }

/* ===== PAGE: clientes ===== */
.p-clientes .page-content { max-width: 920px; }
.p-clientes .action-row { display: flex; gap: 8px; margin-bottom: 20px; align-items: center; }
.p-clientes .action-btn { display: flex; align-items: center; gap: 6px; padding: 5px 13px; border-radius:0; font-size: 12px; font-weight: 500; cursor: pointer; border: 1px solid #1d1d1d; background: #141210; color: #9b9b9b; }
.p-clientes .action-btn.primary { background: #5a73e8; border-color: #5a73e8; color: white; }
.p-clientes .stats-row { display: flex; gap: 12px; margin-bottom: 28px; }
.p-clientes .stat { flex: 1; background: #141210; border: 1px solid #1d1d1d; border-radius:0; padding: 12px 16px; }
.p-clientes .stat-label { font-size: 11px; color: #888; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 4px; }
.p-clientes .stat-value { font-size: 22px; font-weight: 700; }
.p-clientes .stat.total { border-top: 3px solid #5a73e8; }
.p-clientes .stat.ativos { border-top: 3px solid #4ade80; background: #111e18; }
.p-clientes .stat.valor { border-top: 3px solid #e79c22; background: #1e1a0e; }
.p-clientes .cards-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: start; }
.p-clientes .client-card { background: #1f1f1f;
    border: 1px solid #2a2a2a;
    border-radius:0;
    overflow: hidden;
    position: relative; }
.p-clientes .client-card::before { content: '';
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 4px;
    background: var(--color);
    border-radius:0; }
.p-clientes .card-header { padding: 14px 14px 12px 18px; }
.p-clientes .card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.p-clientes .card-identity { display: flex; align-items: center; gap: 10px; }
.p-clientes .c-avatar { width: 34px; height: 34px; border-radius: 50%; font-size: 12px; font-weight: 700; display: flex; align-items: center; justify-content: center; color: #111; flex-shrink: 0; }
.p-clientes .c-name { font-size: 13px; font-weight: 700; color: #e8e8e6; margin-bottom: 2px; }
.p-clientes .c-sub { font-size: 10px; color: #888; }
.p-clientes .card-value { text-align: right; }
.p-clientes .value-num { font-size: 15px; font-weight: 700; color: #4ade80; }
.p-clientes .value-lbl { font-size: 9px; color: #777; text-transform: uppercase; letter-spacing: .05em; }
.p-clientes .tag { padding: 2px 7px; border-radius:0; font-size: 9px; font-weight: 600; }
.p-clientes .tag-active { background: #0a2419; color: #4ade80; }
.p-clientes .tag-standby { background: #1e1e2a; color: #818cf8; }
.p-clientes .tag-cancelled { background: #141210; color: #888; border: 1px solid #333; }
.p-clientes .socios-row { display: flex; align-items: center; gap: 7px; margin-top: 6px; }
.p-clientes .socios-label { font-size: 9px; color: #777; text-transform: uppercase; letter-spacing: .06em; }
.p-clientes .avatars { display: flex; }
.p-clientes .sm-avatar { width: 20px; height: 20px; border-radius: 50%; font-size: 8px; font-weight: 700; display: flex; align-items: center; justify-content: center; color: #111; border: 2px solid #1f1f1f; margin-right: -5px; flex-shrink: 0; }
.p-clientes .sm-avatar-name { font-size: 10px; color: #928980; margin-left: 10px; }
.p-clientes .card-divider { border: none; border-top: 1px solid #252525; }
.p-clientes .projects-list { padding: 0 14px 6px 18px; }
.p-clientes .proj-list-label { font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: #777; padding: 9px 0 6px; }
.p-clientes .proj-row { display: flex; align-items: center; gap: 8px; padding: 5px 0; border-bottom: 1px solid #141210; cursor: pointer; }
.p-clientes .proj-row:last-of-type { border-bottom: none; }
.p-clientes .proj-row:hover { opacity: .8; }
.p-clientes .proj-dot { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; background: var(--color); }
.p-clientes .proj-name { flex: 1; font-size: 11px; color: #ccc; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.p-clientes .ms { font-size: 9px; font-weight: 600; padding: 2px 6px; border-radius:0; white-space: nowrap; flex-shrink: 0; }
.p-clientes .ms-active { background: #0c2a45; color: #60a5fa; }
.p-clientes .ms-waiting { background: #302206; color: #e79c22; }
.p-clientes .ms-late-me { background: #2e0a0a; color: #f87171; }
.p-clientes .ms-late-them { background: #2c1a00; color: #e79c22; }
.p-clientes .ms-paused { background: #141210; color: #888; border: 1px solid #333; }
.p-clientes .ms-review { background: #0a2419; color: #4ade80; }
.p-clientes .ms-planning { background: #22154d; color: #c084fc; }
.p-clientes .mini-prog { width: 44px; height: 3px; background: #2a2a2a; border-radius:0; flex-shrink: 0; }
.p-clientes .mini-prog-fill { height: 100%; border-radius:0; background: #4ade80; }
.p-clientes .mini-pct { font-size: 9px; color: #777; width: 22px; text-align: right; flex-shrink: 0; }
.p-clientes .proj-socio { flex-shrink: 0; }
.p-clientes .proj-add { font-size: 10px; color: #928980; padding: 8px 0 4px; cursor: pointer; display: block; }
.p-clientes .proj-add:hover { color: #928980; }
.p-clientes .preview-note { position: fixed; bottom: 14px; right: 16px; background: #1d1d1d; border: 1px solid #3f3f3f; border-radius:0; padding: 6px 12px; font-size: 11px; color: #928980; }

/* ===== PAGE: daily ===== */
.p-daily .page-content { max-width: 860px; }
.p-daily .page-date { font-size: 13px; color: #e79c22; margin-bottom: 24px; font-weight: 500; }
.p-daily .section-label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: #888; padding-bottom: 7px; margin-bottom: 8px; border-bottom: 1px solid #2a2a2a; display: flex; align-items: center; justify-content: space-between; }
.p-daily .badge { font-size: 9px; font-weight: 400; background: #2a2a2a; padding: 1px 6px; border-radius:0; color: #888; }
.p-daily .mood-row { display: flex; gap: 8px; margin-bottom: 20px; }
.p-daily .mood-btn { flex: 1; background: #141210; border: 1px solid #1d1d1d; border-radius:0; padding: 8px 4px; text-align: center; cursor: pointer; transition: all .1s; }
.p-daily .mood-btn:hover { border-color: #888; }
.p-daily .mood-btn.sel { border-color: #e79c22; background: #2a2410; }
.p-daily .mood-emoji { font-size: 16px; display: block; margin-bottom: 3px; }
.p-daily .mood-label { font-size: 9px; color: #888; }
.p-daily .mood-btn.sel .mood-label { color: #e79c22; }
.p-daily .intention-box { background: #141210; border: 1px solid #1d1d1d; border-left: 3px solid #e79c22; border-radius:0; padding: 12px 16px; margin-bottom: 20px; }
.p-daily .intention-label { font-size: 10px; text-transform: uppercase; letter-spacing: .06em; color: #e79c22; margin-bottom: 6px; font-weight: 600; }
.p-daily .intention-text { font-size: 13px; color: #ccc; font-style: italic; }
.p-daily .priorities-box { background: #141210; border: 1px solid #1d1d1d; border-radius:0; padding: 12px 16px; margin-bottom: 20px; }
.p-daily .check-item { display: flex; align-items: center; gap: 9px; padding: 6px 0; border-bottom: 1px solid #2a2a2a; font-size: 12px; color: #ccc; }
.p-daily .check-item:last-of-type { border-bottom: none; }
.p-daily .box { width: 14px; height: 14px; border: 1.5px solid #444; border-radius:0; flex-shrink: 0; }
.p-daily .box.done { background: #4ade80; border-color: #4ade80; }
.p-daily .check-text.done { text-decoration: line-through; color: #888; }
.p-daily .priority-num { width: 18px; height: 18px; border-radius: 50%; background: #1d1d1d; color: #928980; font-size: 10px; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.p-daily .progress-box { background: #141210; border: 1px solid #1d1d1d; border-radius:0; padding: 12px 16px; margin-bottom: 20px; }
.p-daily .progress-numbers { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 8px; }
.p-daily .progress-main { font-size: 22px; font-weight: 700; color: #e79c22; }
.p-daily .progress-sub { font-size: 11px; color: #888; }
.p-daily .progress-bar { height: 6px; background: #1d1d1d; border-radius:0; }
.p-daily .progress-fill { height: 100%; border-radius:0; background: linear-gradient(90deg, #e79c22, #e79c22); width: 65%; }
.p-daily .ritual-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 20px; }
.p-daily .ritual-col { background: #141210; border: 1px solid #1d1d1d; border-radius:0; overflow: hidden; }
.p-daily .ritual-col.manha { border-top: 3px solid #e79c22; }
.p-daily .ritual-col.noite { border-top: 3px solid #818cf8; }
.p-daily .ritual-header { padding: 10px 14px; border-bottom: 1px solid #2a2a2a; font-size: 11px; font-weight: 700; display: flex; align-items: center; justify-content: space-between; }
.p-daily .ritual-col.manha .ritual-header { color: #e79c22; }
.p-daily .ritual-col.noite  .ritual-header { color: #818cf8; }
.p-daily .ritual-body { padding: 6px 14px 10px; }
.p-daily .ritual-item { display: flex; align-items: center; gap: 9px; padding: 6px 0; border-bottom: 1px solid #2a2a2a; font-size: 12px; color: #ccc; }
.p-daily .ritual-item:last-of-type { border-bottom: none; }
.p-daily .habitos-box { background: #141210; border: 1px solid #1d1d1d; border-radius:0; padding: 12px 16px; }
.p-daily .habitos-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 4px; }
.p-daily .habito-item { background: #1f1f1f; border: 1px solid #1d1d1d; border-radius:0; padding: 8px 10px; display: flex; align-items: center; gap: 8px; }
.p-daily .habito-item.done { border-color: #1a3a1a; background: #1a2a1a; }
.p-daily .habito-dot { width: 10px; height: 10px; border-radius: 50%; border: 2px solid #444; flex-shrink: 0; }
.p-daily .habito-item.done .habito-dot { background: #4ade80; border-color: #4ade80; }
.p-daily .habito-name { font-size: 11px; color: #888; flex: 1; }
.p-daily .habito-item.done .habito-name { color: #4ade80; }
.p-daily .habito-streak { font-size: 10px; color: #888; }
.p-daily .habito-item.done .habito-streak { color: #2a5a2a; }
.p-daily .habito-group-label { font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: #8a8175; margin-bottom: 6px; margin-top: 4px; }
.p-daily .habitos-cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 20px; }
.p-daily .habitos-col { background: #141210; border: 1px solid #1d1d1d; border-left: 3px solid #e79c22; border-radius:0; padding: 10px 12px; }
.p-daily .habito-col-header { font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; margin-bottom: 10px; }
.p-daily .preview-note { position: fixed; bottom: 14px; right: 16px; background: #1d1d1d; border: 1px solid #3f3f3f; border-radius:0; padding: 6px 12px; font-size: 11px; color: #928980; }
.p-daily .health-stats { display: flex; gap: 10px; margin-bottom: 20px; }
.p-daily .health-stat { border: 1px solid #2a2a2a; border-radius:0; padding: 8px 12px; min-width: 140px; text-align: right; }
.p-daily .health-stat.peso { border-top: 3px solid #e79c22; background: #1e1a0e; }
.p-daily .health-stat.sono { border-top: 3px solid #818cf8; background: #1e1e2a; }
.p-daily .health-stat-label { font-size: 9px; color: #888; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 4px; }
.p-daily .health-stat-val { font-size: 16px; font-weight: 700; line-height: 1; }

/* ===== PAGE: estudos ===== */
.p-estudos h1 { font-size: 20px; font-weight: 700; margin-bottom: 4px; }
.p-estudos .sub { font-size: 12px; color: #888; margin-bottom: 24px; }
.p-estudos .sec-label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: #888; padding-bottom: 6px; margin-bottom: 12px; border-bottom: 1px solid #2a2a2a; display: flex; justify-content: space-between; align-items: center; }
.p-estudos .section { margin-bottom: 28px; }
.p-estudos .tag { padding: 2px 7px; border-radius:0; font-size: 9px; font-weight: 600; white-space: nowrap; }
.p-estudos .tag-green { background: #0a2419; color: #4ade80; }
.p-estudos .tag-yellow { background: #2a1f00; color: #e79c22; }
.p-estudos .tag-purple { background: #1e1040; color: #818cf8; }
.p-estudos .tag-gray { background: #2a2a2a; color: #928980; }
.p-estudos .tag-blue { background: #0f2e4a; color: #60a5fa; }
.p-estudos .stats-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 28px; }
.p-estudos .stat-card { background: #161616; border: 1px solid #2a2a2a; border-radius:0; padding: 12px 14px; text-align: center; }
.p-estudos .stat-val { font-size: 22px; font-weight: 700; margin-bottom: 3px; }
.p-estudos .stat-lbl { font-size: 9px; color: #888; text-transform: uppercase; letter-spacing: .05em; }
.p-estudos .course-card { background: #161616; border: 1px solid #2a2a2a; border-left: 3px solid; border-radius:0; padding: 10px 13px; margin-bottom: 8px; }
.p-estudos .card-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 9px; }
.p-estudos .card-name { font-size: 12px; font-weight: 600; color: #ddd; }
.p-estudos .card-sub { font-size: 9px; color: #888; margin-top: 2px; }
.p-estudos .card-bar-wrap { height: 3px; background: #222; border-radius:0; margin-bottom: 4px; }
.p-estudos .card-bar-fill { height: 100%; border-radius:0; }
.p-estudos .card-bar-lbl { font-size: 9px; color: #777; }
.p-estudos .area-section { margin-bottom: 16px; }
.p-estudos .area-title { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: #888; margin-bottom: 6px; padding-bottom: 5px; border-bottom: 1px solid #222; }
.p-estudos .tbl-head { display: grid; grid-template-columns: 1fr 65px 70px 65px; gap: 8px; font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #3a3a3a; padding-bottom: 5px; margin-bottom: 2px; border-bottom: 1px solid #222; }
.p-estudos .tbl-head .c { text-align: center; }
.p-estudos .tbl-row { display: grid; grid-template-columns: 1fr 65px 70px 65px; gap: 8px; align-items: center; padding: 5px 0; border-bottom: 1px solid #1a1a1a; }
.p-estudos .tbl-row:last-child { border-bottom: none; }
.p-estudos .tbl-name { font-size: 11px; color: #aaa; }
.p-estudos .tbl-cell { display: flex; justify-content: center; align-items: center; }
.p-estudos .areas-grid { display: flex; flex-wrap: wrap; gap: 8px; }
.p-estudos .area-card { background: #161616; border: 1px solid #2a2a2a; border-left: 3px solid; border-radius:0; padding: 8px 12px; display: flex; align-items: center; gap: 10px; min-width: 140px; }
.p-estudos .area-card-name { font-size: 10px; color: #888; flex: 1; }
.p-estudos .area-card-count { font-size: 16px; font-weight: 700; color: #818cf8; }
.p-estudos .area-card-add { font-size: 18px; color: #2a2a2a; cursor: pointer; border: 1px dashed #2a2a2a; border-radius:0; padding: 8px 16px; display: flex; align-items: center; justify-content: center; }
.p-estudos .area-card-add:hover { border-color: #777; color: #888; }
.p-estudos .prog-bar-wrap { width: 50px; height: 3px; background: #222; border-radius:0; }
.p-estudos .prog-bar-fill { height: 100%; border-radius:0; }

/* ===== PAGE: ferramentas ===== */
.p-ferramentas .page-content { max-width: 860px; }
.p-ferramentas .action-row { display: flex; gap: 8px; margin-bottom: 20px; align-items: center; }
.p-ferramentas .action-btn { display: flex; align-items: center; gap: 6px; padding: 5px 13px; border-radius:0; font-size: 12px; font-weight: 500; cursor: pointer; border: 1px solid #1d1d1d; background: #141210; color: #9b9b9b; }
.p-ferramentas .action-btn.primary { background: #5a73e8; border-color: #5a73e8; color: white; }
.p-ferramentas .stats-row { display: flex; gap: 12px; margin-bottom: 28px; }
.p-ferramentas .stat { flex: 1; background: #141210; border: 1px solid #1d1d1d; border-radius:0; padding: 12px 16px; }
.p-ferramentas .stat-label { font-size: 11px; color: #888; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 4px; }
.p-ferramentas .stat-value { font-size: 22px; font-weight: 700; }
.p-ferramentas .stat.total { border-top: 3px solid #5a73e8; }
.p-ferramentas .stat.mes { border-top: 3px solid #fb923c; background: #1e1408; }
.p-ferramentas .stat.ano { border-top: 3px solid #e79c22; background: #1e1a08; }
.p-ferramentas .col-header { display: grid;
    grid-template-columns: 26px 1fr 80px 44px 70px 75px;
    gap: 10px;
    padding: 0 0 8px;
    border-bottom: 1px solid #1d1d1d;
    margin-bottom: 4px;
    font-size: 10px; font-weight: 700; text-transform: uppercase;
    letter-spacing: .07em; color: #777;
    position: sticky; top: 49px; background: #191919; z-index: 5; }
.p-ferramentas .col-header .r { text-align: right; }
.p-ferramentas .section { margin-bottom: 4px; }
.p-ferramentas .sec-label { font-size: 10px; font-weight: 700; text-transform: uppercase;
    letter-spacing: .07em; color: #888;
    padding: 12px 0 6px;
    display: flex; align-items: center; gap: 8px; }
.p-ferramentas .badge { font-size: 9px; background: #2a2a2a; padding: 1px 6px; border-radius:0; color: #888; font-weight: 400; }
.p-ferramentas .tool-row { display: grid;
    grid-template-columns: 26px 1fr 80px 44px 70px 75px;
    gap: 10px;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid #1e1e1e;
    cursor: pointer; }
.p-ferramentas .tool-row:last-child { border-bottom: none; }
.p-ferramentas .tool-row:hover { opacity: .8; }
.p-ferramentas .t-icon { width: 22px; height: 22px; border-radius:0; font-size: 12px; display: flex; align-items: center; justify-content: center; background: #2a2a2a; flex-shrink: 0; }
.p-ferramentas .t-name { font-size: 12px; color: #ccc; }
.p-ferramentas .t-sub { font-size: 10px; color: #888; margin-top: 1px; }
.p-ferramentas .tag { padding: 2px 7px; border-radius:0; font-size: 9px; font-weight: 500; }
.p-ferramentas .tag-ia { background: #22154d; color: #c084fc; }
.p-ferramentas .tag-dev { background: #0f2e4a; color: #60a5fa; }
.p-ferramentas .tag-design { background: #3a1028; color: #f472b6; }
.p-ferramentas .tag-prod { background: #0a2419; color: #4ade80; }
.p-ferramentas .tag-neg { background: #2a1500; color: #fb923c; }
.p-ferramentas .t-val { font-size: 11px; text-align: right; }
.p-ferramentas .t-val.orange { color: #fb923c; }
.p-ferramentas .t-val.yellow { color: #e79c22; }
.p-ferramentas .t-val.green { color: #4ade80; }
.p-ferramentas .t-val.muted { color: #777; }
.p-ferramentas .t-check { font-size: 13px; text-align: center; line-height: 1; }
.p-ferramentas .t-check.yes { color: #4ade80; }
.p-ferramentas .t-check.no { color: #2a2a2a; }
.p-ferramentas .sec-total { display: grid;
    grid-template-columns: 26px 1fr 80px 44px 70px 75px;
    gap: 10px;
    align-items: center;
    padding: 6px 0 10px;
    font-size: 10px; color: #777;
    border-top: 1px solid #2a2a2a; }
.p-ferramentas .sec-total .r { text-align: right; font-size: 12px; font-weight: 700; color: #e8e8e6; }
.p-ferramentas .grand-total { display: flex; justify-content: space-between; align-items: baseline;
    padding: 14px 0 0;
    border-top: 1px solid #1d1d1d;
    margin-top: 8px; }
.p-ferramentas .grand-total-label { font-size: 12px; color: #928980; }
.p-ferramentas .grand-total-vals { display: flex; gap: 24px; align-items: baseline; }
.p-ferramentas .grand-total-val { text-align: right; }
.p-ferramentas .grand-total-num { font-size: 18px; font-weight: 700; }
.p-ferramentas .grand-total-sub { font-size: 9px; color: #777; text-transform: uppercase; letter-spacing: .05em; }
.p-ferramentas .preview-note { position: fixed; bottom: 14px; right: 16px; background: #1d1d1d; border: 1px solid #3f3f3f; border-radius:0; padding: 6px 12px; font-size: 11px; color: #928980; }

/* ===== PAGE: financas ===== */
.p-financas .balances { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 12px; margin-bottom: 20px; }
.p-financas .bal { background: var(--bb-bg-card); border: 1px solid var(--bb-border); border-radius:0; padding: 14px 16px; }
.p-financas .bal-label { font-size: 11px; color: var(--bb-text-muted); text-transform: uppercase; letter-spacing: .05em; margin-bottom: 4px; }
.p-financas .bal-value { font-size: 22px; font-weight: 700; font-family: var(--bb-font-ui); }
.p-financas .bal.saldo { border-top: 3px solid var(--bb-green); }
.p-financas .bal.receitas { border-top: 3px solid var(--bb-green); }
.p-financas .bal.despesas { border-top: 3px solid var(--bb-red); }
.p-financas .bal.cartao { border-top: 3px solid var(--bb-accent); }
.p-financas .cartao-card { background: var(--bb-bg-card2); border: 1px solid var(--bb-border-mid); border-radius:0; padding: 16px 18px; margin-bottom: 20px; display: flex; align-items: center; gap: 24px; }
.p-financas .cartao-card-title { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--bb-text-muted); margin-bottom: 6px; }
.p-financas .cartao-card-val { font-size: 24px; font-weight: 700; color: var(--bb-accent); }
.p-financas .cartao-card-sub { font-size: 10px; color: var(--bb-text-muted); margin-top: 2px; }
.p-financas .cartao-limit-wrap { flex: 1; }
.p-financas .cartao-limit-label { font-size: 10px; color: var(--bb-text-muted); margin-bottom: 5px; display: flex; justify-content: space-between; }
.p-financas .cartao-limit-bar { height: 5px; background: var(--bb-border-mid); border-radius:0; }
.p-financas .cartao-limit-fill { height: 100%; border-radius:0; background: var(--bb-accent); }
.p-financas .cartao-card-right { text-align: right; flex-shrink: 0; }
.p-financas .cartao-close-label { font-size: 10px; color: var(--bb-text-muted); margin-bottom: 2px; }
.p-financas .cartao-close-val { font-size: 13px; font-weight: 600; color: var(--bb-text-2); }
.p-financas .sec-title { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--bb-text-muted); padding-bottom: 8px; margin-bottom: 8px; border-bottom: 1px solid var(--bb-border); display: flex; justify-content: space-between; }
.p-financas .sec-divider { font-size: 10px; color: var(--bb-text-dim); font-weight: 400; text-transform: none; letter-spacing: 0; }
.p-financas .cat-col-head { display: flex; align-items: center; gap: 10px; padding: 0 12px 6px; margin-bottom: 4px; font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--bb-text-dim); }
.p-financas .cat-col-head-name { flex: 1; }
.p-financas .cat-col-head-bar { flex: 1; max-width: 160px; text-align: center; }
.p-financas .cat-col-head-pct { min-width: 32px; text-align: right; }
.p-financas .cat-col-head-gasto { min-width: 70px; text-align: right; }
.p-financas .cat-col-head-meta { min-width: 70px; text-align: right; }
.p-financas .cat-row { margin-bottom: 2px; }
.p-financas .cat-header { display: flex; align-items: center; gap: 10px; padding: 9px 12px; background: var(--bb-bg-card); border: 1px solid var(--bb-border); border-radius:0; cursor: pointer; }
.p-financas .cat-header:hover { border-color: var(--bb-border-strong); }
.p-financas .cat-header.open { border-radius:0 0 0; border-bottom-color: transparent; }
.p-financas .cat-arrow { font-size: 10px; color: var(--bb-text-muted); flex-shrink: 0; transition: transform .15s; }
.p-financas .cat-header.open .cat-arrow { transform: rotate(90deg); }
.p-financas .cat-name { flex: 1; font-size: 12px; color: var(--bb-text); display: flex; align-items: center; gap: 7px; }
.p-financas .cat-bar-wrap { flex: 1; max-width: 160px; }
.p-financas .cat-bar { height: 4px; background: var(--bb-border-mid); border-radius:0; }
.p-financas .cat-bar-fill { height: 100%; border-radius:0; }
.p-financas .cat-pct { font-size: 10px; white-space: nowrap; flex-shrink: 0; min-width: 32px; text-align: right; }
.p-financas .cat-val { font-size: 12px; font-weight: 700; white-space: nowrap; flex-shrink: 0; min-width: 70px; text-align: right; font-family: var(--bb-font-ui); }
.p-financas .cat-meta { font-size: 11px; color: var(--bb-text-dim); white-space: nowrap; flex-shrink: 0; min-width: 70px; text-align: right; }
.p-financas .cat-items { background: var(--bb-bg-card2); border: 1px solid var(--bb-border); border-top: none; border-radius:0; padding: 4px 0; margin-bottom: 6px; }
.p-financas .cat-item { display: flex; justify-content: space-between; align-items: center; padding: 6px 12px 6px 36px; font-size: 11px; border-bottom: 1px solid var(--bb-border); }
.p-financas .cat-item:last-child { border-bottom: none; }
.p-financas .cat-item-name { color: var(--bb-text-2); }
.p-financas .cat-item-val { color: var(--bb-text-muted); font-weight: 500; }
.p-financas .cat-items.hidden { display: none; }
.p-financas .extrato-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 28px; }
.p-financas .extrato-col-title { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--bb-text-muted); padding-bottom: 7px; border-bottom: 1px solid var(--bb-border); margin-bottom: 6px; }
.p-financas .ext-head-left { display: grid; grid-template-columns: 40px 1fr 52px 48px 60px; gap: 6px; font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--bb-text-dim); padding-bottom: 6px; border-bottom: 1px solid var(--bb-border); margin-bottom: 2px; }
.p-financas .tx-left { display: grid; grid-template-columns: 40px 1fr 52px 48px 60px; gap: 6px; align-items: center; padding: 7px 0; border-bottom: 1px solid var(--bb-border); }
.p-financas .ext-head-right { display: grid; grid-template-columns: 40px 1fr 52px 60px; gap: 6px; font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--bb-text-dim); padding-bottom: 6px; border-bottom: 1px solid var(--bb-border); margin-bottom: 2px; }
.p-financas .tx-right { display: grid; grid-template-columns: 40px 1fr 52px 60px; gap: 6px; align-items: center; padding: 7px 0; border-bottom: 1px solid var(--bb-border); }
.p-financas .tx-left:last-child, .p-financas .tx-right:last-child { border-bottom: none; }
.p-financas .tx-date { font-size: 10px; color: var(--bb-text-muted); }
.p-financas .tx-name { font-size: 11px; color: var(--bb-text); }
.p-financas .tx-cell { display: flex; justify-content: center; }
.p-financas .ext-r { text-align: right; }
.p-financas .tx-val { font-size: 11px; font-weight: 700; text-align: right; font-family: var(--bb-font-ui); }
.p-financas .tx-val.in { color: var(--bb-green); }
.p-financas .tx-val.out { color: var(--bb-red); }
.p-financas .tag { padding: 2px 6px; border-radius:0; font-size: 9px; font-weight: 500; white-space: nowrap; background: var(--bb-bg-raised); color: var(--bb-text-2); }
.p-financas .tag-pix { background: rgba(90,115,232,.15); color: var(--bb-accent); }
.p-financas .tag-dinheiro { background: rgba(63,207,126,.12); color: var(--bb-green); }
.p-financas .tag-nubank { background: rgba(192,132,252,.12); color: #c084fc; }
.p-financas .tag-inter { background: rgba(251,146,60,.12); color: #fb923c; }
.p-financas .tag-bradesco { background: rgba(248,113,113,.12); color: var(--bb-red); }
.p-financas .extrato-footer { display: flex; justify-content: space-between; align-items: baseline; padding: 10px 0 0; border-top: 1px solid var(--bb-border-mid); margin-top: 4px; }
.p-financas .extrato-footer-label { font-size: 11px; color: var(--bb-text-muted); }
.p-financas .extrato-footer-val { font-size: 16px; font-weight: 700; font-family: var(--bb-font-ui); }
.p-financas .em-link { font-family: var(--bb-font-ui); text-decoration: none; }
.p-financas .preview-note { position: fixed; bottom: 14px; right: 16px; background: #1d1d1d; border: 1px solid #3f3f3f; border-radius:0; padding: 6px 12px; font-size: 11px; color: #928980; }

/* ===== PAGE: financas-pj ===== */
.p-financas-pj .balances { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 12px; margin-bottom: 20px; }
.p-financas-pj .bal { background: #141210; border: 1px solid #1d1d1d; border-radius:0; padding: 14px 16px; }
.p-financas-pj .bal-label { font-size: 11px; color: #888; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 4px; }
.p-financas-pj .bal-value { font-size: 22px; font-weight: 700; }
.p-financas-pj .bal.faturamento { border-top: 3px solid #34d399; }
.p-financas-pj .bal.despesas { border-top: 3px solid #f87171; background: #1e1010; }
.p-financas-pj .bal.impostos { border-top: 3px solid #e79c22; background: #1e1a00; }
.p-financas-pj .bal.cartao { border-top: 3px solid #818cf8; background: #1a1040; }
.p-financas-pj .alert-banner { background: #1e1a00; border: 1px solid #3a2f00; border-left: 3px solid #e79c22; border-radius:0; padding: 12px 16px; margin-bottom: 20px; display: flex; align-items: center; gap: 12px; }
.p-financas-pj .alert-icon { font-size: 16px; flex-shrink: 0; }
.p-financas-pj .alert-text { font-size: 12px; color: #d4a500; flex: 1; }
.p-financas-pj .alert-btn { font-size: 10px; padding: 3px 10px; border: 1px solid #6a5200; border-radius:0; color: #e79c22; cursor: pointer; white-space: nowrap; }
.p-financas-pj .cartao-card { background: #1a1040; border: 1px solid #3d2fa0; border-radius:0; padding: 16px 18px; margin-bottom: 20px; display: flex; align-items: center; gap: 24px; }
.p-financas-pj .cartao-card-title { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: #6654c0; margin-bottom: 6px; }
.p-financas-pj .cartao-card-val { font-size: 24px; font-weight: 700; color: #c4b5fd; }
.p-financas-pj .cartao-card-sub { font-size: 10px; color: #6654c0; margin-top: 2px; }
.p-financas-pj .cartao-limit-wrap { flex: 1; }
.p-financas-pj .cartao-limit-label { font-size: 10px; color: #6654c0; margin-bottom: 5px; display: flex; justify-content: space-between; }
.p-financas-pj .cartao-limit-bar { height: 5px; background: #2d2060; border-radius:0; }
.p-financas-pj .cartao-limit-fill { height: 100%; border-radius:0; background: #818cf8; }
.p-financas-pj .cartao-card-right { text-align: right; flex-shrink: 0; }
.p-financas-pj .cartao-close-label { font-size: 10px; color: #6654c0; margin-bottom: 2px; }
.p-financas-pj .cartao-close-val { font-size: 13px; font-weight: 600; color: #a78bfa; }
.p-financas-pj .sec-title { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: #888; padding-bottom: 8px; margin-bottom: 8px; border-bottom: 1px solid #2a2a2a; display: flex; justify-content: space-between; }
.p-financas-pj .sec-divider { font-size: 10px; color: #1d1d1d; font-weight: 400; text-transform: none; letter-spacing: 0; }
.p-financas-pj .cat-col-head { display: flex; align-items: center; gap: 10px; padding: 0 12px 6px; margin-bottom: 4px; font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: #3a3a3a; }
.p-financas-pj .cat-col-head-name { flex: 1; }
.p-financas-pj .cat-col-head-bar { flex: 1; max-width: 160px; text-align: center; }
.p-financas-pj .cat-col-head-pct { min-width: 32px; text-align: right; }
.p-financas-pj .cat-col-head-gasto { min-width: 70px; text-align: right; }
.p-financas-pj .cat-col-head-meta { min-width: 70px; text-align: right; }
.p-financas-pj .cat-row { margin-bottom: 2px; }
.p-financas-pj .cat-header { display: flex; align-items: center; gap: 10px; padding: 9px 12px; background: #1f1f1f; border: 1px solid #252525; border-radius:0; cursor: pointer; }
.p-financas-pj .cat-header:hover { border-color: #928980; }
.p-financas-pj .cat-header.open { border-radius:0 0 0; border-bottom-color: transparent; }
.p-financas-pj .cat-arrow { font-size: 10px; color: #777; flex-shrink: 0; transition: transform .15s; }
.p-financas-pj .cat-header.open .cat-arrow { transform: rotate(90deg); color: #928980; }
.p-financas-pj .cat-name { flex: 1; font-size: 12px; color: #ccc; display: flex; align-items: center; gap: 7px; }
.p-financas-pj .cat-bar-wrap { flex: 1; max-width: 160px; }
.p-financas-pj .cat-bar { height: 4px; background: #2a2a2a; border-radius:0; }
.p-financas-pj .cat-bar-fill { height: 100%; border-radius:0; }
.p-financas-pj .cat-pct { font-size: 10px; white-space: nowrap; flex-shrink: 0; min-width: 32px; text-align: right; }
.p-financas-pj .cat-val { font-size: 12px; font-weight: 700; white-space: nowrap; flex-shrink: 0; min-width: 70px; text-align: right; }
.p-financas-pj .cat-meta { font-size: 11px; color: #3a3a3a; white-space: nowrap; flex-shrink: 0; min-width: 70px; text-align: right; }
.p-financas-pj .cat-items { background: #1a1a1a; border: 1px solid #252525; border-top: none; border-radius:0; padding: 4px 0; margin-bottom: 6px; }
.p-financas-pj .cat-item { display: flex; justify-content: space-between; align-items: center; padding: 6px 12px 6px 36px; font-size: 11px; border-bottom: 1px solid #1e1e1e; }
.p-financas-pj .cat-item:last-child { border-bottom: none; }
.p-financas-pj .cat-item-name { color: #888; }
.p-financas-pj .cat-item-val { color: #928980; font-weight: 500; }
.p-financas-pj .cat-items.hidden { display: none; }
.p-financas-pj .extrato-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 28px; }
.p-financas-pj .extrato-col-title { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: #888; padding-bottom: 7px; border-bottom: 1px solid #2a2a2a; margin-bottom: 6px; }
.p-financas-pj .ext-head-left { display: grid; grid-template-columns: 40px 1fr 52px 48px 60px; gap: 6px; font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #3a3a3a; padding-bottom: 6px; border-bottom: 1px solid #2a2a2a; margin-bottom: 2px; }
.p-financas-pj .tx-left { display: grid; grid-template-columns: 40px 1fr 52px 48px 60px; gap: 6px; align-items: center; padding: 7px 0; border-bottom: 1px solid #1e1e1e; }
.p-financas-pj .ext-head-right { display: grid; grid-template-columns: 40px 1fr 52px 60px; gap: 6px; font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #3a3a3a; padding-bottom: 6px; border-bottom: 1px solid #2a2a2a; margin-bottom: 2px; }
.p-financas-pj .tx-right { display: grid; grid-template-columns: 40px 1fr 52px 60px; gap: 6px; align-items: center; padding: 7px 0; border-bottom: 1px solid #1e1e1e; }
.p-financas-pj .tx-left:last-child, .p-financas-pj .tx-right:last-child { border-bottom: none; }
.p-financas-pj .tx-date { font-size: 10px; color: #888; }
.p-financas-pj .tx-name { font-size: 11px; color: #ccc; }
.p-financas-pj .tx-cell { display: flex; justify-content: center; }
.p-financas-pj .ext-r { text-align: right; }
.p-financas-pj .tx-val { font-size: 11px; font-weight: 700; text-align: right; }
.p-financas-pj .tx-val.in { color: #4ade80; }
.p-financas-pj .tx-val.out { color: #f87171; }
.p-financas-pj .tag { padding: 2px 6px; border-radius:0; font-size: 9px; font-weight: 500; white-space: nowrap; }
.p-financas-pj .tag-green { background: #0a2419; color: #4ade80; }
.p-financas-pj .tag-yellow { background: #2a1f00; color: #e79c22; }
.p-financas-pj .tag-pix { background: #0f2e4a; color: #60a5fa; }
.p-financas-pj .tag-dinheiro { background: #0a2419; color: #4ade80; }
.p-financas-pj .tag-cartao { background: #1e1040; color: #818cf8; }
.p-financas-pj .tag-inter-pj { background: #2a1500; color: #fb923c; }
.p-financas-pj .tag-nubank-pj { background: #2a0a40; color: #c084fc; }
.p-financas-pj .extrato-footer { display: flex; justify-content: space-between; align-items: baseline; padding: 10px 0 0; border-top: 1px solid #1d1d1d; margin-top: 4px; }
.p-financas-pj .extrato-footer-label { font-size: 11px; color: #888; }
.p-financas-pj .extrato-footer-val { font-size: 16px; font-weight: 700; }
.p-financas-pj .preview-note { position: fixed; bottom: 14px; right: 16px; background: #1d1d1d; border: 1px solid #3f3f3f; border-radius:0; padding: 6px 12px; font-size: 11px; color: #928980; }

/* ===== PAGE: habitos ===== */
.p-habitos .page-content { max-width: 860px; }
.p-habitos .action-row { display: flex; gap: 8px; margin-bottom: 20px; align-items: center; }
.p-habitos .action-btn { display: flex; align-items: center; gap: 6px; padding: 5px 13px; border-radius:0; font-size: 12px; font-weight: 500; cursor: pointer; border: 1px solid #1d1d1d; background: #141210; color: #9b9b9b; }
.p-habitos .action-btn.primary { background: #5a73e8; border-color: #5a73e8; color: white; }
.p-habitos .stats-row { display: flex; gap: 12px; margin-bottom: 28px; }
.p-habitos .stat { flex: 1; background: #141210; border: 1px solid #1d1d1d; border-radius:0; padding: 12px 16px; }
.p-habitos .stat-label { font-size: 11px; color: #888; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 4px; }
.p-habitos .stat-value { font-size: 22px; font-weight: 700; }
.p-habitos .stat.hoje { border-top: 3px solid #4ade80; background: #111e18; }
.p-habitos .stat.streak { border-top: 3px solid #e79c22; background: #1e1a08; }
.p-habitos .stat.mes { border-top: 3px solid #5a73e8; }
.p-habitos .date-banner { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: #4ade80; margin-bottom: 20px; }
.p-habitos .col-header { display: grid;
    grid-template-columns: 20px 20px 1fr 70px 148px 70px 55px;
    gap: 10px;
    padding: 0 0 8px;
    border-bottom: 1px solid #1d1d1d;
    margin-bottom: 6px;
    font-size: 9px; font-weight: 700; text-transform: uppercase;
    letter-spacing: .07em; color: #777; }
.p-habitos .col-header .r { text-align: right; }
.p-habitos .cat-section { margin-bottom: 6px; }
.p-habitos .cat-label { font-size: 10px; font-weight: 700; text-transform: uppercase;
    letter-spacing: .07em; color: #888;
    padding: 12px 0 6px;
    display: flex; align-items: center; gap: 8px; }
.p-habitos .badge { font-size: 9px; background: #2a2a2a; padding: 1px 6px; border-radius:0; color: #888; font-weight: 400; }
.p-habitos .habit-row { display: grid;
    grid-template-columns: 20px 20px 1fr 70px 148px 70px 55px;
    gap: 10px;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid #1e1e1e;
    cursor: pointer; }
.p-habitos .habit-row:last-child { border-bottom: none; }
.p-habitos .habit-row:hover { opacity: .8; }
.p-habitos .h-box { width: 16px; height: 16px; border: 1.5px solid #3a3a3a; border-radius:0; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.p-habitos .h-box.done { background: #4ade80; border-color: #4ade80; color: #111; font-size: 10px; font-weight: 900; }
.p-habitos .h-emoji { font-size: 15px; }
.p-habitos .h-name { font-size: 12px; color: #ccc; }
.p-habitos .h-name.done { text-decoration: line-through; color: #777; }
.p-habitos .h-cal { display: flex; gap: 3px; align-items: center; padding-left: 16px; }
.p-habitos .cal-day { width: 11px; height: 11px; border-radius:0; }
.p-habitos .cal-day.ok { background: #166534; }
.p-habitos .cal-day.miss { background: #2a2a2a; }
.p-habitos .cal-day.empty { background: #1e1e1e; border: 1px dashed #2a2a2a; }
.p-habitos .cal-day.today { background: #4ade80; box-shadow: 0 0 0 2px #86efac44; }
.p-habitos .h-streak { font-size: 11px; font-weight: 600; color: #e79c22; text-align: right; }
.p-habitos .h-streak.zero { color: #777; font-weight: 400; }
.p-habitos .h-pct { font-size: 12px; font-weight: 700; text-align: right; }
.p-habitos .pct-hi { color: #4ade80; }
.p-habitos .pct-mid { color: #e79c22; }
.p-habitos .pct-lo { color: #f87171; }
.p-habitos .imp { padding: 2px 7px; border-radius:0; font-size: 9px; font-weight: 600; white-space: nowrap; }
.p-habitos .imp-alta { background: #0a2419; color: #4ade80; }
.p-habitos .imp-media { background: #2a1f00; color: #e79c22; }
.p-habitos .imp-baixa { background: #0f2e4a; color: #60a5fa; }
.p-habitos .preview-note { position: fixed; bottom: 14px; right: 16px; background: #1d1d1d; border: 1px solid #3f3f3f; border-radius:0; padding: 6px 12px; font-size: 11px; color: #928980; }

/* ===== PAGE: notas ===== */
.p-notas .page-content { max-width: 960px; }
.p-notas .action-row { display: flex; gap: 8px; margin-bottom: 20px; flex-wrap: wrap; align-items: center; }
.p-notas .action-btn { display: flex; align-items: center; gap: 6px; padding: 5px 13px; border-radius:0; font-size: 12px; font-weight: 500; cursor: pointer; border: 1px solid #1d1d1d; background: #141210; color: #9b9b9b; }
.p-notas .action-btn:hover { background: #1d1d1d; color: #e8e8e6; }
.p-notas .action-btn.primary { background: #5a73e8; border-color: #5a73e8; color: white; }
.p-notas .search-bar { flex: 1; max-width: 280px; background: #141210; border: 1px solid #1d1d1d; border-radius:0; padding: 5px 12px; font-size: 12px; color: #888; display: flex; align-items: center; gap: 7px; }
.p-notas .stats-row { display: flex; gap: 12px; margin-bottom: 24px; }
.p-notas .stat { flex: 1; background: #141210; border: 1px solid #1d1d1d; border-radius:0; padding: 12px 16px; }
.p-notas .stat-label { font-size: 11px; color: #888; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 4px; }
.p-notas .stat-value { font-size: 22px; font-weight: 700; }
.p-notas .stat.purple { border-top: 3px solid #818cf8; background: #1e1e2a; }
.p-notas .stat.green { border-top: 3px solid #86efac; background: #1a231a; }
.p-notas .stat.yellow { border-top: 3px solid #e79c22; background: #221e10; }
.p-notas .stat.total { border-top: 3px solid #5a73e8; }
.p-notas .cols { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; }
.p-notas .col-box { border-radius:0; overflow: hidden; }
.p-notas .col-box.ideias { background: #1e1e2a; border: 1px solid #3a3a5a; }
.p-notas .col-box.observacoes { background: #1a231a; border: 1px solid #2a3f2a; }
.p-notas .col-box.pesquisas { background: #221e10; border: 1px solid #3f3010; }
.p-notas .col-header { padding: 12px 14px; border-bottom: 1px solid; display: flex; align-items: center; justify-content: space-between; }
.p-notas .col-box.ideias      .col-header { border-color: #3a3a5a; }
.p-notas .col-box.observacoes .col-header { border-color: #2a3f2a; }
.p-notas .col-box.pesquisas   .col-header { border-color: #3f3010; }
.p-notas .col-title { font-size: 12px; font-weight: 700; display: flex; align-items: center; gap: 7px; }
.p-notas .col-count { font-size: 10px; font-weight: 400; background: #2a2a3a; padding: 1px 7px; border-radius:0; color: #888; }
.p-notas .col-sort { font-size: 10px; color: #777; cursor: pointer; }
.p-notas .col-body { padding: 6px 0; }
.p-notas .col-item { display: flex; align-items: flex-start; gap: 10px; padding: 8px 14px; cursor: pointer; border-bottom: 1px solid; transition: background .1s; }
.p-notas .col-box.ideias      .col-item { border-color: #2a2a3a; }
.p-notas .col-box.observacoes .col-item { border-color: #222e22; }
.p-notas .col-box.pesquisas   .col-item { border-color: #2e2810; }
.p-notas .col-item:last-of-type { border-bottom: none; }
.p-notas .col-box.ideias      .col-item:hover { background: #26263a; }
.p-notas .col-box.observacoes .col-item:hover { background: #1e2a1e; }
.p-notas .col-box.pesquisas   .col-item:hover { background: #2a2414; }
.p-notas .item-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; margin-top: 4px; }
.p-notas .dot-purple { background: #c084fc; }
.p-notas .dot-green { background: #86efac; }
.p-notas .dot-yellow { background: #e79c22; }
.p-notas .item-body { flex: 1; min-width: 0; }
.p-notas .item-text { font-size: 12px; color: #ccc; line-height: 1.4; margin-bottom: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.p-notas .item-date { font-size: 10px; color: #777; }
.p-notas .col-add { display: flex; align-items: center; gap: 7px; padding: 9px 14px; font-size: 11px; color: #3a3a50; cursor: pointer; }
.p-notas .col-box.observacoes .col-add { color: #2a3a2a; }
.p-notas .col-box.pesquisas   .col-add { color: #3a3010; }
.p-notas .col-add:hover { color: #928980; }
.p-notas .purple { color: #c084fc; }
.p-notas .green { color: #86efac; }
.p-notas .yellow { color: #e79c22; }
.p-notas .preview-note { position: fixed; bottom: 14px; right: 16px; background: #1d1d1d; border: 1px solid #3f3f3f; border-radius:0; padding: 6px 12px; font-size: 11px; color: #928980; }

/* ===== PAGE: notas — IDV ===== */
.p-notas {
  --amber: var(--am-500); --green: #3fcf7e; --red: #f87171; --ink2: #686560;
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #0b0b0b;
  color: #eae8e3;
}
.p-notas .h-widgets { flex-shrink: 0; border-bottom: 3px solid #1d1d1d; background: #fff; }
.p-notas .hw { background: #fff; border: 1px solid #1d1d1d; }
.p-notas .hwt { color: #888; border-bottom-color: #1d1d1d; }
.p-notas .hwln { color: #7d7468; }
.p-notas .hwv { color: #111; }
.p-notas .hwneu { color: #7d7468; }
.p-notas .hwpos { color: #16a34a; }
.p-notas .hwneg { color: #dc2626; }
.p-notas .hwvd { color: inherit; }
.p-notas .hw-big { color: #111; }
.p-notas .hw-unit { color: #888; }
.p-notas .hw-dl { color: #888; }
.p-notas .hv-standing { color: #7d7468; }
.p-notas .hv-standing strong { color: #e79c22; }
.p-notas .hbr-hdr { color: #888; border-bottom-color: #1d1d1d; }
.p-notas .hbr-pos { color: #888; }
.p-notas .hbr-name { color: #7d7468; }
.p-notas .hbr-pts { color: #111; }
.p-notas .hbr-j { color: #888; }
.p-notas .hbr-row { border-bottom-color: rgba(0,0,0,.05); }
.p-notas .hbr-row.me .hbr-name { color: #e79c22; }
.p-notas .hbr-row.me .hbr-pts { color: #e79c22; }
.p-notas .h-tb-date { color: #eae8e3; }
.p-notas .h-priv-btn, .p-notas .h-theme-btn { color: #eae8e3; border-color: #3a3630; }
.p-notas .h-tb-wx { color: #eae8e3; }
.p-notas .h-tb-wx-icon { color: #eae8e3; }
.p-notas .ref-v2-main .col-box.col-ideias { border-right: 3px solid #1d1d1d; }
.p-notas .ref-v2-main .col-box.col-obs { border-right: 3px solid #1d1d1d; }

/* ===== PAGE: agenda — IDV ===== */
.p-agenda {
  --amber: var(--am-500); --green: #3fcf7e; --red: #f87171; --ink2: #686560;
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #0b0b0b;
  color: #eae8e3;
}
.p-agenda .h-widgets { flex-shrink: 0; border-bottom: 3px solid #1d1d1d; background: #fff; }
.p-agenda .hw { background: #fff; border: 1px solid #1d1d1d; }
.p-agenda .hwt { color: #888; border-bottom-color: #1d1d1d; }
.p-agenda .hwln { color: #7d7468; }
.p-agenda .hwv { color: #111; }
.p-agenda .hwneu { color: #7d7468; }
.p-agenda .hwpos { color: #16a34a; }
.p-agenda .hwneg { color: #dc2626; }
.p-agenda .hwvd { color: inherit; }
.p-agenda .hw-big { color: #111; }
.p-agenda .hw-unit { color: #888; }
.p-agenda .hw-dl { color: #888; }
.p-agenda .hv-standing { color: #7d7468; }
.p-agenda .hv-standing strong { color: #e79c22; }
.p-agenda .hbr-hdr { color: #888; border-bottom-color: #1d1d1d; }
.p-agenda .hbr-pos { color: #888; }
.p-agenda .hbr-name { color: #7d7468; }
.p-agenda .hbr-pts { color: #111; }
.p-agenda .hbr-j { color: #888; }
.p-agenda .hbr-row { border-bottom-color: rgba(0,0,0,.05); }
.p-agenda .hbr-row.me .hbr-name { color: #e79c22; }
.p-agenda .hbr-row.me .hbr-pts { color: #e79c22; }
.p-agenda .h-tb-date { color: #eae8e3; }
.p-agenda .h-priv-btn, .p-agenda .h-theme-btn { color: #eae8e3; border-color: #3a3630; }
.p-agenda .h-tb-wx { color: #eae8e3; }
.p-agenda .h-tb-wx-icon { color: #eae8e3; }
.p-agenda .ref-v2-main { background: #0b0b0b; overflow: hidden; padding: 0; display: flex; flex-direction: column; }
.p-agenda .ag-cal-main { flex: 1; overflow: hidden; min-height: 0; }
.p-agenda .ag-od-strip { flex-shrink: 0; margin: 0; border-radius: 0; border-left: none; border-right: none; border-top: none; border-bottom: 2px solid #3d2c00; }

/* ===== PAGE: projetos ===== */
.p-projetos .page-content { max-width: 920px; }
.p-projetos .action-row { display: flex; gap: 8px; margin-bottom: 20px; flex-wrap: wrap; align-items: center; }
.p-projetos .action-btn { display: flex; align-items: center; gap: 6px; padding: 5px 13px; border-radius:0; font-size: 12px; font-weight: 500; cursor: pointer; border: 1px solid #1d1d1d; background: #141210; color: #9b9b9b; }
.p-projetos .action-btn:hover { background: #1d1d1d; color: #e8e8e6; }
.p-projetos .action-btn.primary { background: #5a73e8; border-color: #5a73e8; color: white; }
.p-projetos .stats-row { display: flex; gap: 12px; margin-bottom: 28px; }
.p-projetos .stat { flex: 1; background: #141210; border: 1px solid #1d1d1d; border-radius:0; padding: 12px 16px; }
.p-projetos .stat-label { font-size: 11px; color: #888; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 4px; }
.p-projetos .stat-value { font-size: 22px; font-weight: 700; }
.p-projetos .stat.total { border-top: 3px solid #5a73e8; }
.p-projetos .stat.clientes { border-top: 3px solid #60a5fa; background: #111e2e; }
.p-projetos .stat.pessoal { border-top: 3px solid #4ade80; background: #111e18; }
.p-projetos .groups { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
.p-projetos .group-header { display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 12px; padding-bottom: 8px;
    border-bottom: 1px solid #1d1d1d; }
.p-projetos .group-title { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: #928980; display: flex; align-items: center; gap: 6px; }
.p-projetos .group-badge { font-size: 10px; background: #2a2a2a; padding: 1px 7px; border-radius:0; color: #888; font-weight: 400; }
.p-projetos .group-add { font-size: 11px; color: #777; cursor: pointer; }
.p-projetos .group-add:hover { color: #888; }
.p-projetos .proj-card { background: #1f1f1f;
    border: 1px solid #2a2a2a;
    border-radius:0;
    padding: 12px 14px;
    margin-bottom: 10px;
    cursor: pointer;
    transition: background .12s;
    position: relative;
    overflow: hidden; }
.p-projetos .proj-card::before { content: '';
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 4px;
    background: var(--client-color);
    border-radius:0; }
.p-projetos .proj-card:hover { background: #141210; }
.p-projetos .card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; margin-bottom: 6px; }
.p-projetos .card-title { font-size: 13px; font-weight: 600; color: #e8e8e6; line-height: 1.3; flex: 1; }
.p-projetos .status { font-size: 10px; font-weight: 600; padding: 3px 8px; border-radius:0; white-space: nowrap; flex-shrink: 0; }
.p-projetos .s-active { background: #0c2a45; color: #60a5fa; }
.p-projetos .s-waiting { background: #302206; color: #e79c22; }
.p-projetos .s-late-me { background: #2e0a0a; color: #f87171; }
.p-projetos .s-late-them { background: #2c1a00; color: #e79c22; }
.p-projetos .s-paused { background: #141210; color: #928980; border: 1px solid #333; }
.p-projetos .s-review { background: #0a2419; color: #4ade80; }
.p-projetos .s-planning { background: #22154d; color: #c084fc; }
.p-projetos .card-meta { display: flex; align-items: center; gap: 6px; margin-bottom: 7px; flex-wrap: wrap; }
.p-projetos .tag { padding: 2px 7px; border-radius:0; font-size: 10px; font-weight: 500; }
.p-projetos .tag-type-client { background: #1a2535; color: #60a5fa; border: 1px solid #1e3252; }
.p-projetos .tag-type-pessoal { background: #1a2620; color: #4ade80; border: 1px solid #1e3628; }
.p-projetos .tag-client-name { font-size: 10px; font-weight: 500; padding: 2px 7px; border-radius:0; background: var(--client-bg); color: var(--client-color); }
.p-projetos .card-action { font-size: 11px; color: #4a4a4a; margin-bottom: 8px; line-height: 1.4; padding-left: 1px; }
.p-projetos .card-progress-row { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.p-projetos .card-progress-bar { flex: 1; height: 3px; background: #2a2a2a; border-radius:0; }
.p-projetos .card-progress-fill { height: 100%; border-radius:0; background: #4ade80; }
.p-projetos .card-pct { font-size: 10px; color: #888; white-space: nowrap; min-width: 26px; text-align: right; }
.p-projetos .card-bottom { display: flex; align-items: center; justify-content: space-between; }
.p-projetos .card-collabs { display: flex; align-items: center; gap: -4px; }
.p-projetos .avatar { width: 20px; height: 20px; border-radius: 50%; font-size: 8px; font-weight: 700; display: flex; align-items: center; justify-content: center; color: #111; border: 2px solid #1f1f1f; margin-right: -6px; flex-shrink: 0; }
.p-projetos .card-date { font-size: 10px; color: #777; }
.p-projetos .preview-note { position: fixed; bottom: 14px; right: 16px; background: #1d1d1d; border: 1px solid #3f3f3f; border-radius:0; padding: 6px 12px; font-size: 11px; color: #928980; }

/* ===== PAGE: referencias ===== */
.p-referencias {
  --ink:    #eae8e3;
  --dark:   #0b0b0b;
  --dark2:  #111111;
  --border: #1d1d1d;
  --muted:  #968d80;
  --amber:  var(--am-500); --green: #3fcf7e; --red: #f87171;
  --amber2: #92400e;
  --ink2:   #a8a29e;
  --card:   #1e1b17;
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--dark);
  color: var(--ink);
}
/* Widgets — tema claro (mesmo padrão da Captura) */
.p-referencias .h-widgets { flex-shrink: 0; border-bottom: 3px solid #1d1d1d; background: #fff; }
.p-referencias .hw { background: #fff; border: 1px solid #1d1d1d; }
.p-referencias .hwt { color: #888; border-bottom-color: #1d1d1d; }
.p-referencias .hwln { color: #7d7468; }
.p-referencias .hwv { color: #111; }
.p-referencias .hwneu { color: #7d7468; }
.p-referencias .hwpos { color: #16a34a; }
.p-referencias .hwneg { color: #dc2626; }
.p-referencias .hwvd { color: inherit; }
.p-referencias .hw-big { color: #111; }
.p-referencias .hw-unit { color: #888; }
.p-referencias .hw-dl { color: #888; }
.p-biblioteca .h-widgets { flex-shrink: 0; border-bottom: 3px solid #1d1d1d; background: #fff; }
.p-biblioteca .hw { background: #fff; border: 1px solid #1d1d1d; }
.p-biblioteca .hwt { color: #888; border-bottom-color: #1d1d1d; }
.p-biblioteca .hwln { color: #7d7468; }
.p-biblioteca .hwv { color: #111; }
.p-biblioteca .hwneu { color: #7d7468; }
.p-biblioteca .hwpos { color: #16a34a; }
.p-biblioteca .hwneg { color: #dc2626; }
.p-biblioteca .hwvd { color: inherit; }
.p-biblioteca .hw-big { color: #111; }
.p-biblioteca .hw-unit { color: #888; }
.p-biblioteca .hw-dl { color: #888; }
.p-referencias .hv-standing { color: #7d7468; }
.p-referencias .hv-standing strong { color: #e79c22; }
.p-referencias .hbr-hdr { color: #888; border-bottom-color: #1d1d1d; }
.p-referencias .hbr-pos { color: #888; }
.p-referencias .hbr-name { color: #7d7468; }
.p-referencias .hbr-pts { color: #111; }
.p-referencias .hbr-j { color: #888; }
.p-referencias .hbr-row { border-bottom-color: rgba(0,0,0,.05); }
.p-referencias .hbr-row.me .hbr-name { color: #e79c22; }
.p-referencias .hbr-row.me .hbr-pts { color: #e79c22; }
/* Topbar — legibilidade no fundo preto */
.p-referencias .h-tb-date { color: #eae8e3; }
.p-referencias .h-priv-btn, .p-referencias .h-theme-btn { color: #eae8e3; border-color: #3a3630; }
.p-referencias .h-tb-wx { color: #eae8e3; }
.p-referencias .h-tb-wx-icon { color: #eae8e3; }
/* Sidebar — label de seção visível */
.p-referencias .ref-v2-section-label { color: #888; }
.ref-v2-body {
  display: grid;
  grid-template-columns: 280px 1fr;
  flex: 1;
  overflow: hidden;
}
.ref-v2-sidebar {
  background: #0f0e0c;
  border-right: 3px solid #1d1d1d;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.ref-v2-main {
  flex: 1;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: #fff;
}
.ref-v2-main::-webkit-scrollbar { width: 0; }

/* Sidebar — stats */
.ref-v2-stats {
  padding: 8px 12px;
  display: flex;
  flex-direction: column;
  gap: 3px;
  border-bottom: 1px solid #1d1d1d;
  flex-shrink: 0;
}
.ref-v2-stat-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 2px 0;
}
.ref-v2-stat-label {
  font-size: 8px;
  color: #888;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.ref-v2-stat-val {
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 700;
}

/* Sidebar — busca */
.ref-v2-search {
  display: block;
  background: #fff;
  border: 1px solid #e79c22;
  height: 32px;
  padding: 0 10px;
  margin: 6px 10px;
  font-family: var(--font-mono);
  font-size: 10px;
  color: #111;
  outline: none;
  flex-shrink: 0;
  width: calc(100% - 20px);
  box-sizing: border-box;
}
.ref-v2-search::placeholder { color: #aaa; }

/* Sidebar — label de seção */
.ref-v2-section-label {
  font-size: 8px;
  color: #888;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 6px 12px 2px;
  flex-shrink: 0;
}

/* Sidebar — lista recentes */
.ref-v2-recents {
  flex: 1;
  overflow-y: auto;
}
.ref-v2-recents::-webkit-scrollbar { width: 0; }
.ref-v2-recent-item {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  border-bottom: 1px solid #161412;
  cursor: pointer;
}
.ref-v2-recent-item:hover { background: rgba(255,255,255,.04); }
.ref-v2-ri-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  flex-shrink: 0;
}
.ref-v2-ri-text {
  flex: 1;
  font-size: 9px;
  color: #ccc;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ref-v2-ri-time {
  font-size: 6px;
  color: #888;
  flex-shrink: 0;
}

/* Sidebar — botão nova ref */
.ref-v2-new-btn {
  background: var(--amber);
  color: #000;
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 9px 12px;
  cursor: pointer;
  border: none;
  width: 100%;
  text-align: center;
  flex-shrink: 0;
}
.ref-v2-new-btn:hover { background: #d9991e; }

/* Área principal — colunas integradas (sem float, sem radius) */
.ref-v2-main .ref-cols { flex: 1; display: flex; overflow: hidden; padding: 0; gap: 0; }
.ref-v2-main .col-box { flex: 1; background: #fff; border-radius: 0; border: none; overflow: hidden; display: flex; flex-direction: column; }
.ref-v2-main .col-box.links { border-right: 3px solid #1d1d1d; }
.ref-v2-main .col-header { background: #141210; border-bottom: 1px solid #e79c22; height: 38px; display: flex; align-items: center; padding: 0 14px; gap: 8px; overflow: hidden; }
.ref-v2-main .col-title { color: #eae8e3; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; display: flex; align-items: center; gap: 7px; flex: 1; }
.ref-v2-main .col-count { font-size: 10px; font-weight: 400; background: #1e1b17; padding: 1px 7px; border-radius:0; color: #8a8175; }
.ref-v2-main .col-sort { font-size: 10px; color: #7d7468; cursor: pointer; }
.ref-v2-main .col-body { background: #fff; padding: 0; flex: 1; overflow-y: auto; }
.ref-v2-main .col-body::-webkit-scrollbar { width: 0; }
.ref-v2-main .col-item { border-bottom-color: rgba(0,0,0,.06); }
.ref-v2-main .col-item:hover { background: rgba(0,0,0,.04); }
.ref-v2-main .item-text { color: #0b0b0b; font-size: 11px; }
.ref-v2-main .item-domain { color: #888; font-size: 9px; margin-top: 2px; }
.ref-v2-main .item-text a { font-size: 11px; }
.ref-v2-main .col-add { color: #8a8175; background: #fff; }
.ref-v2-main .col-add:hover { color: #e79c22; }

/* Highlight de busca */
.ref-v2-main .col-item.ref-highlight { background: rgba(245,158,11,0.15); }
.ref-v2-main .col-item.ref-highlight:hover { background: rgba(245,158,11,0.22); }

.p-referencias .ref-body { flex: 1; overflow-y: auto; padding: 16px 20px; }
.p-referencias .ref-toolbar { margin-bottom: 14px; }
.p-referencias .search-bar { background: #141210; border: 1px solid #2a2520; border-radius:0; padding: 6px 12px; display: flex; align-items: center; gap: 7px; max-width: 400px; }
.p-referencias .search-bar input { background: none; border: none; color: var(--ink); font-size: 12px; outline: none; width: 100%; font-family: inherit; }
.p-referencias .ref-stats { display: flex; gap: 10px; margin-bottom: 16px; }
.p-referencias .stat { flex: 1; background: #0f0e0c; border: 1px solid #1e1b17; border-radius:0; padding: 10px 14px; }
.p-referencias .stat.total { border-top: 2px solid var(--amber); }
.p-referencias .stat.links { border-top: 2px solid #34d399; }
.p-referencias .stat.swipe { border-top: 2px solid #818cf8; }
.p-referencias .stat-label { font-size: 9px; color: #8a8175; text-transform: uppercase; letter-spacing: .07em; margin-bottom: 4px; }
.p-referencias .stat-value { font-size: 20px; font-weight: 700; color: var(--ink); }
.p-referencias .ref-body .ref-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.p-referencias .ref-body .col-box { border-radius:0; overflow: hidden; background: #0f0e0c; border: 1px solid #1e1b17; }
.p-referencias .ref-body .col-header { height: 38px; display: flex; align-items: center; padding: 0 14px; gap: 8px; background: #141210; border-bottom: 1px solid #2a2520; overflow: hidden; }
.p-referencias .ref-body .col-title { font-size: 11px; font-weight: 700; letter-spacing: .04em; color: var(--ink2); display: flex; align-items: center; gap: 7px; flex: 1; }
.p-referencias .ref-body .col-count { font-size: 10px; font-weight: 400; background: #1e1b17; padding: 1px 7px; border-radius:0; color: #8a8175; }
.p-referencias .ref-body .col-sort { font-size: 10px; color: #7d7468; cursor: pointer; }
.p-referencias .ref-body .col-body { padding: 0; }
.p-referencias .ref-body .col-item { display: flex; align-items: flex-start; gap: 10px; padding: 8px 14px; cursor: pointer; border-bottom: 1px solid #161412; transition: background .1s; }
.p-referencias .ref-body .col-item:hover { background: #141210; }
.p-referencias .ref-body .col-item:last-of-type { border-bottom: none; }
.p-referencias .ref-body .item-dot { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; margin-top: 4px; }
.p-referencias .ref-body .dot-teal { background: #34d399; }
.p-referencias .ref-body .dot-purple { background: #818cf8; }
.p-referencias .ref-body .item-body { flex: 1; min-width: 0; }
.p-referencias .ref-body .item-text { font-size: 12px; color: #ccc; line-height: 1.4; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: 400; }
.p-referencias .ref-body .item-domain { font-size: 10px; color: #2e2b27; margin-top: 2px; }
.p-referencias .ref-body .col-add { display: flex; align-items: center; gap: 7px; padding: 9px 14px; font-size: 11px; color: #252320; cursor: pointer; transition: color .1s; }
.p-referencias .ref-body .col-add:hover { color: var(--amber); }

/* ===== PAGE: saude ===== */
.p-saude h1 { font-size: 20px; font-weight: 700; margin-bottom: 4px; }
.p-saude .sub { font-size: 12px; color: #888; margin-bottom: 24px; }
.p-saude .sec-label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: #888; padding-bottom: 6px; margin-bottom: 12px; border-bottom: 1px solid #2a2a2a; display: flex; justify-content: space-between; align-items: center; }
.p-saude .section { margin-bottom: 28px; }
.p-saude .alert-banner { background: #1e0808; border: 1px solid #5a1515; border-left: 3px solid #f87171; border-radius:0; padding: 10px 14px; margin-bottom: 24px; display: flex; align-items: center; gap: 10px; }
.p-saude .alert-text { font-size: 11px; color: #fca5a5; }
.p-saude .alert-text strong { color: #f87171; }
.p-saude .alert-links { margin-left: auto; display: flex; gap: 6px; }
.p-saude .alert-pill { font-size: 9px; background: #3a1010; color: #f87171; padding: 2px 8px; border-radius:0; border: 1px solid #7f1d1d; white-space: nowrap; }
.p-saude .registro-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.p-saude .reg-card { background: #161616; border: 1px solid #2a2a2a; border-radius:0; padding: 12px; }
.p-saude .reg-label { font-size: 9px; color: #888; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 8px; }
.p-saude .reg-val { font-size: 22px; font-weight: 700; line-height: 1; }
.p-saude .reg-unit { font-size: 11px; color: #888; font-weight: 400; margin-left: 2px; }
.p-saude .reg-sub { font-size: 9px; color: #777; margin-top: 4px; line-height: 1.4; }
.p-saude .reg-btn { margin-top: 8px; background: #222; border-radius:0; padding: 4px 8px; font-size: 10px; color: #888; display: flex; align-items: center; justify-content: space-between; cursor: pointer; }
.p-saude .reg-btn:hover { background: #2a2a2a; color: #888; }
.p-saude .reg-plus { color: #f472b6; font-weight: 700; font-size: 13px; }
.p-saude .tag { padding: 2px 8px; border-radius:0; font-size: 9px; font-weight: 600; white-space: nowrap; }
.p-saude .tag-ok { background: #0a2419; color: #4ade80; }
.p-saude .tag-pend { background: #2a1f00; color: #e79c22; }
.p-saude .tag-alert { background: #2e0a0a; color: #f87171; }
.p-saude .tag-pink { background: #3a1028; color: #f472b6; }
.p-saude .cons-grid { display: grid; grid-template-columns: 14px 1fr 100px 90px 80px; gap: 0 10px; align-items: center; }
.p-saude .cons-head { font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #777; padding-bottom: 6px; border-bottom: 1px solid #2a2a2a; margin-bottom: 2px; }
.p-saude .cons-head.center { text-align: center; }
.p-saude .cons-row { display: contents; }
.p-saude .cons-row > * { padding: 7px 0; border-bottom: 1px solid #1e1e1e; display: flex; align-items: center; }
.p-saude .cons-row:last-child > * { border-bottom: none; }
.p-saude .cons-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.p-saude .dot-alert { background: #f87171; }
.p-saude .dot-pend { background: #191919; border: 2px solid #e79c22; }
.p-saude .dot-ok { background: #4ade80; }
.p-saude .cons-name { font-size: 11px; color: #ccc; }
.p-saude .cons-date { font-size: 10px; color: #888; justify-content: center; }
.p-saude .cons-tag-wrap { justify-content: center; }
.p-saude .med-grid { display: grid; grid-template-columns: 1fr 90px 110px; gap: 0 10px; align-items: center; }
.p-saude .med-head { font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #777; padding-bottom: 6px; border-bottom: 1px solid #2a2a2a; margin-bottom: 2px; }
.p-saude .med-head.center { text-align: center; }
.p-saude .med-row { display: contents; }
.p-saude .med-row > * { padding: 7px 0; border-bottom: 1px solid #1e1e1e; display: flex; align-items: center; }
.p-saude .med-row:last-child > * { border-bottom: none; }
.p-saude .med-name { font-size: 11px; color: #aaa; }
.p-saude .med-time { font-size: 10px; color: #928980; background: #1f1f1f; padding: 2px 6px; border-radius:0; justify-content: center; }
.p-saude .med-freq { font-size: 10px; color: #888; justify-content: center; }
.p-saude .treino-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.p-saude .t-stat { background: #161616; border: 1px solid #2a2a2a; border-radius:0; padding: 10px 14px; text-align: center; }
.p-saude .t-stat-val { font-size: 20px; font-weight: 700; margin-bottom: 3px; }
.p-saude .t-stat-lbl { font-size: 9px; color: #888; }

/* ===== PAGE: senhas ===== */
.p-senhas h1 { font-size: 20px; font-weight: 700; margin-bottom: 4px; }
.p-senhas .sub { font-size: 12px; color: #888; margin-bottom: 24px; }
.p-senhas .sec-label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: #888; padding-bottom: 6px; margin-bottom: 12px; border-bottom: 1px solid #2a2a2a; display: flex; justify-content: space-between; align-items: center; }
.p-senhas .section { margin-bottom: 28px; }
.p-senhas .tag { padding: 2px 7px; border-radius:0; font-size: 9px; font-weight: 600; white-space: nowrap; }
.p-senhas .tag-green { background: #0a2419; color: #4ade80; }
.p-senhas .tag-yellow { background: #2a1f00; color: #e79c22; }
.p-senhas .tag-red { background: #2e0a0a; color: #f87171; }
.p-senhas .stats-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 28px; }
.p-senhas .stat-card { background: #161616; border: 1px solid #2a2a2a; border-radius:0; padding: 12px 14px; text-align: center; }
.p-senhas .stat-val { font-size: 22px; font-weight: 700; margin-bottom: 3px; }
.p-senhas .stat-lbl { font-size: 9px; color: #888; text-transform: uppercase; letter-spacing: .05em; }
.p-senhas .cat-section { margin-bottom: 20px; }
.p-senhas .cat-title { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: #888; margin-bottom: 6px; padding-bottom: 5px; border-bottom: 1px solid #222; }
.p-senhas .tbl-head { display: grid; grid-template-columns: 28px 1fr 120px 80px 58px; gap: 8px; font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #3a3a3a; padding-bottom: 5px; border-bottom: 1px solid #222; margin-bottom: 2px; }
.p-senhas .tbl-head .c { text-align: center; }
.p-senhas .tbl-row { display: grid; grid-template-columns: 28px 1fr 120px 80px 58px; gap: 8px; align-items: center; padding: 6px 0; border-bottom: 1px solid #1a1a1a; }
.p-senhas .tbl-row:last-child { border-bottom: none; }
.p-senhas .svc-icon { width: 18px; height: 18px; border-radius:0; object-fit: contain; }
.p-senhas .svc-icon-fallback { width: 18px; height: 18px; border-radius:0; background: #2a2a2a; display: flex; align-items: center; justify-content: center; font-size: 9px; color: #888; }
.p-senhas .svc-name { font-size: 11px; color: #ccc; }
.p-senhas .svc-login { font-size: 10px; color: #888; text-align: center; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.p-senhas .svc-pw { font-family: monospace; font-size: 11px; color: #2a2a2a; letter-spacing: 2px; text-align: center; }
.p-senhas .tbl-cell { display: flex; justify-content: center; align-items: center; }

/* ===== PAGE: team ===== */
.p-team .page-content { max-width: 860px; }
.p-team .action-row { display: flex; gap: 8px; margin-bottom: 20px; align-items: center; }
.p-team .action-btn { display: flex; align-items: center; gap: 6px; padding: 5px 13px; border-radius:0; font-size: 12px; font-weight: 500; cursor: pointer; border: 1px solid #1d1d1d; background: #141210; color: #9b9b9b; }
.p-team .action-btn.primary { background: #5a73e8; border-color: #5a73e8; color: white; }
.p-team .stats-row { display: flex; gap: 12px; margin-bottom: 28px; }
.p-team .stat { flex: 1; background: #141210; border: 1px solid #1d1d1d; border-radius:0; padding: 12px 16px; }
.p-team .stat-label { font-size: 11px; color: #888; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 4px; }
.p-team .stat-value { font-size: 22px; font-weight: 700; }
.p-team .stat.total { border-top: 3px solid #5a73e8; }
.p-team .stat.ativos { border-top: 3px solid #4ade80; background: #111e18; }
.p-team .stat.pago-mes { border-top: 3px solid #4ade80; background: #111e18; }
.p-team .stat.pago-total { border-top: 3px solid #34d399; background: #0a1a12; }
.p-team .list-header { display: grid;
    grid-template-columns: 1fr 130px 90px 55px 55px 75px 75px;
    gap: 12px;
    padding: 0 0 8px;
    border-bottom: 1px solid #2a2a2a;
    font-size: 10px; font-weight: 700; text-transform: uppercase;
    letter-spacing: .07em; color: #777; }
.p-team .list-header .col-right { text-align: right; }
.p-team .member-row { display: grid;
    grid-template-columns: 1fr 130px 90px 55px 55px 75px 75px;
    gap: 12px;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid #222;
    cursor: pointer; }
.p-team .member-row:last-child { border-bottom: none; }
.p-team .member-row:hover { opacity: .8; }
.p-team .m-identity { display: flex; align-items: center; gap: 10px; min-width: 0; }
.p-team .m-avatar { width: 32px; height: 32px; border-radius: 50%; font-size: 11px; font-weight: 700; display: flex; align-items: center; justify-content: center; color: #111; flex-shrink: 0; }
.p-team .m-name { font-size: 12px; font-weight: 600; color: #e8e8e6; margin-bottom: 2px; }
.p-team .m-role { font-size: 10px; color: #888; }
.p-team .m-tags { display: flex; gap: 4px; flex-wrap: wrap; align-items: center; }
.p-team .tag { padding: 2px 7px; border-radius:0; font-size: 9px; font-weight: 500; }
.p-team .tag-pink { background: #3a1028; color: #f472b6; }
.p-team .tag-blue { background: #0f2e4a; color: #60a5fa; }
.p-team .tag-purple { background: #2d1b69; color: #c084fc; }
.p-team .tag-teal { background: #0a2a28; color: #2dd4bf; }
.p-team .tag-orange { background: #2a1500; color: #fb923c; }
.p-team .tag-green { background: #0a2419; color: #4ade80; }
.p-team .tag-gray { background: #2a2a2a; color: #888; }
.p-team .tag-rel-socio { background: #3a1028; color: #f472b6; }
.p-team .tag-rel-freela { background: #141210; color: #888; border: 1px solid #333; }
.p-team .tag-rel-contrat { background: #0f2e4a; color: #60a5fa; }
.p-team .m-projs { font-size: 11px; color: #928980; text-align: right; }
.p-team .m-projs strong { color: #aaa; font-weight: 600; }
.p-team .m-paid { text-align: right; }
.p-team .m-paid-val { font-size: 13px; font-weight: 700; color: #4ade80; }
.p-team .m-paid-lbl { font-size: 9px; color: #777; text-transform: uppercase; letter-spacing: .05em; }
.p-team .preview-note { position: fixed; bottom: 14px; right: 16px; background: #1d1d1d; border: 1px solid #3f3f3f; border-radius:0; padding: 6px 12px; font-size: 11px; color: #928980; }

/* ===== PAGE: videoteca ===== */
.p-videoteca h1 { font-size: 20px; font-weight: 700; margin-bottom: 4px; }
.p-videoteca .sub { font-size: 12px; color: #888; margin-bottom: 28px; }
.p-videoteca .sec-label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: #888; padding-bottom: 6px; margin-bottom: 14px; border-bottom: 1px solid #2a2a2a; display: flex; justify-content: space-between; align-items: center; }
.p-videoteca .section { margin-bottom: 20px; }
.p-videoteca .cards-row { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 4px; }
.p-videoteca .cards-row::-webkit-scrollbar { display: none; }
.p-videoteca .card { flex-shrink: 0; width: 90px; background: #161616; border: 1px solid #2a2a2a; border-radius:0; overflow: hidden; }
.p-videoteca .card-poster { width: 90px; height: 134px; object-fit: cover; display: block; background: linear-gradient(160deg, #1e1e1e 0%, #2a2a2a 100%); }
.p-videoteca .card-poster-fallback { width: 90px; height: 134px; background: linear-gradient(160deg, #1a1a1a 0%, #252525 100%); display: flex; align-items: center; justify-content: center; font-size: 9px; color: #777; text-align: center; padding: 8px; }
.p-videoteca .card-body { padding: 6px 6px 8px; }
.p-videoteca .card-tags { display: flex; flex-wrap: wrap; gap: 2px; margin-bottom: 5px; }
.p-videoteca .chip { font-size: 7px; font-weight: 600; padding: 1px 4px; border-radius:0; white-space: nowrap; }
.p-videoteca .chip-genre { background: #1e1040; color: #818cf8; }
.p-videoteca .chip-stream { background: #0f2e4a; color: #60a5fa; }
.p-videoteca .chip-author { background: #2a1f00; color: #e79c22; }
.p-videoteca .chip-buy { background: #0a2419; color: #4ade80; cursor: pointer; }
.p-videoteca .card-ratings { display: flex; gap: 4px; align-items: center; margin-bottom: 4px; }
.p-videoteca .rating-imdb { font-size: 8px; color: #e79c22; font-weight: 700; }
.p-videoteca .rating-rt { font-size: 8px; color: #4ade80; font-weight: 700; }
.p-videoteca .rating-sep { font-size: 7px; color: #928980; }
.p-videoteca .card-meta-label { font-size: 7px; color: #3a3a3a; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 1px; }
.p-videoteca .card-meta-value { font-size: 8px; color: #888; line-height: 1.3; margin-bottom: 3px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.p-videoteca .done-section { margin-bottom: 20px; }
.p-videoteca .done-label { font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: #777; margin-bottom: 5px; padding-bottom: 4px; border-bottom: 1px solid #222; }
.p-videoteca .tbl-head { display: grid; grid-template-columns: 1fr 70px 80px 55px 55px; gap: 8px; font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #3a3a3a; padding-bottom: 5px; border-bottom: 1px solid #222; margin-bottom: 2px; }
.p-videoteca .tbl-head .c { text-align: center; }
.p-videoteca .tbl-row { display: grid; grid-template-columns: 1fr 70px 80px 55px 55px; gap: 8px; align-items: center; padding: 5px 0; border-bottom: 1px solid #1a1a1a; }
.p-videoteca .tbl-row:last-child { border-bottom: none; }
.p-videoteca .tbl-name { font-size: 11px; color: #aaa; }
.p-videoteca .tbl-year { font-size: 10px; color: #777; }
.p-videoteca .tbl-cell { display: flex; justify-content: center; }
.p-videoteca .tag { padding: 2px 6px; border-radius:0; font-size: 8px; font-weight: 600; white-space: nowrap; }
.p-videoteca .tag-green { background: #0a2419; color: #4ade80; }
.p-videoteca .tag-purple { background: #1e1040; color: #818cf8; }
.p-videoteca .tag-gray { background: #222; color: #928980; }
.p-videoteca .tag-yellow { background: #2a1f00; color: #e79c22; }
.p-videoteca .stars { color: #e79c22; font-size: 9px; }
.p-videoteca .two-col-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px; }
.p-videoteca .two-col-grid .section { margin-bottom: 0; }

/* ===== PAGE: home ===== */
.p-home .stats-row { display: flex; gap: 12px; margin-bottom: 24px; }
.p-home .stat-card { flex: 1; background: #141210; border: 1px solid #1d1d1d; border-radius:0; padding: 12px 16px; }
.p-home .stat-val { font-size: 22px; font-weight: 700; color: #e8e8e6; margin-bottom: 2px; }
.p-home .stat-label { font-size: 10px; color: #888; text-transform: uppercase; letter-spacing: .05em; }
.p-home .cal-event { display: flex; align-items: center; gap: 8px; padding: 5px 0; border-bottom: 1px solid #1e1e1e; cursor: pointer; }
.p-home .cal-event:last-child { border-bottom: none; }
.p-home .cal-time { font-size: 10px; color: #888; min-width: 36px; }
.p-home .cal-pill { font-size: 12px; color: #ccc; flex: 1; }
.p-home .task-row { display: flex; align-items: center; gap: 8px; padding: 5px 0; border-bottom: 1px solid #1e1e1e; cursor: pointer; }
.p-home .task-row:last-child { border-bottom: none; }
.p-home .checkbox { width: 13px; height: 13px; border: 1.5px solid #333; border-radius:0; flex-shrink: 0; }
.p-home .checkbox.done { background: #4ade80; border-color: #4ade80; }
.p-home .task-text { font-size: 11px; color: #ccc; flex: 1; }
.p-home .task-text.done { text-decoration: line-through; color: #777; }
.p-home .task-tag { font-size: 9px; color: #888; padding: 2px 6px; border-radius:0; background: #141210; border: 1px solid #1d1d1d; white-space: nowrap; }
.p-home .task-tag.tag-green { background: #0a2419; color: #4ade80; border-color: #1a3a2a; }
.p-home .project-block { padding: 8px 10px; background: #1f1f1f; border: 1px solid #2a2a2a; border-radius:0; margin-bottom: 6px; cursor: pointer; }
.p-home .project-block:hover { background: #141210; }
.p-home .project-row { display: flex; align-items: center; gap: 8px; }
.p-home .project-name { font-size: 12px; color: #ccc; flex: 1; }
.p-home .habit-row { display: flex; align-items: center; gap: 8px; padding: 5px 0; border-bottom: 1px solid #1e1e1e; cursor: pointer; }
.p-home .habit-row:last-child { border-bottom: none; }
.p-home .habit-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.p-home .habit-name { font-size: 12px; color: #ccc; }
.p-home .progress-track { height: 3px; background: #2a2a2a; border-radius:0; margin-top: 4px; }
.p-home .progress-fill { height: 100%; border-radius:0; }
.p-home .home-top { display: grid; grid-template-columns: 1fr 196px 196px; gap: 14px; margin-bottom: 20px; align-items: start; }
.p-home .home-card { background: #1f1f1f; border: 1px solid #2a2a2a; border-radius:0; padding: 14px 16px; }
.p-home .hc-badge { font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: #888; margin-bottom: 10px; }
.p-home .hc-main-val { font-size: 24px; font-weight: 700; margin-bottom: 2px; }
.p-home .hc-main-sub { font-size: 11px; color: #888; margin-bottom: 6px; }
.p-home .hc-divider { border: none; border-top: 1px solid #252525; margin: 10px 0; }
.p-home .hc-row { display: flex; justify-content: space-between; align-items: center; padding: 3px 0; }
.p-home .hc-row-label { font-size: 11px; color: #888; }
.p-home .hc-row-val { font-size: 12px; font-weight: 600; color: #ccc; }
.p-home .home-quick-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 28px; }
.p-home .hqs-card { background: #1f1f1f; border: 1px solid #2a2a2a; border-radius:0; padding: 10px 14px; text-align: center; }
.p-home .hqs-val { font-size: 20px; font-weight: 700; }
.p-home .hqs-lbl { font-size: 9px; color: #888; text-transform: uppercase; letter-spacing: .05em; margin-top: 2px; }

/* ===== PAGE: biblioteca ===== */
.p-biblioteca .stats-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 28px; }
.p-biblioteca .stat-card { background: #161616; border: 1px solid #2a2a2a; border-radius:0; padding: 12px 14px; text-align: center; }
.p-biblioteca .stat-val { font-size: 22px; font-weight: 700; margin-bottom: 3px; }
.p-biblioteca .stat-lbl { font-size: 9px; color: #888; text-transform: uppercase; letter-spacing: .05em; }
.p-biblioteca .sub { font-size: 12px; color: #888; margin-bottom: 24px; }
.p-biblioteca .section { margin-bottom: 28px; }
.p-biblioteca .course-card { background: #161616; border: 1px solid #2a2a2a; border-left: 3px solid; border-radius:0; padding: 10px 13px; margin-bottom: 8px; cursor: pointer; }
.p-biblioteca .course-card:hover { background: #1c1c1c; }
.p-biblioteca .card-header { display: flex; justify-content: space-between; align-items: flex-start; }
.p-biblioteca .card-name { font-size: 12px; font-weight: 600; color: #ddd; }
.p-biblioteca .card-sub { font-size: 9px; color: #888; margin-top: 2px; }
.p-biblioteca .tag { padding: 2px 7px; border-radius:0; font-size: 9px; font-weight: 600; white-space: nowrap; background: #2a2a2a; color: #928980; }
.p-biblioteca .content-4col { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 16px; margin-bottom: 24px; }
.p-biblioteca .secao-header { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: #888; padding-bottom: 6px; margin-bottom: 10px; border-bottom: 1px solid #2a2a2a; display: flex; justify-content: space-between; align-items: center; }
.p-biblioteca .secao-sub { font-size: 9px; font-weight: 400; color: #777; text-transform: none; letter-spacing: 0; }
.p-biblioteca .secao-scroll { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 6px; scrollbar-width: none; margin-bottom: 8px; }
.p-biblioteca .secao-scroll::-webkit-scrollbar { display: none; }
.p-biblioteca .secao-ver-mais { font-size: 10px; color: #5a73e8; cursor: pointer; padding: 5px 0; border-top: 1px solid #1e1e1e; }
.p-biblioteca .secao-ver-mais:hover { color: #8fa4f0; }

/* ===== PAGE: senhas (full) ===== */
.p-senhas .page-content { max-width: 860px; }
.p-senhas .sub { font-size: 12px; color: #888; margin-bottom: 24px; }
.p-senhas .stats-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 28px; }
.p-senhas .stat-card { background: #161616; border: 1px solid #2a2a2a; border-radius:0; padding: 12px 14px; text-align: center; }
.p-senhas .stat-val { font-size: 22px; font-weight: 700; margin-bottom: 3px; }
.p-senhas .stat-lbl { font-size: 9px; color: #888; text-transform: uppercase; letter-spacing: .05em; }

/* ===== PAGE: saude (additional) ===== */
.p-saude .page-content { max-width: 860px; }
.p-saude .stats-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 28px; }
.p-saude .stat-card { background: #161616; border: 1px solid #2a2a2a; border-radius:0; padding: 12px 14px; text-align: center; }
.p-saude .stat-val { font-size: 22px; font-weight: 700; margin-bottom: 3px; }
.p-saude .stat-lbl { font-size: 9px; color: #888; text-transform: uppercase; letter-spacing: .05em; }

/* ===== PAGE: financas-pj (additional) ===== */
.p-financas-pj .page-content { max-width: 900px; }

/* ===== CAPTURA active state ===== */
.p-captura .capture-tag.active { border-color: #5a73e8; color: #e8e8e6; background: #1e2060; }
.p-captura .capture-input { min-height: 80px; }

/* ===== DAILY mood btn active ===== */
.p-daily .mood-btn.active { border-color: #e79c22; background: #2a2410; }
.p-daily .mood-btn.active .mood-label { color: #e79c22; }

/* ===== BIBLIOTECA (IDV layout) ===== */
.p-biblioteca {
  --amber: var(--am-500); --green: #3fcf7e; --red: #f87171; --ink2: #686560;
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #0b0b0b;
  color: #eae8e3;
}
.p-biblioteca .lib-main-scroll { flex: 1; overflow-y: auto; min-height: 0; }
.lib-section { margin-bottom: 28px; padding-top: 12px; }
.lib-section-head { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; }
.poster-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 12px; }
.poster-card { cursor: pointer; border-radius:0; overflow: hidden; background: #1a1a1a; transition: transform .15s; }
.poster-card:hover { transform: translateY(-2px); }
.poster-img { position: relative; aspect-ratio: 2/3; background-size: cover; background-position: center; background-color: #222; display: flex; align-items: center; justify-content: center; }
.poster-letter { font-size: 40px; font-weight: 800; opacity: .5; }
.poster-status-dot { position: absolute; top: 6px; right: 6px; width: 8px; height: 8px; border-radius: 50%; border: 1.5px solid #000; }
.poster-info { padding: 7px 8px 8px; }
.poster-title { font-size: 11px; font-weight: 600; color: #e8e8e6; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-bottom: 4px; }
.poster-meta { display: flex; flex-wrap: wrap; gap: 3px; }
.poster-tag { font-size: 9px; color: #888; background: #2a2a2a; border-radius:0; padding: 1px 4px; }
/* legacy compat */
.lib-grid { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 1px; background: #222; flex: 1; min-height: 0; }
.lib-quad { background: #111; display: flex; flex-direction: column; overflow: hidden; }
.lib-quad-head { display: flex; align-items: center; gap: 8px; padding: 10px 14px 8px; border-bottom: 1px solid #1e1e1e; flex-shrink: 0; }
.lib-quad-label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; flex: 1; }
.lib-quad-count { font-size: 10px; color: #8a8175; }
.lib-quad-add { width: 22px; height: 22px; border-radius:0; background: #141210; border: 1px solid #333; color: #888; display: flex; align-items: center; justify-content: center; font-size: 14px; cursor: pointer; flex-shrink: 0; }
.lib-quad-add:hover { background: #1d1d1d; color: #e8e8e6; }
.lib-quad-body { flex: 1; overflow-y: auto; padding: 8px 10px; display: flex; flex-direction: column; gap: 3px; }
.lib-item { display: flex; align-items: center; gap: 8px; padding: 6px 8px; border-radius:0; cursor: pointer; }
.lib-item:hover { background: #1c1c1c; }
.lib-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.lib-item-body { flex: 1; min-width: 0; }
.lib-item-title { font-size: 12px; color: #ccc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lib-item-status { font-size: 10px; color: #928980; margin-top: 1px; }
.lib-empty { font-size: 11px; color: #7d7468; padding: 12px 0; text-align: center; }
.lib-inbox { margin: 12px 16px; border: 1px solid #2a2a2a; border-radius:0; overflow: hidden; }
.lib-inbox-head { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #888; padding: 8px 12px; background: #161616; border-bottom: 1px solid #222; }
.lib-inbox-item { padding: 8px 12px; border-bottom: 1px solid #1a1a1a; }
.lib-inbox-item:last-child { border-bottom: none; }
.lib-inbox-title { font-size: 12px; color: #ccc; margin-bottom: 6px; }
.lib-inbox-actions { display: flex; gap: 5px; flex-wrap: wrap; }
.lib-inbox-btn { font-size: 10px; padding: 2px 8px; border-radius:0; background: #141210; border: 1px solid #333; color: #888; cursor: pointer; }
.lib-inbox-btn:hover { background: #1d1d1d; color: #e8e8e6; }

/* ===== CAPTURA inbox section ===== */
.capture-url-input { width: 100%; background: none; border: none; border-top: 1px solid #2a2a2a; color: #888; font-size: 12px; padding: 8px 14px; outline: none; font-family: inherit; }
.capture-tags-scroll { display: flex; gap: 6px; flex-wrap: wrap; flex: 1; }
.inbox-section { margin-bottom: 20px; border: 1px solid #2a2a2a; border-radius:0; overflow: hidden; }
.inbox-head { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #e79c22; background: #1a1500; padding: 8px 14px; border-bottom: 1px solid #2a2a2a; }
.inbox-item { padding: 10px 14px; border-bottom: 1px solid #1a1a1a; }
.inbox-item:last-child { border-bottom: none; }
.inbox-item-title { font-size: 12px; color: #ccc; margin-bottom: 7px; }
.inbox-item-actions { display: flex; gap: 5px; flex-wrap: wrap; }
.inbox-cat-btn { font-size: 10px; padding: 3px 9px; border-radius:0; background: #141210; border: 1px solid #1d1d1d; color: #888; cursor: pointer; }
.inbox-cat-btn:hover { background: #1d1d1d; color: #e8e8e6; }

/* ===== LAYOUT CLASSES (desktop defaults, overridden in mobile) ===== */
.home-twocol { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 24px; }
.daily-main-grid { display: grid; grid-template-columns: 1fr 1.6fr; gap: 14px; margin-bottom: 20px; }
.proj-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
.drawer-aloc-row { display: grid; grid-template-columns: 88px 1fr 108px 72px 24px; gap: 5px; margin-bottom: 7px; align-items: center; }
.drawer-expense-row { display: grid; grid-template-columns: 120px 1fr 90px 28px; gap: 6px; margin-bottom: 6px; align-items: center; }

/* ===== MOBILE NAV ===== */
.mobile-nav { display: none; align-items: center; padding: 10px 16px; background: #1f1f1f; border-bottom: 1px solid #1d1d1d; position: sticky; top: 0; z-index: 20; gap: 12px; }
.mobile-hamburger { width: 32px; height: 32px; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 5px; cursor: pointer; flex-shrink: 0; }
.mobile-hamburger span { width: 18px; height: 2px; background: #888; border-radius:0; display: block; transition: all .2s; }
.mobile-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.mobile-hamburger.open span:nth-child(2) { opacity: 0; }
.mobile-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.mobile-page-title { font-size: 14px; font-weight: 600; color: #e8e8e6; flex: 1; }
.sidebar-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,.6); z-index: 29; }

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
  html, body { overflow-x: hidden; max-width: 100vw; }
  body { overflow-y: auto; }
  .app { flex-direction: column; height: auto; min-height: 100vh; }
  .main { overflow-x: hidden; overflow-y: visible; max-width: 100vw; }

  /* Mobile nav — fixed at top, clears iPhone status bar */
  .mobile-nav {
    display: flex;
    position: fixed;
    top: 0; left: 0; right: 0;
    padding-top: max(12px, env(safe-area-inset-top));
    padding-bottom: 10px;
    padding-left: max(16px, env(safe-area-inset-left));
    padding-right: max(16px, env(safe-area-inset-right));
    z-index: 20;
  }

  /* Push content below the fixed nav; lateral safe-area for landscape/notch */
  .main {
    padding-top: calc(52px + env(safe-area-inset-top));
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
    /* conteudo nao fica sob a tab bar fixa */
    padding-bottom: calc(56px + env(safe-area-inset-bottom));
  }

  /* Prevent iOS zoom on input focus */
  input, select, textarea { font-size: 16px !important; }

  /* Sidebar: slide-in overlay */
  .sidebar { position: fixed; left: 0; top: 0; height: 100vh; z-index: 30; transform: translateX(-100%); transition: transform .25s ease; width: 240px; }
  .sidebar.mobile-open { transform: translateX(0); }
  .sidebar-overlay { display: block; }

  /* Page content — bottom clareia a tab bar fixa (56px + safe-area), senao o shorthand zera */
  .page-content { padding: 20px 16px max(80px, calc(56px + env(safe-area-inset-bottom))); }
  .page-title { font-size: 22px; }

  /* Drawer full width on mobile */
  .drawer-panel { width: 100%; border-left: none; border-top: 2px solid #1d1d1d; top: auto; bottom: 0; height: 90vh; border-radius: 0; transform: translateY(100%); right: 0; }
  .drawer-panel.open { transform: translateY(0); }

  /* Home */
  .p-home .home-top { grid-template-columns: 1fr; }
  .p-home .home-quick-stats { grid-template-columns: repeat(2, 1fr); }
  .p-home .stats-row { flex-direction: column; }

  /* iOS Fase 1 — grids de 2/3/4 colunas empilham no mobile */
  .p-agenda .agenda-quick,
  .p-clientes .cards-grid,
  .p-daily .ritual-cols,
  .p-financas .extrato-grid,
  .p-financas-pj .extrato-grid,
  .p-projetos .groups,
  .p-referencias .ref-body .ref-cols,
  .p-videoteca .two-col-grid,
  .p-captura .body-grid,
  .p-notas .cols { grid-template-columns: 1fr; }

  /* stats em 3/4 colunas → 2 colunas no mobile (não 1, cabem) */
  .p-daily .habitos-cols,
  .p-daily .habitos-grid,
  .p-saude .registro-grid,
  .p-saude .treino-stats,
  .p-estudos .stats-row,
  .p-senhas .stats-row,
  .p-financas .balances,
  .p-financas-pj .balances { grid-template-columns: 1fr 1fr; }

  /* Agenda */
  .p-agenda .today-section { grid-template-columns: 1fr; }
  .p-agenda .wv-days { min-width: 360px; }
  .p-agenda .wv-day-col { min-width: 52px; }
  .p-agenda .wv-scroll { max-height: 480px; }
  .p-agenda .agenda-quick { grid-template-columns: 1fr; }

  /* Habitos */
  .p-habitos .col-header { display: none; }
  .p-habitos .habit-row { grid-template-columns: 20px 20px 1fr 60px; gap: 8px; }
  .p-habitos .h-cal { display: none; }
  .p-habitos .h-streak { display: none; }
  .p-habitos .h-pct { display: none; }
  .p-habitos .stats-row { flex-direction: column; gap: 8px; }

  /* Saude */
  .p-saude .registro-grid { grid-template-columns: repeat(2, 1fr); }
  .p-saude .cons-grid { grid-template-columns: 12px 1fr 70px; }
  .p-saude .cons-head:nth-child(4), .p-saude .cons-head:nth-child(5) { display: none; }
  .p-saude .cons-row > *:nth-child(4), .p-saude .cons-row > *:nth-child(5) { display: none; }
  .p-saude .med-grid { grid-template-columns: 1fr 80px; }
  .p-saude .med-head:nth-child(3), .p-saude .med-row > *:nth-child(3) { display: none; }
  .p-saude .treino-stats { grid-template-columns: repeat(2, 1fr); }

  /* Biblioteca */
  .lib-grid { grid-template-columns: 1fr; grid-template-rows: repeat(4, auto); }
  .lib-quad { min-height: 200px; max-height: 300px; }

  /* Notas / Referencias col layout */
  .p-notas .cols, .p-referencias .ref-cols { grid-template-columns: 1fr; }

  /* Financeiro */
  .p-financas .two-col { grid-template-columns: 1fr; }

  /* Projetos */
  .p-projetos .proj-list-header { display: none; }
  .p-projetos .proj-row { grid-template-columns: 1fr auto; }
  .p-projetos .proj-row > *:nth-child(3), .p-projetos .proj-row > *:nth-child(4) { display: none; }

  /* Team — nome | pago mês | pago total; oculta projetos/relação/contagens */
  .p-team .list-header { display: none; }
  .p-team .stats-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .p-team .stat { padding: 10px 12px; }
  .p-team .member-row { grid-template-columns: 1fr 70px 70px; gap: 8px; }
  .p-team .member-row > *:nth-child(2),
  .p-team .member-row > *:nth-child(3),
  .p-team .member-row > *:nth-child(4),
  .p-team .member-row > *:nth-child(5) { display: none; }
  .p-team .m-paid-val { font-size: 11px; text-align: right; }
  .p-team .m-paid-lbl { font-size: 9px; color: #928980; text-align: right; }

  /* Senhas */
  .p-senhas .tbl-head { grid-template-columns: 28px 1fr auto; }
  .p-senhas .tbl-head > *:nth-child(4), .p-senhas .tbl-head > *:nth-child(5) { display: none; }
  .p-senhas .tbl-row { grid-template-columns: 28px 1fr auto; }
  .p-senhas .tbl-row > *:nth-child(4), .p-senhas .tbl-row > *:nth-child(5) { display: none; }

  /* Estudos */
  .p-estudos .two-col { grid-template-columns: 1fr; }

  /* Captura */
  .p-captura .body-grid { grid-template-columns: 1fr; }
  .capture-tags-scroll { gap: 4px; }
  .capture-tag { font-size: 10px; padding: 3px 7px; }

  /* Stats rows */
  .stats-row { flex-wrap: wrap; }
  .action-row { flex-wrap: wrap; }

  /* Layout classes — override to single column */
  .home-twocol { grid-template-columns: 1fr; }
  .daily-main-grid { grid-template-columns: 1fr; }
  .proj-two-col { grid-template-columns: 1fr; }

  /* Drawer forms — stack on mobile */
  .drawer-aloc-row { grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; }
  .drawer-aloc-row > *:nth-child(3) { grid-column: 1; }
  .drawer-aloc-row > *:nth-child(4) { grid-column: 2; }
  .drawer-aloc-row > *:nth-child(5) { grid-column: 2; grid-row: 1; justify-self: end; }
  .drawer-expense-row { grid-template-columns: 1fr 28px; grid-template-rows: auto auto; }
  .drawer-expense-row > *:nth-child(1) { grid-column: 1; }
  .drawer-expense-row > *:nth-child(2) { grid-column: 1; }
  .drawer-expense-row > *:nth-child(3) { grid-column: 1; }
  .drawer-expense-row > *:nth-child(4) { grid-column: 2; grid-row: 1 / span 3; align-self: center; }

  /* Calendar */
  .cal-header { flex-wrap: wrap; gap: 6px; }
  .cal-month-cell { min-height: 60px; }
  .cal-view-tabs { gap: 2px; }
  .cal-tab { padding: 4px 8px; font-size: 11px; }

  /* Touch targets */
  .checkbox { width: 18px !important; height: 18px !important; min-width: 18px !important; }
  .habit-check { width: 18px !important; height: 18px !important; }
  button { min-height: 36px; }
  .cal-tab, .filter-tab, .tag-btn { min-height: 32px; }

  /* Projetos cards — prevent horizontal overflow */
  .proj-card { min-width: 0; overflow: hidden; }
  .p-projetos .stats-row { flex-direction: column; }

  /* Clientes — 1 card por linha, stats 2x2 */
  .p-clientes .cards-grid { grid-template-columns: 1fr; }
  .p-clientes .stats-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .p-clientes .stat-lucro-bb { grid-column: 1 / -1; padding: 8px 16px; display: flex; align-items: center; justify-content: space-between; }
  .p-clientes .stat-lucro-bb .stat-label { margin-bottom: 0; }
  .p-clientes .stat-lucro-bb .stat-value { font-size: 18px !important; }
  .p-clientes .stat { padding: 10px 12px; }

  /* Financeiro / PJ — balances 2x2 */
  .p-financas .balances { grid-template-columns: 1fr 1fr; gap: 8px; }
  .p-financas .bal { padding: 10px 12px; }
  .p-financas .bal-value { font-size: 18px; }
  .p-financas-pj .balances { grid-template-columns: 1fr 1fr; gap: 8px; }
  .p-financas-pj .bal { padding: 10px 12px; }
  .p-financas-pj .bal-value { font-size: 18px; }

  /* Ferramentas — esconde só categoria (col 3), mantém essencial+mês+ano */
  .p-ferramentas .col-header,
  .p-ferramentas .tool-row,
  .p-ferramentas .sec-total { grid-template-columns: 26px 1fr 36px 58px 58px; gap: 8px; }
  .p-ferramentas .col-header > *:nth-child(3),
  .p-ferramentas .tool-row > *:nth-child(3),
  .p-ferramentas .sec-total > *:nth-child(3) { display: none; }
  .p-ferramentas .grand-total { flex-direction: column; gap: 10px; align-items: stretch; }
  .p-ferramentas .grand-total-vals { justify-content: flex-start; gap: 16px; }

  /* Notas — stats 2x2 */
  .p-notas .stats-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .p-notas .stat { padding: 10px 12px; }

  /* Daily view */
  .mood-row { flex-wrap: wrap; gap: 4px; }

  /* Prevent any fixed-width elements from causing overflow */
  .section-card, .stat, .hqs-card { min-width: 0; }
  table { display: block; overflow-x: auto; max-width: 100%; }
}

/* ===== TERMINAL LUXE — Design Refresh ===== */

/* Base */
body {
  font-family: var(--bb-font-ui) !important;
  background: var(--bb-bg) !important;
  color: var(--bb-text) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.app { background: var(--bb-bg); }
.main { background: var(--bb-bg) !important; }

/* Sidebar */
.sidebar {
  background: #0d0d0d !important;
  border-right: 1px solid var(--bb-border) !important;
  width: 200px !important;
}
.sidebar-workspace {
  padding: 14px 14px 16px !important;
  font-family: var(--bb-font-ui) !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  color: var(--bb-text) !important;
  border-bottom: 1px solid var(--bb-border);
  margin-bottom: 4px;
  text-decoration: none;
}
.workspace-icon {
  background: var(--bb-accent) !important;
  border-radius:0 !important;
}
.sidebar-section {
  font-family: var(--bb-font-ui) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  color: var(--bb-amber) !important;
  opacity: 0.7;
  padding: 13px 14px 4px !important;
}
.sidebar-item {
  font-family: var(--bb-font-ui) !important;
  font-size: 12.5px !important;
  padding: 5px 14px !important;
  margin: 0 !important;
  border-radius: 0 !important;
  color: var(--bb-text-muted) !important;
  position: relative !important;
  transition: color 0.1s, background 0.1s !important;
}
.sidebar-item .si-icon { display: flex; align-items: center; flex-shrink: 0; }
.sidebar-item .si-icon svg {
  width: 14px; height: 14px;
  stroke-width: 1.75;
  stroke: var(--bb-text-muted);
  fill: none;
  transition: stroke 0.1s;
}
.sidebar-item:hover .si-icon svg { stroke: var(--bb-text-2); }
.sidebar-item.active .si-icon svg { stroke: var(--bb-text); }
.ws-icon svg {
  width: 17px; height: 17px;
  stroke-width: 1.75;
  stroke: var(--bb-amber);
  fill: none;
  flex-shrink: 0;
}
.sidebar-item:hover {
  color: var(--bb-text-2) !important;
  background: rgba(255,255,255,0.025) !important;
}
.sidebar-item.active {
  color: var(--bb-text) !important;
  background: transparent !important;
  font-weight: 600 !important;
}
.sidebar-item.active::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 2px;
  height: 16px;
  background: var(--bb-amber);
  border-radius:0 0;
}
.sidebar-divider { border-color: var(--bb-border) !important; margin: 3px 0 !important; }

/* Toolbar */
.page-toolbar {
  background: var(--bb-bg) !important;
  border-bottom: 1px solid var(--bb-border) !important;
}
.toolbar-btn {
  font-family: var(--bb-font-ui) !important;
  background: transparent !important;
  border: 1px solid var(--bb-border) !important;
  color: var(--bb-text-muted) !important;
  border-radius:0 !important;
  transition: all 0.12s !important;
}
.toolbar-btn:hover {
  background: var(--bb-bg-raised) !important;
  color: var(--bb-text-2) !important;
  border-color: var(--bb-border-mid) !important;
}

/* Page header */
.page-icon { display: none !important; }
.page-header {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 4px !important;
}
.page-header-icon { display: flex; align-items: center; flex-shrink: 0; }
.page-header-icon svg {
  width: 24px; height: 24px;
  stroke-width: 1.75;
  stroke: var(--bb-text);
  fill: none;
}
.page-header .page-title { margin-bottom: 0 !important; }
.page-title {
  font-family: var(--bb-font-ui) !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
  color: var(--bb-text) !important;
}
.page-subtitle, .page-meta, .sub { color: var(--bb-text-muted) !important; }

/* Section labels */
.sec-label,
.secao-header,
.p-agenda .agenda-sec-lbl,
.p-agenda .upcoming-head,
.p-captura .dest-title,
.p-daily .section-label {
  font-family: var(--bb-font-ui) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  color: var(--bb-text-dim) !important;
  border-bottom-color: var(--bb-border) !important;
}

/* Numbers — monospace throughout */
.reg-val,
.stat-value, .stat-val,
.t-stat-val,
.bal-value, .bal-value,
.hqs-val, .hc-main-val,
.h-streak, .h-pct,
.progress-main,
.tx-val,
.value-num,
.m-paid-val,
.cartao-card-val,
.extrato-footer-val,
.grand-total-num {
  font-family: var(--bb-font-mono) !important;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em !important;
}

/* Cards */
.reg-card,
.p-habitos .stat, .p-clientes .stat, .p-ferramentas .stat,
.p-notas .stat, .p-referencias .stat, .p-projetos .stat,
.p-team .stat, .p-estudos .stat-card, .p-biblioteca .stat-card,
.p-senhas .stat-card, .p-saude .stat-card, .t-stat,
.p-financas .bal, .p-financas-pj .bal,
.p-home .home-card, .p-home .stat-card {
  background: var(--bb-bg-card) !important;
  border-color: var(--bb-border) !important;
  border-radius:0 !important;
}
.p-home .home-card { transition: border-color 0.15s !important; }
.p-home .home-card:hover { border-color: var(--bb-border-mid) !important; }

/* hqs-card: preserve inline border-top color from JS */
.p-home .hqs-card {
  background: var(--bb-bg-card) !important;
  border-left-color: var(--bb-border) !important;
  border-right-color: var(--bb-border) !important;
  border-bottom-color: var(--bb-border) !important;
  border-radius:0 !important;
}

/* Drawer — IDV overrides (remove stale theming vars) */
.drawer-panel { background: #111111 !important; border-left: 2px solid #1d1d1d !important; }
.drawer-field { border-bottom-color: #1d1d1d !important; }
.drawer-title { color: #eae8e3 !important; }

/* Mobile nav */
.mobile-nav {
  background: #0d0d0d !important;
  border-bottom-color: var(--bb-border) !important;
}
.mobile-page-title {
  font-family: var(--bb-font-ui) !important;
  font-weight: 600 !important;
  color: var(--bb-text) !important;
}

/* ════ SIDEBAR v2 — 60px vertical (SÓ DESKTOP — rail com flyout no hover não existe em touch) ════ */
/* Sem esse guard, o !important em width brigava com o .sidebar{position:fixed} do mobile
   (bloco @media max-width:768px acima) e vencia por especificidade — .sidebar ficava
   position:relative width:60px em QUALQUER largura de tela, empurrando .main pra direita
   60px mesmo no celular (achado 2026-07-11, bug real reportado no device do design). */
@media (min-width: 769px) {
/* Sobrescreve as regras .sidebar existentes */
.sidebar {
  width: 60px !important;
  background: #111;
  background-image: var(--grain);
  border-right: 3px solid #111;
  flex-shrink: 0;
  display: flex !important;
  flex-direction: column;
  padding: 0 !important;
  overflow: visible !important;
  position: relative;
  z-index: 100;
  box-shadow: inset -1px 0 0 rgba(255,255,255,.04), 3px 0 12px rgba(0,0,0,.55);
}
.sb2-logo {
  background: #e79c22;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 700;
  color: #000;
  border-bottom: 3px solid #111;
  flex-shrink: 0;
}
.sb2-logo-img {
  width: 28px;
  height: 28px;
  display: block;
}
.sb2-nav {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 8px 0;
}
.sb2-foot {
  margin-top: auto;
  flex-shrink: 0;
  padding: 10px 0;
  display: flex;
  justify-content: center;
  border-top: 1px solid #2a2520;
}
.sb2-theme {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #e79c22;
  font-size: 17px;
  line-height: 1;
  border: 1px solid #3a352e;
  background: transparent;
  user-select: none;
  transition: background .15s, color .15s;
}
.sb2-theme:hover { background: #1c1c1c; color: #fff; }
}

/* ── AreaTabs: barra de abas no topo da área (Planner/Pessoal/Inventário) ── */
.area-tabs {
  position: sticky; top: 0; z-index: 6;
  display: flex; align-items: stretch; height: 40px; flex-shrink: 0;
  background: #0b0b0b;
  border-bottom: 1px solid #1d1d1d;
  box-shadow: 0 4px 12px rgba(0,0,0,.5);
}
.area-tabs-name { display: flex; align-items: center; padding: 0 16px; font-family: var(--font-mono); font-size: 11px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: #e79c22; border-right: 1px solid #1d1d1d; }
.area-tab { display: flex; align-items: center; padding: 0 16px; font-family: var(--font-mono); font-size: 9px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: #968d80; border-right: 1px solid #1d1d1d; cursor: pointer; }
.area-tab:hover { color: #a8a29e; }
.area-tab.on { color: #e79c22; box-shadow: inset 0 -2px 0 #e79c22; }

/* iOS Fase 1 — abas de area rolam na horizontal, sem cortar */
@media (max-width: 768px) {
  .area-tabs { overflow-x: auto; flex-wrap: nowrap; scrollbar-width: none; -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity; }
  .area-tabs::-webkit-scrollbar { display: none; }
  .area-tabs .area-tab { scroll-snap-align: start; flex-shrink: 0; }
  .area-tabs .area-tabs-name { position: sticky; left: 0; z-index: 1; flex-shrink: 0; }
}

/* ── Pessoal/Inventário na IDV Captura: headers de seção = texto amber + linha amber ── */
.p-daily .section-label,
.p-saude .sec-label,
.p-habitos .col-header,
.p-ferramentas .sec-label,
.p-ferramentas .col-header,
.p-estudos .sec-label,
.p-senhas .sec-label {
  color: #e79c22;
  border-bottom-color: #e79c22;
}
@media (min-width: 769px) {
.sb2-group {
  position: relative;
}
.sb2-item {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  font-size: 10px;
  color: #8f867a;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 12px 0;
  font-family: var(--font-mono);
  font-weight: 600;
  border-left: 2px solid transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  user-select: none;
  width: 60px;
}
.sb2-item:hover,
.sb2-item.active {
  color: #e79c22;
  border-left-color: #e79c22;
  background: rgba(245,158,11,0.06);
}
/* Flyout — aparece à direita do sidebar */
.sb2-flyout {
  position: absolute;
  left: 60px;
  top: 0;
  background: #111;
  border: 2px solid #e79c22;
  border-left: 3px solid #e79c22;
  min-width: 140px;
  z-index: 200;
  display: none;
  flex-direction: column;
  padding: 6px 0;
}
.sb2-group:hover .sb2-flyout {
  display: flex;
}
.sb2-sub {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 600;
  color: #888;
  padding: 8px 16px;
  cursor: pointer;
  white-space: nowrap;
  letter-spacing: 0.5px;
}
.sb2-sub:hover {
  color: #e79c22;
  background: rgba(245,158,11,0.06);
}
.sb2-sub.active {
  color: #e79c22;
}
}
/* main sem overflow quando Home está ativa */
.main--dashboard {
  overflow: hidden !important;
}
@media (max-width: 768px) {
  .sidebar { z-index: 100 !important; }
}

/* ════ HOME v2 — Shell ════ */
.p-home-v2 {
  --bg: #ede9e0; --bg2: #e5e1d7; --card: #f0ece4;
  --ink: #111111; --ink2: #444444; --muted: #888888;
  --border: #111111; --amber: var(--am-500);
  --green: #16a34a; --red: #dc2626; --sb: #111111;
  --c-sf: #8b5cf6; --c-ds: #f43f5e; --c-bb: #e79c22;
  --c-em: #3b82f6; --c-personal: #888;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  font-family: var(--font-mono);
  background: var(--bg);
  color: var(--ink);
}
.p-home-v2.dark {
  --bg: #0b0b0b; --bg2: #111110; --card: #141210;
  --ink: #eae8e3; --ink2: #a8a29e; --muted: #968d80;
  --border: #1d1d1d; --sb: #0b0b0b;
}
.h-topbar {
  height: 50px;
  flex-shrink: 0;
  background: var(--sb);
  border-bottom: 3px solid var(--amber);
  display: flex;
  align-items: center;
  padding: 0 20px;
  gap: 12px;
  z-index: 200;
}
.h-tb-name {
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 700;
  color: var(--amber);
  letter-spacing: 3px;
  text-transform: uppercase;
}
.h-tb-grt {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 700;
  color: var(--ink2);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-left: 14px;
  white-space: nowrap;
}
.h-tb-wx { display:flex; align-items:center; gap:5px; font-family:var(--font-mono); font-size:9px; font-weight:700; color:#bbb; letter-spacing:0.5px; margin-left:14px; white-space:nowrap; }
.h-tb-wx-icon { display:flex; align-items:center; color:#aaa; }
.h-tb-date {
  font-family: var(--font-mono);
  font-size: 9px;
  color: #7d7468;
  letter-spacing: 1px;
  margin-right: 8px;
}
.h-priv-btn, .h-theme-btn {
  font-family: var(--font-mono);
  font-size: 8px;
  color: #8a8175;
  padding: 3px 8px;
  border: 1px solid #2a2a2a;
  cursor: pointer;
  background: transparent;
  text-transform: uppercase;
  letter-spacing: 1px;
  display: flex;
  align-items: center;
  gap: 4px;
}
.h-priv-btn:hover, .h-theme-btn:hover { color: var(--amber); border-color: var(--amber); }
.h-priv-btn.active { color: var(--amber); border-color: var(--amber); }
/* Canonical PageHeader: controls cluster (pushes right when no date present) + breadcrumb */
.h-tb-ctrls { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.h-tb-ctrls .h-priv-btn, .h-tb-ctrls .h-theme-btn { margin-left: 0; }
.h-tb-crumb { font-family: var(--font-mono); font-size: 10px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--ink2); display: flex; align-items: center; }
.h-tb-crumb .sep { color: var(--muted); margin-right: 8px; }
.h-grid {
  flex: 1;
  display: grid;
  grid-template-columns: 340px 1fr;
  grid-template-rows: auto 1fr;
  overflow: hidden;
}

/* ════ HOME v2 — Greeting ════ */
.h-greeting {
  grid-column: 1; grid-row: 1;
  border-right: 3px solid var(--border);
  padding: 6px 0 42px;
  display: flex;
  align-items: flex-end;
}
.h-g-text {
  flex: 1;
  padding: 0 20px 0 18px;
  border-right: 2px solid var(--border);
}
.h-g-sub  { font-family:var(--font-mono); font-size:7px; color:var(--muted); letter-spacing:2px; text-transform:uppercase; margin-bottom:8px; }
.h-g-l1   { font-family:var(--font-mono); font-size:22px; font-weight:900; color:var(--ink2); text-transform:uppercase; letter-spacing:-0.5px; line-height:1; }
.h-g-l2   { font-family:var(--font-mono); font-size:40px; font-weight:900; color:var(--ink); text-transform:uppercase; letter-spacing:-1.5px; line-height:0.9; }
.h-g-amber { color:var(--amber); }
.h-g-cal  { width:148px; padding:0 18px 0 14px; flex-shrink:0; display:flex; flex-direction:column; justify-content:flex-end; }
.h-gcal-hdr { font-family:var(--font-mono); font-size:7px; font-weight:700; color:var(--ink2); letter-spacing:1.5px; text-transform:uppercase; margin-bottom:6px; display:flex; justify-content:space-between; }
.h-gcal-nav { color:var(--muted); cursor:pointer; display:flex; gap:6px; }
.h-gcal-grid { display:grid; grid-template-columns:repeat(7,1fr); }
.h-gcal-dow { font-family:var(--font-mono); font-size:5.5px; color:var(--muted); text-align:center; padding:2px 0; text-transform:uppercase; }
.h-gcal-d   { font-family:var(--font-mono); font-size:9px; color:var(--ink2); text-align:center; padding:3px 1px; border-radius:0; position:relative; line-height:1.5; }
.h-gcal-d.today { background:var(--amber); color:var(--bg); font-weight:700; }
.h-gcal-d.has-ev::after { content:''; position:absolute; bottom:1px; left:50%; transform:translateX(-50%); width:2px; height:2px; border-radius:50%; background:var(--amber); }
.h-gcal-d.other { color:var(--muted); opacity:0.4; }

/* ════ HOME v2 — Widgets ════ */
.h-widgets {
  grid-column: 2; grid-row: 1;
  padding: 12px 16px;
  background: var(--bg2);
  display: flex;
  gap: 12px;
  align-items: stretch;
  overflow-x: auto;
  overflow-y: hidden;
  height: 166px;
}
.h-widgets::-webkit-scrollbar { height: 0; }
.hw { border: 2px solid var(--border); background: var(--card); padding: 8px 12px; min-width: 155px; flex-shrink: 0; overflow: hidden; }
.hw-scroll { display: flex; flex-direction: column; }
.hw-body { flex: 1; overflow-y: auto; min-height: 0; }
.hw-body::-webkit-scrollbar { display: none; }
.hwt { font-family:var(--font-mono); font-size:7px; color:var(--muted); letter-spacing:2px; text-transform:uppercase; margin-bottom:6px; padding-bottom:5px; border-bottom:1px solid var(--border); }
.hwl { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:2px 0; }
.hwln { font-size:10px; color:var(--ink2); display:flex; align-items:center; gap:5px; white-space:nowrap; }
.hwd { width:4px; height:4px; border-radius:50%; flex-shrink:0; }
.hwv { font-family:var(--font-mono); font-size:10px; font-weight:700; white-space:nowrap; }
.hwvd { font-family:var(--font-mono); font-size:8px; font-weight:700; white-space:nowrap; }
.hwpos { color:var(--green); } .hwneg { color:var(--red); } .hwneu { color:var(--ink2); }
/* fin-card blur */
.h-fin-card .hwv,
.h-fin-card .hwvd { transition: filter 0.2s; }
/* sparkline widgets */
.hw-big { font-family:var(--font-mono); font-size:20px; font-weight:700; color:var(--ink); line-height:1; }
.hw-unit { font-family:var(--font-mono); font-size:9px; color:var(--muted); }
.hw-delta { font-family:var(--font-mono); font-size:9px; }
.hw-spark { width:100%; height:52px; display:block; }
.hw-dates { display:flex; justify-content:space-between; margin-top:3px; }
.hw-dl { font-family:var(--font-mono); font-size:5.5px; color:var(--muted); text-align:center; flex:1; }
/* vasco */
.hv-form { display:flex; gap:3px; }
.hv-dot { width:13px; height:13px; font-family:var(--font-mono); font-size:6px; font-weight:700; color:#fff; display:flex; align-items:center; justify-content:center; border-radius:0; flex-shrink:0; }
.hv-dot.v { background:var(--green); } .hv-dot.e { background:#888; } .hv-dot.d { background:var(--red); }
.hv-standing { font-family:var(--font-mono); font-size:9px; font-weight:700; color:var(--ink2); letter-spacing:0.5px; padding-left:8px; }
.hv-standing strong { color:var(--amber); }
.hv-result { display:flex; align-items:center; justify-content:space-between; margin-bottom:2px; }
.hv-score { display:flex; align-items:center; gap:4px; }
/* tabela */
.hbr-hdr { font-family:var(--font-mono); font-size:7px; color:var(--muted); display:flex; gap:4px; padding:0 0 4px; border-bottom:1px solid var(--border); margin-bottom:2px; flex-shrink:0; }
.hbr-row { display:flex; align-items:center; gap:4px; padding:2px 0; border-bottom:1px solid rgba(0,0,0,0.05); }
.hbr-row:last-child { border-bottom:none; }
.hbr-pos { font-family:var(--font-mono); font-size:8px; color:var(--muted); width:12px; flex-shrink:0; text-align:right; }
.hbr-logo { width:16px; height:16px; object-fit:contain; flex-shrink:0; }
.hbr-name { font-size:9px; font-weight:600; color:var(--ink2); flex:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.hbr-pts { font-family:var(--font-mono); font-size:9px; font-weight:700; color:var(--ink); width:20px; text-align:right; flex-shrink:0; }
.hbr-j { font-family:var(--font-mono); font-size:7px; color:var(--muted); width:14px; text-align:right; flex-shrink:0; }
.hbr-row.me .hbr-name { color:var(--amber); font-weight:700; }
.hbr-row.me .hbr-pts { color:var(--amber); }
.hw-br { min-width:120px; max-width:140px; }

/* ════ HOME v2 — Painel Esquerdo ════ */
.h-left-col {
  grid-column: 1; grid-row: 2;
  border-right: 3px solid var(--border);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.h-prog-late { flex: 1.2; display: flex; flex-direction: column; }

.h-prog-block {
  background: #111; border-bottom: 3px solid var(--border);
  padding: 14px 18px 16px; flex-shrink: 0; min-height: 130px;
}
.h-blk-label {
  font-family: var(--font-mono); font-size: 8px; font-weight: 700;
  letter-spacing: 2px; text-transform: uppercase; margin-bottom: 12px; color: #999;
}
.h-prog-row { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.h-prog-row:last-child { margin-bottom: 0; }
.h-prog-period { font-family:var(--font-mono); font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:1px; width:30px; flex-shrink:0; }
.h-prog-row.highlight .h-prog-period { color:var(--amber); font-size:10px; }
.h-prog-row.dim .h-prog-period { color:#777; }
.h-prog-bar-wrap { flex: 1; }
.h-prog-track { width:100%; background:#1e1b17; border:1.5px solid #222; position:relative; overflow:hidden; }
.h-prog-row.highlight .h-prog-track { height:10px; }
.h-prog-row.dim .h-prog-track { height:6px; }
.h-prog-fill { height:100%; }
.h-prog-row.highlight .h-prog-fill { background:var(--amber); }
.h-prog-row.dim .h-prog-fill { background:#3a3530; }
.h-prog-frac { font-family:var(--font-mono); font-weight:700; text-align:right; flex-shrink:0; width:40px; white-space:nowrap; }
.h-prog-row.highlight .h-prog-frac { font-size:13px; color:#e8e4dc; }
.h-prog-row.dim .h-prog-frac { font-size:10px; color:#928980; }

.h-late-block {
  background: var(--amber); border-bottom: 3px solid var(--border);
  padding: 12px 18px 14px; flex: 1; min-height: 100px;
}
.h-late-block .h-blk-label { color: #92400e; margin-bottom: 8px; }
.h-late-main { display: flex; align-items: baseline; gap: 10px; margin-bottom: 8px; }
.h-late-num  { font-family:var(--font-mono); font-size:36px; font-weight:700; color:#000; line-height:1; }
.h-late-sub  { font-family:var(--font-mono); font-size:9px; color:#92400e; text-transform:uppercase; letter-spacing:1px; }
.h-late-list { display:flex; flex-direction:column; gap:4px; }
.h-late-item { font-family:var(--font-mono); font-size:9px; color:#c9861a; padding-left:8px; border-left:2px solid rgba(0,0,0,0.2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; cursor:pointer; }
.h-late-more { display:block; margin-top:8px; font-family:var(--font-mono); font-size:7px; font-weight:700; color:#c9861a; letter-spacing:1px; text-transform:uppercase; background:none; border:none; cursor:pointer; padding:0; width:100%; text-align:right; }
.h-late-more:hover { color:#000; }
/* dark: bloco Atrasadas no esquema Captura (preto + linha amber, não slab amber) */
.p-home-v2.dark .h-late-block { background: var(--bg); border-bottom: 1px solid var(--amber); }
.p-home-v2.dark .h-late-block .h-blk-label { color: var(--amber); }
.p-home-v2.dark .h-late-num { color: var(--amber); }
.p-home-v2.dark .h-late-sub { color: var(--muted); }
.p-home-v2.dark .h-late-item { color: var(--ink2); border-left-color: var(--amber); }
.p-home-v2.dark .h-late-more { color: var(--muted); }
.p-home-v2.dark .h-late-more:hover { color: var(--amber); }

.h-dl-block { background:#111; flex:1; display:flex; flex-direction:column; overflow:hidden; }
.h-dl-block .h-blk-label { color:#999; padding:14px 18px 0; margin-bottom:10px; }
.h-dl-list { flex:1; overflow-y:auto; }
.h-dl-list::-webkit-scrollbar { width:0; }
.h-dl-row { display:flex; align-items:center; padding:10px 18px; border-bottom:1px solid #161412; cursor:pointer; transition:background 0.1s; gap:8px; }
.h-dl-row:hover { background:#161412; }
.h-dl-row:last-child { border-bottom:none; }
.h-dl-num  { font-family:var(--font-mono); font-size:22px; font-weight:700; line-height:1; min-width:16px; text-align:left; flex-shrink:0; }
.h-dl-unit { font-family:var(--font-mono); font-size:8px; text-transform:uppercase; letter-spacing:0.5px; align-self:flex-end; padding-bottom:2px; flex-shrink:0; width:10px; }
.h-dl-name { font-family:var(--font-mono); font-size:9.5px; font-weight:700; flex:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-left:4px; }
.h-dl-row.urgent .h-dl-num { color:#d95555; } .h-dl-row.urgent .h-dl-unit { color:#a06060; } .h-dl-row.urgent .h-dl-name { color:#c98888; }
.h-dl-row.soon   .h-dl-num { color:var(--amber); } .h-dl-row.soon .h-dl-unit { color:#a88035; } .h-dl-row.soon .h-dl-name { color:#b89858; }
.h-dl-row.normal .h-dl-num { color:#888; } .h-dl-row.normal .h-dl-unit { color:#928980; } .h-dl-row.normal .h-dl-name { color:#ccc; }

/* ════ HOME v2 — Bottom ════ */
.h-bottom {
  grid-column: 2; grid-row: 2;
  display: grid;
  grid-template-columns: 0.82fr 1.6fr;
  overflow: hidden;
}
.h-left-stack { display:flex; flex-direction:column; overflow:hidden; border-right:3px solid var(--border); }
.h-panel-head { height:40px; flex-shrink:0; background:var(--ink); border-bottom:3px solid var(--border); display:flex; align-items:center; padding:0 14px; }
.h-panel-title { font-family:var(--font-mono); font-size:8px; color:var(--bg); letter-spacing:2px; text-transform:uppercase; }
.h-panel-count { font-family:var(--font-mono); font-size:8px; color:var(--amber); margin-left:auto; }
.h-add-btn { font-family:var(--font-mono); font-size:11px; font-weight:700; color:#8a8175; padding:2px 7px; cursor:pointer; border:1px solid #333; background:transparent; margin-left:8px; line-height:1; }
.h-add-btn:hover { color:var(--amber); border-color:var(--amber); }
.p-home-v2.dark .h-add-btn { color:#c9861a; border-color:rgba(0,0,0,0.2); }
.p-home-v2.dark .h-add-btn:hover { color:#111; border-color:#111; }
.h-panel-scroll { overflow-y:auto; flex:1; }
.h-panel-scroll::-webkit-scrollbar { width:0; }
.h-tasks-panel   { display:flex; flex-direction:column; flex:1.2; min-height:0; overflow:hidden; border-bottom:3px solid var(--border); }
.h-upcoming-panel { display:flex; flex-direction:column; flex:1; overflow:hidden; }

/* Task rows */
.h-task-row { padding:8px 14px; border-bottom:2px solid var(--border); display:flex; align-items:center; gap:0; background:var(--card); cursor:pointer; }
.h-task-row:last-child { border-bottom:none; }
.h-task-row:hover { background:var(--bg2); }
.h-t-box { width:12px; height:12px; border:2px solid var(--border); flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:7px; color:transparent; }
.h-t-box.done { background:transparent; border-color:rgba(245,158,11,.45); color:var(--amber); font-size:11px; font-weight:700; }
.h-t-stripe { width:3px; align-self:stretch; flex-shrink:0; border-radius:0; margin:0 7px; }
.h-t-text { font-size:11px; font-weight:500; color:var(--ink2); flex:1; line-height:1.3; }
.h-t-text.done { text-decoration:line-through; color:var(--muted); }
.h-t-chip { font-family:var(--font-mono); font-size:7px; font-weight:700; padding:2px 5px; background:var(--ink); color:var(--amber); flex-shrink:0; white-space:nowrap; min-width:22px; text-align:center; margin-left:6px; }

/* Upcoming rows */
.h-ut-row { padding:8px 14px; border-bottom:2px solid var(--border); display:flex; align-items:center; gap:0; background:var(--card); cursor:pointer; }
.h-ut-row:last-child { border-bottom:none; }
.h-ut-row:hover { background:var(--bg2); }
.h-ut-box { width:12px; height:12px; border:2px solid var(--border); flex-shrink:0; }
.h-ut-stripe { width:3px; align-self:stretch; flex-shrink:0; border-radius:0; margin:0 7px; }
.h-ut-text { font-size:11px; font-weight:500; color:var(--ink2); flex:1; line-height:1.3; }
.h-ut-due { font-family:var(--font-mono); font-size:7px; padding:2px 0; border:1px solid; text-transform:uppercase; flex-shrink:0; white-space:nowrap; margin-left:6px; width:48px; text-align:center; }
.h-ut-due.hoje   { border-color:var(--amber); color:var(--amber); }
.h-ut-due.amanha { border-color:#f97316; color:#f97316; }
.h-ut-due.semana { border-color:var(--muted); color:var(--muted); }
.h-ut-due.atrasado { border-color:var(--red); color:var(--red); }

/* Calendário */
.h-cal-panel { display:flex; flex-direction:column; overflow:hidden; min-width:0; }
.h-cal-toolbar { height:40px; flex-shrink:0; background:var(--ink); border-bottom:3px solid var(--border); display:flex; align-items:center; padding:0 12px; }
.h-cal-title { font-family:var(--font-mono); font-size:8px; color:var(--bg); letter-spacing:2px; text-transform:uppercase; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; }
.h-cal-nav { display:flex; gap:2px; margin-left:auto; }
.h-cal-nav-btn { font-family:var(--font-mono); font-size:8px; color:#928980; padding:3px 6px; cursor:pointer; border:1px solid #333; background:transparent; }
.h-cal-nav-btn:hover { color:var(--amber); border-color:var(--amber); }
.h-view-toggle { display:flex; margin-left:10px; }
.h-vt-btn { font-family:var(--font-mono); font-size:7px; letter-spacing:1px; text-transform:uppercase; padding:3px 8px; cursor:pointer; border:1px solid #333; background:transparent; color:#8a8175; }
.h-vt-btn:not(:first-child) { border-left:none; }
.h-vt-btn.active { background:var(--amber); border-color:var(--amber); color:#000; font-weight:700; }
.h-cal-body { flex:1; overflow:hidden; display:flex; flex-direction:column; }
.h-cal-view { display:none; flex:1; flex-direction:column; overflow:hidden; }
.h-cal-view.active { display:flex; }
/* Drawers */
.h-late-drawer,.h-sport-panel { position:fixed; right:0; top:50px; bottom:0; width:360px; background:#141210; border-left:1px solid #1e1b17; transform:translateX(100%); transition:transform 0.22s cubic-bezier(.4,0,.2,1); z-index:165; display:flex; flex-direction:column; overflow:hidden; }
.h-late-drawer.open,.h-sport-panel.open { transform:translateX(0); }
.h-ld-match { display:flex; flex-direction:column; gap:3px; padding:10px 0; border-bottom:1px solid rgba(255,255,255,0.07); cursor:default; }
.h-ld-match-row { display:flex; align-items:center; gap:6px; }
.h-ld-match-meta { font-size:9px; color:#8a8175; padding-left:22px; }
.h-ld-br-row { display:flex; align-items:center; gap:6px; padding:5px 0; border-bottom:1px solid rgba(255,255,255,0.05); }
.h-ld-br-row.me { background:#1a1600; border-radius:0; padding-left:4px; }
.h-ld-br-pos { font-family:var(--font-mono); font-size:9px; color:#8a8175; width:14px; text-align:right; flex-shrink:0; }
.h-ld-br-logo { width:16px; height:16px; object-fit:contain; flex-shrink:0; }
.h-ld-br-name { font-size:10px; color:#ccc; flex:1; }
.h-ld-br-row.me .h-ld-br-name { color:#e79c22; font-weight:700; }
.h-ld-br-pts { font-family:var(--font-mono); font-size:10px; font-weight:700; color:#e5e1d7; width:24px; text-align:right; }
.h-ld-br-j { font-family:var(--font-mono); font-size:9px; color:#8a8175; width:18px; text-align:right; }
.h-ld-head { padding:10px 16px; background:#e79c22; flex-shrink:0; display:flex; align-items:center; justify-content:space-between; }
.h-ld-title { font-family:var(--font-mono); font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#111; }
.h-ld-close { font-size:14px; color:#c9861a; background:none; border:none; cursor:pointer; padding:0; line-height:1; }
.h-ld-section { font-family:var(--font-mono); font-size:8px; font-weight:700; color:#e79c22; text-transform:uppercase; letter-spacing:.1em; padding:12px 0 5px; border-bottom:1px solid #2a2520; margin-bottom:2px; }
.h-ld-list { flex:1; overflow-y:auto; padding:12px 18px; }
.h-ld-row { display:flex; align-items:center; gap:8px; padding:9px 0; border-bottom:1px solid rgba(255,255,255,0.07); cursor:pointer; }
.h-ld-row:last-child { border-bottom:none; }
.h-ld-stripe { width:3px; align-self:stretch; flex-shrink:0; border-radius:0; }
.h-ld-text { font-size:10px; font-weight:600; color:#e5e1d7; flex:1; line-height:1.3; }
.h-ld-days { font-family:var(--font-mono); font-size:8px; font-weight:700; color:#e79c22; white-space:nowrap; }

/* ════ HOME v2 — Dark mode amber headers ════ */
.p-home-v2.dark .h-panel-head { background:var(--bg); border-bottom:1px solid var(--amber); box-shadow:0 3px 8px rgba(0,0,0,.45); }
.p-home-v2.dark .h-panel-title { color:var(--amber); }
.p-home-v2.dark .h-panel-count { color:var(--muted); }
.p-home-v2.dark .h-cal-toolbar { background:var(--bg); border-bottom:1px solid var(--amber); }
.p-home-v2.dark .h-cal-title { color:var(--amber); }
.p-home-v2.dark .h-cal-nav-btn { color:var(--muted); border-color:var(--border); }
.p-home-v2.dark .h-cal-nav-btn:hover { color:var(--amber); border-color:var(--amber); }
.p-home-v2.dark .h-cal-toolbar .h-vt-btn { color:var(--muted); border-color:var(--border); background:transparent; }
.p-home-v2.dark .h-cal-toolbar .h-vt-btn.active { background:transparent; border-color:var(--amber); color:var(--amber); }

/* ════ HOME v2 — LIGHT "Terminal Gelo Invertido" (2026-07-06) ════
   Espelha o ESCURO (chrome/headers pretos + âmbar); só os CORPOS de card viram gelo.
   Mata o slab laranja do bloco Atrasadas (era regra-base sem override no claro). */
body:not(.dark) .p-home-v2 {
  --bg2: #e4e6ea; --card: #eef0f2;
  --ink2: #14151a; --muted: #61636d;
  --border: #cfd1d6; --amber: var(--am-500);
}
/* corpos hardcoded #111 → gelo */
body:not(.dark) .p-home-v2 .h-prog-block,
body:not(.dark) .p-home-v2 .h-dl-block { background: #eef0f2; }
/* Atrasadas: mata o slab laranja → gelo + linha âmbar (= escuro) */
body:not(.dark) .p-home-v2 .h-late-block { background: #eef0f2; border-bottom: 1px solid var(--amber); }
body:not(.dark) .p-home-v2 .h-late-block .h-blk-label,
body:not(.dark) .p-home-v2 .h-late-num { color: var(--amber); }
body:not(.dark) .p-home-v2 .h-late-sub { color: var(--muted); }
body:not(.dark) .p-home-v2 .h-late-item { color: #14151a; border-left-color: var(--amber); }
body:not(.dark) .p-home-v2 .h-late-more { color: var(--muted); }
/* headers/toolbars: PRETOS + título âmbar (espelha o escuro) */
body:not(.dark) .p-home-v2 .h-panel-head,
body:not(.dark) .p-home-v2 .h-cal-toolbar { background: #0b0b0b; border-bottom: 1px solid var(--amber); }
body:not(.dark) .p-home-v2 .h-panel-title,
body:not(.dark) .p-home-v2 .h-cal-title { color: var(--amber); }
body:not(.dark) .p-home-v2 .h-panel-count,
body:not(.dark) .p-home-v2 .h-cal-nav-btn { color: #61636d; }
/* progresso: trilho prata; labels de bloco tinta média */
body:not(.dark) .p-home-v2 .h-prog-track { background:#dcd8d0; border-color:#c9cbd1; }
body:not(.dark) .p-home-v2 .h-blk-label { color:#61636d; }
/* cards do topo (fin-card): arredondado + gelo + grão (espelha o floating do escuro) */
body:not(.dark) .p-home-v2 .h-fin-card {
  border-radius: 9px !important;
  border: none !important;
  background-image: var(--grain-dark), linear-gradient(180deg, #eef0f2, #eef0f2) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8),
    0 0 0 1px color-mix(in srgb, var(--am-500) 18%, transparent) !important;
}
body:not(.dark) .p-home-v2 .h-fin-card .hwt { border-bottom-color:#cfd1d6; }

/* ════ HOME v2 — Calendário híbrido (Agenda + Semana) ════ */
/* Agenda (vista padrão) */
.h-ag-body { flex:1; overflow-y:auto; }
.h-ag-body::-webkit-scrollbar { width:0; }
.h-ag-group.drag-over { background:rgba(245,158,11,0.06); }
.h-ag-day { display:flex; align-items:center; gap:8px; padding:13px 16px 7px; font-family:var(--font-mono); font-size:8px; letter-spacing:2px; text-transform:uppercase; color:var(--muted); }
.h-ag-day.now { color:var(--amber); }
.h-ag-ln { flex:1; height:1px; background:var(--border); }
.h-ag-row { display:flex; align-items:stretch; padding:0 16px; height:46px; cursor:pointer; }
.h-ag-row:hover { background:var(--bg2); }
.h-ag-time { font-family:var(--font-mono); font-size:11px; font-weight:700; color:var(--ink2); width:46px; flex-shrink:0; display:flex; align-items:center; }
.h-ag-row.now .h-ag-time { color:var(--ink); }
.h-ag-stripe { width:3px; flex-shrink:0; margin:9px 11px 9px 0; }
.h-ag-main { flex:1; display:flex; flex-direction:column; justify-content:center; min-width:0; border-bottom:1px solid var(--border); }
.h-ag-tit { font-size:13px; font-weight:600; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.h-ag-meta { font-family:var(--font-mono); font-size:8px; color:var(--muted); letter-spacing:.5px; margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.h-ag-empty { color:var(--muted); font-size:11px; padding:16px; }
/* Semana condensada (toggle) */
.h-wk { flex:1; display:flex; flex-direction:column; overflow:hidden; }
.h-wk-hdr { display:flex; flex-shrink:0; border-bottom:2px solid var(--border); height:40px; }
.h-wk-hd { flex:1; border-right:1px solid var(--border); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; }
.h-wk-hd:last-child { border-right:none; }
.h-wkd-name { font-family:var(--font-mono); font-size:6.5px; color:var(--muted); letter-spacing:1px; text-transform:uppercase; }
.h-wkd-num { font-family:var(--font-mono); font-size:13px; font-weight:700; color:var(--ink2); }
.h-wk-hd.now { background:var(--amber); }
.h-wk-hd.now .h-wkd-name, .h-wk-hd.now .h-wkd-num { color:var(--bg); }
.h-wk-cols { flex:1; display:flex; overflow:hidden; }
.h-wk-col { flex:1; border-right:1px solid var(--border); padding:5px 3px; display:flex; flex-direction:column; gap:3px; overflow-y:auto; min-width:0; }
.h-wk-col:last-child { border-right:none; }
.h-wk-col::-webkit-scrollbar { width:0; }
.h-wk-col.now { background:rgba(245,158,11,0.04); }
.h-wk-col.drag-over { background:rgba(245,158,11,0.10); }
.h-wk-chip { border-left:3px solid; padding:3px 4px 4px; background:var(--card); cursor:grab; }
.h-wk-chip:active { cursor:grabbing; opacity:.8; }
.h-wk-ct { font-family:var(--font-mono); font-size:7px; opacity:.85; }
.h-wk-cn { font-size:9px; font-weight:600; color:var(--ink); line-height:1.2; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

/* ════ CAPTURA v2 ════ */
.p-captura-v2 {
  --ink:    #eae8e3;
  --dark:   #0b0b0b;
  --dark2:  #111111;
  --border: #1d1d1d;
  --muted:  #968d80;
  --amber:  var(--am-500);
  --amber2: #92400e;
  --red:    #f87171;
  --green:  #3fcf7e;
  --teal:   #34d399;
  --indigo: #818cf8;
  --blue:   #60a5fa;
  --purple: #c084fc;
  --orange: #fb923c;
  --card:   #1e1b17;
  --ink2:   #a8a29e;
  --bg2:    #161412;
  --sb:     #0b0b0b;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  font-family: var(--font-mono);
  background: var(--dark);
  color: var(--ink);
}

/* Topbar */
.cv2-topbar {
  height: 50px; flex-shrink: 0;
  background: var(--dark);
  border-bottom: 3px solid var(--amber);
  display: flex; align-items: center;
  padding: 0 16px; gap: 10px;
}
.cv2-topbar-icon { color: var(--amber); display: flex; align-items: center; }
.cv2-topbar-title { font-size: 10px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: var(--ink); }

/* Widget strip (legacy small stats) */
.cv2-wstrip {
  background: var(--dark2);
  border-bottom: 3px solid var(--border);
  display: flex; gap: 10px; padding: 10px 14px;
  flex-shrink: 0;
}
/* Home widgets inside Captura — tema claro */
.p-captura-v2 .h-widgets { grid-column: unset; grid-row: unset; flex-shrink: 0; border-bottom: 3px solid #1d1d1d; background: #fff; }
.p-captura-v2 .hw { background: #fff; border: 1px solid #1d1d1d; }
.p-captura-v2 .hwt { color: #888; border-bottom-color: #1d1d1d; }
.p-captura-v2 .hwln { color: #7d7468; }
.p-captura-v2 .hwv { color: #111; }
.p-captura-v2 .hwneu { color: #7d7468; }
.p-captura-v2 .hwpos { color: #16a34a; }
.p-captura-v2 .hwneg { color: #dc2626; }
.p-captura-v2 .hwvd { color: inherit; }
.p-captura-v2 .hw-big { color: #111; }
.p-captura-v2 .hw-unit { color: #888; }
.p-captura-v2 .hw-dl { color: #888; }
.p-captura-v2 .hv-standing { color: #7d7468; }
.p-captura-v2 .hv-standing strong { color: #e79c22; }
.p-captura-v2 .hbr-hdr { color: #888; border-bottom-color: #1d1d1d; }
.p-captura-v2 .hbr-pos { color: #888; }
.p-captura-v2 .hbr-name { color: #7d7468; }
.p-captura-v2 .hbr-pts { color: #111; }
.p-captura-v2 .hbr-j { color: #888; }
.p-captura-v2 .hbr-row { border-bottom-color: rgba(0,0,0,.05); }
.p-captura-v2 .hbr-row.me .hbr-name { color: #e79c22; }
.p-captura-v2 .hbr-row.me .hbr-pts { color: #e79c22; }
.cv2-hw { background: #141210; border: 2px solid #1d1d1d; padding: 8px 12px; flex: 1; min-width: 0; }
.cv2-hwt { font-family: var(--font-mono); font-size: 7px; font-weight: 700; color: #968d80; letter-spacing: 2px; text-transform: uppercase; padding-bottom: 6px; margin-bottom: 5px; border-bottom: 1px solid #1d1d1d; }
.cv2-hwl { display: flex; justify-content: space-between; align-items: baseline; padding: 2px 0; }
.cv2-hwln { font-size: 11px; font-weight: 500; color: #a8a29e; }
.cv2-hwv { font-family: var(--font-mono); font-size: 15px; font-weight: 700; color: #e5e0d8; }
.cv2-hwv.a { color: var(--amber); }
.cv2-hwv.r { color: #f87171; }

/* Body grid */
.cv2-body { display: grid; grid-template-columns: 280px 1fr; flex: 1; overflow: hidden; }

/* Left column */
.cv2-left { border-right: 3px solid var(--border); display: flex; flex-direction: column; overflow: hidden; }

/* Panel heads */
.cv2-ph { height: 38px; flex-shrink: 0; display: flex; align-items: center; padding: 0 14px; gap: 8px; border-bottom: 3px solid var(--border); overflow: hidden; }
.cv2-ph.dark { background: #141210; }
.cv2-ph.amber-bg { background: var(--amber); border-bottom: 3px solid var(--amber) !important; }
.cv2-ph-t { font-size: 10px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; }
.cv2-ph.dark .cv2-ph-t { color: var(--ink); }
.cv2-ph.amber-bg .cv2-ph-t { color: #000; }
.cv2-ph-s { font-size: 10px; font-weight: 600; margin-left: auto; }
.cv2-ph.dark .cv2-ph-s { color: var(--muted); }
.cv2-ph.amber-bg .cv2-ph-s { color: #000; }
.cv2-ph-actions { margin-left: auto; display: flex; align-items: center; gap: 6px; }
.cv2-btn-ghost { font-family: var(--font-mono); font-size: 8px; letter-spacing: 1px; text-transform: uppercase; background: transparent; border: 1px solid #333; color: var(--muted); padding: 3px 8px; cursor: pointer; }
.cv2-btn-ghost:hover { border-color: var(--muted); color: var(--ink); }
.cv2-ph.amber-bg .cv2-btn-ghost { background: #000; color: #fff; border-color: #000; }
.cv2-ph.amber-bg .cv2-btn-ghost:hover { background: #222; border-color: #222; }
.cv2-btn-capture { font-family: var(--font-mono); font-size: 8px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; background: var(--amber); color: #000; border: none; padding: 4px 10px; cursor: pointer; }
.cv2-btn-capture:disabled { opacity: .4; cursor: default; }
.cv2-btn-capture:not(:disabled):hover { background: #d9991e; }
.cv2-ph.amber-bg .cv2-btn-capture { font-size: 9px; font-weight: 700; letter-spacing: 1.5px; padding: 4px 16px; background: #000 !important; color: #e79c22 !important; border: none; cursor: pointer; opacity: 1 !important; line-height: 1; }
.cv2-ph.amber-bg .cv2-btn-capture:disabled { background: #000 !important; color: #e79c22 !important; opacity: 1 !important; cursor: not-allowed; }
.cv2-ph.amber-bg .cv2-btn-capture:not(:disabled):hover { background: #111 !important; }

/* Capture body — dark */
.cv2-capture-body { background: #141210; flex-shrink: 0; padding: 12px 14px; border-bottom: 3px solid var(--border); display: flex; flex-direction: column; gap: 10px; }
.cv2-textarea { background: #fff; border: none; border-bottom: 1px solid rgba(0,0,0,.1); outline: none; resize: none; width: 100%; height: 70px; font-family: var(--font-mono); font-size: 13px; font-weight: 700; color: #111; padding: 6px 8px; }
.cv2-textarea::placeholder { color: #bbb; }

/* Tag groups */
.cv2-tag-groups { display: flex; flex-direction: column; gap: 5px; }
.cv2-tag-group { display: flex; align-items: center; gap: 6px; }
.cv2-tg-label { font-size: 9px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: var(--muted); width: 72px; flex-shrink: 0; }
.cv2-tg-chips { display: flex; gap: 3px; flex-wrap: wrap; }
.cv2-tag { font-family: var(--font-mono); font-size: 9px; font-weight: 700; padding: 3px 8px; border: 1px solid var(--amber); color: var(--amber); cursor: pointer; background: transparent; }
.cv2-tag:hover { opacity: .7; }
.cv2-tag.on { border-color: var(--amber); color: #000; background: var(--amber); }

/* Inbox list — dark */
.cv2-inbox { flex: 1; display: flex; flex-direction: column; overflow: hidden; }
.cv2-inbox-list { flex: 1; overflow-y: auto; background: #141210; }
.cv2-inbox-list::-webkit-scrollbar { width: 0; }
.cv2-ii { padding: 10px 14px; border-bottom: 1px solid rgba(255,255,255,.06); cursor: pointer; display: flex; flex-direction: column; gap: 6px; }
.cv2-ii:hover { background: rgba(255,255,255,.04); }
.cv2-ii:last-child { border-bottom: none; }
.cv2-ii-row { display: flex; align-items: center; gap: 8px; }
.cv2-ii-dot { width: 5px; height: 5px; border-radius: 50%; flex-shrink: 0; }
.cv2-ii-title { font-size: 13px; font-weight: 700; color: var(--ink); flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cv2-ii-time { font-size: 9px; color: var(--muted); }
.cv2-ii-cats { display: flex; gap: 3px; flex-wrap: wrap; }
.cv2-ii-cat { font-family: var(--font-mono); font-size: 9px; font-weight: 700; padding: 3px 7px; border: 1px solid rgba(255,255,255,.18); color: var(--muted); cursor: pointer; background: transparent; }
.cv2-ii-cat:hover { border-color: var(--amber); color: var(--amber); }
.cv2-inbox-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; flex: 1; color: var(--muted); }
.cv2-inbox-empty-icon { font-size: 20px; opacity: .4; }
.cv2-inbox-empty-label { font-size: 8px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; }

/* Right column: scrollable, 4 destination rows stack naturally */
.cv2-right { display: flex; flex-direction: column; overflow-y: auto; }
.cv2-right::-webkit-scrollbar { width: 0; }
.cv2-dest { display: flex; flex-direction: column; border-bottom: 3px solid var(--border); min-height: 180px; }
.cv2-dest:last-child { border-bottom: none; }
.cv2-subcols { flex: 1; display: flex; min-height: 140px; }
.cv2-subcol { flex: 1; min-width: 0; display: flex; flex-direction: column; border-right: 1px solid var(--border); background: var(--ink); }
.cv2-subcol:last-child { border-right: none; }
.cv2-subcol-head { height: 28px; flex-shrink: 0; display: flex; align-items: center; padding: 0 12px; border-bottom: 1px solid var(--border); background: rgba(200,139,26,.1); }
.cv2-subcol-label { font-size: 10px; font-weight: 700; color: var(--amber); letter-spacing: 1.5px; text-transform: uppercase; }
.cv2-subcol-count { font-size: 11px; font-weight: 700; color: var(--muted); margin-left: auto; }
.cv2-subcol-list { flex: 1; overflow-y: auto; }
.cv2-subcol-list::-webkit-scrollbar { width: 0; }
.cv2-sli { display: flex; align-items: center; gap: 7px; padding: 9px 12px; border-bottom: 1px solid rgba(0,0,0,.06); cursor: pointer; }
.cv2-sli:hover { background: rgba(0,0,0,.04); }
.cv2-sli:last-child { border-bottom: none; }
.cv2-sli-dot { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }
.cv2-sli-text { font-size: 12px; font-weight: 400; color: var(--dark); flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cv2-subcol-empty { font-size: 10px; font-weight: 700; color: #999; padding: 10px 12px; }

/* === p-captura-v2: subcol-heads → amber === */
.p-captura-v2 .cv2-subcol { background: #fff; }
.p-captura-v2 .cv2-subcol-head { background: #1e1a14; border-bottom: 1px solid #e79c22; }
.p-captura-v2 .cv2-subcol-label { color: #e79c22; }
.p-captura-v2 .cv2-subcol-count { color: #968d80; }


/* === IDV pages — global dark/light toggle === */

/* Topbar sempre preta independente de modo claro/escuro */
.p-notas .h-topbar,
.p-referencias .h-topbar,
.p-captura-v2 .h-topbar,
.p-agenda .h-topbar,
.p-biblioteca .h-topbar { background: #0b0b0b; }

/* Light mode: page wrapper cream */
.main:not(.dark) .p-notas,
.main:not(.dark) .p-referencias,
.main:not(.dark) .p-captura-v2,
.main:not(.dark) .p-agenda,
.main:not(.dark) .p-biblioteca { background: #fff; }

/* Light mode: Agenda — ref-v2-main tem bg explícito dark; reverter */
.main:not(.dark) .p-agenda .ref-v2-main { background: #fff; }

/* cal-header: altura 38px alinhada com cv2-ph sidebar, sem margem preta */
.p-agenda .cal-header { top: 0; background: #0b0b0b; padding: 0 16px; height: 38px; margin-bottom: 0; }
.p-agenda .cal-nav-btn { color: #e79c22; border-color: #78490a; background: transparent; }
.p-agenda .cal-nav-btn:hover { background: #1e1500; }
.p-agenda .cal-title { color: #eae8e3; }
/* cal-tabs: preto com contorno amber; ativo = amber sólido; font inherit (button não herda) */
.p-agenda .cal-tab { color: #e79c22; background: #0b0b0b; border-color: #e79c22; font-family: inherit; border-radius: 0; }
.p-agenda .cal-tab.active { background: #e79c22; color: #000; border-color: #e79c22; }

/* Agenda sidebar: "Hoje" e "Próximos" em amber */
.p-agenda .ref-v2-section-label { color: #e79c22; font-weight: 700; }

/* Widgets dark separator */
.p-agenda .h-widgets { border-bottom: 3px solid #1d1d1d; }

/* Sidebar item times/dates: legível */
.p-agenda .ref-v2-ri-time { font-size: 10px; }
.p-agenda .ref-v2-ri-text { font-size: 10px; }

/* Dark mode: todas IDV pages — ALL BLACK */

/* ref-v2-main fica preto (col-header já é #141210 por padrão — não override) */
.p-notas.dark .ref-v2-main,
.p-referencias.dark .ref-v2-main,
.p-captura-v2.dark .ref-v2-main,
.p-biblioteca.dark .ref-v2-main { background: #0b0b0b; }

/* Notas/Referencias — col-body preto, itens */
.p-notas.dark .ref-v2-main .col-box,
.p-notas.dark .ref-v2-main .col-body,
.p-referencias.dark .ref-v2-main .col-box,
.p-referencias.dark .ref-v2-main .col-body,
.p-biblioteca.dark .ref-v2-main .col-box,
.p-biblioteca.dark .ref-v2-main .col-body { background: #0b0b0b; }
.p-notas.dark .ref-v2-main .item-text,
.p-referencias.dark .ref-v2-main .item-text { color: #eae8e3; }
.p-notas.dark .ref-v2-main .item-domain,
.p-referencias.dark .ref-v2-main .item-domain { color: #968d80; }
.p-notas.dark .ref-v2-main .col-item,
.p-referencias.dark .ref-v2-main .col-item { border-bottom-color: #1d1d1d; }
.p-notas.dark .ref-v2-main .col-item:hover,
.p-referencias.dark .ref-v2-main .col-item:hover { background: #111; }
.p-notas.dark .ref-v2-main .col-add,
.p-referencias.dark .ref-v2-main .col-add { background: #0b0b0b; color: #968d80; }

/* Captura — tudo preto em dark mode */
.p-captura-v2.dark .cv2-col,
.p-captura-v2.dark .cv2-body,
.p-captura-v2.dark .cv2-sli-list,
.p-captura-v2.dark .cv2-inbox-list { background: #0b0b0b; }
.p-captura-v2.dark .cv2-right { background: #0b0b0b; }
.p-captura-v2.dark .cv2-dest { background: #0b0b0b; border-bottom-color: #1d1d1d; }
.p-captura-v2.dark .cv2-subcol { background: #0b0b0b; }
.p-captura-v2.dark .cv2-subcol-head { background: #0b0b0b; border-bottom-color: #e79c22; }
.p-captura-v2.dark .cv2-subcol-list { background: #0b0b0b; }
.p-captura-v2.dark .cv2-capture-body { background: #0b0b0b; border-bottom-color: #1d1d1d; }
.p-captura-v2.dark .cv2-textarea { background: #111; color: #eae8e3; border-bottom-color: #1d1d1d; }
.p-captura-v2.dark .cv2-textarea::placeholder { color: #7d7468; }
.p-captura-v2.dark .cv2-sli-text { color: #eae8e3; }
.p-captura-v2.dark .cv2-sli { border-bottom-color: #1d1d1d; }
.p-captura-v2.dark .cv2-sli:hover { background: #111; }
.p-captura-v2.dark .cv2-ii { border-bottom-color: #1d1d1d; }
.p-captura-v2.dark .cv2-ii:hover { background: #111; }
.p-captura-v2.dark .cv2-left { border-right-color: #1d1d1d; }

/* cal-section: sem padding-top → alinha cal-header base-a-base com cv2-ph */
.p-agenda .cal-section { padding-top: 0; }

.hwv, .hwvd { transition: filter 0.2s; }

/* Privacy GLOBAL (2026-07-15): flag `body.privacy` (setada uma vez em app.js,
   ver useEffect de tema) + classe utilitária `.money` em QUALQUER elemento
   que renderiza valor financeiro/quantidade de ativo. Substitui o padrão
   antigo de listar `.p-<pagina>.privacy .h-fin-card` página a página — esse
   modelo vazava: só 6 páginas tinham a classe wrapper aplicada e a própria
   página Financeiro (hero number, extratos, cartão, cripto) nunca teve
   cobertura nenhuma. Regra única, sem exceção por página: view nova que usa
   `.money` já nasce coberta. `.hwv`/`.hwvd` seguem cobertos por compat com
   o mini-widget financeiro (`h-fin-card`) — não exigem a classe `.money`
   além deles mesmos. */
body.privacy .money,
body.privacy .h-fin-card .hwv,
body.privacy .h-fin-card .hwvd { filter: blur(6px); user-select: none; transition: filter 0.2s; }

/* Janela em background (aba trocada, minimizada, Mac dormindo): pausa as
   animações CSS infinitas (ticker Bloomberg, dots ao vivo, pulse) — evita
   GPU/CPU rodando pra tela que ninguém está vendo. Zero efeito em foco.
   Toggle em app.js via Page Visibility API (2026-07-21). */
body.bg-paused .tk-track,
body.bg-paused .tk-dot,
body.bg-paused .tk-dot::after,
body.bg-paused .h-topbar::before,
body.bg-paused .fin-empty.is-loading,
body.bg-paused .pnote-dot { animation-play-state: paused !important; }

/* Dark mode: h-widgets em todas IDV pages (overrides explícitos pois cores cream foram setadas com especificidade) */
.p-notas.dark .h-widgets, .p-referencias.dark .h-widgets,
.p-captura-v2.dark .h-widgets, .p-agenda.dark .h-widgets,
.p-biblioteca.dark .h-widgets { background: #1a1714; border-bottom-color: #000; }
.p-notas.dark .hw, .p-referencias.dark .hw,
.p-captura-v2.dark .hw, .p-agenda.dark .hw,
.p-biblioteca.dark .hw { background: #1e1b17; border-color: #0b0b0b; }
.p-notas.dark .hwt, .p-referencias.dark .hwt,
.p-captura-v2.dark .hwt, .p-agenda.dark .hwt,
.p-biblioteca.dark .hwt { color: #968d80; border-bottom-color: #2e2a24; }
.p-notas.dark .hwln, .p-referencias.dark .hwln,
.p-captura-v2.dark .hwln, .p-agenda.dark .hwln,
.p-biblioteca.dark .hwln { color: #a8a29e; }
.p-notas.dark .hwv, .p-referencias.dark .hwv,
.p-captura-v2.dark .hwv, .p-agenda.dark .hwv,
.p-biblioteca.dark .hwv { color: #e5e0d8; }
.p-notas.dark .hw-big, .p-referencias.dark .hw-big,
.p-captura-v2.dark .hw-big, .p-agenda.dark .hw-big,
.p-biblioteca.dark .hw-big { color: #e5e0d8; }
.p-notas.dark .hw-unit, .p-referencias.dark .hw-unit,
.p-captura-v2.dark .hw-unit, .p-agenda.dark .hw-unit,
.p-biblioteca.dark .hw-unit { color: #968d80; }
.p-notas.dark .hwvd, .p-referencias.dark .hwvd,
.p-captura-v2.dark .hwvd, .p-agenda.dark .hwvd,
.p-biblioteca.dark .hwvd { color: inherit; }
.p-notas.dark .hbr-name, .p-referencias.dark .hbr-name,
.p-captura-v2.dark .hbr-name, .p-agenda.dark .hbr-name,
.p-biblioteca.dark .hbr-name { color: #a8a29e; }
.p-notas.dark .hbr-pts, .p-referencias.dark .hbr-pts,
.p-captura-v2.dark .hbr-pts, .p-agenda.dark .hbr-pts,
.p-biblioteca.dark .hbr-pts { color: #e5e0d8; }
.p-notas.dark .hbr-pos, .p-referencias.dark .hbr-pos,
.p-captura-v2.dark .hbr-pos, .p-agenda.dark .hbr-pos,
.p-biblioteca.dark .hbr-pos { color: #968d80; }
.p-notas.dark .hbr-hdr, .p-referencias.dark .hbr-hdr,
.p-captura-v2.dark .hbr-hdr, .p-agenda.dark .hbr-hdr,
.p-biblioteca.dark .hbr-hdr { color: #968d80; border-bottom-color: #2e2a24; }
.p-notas.dark .hbr-row, .p-referencias.dark .hbr-row,
.p-captura-v2.dark .hbr-row, .p-agenda.dark .hbr-row,
.p-biblioteca.dark .hbr-row { border-bottom-color: rgba(255,255,255,.05); }
.p-notas.dark .hv-standing, .p-referencias.dark .hv-standing,
.p-captura-v2.dark .hv-standing, .p-agenda.dark .hv-standing,
.p-biblioteca.dark .hv-standing { color: #a8a29e; }

/* hwpos/hwneg em dark mode: devem prevalecer sobre o override genérico de .hwv */
.p-notas.dark .hwpos, .p-referencias.dark .hwpos,
.p-captura-v2.dark .hwpos, .p-agenda.dark .hwpos,
.p-biblioteca.dark .hwpos { color: #3fcf7e; }
.p-notas.dark .hwneg, .p-referencias.dark .hwneg,
.p-captura-v2.dark .hwneg, .p-agenda.dark .hwneg,
.p-biblioteca.dark .hwneg { color: #f87171; }

/* Biblioteca — nav por tipo de mídia */
.p-biblioteca .lib-nav-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px;
  font-size: 11px;
  color: #a09b95;
  cursor: pointer;
  border-left: 3px solid transparent;
}
.p-biblioteca .lib-nav-item:hover { color: #e5e0d8; background: rgba(245,158,11,0.07); }
.p-biblioteca .lib-nav-item.active {
  background: rgba(245,158,11,0.15);
  border-left-color: #e79c22;
  color: #fff;
}
.p-biblioteca .lib-nav-count {
  margin-left: auto;
  font-size: 9px;
  color: #968d80;
}
.p-biblioteca .lib-nav-item.active .lib-nav-count { color: #e79c22; }
.p-biblioteca .lib-nav-icon { display: flex; align-items: center; flex-shrink: 0; opacity: .65; }
.p-biblioteca .lib-nav-item.active .lib-nav-icon { opacity: 1; color: #e79c22; }
.p-biblioteca .lib-nav-item:hover .lib-nav-icon { opacity: .9; }

/* Biblioteca — divisórias de caderno (opção C) */
.p-biblioteca .lib-divider-tabs {
  display: flex;
  flex-shrink: 0;
  border-bottom: 2px solid #d5d1ca;
  overflow-x: auto;
  scrollbar-width: none;
}
.p-biblioteca .lib-divider-tabs::-webkit-scrollbar { display: none; }
.p-biblioteca .lib-dtab {
  flex: 1;
  min-width: 52px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #888;
  background: #e8e4de;
  border-right: 1px solid #d5d1ca;
  cursor: pointer;
  white-space: nowrap;
  user-select: none;
}
.p-biblioteca .lib-dtab:last-child { border-right: none; }
.p-biblioteca .lib-dtab:hover:not(.active) { background: #dedad3; color: #7d7468; }
.p-biblioteca .lib-dtab.active {
  background: #fff;
  color: #0b0b0b;
  border-bottom: 2px solid #e79c22;
  margin-bottom: -2px;
  position: relative;
  z-index: 1;
}
.p-biblioteca .lib-dtab-icon { display: flex; align-items: center; opacity: .6; }
.p-biblioteca .lib-dtab.active .lib-dtab-icon { opacity: 1; color: #e79c22; }
.p-biblioteca .lib-dtab:hover:not(.active) .lib-dtab-icon { opacity: .85; }

/* Active type label below tabs */
.p-biblioteca .lib-active-label {
  padding: 5px 14px;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #968d80;
  background: #fff;
  border-bottom: 1px solid #e5e1d7;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.p-biblioteca .lib-active-count {
  font-size: 9px;
  font-weight: 400;
  background: #ece8e2;
  padding: 1px 6px;
  color: #888;
}

/* Dark mode */
.p-biblioteca.dark .lib-divider-tabs { border-bottom-color: #1d1d1d; }
.p-biblioteca.dark .lib-dtab { background: #181614; color: #3a3630; border-right-color: #1d1d1d; }
.p-biblioteca.dark .lib-dtab:hover:not(.active) { background: #1f1c18; color: #a09b95; }
.p-biblioteca.dark .lib-dtab.active { background: #0b0b0b; color: #eae8e3; }
.p-biblioteca.dark .lib-active-label { background: #0b0b0b; color: #968d80; border-bottom-color: #1d1d1d; }
.p-biblioteca.dark .lib-active-count { background: #1a1a1a; color: #3a3630; }

/* ===== PAGE: financas — IDV ===== */
.fin-v2 .ref-v2-stat-val { font-family: var(--bb-font-ui); }
.fin-card-mini { margin: 12px 12px 0; padding: 11px 12px; border: 1px solid var(--bb-border-mid); border-radius:0; background: var(--bb-bg-card2); }
.fin-card-mini-top { display: flex; justify-content: space-between; align-items: baseline; font-size: 10px; text-transform: uppercase; letter-spacing: .06em; color: var(--bb-text-muted); margin-bottom: 8px; }
.fin-card-mini-val { font-family: var(--bb-font-ui); font-size: 15px; font-weight: 700; color: var(--bb-accent); letter-spacing: 0; text-transform: none; }
.fin-card-mini .cartao-limit-bar { height: 5px; background: var(--bb-border-mid); border-radius:0; }
.fin-card-mini .cartao-limit-fill { height: 100%; border-radius:0; background: var(--bb-accent); }
.fin-card-mini-foot { font-size: 9px; color: var(--bb-text-muted); margin-top: 5px; }
.fin-card-mini-dates { display: flex; justify-content: space-between; font-size: 10px; color: var(--bb-text-muted); margin-top: 9px; }
.fin-card-mini-dates b { color: var(--bb-text-2); font-weight: 700; }
.ref-v2-main .col-item { display: flex; align-items: flex-start; gap: 9px; padding: 9px 14px; }
.ref-v2-main .item-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; margin-top: 4px; }
.ref-v2-main .item-dot.dot-red { background: var(--bb-red); }
.ref-v2-main .item-body { flex: 1; min-width: 0; }
.fin-item-meta { display: flex; gap: 8px; align-items: center; justify-content: space-between; margin-top: 3px; font-size: 9px; color: #8a8a8a; }
.fin-item-meta .tx-date { color: #8a8a8a; }
.ref-v2-main .tx-val { font-family: var(--bb-font-ui); font-size: 11px; font-weight: 700; white-space: nowrap; flex-shrink: 0; }
.ref-v2-main .tx-val.in { color: var(--bb-green); }
.ref-v2-main .tx-val.out { color: var(--bb-red); }
.fin-empty { padding: 16px 14px; font-size: 11px; color: #9a9a9a; }
.fin-cat-item .fin-cat-top { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.fin-cat-bar { height: 4px; background: rgba(0,0,0,.08); border-radius:0; margin-top: 6px; }
.fin-cat-fill { height: 100%; border-radius:0; }

/* ── Hero band rolável (Daily/Saúde — IDV Captura em página longa) ── */
.lux-hero { display: flex; border: 2px solid #1d1d1d; background: #141210; box-shadow: inset 0 1px 0 var(--card-sheen), 0 5px 16px rgba(0,0,0,.5); margin-bottom: 22px; }
.lux-hero .cell { flex: 1; padding: 12px 16px; border-right: 1px solid #1d1d1d; min-width: 0; }
.lux-hero .cell:last-child { border-right: none; }
.lux-hero .lbl { font-family: var(--font-mono); font-size: 8px; letter-spacing: 1.5px; text-transform: uppercase; color: #e79c22; margin-bottom: 5px; }
.lux-hero .val { font-family: var(--font-mono); font-size: 24px; font-weight: 700; line-height: 1; color: #eae8e3; }
.lux-hero .sub { font-family: var(--font-mono); font-size: 8px; color: #968d80; margin-top: 4px; text-transform: uppercase; letter-spacing: .5px; }

/* ═══════════════════════════════════════════════════════════════════════════
   PROPAGAÇÃO TEMA ESCURO · alinhamento de tokens ao padrão Financeiro (2026-07-04)
   Escopado em body.dark → nunca toca o tema claro. Especificidade (0,2,0)
   vence os tokens locais (0,1,0) de cada página. Legibilidade + ouro coerente. */
body.dark .p-home-v2, body.dark .p-notas, body.dark .p-agenda, body.dark .p-referencias,
body.dark .p-biblioteca, body.dark .p-captura, body.dark .p-captura-v2, body.dark .p-daily,
body.dark .p-saude, body.dark .p-habitos, body.dark .p-ferramentas, body.dark .p-estudos,
body.dark .p-senhas, body.dark .p-videoteca, body.dark .p-clientes, body.dark .p-projetos,
body.dark .p-team, body.dark .p-financas, body.dark .p-financas-pj, body.dark .p-home,
body.dark .p-daily .prf, body.dark .ref-v2-main {
  --amber: #e79c22;     /* ouro de assinatura (era #e79c22 laranja) */
  --green: #37d17e;     /* = --pos (era #3fcf7e) */
  --green-br: #37d17e;
  --red: #f2564b;       /* = --neg (era #f87171) */
  --muted: #948c80;     /* piso de legibilidade (era #968d80/#686560, ilegível) */
  --ink: #f1eee7;
  --ink2: #b1a99d;      /* secundário legível (era #686560) */
}

/* ── SKIN COMPARTILHADO · cards flutuantes + títulos Big Shoulders (body.dark) ──
   Cantos 8px + halo-hairline + sombra difusa nos cards-tipo. Grid-cells
   (cal-month-cell, tbl-cell, hw-*) NÃO entram. Só escuro. */
body.dark .col-box, body.dark .h-fin-card, body.dark .stat-card, body.dark .cartao-card,
body.dark .h-panel, body.dark .fin-card, body.dark .area-card, body.dark .home-card,
body.dark .course-card, body.dark .proj-card, body.dark .hqs-card, body.dark .reg-card,
body.dark .poster-card, body.dark .h-t-box {
  border-radius: 8px;
  box-shadow:
    inset 0 1px 0 var(--card-sheen),
    var(--card-ring),
    0 14px 34px -16px rgba(0,0,0,.85),
    0 3px 10px -4px rgba(0,0,0,.55);
  transition: transform .2s cubic-bezier(.16,1,.3,1), box-shadow .2s cubic-bezier(.16,1,.3,1);
}
body.dark .col-box:hover, body.dark .h-fin-card:hover, body.dark .stat-card:hover,
body.dark .area-card:hover, body.dark .home-card:hover, body.dark .course-card:hover,
body.dark .proj-card:hover {
  transform: translateY(-2px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.1),
    0 0 0 1px rgba(47,214,198,.4),
    0 22px 48px -18px rgba(0,0,0,.9),
    0 6px 16px -6px rgba(0,0,0,.6);
}
/* títulos de seção → Big Shoulders Display (assinatura do gold) */
body.dark .sec-label, body.dark .section-label, body.dark .page-title,
body.dark .h-blk-label, body.dark .ext-head, body.dark .cat-col-head,
body.dark .ref-v2-section-label, body.dark .cons-head {
  font-family: var(--font-display) !important;
  font-weight: 700; letter-spacing: .08em;
}

/* ═══════════════════════════════════════════════════════════════════════════
   REVOLUÇÃO ESCURO v2 · BOLD (2026-07-04) — assinaturas do Financeiro, forte.
   Escopo body.dark. Textura + sombra FORTE + Big Shoulders + glow + gloss. ═══ */

/* CARDS: textura de grão (material de terminal) + FLUTUAÇÃO forte + arredondar */
body.dark .col-box, body.dark .h-fin-card, body.dark .stat-card, body.dark .cartao-card,
body.dark .h-panel, body.dark .fin-card, body.dark .area-card, body.dark .home-card,
body.dark .course-card, body.dark .proj-card, body.dark .hqs-card, body.dark .poster-card,
body.dark .h-t-box, body.dark .day-panel, body.dark .capture-box, body.dark .dest-box,
body.dark .hc-card, body.dark .reg-card, body.dark .h-widget, body.dark .hw-card {
  border-radius: 9px !important;
  border: none !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E"),
    linear-gradient(180deg, var(--card-fill), var(--card-fill)) !important;
  box-shadow:
    inset 0 1px 0 var(--card-sheen-hi),
    var(--card-ring),
    0 20px 44px -18px rgba(0,0,0,.9),
    0 6px 14px -6px rgba(0,0,0,.6) !important;
  transition: transform .2s cubic-bezier(.16,1,.3,1), box-shadow .2s cubic-bezier(.16,1,.3,1);
}
body.dark .col-box:hover, body.dark .h-fin-card:hover, body.dark .stat-card:hover,
body.dark .area-card:hover, body.dark .home-card:hover, body.dark .course-card:hover,
body.dark .proj-card:hover, body.dark .hqs-card:hover {
  transform: translateY(-3px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    0 0 0 1px rgba(47,214,198,.42),
    0 28px 56px -20px rgba(0,0,0,.95),
    0 8px 18px -6px rgba(0,0,0,.65) !important;
}

/* HEADERS de painel full-width → faixa PRETA + borda inferior âmbar + título âmbar */
body.dark .col-header, body.dark .card-header, body.dark .cat-header, body.dark .list-header,
body.dark .cv2-subcol-head, body.dark .ritual-header {
  background: linear-gradient(180deg, #1a1712, #0c0b09) !important;
  border-bottom: 1px solid var(--am-600) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 3px 10px -4px rgba(0,0,0,.5);
}

/* TÍTULOS/EYEBROWS → Big Shoulders Display (assinatura) */
body.dark .col-header, body.dark .col-title, body.dark .card-header, body.dark .cat-col-head,
body.dark .cat-header, body.dark .sec-label, body.dark .section-label, body.dark .page-title,
body.dark .page-header, body.dark .h-blk-label, body.dark .ext-head, body.dark .cons-head,
body.dark .med-head, body.dark .list-header, body.dark .h-wk-hd, body.dark .stat-label,
body.dark .ref-v2-section-label, body.dark .drawer-title, body.dark .mood-label {
  font-family: var(--font-display) !important;
  font-weight: 700 !important; letter-spacing: .07em;
}
body.dark .col-header, body.dark .card-header, body.dark .cat-header { color: var(--am-400) !important; }

/* NÚMERO-HERÓI → glow âmbar via drop-shadow (protagonista) */
body.dark .bal-value, body.dark .cartao-card-val, body.dark .h-g-l1, body.dark .h-g-l2,
body.dark .hc-main-val, body.dark .hqs-val, body.dark .hw-big, body.dark .h-late-num,
body.dark .h-dl-num, body.dark .lux-hero {
  filter: drop-shadow(0 0 18px rgba(231,156,34,.3)) drop-shadow(0 1px 1px rgba(0,0,0,.5));
}

/* BARRAS → gloss em ::after (nunca no bg do fill) */
body.dark .bar-fill, body.dark .prog-fill, body.dark .stat-bar-fill, body.dark .h-bar-fill,
body.dark .mbar-fill, body.dark .goal-fill, body.dark .cat-bar-fill {
  position: relative; border-radius: var(--r-pill, 999px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 0 8px -1px currentColor;
}
body.dark .bar-fill::after, body.dark .prog-fill::after, body.dark .stat-bar-fill::after,
body.dark .h-bar-fill::after, body.dark .mbar-fill::after, body.dark .goal-fill::after,
body.dark .cat-bar-fill::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,.32), rgba(255,255,255,.05) 48%, rgba(0,0,0,.28));
}


/* ═══════════════════════════════════════════════════════════════════════
   REVOLUÇÃO ESCURO · CSS POR-PÁGINA (classes reais, workflow 2026-07-04)
   Escopo body.dark. Só tema escuro. ═══════════════════════════════════════ */
/* === Home === */
/* Página Home — namespace .p-home-v2 (raiz recebe .dark). Escopo body.dark, */
/* prefixado com .p-home-v2 p/ vencer os locais .p-home-v2.dark (0,2,0). */

/* 1 · CARDS / widgets / tiles → grão de terminal + flutuação + arredondar */
body.dark .p-home-v2 .hw,
body.dark .p-home-v2 .h-fin-card {
  border-radius: 9px !important;
  border: none !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E"),
    linear-gradient(180deg, var(--card-fill), var(--card-fill)) !important;
  box-shadow:
    inset 0 1px 0 var(--card-sheen-hi),
    var(--card-ring),
    0 20px 44px -18px rgba(0,0,0,.9),
    0 6px 14px -6px rgba(0,0,0,.6) !important;
  transition: transform .2s cubic-bezier(.16,1,.3,1), box-shadow .2s cubic-bezier(.16,1,.3,1);
}
body.dark .p-home-v2 .hw:hover,
body.dark .p-home-v2 .h-fin-card:hover {
  transform: translateY(-3px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    0 0 0 1px rgba(47,214,198,.42),
    0 28px 56px -20px rgba(0,0,0,.95),
    0 8px 18px -6px rgba(0,0,0,.65) !important;
}

/* 2 · HEADERS de painel full-width → faixa preta + borda inferior âmbar */
body.dark .p-home-v2 .h-panel-head,
body.dark .p-home-v2 .h-cal-toolbar {
  background: linear-gradient(180deg, #1a1712, #0c0b09) !important;
  /* 2px pra bater com as faixas Progresso/Atrasadas/Deadlines (era 1px → linha fina
     em Tasks/Próximas/Agenda). Mesma cor am-600, mesma espessura = linha uniforme. */
  border-bottom: 2px solid var(--am-600) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 3px 10px -4px rgba(0,0,0,.5);
}
body.dark .p-home-v2 .h-panel-title,
body.dark .p-home-v2 .h-cal-title {
  color: #eeae38 !important;
}

/* 3 · TÍTULOS / EYEBROWS → Big Shoulders Display (assinatura do gold) */
body.dark .p-home-v2 .hwt,
body.dark .p-home-v2 .h-blk-label,
body.dark .p-home-v2 .h-g-sub,
body.dark .p-home-v2 .h-gcal-hdr,
body.dark .p-home-v2 .h-panel-title,
body.dark .p-home-v2 .h-cal-title {
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  letter-spacing: .07em;
}

/* 4 · NÚMEROS-HERÓI → glow âmbar + semântica (âmbar/verde/vermelho) */
body.dark .p-home-v2 .h-g-l1,
body.dark .p-home-v2 .h-g-l2,
body.dark .p-home-v2 .h-late-num,
body.dark .p-home-v2 .hw-big,
body.dark .p-home-v2 .h-dl-num {
  filter: drop-shadow(0 0 18px rgba(231,156,34,.3)) drop-shadow(0 1px 1px rgba(0,0,0,.5));
}
body.dark .p-home-v2 .h-late-num { color: #e79c22 !important; }
body.dark .p-home-v2 .h-dl-row.soon .h-dl-num { color: #e79c22 !important; }
body.dark .p-home-v2 .h-dl-row.urgent .h-dl-num {
  color: #f2564b !important;
  filter: drop-shadow(0 0 18px rgba(242,86,75,.32)) drop-shadow(0 1px 1px rgba(0,0,0,.5));
}

/* 5 · BARRAS (fills) → pill + gloss em ::after (NUNCA no bg do fill) */
body.dark .p-home-v2 .h-prog-track { border-radius: 999px; }
body.dark .p-home-v2 .h-prog-fill {
  position: relative;
  border-radius: 999px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 0 8px -1px currentColor;
}
body.dark .p-home-v2 .h-prog-row.highlight .h-prog-fill { color: #e79c22; }
body.dark .p-home-v2 .h-prog-fill::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,.32), rgba(255,255,255,.05) 48%, rgba(0,0,0,.28));
}

/* 6 · LEGIBILIDADE → texto que informa nunca abaixo de #948c80 */
body.dark .p-home-v2 .hwt,
body.dark .p-home-v2 .h-g-sub,
body.dark .p-home-v2 .h-gcal-dow { color: #948c80 !important; }

/* === Captura === */

/* CARDS — widget-tiles (Mercado, Financeiro PF/PJ, Vasco, Brasileirão, Peso, Sono) */
body.dark .p-captura-v2 .hw {
  border-radius: 9px !important;
  border: none !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E"),
    linear-gradient(180deg, var(--card-fill), var(--card-fill)) !important;
  box-shadow:
    inset 0 1px 0 var(--card-sheen-hi),
    var(--card-ring),
    0 20px 44px -18px rgba(0,0,0,.9),
    0 6px 14px -6px rgba(0,0,0,.6) !important;
  transition: transform .2s cubic-bezier(.16,1,.3,1), box-shadow .2s cubic-bezier(.16,1,.3,1);
}
body.dark .p-captura-v2 .hw:hover {
  transform: translateY(-3px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    0 0 0 1px rgba(47,214,198,.42),
    0 28px 56px -20px rgba(0,0,0,.95),
    0 8px 18px -6px rgba(0,0,0,.65) !important;
}

/* SURFACE — painéis/boxes de conteúdo com material de terminal (grão + gradiente) */
body.dark .p-captura-v2 .cv2-subcol,
body.dark .p-captura-v2 .cv2-inbox-list,
body.dark .p-captura-v2 .cv2-capture-body {
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E"),
    linear-gradient(180deg, var(--card-fill), var(--card-fill)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}

/* HEADERS de painel full-width → faixa preta + borda inferior âmbar + título âmbar */
body.dark .p-captura-v2 .cv2-ph.dark,
body.dark .p-captura-v2 .cv2-subcol-head {
  background: linear-gradient(180deg, #1a1712, #0c0b09) !important;
  border-bottom: 1px solid #c9861a !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 3px 10px -4px rgba(0,0,0,.5);
}
body.dark .p-captura-v2 .cv2-ph.dark .cv2-ph-t,
body.dark .p-captura-v2 .cv2-subcol-label { color: #eeae38 !important; }

/* TÍTULOS / EYEBROWS → Big Shoulders Display (assinatura do gold) */
body.dark .p-captura-v2 .cv2-ph-t,
body.dark .p-captura-v2 .cv2-subcol-label,
body.dark .p-captura-v2 .cv2-tg-label,
body.dark .p-captura-v2 .cv2-inbox-empty-label,
body.dark .p-captura-v2 .hwt {
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  letter-spacing: .07em;
}

/* NÚMERO-HERÓI → glow âmbar via drop-shadow (Peso / Sono) */
body.dark .p-captura-v2 .hw-big {
  filter: drop-shadow(0 0 18px rgba(231,156,34,.3)) drop-shadow(0 1px 1px rgba(0,0,0,.5));
}

/* LEGIBILIDADE — contador de subcoluna estava hardcoded #968d80 (abaixo do piso);
   sobe ao piso legível #948c80. Textos/números já em var(--font-mono). */
body.dark .p-captura-v2 .cv2-subcol-count { color: #948c80 !important; }

/* === Agenda === */

/* 1. CARDS/PAINÉIS — grão de terminal + flutuação (sidebar, banda overdue, modal do dia) */
body.dark .p-agenda .ref-v2-sidebar,
body.dark .p-agenda .od-strip,
body.dark .p-agenda .day-panel {
  border-radius: 9px;
  border: none;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E"),
    linear-gradient(180deg, var(--card-fill), var(--card-fill));
  box-shadow:
    inset 0 1px 0 var(--card-sheen-hi),
    var(--card-ring),
    0 20px 44px -18px rgba(0,0,0,.9),
    0 6px 14px -6px rgba(0,0,0,.6);
  transition: transform .2s cubic-bezier(.16,1,.3,1), box-shadow .2s cubic-bezier(.16,1,.3,1);
}
/* hover flutuante + halo ciano nas superfícies interativas/flutuantes (a sidebar é estrutural, não levanta) */
body.dark .p-agenda .od-strip:hover,
body.dark .p-agenda .day-panel:hover {
  transform: translateY(-3px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    0 0 0 1px rgba(47,214,198,.42),
    0 28px 56px -20px rgba(0,0,0,.95),
    0 8px 18px -6px rgba(0,0,0,.65);
}

/* 2. HEADER de painel full-width — faixa preta + borda inferior âmbar (converte o cv2-ph amber-bg) */
body.dark .p-agenda .cv2-ph {
  background: linear-gradient(180deg, #1a1712, #0c0b09) !important;
  border-bottom: 1px solid #c9861a !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 3px 10px -4px rgba(0,0,0,.5);
}
body.dark .p-agenda .day-panel-head {
  color: #eeae38;
  border-bottom: 1px solid #c9861a;
  padding-bottom: 12px;
}

/* 3. TÍTULOS/EYEBROWS — Big Shoulders Display, assinatura do gold */
body.dark .p-agenda .cv2-ph-t,
body.dark .p-agenda .ref-v2-section-label,
body.dark .p-agenda .ref-v2-stat-label,
body.dark .p-agenda .od-badge,
body.dark .p-agenda .day-panel-head,
body.dark .p-agenda .day-panel-sec {
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: .07em;
}
body.dark .p-agenda .cv2-ph-t { color: #eeae38 !important; }
/* CTA "Novo Evento" herda a assinatura display, mantém o âmbar de fundo */
body.dark .p-agenda .ref-v2-new-btn {
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: .12em;
}

/* 4. NÚMERO-HERÓI — os contadores Hoje/Próximos/Overdue com glow âmbar (cor semântica vem inline do JS) */
body.dark .p-agenda .ref-v2-stat-val {
  font-family: var(--font-mono);
  filter: drop-shadow(0 0 18px rgba(231,156,34,.3)) drop-shadow(0 1px 1px rgba(0,0,0,.5));
}

/* 6. LEGIBILIDADE — piso #948c80 no texto que informa; números em mono */
body.dark .p-agenda .cv2-ph-s { color: #948c80 !important; }
body.dark .p-agenda .ref-v2-stat-label,
body.dark .p-agenda .ref-v2-ri-time { color: #948c80; }
body.dark .p-agenda .day-panel-time {
  font-family: var(--font-mono);
  color: #948c80;
}
body.dark .p-agenda .od-days {
  font-family: var(--font-mono);
  color: #c9a24a;
}

/* === Notas === */
/* Notas reaproveita o layout ref-v2 (nasce CLARO: .ref-v2-main #fff, .col-body #fff,
   .item-text #0b0b0b). Reancorar tudo no escuro e aplicar as assinaturas do Financeiro.
   Especificidade com .p-notas + .ref-v2-main vence os overrides locais (0,2,0). */

/* superfícies — apagar o branco herdado, dar respiro para os cards flutuarem */
body.dark .p-notas .ref-v2-body { background: #0c0b09; }
body.dark .p-notas .ref-v2-main { background: #0c0b09; padding: 14px; }
body.dark .p-notas .ref-cols { gap: 14px; }
body.dark .p-notas .ref-v2-main .col-body,
body.dark .p-referencias .ref-v2-main .col-body,
body.dark .p-biblioteca .ref-v2-main .col-body { background: transparent !important; }

/* 1 · CARDS — as três colunas (.col-ideias/.col-obs/.col-pesq) viram tiles de terminal */
body.dark .p-notas .ref-v2-main .col-box {
  border-radius: 9px !important;
  border: none !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E"),
    linear-gradient(180deg, var(--card-fill), var(--card-fill)) !important;
  box-shadow:
    inset 0 1px 0 var(--card-sheen-hi),
    var(--card-ring),
    0 20px 44px -18px rgba(0,0,0,.9),
    0 6px 14px -6px rgba(0,0,0,.6) !important;
  transition: transform .2s cubic-bezier(.16,1,.3,1), box-shadow .2s cubic-bezier(.16,1,.3,1);
}
body.dark .p-notas .ref-v2-main .col-box:hover {
  transform: translateY(-3px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    0 0 0 1px rgba(47,214,198,.42),
    0 28px 56px -20px rgba(0,0,0,.95),
    0 8px 18px -6px rgba(0,0,0,.65) !important;
}
/* painel lateral = mesma matéria, fio-ouro na borda */
body.dark .p-notas .ref-v2-sidebar {
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E"),
    linear-gradient(180deg, var(--card-fill), var(--card-fill));
  border-right: 1px solid rgba(231,156,34,.14);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}

/* 2 · HEADERS de painel full-width — faixa preta + fio âmbar + título âmbar */
body.dark .p-notas .ref-v2-main .col-header {
  background: linear-gradient(180deg, #16130d, #0c0b09) !important;
  border-bottom: 2px solid var(--am-600) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 3px 10px -4px rgba(0,0,0,.5);
}

/* 3 · TÍTULOS / EYEBROWS — Big Shoulders Display */
body.dark .p-notas .col-title {
  font-family: var(--font-display) !important;
  font-weight: 700 !important; letter-spacing: .07em;
  color: #eeae38 !important;
}
body.dark .p-notas .cv2-ph-t,
body.dark .p-notas .ref-v2-section-label,
body.dark .p-notas .ref-v2-stat-label,
body.dark .p-notas .col-sort {
  font-family: var(--font-display) !important;
  font-weight: 700 !important; letter-spacing: .07em;
}
body.dark .p-notas .ref-v2-section-label,
body.dark .p-notas .ref-v2-stat-label,
body.dark .p-notas .col-sort { color: #948c80; }

/* 4 · NÚMEROS-HERÓI — contadores do painel (mono + glow âmbar).
   Cores de TIPO (roxo/verde/amarelo, inline via style) são semânticas: preservadas. */
body.dark .p-notas .ref-v2-stat-val {
  font-family: var(--font-mono);
  filter: drop-shadow(0 0 18px rgba(231,156,34,.3)) drop-shadow(0 1px 1px rgba(0,0,0,.5));
}
body.dark .p-notas .col-count {
  font-family: var(--font-mono) !important;
  background: rgba(231,156,34,.12) !important;
  color: #eeae38 !important;
}

/* 6 · LEGIBILIDADE — piso #948c80; nada de texto quase-preto sobre carta escura; números em mono */
body.dark .p-notas .ref-v2-main .item-text { color: #d8cdbf !important; }
body.dark .p-notas .ref-v2-ri-text { color: #c9beb0; }
body.dark .p-notas .ref-v2-ri-time { font-family: var(--font-mono); color: #948c80; }
body.dark .p-notas .ref-v2-main .col-add { color: #948c80; }
body.dark .p-notas .ref-v2-main .col-add:hover { color: #eeae38; }
body.dark .p-notas .ref-v2-main .col-item { border-bottom-color: rgba(255,255,255,.06); }
body.dark .p-notas .ref-v2-main .col-item:hover { background: rgba(255,255,255,.05); }
body.dark .p-notas .ref-v2-search {
  background: #16130d; color: #f1eee7; border-color: #c9861a;
}
body.dark .p-notas .ref-v2-search::placeholder { color: #948c80; }

/* === Referencias === */

/* CARDS · painéis/colunas com fundo e borda próprios → textura + flutuação âmbar */
body.dark .p-referencias .ref-v2-sidebar,
body.dark .p-referencias .ref-v2-stats,
body.dark .p-referencias .ref-v2-main .col-box {
  border-radius: 9px;
  border: none;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E"),
    linear-gradient(180deg, var(--card-fill), var(--card-fill));
  box-shadow:
    inset 0 1px 0 var(--card-sheen-hi),
    var(--card-ring),
    0 20px 44px -18px rgba(0,0,0,.9),
    0 6px 14px -6px rgba(0,0,0,.6);
  transition: transform .2s cubic-bezier(.16,1,.3,1), box-shadow .2s cubic-bezier(.16,1,.3,1);
}
body.dark .p-referencias .ref-v2-main .col-box:hover {
  transform: translateY(-3px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    0 0 0 1px rgba(47,214,198,.42),
    0 28px 56px -20px rgba(0,0,0,.95),
    0 8px 18px -6px rgba(0,0,0,.65);
}

/* HEADER de painel full-width → faixa preta + base âmbar profundo */
body.dark .p-referencias .ref-v2-main .col-header {
  background: linear-gradient(180deg, #1a1712, #0c0b09);
  border-bottom: 1px solid #c9861a;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 3px 10px -4px rgba(0,0,0,.5);
}

/* TÍTULOS / EYEBROWS → Big Shoulders Display */
body.dark .p-referencias .col-title,
body.dark .p-referencias .cv2-ph-t,
body.dark .p-referencias .ref-v2-section-label {
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: .07em;
}
body.dark .p-referencias .ref-v2-main .col-title { color: #eeae38; }

/* NÚMEROS-HERÓI → glow âmbar + cor de assinatura por semântica (Total âmbar / Links verde) */
body.dark .p-referencias .ref-v2-stat-val {
  font-family: var(--font-mono);
  filter: drop-shadow(0 0 18px rgba(231,156,34,.3)) drop-shadow(0 1px 1px rgba(0,0,0,.5));
}
body.dark .p-referencias .ref-v2-stat-row:nth-child(1) .ref-v2-stat-val { color: #e79c22 !important; }
body.dark .p-referencias .ref-v2-stat-row:nth-child(2) .ref-v2-stat-val { color: #37d17e !important; }

/* LEGIBILIDADE → texto que informa nunca abaixo de #948c80 */
body.dark .p-referencias .ref-v2-stat-label,
body.dark .p-referencias .ref-v2-section-label,
body.dark .p-referencias .ref-v2-ri-time,
body.dark .p-referencias .ref-v2-main .col-sort { color: #948c80; }
body.dark .p-referencias .ref-v2-main .col-add { color: #948c80 !important; }
body.dark .p-referencias .ref-v2-main .col-add:hover { color: #e79c22 !important; }

/* BUSCA → borda âmbar de assinatura */
body.dark .p-referencias .ref-v2-search { border-color: #c9861a; }

/* === Biblioteca === */
/* CARDS/TILES · pôsteres flutuantes → textura de grão + gradiente + halo âmbar */
body.dark .p-biblioteca .poster-card {
  border-radius: 9px !important;
  border: none !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E"),
    linear-gradient(180deg, var(--card-fill), var(--card-fill)) !important;
  box-shadow:
    inset 0 1px 0 var(--card-sheen-hi),
    var(--card-ring),
    0 20px 44px -18px rgba(0,0,0,.9),
    0 6px 14px -6px rgba(0,0,0,.6) !important;
  transition: transform .2s cubic-bezier(.16,1,.3,1), box-shadow .2s cubic-bezier(.16,1,.3,1);
}
body.dark .p-biblioteca .poster-card:hover {
  transform: translateY(-3px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    0 0 0 1px rgba(47,214,198,.42),
    0 28px 56px -20px rgba(0,0,0,.95),
    0 8px 18px -6px rgba(0,0,0,.65) !important;
}

/* BOXES · linhas do Inbox → mesmo material, viram mini-cards separados */
body.dark .p-biblioteca .lib-inbox-item {
  border: none !important;
  border-radius: 9px;
  margin-bottom: 8px;
  padding: 10px 12px;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E"),
    linear-gradient(180deg, var(--card-fill), var(--card-fill));
  box-shadow:
    inset 0 1px 0 var(--card-sheen-hi),
    var(--card-ring),
    0 14px 30px -18px rgba(0,0,0,.85),
    0 4px 10px -6px rgba(0,0,0,.55);
  transition: transform .2s cubic-bezier(.16,1,.3,1), box-shadow .2s cubic-bezier(.16,1,.3,1);
}
body.dark .p-biblioteca .lib-inbox-item:hover {
  transform: translateY(-3px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    0 0 0 1px rgba(47,214,198,.42),
    0 22px 44px -20px rgba(0,0,0,.9),
    0 6px 14px -6px rgba(0,0,0,.6);
}

/* HEADER de painel full-width · faixa do tipo ativo → gradiente preto + borda âmbar */
body.dark .p-biblioteca .lib-active-label {
  background: linear-gradient(180deg, #1a1712, #0c0b09) !important;
  border-bottom: 1px solid var(--am-600) !important;
  color: var(--am-400) !important;
  font-family: var(--font-display) !important;
  font-weight: 700;
  letter-spacing: .07em;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 3px 10px -4px rgba(0,0,0,.5);
}

/* TÍTULOS / EYEBROWS → Big Shoulders Display */
body.dark .p-biblioteca .cv2-ph-t,
body.dark .p-biblioteca .ref-v2-section-label,
body.dark .p-biblioteca .lib-dtab,
body.dark .p-biblioteca .poster-title,
body.dark .p-biblioteca .lib-inbox-title {
  font-family: var(--font-display) !important;
  font-weight: 700;
  letter-spacing: .07em;
}
body.dark .p-biblioteca .ref-v2-section-label { color: var(--am-600) !important; }
body.dark .p-biblioteca .poster-title { color: #f1eee7; }
body.dark .p-biblioteca .lib-inbox-title { color: #cbc3b6; }

/* ABAS · aba ativa em ouro com brilho de sublinhado */
body.dark .p-biblioteca .lib-dtab.active {
  color: var(--am-400);
  border-bottom-color: var(--am-500);
  box-shadow: 0 2px 8px -2px rgba(231,156,34,.5);
}
body.dark .p-biblioteca .lib-dtab.active .lib-dtab-icon { color: var(--am-400); }

/* NÚMEROS → mono; contagem do tipo em âmbar com leve glow */
body.dark .p-biblioteca .lib-active-count,
body.dark .p-biblioteca .cv2-ph-s,
body.dark .p-biblioteca .ref-v2-ri-time {
  font-family: var(--font-mono);
}
body.dark .p-biblioteca .lib-active-count {
  color: var(--am-400);
  background: #1a1200;
  filter: drop-shadow(0 0 10px rgba(231,156,34,.3)) drop-shadow(0 1px 1px rgba(0,0,0,.5));
}

/* LEGIBILIDADE · texto que informa nunca abaixo de #948c80 */
body.dark .p-biblioteca .ref-v2-ri-text { color: #cbc3b6; }
body.dark .p-biblioteca .lib-inbox-btn { color: #948c80; }
body.dark .p-biblioteca .lib-inbox-btn:hover { color: #f1eee7; }

/* CTA lateral → assinatura display + glow no hover */
body.dark .p-biblioteca .ref-v2-new-btn {
  font-family: var(--font-display) !important;
  font-weight: 700;
  letter-spacing: .1em;
}
body.dark .p-biblioteca .ref-v2-new-btn:hover {
  box-shadow: 0 0 14px -2px rgba(231,156,34,.5);
}

/* === Daily === */
/* Escopo body.dark .p-daily · o wrapper e class="prf p-daily", entao o prefixo
   composto .p-daily.prf (0,4,0) vence as regras compartilhadas de profissional.css
   (body.dark .prf ..., 0,3,0), que carrega DEPOIS de main.css. Daily nao tem classe
   de barra/fill (os fills sao inline sem classe) -> item 5 nao se aplica. */

/* 1 · CARDS (hero + paineis): grao de terminal + flutuacao forte + cantos 9px */
body.dark .p-daily.prf .prf-hero,
body.dark .p-daily.prf .prf-panel {
  border: none !important;
  border-radius: 9px !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E"),
    linear-gradient(180deg, var(--card-fill), var(--card-fill)) !important;
  box-shadow:
    inset 0 1px 0 var(--card-sheen-hi),
    var(--card-ring),
    0 20px 44px -18px rgba(0,0,0,.9),
    0 6px 14px -6px rgba(0,0,0,.6) !important;
  transition: transform .2s cubic-bezier(.16,1,.3,1), box-shadow .2s cubic-bezier(.16,1,.3,1);
}
/* lift + halo ciano no hero-card (protagonista da pagina) */
body.dark .p-daily.prf .prf-hero:hover {
  transform: translateY(-3px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    0 0 0 1px rgba(47,214,198,.42),
    0 28px 56px -20px rgba(0,0,0,.95),
    0 8px 18px -6px rgba(0,0,0,.65) !important;
}

/* 2 · HEADER de painel full-width -> faixa preta + borda inferior ambar */
body.dark .p-daily.prf .prf-panel-head {
  background: linear-gradient(180deg, #16130d, #0c0b09) !important;
  border-bottom: 2px solid var(--am-600) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 3px 10px -4px rgba(0,0,0,.5);
}
body.dark .p-daily.prf .prf-panel-title { color: #eeae38 !important; }

/* 3 · TITULOS / EYEBROWS -> Big Shoulders Display (assinatura do ouro) */
body.dark .p-daily.prf .prf-panel-title,
body.dark .p-daily.prf .prf-list-sec-title,
body.dark .p-daily.prf .prf-left-hd,
body.dark .p-daily.prf .prf-lbl,
body.dark .p-daily.prf .prf-monthnav .m {
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  letter-spacing: .07em;
}

/* 4 · NUMEROS-HEROI (os grandes) -> glow ambar. As cores semanticas
   (verde #37d17e / ambar #e79c22 / indigo) chegam inline no JS -> nao mexo. */
body.dark .p-daily.prf .prf-val-big {
  font-family: var(--font-mono);
  filter: drop-shadow(0 0 18px rgba(231,156,34,.3)) drop-shadow(0 1px 1px rgba(0,0,0,.5));
}
body.dark .p-daily.prf .prf-rq .rv {
  font-family: var(--font-mono);
  filter: drop-shadow(0 0 12px rgba(231,156,34,.22)) drop-shadow(0 1px 1px rgba(0,0,0,.5));
}

/* === Saude === */
/* Revolução tema escuro — assinaturas do Financeiro aplicadas às classes REAIS
   da página Saúde. Container = .prf.p-saude. Escopo body.dark → nunca toca o
   tema claro. Os cards/painéis/títulos do framework (.prf-wbox, .prf-panel,
   .prf-panel-title, .prf-list-sec-title, .prf-left-hd, .prf-val-big, .prf-wbig)
   já herdam o skin em body.dark .prf; aqui tratamos as classes próprias da view.
   OBS: a única barra da página (progresso de treino) é inline sem classe —
   nenhuma classe de fill real existe, então a regra 5 (barras) é omitida. */

/* 1 · CARDS — registro de hoje (.reg-card) + stats de treino (.t-stat):
   grão de terminal + flutuação forte + hover com halo ciano */
body.dark .p-saude .reg-card,
body.dark .p-saude .t-stat {
  border-radius: 9px !important;
  border: none !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E"),
    linear-gradient(180deg, var(--card-fill), var(--card-fill)) !important;
  box-shadow:
    inset 0 1px 0 var(--card-sheen-hi),
    var(--card-ring),
    0 20px 44px -18px rgba(0,0,0,.9),
    0 6px 14px -6px rgba(0,0,0,.6) !important;
  transition: transform .2s cubic-bezier(.16,1,.3,1), box-shadow .2s cubic-bezier(.16,1,.3,1);
}
body.dark .p-saude .reg-card:hover,
body.dark .p-saude .t-stat:hover {
  transform: translateY(-3px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    0 0 0 1px rgba(47,214,198,.42),
    0 28px 56px -20px rgba(0,0,0,.95),
    0 8px 18px -6px rgba(0,0,0,.65) !important;
}

/* 2 · HEADERS de painel full-width (Tendências / Consultas / Medicamentos / Treino)
   → faixa preta + borda inferior âmbar profundo + título âmbar highlight */
body.dark .p-saude .prf-panel-head {
  background: linear-gradient(180deg, #16130d, #0c0b09) !important;
  border-bottom: 2px solid var(--am-600) !important;
}
body.dark .p-saude .prf-panel-title {
  font-family: var(--font-display) !important;
  font-weight: 700;
  letter-spacing: .07em;
  color: #eeae38 !important;
}

/* 3 · TÍTULOS / EYEBROWS próprios da view → Big Shoulders Display */
body.dark .p-saude .reg-label,
body.dark .p-saude .t-stat-lbl,
body.dark .p-saude .cons-head,
body.dark .p-saude .med-head {
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  letter-spacing: .07em;
  color: var(--prf-muted);
}

/* 4 · NÚMEROS-HERÓI — registro de hoje (.reg-val) + stats de treino (.t-stat-val):
   glow âmbar de assinatura via drop-shadow + numeral em mono.
   (a cor semântica de cada número é definida inline na view — mantida intacta) */
body.dark .p-saude .reg-val,
body.dark .p-saude .t-stat-val {
  font-family: var(--font-mono);
  filter: drop-shadow(0 0 18px rgba(231,156,34,.3)) drop-shadow(0 1px 1px rgba(0,0,0,.5));
}

/* 6 · LEGIBILIDADE + numeral mono — texto que informa nunca abaixo do piso #948c80 */
body.dark .p-saude .reg-sub,
body.dark .p-saude .cons-date,
body.dark .p-saude .med-time,
body.dark .p-saude .med-freq {
  color: var(--prf-muted);
}
body.dark .p-saude .reg-unit {
  font-family: var(--font-mono);
  color: var(--prf-muted);
}

/* === Habitos === */
/* Escopo body.dark .p-habitos.prf (o container tem as duas classes: class="prf p-habitos"),
   especificidade suficiente pra vencer o skin base de profissional.css que carrega depois. */

/* 1 · CARDS — hero, widgets, coluna esquerda e painel principal (contêineres c/ borda/fundo próprio) */
body.dark .p-habitos.prf .prf-hero,
body.dark .p-habitos.prf .prf-wbox,
body.dark .p-habitos.prf .prf-left,
body.dark .p-habitos.prf .prf-panel {
  border-radius: 9px !important;
  border: none !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E"),
    linear-gradient(180deg, var(--card-fill), var(--card-fill)) !important;
  box-shadow:
    inset 0 1px 0 var(--card-sheen-hi),
    var(--card-ring),
    0 20px 44px -18px rgba(0,0,0,.9),
    0 6px 14px -6px rgba(0,0,0,.6) !important;
  transition: transform .2s cubic-bezier(.16,1,.3,1), box-shadow .2s cubic-bezier(.16,1,.3,1);
}
body.dark .p-habitos.prf .prf-hero:hover,
body.dark .p-habitos.prf .prf-wbox:hover {
  transform: translateY(-3px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    0 0 0 1px rgba(47,214,198,.42),
    0 28px 56px -20px rgba(0,0,0,.95),
    0 8px 18px -6px rgba(0,0,0,.65) !important;
}

/* 2 · HEADER de painel full-width — faixa preta + borda âmbar + título âmbar */
body.dark .p-habitos.prf .prf-panel-head {
  background: linear-gradient(180deg, #16130d, #0c0b09) !important;
  border-bottom: 2px solid var(--am-600) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 3px 10px -4px rgba(0,0,0,.5);
}
body.dark .p-habitos.prf .prf-panel-title { color: #eeae38 !important; }

/* 3 · TÍTULOS / EYEBROWS — Big Shoulders Display (assinatura) */
body.dark .p-habitos.prf .prf-wt,
body.dark .p-habitos.prf .prf-panel-title,
body.dark .p-habitos.prf .prf-left-hd,
body.dark .p-habitos.prf .prf-lbl,
body.dark .p-habitos.prf .prf-rq .rl,
body.dark .p-habitos.prf .prf-list-sec-title {
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  letter-spacing: .07em !important;
}

/* 4 · NÚMEROS-HERÓI — os grandes (2x2 do hero + big do widget): glow âmbar via drop-shadow.
   As cores semânticas (verde/âmbar/azul/ink) vêm inline no JS e são preservadas. */
body.dark .p-habitos.prf .prf-val-big,
body.dark .p-habitos.prf .prf-wbig {
  font-family: var(--font-mono);
  filter: drop-shadow(0 0 18px rgba(231,156,34,.3)) drop-shadow(0 1px 1px rgba(0,0,0,.5));
}

/* 6 · LEGIBILIDADE — texto que informa nunca abaixo de #948c80 */
body.dark .p-habitos.prf .prf-lbl,
body.dark .p-habitos.prf .prf-num-sub,
body.dark .p-habitos.prf .prf-rq .rl,
body.dark .p-habitos.prf .prf-monthnav,
body.dark .p-habitos.prf .prf-wt { color: #948c80 !important; }
body.dark .p-habitos.prf .prf-monthnav .m { color: #eae4d8 !important; }

/* === Ferramentas === */
/* Tema escuro — assinatura Financeiro (padrao-ouro) escopada na pagina Ferramentas.
   Container real do view: <div class="prf p-ferramentas">. Classes reais = prf-*.
   Compound .p-ferramentas.prf eleva especificidade p/ vencer body.dark .prf .* !important
   de profissional.css (carregado depois de main.css). Sem barras nesta pagina -> regra 5 omitida. */

/* 1 · CARDS FLUTUANTES — widgets, hero, painel e rail de renovacoes */
body.dark .p-ferramentas.prf .prf-wbox,
body.dark .p-ferramentas.prf .prf-hero,
body.dark .p-ferramentas.prf .prf-left,
body.dark .p-ferramentas.prf .prf-panel {
  border: none !important;
  border-radius: 9px !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E"),
    linear-gradient(180deg, var(--card-fill), var(--card-fill)) !important;
  box-shadow:
    inset 0 1px 0 var(--card-sheen-hi),
    var(--card-ring),
    0 20px 44px -18px rgba(0,0,0,.9),
    0 6px 14px -6px rgba(0,0,0,.6) !important;
  transition: transform .22s cubic-bezier(.16,1,.3,1), box-shadow .22s cubic-bezier(.16,1,.3,1);
}
/* hover: eleva + halo ciano (so nos tiles/hero — nunca opacity) */
body.dark .p-ferramentas.prf .prf-wbox:hover,
body.dark .p-ferramentas.prf .prf-hero:hover {
  transform: translateY(-3px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    0 0 0 1px rgba(47,214,198,.42),
    0 26px 54px -18px rgba(0,0,0,.92),
    0 8px 18px -6px rgba(0,0,0,.66) !important;
}

/* 2 · HEADERS DE PAINEL full-width — faixa preta + borda ouro profundo */
body.dark .p-ferramentas.prf .prf-panel-head,
body.dark .p-ferramentas.prf .prf-left-hd {
  background: linear-gradient(180deg, #16130d, #0c0b09) !important;
  border-bottom: 2px solid var(--am-600) !important;
}
body.dark .p-ferramentas.prf .prf-panel-title,
body.dark .p-ferramentas.prf .prf-left-hd { color: #eeae38 !important; }

/* 3 · TITULOS / EYEBROWS — Big Shoulders Display */
body.dark .p-ferramentas.prf .prf-panel-title,
body.dark .p-ferramentas.prf .prf-wt,
body.dark .p-ferramentas.prf .prf-lbl,
body.dark .p-ferramentas.prf .prf-list-sec-title,
body.dark .p-ferramentas.prf .prf-left-hd,
body.dark .p-ferramentas.prf .prf-monthnav .m {
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  letter-spacing: .07em !important;
}

/* 4 · NUMEROS-HEROI — glow ambar + mono (cores semanticas ficam inline no view:
   Ativas azul / Essenciais verde #37d17e / Custo ambar #e79c22 / Superfluo vermelho #f2564b) */
body.dark .p-ferramentas.prf .prf-val-big,
body.dark .p-ferramentas.prf .prf-wbig,
body.dark .p-ferramentas.prf .prf-rq .rv {
  font-family: var(--font-mono) !important;
  filter: drop-shadow(0 0 18px rgba(231,156,34,.3)) drop-shadow(0 1px 1px rgba(0,0,0,.5));
}

/* 6 · LEGIBILIDADE — texto informativo nunca abaixo de #948c80; numeros em mono */
body.dark .p-ferramentas.prf .prf-num-sub,
body.dark .p-ferramentas.prf .prf-pj-cli { color: #948c80 !important; }
body.dark .p-ferramentas.prf .prf-pj-fat .v,
body.dark .p-ferramentas.prf .prf-pj-bb .v { font-family: var(--font-mono); }

/* movimento off p/ quem pede menos animacao */
@media (prefers-reduced-motion: reduce) {
  body.dark .p-ferramentas.prf .prf-wbox,
  body.dark .p-ferramentas.prf .prf-hero { transition: none; }
}

/* === Estudos === */
/* Estrutura real: root <div class="prf p-estudos">. Sistema prf-* (profissional.css)
   + course-card (main.css). main.css carrega ANTES de profissional.css → uso o
   composto .p-estudos.prf (0,4,x) p/ vencer as regras body.dark .prf (0,3,x). */

/* 1 · CARDS FLUTUANTES — widgets, painel, hero e course-card (textura + ouro, cantos 9px) */
body.dark .p-estudos.prf .prf-wbox,
body.dark .p-estudos.prf .prf-panel,
body.dark .p-estudos.prf .prf-main-panel,
body.dark .p-estudos.prf .prf-hero,
body.dark .p-estudos .course-card {
  border-radius: 9px !important;
  border: none !important;
  overflow: hidden;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E"),
    linear-gradient(180deg, var(--card-fill), var(--card-fill)) !important;
  box-shadow:
    inset 0 1px 0 var(--card-sheen-hi),
    var(--card-ring),
    0 20px 44px -18px rgba(0,0,0,.9),
    0 6px 14px -6px rgba(0,0,0,.6) !important;
  transition: transform .2s cubic-bezier(.16,1,.3,1), box-shadow .2s cubic-bezier(.16,1,.3,1);
}
/* course-card preserva a TARJA DE STATUS à esquerda (cor vem do inline = identidade) */
body.dark .p-estudos .course-card {
  border-left-style: solid !important;
  border-left-width: 3px !important;
}
/* hover: eleva + halo ciano (feedback físico do padrão-ouro) — só nos cards interativos */
body.dark .p-estudos.prf .prf-wbox:hover,
body.dark .p-estudos .course-card:hover {
  transform: translateY(-3px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    0 0 0 1px rgba(47,214,198,.42),
    0 28px 56px -20px rgba(0,0,0,.95),
    0 8px 18px -6px rgba(0,0,0,.65) !important;
}

/* 2 · HEADER de painel full-width → faixa preta + borda inferior âmbar */
body.dark .p-estudos.prf .prf-panel-head {
  background: linear-gradient(180deg, #16130d, #0c0b09) !important;
  border-bottom: 2px solid var(--am-600) !important;
  box-shadow: inset 0 1px 0 var(--card-sheen), 0 3px 10px -4px rgba(0,0,0,.5);
}

/* 3 · TÍTULOS / EYEBROWS → Big Shoulders Display (assinatura) */
body.dark .p-estudos.prf .prf-panel-title,
body.dark .p-estudos.prf .prf-left-hd,
body.dark .p-estudos.prf .prf-list-sec-title,
body.dark .p-estudos.prf .prf-wt,
body.dark .p-estudos.prf .prf-lbl,
body.dark .p-estudos.prf .prf-monthnav .m,
body.dark .p-estudos.prf .prf-rq .rl,
body.dark .p-estudos .card-name {
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  letter-spacing: .07em;
}
body.dark .p-estudos.prf .prf-panel-title { color: #eeae38 !important; }

/* 4 · NÚMEROS-HERÓI → glow âmbar via drop-shadow + mono (cor semântica preservada no inline) */
body.dark .p-estudos.prf .prf-val-big,
body.dark .p-estudos.prf .prf-wbig,
body.dark .p-estudos.prf .prf-rq .rv {
  font-family: var(--font-mono);
  filter: drop-shadow(0 0 18px rgba(231,156,34,.3)) drop-shadow(0 1px 1px rgba(0,0,0,.5));
}

/* 5 · BARRAS de progresso do curso → trilho pill + fill com gloss em ::after (nunca no bg) */
body.dark .p-estudos .card-bar-wrap {
  border-radius: 999px !important;
  overflow: hidden;
  background: #1a1712 !important;
}
body.dark .p-estudos .card-bar-fill {
  position: relative;
  border-radius: 999px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 0 8px -1px currentColor;
  transform-origin: left center;
  animation: p-est-grow var(--dur-3, 1400ms) cubic-bezier(.16,1,.3,1) both;
}
body.dark .p-estudos .card-bar-fill::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,.32), rgba(255,255,255,.05) 48%, rgba(0,0,0,.28));
}
@keyframes p-est-grow { from { transform: scaleX(0); } to { transform: scaleX(1); } }

/* 6 · LEGIBILIDADE — texto informativo nunca abaixo do piso #948c80 */
body.dark .p-estudos .card-sub,
body.dark .p-estudos .card-bar-lbl,
body.dark .p-estudos.prf .prf-panel-count,
body.dark .p-estudos.prf .prf-list-sec-count { color: #948c80 !important; }

@media (prefers-reduced-motion: reduce) {
  body.dark .p-estudos .card-bar-fill { animation: none; }
  body.dark .p-estudos.prf .prf-wbox,
  body.dark .p-estudos .course-card { transition: none; }
}

/* === Senhas === */
/* CARD/PAINEL: a hero band é o único contêiner real com borda/fundo próprio.
   Textura de grão + flutuação forte + halo ciano no hover. */
body.dark .p-senhas .lux-hero {
  border-radius: 9px !important;
  border: none !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E"),
    linear-gradient(180deg, var(--card-fill), var(--card-fill)) !important;
  box-shadow:
    inset 0 1px 0 var(--card-sheen-hi),
    var(--card-ring),
    0 20px 44px -18px rgba(0,0,0,.9),
    0 6px 14px -6px rgba(0,0,0,.6) !important;
  transition: transform .2s cubic-bezier(.16,1,.3,1), box-shadow .2s cubic-bezier(.16,1,.3,1);
}
body.dark .p-senhas .lux-hero:hover {
  transform: translateY(-3px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    0 0 0 1px rgba(47,214,198,.42),
    0 28px 56px -20px rgba(0,0,0,.95),
    0 8px 18px -6px rgba(0,0,0,.65) !important;
}
body.dark .p-senhas .lux-hero .cell { border-right: 1px solid #221d15; }

/* HEADER full-width: cabeçalho da tabela de credenciais → faixa preta + base âmbar + título âmbar */
body.dark .p-senhas .tbl-head {
  background: linear-gradient(180deg, #1a1712, #0c0b09);
  border-bottom: 1px solid #c9861a;
  border-radius: 6px 6px 0 0;
  padding: 7px 10px 6px;
  color: #eeae38;
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: .07em;
}
body.dark .p-senhas .tbl-head .c { color: #eeae38; }

/* TÍTULOS/EYEBROWS: Big Shoulders + tracking + âmbar de assinatura */
body.dark .p-senhas .cat-title {
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: .07em;
  color: #e79c22;
  border-bottom: 1px solid #2a2118;
}
body.dark .p-senhas .lux-hero .lbl {
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: .07em;
  color: #e79c22;
}
/* LEGIBILIDADE: texto que informa nunca abaixo do piso #948c80 */
body.dark .p-senhas .sub { color: #948c80; }
body.dark .p-senhas .svc-login { color: #948c80 !important; }

/* NÚMEROS-HERÓI: os grandes contadores da hero band → glow âmbar + mono + cor semântica */
body.dark .p-senhas .lux-hero .val {
  font-family: var(--font-mono);
  filter: drop-shadow(0 0 18px rgba(231,156,34,.3)) drop-shadow(0 1px 1px rgba(0,0,0,.5));
}
body.dark .p-senhas .lux-hero .cell:nth-child(1) .val { color: #e79c22 !important; } /* Total */
body.dark .p-senhas .lux-hero .cell:nth-child(2) .val { color: #37d17e !important; } /* Fortes */
body.dark .p-senhas .lux-hero .cell:nth-child(3) .val { color: #e79c22 !important; } /* Médias */
body.dark .p-senhas .lux-hero .cell:nth-child(4) .val { color: #f2564b !important; } /* Fracas */

/* TAGS DE FORÇA: badges semânticos alinhados à paleta de assinatura */
body.dark .p-senhas .tag-green  { background: #0e2a1c; color: #37d17e; }
body.dark .p-senhas .tag-yellow { background: #2a1f00; color: #e79c22; }
body.dark .p-senhas .tag-red    { background: #2e0a0a; color: #f2564b; }
/* ── FONTE DO CHROME app-wide · Big Shoulders no menu/topo/subtabs (body.dark) ──
   Padrão Financeiro: heading = Big Shoulders. Sidebar, PageHeader e subtabs
   estavam em Space Mono (fonte errada — feedback design). */
body.dark .h-tb-name {
  font-family: var(--font-display) !important; font-weight: 800 !important;
  letter-spacing: .1em !important; font-size: 15px;
}
body.dark .h-tb-crumb, body.dark .cv2-ph-t {
  font-family: var(--font-display) !important; font-weight: 700 !important; letter-spacing: .08em;
}
body.dark .sb2-item, body.dark .sb2-logo {
  font-family: var(--font-display) !important; font-weight: 700 !important; letter-spacing: .08em;
}
body.dark .prf-subtab, body.dark .subtab, body.dark .area-tab, body.dark .h-areatab {
  font-family: var(--font-display) !important; font-weight: 700 !important; letter-spacing: .07em;
}

/* ═══ AUDIT FÍDIAS · Home cards + mobile + fontes (2026-07-04) ═══════════════ */
/* seções da Home viram CARDS flutuantes (eram flat — o que o design via no mobile) */
body.dark .p-home-v2 .h-prog-block, body.dark .p-home-v2 .h-late-block,
body.dark .p-home-v2 .h-dl-block, body.dark .p-home-v2 .h-tasks-panel,
body.dark .p-home-v2 .h-upcoming-panel, body.dark .p-home-v2 .h-cal-panel {
  border-radius: 10px !important; border: none !important; overflow: hidden;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E"),
    linear-gradient(180deg, var(--card-fill), var(--card-fill)) !important;
  box-shadow:
    inset 0 1px 0 var(--card-sheen), var(--card-ring),
    0 16px 34px -16px rgba(0,0,0,.85), 0 4px 10px -4px rgba(0,0,0,.6) !important;
  margin: 8px 0;
}
/* greeting "Boa tarde," → Big Shoulders (estava Space Mono, inconsistente c/ o nome) */
body.dark .p-home-v2 .h-g-l1 { font-family: var(--font-display) !important; font-weight: 700 !important; letter-spacing: .04em; }
/* panel-head borda âmbar mais nítida (1px→2px) */
body.dark .h-panel-head { border-bottom: 2px solid var(--am-600) !important; }

/* MOBILE: colapsa o grid da Home (não tinha media query pro .p-home-v2 — Fídias) */
@media (max-width: 768px) {
  body.dark .p-home-v2 .h-grid { display: flex !important; flex-direction: column !important; height: auto !important; overflow-y: auto !important; }
  body.dark .p-home-v2 .h-left-col { width: 100% !important; max-width: 100% !important; }
  body.dark .p-home-v2 .h-cal-panel { display: none !important; } /* calendário mini some (existe na Agenda) */
  body.dark .p-home-v2 .h-prog-block, body.dark .p-home-v2 .h-late-block,
  body.dark .p-home-v2 .h-dl-block, body.dark .p-home-v2 .h-tasks-panel,
  body.dark .p-home-v2 .h-upcoming-panel { margin: 8px 12px !important; }
}

/* ═══ AUDIT FÍDIAS · mobile collapse COMPLETO da Home (2026-07-04) ═══════════ */
@media (max-width: 768px) {
  /* grid vira coluna única, rolável */
  body.dark .p-home-v2 .h-grid {
    display: block !important; grid-template-columns: 1fr !important;
    height: auto !important; overflow: visible !important;
  }
  /* mini-calendário some (existe completo na Agenda) — greeting ocupa a largura */
  body.dark .p-home-v2 .h-gcal-hdr, body.dark .p-home-v2 .h-gcal-grid { display: none !important; }
  body.dark .p-home-v2 .h-greeting { display: block !important; padding: 16px 16px 8px !important; }
  /* conteúdo (col2 row2) empilha full-width */
  body.dark .p-home-v2 .h-bottom { display: block !important; }
  body.dark .p-home-v2 .h-left-stack, body.dark .p-home-v2 .h-wk { width: 100% !important; max-width: 100% !important; }
  body.dark .p-home-v2 .h-tasks-panel, body.dark .p-home-v2 .h-upcoming-panel, body.dark .p-home-v2 .h-wk { margin: 8px 12px !important; }
  /* faixa de widgets rola horizontal, cards com largura mínima legível */
  body.dark .p-home-v2 .h-widgets { overflow-x: auto !important; padding: 4px 12px !important; }
  body.dark .p-home-v2 .h-widgets .hw { min-width: 240px !important; }
}

/* nome (.h-g-l2) estava em Space Mono — pra Big Shoulders (igual "Boa noite") */
body.dark .p-home-v2 .h-g-l2 { font-family: var(--font-display) !important; font-weight: 800 !important; letter-spacing: .01em; }

/* ═══ RAIZ DA FONTE · base das páginas = Space Grotesk (como o Financeiro) ═════
   O app tem body em Space Mono; .fin-app sobrescreve p/ Grotesk, as p-* não →
   todo texto menor ficava mono. Números têm mono EXPLÍCITO (não quebram);
   títulos/eyebrows têm Big Shoulders (regras acima). body.dark (claro intocado). */
body.dark .p-home-v2, body.dark .p-home, body.dark .p-notas, body.dark .p-agenda,
body.dark .p-referencias, body.dark .p-biblioteca, body.dark .p-captura,
body.dark .p-captura-v2, body.dark .p-daily, body.dark .p-saude, body.dark .p-habitos,
body.dark .p-ferramentas, body.dark .p-estudos, body.dark .p-senhas,
body.dark .p-clientes, body.dark .p-projetos, body.dark .p-team,
body.dark .p-videoteca, body.dark .p-financas, body.dark .p-financas-pj {
  font-family: var(--font-sans);
}

/* labels/eyebrows/captions da Home que sobraram em mono → Big Shoulders (body.dark) */
body.dark .p-home-v2 .h-g-sub, body.dark .p-home-v2 .h-late-sub,
body.dark .p-home-v2 .h-prog-period, body.dark .p-home-v2 .h-ld-section,
body.dark .p-home-v2 .h-ld-days, body.dark .p-home-v2 .h-ld-title,
body.dark .p-home-v2 .h-cal-title, body.dark .p-home-v2 .h-vt-btn,
body.dark .p-home-v2 .h-panel-count, body.dark .p-home-v2 .h-tb-wx,
body.dark .p-home-v2 .hwt, body.dark .p-home-v2 .hw-dl,
body.dark .p-home-v2 .h-wk-hdr, body.dark .p-home-v2 .h-wkd-name,
body.dark .p-home-v2 .h-gcal-dow {
  font-family: var(--font-display) !important; letter-spacing: .05em;
}
/* item de lista/nomes = Space Grotesk (corpo, legível) — não mono, não display */
body.dark .p-home-v2 .h-dl-name, body.dark .p-home-v2 .h-late-item,
body.dark .p-home-v2 .h-task-title, body.dark .p-home-v2 .h-ut-title,
body.dark .p-home-v2 .h-ev-title {
  font-family: var(--font-sans) !important;
}

/* chrome que sobrou em mono: data do topo + botão de tema → Big Shoulders (body.dark) */
body.dark .p-home-v2 .h-tb-date, body.dark .h-tb-date,
body.dark .p-home-v2 .h-theme-btn, body.dark .h-theme-btn,
body.dark .p-home-v2 .h-tb-wx {
  font-family: var(--font-display) !important; letter-spacing: .04em;
}

/* ═══════════════════════════════════════════════════════════════════════════
   BLOOMBERG GLOBAL · a faixa viva "trading desk" em TODAS as páginas (body.dark)
   Montada UMA vez no app (js/components/GlobalTicker.js), acima do conteúdo.
   Réplica exata do padrão-ouro do Financeiro, só que GLOBAL (sem escopo .fin-app).
   Financeiro e Profissional têm ticker PRÓPRIO (contextual) → global não monta lá.
   ═══════════════════════════════════════════════════════════════════════════ */
body.dark .bb-ticker-slot { display: block; }
body.dark .bb-ticker-slot .fin-ticker {
  display: flex; align-items: stretch; height: 30px; flex-shrink: 0;
  background: linear-gradient(180deg, #0c0b08, #070605);
  border-bottom: 1px solid var(--hair);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03), 0 6px 16px -8px rgba(0,0,0,.7);
  overflow: hidden; position: relative; z-index: 190;
}
body.dark .bb-ticker-slot .tk-live {
  display: flex; align-items: center; gap: 6px; flex-shrink: 0; padding: 0 15px;
  font-family: var(--font-display); font-weight: 700; font-size: 12px; letter-spacing: .22em;
  color: #04110f; background: linear-gradient(180deg, var(--cy-400), var(--cy-600));
  box-shadow: 0 0 20px var(--cy-glow2), inset 0 1px 0 rgba(255,255,255,.3);
  position: relative; z-index: 3;
}
body.dark .bb-ticker-slot .tk-dot {
  width: 7px; height: 7px; border-radius: 50%; background: #04110f;
  animation: fin-live 2.1s cubic-bezier(.22,.61,.36,1) infinite;
}
body.dark .bb-ticker-slot .tk-window {
  flex: 1; overflow: hidden; display: flex; align-items: center;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 3%, #000 95%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 3%, #000 95%, transparent);
}
body.dark .bb-ticker-slot .tk-track {
  display: inline-flex; align-items: center; white-space: nowrap; height: 100%;
  will-change: transform; animation: fin-tick var(--tick-dur) linear infinite;
}
body.dark .bb-ticker-slot .fin-ticker:hover .tk-track { animation-play-state: paused; }
body.dark .bb-ticker-slot .tk-item {
  display: inline-flex; align-items: center; gap: 8px; padding: 0 22px; height: 100%;
  border-right: 1px solid var(--n-200);
}
body.dark .bb-ticker-slot .tk-l { font-family: var(--font-mono); font-size: 9px; letter-spacing: .14em; color: var(--n-600); }
body.dark .bb-ticker-slot .tk-v { font-family: var(--font-mono); font-weight: 700; font-size: 12px; font-variant-numeric: tabular-nums; letter-spacing: .01em; }
body.dark .bb-ticker-slot .tk-d { font-family: var(--font-mono); font-weight: 700; font-size: 10px; }
body.dark .bb-ticker-slot .tk-v.pos, body.dark .bb-ticker-slot .tk-d.pos { color: var(--pos); }
body.dark .bb-ticker-slot .tk-v.neg, body.dark .bb-ticker-slot .tk-d.neg { color: var(--neg); }
body.dark .bb-ticker-slot .tk-v.am { color: var(--am-400); }
body.dark .bb-ticker-slot .tk-v.vi { color: var(--violet); }
body.dark .bb-ticker-slot .tk-v.cy { color: var(--cy-400); }
body.dark .bb-ticker-slot .tk-v.ink { color: var(--n-900); }
@media (prefers-reduced-motion: reduce) {
  body.dark .bb-ticker-slot .tk-track { animation: none; }
  body.dark .bb-ticker-slot .tk-dot { animation: none; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   NOTA DO ASSISTENTE · GLOBAL — badge "BB" + popover em TODAS as páginas (body.dark)
   Réplica do padrão do Financeiro (.fin-app .pnote-*), agora GLOBAL. O Financeiro
   mantém o seu (.fin-app .pnote-* tem especificidade maior → não regride).
   Injetado por js/components/fin/PeritoNotes.js via registry (assistente-registry.js).
   ═══════════════════════════════════════════════════════════════════════════ */
body.dark .pnote-dot {
  position: relative; display: inline-flex; align-items: center; justify-content: center;
  vertical-align: middle; width: 22px; height: 15px; margin-left: 8px; padding: 0;
  border: none; border-radius: 4px; cursor: pointer;
  font-family: var(--font-mono); font-size: 8px; font-weight: 700;
  letter-spacing: .5px; color: #1a1206; line-height: 1;
  background: linear-gradient(160deg, var(--am-400), var(--am-600));
  box-shadow: 0 0 0 1px rgba(231,156,34,.45), 0 2px 6px -1px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.35);
  animation: pnote-blink 1.5s ease-in-out infinite;
}
body.dark .pnote-dot:hover { animation-play-state: paused; filter: brightness(1.25); }
body.dark .pnote-dot.good { background: linear-gradient(160deg, #4ade8c, #1e9e5c); }
body.dark .pnote-pop {
  position: fixed; z-index: 240; width: min(300px, calc(100vw - 16px));
  max-height: min(420px, calc(100vh - 24px)); overflow-y: auto;
  background: var(--card-fill);
  border-radius: 10px; padding: 12px 14px 13px; outline: none;
  box-shadow: 0 0 0 1px rgba(231,156,34,.28), 0 18px 44px -14px rgba(0,0,0,.85),
    0 0 24px -6px rgba(231,156,34,.25), inset 0 1px 0 rgba(255,255,255,.07);
  animation: pnote-in var(--dur-2, .22s) var(--ease-out, ease-out) both;
}
body.dark .pnote-pop.good .pnote-h { color: var(--pos); }
body.dark .pnote-pop.good { box-shadow: 0 0 0 1px rgba(55,209,126,.3), 0 18px 44px -14px rgba(0,0,0,.85), inset 0 1px 0 rgba(255,255,255,.07); }
body.dark .pnote-h {
  display: flex; align-items: center; gap: 6px;
  font-family: var(--font-mono); font-size: 9px; font-weight: 700;
  letter-spacing: 1.5px; color: var(--am-400); margin-bottom: 8px;
}
body.dark .pnote-glyph { font-size: 10px; }
body.dark .pnote-x {
  margin-left: auto; background: none; border: none; cursor: pointer;
  color: var(--n-600); font-size: 14px; line-height: 1; padding: 0 2px;
}
body.dark .pnote-x:hover { color: var(--n-900); }
body.dark .pnote-msg { font-family: var(--font-sans); font-size: 12px; line-height: 1.55; color: var(--n-900); }
body.dark .pnote-more {
  display: inline-block; margin-top: 9px; background: none; border: none; cursor: pointer;
  font-family: var(--font-mono); font-size: 9.5px; font-weight: 700;
  letter-spacing: 1px; text-transform: uppercase; color: var(--cy-400); padding: 0;
}
body.dark .pnote-more:hover { color: var(--cy-300, #7ee8dd); text-shadow: 0 0 10px var(--cy-glow2, rgba(47,214,198,.4)); }
body.dark .pnote-detail {
  margin-top: 9px; padding-top: 9px; border-top: 1px solid rgba(255,255,255,.07);
  font-family: var(--font-sans); font-size: 11.5px; line-height: 1.6; color: var(--n-800);
}
@media (prefers-reduced-motion: reduce) {
  body.dark .pnote-dot { animation: none; }
  body.dark .pnote-pop { animation: none; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   PADRONIZAÇÃO WIDGET v4 (body.dark) — TODOS os widgets IGUAIS ao CONTA DOMÉSTICA
   do Financeiro (o #24 que o design quer em todas as abas). Assinatura:
   • cap âmbar = ::before com GRADIENTE horizontal suave (transp→âmbar→transp),
     não linha dura; vira ciano no hover.
   • header = título âmbar + border-bottom fino (separação header→conteúdo), SEM
     faixa preta.
   Cobre .hw (Home/Planner/Biblioteca) e .prf-wbox (Prof/Inventário/Pessoal).
   ═══════════════════════════════════════════════════════════════════════════ */
body.dark .hw,
body.dark .prf .prf-wbox {
  border: none !important;
  border-radius: 8px !important;
  background: var(--grain), linear-gradient(180deg, var(--card-fill), var(--card-fill)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    var(--card-ring),
    0 14px 34px -16px rgba(0,0,0,.85),
    0 3px 10px -4px rgba(0,0,0,.55) !important;
  padding: 11px 14px 10px !important;
  position: relative !important;
  overflow: hidden !important;
  transition: transform var(--dur-2, .22s) var(--ease-out, ease), box-shadow var(--dur-2, .22s) var(--ease-out, ease);
}
/* CAP ÂMBAR — gradiente horizontal suave no topo (a assinatura do #24) */
body.dark .hw::before,
body.dark .prf .prf-wbox::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px; z-index: 3;
  background: linear-gradient(90deg, transparent, var(--am-500) 22%, var(--am-400) 50%, var(--am-500) 78%, transparent);
  opacity: .55; pointer-events: none;
  transition: opacity var(--dur-2, .22s) var(--ease), background var(--dur-2, .22s) var(--ease);
}
body.dark .hw:hover,
body.dark .prf .prf-wbox:hover { transform: translateY(-3px); }
body.dark .hw:hover::before,
body.dark .prf .prf-wbox:hover::before {
  opacity: 1;
  background: linear-gradient(90deg, transparent, var(--cy-400) 22%, var(--cy-300, #7ee8dd) 50%, var(--cy-400) 78%, transparent);
}
/* header do widget: título âmbar + border-bottom fino (separação limpa, sem faixa preta) */
body.dark .hw .hwt,
body.dark .prf .prf-wbox .prf-wt {
  font-family: var(--font-display) !important;
  color: var(--am-400) !important;
  letter-spacing: .12em !important;
  margin: 0 0 8px 0 !important;
  padding: 0 0 7px 0 !important;
  border-bottom: 2px solid rgba(255,255,255,.08) !important;
  background: none !important;
}


/* ═══ CARDIFICAÇÃO v3 · grupo ref-v2 (Notas/Referências/Agenda/Biblioteca) ═══ */
/* ═══════════════════════════════════════════════════════════════════════════
   grupo ref-v2 — cardificação dos painéis (Notas · Referências · Agenda ·
   Biblioteca). Só body.dark. Régua = Financeiro: card flutuante 10px + grão +
   sombra difusa, densidade Bloomberg (respiro 8px). Namespace = .ref-v2-body
   (não vaza p/ Financeiro/FinanceiroPJ). Escopo por página onde o painel é
   exclusivo (wv/od = Agenda, lib-main-scroll = Biblioteca).
   ═══════════════════════════════════════════════════════════════════════════ */

/* --- WRAPPERS estruturais: viram container com respiro, sem borda dura 3px --- */

/* body (grid 280px 1fr): mantém o grid, só ganha gap + moldura + base atrás dos cards */
body.dark .ref-v2-body {
  gap: 8px;
  padding: 8px;
  background: #0c0b09;
}

/* sidebar: deixa de ser card, vira coluna-wrapper que agrupa stats+recents com respiro */
body.dark .ref-v2-body .ref-v2-sidebar {
  border-right: none !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  gap: 8px;
}

/* main: container transparente dos cards (colunas / calendário / scroll), com respiro */
body.dark .ref-v2-body .ref-v2-main {
  background: transparent !important;
  background-image: none !important;
  gap: 8px;
  padding: 8px;
}

/* Notas/Referências: as colunas já-cards param de colar (gap 8) e perdem o divisor 3px */
body.dark .p-notas .ref-cols,
body.dark .p-referencias .ref-cols { gap: 8px !important; padding: 0 !important; }
body.dark .p-notas .ref-v2-main .col-box,
body.dark .p-referencias .ref-v2-main .col-box { border-right: none !important; }

/* --- CARDS de conteúdo: template da régua (overflow hidden — painéis sem scroll) --- */
body.dark .ref-v2-body .ref-v2-stats,
body.dark .p-agenda .wv-container,
body.dark .p-agenda .od-strip.ag-od-strip,
body.dark .ref-v2-body .cat-header {
  border: none !important;
  border-radius: 10px !important;
  background: var(--grain), linear-gradient(180deg, var(--card-fill), var(--card-fill)) !important;
  box-shadow:
    inset 0 1px 0 var(--card-sheen),
    var(--card-ring),
    0 16px 34px -16px rgba(0,0,0,.85),
    0 4px 10px -4px rgba(0,0,0,.6) !important;
  overflow: hidden;
}

/* --- CARDS que rolam por dentro: mesmo template, mas preservando o scroll --- */
body.dark .ref-v2-body .ref-v2-recents,
body.dark .p-biblioteca .lib-main-scroll {
  border: none !important;
  border-radius: 10px !important;
  background: var(--grain), linear-gradient(180deg, var(--card-fill), var(--card-fill)) !important;
  box-shadow:
    inset 0 1px 0 var(--card-sheen),
    var(--card-ring),
    0 16px 34px -16px rgba(0,0,0,.85),
    0 4px 10px -4px rgba(0,0,0,.6) !important;
  overflow-y: auto;
  overflow-x: hidden;
}

/* ═══ CARDIFICAÇÃO v3 · grupo home (greeting + respiro lateral) ═══ */
/* o greeting (saudação + mini-calendário) era o único painel flat da Home → card */
body.dark .p-home-v2 .h-greeting {
  border: none !important; border-radius: 10px !important;
  background: var(--grain), linear-gradient(180deg, var(--card-fill), var(--card-fill)) !important;
  box-shadow:
    inset 0 1px 0 var(--card-sheen), var(--card-ring),
    0 16px 34px -16px rgba(0,0,0,.85), 0 4px 10px -4px rgba(0,0,0,.6) !important;
  margin: 8px !important; overflow: hidden;
}
/* barras duras (border-right 3px) dos wrappers somem → cards flutuam com respiro lateral */
body.dark .p-home-v2 .h-left-col, body.dark .p-home-v2 .h-left-stack { border-right: none !important; }
/* os 6 cards já existentes ganham respiro em TODOS os lados (era só vertical, colavam na lateral) */
body.dark .p-home-v2 .h-prog-block, body.dark .p-home-v2 .h-late-block,
body.dark .p-home-v2 .h-dl-block, body.dark .p-home-v2 .h-tasks-panel,
body.dark .p-home-v2 .h-upcoming-panel, body.dark .p-home-v2 .h-cal-panel { margin: 8px !important; }


/* ═══ CARDIFICAÇÃO v3 · grupo cv2 (Captura) ═══ */
/* ═══════════════════════════════════════════════════════════════════════════
   grupo cv2 — cardificação da aba Captura (.p-captura-v2), SÓ tema escuro.
   Painéis flat/edge-to-edge → cards flutuantes (régua Financeiro): raio 10px,
   grão + gradiente, sombra difusa, respiro pequeno (~8px, densidade Bloomberg).
   Wrappers perdem as bordas duras de 3px e ganham gap/respiro entre os cards.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ---- WRAPPERS: remove divisórias duras + injeta respiro (não cardificar) ---- */

/* grid container: respiro externo + gutter entre coluna esq/dir */
body.dark .p-captura-v2 .cv2-body {
  gap: 8px !important;
  padding: 8px !important;
}

/* coluna 280px: some a borda-direita de 3px; sombra dos cards vaza pro gutter.
   respiro interno é por margin (header+corpo = 1 card só), não por gap uniforme */
body.dark .p-captura-v2 .cv2-left {
  border-right: none !important;
  overflow: visible !important;
}

/* coluna 1fr: gap de 8px separa os 4 cards de destino (empilhados) */
body.dark .p-captura-v2 .cv2-right {
  gap: 8px !important;
}

/* respiro entre o card "Nova Captura" e o card "Inbox" (headers são irmãos) */
body.dark .p-captura-v2 .cv2-left .cv2-capture-body + .cv2-ph.amber-bg {
  margin-top: 8px !important;
}

/* linha do kanban: vira container padded/gap p/ os mini-cards flutuarem dentro do .cv2-dest */
body.dark .p-captura-v2 .cv2-subcols {
  padding: 8px !important;
  gap: 8px !important;
}

/* ---- CAPS ÂMBAR: os headers da esquerda fecham o TOPO do card (irmão acima) ---- */
body.dark .p-captura-v2 .cv2-ph.amber-bg {
  border-bottom: none !important;              /* era 3px amber divisor */
  border-radius: 10px 10px 0 0 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18);
}

/* ---- CARD 1 · Nova Captura (form) — corpo com cap âmbar por cima ---- */
body.dark .p-captura-v2 .cv2-capture-body {
  border: none !important;
  border-radius: 0 0 10px 10px !important;     /* topo é fechado pelo cap âmbar */
  background: var(--grain), linear-gradient(180deg, var(--card-fill), var(--card-fill)) !important;
  box-shadow:
    var(--card-ring),
    0 16px 34px -16px rgba(0,0,0,.85),
    0 4px 10px -4px rgba(0,0,0,.6) !important;
  overflow: hidden;
}

/* ---- CARD 2 · Inbox (lista) — idem, cap âmbar por cima ---- */
body.dark .p-captura-v2 .cv2-inbox {
  border: none !important;
  border-radius: 0 0 10px 10px !important;
  background: var(--grain), linear-gradient(180deg, var(--card-fill), var(--card-fill)) !important;
  box-shadow:
    var(--card-ring),
    0 16px 34px -16px rgba(0,0,0,.85),
    0 4px 10px -4px rgba(0,0,0,.6) !important;
  overflow: hidden;
}
/* lista interna transparente: mostra o material do card, sem seam/dupla-camada */
body.dark .p-captura-v2 .cv2-inbox-list {
  background: transparent !important;
  background-image: none !important;
}

/* ---- CARDS 3-6 · Destinos (Notas / Referências / Tarefas·Eventos / Biblioteca) ----
   header .cv2-ph.dark é filho → fica DENTRO do card; overflow:hidden arredonda o topo */
body.dark .p-captura-v2 .cv2-dest {
  border: none !important;                     /* era border-bottom 3px */
  border-radius: 10px !important;
  background: var(--grain), linear-gradient(180deg, var(--card-fill), var(--card-fill)) !important;
  box-shadow:
    inset 0 1px 0 var(--card-sheen),
    var(--card-ring),
    0 16px 34px -16px rgba(0,0,0,.85),
    0 4px 10px -4px rgba(0,0,0,.6) !important;
  overflow: hidden;
}

/* ---- MINI-CARDS · colunas kanban (aninhadas dentro do card de destino) ----
   mesmo material, sombra MAIS LEVE (card-dentro-de-card não pode empastar) */
body.dark .p-captura-v2 .cv2-subcol {
  border: none !important;                     /* era border-right 1px divisor */
  border-radius: 8px !important;
  background: var(--grain), linear-gradient(180deg, var(--card-fill), var(--card-fill)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    var(--card-ring),
    0 8px 18px -10px rgba(0,0,0,.7) !important;
  overflow: hidden;
}
/* lista interna transparente: material do mini-card aparece (some o #0b0b0b hardcoded) */
body.dark .p-captura-v2 .cv2-subcol-list {
  background: transparent !important;
}

/* ═══ CARDIFICAÇÃO v3 · grupo prf-secundárias (Ferramentas/Daily/Saúde/Hábitos/Estudos) ═══
   Cardifica hero + left (painéis flat da auditoria) + respiro no grid. Escopado às abas
   com modificador .p-* → o Profissional (.prf puro, aprovado) fica INTACTO. */
body.dark .p-ferramentas .prf-grid, body.dark .p-daily .prf-grid,
body.dark .p-saude .prf-grid, body.dark .p-habitos .prf-grid,
body.dark .p-estudos .prf-grid { gap: 8px !important; padding: 8px !important; }

body.dark .p-ferramentas .prf-hero, body.dark .p-ferramentas .prf-left,
body.dark .p-daily .prf-left,
body.dark .p-saude .prf-hero, body.dark .p-saude .prf-left,
body.dark .p-habitos .prf-left,
body.dark .p-estudos .prf-left {
  border: none !important; border-right: none !important;
  border-radius: 10px !important;
  background: var(--grain), linear-gradient(180deg, var(--card-fill), var(--card-fill)) !important;
  box-shadow:
    inset 0 1px 0 var(--card-sheen), var(--card-ring),
    0 16px 34px -16px rgba(0,0,0,.85), 0 4px 10px -4px rgba(0,0,0,.6) !important;
  overflow: hidden;
}

/* ═══ ITEM 6 · MARGEM INFERIOR — respiro embaixo do último card/item de cada
   container scrollável, em todas as páginas (design: "os últimos cards da Home
   não têm margem inferior"). Só body.dark. ═══ */
/* Home: listas internas dos cards */
body.dark .p-home-v2 .h-dl-list,
body.dark .p-home-v2 .h-panel-scroll,
body.dark .p-home-v2 .h-ag-body,
body.dark .h-ld-list,
body.dark .p-home-v2 .h-wk-col { padding-bottom: 16px !important; }
/* mini-apps: o container de conteúdo/lista rolável ganha respiro no fim */
body.dark .prf-content,
body.dark .prf-main-panel,
body.dark .p-ferramentas .prf-content,
body.dark .ref-v2-main,
body.dark .ref-v2-recents,
body.dark .lib-main-scroll,
body.dark .cv2-right,
body.dark .cv2-inbox-list,
body.dark .p-senhas .page-content,
body.dark .p-clientes .page-content,
body.dark .p-projetos .page-content,
body.dark .p-team .page-content { padding-bottom: 20px !important; }
/* MOBILE: quando tudo colapsa em coluna única rolável, respiro generoso no fim */
@media (max-width: 768px) {
  /* iOS Fase 1 · essas paginas zeram o bottom com !important fora da media (~linha 4534);
     no mobile precisam clarear a tab bar fixa, senao o conteudo fica escondido atras dela */
  body.dark .p-senhas .page-content, body.dark .p-clientes .page-content,
  body.dark .p-projetos .page-content, body.dark .p-team .page-content { padding-bottom: max(80px, calc(56px + env(safe-area-inset-bottom))) !important; }

  body.dark .p-home-v2 .h-grid,
  body.dark .prf-grid,
  body.dark .ref-v2-body,
  body.dark .cv2-body { padding-bottom: 28px !important; }
}

/* ═══ ITEM 6 FIX v2 — respiro REAL no fim das colunas da Home (desktop).
   O fix v1 mirou as listas internas; o problema é o container de COLUNA
   (overflow:hidden) cujo último card estica até a borda inferior. ═══ */
body.dark .p-home-v2 .h-grid { padding-bottom: 18px; }
/* respiro SÓ nos containers de coluna da row2 (.h-left-col, .h-bottom) — NÃO no
   .h-left-stack: o padding dele empurrava o card Próximas 14px pra cima, desalinhando
   do Deadlines/Agenda. Sem esse padding, Próximas alcança o fundo do stack e os 3
   últimos cards terminam na MESMA linha. */
body.dark .p-home-v2 .h-left-col,
body.dark .p-home-v2 .h-bottom,
body.dark .p-home-v2 .h-cal-panel { padding-bottom: 14px !important; }
/* o último card de cada coluna: garante margem inferior mesmo se não estica */
body.dark .p-home-v2 .h-dl-block,
body.dark .p-home-v2 .h-upcoming-panel,
body.dark .p-home-v2 .h-cal-panel { margin-bottom: 8px !important; }

/* ═══ ITEM 2 v4 + ITEM 6 (alinhamento perfeito) — Home volta ao GRID 2×2 base.
   Os wrappers .h-col-l/.h-col-r saíram do JSX: greeting/left-col/widgets/bottom
   são filhos DIRETOS do .h-grid. row1 = auto (greeting + widgets, widgets fixos
   166px = tamanho original compacto → os TOPOS da row2 alinham). row2 = 1fr
   (left-col e bottom esticam igual → os FUNDOS dos cards alinham). Conteúdo longo
   dos widgets/painéis rola DENTRO do card. Respiro inferior igual nas 2 colunas
   fica no padding-bottom de .h-left-col/.h-bottom (item 6 fix v2, acima).
   DESKTOP-ONLY (min-width:769px): no mobile o grid empilha em coluna única
   (media max-width:768px, ~linha 3991). Sem esse guard, o `display:grid !important`
   vencia o empilhamento (vem depois no arquivo) e esmagava as colunas em 390px
   (col1 340px cortada + col2 1fr virava ~50px). ═══ */
@media (min-width: 769px) {
body.dark .p-home-v2 .h-grid {
  display: grid !important;
  grid-template-columns: 340px 1fr !important;
  grid-template-rows: auto 1fr !important;
  gap: 0 !important; padding-bottom: 0 !important;
  min-height: 0; overflow: hidden;
}
body.dark .p-home-v2 .h-greeting { grid-column: 1 !important; grid-row: 1 !important; }
/* widgets ESTICAM pra preencher a row1 inteira (altura = greeting, que dita a row).
   `contain: size` = o conteúdo dos widgets NÃO influencia a altura da row (só o
   greeting manda), então os cards com lista/scroll (Vasco, Brasileirão) não estouram
   o hero; `align-self: stretch` + `height:auto` fazem os widgets ocuparem o espaço
   abaixo até o fim do greeting. Os cards preenchem via align-items:stretch, com o
   conteúdo longo rolando dentro (hw-body). */
body.dark .p-home-v2 .h-widgets {
  grid-column: 2 !important; grid-row: 1 !important;
  height: auto !important; min-height: 166px !important; align-self: stretch !important;
  contain: size; overflow-x: auto !important; overflow-y: hidden !important;
}
body.dark .p-home-v2 .h-widgets .hw { align-self: stretch !important; min-height: 0 !important; max-height: 100% !important; }
body.dark .p-home-v2 .h-widgets .hw.hw-scroll { display: flex !important; flex-direction: column !important; overflow: hidden !important; }
body.dark .p-home-v2 .h-widgets .hw .hw-body { flex: 1 !important; min-height: 0 !important; overflow-y: auto !important; }
/* left-col e bottom ocupam a row2 inteira → fundos ALINHADOS entre as colunas */
body.dark .p-home-v2 .h-left-col { grid-column: 1 !important; grid-row: 2 !important; min-height: 0 !important; overflow: hidden !important; }
body.dark .p-home-v2 .h-bottom   { grid-column: 2 !important; grid-row: 2 !important; min-height: 0 !important; overflow: hidden !important; }
} /* fim @media (min-width: 769px) — grid 2×2 desktop-only */

/* ═══════════════════════════════════════════════════════════════════════════
   ITEM 1 (#25) — HEADER DE CARD PADRÃO: todo card com o mesmo header do
   TASKS/PRÓXIMAS. Faixa escura + border-bottom âmbar 2px + título âmbar Big
   Shoulders + contador/meta à direita. Só body.dark.
   ═══════════════════════════════════════════════════════════════════════════ */
body.dark .h-panel-head,
body.dark .prf .prf-panel-head,
body.dark .p-notas .col-box .col-header,
body.dark .p-referencias .col-box .col-header,
body.dark .p-captura-v2 .cv2-ph.dark {
  min-height: 40px !important; flex-shrink: 0;
  display: flex !important; align-items: center !important;
  padding: 0 14px !important;
  background: linear-gradient(180deg, #16130d, #0c0b09) !important;
  background-image: linear-gradient(180deg, #16130d, #0c0b09) !important;
  border-bottom: 2px solid var(--am-600) !important;
  border-color: var(--am-600) !important;
  box-shadow: 0 3px 8px rgba(0,0,0,.4) !important;
}
body.dark .h-panel-title,
body.dark .prf .prf-panel-title,
body.dark .p-notas .col-box .col-title,
body.dark .p-referencias .col-box .col-title,
body.dark .p-captura-v2 .cv2-ph.dark .cv2-ph-t {
  font-family: var(--font-display) !important;
  color: var(--am-400) !important;
  font-size: 11px !important;
  letter-spacing: .1em !important; text-transform: uppercase;
  font-weight: 700;
}
/* contador/meta à direita, mono muted */
body.dark .h-panel-count,
body.dark .prf .prf-panel-count,
body.dark .p-notas .col-box .col-count,
body.dark .p-captura-v2 .cv2-ph.dark .cv2-ph-s {
  margin-left: auto !important; color: var(--n-600) !important;
  font-family: var(--font-mono) !important; font-size: 9px !important;
}

/* ═══ ITEM 6 FIX v3 — a Home deixou de caber quando o header+ticker viraram
   globais (fora do grid): o .h-grid (flex:1) não encolhia porque o .main não era
   flex-column. Agora encolhe pro espaço restante → tudo cabe e o padding-bottom
   das colunas aparece de verdade (os cards param de estourar a viewport). ═══ */
body.dark .main--dashboard { display: flex !important; flex-direction: column !important; }

/* ═══════════════════════════════════════════════════════════════════════════
   ITEM 1 v2 (#25) — labels/headers que ficaram fora do padrão viram a faixa do
   TASKS (faixa escura full-width + border-bottom âmbar + título âmbar Big
   Shoulders). Cobre: Home (.h-blk-label), rails .prf (.prf-left-hd) e os headers
   âmbar-sólidos da Captura (.cv2-ph.amber-bg → escuro).
   ═══════════════════════════════════════════════════════════════════════════ */

/* --- HOME: PROGRESSO / ATRASADAS / DEADLINES — label vira faixa edge-to-edge --- */
body.dark .p-home-v2 .h-prog-block,
body.dark .p-home-v2 .h-late-block,
body.dark .p-home-v2 .h-dl-block { padding: 0 !important; overflow: hidden; }
body.dark .p-home-v2 .h-blk-label {
  display: block !important; margin: 0 0 10px 0 !important;
  padding: 11px 16px 9px !important;
  background: linear-gradient(180deg, #16130d, #0c0b09) !important;
  border-bottom: 2px solid var(--am-600) !important;
  font-family: var(--font-display) !important; color: var(--am-400) !important;
  letter-spacing: .1em !important; font-size: 11px !important; font-weight: 700;
}
/* conteúdo abaixo do label recupera o respiro lateral */
body.dark .p-home-v2 .h-prog-block > *:not(.h-blk-label),
body.dark .p-home-v2 .h-late-block > *:not(.h-blk-label),
body.dark .p-home-v2 .h-dl-block > *:not(.h-blk-label) { padding-left: 16px; padding-right: 16px; }
body.dark .p-home-v2 .h-dl-block .h-dl-list { padding-left: 0; padding-right: 0; }
body.dark .p-home-v2 .h-dl-block .h-dl-list > * { padding-left: 16px; padding-right: 16px; }

/* --- rails .prf (Daily "Como você está", "Foco do dia", Ferramentas "Renovações"…) --- */
body.dark .prf .prf-left-hd {
  margin: 0 0 8px 0 !important; padding: 10px 14px 8px !important;
  background: linear-gradient(180deg, #16130d, #0c0b09) !important;
  border-bottom: 2px solid var(--am-600) !important;
  font-family: var(--font-display) !important; color: var(--am-400) !important;
  letter-spacing: .1em !important; font-size: 11px !important;
}

/* --- CAPTURA: NOVA CAPTURA / INBOX deixam de ser âmbar-sólido → faixa escura padrão --- */
body.dark .p-captura-v2 .cv2-ph.amber-bg {
  background: linear-gradient(180deg, #16130d, #0c0b09) !important;
  border-bottom: 2px solid var(--am-600) !important;
}
body.dark .p-captura-v2 .cv2-ph.amber-bg .cv2-ph-t {
  color: var(--am-400) !important; font-family: var(--font-display) !important;
}
body.dark .p-captura-v2 .cv2-ph.amber-bg .cv2-ph-s { color: var(--n-600) !important; }
/* botão CAPTURAR: era preto sobre âmbar; agora âmbar sobre escuro */
body.dark .p-captura-v2 .cv2-ph.amber-bg .cv2-btn-capture {
  background: linear-gradient(180deg, var(--am-400), var(--am-600)) !important;
  color: #1a1206 !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   CARDIFICAÇÃO v4 · prf-secundárias (Daily/Ferramentas/Hábitos/Saúde/Estudos)
   Missão 2026-07-06: todo bloco titulado = card flutuante independente.
   Container-card com seções tituladas dentro → dissolve; as SEÇÕES viram cards.
   Escopo body.dark — tema claro intocado.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── DAILY · rail vira wrapper transparente; .dly-sec = card por seção ──────── */
body.dark .p-daily.prf .prf-left {
  background: none !important; background-image: none !important;
  box-shadow: none !important; border-radius: 0 !important;
  overflow: visible !important; gap: 8px;
}
body.dark .p-daily.prf .dly-sec {
  flex-shrink: 0; border-radius: 10px; overflow: hidden;
  background: var(--grain), linear-gradient(180deg, var(--card-fill), var(--card-fill));
  box-shadow:
    inset 0 1px 0 var(--card-sheen), var(--card-ring),
    0 16px 34px -16px rgba(0,0,0,.85), 0 4px 10px -4px rgba(0,0,0,.6);
  padding-bottom: 2px;
}
body.dark .p-daily.prf .prf-content { gap: 8px; }
body.dark .p-daily.prf .prf-side { gap: 8px; }
body.dark .p-daily.prf .prf-main-panel { border-right: none !important; }
body.dark .p-daily.prf .prf-side .prf-panel { border-bottom: none !important; }

/* ── FERRAMENTAS · painel Assinaturas dissolve; categoria = card ────────────── */
body.dark .p-ferramentas.prf .prf-main-panel:has(.prf-cat-group) {
  background: none !important; background-image: none !important;
  box-shadow: none !important; border-radius: 0 !important;
  overflow: visible !important; border-right: none !important;
}
body.dark .p-ferramentas.prf .prf-main-panel:has(.prf-cat-group) > .prf-panel-head {
  border-radius: 10px;
  box-shadow: inset 0 1px 0 var(--card-sheen), var(--card-ring), 0 14px 30px -14px rgba(0,0,0,.8);
}
body.dark .p-ferramentas.prf .prf-main-panel:has(.prf-cat-group) > .prf-panel-body {
  display: flex; flex-direction: column; gap: 8px;
  background: transparent !important; background-image: none !important;
  box-shadow: none !important; padding: 8px 0 16px; overflow-y: auto;
}
body.dark .p-ferramentas.prf .prf-cat-group {
  flex-shrink: 0; border-radius: 10px; overflow: hidden;
  background: var(--grain), linear-gradient(180deg, var(--card-fill), var(--card-fill));
  box-shadow:
    inset 0 1px 0 var(--card-sheen), var(--card-ring),
    0 16px 34px -16px rgba(0,0,0,.85), 0 4px 10px -4px rgba(0,0,0,.6);
}
/* total da categoria estava color:#111 inline (invisível no escuro) → mono legível */
body.dark .p-ferramentas.prf .prf-list-sec span[style*="#111"] {
  color: var(--n-600) !important; font-family: var(--font-mono) !important;
}

/* ── HÁBITOS · painel HOJE dissolve; grupo (Saúde/Lazer/Mente) = card ───────── */
body.dark .p-habitos.prf .prf-main-panel {
  background: none !important; background-image: none !important;
  box-shadow: none !important; border-radius: 0 !important;
  overflow: visible !important; border-right: none !important;
}
body.dark .p-habitos.prf .prf-main-panel > .prf-panel-head {
  border-radius: 10px;
  box-shadow: inset 0 1px 0 var(--card-sheen), var(--card-ring), 0 14px 30px -14px rgba(0,0,0,.8);
}
body.dark .p-habitos.prf .prf-main-panel > .prf-panel-body {
  display: flex; flex-direction: column; gap: 8px;
  background: transparent !important; background-image: none !important;
  box-shadow: none !important; padding: 8px 0 20px; overflow-y: auto;
}
body.dark .p-habitos.prf .prf-main-panel > .prf-panel-body > div {
  flex-shrink: 0; border-radius: 10px; overflow: hidden;
  background: var(--grain), linear-gradient(180deg, var(--card-fill), var(--card-fill));
  box-shadow:
    inset 0 1px 0 var(--card-sheen), var(--card-ring),
    0 16px 34px -16px rgba(0,0,0,.85), 0 4px 10px -4px rgba(0,0,0,.6);
}

/* ── SAÚDE · Tendências dissolve; seção = card partido (header + corpo) ─────── */
body.dark .p-saude .prf-content { gap: 8px; }
body.dark .p-saude .prf-main-panel {
  background: none !important; background-image: none !important;
  box-shadow: none !important; border-radius: 0 !important;
  overflow: visible !important; border-right: none !important;
}
body.dark .p-saude .prf-main-panel > .prf-panel-head {
  border-radius: 12px;
  box-shadow: inset 0 1px 0 var(--card-sheen), var(--card-ring), 0 14px 30px -14px rgba(0,0,0,.8);
}
body.dark .p-saude .prf-main-panel > .prf-panel-body {
  background: transparent !important; background-image: none !important;
  box-shadow: none !important; overflow-y: auto; padding-bottom: 16px;
}
body.dark .p-saude .prf-main-panel .prf-list-sec { margin-top: 8px; border-radius: 12px 12px 0 0; }
body.dark .p-saude .prf-main-panel .prf-list-sec + div {
  border-radius: 0 0 12px 12px;
  background: var(--grain), linear-gradient(180deg, var(--card-fill), var(--card-fill));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07), var(--card-ring),
    0 14px 34px -16px rgba(0,0,0,.85), 0 3px 10px -4px rgba(0,0,0,.55);
}
body.dark .p-saude .prf-side { gap: 8px; }
body.dark .p-saude .prf-side .prf-panel { border-bottom: none !important; }
/* mini-cards dentro de card: sombra leve (precedente cv2-subcol) */
body.dark .p-saude .reg-card, body.dark .p-saude .t-stat {
  box-shadow: inset 0 1px 0 var(--card-sheen), var(--card-ring), 0 6px 14px -8px rgba(0,0,0,.6) !important;
}

/* ── ESTUDOS · painel Cursos dissolve; seção de status = card; course-card vira linha ── */
body.dark .p-estudos.prf .prf-main-panel {
  background: none !important; background-image: none !important;
  box-shadow: none !important; border-radius: 0 !important;
  overflow: visible !important; border-right: none !important;
}
body.dark .p-estudos.prf .prf-main-panel > .prf-panel-head {
  border-radius: 9px;
  box-shadow: inset 0 1px 0 var(--card-sheen), var(--card-ring), 0 14px 30px -14px rgba(0,0,0,.8);
}
body.dark .p-estudos.prf .prf-main-panel > .prf-panel-body {
  display: flex; flex-direction: column; gap: 8px;
  background: transparent !important; background-image: none !important;
  box-shadow: none !important; padding: 8px 0 16px !important; overflow-y: auto;
}
body.dark .p-estudos.prf .prf-main-panel > .prf-panel-body > div {
  flex-shrink: 0; border-radius: 9px; overflow: hidden;
  background: var(--grain), linear-gradient(180deg, var(--card-fill), var(--card-fill));
  box-shadow:
    inset 0 1px 0 var(--card-sheen-hi), var(--card-ring),
    0 20px 44px -18px rgba(0,0,0,.9), 0 6px 14px -6px rgba(0,0,0,.6);
}
/* course-card deixa de ser card-sobre-card: vira linha interna (tarja de status fica) */
body.dark .p-estudos .course-card {
  background: rgba(255,255,255,.025) !important; background-image: none !important;
  box-shadow: none !important; border-radius: 6px !important;
}
body.dark .p-estudos .course-card:hover {
  transform: none !important;
  background: rgba(231,156,34,.06) !important;
  box-shadow: none !important;
}

/* ── HEADERS de seção (.prf-list-sec) na régua ITEM 1: faixa #16130d + 2px âmbar ──
   (Daily fora: lá MANHÃ/TARDE são divisórias internas de lista, não headers de card) */
body.dark .p-ferramentas.prf .prf-list-sec,
body.dark .p-habitos.prf .prf-list-sec,
body.dark .p-saude .prf-main-panel .prf-list-sec,
body.dark .p-estudos.prf .prf-list-sec {
  min-height: 40px; display: flex; align-items: center;
  background: linear-gradient(180deg, #16130d, #0c0b09) !important;
  background-image: linear-gradient(180deg, #16130d, #0c0b09) !important;
  border-top: none !important;
  border-bottom: 2px solid var(--am-600) !important;
}
body.dark .p-ferramentas.prf .prf-list-sec-title,
body.dark .p-habitos.prf .prf-list-sec-title,
body.dark .p-saude .prf-main-panel .prf-list-sec-title,
body.dark .p-estudos.prf .prf-list-sec-title {
  color: var(--am-400) !important; font-size: 11px !important; letter-spacing: .1em !important;
}

/* ── MOBILE (≤768px) · grid empilha em coluna única rolável (padrão Home/p-prof) ── */
@media (max-width: 768px) {
  body.dark .p-daily.prf, body.dark .p-ferramentas.prf, body.dark .p-habitos.prf,
  body.dark .p-saude.prf, body.dark .p-estudos.prf { overflow-y: auto !important; }
  body.dark .p-daily .prf-grid, body.dark .p-ferramentas .prf-grid,
  body.dark .p-habitos .prf-grid, body.dark .p-saude .prf-grid,
  body.dark .p-estudos .prf-grid {
    display: flex !important; flex-direction: column !important;
    height: auto !important; overflow: visible !important;
  }
  body.dark .p-daily .prf-content, body.dark .p-ferramentas .prf-content,
  body.dark .p-habitos .prf-content, body.dark .p-saude .prf-content,
  body.dark .p-estudos .prf-content {
    flex-direction: column !important; overflow: visible !important;
  }
  body.dark .p-daily .prf-hero, body.dark .p-ferramentas .prf-hero,
  body.dark .p-habitos .prf-hero, body.dark .p-saude .prf-hero,
  body.dark .p-estudos .prf-hero,
  body.dark .p-daily .prf-left, body.dark .p-ferramentas .prf-left,
  body.dark .p-habitos .prf-left, body.dark .p-saude .prf-left,
  body.dark .p-estudos .prf-left { flex: none !important; overflow: visible !important; min-height: 0 !important; }
  body.dark .p-daily .prf-side, body.dark .p-ferramentas .prf-side,
  body.dark .p-habitos .prf-side, body.dark .p-saude .prf-side,
  body.dark .p-estudos .prf-side,
  body.dark .p-daily .prf-panel-body, body.dark .p-ferramentas .prf-panel-body,
  body.dark .p-habitos .prf-panel-body, body.dark .p-saude .prf-panel-body,
  body.dark .p-estudos .prf-panel-body { overflow: visible !important; }
  body.dark .p-daily .prf-widgets, body.dark .p-ferramentas .prf-widgets,
  body.dark .p-habitos .prf-widgets, body.dark .p-saude .prf-widgets,
  body.dark .p-estudos .prf-widgets {
    display: flex !important; flex-direction: row !important; overflow-x: auto !important;
  }
  body.dark .p-daily .prf-widgets .prf-wbox, body.dark .p-ferramentas .prf-widgets .prf-wbox,
  body.dark .p-habitos .prf-widgets .prf-wbox, body.dark .p-saude .prf-widgets .prf-wbox,
  body.dark .p-estudos .prf-widgets .prf-wbox { min-width: 220px; }
}

/* Ferramentas: rail RENOVAÇÕES fecha logo após o conteúdo (não estica 1300px vazio) */
body.dark .p-ferramentas.prf .prf-left { align-self: start; max-height: 100%; }

/* ═══════════════════════════════════════════════════════════════════════════
   CARDIFICAÇÃO v4 · grupo ref-v2 (Agenda/Notas/Referências/Biblioteca)
   Missão 2026-07-06: headers órfãos viram o TOPO do card seguinte; sidebar na
   régua; mobile empilha. Escopo body.dark — tema claro intocado.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── HEADER da sidebar (.cv2-ph.amber-bg era âmbar sólido) → faixa escura padrão
      e ABRE o card de stats (gruda via margin negativa que anula o gap 8px) ── */
body.dark .p-agenda .cv2-ph.amber-bg, body.dark .p-agenda .cv2-ph,
body.dark .p-notas .cv2-ph.amber-bg,
body.dark .p-referencias .cv2-ph.amber-bg,
body.dark .p-biblioteca .cv2-ph.amber-bg {
  background: linear-gradient(180deg, #16130d, #0c0b09) !important;
  border-bottom: 2px solid var(--am-600) !important;
  min-height: 40px;
  border-radius: 10px 10px 0 0;
  margin-bottom: -8px;
  position: relative; z-index: 1;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
body.dark .p-agenda .cv2-ph .cv2-ph-t,
body.dark .p-notas .cv2-ph.amber-bg .cv2-ph-t,
body.dark .p-referencias .cv2-ph.amber-bg .cv2-ph-t,
body.dark .p-biblioteca .cv2-ph.amber-bg .cv2-ph-t {
  color: var(--am-400) !important; font-family: var(--font-display) !important;
  font-size: 11px !important; letter-spacing: .1em; text-transform: uppercase;
}
body.dark .p-agenda .cv2-ph .cv2-ph-s,
body.dark .p-notas .cv2-ph.amber-bg .cv2-ph-s,
body.dark .p-referencias .cv2-ph.amber-bg .cv2-ph-s,
body.dark .p-biblioteca .cv2-ph.amber-bg .cv2-ph-s {
  color: var(--n-600) !important; font-family: var(--font-mono) !important; font-size: 9px !important;
}
body.dark .p-agenda .ref-v2-stats, body.dark .p-notas .ref-v2-stats,
body.dark .p-referencias .ref-v2-stats, body.dark .p-biblioteca .ref-v2-stats {
  border-radius: 0 0 10px 10px !important;
}

/* ── LABELS de seção da sidebar (RECENTES/ACERVO/HOJE/PRÓXIMOS) → header do card
      seguinte (faixa padrão + gruda no card via margin negativa) ── */
body.dark .p-agenda .ref-v2-sidebar .ref-v2-section-label,
body.dark .p-notas .ref-v2-sidebar .ref-v2-section-label,
body.dark .p-referencias .ref-v2-sidebar .ref-v2-section-label,
body.dark .p-biblioteca .ref-v2-sidebar .ref-v2-section-label {
  background: linear-gradient(180deg, #16130d, #0c0b09) !important;
  border-bottom: 2px solid var(--am-600) !important;
  color: var(--am-400) !important;
  font-family: var(--font-display) !important;
  font-size: 11px !important; letter-spacing: .1em !important; text-transform: uppercase;
  min-height: 40px; display: flex; align-items: center;
  padding: 0 12px !important; margin: 0 0 -8px !important;
  border-radius: 10px 10px 0 0;
  position: relative; z-index: 1;
  box-shadow: 0 3px 8px rgba(0,0,0,.4);
}
/* o irmão seguinte é o corpo do card: superfície + fecha embaixo */
body.dark .p-agenda .ref-v2-sidebar .ref-v2-section-label + *,
body.dark .p-notas .ref-v2-sidebar .ref-v2-section-label + *,
body.dark .p-referencias .ref-v2-sidebar .ref-v2-section-label + *,
body.dark .p-biblioteca .ref-v2-sidebar .ref-v2-section-label + * {
  border-radius: 0 0 10px 10px !important;
  background: var(--grain), linear-gradient(180deg, var(--card-fill), var(--card-fill)) !important;
  box-shadow:
    inset 0 1px 0 var(--card-sheen), var(--card-ring),
    0 16px 34px -16px rgba(0,0,0,.85), 0 4px 10px -4px rgba(0,0,0,.6) !important;
}

/* ── REFERÊNCIAS: busca branca no escuro + contador dos headers na régua ── */
body.dark .p-referencias .ref-v2-search { background: #16130d; color: #f1eee7; }
body.dark .p-referencias .ref-v2-search::placeholder { color: #948c80; }
body.dark .p-referencias .col-box .col-count {
  color: var(--n-600) !important; font-family: var(--font-mono) !important; font-size: 9px !important;
  background: transparent !important;
}

/* ── AGENDA: header do calendário vira o TOPO do card (começa no header) ── */
body.dark .p-agenda .cal-header {
  background: linear-gradient(180deg, #16130d, #0c0b09) !important;
  min-height: 40px; height: auto !important; padding: 6px 16px;
  border-bottom: 2px solid var(--am-600) !important;
  border-radius: 10px 10px 0 0;
  box-shadow: inset 0 1px 0 var(--card-sheen), var(--card-ring);
  position: relative; z-index: 1;
}
body.dark .p-agenda .cal-title {
  font-family: var(--font-display) !important; color: var(--am-400) !important;
  font-size: 11px !important; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
}
body.dark .p-agenda .cal-header + * { border-radius: 0 0 10px 10px !important; }

/* ── BIBLIOTECA: header+chips+grade = UM card (começa no header, termina na grade) ── */
body.dark .p-biblioteca .lib-active-label {
  background: linear-gradient(180deg, #16130d, #0c0b09) !important;
  border-bottom: 2px solid var(--am-600) !important;
  color: var(--am-400) !important; font-family: var(--font-display) !important;
  font-size: 11px !important; letter-spacing: .1em; text-transform: uppercase;
  min-height: 40px; display: flex; align-items: center;
  border-radius: 10px 10px 0 0; margin-bottom: -8px;
  position: relative; z-index: 1;
}
body.dark .p-biblioteca .lib-active-label .lib-active-count {
  color: var(--n-600) !important; font-family: var(--font-mono) !important;
}
body.dark .p-biblioteca .lib-filter-row {
  background: var(--grain), linear-gradient(180deg, var(--card-fill), var(--card-fill));
  padding: 14px 12px 6px !important; margin-bottom: -8px;
  position: relative; z-index: 1;
  box-shadow: var(--card-ring);
}
body.dark .p-biblioteca .lib-main-scroll { border-radius: 0 0 10px 10px !important; }

/* Log completo → card titulado no padrão */
body.dark .p-biblioteca .lib-log {
  border-top: none !important; padding: 0 0 4px !important; margin-top: 8px !important;
  border-radius: 10px; overflow: hidden;
  background: var(--grain), linear-gradient(180deg, var(--card-fill), var(--card-fill));
  box-shadow:
    inset 0 1px 0 var(--card-sheen), var(--card-ring),
    0 16px 34px -16px rgba(0,0,0,.85), 0 4px 10px -4px rgba(0,0,0,.6);
  flex-shrink: 0;
}
body.dark .p-biblioteca .lib-log-head {
  min-height: 40px; margin-bottom: 8px !important; padding: 0 14px;
  background: linear-gradient(180deg, #16130d, #0c0b09);
  border-bottom: 2px solid var(--am-600);
}
body.dark .p-biblioteca .lib-log-head span:first-child {
  color: var(--am-400) !important; font-family: var(--font-display) !important;
  font-size: 11px !important; letter-spacing: .1em; text-transform: uppercase;
}
body.dark .p-biblioteca .lib-log > div:not(.lib-log-head) { padding: 0 12px 8px; }

/* pôsteres/inbox deixam de ser card-sobre-card: tile interno sem sombra projetada */
body.dark .p-biblioteca .poster-card,
body.dark .p-biblioteca .lib-inbox-item {
  box-shadow: inset 0 1px 0 var(--card-sheen), var(--card-ring) !important;
}
body.dark .p-biblioteca .poster-card:hover,
body.dark .p-biblioteca .lib-inbox-item:hover {
  box-shadow: inset 0 1px 0 var(--card-sheen-hi), 0 0 0 1px rgba(47,214,198,.3) !important;
}

/* ── MOBILE (≤768px): ref-v2-body empilha em coluna única rolável ── */
@media (max-width: 768px) {
  body.dark .p-agenda .ref-v2-body, body.dark .p-notas .ref-v2-body,
  body.dark .p-referencias .ref-v2-body, body.dark .p-biblioteca .ref-v2-body {
    display: flex !important; flex-direction: column !important;
    height: auto !important; overflow-y: auto !important;
  }
  body.dark .p-agenda .ref-v2-sidebar, body.dark .p-notas .ref-v2-sidebar,
  body.dark .p-referencias .ref-v2-sidebar, body.dark .p-biblioteca .ref-v2-sidebar {
    width: 100% !important; flex: none !important;
  }
  body.dark .p-agenda .ref-v2-main, body.dark .p-notas .ref-v2-main,
  body.dark .p-referencias .ref-v2-main, body.dark .p-biblioteca .ref-v2-main {
    overflow: visible !important; flex: none !important;
  }
  body.dark .p-agenda .ref-v2-main.ag-cal-main { min-height: 70vh; }
  body.dark .p-notas .ref-cols, body.dark .p-referencias .ref-cols {
    flex-direction: column !important; overflow: visible !important;
  }
  body.dark .p-notas .col-box, body.dark .p-referencias .col-box { flex: none !important; }
  body.dark .p-notas .col-body, body.dark .p-referencias .col-body { overflow: visible !important; }
  body.dark .p-biblioteca .lib-main-scroll { overflow: visible !important; }
}

/* Agenda: card HOJE fecha após o conteúdo (era flex:1 com ~700px mortos); lista longa rola */
body.dark .p-agenda .ref-v2-sidebar .ref-v2-recents { flex: none !important; max-height: 44vh; overflow-y: auto; }

/* ═══════════════════════════════════════════════════════════════════════════
   CARDIFICAÇÃO v4 · standalone (Projetos/Clientes/Team/Senhas) + Captura
   Missão 2026-07-06. Escopo body.dark — tema claro intocado (o .senhas-aviso
   ganha regra clara IDÊNTICA ao inline que substituiu — pixel-neutro).
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── PROJETOS · headers de grupo na faixa padrão; zonas só tipografia ───────── */
body.dark .p-projetos .group-header {
  min-height: 40px; padding: 0 14px !important; margin-bottom: 12px;
  border-left: none !important;
  background: linear-gradient(180deg, #16130d, #0c0b09);
  border-bottom: 2px solid var(--am-600);
  border-radius: 9px 9px 0 0;
  box-shadow: 0 3px 8px rgba(0,0,0,.4);
  display: flex; align-items: center;
}
body.dark .p-projetos .group-title {
  font-family: var(--font-display) !important; color: var(--am-400) !important;
  font-size: 11px !important; letter-spacing: .1em !important; text-transform: uppercase;
  font-weight: 700;
}
body.dark .p-projetos .group-badge {
  background: none !important; font-family: var(--font-mono) !important;
  font-size: 9px !important; color: var(--n-600) !important;
}
body.dark .p-projetos .zone-label {
  font-family: var(--font-display) !important; font-size: 11px !important; letter-spacing: .1em !important;
}
/* stats-row entra no material da régua (KPIs quadrados chapados → cards) */
body.dark .p-projetos .stat {
  border-radius: 9px !important; border: none !important;
  background: var(--grain), linear-gradient(180deg, var(--card-fill), var(--card-fill)) !important;
  box-shadow:
    inset 0 1px 0 var(--card-sheen), var(--card-ring),
    0 16px 34px -16px rgba(0,0,0,.85), 0 4px 10px -4px rgba(0,0,0,.6) !important;
}

/* ── CLIENTES · client-card e KPIs no material da régua; labels de coluna na faixa ── */
body.dark .p-clientes .client-card {
  border-radius: 9px !important; border: none !important;
  background: var(--grain), linear-gradient(180deg, var(--card-fill), var(--card-fill)) !important;
  box-shadow:
    inset 0 1px 0 var(--card-sheen-hi), var(--card-ring),
    0 20px 44px -18px rgba(0,0,0,.9), 0 6px 14px -6px rgba(0,0,0,.6) !important;
}
body.dark .p-clientes .client-card .card-header { border-bottom: 2px solid var(--am-600) !important; }
body.dark .p-clientes .cli-sec-hd {
  min-height: 40px; display: flex; align-items: center;
  padding: 0 14px !important; margin-bottom: 12px !important;
  background: linear-gradient(180deg, #16130d, #0c0b09) !important;
  border-bottom: 2px solid var(--am-600) !important;
  font-family: var(--font-display) !important; color: var(--am-400) !important;
  font-size: 11px !important; letter-spacing: .1em !important;
  border-radius: 9px 9px 0 0;
  box-shadow: 0 3px 8px rgba(0,0,0,.4);
}
body.dark .p-clientes .stat {
  border-radius: 9px !important; border: none !important;
  background: var(--grain), linear-gradient(180deg, var(--card-fill), var(--card-fill)) !important;
  box-shadow:
    inset 0 1px 0 var(--card-sheen), var(--card-ring),
    0 16px 34px -16px rgba(0,0,0,.85), 0 4px 10px -4px rgba(0,0,0,.6) !important;
}
body.dark .p-clientes .stat.total  { border-top: 3px solid #5a73e8 !important; }
body.dark .p-clientes .stat.ativos { border-top: 3px solid #37d17e !important; }
body.dark .p-clientes .stat.valor  { border-top: 3px solid var(--am-600) !important; }

/* ── TEAM · KPIs e tabela no material da régua + header padrão (só no dark) ── */
body.dark .p-team .tm-kpi {
  border-left: none !important; border-right: none !important; border-bottom: none !important;
  border-radius: 10px !important;
  background: var(--grain), linear-gradient(180deg, var(--card-fill), var(--card-fill)) !important;
  box-shadow:
    inset 0 1px 0 var(--card-sheen), var(--card-ring),
    0 16px 34px -16px rgba(0,0,0,.85), 0 4px 10px -4px rgba(0,0,0,.6) !important;
}
body.dark .p-team .tm-kpi > div:first-child {
  font-family: var(--font-display) !important; letter-spacing: .1em !important;
}
body.dark .p-team .tm-table {
  border: none !important; border-radius: 10px !important;
  background: var(--grain), linear-gradient(180deg, var(--card-fill), var(--card-fill)) !important;
  box-shadow:
    inset 0 1px 0 var(--card-sheen), var(--card-ring),
    0 16px 34px -16px rgba(0,0,0,.85), 0 4px 10px -4px rgba(0,0,0,.6) !important;
}
body.dark .p-team .tm-head {
  min-height: 40px; display: flex; align-items: center; padding: 0 14px;
  background: linear-gradient(180deg, #16130d, #0c0b09);
  border-bottom: 2px solid var(--am-600);
  box-shadow: 0 3px 8px rgba(0,0,0,.4);
}
body.dark .p-team .tm-head-t {
  font-family: var(--font-display); color: var(--am-400);
  font-size: 11px; letter-spacing: .1em; text-transform: uppercase; font-weight: 700;
}
body.dark .p-team .tm-head-c {
  margin-left: auto; color: var(--n-600); font-family: var(--font-mono); font-size: 9px;
}

/* ── SENHAS · tabela vira UM card (header → última row); aviso vira card ────── */
body.dark .p-senhas .senhas-tbl-card {
  border-radius: 12px; overflow: hidden;
  background: var(--grain), linear-gradient(180deg, var(--card-fill), var(--card-fill));
  box-shadow:
    var(--card-ring),
    0 20px 44px -18px rgba(0,0,0,.9), 0 6px 14px -6px rgba(0,0,0,.6);
  margin-bottom: 8px; padding-bottom: 8px;
}
body.dark .p-senhas .senhas-tbl-card .tbl-head {
  min-height: 40px; align-items: center;
  padding: 0 14px !important; margin-bottom: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(180deg, #16130d, #0c0b09) !important;
  border-bottom: 2px solid var(--am-600) !important;
}
body.dark .p-senhas .senhas-tbl-card .cat-section { padding: 0 14px; }

/* claro: reproduz EXATAMENTE o inline antigo do aviso (pixel-neutro) */
.p-senhas .senhas-aviso { margin-top: 32px; padding: 14px; background: #1a0e00; border: 1px solid #3d2200; border-radius: 0; }
.p-senhas .senhas-aviso .t { font-size: 11px; color: #fb923c; font-weight: 600; margin-bottom: 6px; }
.p-senhas .senhas-aviso .b { font-size: 12px; color: #888; line-height: 1.5; }
/* escuro: card titulado na régua */
body.dark .p-senhas .senhas-aviso {
  border: none; border-radius: 12px; padding: 0 0 12px; overflow: hidden;
  background: var(--grain), linear-gradient(180deg, #171106, #0d0a05);
  box-shadow: 0 0 0 1px rgba(231,156,34,.18), 0 14px 30px -14px rgba(0,0,0,.85);
}
body.dark .p-senhas .senhas-aviso .t {
  display: flex; align-items: center; min-height: 40px;
  padding: 0 14px; margin: 0 0 8px;
  background: linear-gradient(180deg, #16130d, #0c0b09);
  border-bottom: 2px solid var(--am-600);
  font-family: var(--font-display); color: var(--am-400);
  font-size: 11px; text-transform: uppercase; letter-spacing: .1em;
}
body.dark .p-senhas .senhas-aviso .b { padding: 0 14px; color: #948c80; }

/* ── CAPTURA · mata o card-sobre-card das subcolunas (viram colunas internas) ── */
body.dark .p-captura-v2 .cv2-subcols { padding: 0 !important; gap: 0 !important; }
body.dark .p-captura-v2 .cv2-subcol {
  background: transparent !important; background-image: none !important;
  border-radius: 0 !important; box-shadow: none !important;
  border-right: 1px solid #1d1d1d !important;
}
body.dark .p-captura-v2 .cv2-subcol:last-child { border-right: none !important; }
/* headers NOVA CAPTURA / INBOX completam a régua ITEM 1 */
body.dark .p-captura-v2 .cv2-ph.amber-bg { min-height: 40px !important; height: auto !important; }
body.dark .p-captura-v2 .cv2-ph.amber-bg .cv2-ph-t { font-size: 11px !important; letter-spacing: .1em !important; }
body.dark .p-captura-v2 .cv2-ph.amber-bg .cv2-ph-s {
  font-family: var(--font-mono) !important; font-size: 9px !important; color: var(--n-600) !important;
}

/* ── MOBILE (≤768px) ── */
@media (max-width: 768px) {
  /* Captura: coluna direita empilha (era filete de 85px) */
  body.dark .p-captura-v2 { height: auto !important; overflow: visible !important; }
  body.dark .p-captura-v2 .cv2-body {
    display: flex !important; flex-direction: column !important;
    height: auto !important; overflow: visible !important;
  }
  body.dark .p-captura-v2 .cv2-left, body.dark .p-captura-v2 .cv2-right {
    width: 100% !important; overflow: visible !important;
  }
  body.dark .p-captura-v2 .cv2-inbox { flex: 0 0 auto !important; }
  body.dark .p-captura-v2 .cv2-subcols { flex-wrap: wrap !important; }
  body.dark .p-captura-v2 .cv2-subcol { min-width: calc(50% - 4px) !important; }
  /* Team: KPIs 2×3 e tabela reflui (Alocações desce pra 2ª linha da row) */
  body.dark .p-team .tm-kpis { grid-template-columns: 1fr 1fr !important; }
  body.dark .p-team .tm-row { grid-template-columns: 1fr 84px !important; }
  body.dark .p-team .tm-row > *:nth-child(2) { grid-column: 1 / -1; grid-row: 2; }
}

/* ═══ FEEDBACK 2026-07-06 · rodada 2 ═══════════════════════════════════ */

/* + NOVA NOTA (e CTAs irmãos do ref-v2): identidade arredondada + display font.
   Mesmo tratamento do botão CAPTURAR (gradiente âmbar, texto escuro). */
body.dark .ref-v2-sidebar .ref-v2-new-btn {
  font-family: var(--font-display) !important;
  font-weight: 700; letter-spacing: .12em; font-size: 12px;
  border-radius: 10px !important;
  background: linear-gradient(180deg, var(--am-400), var(--am-600)) !important;
  color: #1a1206 !important;
  padding: 11px 12px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.25),
    0 0 0 1px rgba(231,156,34,.35),
    0 10px 22px -10px rgba(0,0,0,.8);
  transition: transform .18s var(--ease-out, ease), box-shadow .18s var(--ease-out, ease);
}
body.dark .ref-v2-sidebar .ref-v2-new-btn:hover {
  transform: translateY(-2px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.3),
    0 0 0 1px rgba(231,156,34,.5),
    0 0 16px -2px rgba(231,156,34,.45),
    0 14px 26px -10px rgba(0,0,0,.85);
}

/* ═══ FEEDBACK 2026-07-06 · rodada 3 ═══════════════════════════════════
   Flutuação de verdade: o fundo da página desce pra #050505 (era #0b0b0b) e o
   card sobe pra #1d1a15→#14120e — delta mínimo de ~15 pontos em qualquer altura
   de card. Só body.dark; o claro define o próprio fundo em outra camada. ═══ */
body.dark { background: #050505 !important; }
body.dark .main { background: #050505 !important; }
body.dark .ref-v2-body { background: #050505; }
body.dark .p-notas .ref-v2-body, body.dark .p-notas .ref-v2-main { background: #050505; }
body.dark .p-agenda .ref-v2-main { background: #050505; }
body.dark .prf { background: #050505 !important; }
body.dark .p-home-v2 { background: #050505 !important; }

/* CAPTURAR (Captura): mesma identidade do + Nova Nota — arredondado + display */
body.dark .p-captura-v2 .cv2-btn-capture {
  border-radius: 10px !important;
  font-family: var(--font-display) !important;
  font-weight: 700; letter-spacing: .12em; font-size: 12px;
  padding: 8px 16px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.25),
    0 0 0 1px rgba(231,156,34,.35),
    0 10px 22px -10px rgba(0,0,0,.8);
  transition: transform .18s var(--ease-out, ease), box-shadow .18s var(--ease-out, ease);
}
body.dark .p-captura-v2 .cv2-btn-capture:hover {
  transform: translateY(-2px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.3),
    0 0 0 1px rgba(231,156,34,.5),
    0 0 16px -2px rgba(231,156,34,.45),
    0 14px 26px -10px rgba(0,0,0,.85);
}

/* BUSCAR (sidebar ref-v2 — Notas/Referências/Biblioteca): identidade arredondada */
body.dark .ref-v2-sidebar .ref-v2-search {
  border-radius: 10px !important;
  background: #16130d !important; color: #f1eee7 !important;
  border: 1px solid rgba(231,156,34,.35) !important;
  font-family: var(--font-display) !important;
  font-size: 12px; letter-spacing: .08em;
  padding: 10px 14px;
  box-shadow: inset 0 1px 3px rgba(0,0,0,.4);
  transition: border-color .18s var(--ease-out, ease), box-shadow .18s var(--ease-out, ease);
}
body.dark .ref-v2-sidebar .ref-v2-search::placeholder { color: #948c80; }
body.dark .ref-v2-sidebar .ref-v2-search:focus {
  border-color: var(--am-400) !important;
  box-shadow: inset 0 1px 3px rgba(0,0,0,.4), 0 0 12px -3px rgba(231,156,34,.4);
  outline: none;
}

/* rodada 7 · Hábitos · painel HOJE: linhas de hábito colavam nas bordas do card
   (checkbox à esquerda, grid de sequência à direita, padding lateral 0).
   Respiro lateral p/ margem de segurança — sem mexer na fonte. Headers de
   grupo (.prf-list-sec) seguem edge-to-edge. Só body.dark. */
body.dark .p-habitos .habit-row { padding-left: 16px !important; padding-right: 16px !important; }

/* ═══ TEMA CLARO · Terminal Gelo Invertido — MECÂNICA BASE (casca .prf-panel) ═══
   Chrome segue preto; só o corpo do card acende. Header .prf-panel-head fica preto. */
body:not(.dark) .prf-panel {
  /* flip de token: tinta interna vira escura (tudo que lê var(--ink/--n-*) segue) */
  --ink: #14151a; --ink2: #43454d; --muted: #61636d; --muted-soft: #83858e;
  --n-900: #14151a; --n-800: #43454d; --n-700: #61636d; --n-600: #83858e;
  --n-300: #cdced3; --n-200: #dcdde1;
  /* superfície gelo + grão escuro */
  background: var(--grain-dark), #eef0f2;
  color: #14151a;
  /* flutua por tom + hairline morno + sheen no topo (sombra some sobre preto) */
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.75),
    0 0 0 1px color-mix(in srgb, var(--am-500) 20%, transparent),
    0 12px 28px -18px rgba(0,0,0,.7);
  border: none;
}
/* header preto-âmbar: reafirma o padrão sobre o corpo gelo */
body:not(.dark) .prf-panel-head {
  background: linear-gradient(180deg, #1a1712, #0c0b09);
  border-bottom: 2px solid var(--am-600);
}
body:not(.dark) .prf-panel-title { color: var(--am-500); }
/* herói: cor sólida, sem glow */
body:not(.dark) .prf-panel .prf-heronum,
body:not(.dark) .prf-panel [class*="-big"],
body:not(.dark) .prf-panel [class*="heronum"] {
  color: #e79c22; -webkit-text-fill-color: #e79c22;
  background: none; text-shadow: none; filter: none;
}

/* ═══════════════════════════════════════════════════════════════════════════
   CAMADA GELO (2026-07-06) — modo claro = CLONE do escuro com preenchimento de
   card em GELO. A estrutura/profundidade/flutuação/grão/animação vêm das regras
   body.dark (sempre ativas agora). Aqui SÓ troca a cor: card → gelo #eef0f2,
   texto → tinta escura. Página e chrome (sidebar/ticker/headers) seguem PRETOS
   (não mexo em --bg). Herda toda a beleza do escuro de graça.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── HOME ── */
body.gelo .p-home-v2 {
  --card: var(--card-fill);   /* preenchimento de card/linha segue o tom único */
  --bg2:  #dfe2e6;            /* hover de linha (gelo levemente mais escuro) */
  --ink:  #14151a;
  --ink2: #43454d;
  --muted:#61636d;
}
/* fills hardcoded (#111 / slab amber) → tom único de card */
body.gelo .p-home-v2 .h-prog-block,
body.gelo .p-home-v2 .h-dl-block,
body.gelo .p-home-v2 .h-late-block { background: var(--card-fill); }
/* cartão flutuante do topo: mantém SOMBRA/GRÃO/RAIO do escuro; só troca o tom */
body.gelo .p-home-v2 .h-fin-card {
  background-image: var(--grain-dark), linear-gradient(180deg, var(--card-fill), var(--card-fill)) !important;
}
/* AJUSTE 1 (design): a faixa atrás dos widgets segue PRETA (= --bg2 do escuro #111110),
   não gelo — os cards do topo flutuam sobre preto como o resto */
body.gelo .p-home-v2 .h-widgets { background: #111110; }
/* números/textos que o escuro fixava em creme literal → tinta escura */
body.gelo .p-home-v2 .h-t-text,
body.gelo .p-home-v2 .h-ut-text { color: #14151a; }

/* ═══════════════════════════════════════════════════════════════════════════
   GELO · FLIP GLOBAL (2026-07-06) — modo claro = clone do escuro só com
   a cor de preenchimento do card trocada. --card-fill vira gelo (recolore os ~60
   cards de uma vez, mantendo sombra/grão/raio/flutuação/animação do escuro).
   Texto de card → tinta escura. Chrome (ilhas pretas) reafirma tinta clara.
   ═══════════════════════════════════════════════════════════════════════════ */
body.gelo {
  /* AJUSTE 3 (design): tom único de card puxado UM POUCO pro cinza claro (era #eef0f2,
     branco cool) pra quebrar o choque do branco — sutil. Único botão do tom. */
  --card-fill: #e6e9ec;
  --ink: #14151a; --ink2: #43454d; --muted: #61636d;
  --n-900: #14151a; --n-800: #2f3138; --n-700: #43454d; --n-600: #61636d;
  /* AJUSTE 1+2 (design): sem brilho branco (sheen/anel viram escuro/zero) e flutuação
     REAL — halo escuro que ESTENDE (spread 0 + blur grande), visível sobre #1d1a15
     (drop com spread negativo ficava tucado embaixo = invisível). */
  /* CONTIDA (design) — spread NEGATIVO pra a sombra não vazar pros vizinhos (nas
     colunas altas/coladas a sombra extensa virava faixas escuras sobrepostas).
     Profundidade sutil que funciona no card solto E na coluna. Halo âmbar bem fraco. */
  --card-ring:
    0 3px 8px -2px rgba(0,0,0,.32),
    0 12px 26px -10px rgba(0,0,0,.42),
    0 0 20px -4px rgba(231,156,34,.06);
    /* a franja da quina é resolvida por uma BORDA REAL escura nos cards (abaixo),
       não por sombra — sombra nunca cobre o pixel mais externo do card. */
  --card-sheen: rgba(0,0,0,0);
  --card-sheen-hi: rgba(0,0,0,0);
}
/* CHROME segue preto → reafirma tinta clara sobre ele */
body.gelo .sidebar,
body.gelo .global-header,
body.gelo .area-tabs,
body.gelo .topbar,
body.gelo .mobile-nav,
body.gelo .fin-ticker,
body.gelo .h-panel-head,
body.gelo .h-cal-toolbar,
body.gelo .prf-panel-head {
  --ink: #f1eee7; --ink2: #b1a99d; --muted: #948c80;
  --n-900: #f1eee7; --n-800: #b1a99d; --n-700: #948c80; --n-600: #746c61;
}

/* ═══ AJUSTE (design 2026-07-06): no GELO a faixa de HEADER do card usa a cor do
   CARD DO ESCURO (#1d1a15), não o gradiente de header. Header = "pedaço do escuro"
   sobre o card claro. Borda + título âmbar intactos. Botão único: --gelo-head. ═══ */
/* INVERSÃO (design): header recebe o PRETO do fundo (#050505); o fundo recebe a
   cor que era da header (#1d1a15). Header = o preto mais fundo; página = dark-card. */
body.gelo { --gelo-head: #050505; }
body.gelo .p-home-v2 .h-panel-head,
body.gelo .p-home-v2 .h-cal-toolbar,
body.gelo .p-home-v2 .h-blk-label {
  background: var(--gelo-head) !important;
  /* item 2: raio 0 (era 11 > card 10 = sliver no topo) — com overflow:hidden do card,
     o header quadrado preenche a quina redonda inteira. */
  border-radius: 0 !important;
}
/* fundo da página no gelo — cinza um pouco MAIS CLARO (design) pra a sombra do card
   aparecer contra ele = profundidade real (era #1d1a15, escuro demais p/ sombra). */
body.gelo .p-home-v2 { background: #34302a !important; }
body.gelo .p-home-v2 .h-widgets { background: #34302a !important; }

/* AJUSTE 3 v2 (design): header do widget PRETA de ponta a ponta e até o topo, sem gelo
   vazando. O card tem padding 11/14 (não 8/12), então a margem negativa precisa ser
   MAIOR que qualquer padding; overflow:hidden do card clipa o excesso à quina redonda. */
body.gelo .p-home-v2 .hw,
body.gelo .p-home-v2 .h-fin-card { overflow: hidden !important; }
body.gelo .p-home-v2 .hw .hwt,
body.gelo .p-home-v2 .h-fin-card .hwt {
  background: var(--gelo-head) !important;
  background-image: none !important;
  color: var(--am-400) !important;
  margin: -16px -18px 9px !important;
  /* item 1 (design): fonte legível (era 7px), linha âmbar EMBAIXO (igual painéis),
     raio 0 preenche o topo (12>9 do card deixava sliver âmbar no topo). Altura = VASCO. */
  padding: 0 14px !important;
  min-height: 35px !important;
  font-size: 10px !important;
  letter-spacing: .06em !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  border-bottom: 2px solid var(--am-600) !important;
  border-radius: 0 !important;
}

/* item 2 (design): clip nas quinas dos painéis — com header raio 0 + overflow:hidden,
   a faixa preta preenche a quina redonda inteira (some a franja/mancha do topo). */
body.gelo .p-home-v2 .h-greeting,
body.gelo .p-home-v2 .h-tasks-panel,
body.gelo .p-home-v2 .h-upcoming-panel,
body.gelo .p-home-v2 .h-cal-panel { overflow: hidden !important; }

/* item 1 (design): remove a LINHA ÂMBAR DO TOPO dos widgets — é o "cap âmbar" que o
   escuro desenha via ::before (gradiente âmbar 2px no topo). No gelo a âmbar fica
   só embaixo do header, então mata o cap. */
body.gelo .p-home-v2 .hw::before,
body.gelo .p-home-v2 .h-fin-card::before { display: none !important; content: none !important; }

/* item 2 DEFINITIVO (design): BORDA REAL escura no card — o pixel mais externo vira
   escuro, então a transição na quina é escuro→fundo (sem fio claro). background-clip
   padding-box mantém o gelo dentro; box-sizing border-box evita deslocar layout. */
body.gelo .p-home-v2 .h-greeting,
body.gelo .p-home-v2 .h-prog-block,
body.gelo .p-home-v2 .h-late-block,
body.gelo .p-home-v2 .h-dl-block,
body.gelo .p-home-v2 .h-tasks-panel,
body.gelo .p-home-v2 .h-upcoming-panel,
body.gelo .p-home-v2 .h-cal-panel,
body.gelo .p-home-v2 .hw,
body.gelo .p-home-v2 .h-fin-card {
  border: 1.5px solid #0a0806 !important;   /* borda mais firme = menos AA de gelo na quina */
  border-radius: 6px !important;            /* raio menor = arco de quina menor = franja quase nula */
  background-clip: padding-box !important;
  box-sizing: border-box !important;
}

/* ═══ PROPAGAÇÃO GELO (2026-07-06) — o esquema da Home vira universal ═══
   Fundo claro #34302a em todas as páginas (era #050505/#0b0b0b), pra a sombra do
   card aparecer = profundidade. .main é o container de todas; os wrappers que pintam
   próprio fundo escuro (.prf/.prf-active/.fin-app) também. */
body.gelo .main,
body.gelo .prf,
body.gelo .prf-active,
body.gelo .fin-app { background: #34302a !important; }

/* PROPAGAÇÃO · grupo prf (Daily/Saúde/Hábitos/Ferramentas/Profissional) — borda real
   + raio + esconde cap âmbar ::before dos widgets (mesmo esquema da Home). */
body.gelo .prf .dly-sec,
body.gelo .prf .prf-cat-group,
body.gelo .prf .prf-wbox,
body.gelo .prf .prf-side .prf-panel,
body.gelo .prf .prf-main-panel > .prf-panel-body > div {
  border: 1.5px solid #0a0806 !important;
  border-radius: 6px !important;
  background-clip: padding-box !important;
  box-sizing: border-box !important;
}
body.gelo .prf .prf-wbox::before,
body.gelo .prf .wbox::before,
body.gelo .prf .dly-sec::before { display: none !important; }

/* PROPAGAÇÃO · wrappers de conteúdo que pintam fundo próprio escuro → fundo claro #34302a
   (Notas/Referências/Biblioteca/Captura/Senhas/Clientes/Projetos/Team/Agenda). NÃO toca
   cor de card (branco/gelo) nem tag semântica (verde/azul). */
body.gelo .ref-v2-body,
body.gelo .ref-v2-main,
body.gelo .ref-v2-recents,
body.gelo .ref-body,
body.gelo .page-content,
body.gelo .cv2-body,
body.gelo .cv2-right,
body.gelo .cv2-inbox-list { background: #34302a !important; }

/* PROPAGAÇÃO · widgets (.hw/.h-fin-card) em QUALQUER página, não só Home:
   header preto-âmbar legível + linha âmbar embaixo + cap ::before escondido +
   borda real + raio. (As regras da Home ficam redundantes, mesmo resultado.) */
body.gelo .hw::before,
body.gelo .h-fin-card::before { display: none !important; content: none !important; }
body.gelo .hw,
body.gelo .h-fin-card {
  overflow: hidden !important;
  border: 1.5px solid #0a0806 !important;
  border-radius: 6px !important;
  background-clip: padding-box !important;
  box-sizing: border-box !important;
}
body.gelo .hw .hwt,
body.gelo .h-fin-card .hwt {
  background: var(--gelo-head) !important; background-image: none !important;
  color: var(--am-400) !important;
  margin: -16px -18px 9px !important; padding: 0 14px !important;
  min-height: 35px !important; font-size: 10px !important; letter-spacing: .06em !important;
  display: flex !important; align-items: center !important; gap: 6px !important;
  border-bottom: 2px solid var(--am-600) !important; border-radius: 0 !important;
}

/* PROPAGAÇÃO (design): a FAIXA atrás dos widgets (.h-widgets) = mesma cor do fundo
   (#34302a) em TODAS as páginas — na Notas era branca do tema antigo, em outras era
   escura. Widgets flutuam sobre o mesmo fundo do resto. */
body.gelo .h-widgets { background: #34302a !important; }

/* PROPAGAÇÃO (design): a faixa de widgets NÃO tem mais a linha preta embaixo — widgets
   e conteúdo são uma coisa só, mesmo fundo, sem divisória. */
body.gelo .h-widgets { border-bottom: none !important; }

/* PROPAGAÇÃO (design): o input de captura (.cv2-textarea) era um QUADRADO PRETO fora da
   identidade → vira input claro RECUADO, arredondado, tinta escura (padrão light). */
body.gelo .cv2-textarea {
  background: #dcdfe3 !important;
  color: #14151a !important;
  border-radius: 6px !important;
  border: 1px solid #c2c3c9 !important;
  box-shadow: inset 0 1px 2px rgba(0,0,0,.12) !important;
}

/* PROPAGAÇÃO (design): Saúde/Hábitos usam .prf-widgets (não .h-widgets) pra faixa de
   widgets — mesma regra: fundo #34302a + sem linha preta. */
body.gelo .prf-widgets { background: #34302a !important; border-bottom: none !important; }

/* PROPAGAÇÃO · Financeiro (.fin-app) — o .main interno pinta próprio #050505 (regra
   fin-específica) → fundo claro. Cards do fin já viram gelo via --card-fill; borda real
   pra quina limpa. NOTA: serviço financeiro não carrega no localhost → verificar em prod. */
body.gelo .fin-app .main { background: #34302a !important; }

/* ═══ PROPAGAÇÃO (design) — FLUTUAÇÃO UNIVERSAL no gelo ═══
   Cards que usavam sombra própria (inset branco .07, --fin-float, --fin-elev) ficavam
   CHAPADOS sobre o fundo claro. Duas frentes: (1) virar os tokens de sombra pro halo
   (pega quem usa token); (2) box-shadow explícito nos cards conhecidos de cada página. */
body.gelo {
  --fin-float-1: var(--card-ring); --fin-float-2: var(--card-ring);
  --fin-elev-1: var(--card-ring); --fin-elev-2: var(--card-ring); --fin-elev-3: var(--card-ring);
}
body.gelo .p-home-v2 .h-greeting, body.gelo .p-home-v2 .h-prog-block,
body.gelo .p-home-v2 .h-late-block, body.gelo .p-home-v2 .h-dl-block,
body.gelo .p-home-v2 .h-tasks-panel, body.gelo .p-home-v2 .h-upcoming-panel,
body.gelo .p-home-v2 .h-cal-panel, body.gelo .p-home-v2 .hw, body.gelo .p-home-v2 .h-fin-card,
body.gelo .prf .dly-sec, body.gelo .prf .prf-cat-group, body.gelo .prf .prf-wbox,
body.gelo .prf .prf-side .prf-panel, body.gelo .prf .prf-main-panel > .prf-panel-body > div,
body.gelo .col-box, body.gelo .ref-v2-main .col-box, body.gelo .p-referencias .stat,
body.gelo .p-team .stat, body.gelo .p-clientes .stat, body.gelo .course-card,
body.gelo .poster-card, body.gelo .day-panel, body.gelo .lib-inbox-item {
  box-shadow: var(--card-ring) !important;
}

/* ═══ FLUTUAÇÃO UNIVERSAL (design) — TODO card que recebe var(--card-fill) recebe o
   halo/sombra var(--card-ring). Gerado do proprio CSS (cobertura por construcao). ═══ */
body.gelo .area-card,
body.gelo .capture-box,
body.gelo .cartao-card,
body.gelo .col-box,
body.gelo .course-card,
body.gelo .day-panel,
body.gelo .dest-box,
body.gelo .fin-app .content > .panel,
body.gelo .fin-app .gridmain > .hero,
body.gelo .fin-app .gridmain > .resumo,
body.gelo .fin-app .lc-meta,
body.gelo .fin-app .lc-sec,
body.gelo .fin-app .left-col > .alerts,
body.gelo .fin-app .left-col > .att,
body.gelo .fin-app .pnote-pop,
body.gelo .fin-app .rail-card,
body.gelo .fin-app .wbox:not(.add),
body.gelo .fin-card,
body.gelo .h-fin-card,
body.gelo .h-panel,
body.gelo .h-widget,
body.gelo .hc-card,
body.gelo .home-card,
body.gelo .hqs-card,
body.gelo .hw,
body.gelo .hw-card,
body.gelo .p-agenda .day-panel,
body.gelo .p-agenda .od-strip,
body.gelo .p-agenda .od-strip.ag-od-strip,
body.gelo .p-agenda .ref-v2-sidebar,
body.gelo .p-agenda .ref-v2-sidebar .ref-v2-section-label + *,
body.gelo .p-agenda .wv-container,
body.gelo .p-biblioteca .lib-filter-row,
body.gelo .p-biblioteca .lib-inbox-item,
body.gelo .p-biblioteca .lib-log,
body.gelo .p-biblioteca .lib-main-scroll,
body.gelo .p-biblioteca .poster-card,
body.gelo .p-biblioteca .ref-v2-sidebar .ref-v2-section-label + *,
body.gelo .p-captura-v2 .cv2-capture-body,
body.gelo .p-captura-v2 .cv2-dest,
body.gelo .p-captura-v2 .cv2-inbox,
body.gelo .p-captura-v2 .cv2-inbox-list,
body.gelo .p-captura-v2 .cv2-subcol,
body.gelo .p-captura-v2 .hw,
body.gelo .p-clientes .client-card,
body.gelo .p-clientes .stat,
body.gelo .p-daily .prf-left,
body.gelo .p-daily.prf .dly-sec,
body.gelo .p-daily.prf .prf-hero,
body.gelo .p-daily.prf .prf-panel,
body.gelo .p-estudos .course-card,
body.gelo .p-estudos .prf-left,
body.gelo .p-estudos.prf .prf-hero,
body.gelo .p-estudos.prf .prf-main-panel,
body.gelo .p-estudos.prf .prf-main-panel > .prf-panel-body > div,
body.gelo .p-estudos.prf .prf-panel,
body.gelo .p-estudos.prf .prf-wbox,
body.gelo .p-ferramentas .prf-hero,
body.gelo .p-ferramentas .prf-left,
body.gelo .p-ferramentas.prf .prf-cat-group,
body.gelo .p-ferramentas.prf .prf-hero,
body.gelo .p-ferramentas.prf .prf-left,
body.gelo .p-ferramentas.prf .prf-panel,
body.gelo .p-ferramentas.prf .prf-wbox,
body.gelo .p-habitos .prf-left,
body.gelo .p-habitos.prf .prf-hero,
body.gelo .p-habitos.prf .prf-left,
body.gelo .p-habitos.prf .prf-main-panel > .prf-panel-body > div,
body.gelo .p-habitos.prf .prf-panel,
body.gelo .p-habitos.prf .prf-wbox,
body.gelo .p-home-v2 .h-cal-panel,
body.gelo .p-home-v2 .h-dl-block,
body.gelo .p-home-v2 .h-fin-card,
body.gelo .p-home-v2 .h-greeting,
body.gelo .p-home-v2 .h-late-block,
body.gelo .p-home-v2 .h-prog-block,
body.gelo .p-home-v2 .h-tasks-panel,
body.gelo .p-home-v2 .h-upcoming-panel,
body.gelo .p-home-v2 .hw,
body.gelo .p-notas .ref-v2-main .col-box,
body.gelo .p-notas .ref-v2-sidebar,
body.gelo .p-notas .ref-v2-sidebar .ref-v2-section-label + *,
body.gelo .p-prof .prf-hero,
body.gelo .p-prof .prf-rail-sec,
body.gelo .p-prof .vg-col .and-wrap,
body.gelo .p-projetos .stat,
body.gelo .p-referencias .ref-v2-main .col-box,
body.gelo .p-referencias .ref-v2-sidebar,
body.gelo .p-referencias .ref-v2-sidebar .ref-v2-section-label + *,
body.gelo .p-referencias .ref-v2-stats,
body.gelo .p-saude .prf-hero,
body.gelo .p-saude .prf-left,
body.gelo .p-saude .prf-main-panel .prf-list-sec + div,
body.gelo .p-saude .reg-card,
body.gelo .p-saude .t-stat,
body.gelo .p-senhas .lux-hero,
body.gelo .p-senhas .senhas-tbl-card,
body.gelo .p-team .tm-kpi,
body.gelo .p-team .tm-table,
body.gelo .poster-card,
body.gelo .prf .fpj-card,
body.gelo .prf .fpj-grid .fpj-twocol > div,
body.gelo .prf .fpj-grid .prf-hero,
body.gelo .prf .fpj-grid .prf-left,
body.gelo .prf .fpj-grid .prf-main-panel,
body.gelo .prf .fpj-grid .prf-side,
body.gelo .prf .prf-panel,
body.gelo .prf .prf-wbox,
body.gelo .prf .vg-sec,
body.gelo .proj-card,
body.gelo .ref-v2-body .ref-v2-recents,
body.gelo .ref-v2-body .ref-v2-stats,
body.gelo .reg-card,
body.gelo .stat-card {
  box-shadow: var(--card-ring) !important;
}

/* ═══ ÂMBAR COM PROFUNDIDADE (design) — cards âmbar mantêm a cor mas ganham o halo/sombra
   do --card-ring. Pega classe conhecida + estilo INLINE (var(--amber)/--prf-amber), que
   é como vários cards âmbar setam o fundo no JSX (ex: .prf-rail-amb). ═══ */
body.gelo .prf-rail-amb, body.gelo .prf-health, body.gelo .fpj-ambbox, body.gelo .fpj-drw-sec,
body.gelo .prf [style*="var(--prf-amber)"][style*="padding"], body.gelo .prf [style*="var(--amber)"][style*="padding"],
body.gelo .p-home-v2 [style*="var(--amber)"][style*="padding"] {
  box-shadow: var(--card-ring) !important;
}

/* RESPIRO (design) — containers roláveis das demais páginas clipavam a sombra dos cards.
   Padding pequeno pra a sombra caber (cards flutuam de verdade em vez de chapados). */
body.gelo .p-home-v2 .h-widgets,
body.gelo .prf .prf-content, body.gelo .prf .prf-side,
body.gelo .col-body, body.gelo .ref-v2-main,
body.gelo .lib-main-scroll, body.gelo .p-agenda .ref-v2-main,
body.gelo .cv2-right, body.gelo .cv2-inbox-list { padding: 6px !important; }

/* ═══ TEXTO PRETO no gelo (design) — todo texto claro/cinza vira tinta escura #14151a.
   Gerado do CSS; exclui semanticas (verde/vermelho/ambar) e chrome escuro. ═══ */
body.gelo .capture-url-input,
body.gelo .cv2-hwln,
body.gelo .cv2-hwt,
body.gelo .cv2-hwv,
body.gelo .cv2-subcol-empty,
body.gelo .cv2-textarea::placeholder,
body.gelo .df-value,
body.gelo .fin-app .panel-sum,
body.gelo .fin-app .wbox:not(.add) .fin-empty,
body.gelo .fin-app .wbox:not(.add) .w-big span,
body.gelo .fin-app .wbox:not(.add) .wln,
body.gelo .fin-app .wbox:not(.add) .wlv,
body.gelo .fpj-card .ctag.nub,
body.gelo .fpj-card .ctag.sant,
body.gelo .h-add-btn,
body.gelo .h-dl-row.normal .h-dl-name,
body.gelo .h-dl-row.normal .h-dl-num,
body.gelo .h-dl-row.normal .h-dl-unit,
body.gelo .h-priv-btn,
body.gelo .h-prog-row.dim .h-prog-frac,
body.gelo .h-prog-row.dim .h-prog-period,
body.gelo .h-prog-row.highlight .h-prog-frac,
body.gelo .h-theme-btn,
body.gelo .hv-dot,
body.gelo .inbox-item-title,
body.gelo .lib-empty,
body.gelo .lib-inbox-head,
body.gelo .lib-inbox-title,
body.gelo .lib-item-status,
body.gelo .lib-item-title,
body.gelo .lib-quad-count,
body.gelo .lux-hero .sub,
body.gelo .lux-hero .val,
body.gelo .p-agenda .agenda-ev-name,
body.gelo .p-agenda .agenda-ev-name.done,
body.gelo .p-agenda .agenda-ev-time,
body.gelo .p-agenda .agenda-sec-lbl,
body.gelo .p-agenda .cal-month-num.today,
body.gelo .p-agenda .cal-tab,
body.gelo .p-agenda .cv2-ph-s,
body.gelo .p-agenda .day-panel-name,
body.gelo .p-agenda .day-panel-name.done,
body.gelo .p-agenda .day-panel-sec,
body.gelo .p-agenda .day-panel-time,
body.gelo .p-agenda .divider-label,
body.gelo .p-agenda .h-priv-btn,
body.gelo .p-agenda .h-theme-btn,
body.gelo .p-agenda .hbr-hdr,
body.gelo .p-agenda .hbr-j,
body.gelo .p-agenda .hbr-name,
body.gelo .p-agenda .hbr-pos,
body.gelo .p-agenda .hv-standing,
body.gelo .p-agenda .hw-dl,
body.gelo .p-agenda .hw-unit,
body.gelo .p-agenda .hwln,
body.gelo .p-agenda .hwneu,
body.gelo .p-agenda .ref-v2-ri-time,
body.gelo .p-agenda .ref-v2-stat-label,
body.gelo .p-agenda .strip-lbl,
body.gelo .p-agenda .strip-num,
body.gelo .p-agenda .t-meta,
body.gelo .p-agenda .t-time,
body.gelo .p-agenda .t-title,
body.gelo .p-agenda .task-name,
body.gelo .p-agenda .task-name.done,
body.gelo .p-agenda .today-head,
body.gelo .p-agenda .today-sub,
body.gelo .p-agenda .up-date,
body.gelo .p-agenda .up-name,
body.gelo .p-agenda .upcoming-head,
body.gelo .p-agenda .week-strip-head,
body.gelo .p-agenda .wv-day-head.today .wv-dh-num,
body.gelo .p-agenda.dark .hbr-hdr,
body.gelo .p-agenda.dark .hbr-name,
body.gelo .p-agenda.dark .hbr-pos,
body.gelo .p-agenda.dark .hbr-pts,
body.gelo .p-agenda.dark .hv-standing,
body.gelo .p-agenda.dark .hw-big,
body.gelo .p-agenda.dark .hw-unit,
body.gelo .p-agenda.dark .hwln,
body.gelo .p-agenda.dark .hwv,
body.gelo .p-biblioteca .card-name,
body.gelo .p-biblioteca .card-sub,
body.gelo .p-biblioteca .hw-dl,
body.gelo .p-biblioteca .hw-unit,
body.gelo .p-biblioteca .hwln,
body.gelo .p-biblioteca .hwneu,
body.gelo .p-biblioteca .lib-active-count,
body.gelo .p-biblioteca .lib-active-label,
body.gelo .p-biblioteca .lib-dtab,
body.gelo .p-biblioteca .lib-dtab:hover:not(.active),
body.gelo .p-biblioteca .lib-inbox-btn,
body.gelo .p-biblioteca .lib-inbox-btn:hover,
body.gelo .p-biblioteca .lib-nav-count,
body.gelo .p-biblioteca .lib-nav-item.active,
body.gelo .p-biblioteca .lib-nav-item:hover,
body.gelo .p-biblioteca .poster-title,
body.gelo .p-biblioteca .secao-header,
body.gelo .p-biblioteca .secao-sub,
body.gelo .p-biblioteca .stat-lbl,
body.gelo .p-biblioteca .sub,
body.gelo .p-biblioteca .tag,
body.gelo .p-biblioteca.dark .hbr-hdr,
body.gelo .p-biblioteca.dark .hbr-name,
body.gelo .p-biblioteca.dark .hbr-pos,
body.gelo .p-biblioteca.dark .hbr-pts,
body.gelo .p-biblioteca.dark .hv-standing,
body.gelo .p-biblioteca.dark .hw-big,
body.gelo .p-biblioteca.dark .hw-unit,
body.gelo .p-biblioteca.dark .hwln,
body.gelo .p-biblioteca.dark .hwv,
body.gelo .p-captura .capture-input,
body.gelo .p-captura .capture-tag,
body.gelo .p-captura .capture-tag.active,
body.gelo .p-captura .cat-btn,
body.gelo .p-captura .dest-count,
body.gelo .p-captura .dest-empty,
body.gelo .p-captura .dest-item-text,
body.gelo .p-captura .item-text,
body.gelo .p-captura .item-time,
body.gelo .p-captura-v2 .cv2-subcol-count,
body.gelo .p-captura-v2 .hbr-hdr,
body.gelo .p-captura-v2 .hbr-j,
body.gelo .p-captura-v2 .hbr-name,
body.gelo .p-captura-v2 .hbr-pos,
body.gelo .p-captura-v2 .hv-standing,
body.gelo .p-captura-v2 .hw-dl,
body.gelo .p-captura-v2 .hw-unit,
body.gelo .p-captura-v2 .hwln,
body.gelo .p-captura-v2 .hwneu,
body.gelo .p-captura-v2.dark .cv2-sli-text,
body.gelo .p-captura-v2.dark .cv2-textarea::placeholder,
body.gelo .p-captura-v2.dark .hbr-hdr,
body.gelo .p-captura-v2.dark .hbr-name,
body.gelo .p-captura-v2.dark .hbr-pos,
body.gelo .p-captura-v2.dark .hbr-pts,
body.gelo .p-captura-v2.dark .hv-standing,
body.gelo .p-captura-v2.dark .hw-big,
body.gelo .p-captura-v2.dark .hw-unit,
body.gelo .p-captura-v2.dark .hwln,
body.gelo .p-captura-v2.dark .hwv,
body.gelo .p-clientes .c-name,
body.gelo .p-clientes .c-sub,
body.gelo .p-clientes .mini-pct,
body.gelo .p-clientes .proj-add,
body.gelo .p-clientes .proj-add:hover,
body.gelo .p-clientes .proj-list-label,
body.gelo .p-clientes .proj-name,
body.gelo .p-clientes .sm-avatar-name,
body.gelo .p-clientes .socios-label,
body.gelo .p-clientes .stat-label,
body.gelo .p-clientes .value-lbl,
body.gelo .p-daily .badge,
body.gelo .p-daily .check-item,
body.gelo .p-daily .check-text.done,
body.gelo .p-daily .habito-group-label,
body.gelo .p-daily .habito-name,
body.gelo .p-daily .habito-streak,
body.gelo .p-daily .health-stat-label,
body.gelo .p-daily .intention-text,
body.gelo .p-daily .mood-label,
body.gelo .p-daily .progress-sub,
body.gelo .p-daily .ritual-item,
body.gelo .p-daily .section-label,
body.gelo .p-estudos .area-card-add:hover,
body.gelo .p-estudos .area-card-name,
body.gelo .p-estudos .area-title,
body.gelo .p-estudos .card-bar-lbl,
body.gelo .p-estudos .card-name,
body.gelo .p-estudos .card-sub,
body.gelo .p-estudos .sec-label,
body.gelo .p-estudos .stat-lbl,
body.gelo .p-estudos .sub,
body.gelo .p-estudos .tag-gray,
body.gelo .p-estudos.prf .prf-panel-count,
body.gelo .p-ferramentas .badge,
body.gelo .p-ferramentas .grand-total-label,
body.gelo .p-ferramentas .grand-total-sub,
body.gelo .p-ferramentas .sec-label,
body.gelo .p-ferramentas .sec-total,
body.gelo .p-ferramentas .sec-total .r,
body.gelo .p-ferramentas .stat-label,
body.gelo .p-ferramentas .t-name,
body.gelo .p-ferramentas .t-sub,
body.gelo .p-ferramentas .t-val.muted,
body.gelo .p-ferramentas.prf .prf-num-sub,
body.gelo .p-ferramentas.prf .prf-pj-cli,
body.gelo .p-financas-pj .bal-label,
body.gelo .p-financas-pj .cat-arrow,
body.gelo .p-financas-pj .cat-item-name,
body.gelo .p-financas-pj .cat-item-val,
body.gelo .p-financas-pj .cat-name,
body.gelo .p-financas-pj .extrato-col-title,
body.gelo .p-financas-pj .extrato-footer-label,
body.gelo .p-financas-pj .sec-title,
body.gelo .p-financas-pj .tx-date,
body.gelo .p-financas-pj .tx-name,
body.gelo .p-habitos .badge,
body.gelo .p-habitos .cat-label,
body.gelo .p-habitos .h-name,
body.gelo .p-habitos .h-name.done,
body.gelo .p-habitos .h-streak.zero,
body.gelo .p-habitos .stat-label,
body.gelo .p-habitos.prf .prf-lbl,
body.gelo .p-habitos.prf .prf-monthnav,
body.gelo .p-habitos.prf .prf-num-sub,
body.gelo .p-habitos.prf .prf-rq .rl,
body.gelo .p-habitos.prf .prf-wt,
body.gelo .p-home .cal-pill,
body.gelo .p-home .cal-time,
body.gelo .p-home .habit-name,
body.gelo .p-home .hc-badge,
body.gelo .p-home .hc-main-sub,
body.gelo .p-home .hc-row-label,
body.gelo .p-home .hc-row-val,
body.gelo .p-home .hqs-lbl,
body.gelo .p-home .project-name,
body.gelo .p-home .stat-label,
body.gelo .p-home .stat-val,
body.gelo .p-home .task-text,
body.gelo .p-home .task-text.done,
body.gelo .p-home-v2 .h-g-sub,
body.gelo .p-home-v2 .h-gcal-dow,
body.gelo .p-notas .col-add:hover,
body.gelo .p-notas .col-count,
body.gelo .p-notas .col-sort,
body.gelo .p-notas .h-priv-btn,
body.gelo .p-notas .h-theme-btn,
body.gelo .p-notas .hbr-hdr,
body.gelo .p-notas .hbr-j,
body.gelo .p-notas .hbr-name,
body.gelo .p-notas .hbr-pos,
body.gelo .p-notas .hv-standing,
body.gelo .p-notas .hw-dl,
body.gelo .p-notas .hw-unit,
body.gelo .p-notas .hwln,
body.gelo .p-notas .hwneu,
body.gelo .p-notas .item-date,
body.gelo .p-notas .item-text,
body.gelo .p-notas .ref-v2-main .col-add,
body.gelo .p-notas .ref-v2-ri-time,
body.gelo .p-notas .ref-v2-search::placeholder,
body.gelo .p-notas .ref-v2-section-label,
body.gelo .p-notas .ref-v2-stat-label,
body.gelo .p-notas .stat-label,
body.gelo .p-notas.dark .hbr-hdr,
body.gelo .p-notas.dark .hbr-name,
body.gelo .p-notas.dark .hbr-pos,
body.gelo .p-notas.dark .hbr-pts,
body.gelo .p-notas.dark .hv-standing,
body.gelo .p-notas.dark .hw-big,
body.gelo .p-notas.dark .hw-unit,
body.gelo .p-notas.dark .hwln,
body.gelo .p-notas.dark .hwv,
body.gelo .p-notas.dark .ref-v2-main .item-domain,
body.gelo .p-notas.dark .ref-v2-main .item-text,
body.gelo .p-projetos .card-date,
body.gelo .p-projetos .card-pct,
body.gelo .p-projetos .card-title,
body.gelo .p-projetos .group-add,
body.gelo .p-projetos .group-add:hover,
body.gelo .p-projetos .group-badge,
body.gelo .p-projetos .group-title,
body.gelo .p-projetos .stat-label,
body.gelo .p-referencias .h-priv-btn,
body.gelo .p-referencias .h-theme-btn,
body.gelo .p-referencias .hbr-hdr,
body.gelo .p-referencias .hbr-j,
body.gelo .p-referencias .hbr-name,
body.gelo .p-referencias .hbr-pos,
body.gelo .p-referencias .hv-standing,
body.gelo .p-referencias .hw-dl,
body.gelo .p-referencias .hw-unit,
body.gelo .p-referencias .hwln,
body.gelo .p-referencias .hwneu,
body.gelo .p-referencias .ref-body .col-count,
body.gelo .p-referencias .ref-body .col-sort,
body.gelo .p-referencias .ref-body .item-text,
body.gelo .p-referencias .ref-v2-main .col-add,
body.gelo .p-referencias .ref-v2-main .col-sort,
body.gelo .p-referencias .ref-v2-ri-time,
body.gelo .p-referencias .ref-v2-search::placeholder,
body.gelo .p-referencias .ref-v2-section-label,
body.gelo .p-referencias .ref-v2-stat-label,
body.gelo .p-referencias .stat-label,
body.gelo .p-referencias.dark .hbr-hdr,
body.gelo .p-referencias.dark .hbr-name,
body.gelo .p-referencias.dark .hbr-pos,
body.gelo .p-referencias.dark .hbr-pts,
body.gelo .p-referencias.dark .hv-standing,
body.gelo .p-referencias.dark .hw-big,
body.gelo .p-referencias.dark .hw-unit,
body.gelo .p-referencias.dark .hwln,
body.gelo .p-referencias.dark .hwv,
body.gelo .p-referencias.dark .ref-v2-main .item-domain,
body.gelo .p-referencias.dark .ref-v2-main .item-text,
body.gelo .p-saude .cons-date,
body.gelo .p-saude .cons-head,
body.gelo .p-saude .cons-name,
body.gelo .p-saude .med-freq,
body.gelo .p-saude .med-head,
body.gelo .p-saude .med-time,
body.gelo .p-saude .reg-btn,
body.gelo .p-saude .reg-btn:hover,
body.gelo .p-saude .reg-label,
body.gelo .p-saude .reg-sub,
body.gelo .p-saude .reg-unit,
body.gelo .p-saude .sec-label,
body.gelo .p-saude .stat-lbl,
body.gelo .p-saude .sub,
body.gelo .p-saude .t-stat-lbl,
body.gelo .p-senhas .cat-title,
body.gelo .p-senhas .sec-label,
body.gelo .p-senhas .senhas-aviso .b,
body.gelo .p-senhas .stat-lbl,
body.gelo .p-senhas .sub,
body.gelo .p-senhas .svc-icon-fallback,
body.gelo .p-senhas .svc-login,
body.gelo .p-senhas .svc-name,
body.gelo .p-team .list-header,
body.gelo .p-team .m-name,
body.gelo .p-team .m-paid-lbl,
body.gelo .p-team .m-projs,
body.gelo .p-team .m-role,
body.gelo .p-team .stat-label,
body.gelo .p-team .tag-gray,
body.gelo .p-videoteca .card-meta-value,
body.gelo .p-videoteca .card-poster-fallback,
body.gelo .p-videoteca .done-label,
body.gelo .p-videoteca .rating-sep,
body.gelo .p-videoteca .sec-label,
body.gelo .p-videoteca .sub,
body.gelo .p-videoteca .tag-gray,
body.gelo .p-videoteca .tbl-year,
body.gelo .page-meta,
body.gelo .page-subtitle,
body.gelo .poster-tag,
body.gelo .poster-title,
body.gelo .prf .vg-row-label,
body.gelo .prf-panel-count,
body.gelo .prf-tm-sec-hd span.prf-sec-btn,
body.gelo .ref-v2-main .col-add,
body.gelo .ref-v2-main .col-count,
body.gelo .ref-v2-main .col-sort,
body.gelo .ref-v2-main .col-title,
body.gelo .ref-v2-main .item-domain,
body.gelo .ref-v2-ri-text,
body.gelo .ref-v2-ri-time,
body.gelo .ref-v2-section-label,
body.gelo .ref-v2-stat-label,
body.gelo .toolbar-btn.active,
body.gelo .toolbar-btn:hover {
  color: #14151a !important;
}

/* ═══ TINTA no gelo — tokens de texto viram ESCURO (design: todo texto claro/cinza → preto).
   Agenda/Profissional/Daily/Drawer pintam texto por TOKEN (var(--prf-ink) inline), não por
   hex — por isso a varredura de hex (v224) não os alcançou. Aqui viramos os tokens.
   Escopo .main/.prf (NÃO o body cru → poupa sidebar). Headers pretos e drawer re-afirmam claro. ═══ */
body.gelo .main, body.gelo .prf, body.gelo .prf-shell, body.gelo .fin-app {
  --ink: #14151a; --ink2: #43454d; --muted: #61636d;
  --prf-ink: #14151a; --prf-ink2: #43454d; --prf-muted: #61636d;
  --prf-dk-ink: #14151a; --prf-dk-ink2: #43454d; --prf-dk-muted: #61636d;
  --dk-ink: #14151a; --dk-ink2: #43454d; --dk-muted: #61636d;
  --dp-text: #14151a;
  --bb-text: #14151a; --bb-text-2: #43454d; --bb-text-muted: #61636d;
  --fin-ink: #14151a; --fin-muted: #61636d;
}
/* Headers de card seguem PRETOS → tinta/meta clara de novo (título já é âmbar por regra própria). */
body.gelo .prf-panel-head, body.gelo .h-panel-head, body.gelo .panel-head,
body.gelo .hwt, body.gelo .col-header, body.gelo .cat-header, body.gelo .h-blk-label,
body.gelo .fin-app .panel-head, body.gelo .prf-list-sec {
  --prf-ink: #f1eee7; --prf-ink2: #b1a99d; --prf-muted: #948c80;
  --ink: #eae8e3; --ink2: #b1a99d; --muted: #948c80;
  --dk-ink: #f1eee7; --dk-muted: #948c80; --fin-ink: #f1eee7; --fin-muted: #948c80;
}
/* Drawer global segue ESCURO (overlay chrome) → tinta clara. */
body.gelo .drawer-panel, body.gelo .drawer-panel * {
  --prf-ink: #e8e8e6; --prf-ink2: #b8b2a8; --prf-muted: #837d73;
  --dp-text: #e8e8e6; --ink: #eae8e3; --muted: #948c80;
}

/* ═══ Estudos — cards de curso COMPACTOS (NA FILA/etc): o card é só o .card-header,
   então virava um SLAB PRETO (design: "isso tá horrível, tira o highlight, texto preto").
   No gelo o header fica transparente (revela o fill gelo do card) + texto preto. ═══ */
body.gelo .p-estudos .card-header {
  background: transparent !important;
  border-bottom: none !important;
}
body.gelo .p-estudos .card-header,
body.gelo .p-estudos .card-header * {
  color: #14151a !important;
}

/* ═══ Chips/tags/pílulas de conteúdo no gelo — no dark são fundo ESCURO sólido; no gelo
   viravam tarja preta com texto (já) preto por cima = invisível (design: '.med-time', 'na fila',
   badges). Vira chip claro sutil; texto/cor semântica seguem por cima. Cards/tracks/containers
   NÃO entram aqui (tratados à parte). ═══ */
body.gelo .inbox-cat-btn,
body.gelo .inbox-cat-btn:hover,
body.gelo .lib-inbox-btn,
body.gelo .lib-inbox-btn:hover,
body.gelo .p-agenda .tag-normal,
body.gelo .p-agenda .tag-prio,
body.gelo .p-biblioteca .tag,
body.gelo .p-captura .capture-tag,
body.gelo .p-captura .dest-count,
body.gelo .p-clientes .action-btn,
body.gelo .p-clientes .ms-late-me,
body.gelo .p-clientes .ms-late-them,
body.gelo .p-clientes .ms-paused,
body.gelo .p-clientes .ms-review,
body.gelo .p-clientes .tag-active,
body.gelo .p-clientes .tag-cancelled,
body.gelo .p-clientes .tag-standby,
body.gelo .p-daily .badge,
body.gelo .p-daily .mood-btn,
body.gelo .p-daily .mood-btn.active,
body.gelo .p-daily .mood-btn.sel,
body.gelo .p-daily .priority-num,
body.gelo .p-estudos .tag-gray,
body.gelo .p-estudos .tag-green,
body.gelo .p-estudos .tag-yellow,
body.gelo .p-ferramentas .action-btn,
body.gelo .p-ferramentas .badge,
body.gelo .p-ferramentas .t-icon,
body.gelo .p-ferramentas .tag-neg,
body.gelo .p-ferramentas .tag-prod,
body.gelo .p-financas-pj .tag-dinheiro,
body.gelo .p-financas-pj .tag-green,
body.gelo .p-financas-pj .tag-inter-pj,
body.gelo .p-financas-pj .tag-yellow,
body.gelo .p-habitos .action-btn,
body.gelo .p-habitos .badge,
body.gelo .p-habitos .imp-alta,
body.gelo .p-habitos .imp-media,
body.gelo .p-home .task-tag,
body.gelo .p-home .task-tag.tag-green,
body.gelo .p-notas .action-btn,
body.gelo .p-notas .action-btn:hover,
body.gelo .p-projetos .action-btn,
body.gelo .p-projetos .action-btn:hover,
body.gelo .p-projetos .group-badge,
body.gelo .p-projetos .s-late-me,
body.gelo .p-projetos .s-late-them,
body.gelo .p-projetos .s-paused,
body.gelo .p-projetos .s-review,
body.gelo .p-projetos .tag-type-pessoal,
body.gelo .p-saude .dot-pend,
body.gelo .p-saude .med-time,
body.gelo .p-saude .reg-btn:hover,
body.gelo .p-saude .t-stat,
body.gelo .p-saude .tag-alert,
body.gelo .p-saude .tag-ok,
body.gelo .p-saude .tag-pend,
body.gelo .p-senhas .svc-icon-fallback,
body.gelo .p-senhas .tag-green,
body.gelo .p-senhas .tag-red,
body.gelo .p-senhas .tag-yellow,
body.gelo .p-team .action-btn,
body.gelo .p-team .tag-gray,
body.gelo .p-team .tag-green,
body.gelo .p-team .tag-orange,
body.gelo .p-team .tag-rel-freela,
body.gelo .p-team .tag-teal,
body.gelo .p-videoteca .chip-author,
body.gelo .p-videoteca .chip-buy,
body.gelo .p-videoteca .tag-green,
body.gelo .p-videoteca .tag-yellow,
body.gelo .poster-tag,
body.gelo .sb2-theme:hover,
body.gelo .toolbar-btn {
  background: rgba(10,8,6,.06) !important;
  border-radius: 5px;
}

/* ═══ Gráficos/barras no gelo (design: "borda preta horrível" + "deixa arredondado e na identidade").
   Só gelo — dark intocado (borda inline #000 segue no dark). ═══ */
body.gelo .prf-propbar {
  border-color: rgba(10,8,6,.14) !important;
  border-radius: 5px; overflow: hidden;
}
/* Tracks de progresso: recesso claro arredondado no gelo (o fill colorido segue por cima). */
body.gelo .progress-track, body.gelo .progress-bar, body.gelo .progress-box,
body.gelo .cat-bar, body.gelo .card-progress-bar, body.gelo .mini-prog,
body.gelo .h-prog-track, body.gelo .prf-dest-bar, body.gelo .p-home .progress-track {
  background: rgba(10,8,6,.08) !important;
  border-radius: 5px; overflow: hidden;
  border-color: rgba(10,8,6,.10) !important;
}

/* ═══ Animação de entrada dos gráficos da Saúde (design: "os gráficos não estão animados").
   Linha de peso = draw (pathLength normalizado); barras de sono = grow-from-bottom com stagger.
   Vale nos dois temas — consistente com os gráficos animados do Financeiro (padrão aprovado). ═══ */
@keyframes sa-draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes sa-grow-y { from { transform: scaleY(0); } to { transform: scaleY(1); } }
.p-saude .sa-line {
  stroke-dasharray: 1;
  animation: sa-draw .9s ease .1s both;
}
.p-saude .sa-bar {
  transform-box: fill-box;
  transform-origin: bottom;
  animation: sa-grow-y .55s cubic-bezier(.2,.8,.2,1) both;
}

/* ═══ iOS Phase 1 · esconde faixas de widget no mobile (≤768px) ═════════════
   Ticker do topo ja resume os numeros-chave — strips sao redundantes em phone.
   Overrides necessarios:
     · body.dark .p-home-v2 .h-widgets (main.css ~4076): overflow-x/padding com !important (0,3,0) — mas nao seta display, entao body.dark .h-widgets basta
     · body.dark .p-daily/.p-ferramentas/.p-habitos/.p-saude/.p-estudos .prf-widgets (main.css ~4864): display:flex !important (0,3,0) — seletores identicos + display:none !important ganham por ordem de fonte
   Decisao design 2026-07-07. Desktop intocado.
   ═══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  body.dark .h-widgets { display: none !important; }
  body.dark .p-daily .prf-widgets,
  body.dark .p-ferramentas .prf-widgets,
  body.dark .p-habitos .prf-widgets,
  body.dark .p-saude .prf-widgets,
  body.dark .p-estudos .prf-widgets { display: none !important; }

  /* iOS Fase 1 — header da pagina empilha e nao corta no mobile */
  .h-topbar { flex-wrap: wrap; row-gap: 8px; padding-left: 16px; padding-right: 16px; }
  .h-tb-ctrls { margin-left: auto; flex-shrink: 0; }
  .h-topbar .h-tb-wx { display: none; } /* clima ja aparece no ticker (era .h-tb-clima/.spark — classe real e .h-tb-wx) */
}

/* ═══ iOS Phase 1 · ticker rolavel por toque no mobile (Task 4) ═════════════
   Shell ticker (GlobalTicker, body.dark .bb-ticker-slot): troca overflow:hidden
   por overflow-x:auto para que o probe veja os filhos como "scrollaveis" e nao
   os conte como vazamento. Animacao marquee desligada; rola por toque.
   Desktop intocado — esta dentro do @media.
   ═══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  body.dark .bb-ticker-slot .tk-window {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    scroll-snap-type: x proximity;
    -webkit-mask-image: none;
    mask-image: none;
  }
  body.dark .bb-ticker-slot .tk-window::-webkit-scrollbar { display: none; }
  body.dark .bb-ticker-slot .tk-track { animation: none !important; }
  body.dark .bb-ticker-slot .tk-item { scroll-snap-align: start; }
}

/* iOS Fase 1 · Task 4b — Clientes: os itens do .cards-grid tem min-width:auto e
   nao encolhem abaixo do conteudo intrinseco (~429px), estourando +115px. Forcar
   min-width:0 permite encolher ate a coluna 1fr. Desktop intocado. */
@media (max-width: 768px) {
  .p-clientes .cards-grid > *, .p-clientes .client-card { min-width: 0; }
}

/* ═══ iOS Fase 1 · Task 6 — Tab bar hibrida (mobile only) ═══════════════════
   Oculta no desktop; fixa na parte inferior no mobile com safe-area.          */
.tabbar { display: none; }

@media (max-width: 768px) {
  .tabbar {
    display: flex; align-items: center; position: fixed; left: 0; right: 0; bottom: 0; z-index: 40;
    background: #0e0c0a; border-top: 1px solid #1d1d1d;
    padding-bottom: env(safe-area-inset-bottom);
    padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right);
  }
  /* grupos laterais iguais (flex:1) garantem o + no CENTRO exato */
  .tabbar-side { flex: 1; display: flex; align-items: center; justify-content: space-around; }
  .tabbar-item {
    flex: 1; display: flex; flex-direction: column; align-items: center; gap: 3px;
    background: none; border: none; cursor: pointer; padding: 8px 4px;
    color: #7a726a; font-family: var(--font-mono); font-size: 9px; letter-spacing: .08em; text-transform: uppercase;
  }
  .tabbar-item.on { color: #e79c22; }
  .tabbar-glyph { font-size: 18px; line-height: 1; }
  .tabbar-ghost { visibility: hidden; pointer-events: none; }
}

/* Tema gelo — tab bar clara */
body.gelo .tabbar { background: #e6e9ec; border-top-color: #c9cdd2; }
body.gelo .tabbar-item { color: #4a453f; }
body.gelo .tabbar-item.on { color: #b45309; }

/* ═══ iOS Fase 1 · Task 2 — Telas mobile (Hoje / Marcar) ═══════════════════ */
@media (max-width: 768px) {
  /* telas mobile-first não têm o mobile-nav fixo → só safe-area no topo (não os 52px) */
  .main--hoje { padding-top: env(safe-area-inset-top) !important; padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); }
  .hoje-wrap { padding: 8px 0 calc(64px + env(safe-area-inset-bottom)); }
  .hoje-title { font-family: var(--font-display, 'Big Shoulders Display'); font-weight: 800; font-size: 26px; color: #fff; padding: 6px 16px 10px; }
  .hoje-empty { color: var(--muted, #8c8478); font-size: 13px; padding: 20px 16px; }
  /* botão central da tab bar — flex:0 pra não esticar; fica no centro entre os 2 sides */
  .tabbar-cap { flex: 0 0 auto; display: flex; align-items: center; justify-content: center; background: none; border: none; cursor: pointer; padding: 0 6px; }
  .tabbar-fab { width: 42px; height: 42px; border-radius: 50%; background: linear-gradient(180deg,#f5b942,#e0951f); color: #151007; display: flex; align-items: center; justify-content: center; font-size: 25px; font-weight: 700; margin-top: -14px; box-shadow: 0 8px 18px -6px rgba(240,169,43,.6); }
}

/* Tema gelo — texto Hoje/Marcar */
body.gelo .hoje-title { color: #1a1612; }
body.gelo .tabbar-fab { color: #151007; }

/* ═══ Task 3 — Hero (saudacao+clima, proximo compromisso, stats) ═══════════ */
@media (max-width: 768px) {
  .hoje-greet { padding: 6px 16px 12px; }
  .hoje-greet-k { font-size: 9px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted,#8c8478); }
  .hoje-greet-b { font-family: var(--font-display,'Big Shoulders Display'); font-weight: 800; font-size: 26px; line-height: 1; color: var(--am2,#f5a623); margin-top: 3px; }
  .hoje-hero { background: linear-gradient(160deg,#241d12,#17140e); border: 1px solid #33291a; border-radius: 20px; padding: 16px 17px; margin-bottom: 13px; }
  body.gelo .hoje-hero { background: var(--card-fill,#e6e9ec); border-color: #c9cdd2; }
  .hoje-hero-l { font-size: 8.5px; letter-spacing: .16em; color: var(--am,#f0a92b); text-transform: uppercase; }
  .hoje-hero-v { font-family: var(--font-display,'Big Shoulders Display'); font-weight: 800; font-size: 23px; color: #fff; line-height: 1.05; margin-top: 3px; }
  body.gelo .hoje-hero-v { color: #141109; }
  .hoje-hero-w { font-size: 10px; color: var(--muted,#8c8478); margin-top: 4px; }
  .hoje-hero-stats { display: flex; gap: 8px; margin-top: 14px; }
  .hoje-hero-stats .hs { flex: 1; background: rgba(0,0,0,.28); border-radius: 11px; padding: 8px 9px; }
  body.gelo .hoje-hero-stats .hs { background: rgba(10,8,6,.06); }
  .hs-n { font-family: var(--font-display,'Big Shoulders Display'); font-weight: 800; font-size: 18px; line-height: 1; }
  .hs-grn { color: #4ade80; } .hs-cy { color: #2dd4bf; }
  .hs-t { font-size: 8px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted,#8c8478); margin-top: 3px; }
}

/* ═══ Task 4 — Feed (agenda de hoje + tasks com check inline) ══════════════ */
@media (max-width: 768px) {
  .hoje-card { background: var(--card-fill,#1d1a15); border-radius: 16px; padding: 13px 15px; margin-bottom: 11px; }
  .hoje-card-h { font-size: 8.5px; letter-spacing: .18em; text-transform: uppercase; color: var(--am,#f0a92b); font-weight: 700; margin-bottom: 6px; }
  .hoje-row { display: flex; align-items: center; gap: 9px; padding: 6px 0; font-size: 12.5px; }
  .hoje-task-row { cursor: pointer; }
  .hoje-dot { width: 7px; height: 7px; border-radius: 50%; background: #4ade80; flex-shrink: 0; }
  .hoje-row-nm { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .hoje-row-nm.done { color: var(--muted,#8c8478); text-decoration: line-through; }
  .hoje-row-t { color: var(--muted,#8c8478); font-size: 11px; }
  .hoje-chk { width: 18px; height: 18px; border: 1.5px solid #4a453c; border-radius: 5px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: 11px; color: #0c1a0c; }
  .hoje-chk.on { background: #4ade80; border-color: #4ade80; }
  .hoje-more { color: var(--muted,#8c8478); font-size: 11px; padding-top: 3px; }
}
/* Gelo overrides — feed cards */
body.gelo .hoje-card { background: var(--card-fill,#e6e9ec); }
body.gelo .hoje-row-nm { color: #141109; }
body.gelo .hoje-chk { border-color: #9b9690; }

/* ═══ Plano 2 — CaptureSheet (bottom-sheet de captura mobile) ══════════════ */
@media (max-width: 768px) {
  .cs-scrim { position: fixed; inset: 0; background: rgba(0,0,0,.55); z-index: 900; }
  .cs-sheet { position: fixed; left: 0; right: 0; bottom: 0; z-index: 901; background: #141109; border-top: 1px solid #33291a; border-radius: 26px 26px 0 0; padding: 12px 18px calc(24px + env(safe-area-inset-bottom)); box-shadow: 0 -18px 40px -10px rgba(0,0,0,.7); }
  body.gelo .cs-sheet { background: #e6e9ec; border-top-color: #c9cdd2; }
  .cs-grab { width: 38px; height: 4px; border-radius: 3px; background: #3a3227; margin: 2px auto 16px; }
  body.gelo .cs-grab { background: #b0b8c1; }
  .cs-types { display: flex; gap: 8px; margin-bottom: 16px; }
  .cs-type { flex: 1; text-align: center; padding: 9px 0; border-radius: 11px; background: #1d1811; border: 1px solid #2a2318; font-size: 11px; letter-spacing: .06em; color: #8c8478; text-transform: uppercase; font-weight: 700; font-family: 'Space Mono', monospace; cursor: pointer; }
  body.gelo .cs-type { background: #d4d9de; border-color: #b0b8c1; color: #6b645a; }
  .cs-type.on { background: linear-gradient(180deg,#f5b942,#e0951f); color: #151007; border-color: transparent; }
  .cs-field { display: block; width: 100%; background: #0c0a06; border: 1px solid #2a2318; border-radius: 13px; padding: 14px 15px; font-size: 15px; color: #eae8e3; font-family: 'Space Mono', monospace; resize: none; box-sizing: border-box; }
  body.gelo .cs-field { background: #f5f6f7; border-color: #c9cdd2; color: #141109; }
  .cs-field:focus { outline: none; border-color: #f0a92b; }
  .cs-chips { display: flex; gap: 8px; margin-top: 12px; flex-wrap: wrap; align-items: center; }
  .cs-chip { background: #1d1811; border: 1px solid #2a2318; border-radius: 9px; padding: 7px 12px; font-size: 11px; color: #b8ad9c; font-family: 'Space Mono', monospace; cursor: pointer; display: flex; align-items: center; gap: 6px; }
  .cs-chip.on { border-color: #f0a92b; color: #f0a92b; }
  .cs-chip-i { color: #f0a92b; }
  .cs-chip-sep { font-size: 10px; color: #8c8478; }
  .cs-dateinput { background: #1d1811; border: 1px solid #2a2318; border-radius: 9px; padding: 7px 10px; font-size: 11px; color: #b8ad9c; font-family: 'Space Mono', monospace; }
  body.gelo .cs-dateinput { background: #d4d9de; border-color: #b0b8c1; color: #141109; }
  .cs-err { color: #f87171; font-size: 11px; font-family: 'Space Mono', monospace; margin-top: 8px; }
  .cs-save { display: block; width: 100%; margin-top: 16px; height: 50px; border-radius: 14px; background: linear-gradient(180deg,#f5b942,#e0951f); color: #151007; border: none; font-family: 'Big Shoulders Display', sans-serif; font-weight: 800; font-size: 17px; letter-spacing: .04em; cursor: pointer; }
  .cs-save:disabled { opacity: .45; cursor: not-allowed; }
  /* ── Marcar ── */
  .mk-wrap { padding-top: 4px; }
  .mk-prog { display: flex; align-items: center; gap: 10px; margin: 2px 0 14px; padding: 0 2px; }
  .mk-progbar { flex: 1; height: 7px; background: #241f18; border-radius: 4px; overflow: hidden; }
  body.gelo .mk-progbar { background: rgba(10,8,6,.12); }
  .mk-progfill { height: 100%; background: linear-gradient(90deg, var(--am, #f0a92b), #4ade80); border-radius: 4px; transition: width .4s ease; }
  .mk-progpct { font-family: 'Big Shoulders Display', sans-serif; font-weight: 800; font-size: 16px; color: var(--am2, #f5a623); min-width: 40px; text-align: right; }
  body.gelo .mk-progpct { color: #b45309; }
  .mk-row { display: flex; align-items: center; gap: 11px; padding: 10px 0; font-size: 13px; cursor: pointer; border-bottom: 1px solid rgba(255,255,255,.04); }
  body.gelo .mk-row { border-bottom-color: rgba(10,8,6,.06); }
  .mk-row:last-child { border-bottom: none; }
  .mk-chk { width: 22px; height: 22px; border: 1.6px solid #4a453c; border-radius: 7px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; color: #0c1a0c; transition: background .15s; }
  body.gelo .mk-chk { border-color: #8c9aab; }
  .mk-chk.on { background: #4ade80; border-color: #4ade80; }
  .mk-nm { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  body.gelo .mk-nm { color: #141109; }
  .mk-nm.done { color: var(--muted, #8c8478); text-decoration: line-through; }
  .mk-streak { margin-left: auto; font-size: 10px; color: var(--muted, #8c8478); font-family: 'Space Mono', monospace; }
  .mk-daily-focus { padding: 6px 0 4px; cursor: pointer; }
  .mk-daily-l { font-size: 8.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted, #8c8478); margin-bottom: 4px; }
  .mk-daily-txt { font-size: 13px; line-height: 1.4; color: #eae8e3; }
  body.gelo .mk-daily-txt { color: #141109; }
  .mk-daily-txt.empty { color: var(--muted, #8c8478); font-style: italic; font-size: 12px; }
  .mk-daily-ta { width: 100%; background: #0c0a06; border: 1px solid #2a2318; border-radius: 9px; padding: 8px 10px; font-size: 13px; color: #eae8e3; font-family: 'Space Mono', monospace; resize: none; box-sizing: border-box; }
  body.gelo .mk-daily-ta { background: #f5f6f7; border-color: #c9cdd2; color: #141109; }
  .mk-daily-ta:focus { outline: none; border-color: #f0a92b; }
  .mk-daily-mood { font-size: 11px; color: var(--muted, #8c8478); margin-top: 8px; padding-top: 8px; border-top: 1px solid rgba(255,255,255,.05); }
  body.gelo .mk-daily-mood { border-top-color: rgba(10,8,6,.06); }
  .mk-daily-moodv { color: #eae8e3; font-weight: 700; }
  body.gelo .mk-daily-moodv { color: #141109; }
}

/* ═══ Plano 3 — Hub "Mais" + Consultas simplificadas ═══════════════════════ */
@media (max-width: 768px) {
  /* Hub */
  .hub-wrap { padding-top: 4px; }
  .hub-card { position: relative; border-radius: 18px; padding: 15px 16px; margin-bottom: 12px; background: var(--card-fill, #1d1a15); border-left: 3px solid var(--am, #f0a92b); cursor: pointer; overflow: hidden; }
  body.gelo .hub-card { background: #e6e9ec; }
  .hub-fin { border-left-color: #4ade80; }
  .hub-plan { border-left-color: #7aa2f7; }
  .hub-card-t { font-family: 'Big Shoulders Display', sans-serif; font-weight: 800; font-size: 19px; color: #fff; }
  body.gelo .hub-card-t { color: #141109; }
  .hub-card-sub { display: flex; gap: 16px; margin-top: 8px; }
  .hub-card-sub > div { flex: 1; }
  .hub-k { font-size: 8px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted, #8c8478); }
  .hub-v { font-family: 'Big Shoulders Display', sans-serif; font-weight: 800; font-size: 17px; margin-top: 1px; }
  .hub-arr { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); color: #4a453c; font-size: 20px; }
  .hub-fulllink { display: block; width: 100%; margin-top: 6px; text-align: center; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: #7a726a; padding: 12px; border: 1px solid #241f18; border-radius: 12px; background: transparent; cursor: pointer; font-family: 'Space Mono', monospace; }
  body.gelo .hub-fulllink { border-color: #c9cdd2; color: #5a5248; }
  /* CSS compartilhado para todas as consultas */
  .cns-back { font-size: 10.5px; color: var(--muted, #8c8478); padding: 3px 2px 5px; cursor: pointer; }
  .cns-back:hover { color: var(--am, #f0a92b); }
  .cns-card { background: var(--card-fill, #1d1a15); border-radius: 15px; padding: 12px 14px; margin-bottom: 10px; position: relative; }
  body.gelo .cns-card { background: #e6e9ec; }
  .cns-card.tap { border: 1px solid #2a2318; cursor: pointer; }
  body.gelo .cns-card.tap { border-color: #c9cdd2; }
  .cns-tapper { position: absolute; right: 12px; top: 13px; color: #4a453c; font-size: 18px; pointer-events: none; }
  .cns-lbl { font-size: 8px; letter-spacing: .16em; text-transform: uppercase; color: var(--muted, #8c8478); font-weight: 700; margin-bottom: 3px; }
  .cns-amlbl { color: var(--am, #f0a92b); }
  .cns-big { font-family: 'Big Shoulders Display', sans-serif; font-weight: 800; font-size: 26px; line-height: 1; }
  .cns-rowsb { display: flex; justify-content: space-between; align-items: baseline; padding: 4px 0; font-size: 11px; color: var(--muted, #8c8478); }
  .cns-row { display: flex; align-items: center; gap: 9px; padding: 8px 0; font-size: 12px; border-bottom: 1px solid #201b14; }
  body.gelo .cns-row { border-bottom-color: rgba(10,8,6,.08); }
  .cns-row:last-child { border-bottom: none; }
  .cns-rownm { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  body.gelo .cns-rownm { color: #141109; }
  .cns-rowval { font-family: 'Big Shoulders Display', sans-serif; font-weight: 700; font-variant-numeric: tabular-nums; }
  .cns-chev { color: #4a453c; font-size: 15px; flex-shrink: 0; }
  .cns-empty { color: var(--muted, #8c8478); font-size: 12px; padding: 8px 0; }
  /* método 2-vias (conta=verde, cartão=violeta) */
  .cns-mdot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
  .cns-mdot.conta { background: #4ade80; }
  .cns-mdot.cartao { background: #a78bfa; }
  /* Financeiro */
  .cns-limbar-wrap { height: 7px; background: #241f18; border-radius: 4px; overflow: hidden; margin: 7px 0 2px; }
  body.gelo .cns-limbar-wrap { background: rgba(10,8,6,.12); }
  .cns-limbar-fill { height: 100%; background: #a78bfa; border-radius: 4px; }
  .cns-catrow { display: flex; align-items: center; gap: 9px; padding: 6px 0; font-size: 11.5px; border-bottom: 1px solid #201b14; cursor: pointer; }
  body.gelo .cns-catrow { border-bottom-color: rgba(10,8,6,.08); }
  .cns-catrow:last-child { border-bottom: none; }
  .cns-catname { flex: 0 0 80px; color: #c9c1b4; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  body.gelo .cns-catname { color: #3a3228; }
  .cns-catbar { flex: 1; min-width: 16px; height: 6px; background: #241f18; border-radius: 3px; overflow: hidden; }
  body.gelo .cns-catbar { background: rgba(10,8,6,.12); }
  .cns-catbar i { display: block; height: 100%; }
  /* Planner hero */
  .planner-hero { background: linear-gradient(160deg,#241d12,#17140e); border: 1px solid #33291a; border-radius: 18px; padding: 15px 16px; margin-bottom: 12px; overflow: hidden; }
  body.gelo .planner-hero { background: #e0e4e8; border-color: #c9cdd2; }
  .planner-hero-l { font-size: 8px; letter-spacing: .16em; color: var(--am, #f0a92b); text-transform: uppercase; }
  .planner-hero-v { font-family: 'Big Shoulders Display', sans-serif; font-weight: 800; font-size: 24px; color: #fff; line-height: 1.05; margin-top: 4px; }
  body.gelo .planner-hero-v { color: #141109; }
  .planner-hero-w { font-size: 10px; color: var(--muted, #8c8478); margin-top: 5px; }
  .cns-ntitle { font-size: 11.5px; color: #c9c1b4; padding: 5px 0; border-bottom: 1px solid #201b14; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; cursor: pointer; }
  body.gelo .cns-ntitle { color: #3a3228; border-bottom-color: rgba(10,8,6,.08); }
  .cns-ntitle:last-child { border-bottom: none; }
  .cns-ntitle:hover { color: var(--am, #f0a92b); }
}
