:root { color-scheme:dark; --bg:#0d100f; --side:#111513; --surface:#161c18; --surface-2:#1c241f; --line:#29362e; --ink:#edf4ee; --muted:#9cac9f; --accent:#a9ec80; --accent-ink:#12220b; --green:#8ede9b; --danger:#ff9e9e; --warning:#efd08a; --blue:#9abcec; --shadow:0 24px 90px #0005; }
:root[data-theme=light] { color-scheme:light; --bg:#f4f7f3; --side:#ffffff; --surface:#ffffff; --surface-2:#eff4ed; --line:#d9e3d6; --ink:#18251c; --muted:#596b5e; --accent:#286c35; --accent-ink:#fff; --green:#24723b; --danger:#ac3131; --warning:#8a620a; --blue:#2d63a7; --shadow:0 20px 80px #18301b1a; }
* { box-sizing:border-box; } body { margin:0; background:var(--bg); color:var(--ink); font-family:'Segoe UI',Arial,sans-serif; font-size:14px; line-height:1.5; } button,input,select,textarea { font:inherit; } button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; } button { cursor:pointer; } a { color:inherit; text-decoration:none; } button:disabled { opacity:.5; cursor:not-allowed; } :focus-visible { outline:2px solid var(--accent); outline-offset:4px; } [hidden] { display:none !important; } button { transition:background .15s,border-color .15s; } .skip-link { position:fixed; top:-80px; left:16px; z-index:100; padding:12px 20px; background:var(--accent); color:var(--accent-ink); } .skip-link:focus { top:12px; }
.sidebar { position:fixed; inset:0 auto 0 0; width:242px; display:flex; flex-direction:column; border-right:1px solid var(--line); padding:30px 17px 22px; background:var(--side); z-index:30; overflow-y:auto; } .brand { display:flex; gap:12px; align-items:center; padding:0 13px 30px; font-size:21px; font-weight:650; line-height:1.15; } .brand-symbol { display:flex; align-items:center; justify-content:center; width:38px; height:40px; background:var(--accent); color:var(--accent-ink); font-size:24px; letter-spacing:-4px; border-radius:9px; padding-right:4px; font-weight:800; }.brand-symbol span { font-weight:400; } .brand-sub { display:block; font-size:9px; letter-spacing:.25em; margin-top:6px; color:var(--muted); font-weight:500; } .nav-label { font-size:9px; color:var(--muted); letter-spacing:.14em; margin:8px 14px 15px; } nav { display:grid; gap:4px; } .nav-item { display:flex; gap:12px; align-items:center; padding:11px 13px; min-height:44px; border:1px solid transparent; border-radius:8px; color:var(--muted); font-size:13px; } .nav-item svg { width:18px; height:18px; flex-shrink:0; } .nav-item:hover { background:var(--surface-2); color:var(--ink); } .nav-item.active { color:var(--accent); border-color:var(--line); background:var(--surface-2); } .sidebar-bottom { margin-top:auto; padding:24px 9px 0; display:flex; gap:10px; font-size:11px; } .sidebar-bottom small { display:block; color:var(--muted); font-size:9px; margin-top:4px; } .local-dot { width:6px; height:6px; border-radius:50%; background:var(--green); margin-top:5px; }
.workspace { margin-left:242px; } .topbar { min-height:76px; border-bottom:1px solid var(--line); padding:14px 36px; display:flex; align-items:center; justify-content:space-between; gap:16px; } .breadcrumb { color:var(--muted); font-size:12px; } .breadcrumb span { margin:0 12px; color:var(--line); } .breadcrumb strong { color:var(--ink); font-weight:500; } .topbar-actions { display:flex; align-items:center; gap:17px; } .demo-chip { font-family:Consolas,monospace; color:var(--muted); letter-spacing:.08em; font-size:9px; } .avatar { width:31px; height:31px; border-radius:50%; display:grid; place-items:center; background:var(--surface-2); border:1px solid var(--line); font-size:10px; color:var(--accent); } .theme-toggle,.secondary,.small-button,.icon-button { border:1px solid var(--line); background:var(--surface); color:var(--ink); border-radius:7px; padding:9px 13px; min-height:40px; } .theme-toggle { font-size:11px; min-width:70px; }.icon-button { min-width:40px; font-size:20px; padding:2px 10px; }.mobile-menu { display:none; }
main { max-width:1660px; margin:auto; padding:33px 36px 20px; } .page-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:23px; } .eyebrow { margin:0 0 8px; font:10px Consolas,monospace; letter-spacing:.14em; color:var(--muted); } h1 { font-size:clamp(23px,2.2vw,31px); line-height:1.2; font-weight:600; letter-spacing:-.045em; margin:0; } h2 { font-size:16px; margin:0; font-weight:600; letter-spacing:-.02em; } h3 { font-size:14px; margin:0; font-weight:600; } p { margin:0; } .subtitle { color:var(--muted); font-size:12px; margin-top:9px; } .heading-actions { display:flex; align-items:flex-end; gap:10px; flex-shrink:0; } .primary { border:1px solid var(--accent); background:var(--accent); color:var(--accent-ink); border-radius:7px; padding:10px 16px; min-height:42px; font-weight:600; font-size:12px; } .primary:hover { filter:brightness(1.07); } .secondary:hover,.small-button:hover { border-color:var(--muted); } .month-control { display:grid; gap:4px; font-size:9px; color:var(--muted); } input,select,textarea { color:var(--ink); border:1px solid var(--line); background:var(--bg); border-radius:7px; padding:10px 12px; max-width:100%; min-height:42px; } input[type=month] { font-size:11px; padding:8px 10px; min-height:42px; } .demo-notice { display:flex; align-items:center; gap:9px; padding:10px 14px; background:var(--surface-2); border:1px solid var(--line); border-radius:7px; margin-bottom:22px; font-size:11px; color:var(--muted); } .demo-notice span { color:var(--accent); font-size:16px; }
.metrics-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:18px; } .metric { background:var(--surface); border:1px solid var(--line); border-radius:10px; padding:20px; min-width:0; } .metric.balance { background:var(--surface-2); } .metric-top { display:flex; justify-content:space-between; align-items:center; font-size:11px; color:var(--muted); gap:8px; } .metric-top svg { width:17px; height:17px; } .metric-value { font-size:clamp(20px,2vw,30px); letter-spacing:-.035em; font-variant-numeric:tabular-nums; line-height:1.3; margin:14px 0 9px; font-weight:600; overflow-wrap:anywhere; } .metric.balance .metric-value { color:var(--accent); } .metric-note { color:var(--muted); font-size:10px; }.positive { color:var(--green); } .negative { color:var(--danger); } .warning-text { color:var(--warning); } .muted { color:var(--muted); } .tabular { font-variant-numeric:tabular-nums; }
.dashboard-row { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:18px; margin-bottom:18px; } .panel { background:var(--surface); border:1px solid var(--line); border-radius:10px; min-width:0; overflow:hidden; } .panel-body { padding:21px; } .panel-header { padding:20px 21px 0; display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:18px; } .panel-header h2 { font-size:14px; } .panel-sub { color:var(--muted); font-size:10px; margin-top:5px; } .panel-header a { font-size:11px; color:var(--accent); white-space:nowrap; } .legend { display:flex; gap:12px; font-size:10px; color:var(--muted); } .legend span { display:flex; align-items:center; gap:5px; }.legend i { width:6px; height:6px; display:inline-block; border-radius:50%; background:var(--accent); }.legend .out { background:var(--muted); } .chart-wrap { padding:0 18px 12px; } .bar-chart { width:100%; height:205px; overflow:visible; }.bar-chart text { font:10px 'Segoe UI',sans-serif; fill:var(--muted); } .bar-chart .grid { stroke:var(--line); stroke-dasharray:3 5; } .bar-chart .income-bar { fill:var(--accent); } .bar-chart .expense-bar { fill:var(--muted); opacity:.6; } .category-list { display:grid; gap:16px; padding:0 21px 22px; } .category-top { display:flex; justify-content:space-between; gap:16px; font-size:11px; margin-bottom:7px; } .progress-track { height:5px; background:var(--surface-2); border-radius:10px; overflow:hidden; }.progress-fill { height:100%; background:var(--accent); border-radius:10px; }.category-top span:last-child { color:var(--muted); font-variant-numeric:tabular-nums; }
.mini-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:0 21px 21px; }.mini-item { padding:14px 0; min-width:0; }.mini-item span { display:block; font-size:10px; color:var(--muted); }.mini-item strong { display:block; font-size:18px; margin-top:6px; font-variant-numeric:tabular-nums; letter-spacing:-.03em; overflow-wrap:anywhere; }.health { padding:0 21px 21px; }.health-label { display:flex; justify-content:space-between; align-items:center; margin-bottom:15px; }.health-label strong { font-size:14px; }.health p { color:var(--muted); font-size:11px; line-height:1.7; margin-top:13px; }.health .progress-track { height:7px; } .alert-strip { display:flex; gap:10px; padding:13px 16px; border:1px solid var(--line); border-radius:8px; background:var(--surface-2); margin-bottom:18px; font-size:12px; }.alert-strip a { color:var(--accent); margin-left:auto; white-space:nowrap; }
.table-scroll { overflow:auto; } table { width:100%; border-collapse:collapse; text-align:left; white-space:nowrap; } th { color:var(--muted); font-size:9px; text-transform:uppercase; letter-spacing:.08em; font-weight:500; padding:11px 21px; border-bottom:1px solid var(--line); background:var(--surface-2); } td { padding:15px 21px; border-bottom:1px solid var(--line); font-size:12px; } tr:last-child td { border-bottom:0; }.description-cell { white-space:normal; min-width:150px; max-width:300px; overflow-wrap:anywhere; } .description-cell small { display:block; color:var(--muted); font-size:10px; margin-top:4px; } td.amount { font-variant-numeric:tabular-nums; text-align:right; font-weight:600; }.badge { display:inline-flex; align-items:center; gap:5px; font-size:10px; padding:4px 8px; border-radius:5px; background:var(--surface-2); color:var(--muted); white-space:nowrap; }.badge.overdue { color:var(--danger); }.badge.pending { color:var(--warning); }.badge.settled { color:var(--green); }.badge.receive { color:var(--blue); }.small-button { padding:5px 10px; min-height:34px; font-size:10px; color:var(--accent); }.table-toolbar { display:flex; align-items:center; gap:12px; padding:18px 21px; border-bottom:1px solid var(--line); flex-wrap:wrap; }.table-toolbar input { flex:1; min-width:160px; font-size:12px; }.table-toolbar select { font-size:12px; }.empty { padding:44px 22px; text-align:center; color:var(--muted); font-size:13px; }.empty strong { display:block; color:var(--ink); margin-bottom:9px; }.page-footer { display:flex; justify-content:space-between; gap:15px; font-size:9px; color:var(--muted); padding:30px 0 6px; }.page-footer b { color:var(--accent); padding:0 5px; }
.account-grid,.goal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }.account-card,.goal-card { padding:24px; border:1px solid var(--line); background:var(--surface); border-radius:11px; min-width:0; }.account-heading { display:flex; align-items:center; gap:12px; margin-bottom:24px; }.account-mark { display:grid; place-items:center; width:36px; height:36px; border:2px solid var(--account-color); border-radius:10px; color:var(--account-color); font-weight:600; }.account-card p { font-size:11px; color:var(--muted); }.account-balance { font-size:29px; letter-spacing:-.04em; margin:8px 0 23px; overflow-wrap:anywhere; }.account-meta { display:flex; justify-content:space-between; gap:12px; padding-top:15px; border-top:1px solid var(--line); font-size:10px; color:var(--muted); }.section-note { color:var(--muted); font-size:12px; margin:18px 0; line-height:1.8; }.goal-card h2 { margin-bottom:18px; }.goal-amount { display:flex; gap:10px; align-items:baseline; flex-wrap:wrap; margin-bottom:15px; }.goal-amount strong { font-size:24px; letter-spacing:-.04em; }.goal-amount span { color:var(--muted); font-size:11px; }.goal-card p { margin:13px 0 21px; color:var(--muted); font-size:11px; }.goal-card button { width:100%; }
.calendar-controls { display:flex; align-items:center; gap:12px; }.calendar { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }.calendar-day-name { padding:12px; color:var(--muted); font-size:10px; text-align:center; border-bottom:1px solid var(--line); }.calendar-day { min-height:125px; padding:10px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); min-width:0; }.calendar-day.blank { background:var(--surface-2); }.calendar-day time { font-size:11px; color:var(--muted); }.calendar-day.today time { display:inline-grid; place-items:center; background:var(--accent); color:var(--accent-ink); border-radius:50%; width:25px; height:25px; }.calendar-event { display:block; background:var(--surface-2); border-radius:4px; padding:5px; margin-top:5px; font-size:9px; overflow-wrap:anywhere; border:1px solid var(--line); }.calendar-event.overdue { color:var(--danger); }.calendar-event.pending { color:var(--warning); }.calendar-event.settled { color:var(--green); }.calendar-event.receive { color:var(--blue); }.calendar-legend { display:flex; gap:12px; padding:18px; flex-wrap:wrap; }
.settings-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.settings-section { padding:24px; }.settings-section h2 { margin-bottom:10px; }.settings-section p { color:var(--muted); font-size:12px; margin-bottom:20px; line-height:1.8; }.settings-section label { font-size:12px; display:grid; gap:8px; }.settings-section textarea { width:100%; min-height:200px; font:11px Consolas,monospace; }.danger-button { color:var(--danger); }.settings-section ul { color:var(--muted); padding-left:18px; font-size:12px; line-height:2; }
dialog { width:min(600px,calc(100% - 30px)); max-height:calc(100dvh - 40px); padding:0; border:1px solid var(--line); border-radius:14px; background:var(--surface); color:var(--ink); box-shadow:var(--shadow); } dialog::backdrop { background:#0009; backdrop-filter:blur(3px); }.dialog-header { display:flex; justify-content:space-between; gap:20px; padding:24px; border-bottom:1px solid var(--line); }.dialog-header h2 { font-size:21px; }.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:17px; padding:24px; }.field { display:grid; gap:7px; min-width:0; font-size:11px; color:var(--muted); }.field input,.field select,.field textarea { width:100%; }.field.full,.form-help { grid-column:1/-1; }.form-help { color:var(--muted); font-size:11px; line-height:1.8; }.form-grid textarea { resize:vertical; min-height:85px; }.dialog-footer { display:flex; justify-content:flex-end; gap:10px; padding:18px 24px; border-top:1px solid var(--line); }.form-error { margin:0 24px 20px; font-size:12px; color:var(--danger); }.toast { position:fixed; bottom:24px; right:24px; max-width:calc(100% - 48px); z-index:100; border:1px solid var(--line); border-radius:9px; padding:14px 20px; background:var(--surface-2); color:var(--ink); box-shadow:var(--shadow); font-size:13px; }.fatal { padding:25px; color:var(--danger); }.sidebar-scrim { position:fixed; inset:0; z-index:25; background:#0008; }
@media (min-width:1600px) { .metric-value { font-size:33px; } }
@media (max-width:1200px) { .sidebar { width:214px; } .workspace { margin-left:214px; } main { padding:26px 24px 18px; }.topbar { padding:14px 24px; }.page-heading { align-items:flex-start; flex-direction:column; gap:18px; }.heading-actions { align-self:stretch; justify-content:flex-end; }.metrics-grid { gap:10px; }.metric { padding:16px; }.metric-value { font-size:22px; }.account-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.dashboard-row { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); }.mini-grid { grid-template-columns:1fr; gap:0; }.mini-item { display:flex; align-items:center; justify-content:space-between; gap:10px; border-bottom:1px solid var(--line); }.mini-item strong { font-size:16px; margin-top:0; }.mini-item:last-child { border-bottom:0; } }
@media (max-width:900px) { .sidebar { transform:translateX(-100%); width:242px; }.sidebar.open { transform:translateX(0); }.workspace { margin-left:0; }.mobile-menu { display:block; }.topbar { padding:13px 20px; min-height:66px; }.breadcrumb { margin-right:auto; }.topbar-actions { gap:12px; }.metrics-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.dashboard-row { grid-template-columns:1fr 1fr; }.goal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.calendar-day { min-height:100px; padding:7px; } }
@media (max-width:600px) { body { font-size:13px; } main { padding:23px 15px 16px; }.topbar { padding:11px 15px; gap:10px; }.breadcrumb { display:none; }.topbar-actions { margin-left:auto; }.demo-chip { font-size:8px; }.avatar { display:none; }.page-heading { margin-bottom:17px; }.heading-actions { flex-wrap:wrap; justify-content:space-between; gap:10px; }.heading-actions .primary { flex:1; min-width:145px; }.month-control { flex:1; }.month-control input { width:100%; }.subtitle { font-size:11px; }.demo-notice { font-size:10px; align-items:flex-start; }.metrics-grid { gap:10px; }.metric { padding:15px 13px; }.metric-value { font-size:22px; }.metric-top { font-size:10px; }.metric-note { font-size:9px; }.dashboard-row { grid-template-columns:1fr; gap:15px; margin-bottom:15px; }.mini-grid { grid-template-columns:1fr; }.metric-top svg { width:14px; height:14px; }.account-grid,.goal-grid,.settings-grid { grid-template-columns:1fr; gap:15px; }.panel-header { padding:18px 16px 0; }.panel-header h2 { font-size:13px; }.chart-wrap { padding:0 10px 10px; }.legend { font-size:9px; }.alert-strip { flex-wrap:wrap; font-size:11px; }.alert-strip a { margin-left:0; }.page-footer { flex-direction:column; gap:5px; }.form-grid { gap:14px; padding:19px; }.field { grid-column:1/-1; }.dialog-header { padding:19px; }.dialog-footer { padding:16px 19px; }.calendar { min-width:680px; }.calendar-container { overflow-x:auto; }.calendar-controls h2 { font-size:12px; }.table-toolbar { padding:14px 16px; }.table-toolbar input,.table-toolbar select { width:100%; flex-basis:100%; }.table-toolbar select { min-width:0; }.small-button { min-height:44px; }.theme-toggle { min-height:44px; }.icon-button { min-height:44px; }.form-grid input,.form-grid select { min-height:44px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none !important; animation:none !important; } }

/* Fase 2.5: navegação progressiva; os tokens Dark/Light permanecem os mesmos. */
#navigation { gap:7px; }
.nav-group { min-width:0; }
.nav-group>summary { display:flex; align-items:center; gap:12px; cursor:pointer; list-style:none; min-height:46px; padding:11px 13px; color:var(--muted); font-size:13px; border-radius:8px; }
.nav-group>summary::-webkit-details-marker { display:none; }
.nav-group>summary svg { width:18px; height:18px; flex-shrink:0; }
.nav-group>summary::after { content:'›'; margin-left:auto; font-size:21px; line-height:1; }
.nav-group[open]>summary::after { transform:rotate(90deg); }
.nav-group>summary:hover,.nav-group[open]>summary { background:var(--surface-2); color:var(--ink); }
.nav-children { margin:5px 0 7px 20px; padding-left:7px; border-left:1px solid var(--line); display:grid; gap:3px; }
.nav-children .nav-item { min-height:44px; padding:9px 9px; gap:9px; font-size:12px; }
.nav-children .nav-item svg { width:15px; height:15px; }
.nav-context { flex-wrap:wrap; }
.context-tier { margin-left:auto; font-size:9px; font-weight:400; color:var(--muted); }
.premium-entry { display:flex; align-items:center; gap:11px; min-height:46px; margin-top:13px; padding:13px 12px; border-top:1px solid var(--line); color:var(--muted); font-size:12px; }
.premium-entry svg { width:17px; height:17px; }
.premium-entry>span:last-child { margin-left:auto; }
.premium-entry:hover,.premium-entry.active { color:var(--accent); }
.resource-tier { display:inline-flex; align-items:center; border:1px solid var(--line); padding:3px 8px; border-radius:5px; font-size:10px; color:var(--muted); white-space:nowrap; }
.resource-tier[data-tier=premium] { color:var(--accent); }
.quick-start { margin:0 0 22px; border:1px solid var(--line); border-radius:9px; padding:17px 20px; }
.quick-start header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.quick-start h2 { font-size:14px; }
.quick-start header p { color:var(--muted); font-size:11px; margin-top:3px; }
.guide-dismiss { border:0; background:transparent; color:var(--muted); padding:0 8px; min-height:44px; font-size:11px; white-space:nowrap; }
.guide-dismiss:hover { color:var(--ink); }
.quick-start ol { display:grid; grid-template-columns:1fr 1fr; gap:2px 30px; padding:0; margin:10px 0 0; list-style:none; counter-reset:quick-step; }
.quick-start li { counter-increment:quick-step; display:flex; align-items:center; gap:9px; font-size:12px; min-width:0; }
.quick-start li::before { content:counter(quick-step); font-size:10px; color:var(--accent); flex-shrink:0; }
.quick-start li a { padding:10px 0; min-height:44px; display:flex; align-items:center; }
.quick-start li a:hover { color:var(--accent); }
.commitment-switch { display:flex; gap:5px; width:fit-content; padding:4px; margin-bottom:18px; border:1px solid var(--line); border-radius:8px; background:var(--surface); }
.commitment-switch a { padding:10px 20px; min-height:44px; font-size:12px; border-radius:5px; color:var(--muted); }
.commitment-switch a[aria-current=page] { background:var(--surface-2); color:var(--accent); }
.premium-overview { display:grid; grid-template-columns:1.1fr 1fr; gap:35px; margin:4px 0 26px; }
.premium-overview h2 { font-size:24px; letter-spacing:-.035em; margin-bottom:12px; }
.premium-overview p:not(.eyebrow),.premium-local-note p { color:var(--muted); font-size:12px; line-height:1.8; }
.premium-local-note { padding:16px 20px; border-left:2px solid var(--line); }
.premium-local-note strong { display:block; font-size:12px; margin-bottom:8px; font-weight:500; }
.premium-feature-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.premium-feature { display:flex; flex-direction:column; align-items:flex-start; padding:22px; min-height:182px; }
.premium-feature:hover { border-color:var(--muted); }
.feature-category { color:var(--muted); font-size:9px; letter-spacing:.06em; margin-bottom:10px; }
.premium-feature h2 { font-size:17px; margin-bottom:8px; }
.premium-feature p { color:var(--muted); font-size:12px; line-height:1.7; margin-bottom:18px; }
.feature-open { font-size:11px; color:var(--accent); margin-top:auto; display:flex; align-items:center; gap:14px; }
.ux-help-row { display:flex; justify-content:space-between; align-items:center; gap:15px; margin:0 0 18px; color:var(--muted); font-size:12px; }
@media(max-width:1200px) { .nav-children { margin-left:10px; padding-left:3px; }.nav-children .nav-item { gap:6px; padding-left:6px; }.nav-children .nav-item svg { width:14px; } }
@media(max-width:600px) { .quick-start { padding:15px; }.quick-start ol { grid-template-columns:1fr; gap:0; margin-top:8px; }.quick-start li { font-size:11px; }.guide-dismiss { padding:0 2px; }.premium-overview { grid-template-columns:1fr; gap:18px; }.premium-overview h2 { font-size:22px; }.premium-feature-grid { grid-template-columns:1fr; }.premium-feature { padding:20px; min-height:170px; }.premium-local-note { padding:10px 14px; }.resource-tier { font-size:9px; }.ux-help-row { align-items:flex-start; flex-direction:column; } }

/* Fase 2: planejamento operacional, sem alterar os tokens Dark/Light. */
.sidebar .brand,.sidebar nav,.sidebar-bottom { flex-shrink:0; }
.assistant-strip { display:flex; justify-content:space-between; align-items:center; gap:20px; border:1px solid var(--line); background:var(--surface-2); padding:18px 20px; border-radius:9px; margin-bottom:18px; }
.assistant-strip strong { display:block; color:var(--accent); font-size:14px; margin-bottom:5px; }
.assistant-strip span { display:block; color:var(--muted); font-size:11px; }
.assistant-strip a,.text-link { color:var(--accent); font-size:12px; white-space:nowrap; }
.planning-controls { display:flex; align-items:center; justify-content:space-between; gap:22px; margin-bottom:20px; }
.planning-controls>p { color:var(--muted); font-size:12px; max-width:650px; }
.planning-target { display:grid; gap:5px; color:var(--muted); font-size:10px; min-width:160px; }
.planning-target input { color:var(--ink); }
.earning-box { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:30px; padding:28px; border:1px solid var(--line); background:var(--surface-2); border-radius:10px; }
.earning-box h2 { font-size:clamp(21px,2.4vw,32px); line-height:1.25; letter-spacing:-.04em; margin:12px 0; }
.earning-box p { font-size:12px; line-height:1.8; color:var(--muted); }
.daily-goal { border-left:1px solid var(--line); padding-left:28px; }
.daily-goal>span { color:var(--muted); font-size:11px; }
.daily-goal>strong { display:block; color:var(--accent); font-size:clamp(27px,3vw,38px); line-height:1.5; letter-spacing:-.04em; overflow-wrap:anywhere; }
.daily-goal small { font-size:13px; color:var(--muted); font-weight:400; letter-spacing:0; }
.daily-goal .small-button { margin-top:13px; }
.planning-details,.budget-details { margin:20px 0; display:grid; gap:16px; }
.planning-details>div,.budget-details>div { display:flex; align-items:baseline; justify-content:space-between; gap:18px; }
.planning-details dt,.budget-details dt { color:var(--muted); font-size:12px; }
.planning-details dd,.budget-details dd { font-size:13px; font-weight:600; margin:0; text-align:right; overflow-wrap:anywhere; }
.projection-chart { width:100%; height:220px; }
.projection-chart text { font:10px 'Segoe UI',Arial,sans-serif; fill:var(--muted); }
.goals-projection { display:flex; gap:28px; justify-content:space-between; margin-top:18px; }
.goals-projection p { max-width:650px; font-size:12px; color:var(--muted); margin-top:10px; line-height:1.8; }
.goals-projection>div:last-child { max-width:280px; }
.goals-projection span { font-size:10px; color:var(--muted); }
.goals-projection strong { display:block; margin-top:8px; font-size:23px; letter-spacing:-.03em; overflow-wrap:anywhere; }
.row-actions { display:flex; gap:7px; flex-wrap:wrap; max-width:280px; }
.priority-essential { color:var(--danger); }.priority-high { color:var(--warning); }.priority-low { color:var(--muted); }
.budget-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.budget-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:26px; flex-wrap:wrap; }
.budget-heading .badge { white-space:normal; }
.budget-card>.secondary { width:100%; }
.simulation-preview { border-top:1px solid var(--line); padding:24px; }
.simulation-comparison { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.simulation-comparison>div { padding:16px; border:1px solid var(--line); border-radius:8px; min-width:0; }
.simulation-comparison span,.simulation-comparison small { display:block; color:var(--muted); font-size:11px; }
.simulation-comparison small { margin-top:9px; }
.simulation-comparison strong { display:block; font-size:25px; letter-spacing:-.03em; margin-top:8px; overflow-wrap:anywhere; }
.simulation-comparison .simulation-health { font-size:18px; letter-spacing:-.02em; }
.audit-panel { margin-top:18px; }
@media(max-width:1200px) { .budget-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .assistant-strip,.planning-controls,.goals-projection { align-items:stretch; flex-direction:column; gap:14px; }.assistant-strip a { align-self:flex-start; }.planning-target { width:100%; }.earning-box { grid-template-columns:1fr; padding:22px; gap:20px; }.daily-goal { border-left:0; border-top:1px solid var(--line); padding:18px 0 0; }.budget-grid { grid-template-columns:1fr; }.simulation-comparison { grid-template-columns:1fr; }.simulation-preview { padding:18px; }.planning-details>div { align-items:flex-start; }.goals-projection>div:last-child { max-width:none; }.earning-box h2 { font-size:27px; }.row-actions { max-width:220px; } }

