:root{--bg: #f7f8f7;--surface: #ffffff;--surface-soft: #f2f5f3;--surface-hover: #eef4f1;--border: #e3e8e5;--border-strong: #d4ddd8;--text: #202725;--muted: #68736f;--brand: #2f7d62;--brand-strong: #24624d;--teal: #1d9aa6;--coral: #e36b4f;--yellow: #d6a43a;--danger: #b84a4a;--shadow-sm: 0 1px 2px rgba(33, 39, 37, .04);--shadow-md: 0 8px 24px rgba(33, 39, 37, .07);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:var(--bg);line-height:1.5;color-scheme:light}:root[data-theme=dark]{--bg: #111715;--surface: #18211e;--surface-soft: #202b27;--surface-hover: #26342f;--border: #2f3f39;--border-strong: #445850;--text: #edf4ef;--muted: #9caea6;--brand: #56b18b;--brand-strong: #479372;--teal: #4db7c1;--coral: #f18f73;--yellow: #e4ba59;--danger: #ea8080;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .22);--shadow-md: 0 12px 28px rgba(0, 0, 0, .34);color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg);color:var(--text)}button,input,textarea,select{font:inherit;letter-spacing:0}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}.login{min-height:100vh;display:grid;place-items:center;padding:24px;background:#edf2ee}.login-card{max-width:440px}.code-list{display:grid;gap:8px;margin-top:18px}code{background:#edf4ef;border:1px solid #d8e1db;border-radius:6px;padding:2px 6px}.auth-error{border:1px solid #d68f8f;background:#fff6f6;color:#8a3030;border-radius:8px;padding:10px 12px;margin:12px 0}.app-shell{min-height:100vh;display:grid;grid-template-columns:248px 1fr;background:var(--bg)}.sidebar{background:var(--surface);border-right:1px solid var(--border);padding:12px;position:sticky;top:0;height:100vh}.sidebar-top{display:flex;gap:8px;align-items:center;margin-bottom:18px}.brand{border:0;background:transparent;display:flex;gap:10px;align-items:center;font-weight:850;cursor:pointer;color:var(--text)}.sidebar nav{display:grid;gap:4px}.sidebar a{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:8px;color:var(--muted);font-weight:650}.sidebar a.active,.sidebar a:hover{background:var(--surface-hover);color:var(--text)}.accordion-trigger{width:100%;border:0;background:transparent;display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:8px;color:var(--muted);cursor:pointer;text-align:left;font-weight:650}.accordion-trigger:hover,.sidebar-accordion.open>.accordion-trigger{background:var(--surface-hover);color:var(--text)}.accordion-chevron{margin-left:auto;transition:transform .18s ease}.sidebar-accordion.open .accordion-chevron{transform:rotate(180deg)}.sidebar-subnav{display:grid;gap:2px;margin:5px 0 9px 28px;padding-left:8px;border-left:1px solid var(--border)}.sidebar-subnav a{padding:7px 10px;font-size:.9rem;border-radius:8px}.budget-progress-list{display:grid;gap:12px}.budget-progress-row{display:grid;gap:10px}.budget-bar{height:12px;border-radius:999px;background:#edf1ee;overflow:hidden;border:1px solid #dce4df}.budget-fill{display:block;height:100%;border-radius:inherit}.budget-fill.ok{background:#52796f}.budget-fill.warn{background:#d8a341}.budget-fill.danger{background:#c1666b}.budget-ok{background:#edf4ef}.budget-warn{background:#fff7e8;border-color:#e2bf75;color:#755312}.budget-danger{background:#fff1f0;border-color:#e3a19d;color:#8a3030}.budget-usage-table{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow-x:auto;box-shadow:var(--shadow-sm)}.budget-usage-head,.budget-usage-row{display:grid;grid-template-columns:minmax(220px,1.4fr) 100px minmax(180px,1fr) 110px 170px;gap:12px;align-items:center;min-width:820px;padding:10px 14px;border-bottom:1px solid #edf1ee}.budget-usage-head{color:#64716c;font-size:.82rem;text-transform:uppercase;font-weight:800;background:#f7faf8}.budget-usage-row:last-child{border-bottom:0}.budget-name{display:inline-flex;align-items:center;gap:10px}.budget-icon{width:30px;height:30px;border-radius:8px;display:inline-grid;place-items:center;background:#edf4ef;border:1px solid #dce4df;font-size:1rem;flex:0 0 auto}.budget-group-table{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow-x:auto;box-shadow:var(--shadow-sm)}.budget-group-head,.budget-group-summary,.budget-group-row{display:grid;grid-template-columns:minmax(240px,1.7fr) 130px 130px 130px minmax(150px,auto);gap:12px;align-items:center;min-width:860px;padding:10px 14px;border-bottom:1px solid #edf1ee}.budget-group-head{color:#64716c;font-size:.82rem;text-transform:uppercase;font-weight:800;background:#f7faf8}.budget-group-summary{background:#fbfcfb;font-size:1rem}.budget-group-row{background:#fff}.budget-group-row:last-child{border-bottom:0}.budget-group+.budget-group .budget-group-summary{border-top:1px solid #dce4df}.budget-side-panel{display:grid;gap:14px;align-content:start;position:sticky;top:84px}.budget-side-row{display:grid;gap:8px;padding-bottom:12px;border-bottom:1px solid #edf1ee}.budget-side-row:last-child{border-bottom:0;padding-bottom:0}.budget-usage-bar{height:8px;border-radius:999px;background:#e8efeb;overflow:hidden}.budget-usage-bar span{display:block;height:100%;border-radius:inherit}.budget-usage-bar .good{background:#2f8a5f}.budget-usage-bar .caution{background:#d8a341}.budget-usage-bar .over{background:#c1666b}.budget-flag{justify-self:start;border-radius:6px;padding:3px 8px;font-weight:800;font-size:.84rem}.budget-flag.good{background:#dceee5;color:#24533e}.budget-flag.caution{background:#fff0c9;color:#73510f}.budget-flag.over{background:#ffe0df;color:#8a3030}.finance-dashboard-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.85fr);gap:18px;align-items:start}.finance-dashboard-composed{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(340px,.75fr);gap:18px;align-items:start}.finance-dashboard-main,.finance-dashboard-side,.stack-list{display:grid;gap:14px}.finance-dashboard-side{position:sticky;top:84px}.finance-hero-card{min-height:340px}.finance-hero-value{font-size:clamp(1.8rem,4vw,2.8rem);letter-spacing:0}.finance-split-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.75fr);gap:18px;align-items:start}.investment-account-detail-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.85fr)}.investment-card-list{display:grid;gap:14px}.investment-mobile-card{display:grid;gap:10px}.investment-account-allocation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.investment-allocation-card{display:grid;gap:14px}.investment-allocation-card-body{display:grid;grid-template-columns:minmax(180px,.9fr) minmax(0,1.1fr);gap:16px;align-items:center}.investment-allocation-chart{min-height:220px}.investment-allocation-legend{display:grid;gap:10px}.investment-allocation-legend-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.investment-allocation-legend-row:last-child{border-bottom:0;padding-bottom:0}.investment-allocation-label{display:inline-flex;align-items:center;gap:10px;min-width:0}.investment-allocation-label strong{font-size:.95rem}.investment-allocation-swatch{width:10px;height:10px;border-radius:999px;flex:0 0 auto}.investment-allocation-values{display:grid;justify-items:end;gap:2px;text-align:right}.investment-allocation-values small{color:var(--muted)}.investment-allocation-footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:4px}.investment-action-stack,.investment-action-stack .btn{width:100%}.negative-badge{border-color:#e3a19d;color:#8a3030;background:#fff1f0}.compact-row,.account-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid #edf1ee}.compact-row{width:100%;border-left:0;border-right:0;border-top:0;background:transparent;text-align:left;cursor:pointer}.compact-row:hover{background:#f8faf9;margin-inline:-10px;padding-inline:10px;border-radius:8px}.compact-row.active{background:var(--surface-hover);border-radius:8px;padding-inline:10px;margin-inline:-10px}.inventory-tree-row{display:grid;gap:4px}.inventory-tree-children{display:grid;gap:4px;margin-left:18px;padding-left:12px;border-left:1px solid var(--border)}.inventory-tree-select{flex:1 1 auto;min-width:0;display:grid;gap:2px;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.inventory-tree-select:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}.inventory-tree-row>.compact-row{position:relative}.inventory-tree-select:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.inventory-tree-row .quick-actions{position:relative;z-index:1}.inventory-subnav .segmented-control{display:flex;flex-wrap:wrap;width:fit-content;max-width:100%}.compact-row:last-child,.account-row:last-child{border-bottom:0}.review-transaction-card{display:grid;gap:12px}.bulk-review-card{display:grid;gap:16px;margin-bottom:16px}.bulk-review-header,.bulk-review-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.review-transaction-select,.review-transaction-copy{display:grid;gap:4px}.review-transaction-select{justify-items:flex-start;color:var(--muted);font-size:.85rem;font-weight:700}.review-transaction-select input{width:18px;height:18px;accent-color:var(--brand)}.review-transaction-copy{min-width:0;flex:1 1 auto}.ocr-preview-image{width:100%;max-height:320px;object-fit:contain;border:1px solid var(--border);border-radius:8px;background:#f7faf8}.label-scan{display:grid;gap:10px}.label-scan p{margin:0}.label-scan-actions{display:flex;flex-wrap:wrap;gap:8px}.label-scan-actions .btn{min-height:44px}.label-scan-thumb{width:120px;height:120px;object-fit:cover;border:1px solid var(--border);border-radius:8px}.label-scan-text summary{cursor:pointer;font-weight:700;color:var(--muted)}.label-scan-text summary:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}.label-scan-text pre{margin:8px 0 0;max-height:200px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.8rem;padding:8px;border-radius:8px;background:var(--surface);color:var(--text)}.barcode-video{width:100%;max-height:260px;object-fit:cover;border-radius:8px;background:#000}.habit-history-toolbar{display:grid;gap:12px;margin-bottom:16px}.habit-today{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;align-items:start}.habit-hero{display:grid;justify-items:center;gap:12px;text-align:center}.habit-hero-stats{margin:0;font-size:.9rem}.habit-hero-title{display:none}.habit-first{display:grid;gap:12px;max-width:560px;justify-items:start}.habit-first>strong{font-size:1.15rem}.habit-first>p,.habit-first .chips{margin:0}.habit-ring.is-live{transition:--ring-pct .24s ease-out}.habit-week-strip{display:flex;gap:6px;margin:4px 0 12px}.habit-week-dot{width:10px;height:10px;border-radius:999px;border:2px solid var(--border-strong);background:transparent}.habit-week-dot.done,.habit-week-dot.clean{background:var(--brand);border-color:var(--brand)}.habit-week-dot.slip{background:var(--coral);border-color:var(--coral)}.habit-week-dot.today{border-color:var(--brand)}.habit-week-dot.unscheduled{border-color:var(--border);opacity:.6}.habit-heatmap-stats{display:flex;flex-wrap:wrap;gap:24px 32px;padding-bottom:16px;border-bottom:1px solid var(--border)}.habit-heatmap-stats p{margin:0}.habit-heatmap{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:16px;max-width:560px}.habit-heatmap-weekday{text-align:center;font-size:.78rem;font-weight:750;color:var(--muted);text-transform:uppercase;padding-bottom:4px}.habit-heatmap-cell{aspect-ratio:1;min-height:36px;border:1px solid var(--border);border-radius:8px;background:var(--surface-soft);padding:0;display:grid;place-items:center;width:100%;font-weight:700;font-size:.9rem;color:inherit;cursor:pointer}.habit-heatmap-cell:disabled{cursor:default;opacity:.55}.habit-heatmap-cell:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.habit-heatmap-cell.scheduled{border-color:var(--border-strong)}.habit-heatmap-cell.fill-1{background:color-mix(in srgb,var(--brand) 25%,var(--surface));border-color:transparent}.habit-heatmap-cell.fill-2,.habit-heatmap-cell.clean{background:color-mix(in srgb,var(--brand) 45%,var(--surface));border-color:transparent}.habit-heatmap-cell.fill-3{background:color-mix(in srgb,var(--brand) 70%,var(--surface));border-color:transparent}.habit-heatmap-cell.slip{background:color-mix(in srgb,var(--coral) 35%,var(--surface));border-color:transparent}.habit-heatmap-cell.today{outline:2px solid var(--brand);outline-offset:0}.habit-heatmap-cell.future,.habit-heatmap-cell.future:disabled{border-color:transparent;background:transparent;opacity:1}.habit-group+.habit-group{margin-top:24px}.habit-group-title{margin:0 0 4px;font-size:.8rem;font-weight:800;color:var(--muted);text-transform:uppercase}.habit-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.habit-row:last-child{border-bottom:0}.habit-row.is-done .habit-row-main strong{color:var(--muted)}.habit-row-main{display:grid;gap:2px;min-width:0}.habit-row-main strong,.habit-row-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.habit-row-main span{font-size:.85rem}.habit-row-aside{display:flex;align-items:center;gap:8px}.habit-row .habit-week-strip{margin:0}.habit-row-streak{font-weight:750;font-variant-numeric:tabular-nums;min-width:3ch;text-align:right}.habit-count{font-weight:750;font-variant-numeric:tabular-nums}.habit-step{width:32px;min-height:32px;padding:0}.habit-check{width:44px;height:44px;padding:0;border-radius:999px;border:2px solid var(--border-strong);background:transparent;color:var(--surface);display:grid;place-items:center;cursor:pointer;transition:background .12s ease-out,border-color .12s ease-out}.habit-check[aria-pressed=true]{background:var(--brand);border-color:var(--brand);animation:habit-check-in .16s ease-out}@keyframes habit-check-in{0%{transform:scale(.8)}to{transform:scale(1)}}.habit-check:hover:not(:disabled){border-color:var(--brand)}.habit-check:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.habit-check:disabled{cursor:default}.habit-check:disabled[aria-pressed=false]{opacity:.6}.habit-list-row>span:first-child{flex:1 1 auto}.habit-list-meta{display:grid;justify-items:end;gap:2px;text-align:right;flex:0 0 auto}.habit-more summary{cursor:pointer;font-weight:750;color:var(--muted);padding:4px 0}.habit-more summary:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}.habit-more-fields{display:grid;gap:14px;margin-top:12px}@media(pointer:coarse){.habit-step{width:44px;min-height:44px}}.compact-row span,.account-row div:first-child{display:grid;gap:2px}.compact-row small{color:#6d7a75}.account-row-actions{display:flex;align-items:center;gap:12px;justify-content:flex-end}.positive{color:var(--brand)}.negative{color:var(--danger)}.warning-text{color:#8a6519}.metric-row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #edf1ee}.metric-row:last-child{border-bottom:0}.warning-pill{display:inline-flex;align-items:center;gap:6px;border:1px solid #e2bf75;background:#fff7e8;color:#755312;border-radius:8px;padding:6px 8px;font-weight:800;cursor:pointer}.warning-pill:hover{background:#ffefc2}.customize-grid,.customize-list{display:grid;gap:12px;margin-top:18px}.customize-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.customize-row{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border:1px solid #dce4df;border-radius:8px;padding:14px;font-weight:800}.customize-row input{width:18px;height:18px;accent-color:#e05c3f}.customize-row.draggable{cursor:grab;-webkit-user-select:none;user-select:none}.customize-row.draggable:hover{border-color:var(--border-strong);background:#fbfcfb}.customize-row.is-dragging{opacity:.55;border-style:dashed;box-shadow:none}.nav-settings-list{display:grid;gap:10px}.nav-settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #dce4df;border-radius:8px;padding:14px;background:#fff}.nav-settings-row:hover{border-color:var(--border-strong);background:#fbfcfb}.nav-settings-row.is-dragging{opacity:.55;border-style:dashed}.nav-settings-group,.nav-settings-actions,.nav-settings-nested,.nav-settings-nested-copy{display:grid;gap:10px}.nav-settings-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.nav-settings-toggle{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;min-height:36px;padding:0 12px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-weight:750}.nav-settings-toggle:hover{background:var(--surface-hover);border-color:var(--border-strong)}.nav-settings-chevron{transition:transform .18s ease}.nav-settings-chevron.open{transform:rotate(180deg)}.nav-settings-nested{margin:-2px 0 4px 32px;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--surface-soft)}.nav-settings-nested-copy small{color:var(--muted)}.nav-settings-sublist{margin-top:4px}.nav-settings-row-sub{background:var(--surface)}.nav-settings-copy{display:flex;align-items:center;gap:12px;min-width:0}.nav-settings-copy div{display:grid;gap:2px;min-width:0}.nav-settings-copy small{color:var(--muted)}.drag-handle{color:var(--muted);letter-spacing:0;cursor:grab;font-weight:900}.switch-row{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-weight:800}.theme-settings-row{display:flex;align-items:center;justify-content:space-between;gap:18px}.finance-dashboard-custom-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.dashboard-widget.wide{grid-column:1 / -1}.dashboard-widget .section{margin-top:0}.category-bar-list{display:grid;gap:12px}.category-bar-row{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(180px,1.4fr) minmax(130px,auto);gap:14px;align-items:center}.category-bar{height:28px;border-radius:8px;background:#edf1ee;overflow:hidden}.category-bar span{display:block;height:100%;border-radius:inherit}.category-bar.income span{background:#bfe5cf}.category-bar.expense span{background:#f4c2c5}.cashflow-bands-card{overflow:hidden}.cashflow-bands{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:14px}.flow-band{min-width:160px;max-width:100%;display:flex;justify-content:space-between;gap:12px;align-items:center;border-radius:8px;padding:12px 14px;margin-top:10px;font-weight:800}.flow-band.income{background:#dff2e7;color:#24533e}.flow-band.expense{background:#fde4e5;color:#7c3035}.import-help-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin-top:12px}.import-help-grid span{background:#f3f6f4;border:1px solid #dce4df;border-radius:8px;padding:8px 10px;color:#40524c;font-weight:700}.collapsed{grid-template-columns:76px 1fr}.collapsed .sidebar span,.collapsed .brand span,.collapsed .accordion-chevron{display:none}.workspace{min-width:0}.topbar{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid var(--border);background:#ffffffe0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:5}.mobile-topbar,.mobile-bottom-nav,.mobile-nav-backdrop{display:none}.home-control{border:0;background:transparent;font-weight:800;cursor:pointer}.topbar-right,.quick-actions,.page-actions,.inline{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.icon-btn{border:1px solid var(--border);border-radius:8px;background:var(--surface);height:38px;width:38px;display:grid;place-items:center;cursor:pointer}.icon-btn:hover{background:var(--surface-hover)}.page{max-width:1560px;margin:0 auto;padding:28px 32px 48px}.page-header,.section-header,.card-title-row{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.page h1{font-size:clamp(1.7rem,3vw,2.35rem);line-height:1.05;margin-bottom:6px;letter-spacing:0}.eyebrow{color:var(--brand);text-transform:uppercase;font-weight:850;font-size:.74rem;margin-bottom:6px}.section{margin-top:24px}.section h2{margin-bottom:4px}.section-header p,.muted{color:var(--muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:18px;box-shadow:var(--shadow-sm);min-width:0}.card:hover{box-shadow:var(--shadow-md)}.widget-card{padding:20px}.widget-card .card-title-row h2{margin-bottom:2px}.kpi-card{min-height:126px;display:grid;align-content:start}.cards{align-items:stretch}.card-image{width:100%;max-height:160px;object-fit:cover;border-radius:8px;margin-bottom:12px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.kpi-grid.home-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-kpi-grid>a{display:grid}.home-rows>a{display:block;border-radius:8px}.home-rows>a:not(:last-child)>.list-row{border-bottom:1px solid var(--border)}.home-rows>a:hover>.list-row,.home-rows>a:focus-visible>.list-row{background:var(--surface-hover);margin-inline:-10px;padding-inline:10px;border-radius:8px}.home-cashflow .recharts-cartesian-grid line,.health-chart .recharts-cartesian-grid line,.home-cashflow .recharts-cartesian-axis-line,.health-chart .recharts-cartesian-axis-line,.home-cashflow .recharts-cartesian-axis-tick-line,.health-chart .recharts-cartesian-axis-tick-line{stroke:var(--border)}.home-cashflow .recharts-cartesian-axis-tick-value,.health-chart .recharts-cartesian-axis-tick-value{fill:var(--muted)}.home-cashflow .recharts-tooltip-cursor,.health-chart .recharts-tooltip-cursor{fill:var(--surface-hover)}.health-chart{margin-bottom:14px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:20px;align-items:start}.finance-mini-chart-grid{display:grid;grid-template-columns:repeat(5,minmax(220px,1fr));gap:14px;align-items:start;overflow-x:auto}.car-dashboard-grid{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:22px;align-items:start}.car-sidebar{display:grid;gap:16px;align-content:start}.car-main{min-width:0}.car-kpi-stack,.car-list{display:grid;gap:14px}.circular-metric-card{display:grid;place-items:center;min-height:220px}@property --ring-pct{syntax: "<percentage>"; inherits: false; initial-value: 0%;}.circular-metric{width:min(172px,100%);aspect-ratio:1;border-radius:999px;display:grid;place-items:center;align-content:center;gap:4px;text-align:center;background:radial-gradient(circle at center,var(--surface) 0 58%,transparent 59%),conic-gradient(var(--ring-color, var(--brand)) 0 var(--ring-pct),var(--surface-soft) var(--ring-pct) 100%);border:1px solid var(--border)}.circular-metric strong{font-size:1.9rem;line-height:1}.circular-metric span{color:var(--muted);font-weight:800;font-size:.82rem;max-width:118px}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}.kpi-label{color:var(--muted);margin-bottom:4px;font-size:.83rem;font-weight:750;text-transform:uppercase}.kpi-value{display:block;font-size:2rem;line-height:1.1;letter-spacing:0}.btn{border:1px solid transparent;border-radius:8px;padding:9px 13px;cursor:pointer;display:inline-flex;gap:8px;align-items:center;justify-content:center;min-height:38px;font-weight:750;transition:background .16s ease,border-color .16s ease,transform .16s ease}.btn:hover{filter:brightness(.98)}.btn.primary{background:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand-strong)}.btn.secondary{background:var(--surface);border-color:var(--border);color:#24302d}.btn.secondary:hover{background:var(--surface-hover);border-color:var(--border-strong)}.btn.ghost{background:transparent;color:#24302d;padding:8px}.btn:disabled{opacity:.6;cursor:wait}.filter-bar{display:flex;gap:10px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:16px;box-shadow:var(--shadow-sm)}.filter-bar .input{flex:1 1 180px;min-width:160px}.input{width:100%;border:1px solid var(--border-strong);border-radius:8px;padding:10px 12px;background:var(--surface);color:var(--text)}.input:focus{outline:2px solid rgba(47,125,98,.18);border-color:var(--brand)}.year-input{max-width:110px}.textarea{min-height:110px;resize:vertical}.field{display:grid;gap:6px;font-weight:700;color:#394641}.field span{font-size:.9rem}.form{display:grid;gap:14px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.workout-exercise{display:grid;gap:10px;margin:0;padding:12px;border:1px solid var(--border);border-radius:8px}.workout-exercise legend{padding:0 6px;font-weight:700}.workout-progress{padding:10px 0;border-bottom:1px solid var(--border)}.workout-progress:last-of-type{border-bottom:0}.workout-progress summary{cursor:pointer}.workout-progress ul{margin:8px 0 0;padding-left:20px;color:var(--muted)}.checkbox-row{display:flex;gap:10px;align-items:flex-start;color:#40524c;font-weight:700}.checkbox-row input{width:18px;height:18px;accent-color:#2f5d50}.checkbox-row small{display:block;color:var(--muted);font-weight:600;margin-top:2px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1f272557;display:grid;place-items:center;padding:20px;z-index:20;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{width:min(760px,100%);max-height:min(90vh,900px);overflow:auto;background:var(--surface);border-radius:8px;border:1px solid var(--border);padding:20px;box-shadow:0 24px 70px #1f272538}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.chip,.badge{border:1px solid #cfdbd3;background:var(--surface-hover);color:#345249;border-radius:999px;padding:3px 9px;font-size:.82rem;font-weight:750}.chip{cursor:pointer}.relation-row{margin-top:12px}.empty{color:#6d7a75}.error{border-color:#d68f8f;background:#fff6f6}.danger-zone{border-color:#e3a19d;background:#fff7f6;display:grid;gap:12px}.danger-zone strong{color:#8a3030}.quick-links{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.quick-links a{background:#fff;border:1px solid #dce4df;border-radius:8px;padding:10px 12px}.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-sm)}table{width:100%;border-collapse:collapse;min-width:680px}th,td{padding:12px 14px;text-align:left;border-bottom:1px solid #edf1ee}tbody tr:hover{background:#f8faf9}th{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:0}.list-row{width:100%;border:0;background:transparent;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;text-align:left;border-bottom:1px solid #edf1ee;color:inherit}.list-row:last-child{border-bottom:0}.list-row span:first-child{display:grid;gap:2px;min-width:0}.list-row small{color:var(--muted)}button.list-row{cursor:pointer}button.list-row:hover{background:#f8faf9;margin-inline:-10px;padding-inline:10px;border-radius:8px}.list-row>button.list-row{border-bottom:0;padding-block:0;min-width:0}.investment-account-select-card{transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.investment-account-select-card.selected{border-color:var(--brand);box-shadow:0 0 0 1px color-mix(in srgb,var(--brand) 35%,transparent);background:color-mix(in srgb,var(--brand) 6%,var(--surface))}.list-row.selected{margin-inline:-10px;padding-inline:10px;border-radius:8px;background:color-mix(in srgb,var(--brand) 10%,var(--surface))}.investment-account-select-meta{display:grid;justify-items:end;gap:4px;text-align:right;flex:0 0 auto}.investment-account-select-meta small{color:var(--brand);font-weight:800;text-transform:uppercase;letter-spacing:.02em}.progress-bar{height:8px;border-radius:999px;overflow:hidden;background:#e8efeb}.progress-bar span{display:block;height:100%;border-radius:inherit}.progress-bar .good{background:var(--brand)}.progress-bar .caution{background:var(--yellow)}.progress-bar .over{background:var(--danger)}.segmented-control{display:inline-flex;gap:4px;padding:4px;border-radius:8px;background:var(--surface-soft);border:1px solid var(--border)}.segmented-control button{border:0;background:transparent;border-radius:6px;padding:8px 11px;cursor:pointer;font-weight:750;color:var(--muted)}.segmented-control button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.period-picker{display:inline-flex;align-items:center;gap:4px;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-sm)}.period-picker .input{border:0;min-height:34px;padding:7px 28px 7px 10px;background:transparent;font-weight:800;width:auto;min-width:112px}.period-picker .input:focus{outline:0;background:var(--surface-soft)}.period-nav-btn,.period-shortcut{border:0;border-radius:6px;background:transparent;color:var(--muted);min-height:34px;padding:0 10px;cursor:pointer;font-weight:900}.period-nav-btn{font-size:1.25rem;line-height:1;min-width:34px}.period-shortcut{border-left:1px solid var(--border);border-radius:0 6px 6px 0;font-size:.9rem}.period-nav-btn:hover,.period-shortcut:hover{background:var(--surface-hover);color:var(--text)}.year-picker .input{min-width:92px}progress{width:100%;height:10px;accent-color:#52796f}.kanban{display:grid;grid-template-columns:repeat(5,minmax(180px,1fr));gap:12px;overflow-x:auto}.kanban-col{display:grid;align-content:start;gap:10px;background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;padding:12px;min-height:220px}.kanban-col h3{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0}.kanban-col .list-row{border-bottom-color:var(--border);padding-top:0}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:18px 0;padding:4px;background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;width:fit-content}.tabs button{border:0;background:transparent;border-radius:6px;padding:9px 12px;cursor:pointer;color:var(--muted);font-weight:800}.tabs button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.notice{color:#40524c;background:#f4f8f5}.calculator-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.compact{margin-top:12px}.results-strip{margin:24px 0 8px}.check-row{display:flex;gap:8px;align-items:center;font-weight:700;margin-bottom:10px;color:#52796f}.comparison-table{margin-top:18px}.ordered-list{margin:0;padding-left:20px}.ordered-list li{margin:6px 0}.planning-subnav{display:flex;gap:6px;flex-wrap:wrap;padding:6px;margin:4px 0 22px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-sm)}.planning-subnav a{padding:9px 11px;border-radius:8px;color:var(--muted);font-weight:750;font-size:.92rem}.planning-subnav a.active,.planning-subnav a:hover{background:var(--surface-hover);color:var(--text)}.planning-card{display:grid;gap:12px}.planning-card.is-done{opacity:.72}.planning-card.review-due{border-color:#84a98c;box-shadow:0 0 0 2px #84a98c29}.planning-meta{display:flex;gap:8px;flex-wrap:wrap;color:#66736e;font-size:.88rem}.planning-meta span,.goal-relations span{background:#f3f6f4;border:1px solid #dce4df;border-radius:999px;padding:3px 9px}.goal-relations{display:flex;gap:8px;flex-wrap:wrap;font-weight:800;color:#345249}.goal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}.goal-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.goal-tabs button{border:1px solid #d8e1db;background:#fff;border-radius:8px;padding:10px 12px;cursor:pointer;font-weight:800;color:#52615c}.goal-tabs button.active{background:#2f5d50;color:#fff;border-color:#2f5d50}.planning-filter-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;background:#fff;border:1px solid #dce4df;border-radius:8px;padding:12px;margin-bottom:16px}.planning-empty{display:grid;gap:8px;justify-items:start;margin-top:12px}.planning-focus-banner{background:#f4f8f5;border:1px solid #dce4df;border-radius:8px;padding:14px 16px;color:#40524c;font-weight:800;margin-bottom:18px}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(128px,1fr));gap:12px;overflow-x:auto}.mini-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid #edf1ee}.mini-row:last-child{border-bottom:0}.mini-row span{color:#6d7a75;font-size:.88rem;white-space:nowrap}.week-grid .mini-row{grid-template-columns:minmax(0,1fr);gap:2px}.week-grid .mini-row span{white-space:normal}.planning-meta .overdue{color:var(--danger);border-color:var(--danger)}.buy-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;padding:12px 0;border-bottom:1px solid #edf1ee}.buy-row:last-child{border-bottom:0}.store-group{margin-bottom:14px}.priority-urgent{background:#fff1f0;border-color:#e3a19d;color:#8a3030}.priority-high{background:#fff7e8;border-color:#e2bf75;color:#755312}.priority-medium{background:#edf4ef;border-color:#cfdbd3;color:#345249}.priority-low{background:#f3f6f4;border-color:#dce4df;color:#52615c}.travel-layout{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:22px;align-items:start;margin-top:20px}.travel-sidebar{display:grid;gap:16px;align-content:start;position:sticky;top:84px}.travel-main,.travel-side-stack,.travel-day-stack,.travel-trip-list{display:grid;gap:14px}.travel-main .section:first-child,.travel-sidebar .section:first-child{margin-top:0}.travel-trip-button{display:grid;gap:2px;width:100%;border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:13px;text-align:left;cursor:pointer;color:var(--text)}.travel-trip-button:hover,.travel-trip-button.active{background:var(--surface-hover);border-color:var(--border-strong)}.travel-trip-button span,.travel-trip-button small{color:var(--muted)}.travel-overview-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.55fr);gap:18px;align-items:start;background:linear-gradient(135deg,#fff,#f5faf7)}.travel-overview-copy h2{font-size:clamp(1.4rem,2.2vw,2rem);margin-bottom:12px;letter-spacing:0}.travel-overview-copy p:not(.eyebrow){display:flex;align-items:center;gap:8px;color:#40524c;margin-bottom:6px}.travel-overview-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.travel-command-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.travel-command-card{display:grid;gap:8px;align-content:start;min-height:158px}.travel-command-card>svg{color:var(--brand)}.travel-command-card span{color:var(--muted)}.travel-content-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:20px;align-items:start}.travel-empty-state-card{display:grid;gap:10px;min-height:160px;align-content:start}.travel-empty-state-card h2{margin-bottom:0;font-size:clamp(1.3rem,2.4vw,1.8rem)}.travel-day-filter-shell{display:grid;gap:12px;margin-bottom:2px}.travel-day-filter-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.travel-day-filter-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.travel-day-filter-button{width:100%;border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:12px 14px;display:grid;gap:4px;text-align:left;color:var(--text);cursor:pointer}.travel-day-filter-button:hover{background:var(--surface-hover);border-color:var(--border-strong)}.travel-day-filter-button.active{background:var(--surface-hover);border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.travel-day-filter-button small{color:var(--muted)}.travel-day-filter-shell{border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:12px}.travel-day-filter-header{align-items:end}.travel-day-filter-header .field{min-width:150px}.travel-day-filter-bar{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.travel-day-filter-button{width:auto;min-width:108px;max-width:132px;padding:8px 10px;flex:0 0 auto}.travel-day-filter-button strong,.travel-day-filter-button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.travel-selected-day{min-width:min(260px,100%);display:grid;gap:2px}.travel-selected-day span{color:var(--muted);font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.travel-map-filter{max-width:220px;margin-bottom:12px}.travel-day-card h3{margin-bottom:8px;font-size:1rem}.travel-day-route{margin:-4px 0 0;color:var(--brand);font-weight:700}.travel-day-card-rich,.travel-map-card,.travel-stop-list,.travel-stop-main,.travel-stop-meta,.travel-day-summary-grid,.travel-section-inline-header,.travel-stack-list,.travel-booking-row,.travel-inline-actions,.travel-day-header,.travel-day-actions,.travel-chip-row{display:grid;gap:12px}.travel-chip-row{grid-template-columns:repeat(auto-fit,minmax(96px,max-content));align-items:start}.travel-day-header,.travel-section-inline-header,.travel-booking-row{grid-template-columns:minmax(0,1fr) auto;align-items:start}.travel-day-actions,.travel-inline-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px}.travel-day-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.travel-metric-pill{border:1px solid var(--border);border-radius:8px;padding:10px 12px;background:#f8fbf9;display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start}.travel-metric-pill small{color:var(--muted);display:block;margin-bottom:2px}.travel-metric-pill-icon{width:28px;height:28px;border-radius:8px;background:#edf4ef;border:1px solid #dce4df;display:inline-grid;place-items:center;color:var(--brand)}.travel-map-card{margin-top:4px}.travel-map-frame{width:100%;min-height:260px;border:1px solid var(--border);border-radius:8px;background:#f3f6f4}.travel-map-link{color:var(--brand);font-weight:700;text-decoration:none}.travel-map-link:hover{text-decoration:underline}.travel-map-empty{border:1px dashed #cad7cf;border-radius:8px;background:#f8fbf9;padding:14px;color:var(--muted)}.travel-route-map-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.travel-route-map-header p{margin-bottom:0}.travel-trip-nav,.travel-view-tabs{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:14px 0 18px}.travel-trip-nav{position:sticky;top:76px;z-index:4;background:#f7f8f7e6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:8px;padding:8px}.travel-trip-nav button,.travel-view-tabs button{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:8px;min-height:36px;padding:0 12px;cursor:pointer;font-weight:800}.travel-trip-nav button:hover,.travel-trip-nav button.active,.travel-view-tabs button:hover,.travel-view-tabs button.active{background:var(--surface-hover);border-color:var(--brand);color:var(--text)}.travel-sync-state{margin:0 0 12px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--muted);font-weight:700}.travel-segment-headline{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.travel-readiness-missing{margin:6px 0 0;padding-left:18px;display:grid;gap:2px;color:var(--muted)}.travel-journal-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.travel-journal-controls input{flex:1 1 220px;min-width:0}.travel-journal-entry{padding:10px 0;border-bottom:1px solid var(--border)}.travel-journal-entry:last-child{border-bottom:none}.travel-journal-entry-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.travel-journal-entry-head>div:first-child{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-width:0}.travel-journal-body{margin:6px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.growth-journal-body{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text)}.growth-journal .list-row .growth-journal-body{display:block}.growth-journal .list-row .growth-journal-body.is-clamped{display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.growth-journal .list-row,.growth-audits .list-row{border-bottom-color:var(--border);padding-top:0}.growth-audits{gap:12px}.growth-audits .card p{margin:8px 0 0}.growth-audits .list-row .growth-scores{display:flex;flex-wrap:wrap;gap:2px 14px}.growth-audits .list-row .growth-score,.growth-audits .list-row .growth-score span{display:inline}.growth-delta-up{color:var(--brand);font-weight:750}.growth-delta-down{color:var(--danger);font-weight:750}.entity-note-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start;padding:10px 0;border-bottom:1px solid var(--border);color:inherit;text-decoration:none}.entity-note-row:last-child{border-bottom:none}.entity-note-row:hover strong{color:var(--brand)}.entity-note-icon{color:var(--muted);display:inline-flex;padding-top:2px}.entity-note-body{display:grid;gap:2px;min-width:0}.entity-note-body small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notes-search{display:flex;gap:8px;align-items:center;margin-bottom:12px}.notes-search .field{flex:1 1 auto;min-width:0}.notes-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:12px}.notes-list .quick-actions{margin-bottom:12px}button.chip{min-height:32px;display:inline-flex;align-items:center;transition:background .12s ease,border-color .12s ease}.notes-list .chip[aria-pressed=true]{background:color-mix(in srgb,var(--brand) 14%,var(--surface));border-color:var(--brand);color:var(--text)}.chip:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.notes-group+.notes-group{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.notes-group-heading,.note-editor-group h3{margin:0 0 4px;font-size:.8rem;font-weight:800;color:var(--muted);text-transform:uppercase}.note-editor{display:grid;gap:24px}.note-editor.with-rail{grid-template-columns:minmax(0,1fr) 320px;gap:32px;align-items:start}.note-editor-main{display:grid;gap:16px;min-width:0}.note-editor-context{min-width:0}.note-editor .field{display:block;font-weight:inherit;color:inherit}.note-editor-top{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.note-editor-top .field{flex:1 1 auto;min-width:0}.note-editor-state{font-size:.82rem;white-space:nowrap}.note-editor .note-editor-title .input,.note-editor .note-editor-body .input{border:0;border-radius:0;background:transparent;margin-left:-12px;padding:0 0 0 12px;width:calc(100% + 12px)}.note-editor .note-editor-title .input{font-size:1.9rem;font-weight:800;line-height:1.2}.note-editor .note-editor-body .input{font-size:1.05rem;line-height:1.65;font-weight:400;max-width:calc(68ch + 12px);min-height:50vh;field-sizing:content;resize:none}.note-editor .note-editor-title .input:focus,.note-editor .note-editor-body .input:focus,.note-editor .note-editor-tags .input:focus{outline:0;box-shadow:inset 3px 0 0 var(--brand)}.note-editor-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.note-editor .note-editor-type .input{width:auto;border-radius:999px;padding:4px 28px 4px 12px;font-size:.82rem;font-weight:750;background:var(--surface-soft)}.note-editor-tags{flex:1 1 160px;min-width:0}.note-editor .note-editor-tags .input{border:0;border-radius:0;background:transparent;padding:6px 12px;font-weight:500}.note-icon-btn{border:0;background:transparent;color:var(--muted);width:38px;height:38px;border-radius:8px;display:inline-grid;place-items:center;cursor:pointer;transition:background .12s ease,color .12s ease}.note-icon-btn:hover{background:var(--surface-hover);color:var(--text)}.note-icon-btn[aria-pressed=true]{color:var(--brand)}.note-icon-btn.danger{color:var(--danger)}.note-icon-btn:disabled{opacity:.6;cursor:wait}.note-icon-btn:focus-visible,.notes-search .btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.note-editor-slash{display:flex;gap:8px;overflow-x:auto;padding:4px 0;scrollbar-width:none}.note-editor-slash::-webkit-scrollbar{display:none}.note-editor-slash .chip{flex:0 0 auto;white-space:nowrap}.note-editor-slash .chip .muted{margin-left:4px;font-weight:500}@media(max-width:1099px){.note-editor-slash{position:sticky;bottom:calc(100px + env(safe-area-inset-bottom));z-index:8;padding:8px 0;background:var(--bg)}}.note-editor-view{margin-left:auto}.note-editor-count{font-size:.82rem;white-space:nowrap}.note-reading{max-width:68ch;font-size:1.05rem;line-height:1.65;min-height:50vh}.note-reading>*+*{margin-top:.8em}.note-reading h1,.note-reading h2,.note-reading h3{line-height:1.25;margin-bottom:0}.note-reading h1{font-size:1.6rem}.note-reading h2{font-size:1.3rem}.note-reading h3{font-size:1.1rem}.note-reading p,.note-reading blockquote{white-space:pre-wrap;margin-bottom:0}.note-reading blockquote{margin-left:0;padding-left:12px;border-left:3px solid var(--border-strong);color:var(--muted)}.note-reading pre{overflow-x:auto;padding:12px;border-radius:8px;background:var(--surface-soft);border:1px solid var(--border);font-size:.9em}.note-reading pre code{background:transparent;border:0;padding:0}.note-reading table{min-width:0;font-size:.95em}.note-reading ul,.note-reading ol{padding-left:1.4em}.note-reading li+li{margin-top:.2em}.note-reading-check{list-style:none;margin-left:-1.4em}.note-reading-check label{display:flex;align-items:baseline;gap:10px;cursor:pointer}.note-reading-check input{width:18px;height:18px;flex:0 0 auto;accent-color:var(--brand)}.note-reading-link{border:0;padding:0;background:transparent;color:var(--brand);font:inherit;cursor:pointer;text-decoration:underline}.note-reading-link:focus-visible,.note-reading a:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.note-reading .chip{font-size:.8em;vertical-align:1px}.note-reading-img{display:block;max-width:100%;height:auto;border-radius:8px}.note-add-image{cursor:pointer;position:relative}.note-add-image:has(input:focus-visible){outline:2px solid var(--brand);outline-offset:2px}.note-uploads{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:.85rem;color:var(--muted)}.note-uploads li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.note-uploads .btn{min-height:28px;padding:2px 8px;font-size:.82rem}.note-image-row{gap:10px}.note-image-thumb{flex:0 0 auto;width:40px;height:40px;object-fit:cover;border-radius:6px;border:1px solid var(--border);background:var(--surface-soft)}.note-image-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:root[data-theme=dark] .note-reading code{background:var(--surface-soft);border-color:var(--border);color:var(--text)}.note-editor-rail{display:grid;border-top:1px solid var(--border)}.note-editor-rail details{padding:12px 0;border-bottom:1px solid var(--border)}.note-editor-rail summary{display:flex;align-items:center;justify-content:space-between;gap:8px;list-style:none;cursor:pointer;border-radius:6px;font-size:.8rem;font-weight:800;color:var(--muted);text-transform:uppercase}.note-editor-rail summary::-webkit-details-marker{display:none}.note-editor-rail summary:hover{color:var(--text)}.note-editor-rail summary:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.note-editor-rail details[open]>summary{margin-bottom:8px}.note-editor-context .tab-strip{margin-bottom:16px}.note-editor-panel{display:grid;gap:8px}.note-editor-panel>p.muted:first-child{margin:0}.daily-tab{display:grid;gap:16px}.daily-picker{justify-self:start}.daily-picker-date{min-width:150px;padding:0 8px;text-align:center;font-weight:800;font-variant-numeric:tabular-nums}.daily-picker .period-shortcut:disabled{background:transparent;color:var(--muted);opacity:.6;cursor:default}.daily-picker button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.notes-first-visit{display:grid;gap:12px;max-width:560px}.notes-first-visit>strong{font-size:1.15rem}.notes-first-visit>p{margin:0}.notes-hints{margin:0;padding:0 0 0 18px;display:grid;gap:4px;font-size:.9rem}.notes-hints code{padding:1px 6px;border-radius:6px;background:var(--surface-soft);font-size:.85em}@media(pointer:coarse){.note-icon-btn{width:44px;height:44px}button.chip,.daily-picker button{min-height:44px}.note-editor-rail summary{min-height:44px}}.travel-booking-facts{display:flex;gap:4px 16px;flex-wrap:wrap;margin:4px 0 0}.travel-booking-facts small{color:var(--muted);margin-right:4px}.travel-mode-switch{margin:14px 0 0}.travel-itinerary-status{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.travel-day-rail{display:grid;gap:8px;margin-bottom:16px}.travel-day-rail-row{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline;text-align:left;padding:10px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);cursor:pointer}.travel-day-rail-row:hover{background:var(--surface-hover);border-color:var(--brand)}.travel-day-rail-head{display:flex;gap:8px;align-items:baseline;flex:0 0 auto}.travel-day-rail-head span{color:var(--muted);font-size:.85em}.travel-day-rail-body{display:grid;gap:2px;flex:1 1 150px;min-width:0}.travel-day-rail-body span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.travel-day-rail-meta{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;color:var(--muted);font-size:.85em}.travel-day-rail-meta span{display:inline-flex;gap:4px;align-items:center}.travel-stop-warning{color:var(--danger, #b3261e);font-weight:700;margin:4px 0 0}.travel-stop-row.conflict{border-color:var(--danger, #b3261e)}.travel-trip-group{display:grid;gap:8px;margin-bottom:14px}.travel-trip-group .eyebrow{margin:0}.travel-trip-button.archived{opacity:.65}.travel-mobile-bar{display:none}.travel-today-next{margin-bottom:14px}.travel-readiness-list{display:grid;gap:10px;margin-top:14px}.travel-readiness-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,auto);gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}.travel-readiness-row:last-child{border-bottom:0}.travel-readiness-row span{display:grid;gap:2px}.travel-readiness-row small{color:var(--muted);text-transform:capitalize}.travel-stop-list{margin-top:4px}.travel-stop-shell{display:grid;gap:8px}.travel-stop-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start;border:1px solid var(--border);border-radius:8px;background:#fff;padding:12px}.travel-stop-row.dragging{opacity:.58}.travel-stop-grip{color:var(--muted);padding-top:4px;cursor:grab}.travel-stop-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.travel-stop-notes{margin:0;color:#42544e}.travel-stop-meta{grid-template-columns:repeat(auto-fit,minmax(130px,max-content));color:var(--muted);font-size:.88rem}.travel-segment-row{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:start;margin:2px 0}.travel-segment-connector{width:28px;min-height:44px;display:grid;place-items:center;color:var(--brand);font-weight:900}.travel-segment-body{border:1px dashed var(--border-strong);border-radius:8px;background:var(--surface-soft);padding:10px 12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.travel-segment-body p{margin-bottom:0}.travel-segment-map-frame{grid-column:1 / -1;width:100%;min-height:220px;border:1px solid var(--border);border-radius:8px;background:#f3f6f4}.travel-segment-editor{border:1px solid var(--border);border-radius:8px;background:var(--surface-soft);padding:0}.travel-segment-editor summary{cursor:pointer;padding:12px;display:flex;justify-content:space-between;gap:12px;align-items:center}.travel-segment-editor summary span:first-child{display:grid;gap:4px;min-width:0}.travel-segment-editor summary small{color:var(--muted);overflow-wrap:anywhere}.travel-segment-editor-body{border-top:1px solid var(--border);padding:12px;display:grid;gap:12px}.travel-budget-card{display:grid;gap:12px}.packing-row-shell{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.packing-row{width:100%;border:0;border-bottom:1px solid #edf1ee;background:transparent;display:flex;justify-content:space-between;gap:12px;padding:10px 0;text-align:left;cursor:pointer;color:inherit}.packing-row:last-child{border-bottom:0}.packing-row:hover{background:#f8faf9;margin-inline:-10px;padding-inline:10px;border-radius:8px}.packing-row span{font-weight:800}.packing-row small{color:var(--muted)}.packing-row.packed span{color:var(--muted);text-decoration:line-through}.idea-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #edf1ee}.idea-row:last-child{border-bottom:0}.idea-row span{display:grid;gap:2px;min-width:0}.idea-row small{color:var(--muted)}.vote-button{border:1px solid var(--border);background:var(--surface);border-radius:8px;min-height:34px;padding:6px 9px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-weight:800;color:#345249}.vote-button:hover{background:var(--surface-hover)}.travel-two-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.quickadd-hero{margin-top:4px}.quickadd-hero-card{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;background:linear-gradient(135deg,#fff,#f4faf6)}.quickadd-hero-card h2{margin-bottom:8px;font-size:clamp(1.35rem,2.4vw,2rem)}.quickadd-hero-meta{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.quickadd-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.quickadd-grid.single{grid-template-columns:1fr}.quickadd-tile{display:grid;gap:14px;padding:16px}.quickadd-tile-compact{min-height:128px}.quickadd-launch{width:100%;border:0;background:transparent;display:grid;gap:10px;justify-items:start;text-align:left;cursor:pointer;color:inherit;padding:0}.quickadd-launch p{margin-bottom:0;color:var(--muted)}.quickadd-icon{width:44px;height:44px;border-radius:8px;display:inline-grid;place-items:center;background:#edf4ef;border:1px solid #dce4df;color:var(--brand)}.quickadd-tile-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.quickadd-settings-card,.quickadd-settings-body,.quickadd-manage-list{display:grid;gap:14px}.quickadd-settings-toggle{width:100%;border:0;background:transparent;padding:0;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer;color:inherit}.quickadd-settings-toggle span{display:grid;gap:4px}.quickadd-settings-toggle small{color:var(--muted)}.quickadd-chevron{transition:transform .18s ease}.quickadd-chevron.open{transform:rotate(180deg)}.quickadd-manage-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #edf1ee}.quickadd-manage-row:last-child{border-bottom:0;padding-bottom:0}.quickadd-picker{display:grid;gap:12px}.quickadd-picker-row{width:100%;border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;text-align:left;color:inherit}.quickadd-picker-row:hover{background:var(--surface-hover);border-color:var(--border-strong)}.quickadd-picker-copy{display:grid;gap:4px;min-width:0}.quickadd-picker-copy strong{display:inline-flex;gap:8px;align-items:center}.quickadd-picker-copy small{color:var(--muted)}.quickadd-success{display:grid;gap:14px;justify-items:start}.quickadd-success svg{color:var(--brand)}.wishlist-top-grid{display:grid;gap:14px;margin-top:24px}.wishlist-summary-card,.wishlist-stat-list,.wishlist-lane-body{display:grid;gap:14px}.wishlist-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}.wishlist-lane{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;padding:12px;min-height:320px}.wishlist-lane-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;font-weight:800;color:var(--text)}.wishlist-lane-header span{display:inline-flex;align-items:center;gap:8px}.wishlist-card{display:grid;grid-template-columns:88px minmax(0,1fr);gap:14px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:14px;box-shadow:var(--shadow-sm)}.wishlist-card.dragging{opacity:.58}.wishlist-card-image,.wishlist-card-placeholder{width:88px;aspect-ratio:1;border-radius:8px;border:1px solid var(--border)}.wishlist-card-image{object-fit:cover;background:var(--surface-soft)}.wishlist-card-placeholder{display:grid;place-items:center;background:var(--surface-hover);font-size:1.8rem;font-weight:900;color:var(--brand)}.wishlist-card-body,.wishlist-upload-box{display:grid;gap:10px;min-width:0}.wishlist-card-header,.wishlist-card-actions,.wishlist-money-row,.wishlist-meta-row,.wishlist-card-footer{display:flex;align-items:center;gap:10px}.wishlist-card-header,.wishlist-money-row,.wishlist-meta-row,.wishlist-card-footer{justify-content:space-between}.wishlist-card-header>div:first-child{min-width:0}.wishlist-card-header strong{display:block;margin-bottom:2px}.wishlist-card-actions{flex:0 0 auto}.wishlist-card-description{color:var(--text);margin-bottom:0}.wishlist-money-row span{color:var(--muted);font-weight:700}.wishlist-meta-row{flex-wrap:wrap;font-size:.88rem;color:var(--muted)}.wishlist-meta-row a{display:inline-flex;align-items:center;gap:6px;color:var(--brand-strong);font-weight:700}.wishlist-meta-row a:hover{color:var(--brand)}.wishlist-card-footer{flex-wrap:wrap}.wishlist-drag-hint{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-weight:800;margin-left:auto}.wishlist-upload-button{position:relative;overflow:hidden}.wishlist-image-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}.wishlist-image-tile{position:relative;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface-soft);min-height:110px}.wishlist-image-tile img{width:100%;height:100%;object-fit:cover;aspect-ratio:1;display:block}.wishlist-image-tile .icon-btn{position:absolute;top:8px;right:8px;background:var(--surface)}.wishlist-savings{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.wishlist-savings .input{flex:1 1 120px;min-width:0}.wishlist-savings .auth-error{flex-basis:100%;margin:0}:root[data-theme=dark] .login,:root[data-theme=dark] code,:root[data-theme=dark] .auth-error,:root[data-theme=dark] .warning-pill,:root[data-theme=dark] .budget-fill.ok,:root[data-theme=dark] .mobile-home,:root[data-theme=dark] .mobile-topbar-context,:root[data-theme=dark] .mobile-nav-sheet,:root[data-theme=dark] .mobile-nav-header,:root[data-theme=dark] .mobile-nav-footer,:root[data-theme=dark] .budget-usage-head,:root[data-theme=dark] .budget-group-head,:root[data-theme=dark] .budget-group-summary,:root[data-theme=dark] .budget-group-row,:root[data-theme=dark] .planning-subnav,:root[data-theme=dark] .tabs,:root[data-theme=dark] .period-picker,:root[data-theme=dark] .filter-bar,:root[data-theme=dark] .table-wrap,:root[data-theme=dark] .quickadd-picker-row,:root[data-theme=dark] .travel-trip-button,:root[data-theme=dark] .travel-overview-card,:root[data-theme=dark] .customize-row,:root[data-theme=dark] .nav-settings-row,:root[data-theme=dark] .wishlist-card,:root[data-theme=dark] .planning-focus-banner,:root[data-theme=dark] .period-picker .input:focus,:root[data-theme=dark] .segmented-control button.active{background:var(--surface);color:var(--text);border-color:var(--border)}:root[data-theme=dark] .login{background:#0f1513}:root[data-theme=dark] code{background:#22302b}:root[data-theme=dark] .auth-error{background:#341e1e;border-color:#6c3939;color:#ffd4d4}:root[data-theme=dark] .mobile-topbar,:root[data-theme=dark] .topbar,:root[data-theme=dark] .mobile-bottom-nav{background:#111715eb;border-color:var(--border)}:root[data-theme=dark] .sidebar{background:var(--surface)}:root[data-theme=dark] .warning-pill{background:#382d14;border-color:#6f5921;color:#f5da94}:root[data-theme=dark] .budget-bar,:root[data-theme=dark] .budget-usage-bar,:root[data-theme=dark] .progress-bar,:root[data-theme=dark] .category-bar,:root[data-theme=dark] .travel-trip-button:hover,:root[data-theme=dark] .travel-trip-button.active,:root[data-theme=dark] .compact-row:hover,:root[data-theme=dark] tbody tr:hover,:root[data-theme=dark] button.list-row:hover,:root[data-theme=dark] .packing-row:hover,:root[data-theme=dark] .mobile-bottom-link.active{background:var(--surface-hover)}:root[data-theme=dark] .segmented-control,:root[data-theme=dark] .quickadd-icon,:root[data-theme=dark] .budget-icon,:root[data-theme=dark] .mobile-nav-logo,:root[data-theme=dark] .import-help-grid span,:root[data-theme=dark] .planning-meta span,:root[data-theme=dark] .goal-relations span,:root[data-theme=dark] .chip,:root[data-theme=dark] .badge{background:#22302b;border-color:var(--border);color:var(--text)}:root[data-theme=dark] .notice{color:var(--text);background:var(--surface-soft)}:root[data-theme=dark] .compact-row,:root[data-theme=dark] .account-row,:root[data-theme=dark] .metric-row{border-bottom-color:var(--border)}:root[data-theme=dark] .warning-text{color:var(--yellow)}:root[data-theme=dark] .habit-heatmap-cell.fill-3{background:color-mix(in srgb,var(--brand) 55%,var(--surface))}:root[data-theme=dark] .input,:root[data-theme=dark] .btn.secondary,:root[data-theme=dark] .icon-btn,:root[data-theme=dark] .nav-settings-toggle,:root[data-theme=dark] .switch-row input,:root[data-theme=dark] .quick-links a,:root[data-theme=dark] .vote-button,:root[data-theme=dark] .goal-tabs button,:root[data-theme=dark] .period-picker .input{background:var(--surface);color:var(--text);border-color:var(--border-strong)}:root[data-theme=dark] .btn.ghost,:root[data-theme=dark] .home-control,:root[data-theme=dark] .brand,:root[data-theme=dark] .mobile-home,:root[data-theme=dark] .accordion-trigger,:root[data-theme=dark] .sidebar a,:root[data-theme=dark] .mobile-nav-link,:root[data-theme=dark] .mobile-bottom-link,:root[data-theme=dark] .planning-subnav a,:root[data-theme=dark] .tabs button{color:var(--muted)}:root[data-theme=dark] .sidebar a.active,:root[data-theme=dark] .sidebar a:hover,:root[data-theme=dark] .accordion-trigger:hover,:root[data-theme=dark] .sidebar-accordion.open>.accordion-trigger,:root[data-theme=dark] .mobile-nav-link.active,:root[data-theme=dark] .mobile-nav-link:hover,:root[data-theme=dark] .planning-subnav a.active,:root[data-theme=dark] .planning-subnav a:hover,:root[data-theme=dark] .tabs button.active{color:var(--text)}:root[data-theme=dark] .empty,:root[data-theme=dark] .muted,:root[data-theme=dark] small,:root[data-theme=dark] .section-header p{color:var(--muted)}@media(max-width:1100px){.app-shell,.collapsed{grid-template-columns:1fr}.desktop-sidebar,.desktop-topbar{display:none}.workspace{padding-bottom:calc(92px + env(safe-area-inset-bottom))}.mobile-topbar{display:grid;gap:10px;position:sticky;top:0;z-index:9;padding:12px 16px 14px;background:#f7f8f7f0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid rgba(212,221,216,.92)}.mobile-topbar-row{display:grid;grid-template-columns:38px minmax(0,1fr) 38px 38px;gap:10px;align-items:center}@media(pointer:coarse){.mobile-topbar-row{grid-template-columns:44px minmax(0,1fr) 44px 44px}.mobile-topbar-row .icon-btn{width:44px;height:44px}}.mobile-home{min-width:0;border:0;border-radius:999px;background:#fff;color:var(--text);display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 16px;font-weight:850;box-shadow:var(--shadow-sm)}.mobile-home span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-topbar-context{background:linear-gradient(135deg,#fff,#f4faf6);border:1px solid #dce4df;border-radius:8px;padding:12px 14px;box-shadow:var(--shadow-sm)}.mobile-topbar-context div{display:grid;gap:2px}.mobile-topbar-context strong{font-size:1rem}.mobile-topbar-context span{color:var(--muted);font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-nav-backdrop{display:grid;position:fixed;top:0;right:0;bottom:0;left:0;bottom:calc(92px + env(safe-area-inset-bottom));z-index:25;background:#1d25225c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:16px}.mobile-nav-sheet{width:min(420px,100%);height:100%;max-height:calc(100vh - 32px);background:#fcfdfc;border:1px solid #dce4df;border-radius:8px;box-shadow:0 24px 70px #1f272538;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.mobile-nav-header,.mobile-nav-footer{padding:16px;background:#fff}.mobile-nav-header{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #edf1ee}.mobile-nav-brand{display:flex;align-items:center;gap:12px;min-width:0}.mobile-nav-brand div{display:grid;gap:2px;min-width:0}.mobile-nav-brand small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-nav-logo{width:38px;height:38px;display:grid;place-items:center;border-radius:8px;background:#edf4ef;border:1px solid #dce4df;color:var(--brand);flex:0 0 auto}.mobile-nav-list{display:grid;gap:6px;padding:14px;overflow:auto}.mobile-nav-link,.mobile-nav-accordion .accordion-trigger{min-height:52px;border-radius:8px;padding:0 14px;font-weight:750}.mobile-nav-link{display:flex;align-items:center;gap:12px;color:var(--muted)}.mobile-nav-link.active,.mobile-nav-link:hover{background:var(--surface-hover);color:var(--text)}.mobile-sidebar-subnav{margin:8px 0 10px 18px;padding-left:12px}.mobile-nav-footer{display:grid;gap:10px;border-top:1px solid #edf1ee}.mobile-nav-footer .btn{width:100%}.mobile-bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;align-items:stretch;position:fixed;left:0;right:0;bottom:0;z-index:12;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#fffffff0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:1px solid rgba(212,221,216,.94)}.mobile-bottom-link{min-width:0;border:0;border-radius:8px;background:transparent;color:var(--muted);min-height:60px;padding:8px 6px;display:grid;justify-items:center;align-content:center;gap:6px;font-weight:750;font-size:.72rem;text-align:center}.mobile-bottom-link.active{background:#edf4ef;color:var(--brand)}.mobile-bottom-link span{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page{padding:18px 18px 32px}.page-header,.section-header,.card-title-row{display:grid;gap:12px}.page-actions,.topbar-right,.quick-actions,.inline{width:100%}.page-actions>*,.inline>*{flex:1 1 auto}.theme-settings-row{display:grid}.filter-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.filter-bar .input,.filter-bar .btn,.page-actions .btn,.section-header .btn{width:100%}.dashboard-grid,.two-col,.kpi-grid,.calculator-grid,.finance-mini-chart-grid,.car-dashboard-grid,.cashflow-bands,.finance-dashboard-custom-grid,.finance-dashboard-composed,.travel-layout,.travel-overview-card,.travel-command-grid,.travel-content-grid,.travel-two-grid,.wishlist-top-grid,.wishlist-board{grid-template-columns:1fr}.kpi-grid.home-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-side-panel,.finance-dashboard-side,.travel-sidebar{position:static}.travel-main{order:1}.travel-sidebar{order:2}.travel-mobile-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;position:sticky;top:76px;z-index:5;margin-top:14px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#f7f8f7f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.travel-mobile-bar strong{display:block}.travel-mobile-bar small{color:var(--muted)}.travel-trip-nav{top:140px}.form-grid,.mini-row,.travel-overview-actions,.travel-day-summary-grid,.travel-day-header,.travel-section-inline-header,.travel-booking-row,.packing-row-shell,.travel-stop-row{grid-template-columns:1fr}.travel-day-actions,.travel-inline-actions{justify-content:flex-start}.travel-route-map-header,.travel-segment-body{grid-template-columns:1fr}.travel-map-frame{min-height:220px}.travel-day-filter-bar{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.travel-trip-nav,.travel-view-tabs{overflow-x:auto;flex-wrap:nowrap}.travel-trip-nav button,.travel-view-tabs button{flex:0 0 auto}.travel-readiness-row,.wishlist-card{grid-template-columns:1fr}.wishlist-card-image,.wishlist-card-placeholder{width:100%;max-width:132px}.quickadd-hero-card{display:grid}.quickadd-hero-meta{justify-content:flex-start}.quickadd-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quickadd-grid.single{grid-template-columns:1fr}}@media(max-width:720px){.page{padding:16px 14px 28px}.habit-today{grid-template-columns:1fr;gap:16px}.habit-hero{grid-template-columns:96px minmax(0,1fr);align-items:center;justify-items:start;text-align:left}.habit-ring{width:96px}.habit-ring strong{font-size:1.25rem}.habit-ring span{display:none}.habit-hero-title{display:block;font-size:1.15rem;margin-bottom:4px}.habit-row{grid-template-columns:44px minmax(0,1fr) auto;gap:8px}.habit-check{grid-row:1 / span 2}.habit-row-streak{grid-area:1 / 3}.habit-row-aside{grid-area:2 / 2 / 3 / -1;flex-wrap:wrap}.habit-list-row{flex-wrap:wrap;gap:4px 12px}.habit-list-row>span:first-child{flex-basis:100%}.habit-list-meta{justify-items:start;text-align:left}.filter-bar,.cards,.grid,.goal-grid,.week-grid,.customize-grid,.travel-command-grid,.quickadd-grid,.kpi-grid,.kpi-grid.home-kpi-grid{grid-template-columns:1fr}.quickadd-grid:not(.single){grid-template-columns:repeat(2,minmax(0,1fr))}.customize-row,.nav-settings-row,.wishlist-card-header,.wishlist-money-row,.wishlist-meta-row,.wishlist-card-footer,.page-header{align-items:flex-start}.travel-stop-meta,.travel-chip-row,.travel-day-filter-bar{grid-template-columns:1fr}.nav-settings-actions{width:100%;justify-content:flex-start}.nav-settings-nested{margin-left:0}.tabs,.planning-subnav{width:100%;overflow-x:auto;flex-wrap:nowrap}.finance-split-grid,.investment-account-detail-grid,.investment-account-allocation-grid,.investment-allocation-card-body{grid-template-columns:1fr}.investment-allocation-chart{min-height:200px}.investment-action-stack{display:grid;grid-template-columns:1fr}.tabs button,.planning-subnav a{white-space:nowrap;flex:0 0 auto}.mobile-bottom-link{min-height:58px;font-size:.68rem}.modal-backdrop{padding:0;align-items:end}.modal{width:100%;max-height:min(90vh,860px);border-radius:8px 8px 0 0;border-bottom:0}}.marketing-shell{min-height:100vh;background:radial-gradient(circle at top left,rgba(29,154,166,.16),transparent 32%),linear-gradient(180deg,#f7fbf9,#eef4f1);padding:24px}.marketing-hero{max-width:1180px;margin:0 auto;display:grid;gap:32px}.marketing-topbar,.marketing-hero-grid,.marketing-actions,.marketing-points,.marketing-preview-header,.setup-summary,.admin-toggle-list{display:grid;gap:16px}.marketing-topbar{grid-template-columns:1fr auto;align-items:center}.marketing-brand{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:1.05rem}.marketing-hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:center}.marketing-copy h1{margin:0;font-size:clamp(2.5rem,5vw,4.6rem);line-height:1.02}.marketing-lead,.marketing-note{max-width:62ch;color:var(--muted);font-size:1.02rem}.marketing-actions{grid-template-columns:auto 1fr;align-items:center}.marketing-points{grid-template-columns:repeat(3,minmax(0,1fr))}.marketing-points>div,.marketing-metric-row,.marketing-mini-grid,.setup-summary{display:grid;gap:10px}.marketing-points>div{grid-template-columns:18px 1fr;align-items:start;color:var(--text)}.marketing-preview{padding:20px;background:#ffffffd1;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.marketing-preview-stack{display:grid;gap:14px}.marketing-stat-card,.marketing-metric-row,.marketing-mini-grid>div,.setup-summary>div{border:1px solid var(--line);border-radius:8px;background:#f7fbf9eb;padding:14px 16px}.marketing-stat-card strong,.marketing-metric-row strong,.marketing-mini-grid strong,.setup-summary strong{display:block;margin-top:4px}.marketing-metric-row{grid-template-columns:1fr auto;align-items:center}.marketing-mini-grid,.setup-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.setup-card,.admin-toggle-list{display:grid;gap:18px}.admin-toggle-list .switch-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}.admin-toggle-list .switch-row:last-child{border-bottom:0;padding-bottom:0}.static-field{display:flex;align-items:center;min-height:48px;background:#f8fbf9;color:var(--text)}@media(max-width:900px){.marketing-shell{padding:16px}.marketing-hero-grid,.marketing-actions,.marketing-points{grid-template-columns:1fr}}.planner-entry{display:grid;gap:4px;padding:6px 0;border-bottom:1px dashed var(--border)}.planner-entry:last-child{border-bottom:0}.planner-entry .quick-actions{flex-wrap:wrap;gap:4px}.planner-entry .quick-actions .btn{padding:2px 8px;font-size:.78rem}.schedule-tabs{display:flex;align-items:center;gap:8px;margin-bottom:24px}.schedule-tabs .tab-strip{flex:1 1 auto;min-width:0;margin:0}.schedule-tabs .btn:focus-visible,.schedule-empty .btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.schedule-manage-list{display:grid;margin-bottom:12px}.schedule-card{display:grid;gap:12px}.schedule-week-nav{justify-self:start}.schedule-week-nav strong{padding:0 10px;font-size:.9rem;white-space:nowrap}.schedule-scroll{overflow:auto;max-height:min(72vh,780px);border:1px solid var(--border);border-radius:8px;background:var(--surface)}.schedule-frame{--slot-h: 14px;display:grid;grid-template-columns:56px minmax(560px,1fr);grid-template-rows:auto 1fr}.schedule-corner,.schedule-headers{position:sticky;top:0;z-index:3;background:var(--surface);border-bottom:1px solid var(--border-strong)}.schedule-corner{left:0;z-index:4;border-right:1px solid var(--border)}.schedule-headers{display:grid;grid-template-columns:repeat(7,1fr)}.schedule-day-head{padding:6px 4px;text-align:center;font-weight:800;font-size:.8rem;color:var(--muted);border-left:1px solid var(--border)}.schedule-gutter{position:sticky;left:0;z-index:2;display:grid;grid-template-rows:repeat(24,calc(var(--slot-h) * 4));background:var(--surface);border-right:1px solid var(--border)}.schedule-hour{font-size:.72rem;color:var(--muted);padding-right:6px;text-align:right;transform:translateY(-.5em)}.schedule-days{position:relative;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(96,var(--slot-h));gap:0;touch-action:pan-y}.schedule-days,.schedule-block{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none}.schedule-empty{position:sticky;top:calc(50% - 72px);z-index:2;align-self:start;justify-self:center;display:grid;gap:8px;justify-items:center;max-width:320px;margin:0 16px;padding:24px;text-align:center;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm);pointer-events:none}.schedule-empty p{margin:0}.schedule-empty .btn{pointer-events:auto}.schedule-day-col{border-left:1px solid var(--border);background:repeating-linear-gradient(to bottom,transparent,transparent calc(var(--slot-h) * 4 - 1px),var(--border) calc(var(--slot-h) * 4 - 1px),var(--border) calc(var(--slot-h) * 4))}.schedule-day-head.is-today{color:var(--brand)}.schedule-day-head.is-today:after,.schedule-day-strip .chip.is-today:after{content:"";display:inline-block;width:6px;height:6px;margin-left:6px;border-radius:50%;background:var(--brand);vertical-align:middle}.schedule-day-col.is-today{background-color:color-mix(in srgb,var(--brand) 4%,transparent)}.schedule-day-col.is-past{background-color:color-mix(in srgb,var(--muted) 5%,transparent)}.schedule-now{position:absolute;left:0;right:0;height:2px;background:var(--coral);z-index:2;pointer-events:none}.schedule-now:before{content:"";position:absolute;left:-3px;top:-2px;width:6px;height:6px;border-radius:50%;background:var(--coral)}.schedule-legend .btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.schedule-shortcuts{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:0;font-size:.9rem}.schedule-shortcuts dt{font-weight:700;white-space:nowrap}.schedule-shortcuts dd{margin:0;color:var(--muted)}.schedule-block{position:relative;z-index:1;overflow:hidden;display:block;text-align:left;min-width:0;border:1px solid var(--border-strong);border-radius:5px;padding:1px 5px;cursor:grab;touch-action:pan-y;font-size:.72rem;line-height:1.15;font-weight:700;color:var(--text);background:var(--surface-soft);transition:box-shadow .12s ease,filter .12s ease}.schedule-block:focus-visible{outline:2px solid var(--text);outline-offset:1px;z-index:2}.schedule-block:hover{filter:brightness(1.04);box-shadow:var(--shadow-sm)}.schedule-block.dragging{cursor:grabbing;box-shadow:var(--shadow-md);z-index:2;touch-action:none}.schedule-block.draft{opacity:.7;pointer-events:none;border-style:dashed}.schedule-block-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-block-subtitle{display:block;font-weight:500;white-space:pre-line}.schedule-block-time{display:block;font-weight:500;opacity:.75;white-space:nowrap}.schedule-block-date{display:inline-block;padding:0 4px;border-radius:999px;font-size:.62rem;font-weight:750;background:color-mix(in srgb,currentColor 14%,transparent)}.schedule-block-notes{position:absolute;top:2px;right:3px;opacity:.6}.schedule-block.brand{background:color-mix(in srgb,var(--brand) 22%,var(--surface));border-color:var(--brand)}.schedule-block.teal{background:color-mix(in srgb,var(--teal) 22%,var(--surface));border-color:var(--teal)}.schedule-block.coral{background:color-mix(in srgb,var(--coral) 22%,var(--surface));border-color:var(--coral)}.schedule-block.yellow{background:color-mix(in srgb,var(--yellow) 26%,var(--surface));border-color:var(--yellow)}.schedule-block.muted{background:var(--surface-hover);border-color:var(--border-strong)}.schedule-block.blue{--c: light-dark(#3b7dd8, #6ea3ea);background:color-mix(in srgb,var(--c) 22%,var(--surface));border-color:var(--c)}.schedule-block.violet{--c: light-dark(#7c5cc4, #a78bdc);background:color-mix(in srgb,var(--c) 22%,var(--surface));border-color:var(--c)}.schedule-block.pink{--c: light-dark(#c9568f, #e07fb0);background:color-mix(in srgb,var(--c) 22%,var(--surface));border-color:var(--c)}.schedule-block.brown{--c: light-dark(#a0673a, #c48a5c);background:color-mix(in srgb,var(--c) 22%,var(--surface));border-color:var(--c)}:root[data-theme=dark] .schedule-block{color:var(--text)}.schedule-legend{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font-size:.82rem}.schedule-swatch{position:static;display:inline-block;width:12px;height:12px;padding:0;margin-right:6px;vertical-align:-1px;cursor:default}.schedule-day-picks{display:flex;flex-wrap:wrap;gap:6px 14px}.schedule-day-picks .checkbox-row{align-items:center}.schedule-handle{position:absolute;left:0;right:0;height:6px;cursor:ns-resize;touch-action:pan-y}.schedule-handle.top{top:0}.schedule-handle.bottom{bottom:0}.schedule-block.one-slot .schedule-handle{height:4px}@media(pointer:coarse){.schedule-handle{height:12px}}.schedule-day-strip{display:flex;gap:4px;margin-bottom:12px}.schedule-day-strip .chip{flex:1 1 0;display:flex;flex-direction:column;align-items:center;min-width:0;padding:3px 4px;line-height:1.1}.schedule-day-strip .chip small{font-weight:600;color:inherit}.schedule-day-strip .chip.is-today:after{margin:2px 0 0}.schedule-day-strip .chip[aria-pressed=true]{background:color-mix(in srgb,var(--brand) 14%,var(--surface));border-color:var(--brand);color:var(--text)}.schedule-day-strip .chip.is-today{color:var(--brand)}.schedule-day-strip.is-drop-target .chip{border-style:dashed}@media(max-width:720px){.schedule-frame{--slot-h: 20px;grid-template-columns:44px 1fr;min-width:0}.schedule-headers,.schedule-days{grid-template-columns:1fr}.schedule-hour{padding-right:4px}}.schedule-modal-actions,.modal-footer-danger{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.schedule-modal-actions .btn,.modal-footer-danger .btn:last-child{color:var(--danger)}.schedule-today{list-style:none;margin:0;padding:0;display:grid;gap:6px}.schedule-today li{display:grid;grid-template-columns:12px 1fr auto;gap:10px;align-items:center;padding:6px 8px;border-radius:6px}.schedule-today li.is-now{background:color-mix(in srgb,var(--brand) 10%,var(--surface))}.schedule-today li .schedule-swatch{margin:0}.schedule-today li small{display:block;color:var(--muted)}.toast{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));z-index:30;display:flex;align-items:center;gap:12px;max-width:min(480px,calc(100vw - 32px));padding:12px 16px;border-radius:8px;background:var(--text);color:var(--bg);font-size:.9rem;font-weight:600;box-shadow:var(--shadow-md);transform:translate(-50%);animation:toast-in .12s ease-out}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,4px)}}.toast button{margin:-4px -8px -4px 0;padding:4px 8px;border:0;border-radius:6px;background:transparent;color:inherit;font:inherit;font-weight:750;cursor:pointer}.toast button:hover{background:color-mix(in srgb,var(--bg) 14%,transparent)}.toast button:focus-visible{outline:2px solid var(--bg);outline-offset:2px}@media(max-width:1100px){.toast{bottom:calc(108px + env(safe-area-inset-bottom))}}.modal .toast{top:calc(16px + env(safe-area-inset-top));bottom:auto}.page:focus{outline:none}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}.schedule-block{transition:none}}.task-list{position:relative;display:grid}.task-row{display:grid;grid-template-columns:20px 22px minmax(0,1fr) auto auto auto;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--border)}.task-row.depth-1{padding-left:32px}.task-row.dragging{opacity:.45}.task-row.is-done .task-title{text-decoration:line-through;color:var(--muted)}.task-grip{display:grid;place-items:center;border:0;padding:0;background:transparent;color:var(--muted);cursor:grab;-webkit-user-select:none;user-select:none}.task-title{width:100%;min-width:0;border:0;padding:4px 2px;background:transparent;color:inherit;font:inherit}.task-title:focus{outline:2px solid var(--brand);outline-offset:1px;border-radius:4px}.task-star,.task-more,.task-completed-toggle{border:0;padding:4px;background:transparent;color:var(--muted);cursor:pointer}.task-star.on{color:var(--brand)}.task-section-heading{margin:12px 0 2px;font-size:.8rem;font-weight:800;color:var(--muted)}.task-drop-line{position:absolute;left:0;right:0;height:2px;background:var(--brand);pointer-events:none}.task-drop-line.depth-1{left:32px}.task-meta{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.82rem}.task-has-details{display:inline-flex}.task-row .badge.overdue{color:var(--danger);border-color:var(--danger)}.task-row .badge.due-today{color:var(--brand);border-color:var(--brand)}.tab-strip{display:flex;gap:4px;margin:0 0 24px;border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.tab-strip::-webkit-scrollbar{display:none}.tab-strip [role=tab]{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;margin-bottom:-1px;padding:10px 16px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-weight:700;white-space:nowrap;cursor:pointer;transition:color .16s ease,border-color .16s ease}.tab-strip [role=tab]:hover{color:var(--text);border-bottom-color:var(--border-strong)}.tab-strip [role=tab][aria-selected=true]{color:var(--text);border-bottom-color:var(--brand)}.tab-strip [role=tab]:focus-visible{outline:2px solid var(--brand);outline-offset:-2px;border-radius:6px}.tab-badge{min-width:20px;padding:0 6px;border:1px solid var(--border);border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:.76rem;font-weight:800;line-height:18px;text-align:center;font-variant-numeric:tabular-nums}.tab-strip [aria-selected=true] .tab-badge{color:var(--text);border-color:var(--border-strong)}.tab-panel[hidden]{display:none}.tab-panel>.section{margin-top:0}.admin-lede{margin:-6px 0 20px;max-width:64ch}.admin-toggle-list .switch-row{border-bottom-color:var(--border)}.admin-progress-list{display:grid;margin:0;padding:0 0 0 6px;list-style:none}.admin-progress-entry{position:relative;padding:4px 0 18px 20px;border-left:2px solid var(--border)}.admin-progress-entry:last-child{padding-bottom:4px}.admin-progress-entry:before{content:"";position:absolute;left:-6px;top:10px;width:10px;height:10px;border-radius:999px;background:var(--brand);box-shadow:0 0 0 3px var(--surface)}.admin-progress-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.9rem}.admin-progress-body{margin:6px 0 0;white-space:pre-line}.admin-completion-table{display:grid}.admin-completion-row,.admin-completion-head{display:grid;grid-template-columns:minmax(130px,1fr) 110px minmax(150px,1.3fr) repeat(4,88px);gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}.admin-completion-row:last-child{border-bottom:0;padding-bottom:0}.admin-completion-head,.admin-users-head,.admin-catalog-head,.admin-testing-head{color:var(--muted);font-size:.78rem;font-weight:750;text-transform:uppercase;padding-top:0}.admin-completion-head button,.admin-users-head button,.admin-testing-head button{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:none;color:inherit;font:inherit;text-transform:inherit;cursor:pointer;text-align:left}.admin-completion-head button:hover,.admin-completion-head button:focus-visible,.admin-completion-head button.active,.admin-users-head button:hover,.admin-users-head button:focus-visible,.admin-users-head button.active,.admin-testing-head button:hover,.admin-testing-head button:focus-visible,.admin-testing-head button.active{color:var(--text)}.admin-completion-sort{display:none;gap:8px}.admin-completion-sort .btn{flex:0 0 auto}.admin-completion-bar{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:10px;align-items:center}.stage-planned{color:var(--muted)}.stage-dev{color:var(--brand-strong);background:color-mix(in srgb,var(--brand) 12%,var(--surface));border-color:color-mix(in srgb,var(--brand) 45%,var(--border))}.stage-testing{color:var(--text);background:color-mix(in srgb,var(--yellow) 22%,var(--surface));border-color:color-mix(in srgb,var(--yellow) 60%,var(--border))}.stage-done{color:var(--text);background:color-mix(in srgb,var(--teal) 18%,var(--surface));border-color:color-mix(in srgb,var(--teal) 55%,var(--border))}select.admin-completion-stage{font-weight:750}.admin-completion-overall{font-weight:800;text-align:right;font-variant-numeric:tabular-nums}.admin-completion-row .input,.admin-users-row .input,.admin-catalog-row .input{padding:7px 8px}.admin-policy-line{margin-top:28px;font-size:.85rem}.admin-completion-label a{color:inherit;text-decoration:none}.admin-completion-label a:hover,.admin-completion-label a:focus-visible{color:var(--brand);text-decoration:underline}.admin-scroll{overflow-x:auto}.admin-users-search{flex:0 1 280px;min-width:0}.admin-users-row,.admin-users-head{display:grid;grid-template-columns:minmax(200px,1.4fr) 110px 110px 80px 120px minmax(170px,1fr) minmax(180px,1fr);gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border);min-width:1040px}.admin-catalog-row,.admin-catalog-head{display:grid;grid-template-columns:minmax(140px,1fr) minmax(150px,1.2fr) 130px 120px 110px minmax(200px,1fr);gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border);min-width:900px}.admin-users-row:last-child,.admin-catalog-row:last-child{border-bottom:0;padding-bottom:0}.admin-users-user{display:grid;gap:2px;min-width:0}.admin-users-user strong,.admin-users-user .muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-users-user .muted{font-size:.85rem}.admin-users-sessions{font-variant-numeric:tabular-nums}.admin-plan-chips{display:flex;flex-wrap:wrap;gap:6px}.admin-catalog-row .chip{justify-self:start}.admin-catalog-row .chip[aria-pressed=true]{background:color-mix(in srgb,var(--brand) 14%,var(--surface));border-color:var(--brand);color:var(--text)}.admin-testing-table{display:grid}.admin-testing-row,.admin-testing-head{display:grid;grid-template-columns:minmax(130px,1.2fr) repeat(4,minmax(90px,1fr));gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}.admin-testing-row:last-child{border-bottom:0;padding-bottom:0}.admin-testing-cell,.admin-testing-link{display:grid;gap:4px;min-width:0}.admin-testing-link{color:inherit;text-decoration:none;border-radius:6px}.admin-testing-link:hover .admin-testing-ratio,.admin-testing-link:focus-visible .admin-testing-ratio{color:var(--brand);text-decoration:underline}.admin-testing-ratio{font-weight:800;font-variant-numeric:tabular-nums}.admin-testing-failed{color:var(--danger);font-size:.8rem;font-weight:750}.admin-back{display:inline-block;margin-bottom:10px;color:var(--muted);font-weight:750;text-decoration:none}.admin-back:hover,.admin-back:focus-visible{color:var(--brand);text-decoration:underline}.admin-module-header{align-items:center}.admin-module-header .admin-lede{margin-bottom:0}.admin-module-title{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px}.admin-module-title h1{margin:0}.admin-module-estimates{flex:0 0 auto;width:min(100%,440px);display:grid;gap:12px;padding:14px 16px}.admin-module-estimate-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.admin-module-estimate{display:grid;gap:4px;color:var(--muted);font-size:.74rem;font-weight:750;text-transform:uppercase}.admin-module-estimate .input{padding:7px 8px;font-size:.95rem}.admin-module-stage{grid-column:1 / -1}.admin-module .kpi-card .progress-bar{margin:10px 0 8px}.admin-module-ratio{font-size:.85rem}.admin-module-columns{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:24px;align-items:start}.admin-module-columns .textarea{min-height:0}.admin-gap-list{display:grid;margin:0;padding:0;list-style:none}.admin-gap-row{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:10px;align-items:start;padding:10px 0;border-bottom:1px solid var(--border);cursor:pointer}.admin-gap-list li:last-child .admin-gap-row{border-bottom:0}.admin-gap-row input{width:18px;height:18px;margin-top:2px;accent-color:var(--brand)}.admin-gap-row.done .admin-gap-body{color:var(--muted);text-decoration:line-through}.admin-gap-source{border:1px solid var(--border);border-radius:999px;padding:1px 8px;color:var(--muted);font-size:.74rem;font-weight:750;white-space:nowrap}.admin-gap-clear{margin:0}.admin-gap-done-group{display:grid;justify-items:start;gap:4px;padding-top:10px;border-top:1px solid var(--border)}.admin-gap-done-group .admin-gap-list{width:100%}.admin-tests .tab-strip{margin-bottom:16px}.admin-test-tab-failed{color:var(--danger)}.admin-test-progress{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding-bottom:12px;border-bottom:1px solid var(--border)}.admin-test-progress .progress-bar{flex:1 1 160px}.admin-test-progress .btn[aria-pressed=true]{color:var(--brand)}.admin-test-summary{font-size:.9rem;font-variant-numeric:tabular-nums}.admin-test-list{display:grid;gap:8px;margin:12px 0 0;padding:0;list-style:none}.admin-test-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;align-items:start;padding:12px;border:1px solid var(--border);border-radius:8px}.admin-test-row.pass{background:color-mix(in srgb,var(--brand) 8%,var(--surface));border-color:color-mix(in srgb,var(--brand) 35%,var(--border))}.admin-test-row.fail{background:color-mix(in srgb,var(--danger) 8%,var(--surface));border-color:color-mix(in srgb,var(--danger) 40%,var(--border))}.admin-test-text{display:grid;gap:4px;min-width:0}.admin-test-text p{margin:0;white-space:pre-line;overflow-wrap:anywhere}.admin-test-title{overflow-wrap:anywhere}.admin-test-steps,.admin-test-expected{font-size:.9rem}.admin-test-date{font-size:.8rem}.admin-test-note{grid-column:1 / -1}@media(pointer:coarse){.admin-test-result .segmented-control button{min-height:44px}}@media(max-width:720px){.tab-strip{margin:0 -14px 20px;padding:0 14px}.admin-completion-head{display:none}.admin-completion-sort{display:flex}.admin-completion-row{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-completion-label{grid-column:1 / 4}.admin-completion-bar{grid-column:1 / -1}.admin-module-header{flex-direction:column;align-items:stretch}.admin-module-estimates{width:100%}.admin-module-columns{grid-template-columns:minmax(0,1fr)}.admin-gap-row{grid-template-columns:18px minmax(0,1fr)}.admin-gap-source{grid-column:2;justify-self:start}.admin-test-row{grid-template-columns:minmax(0,1fr)}.admin-test-result .segmented-control{display:flex}.admin-test-result .segmented-control button{flex:1 1 0}.admin-testing-row,.admin-testing-head{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.admin-testing-label,.admin-testing-head>:first-child{grid-column:1 / -1}}@media print{@page schedule-week{size:A4 landscape;margin:10mm}.page:has(.schedule-card){page:schedule-week;max-width:none;padding:0}:root:has(.schedule-card),:root[data-theme=dark]:has(.schedule-card){color-scheme:light;--bg: #ffffff;--surface: #ffffff;--surface-soft: #f2f5f3;--surface-hover: #eef4f1;--border: #e3e8e5;--border-strong: #d4ddd8;--text: #202725;--muted: #68736f;--brand: #2f7d62;--brand-strong: #24624d;--teal: #1d9aa6;--coral: #e36b4f;--yellow: #d6a43a;--danger: #b84a4a}body:has(.schedule-card) :is(.sidebar,.topbar,.mobile-topbar,.mobile-bottom-nav,.page-actions,.schedule-tabs,.schedule-week-nav .period-nav-btn,.schedule-week-nav .period-shortcut,.schedule-legend .btn,.schedule-now,.schedule-handle,.schedule-block-notes,.schedule-empty,.toast){display:none}body:has(.schedule-card) .app-shell{display:block;min-height:0}.page:has(.schedule-card) h1{font-size:1rem;margin:0}.page:has(.schedule-card) .page-header{margin-bottom:6px}.page:has(.schedule-card) .card{padding:8px;box-shadow:none}.schedule-scroll{max-height:none;overflow:visible;border:0}.schedule-frame{--slot-h: 6.5px;grid-template-columns:44px 1fr}.schedule-corner,.schedule-headers,.schedule-gutter{position:static}.schedule-frame,.schedule-frame *{print-color-adjust:exact;-webkit-print-color-adjust:exact}.schedule-block{font-size:.6rem;break-inside:avoid}}.document-card .badge.document-expired{color:var(--danger);border-color:var(--danger)}.document-card .badge.document-renew{color:var(--text);border-color:var(--coral)}.document-card .badge{white-space:nowrap}.document-renewal-notes{white-space:pre-line;margin:0}.upkeep-contact{max-width:100%;min-width:0;overflow-wrap:anywhere;text-align:left}.weekly-review-week{flex:1;min-width:0;padding:0 8px;text-align:center;font-weight:800;line-height:1.2;overflow-wrap:anywhere}.weekly-review-picker button:disabled{opacity:.4;cursor:default}.weekly-review-picker button:disabled:hover{background:transparent;color:var(--muted)}.weekly-review-form{display:grid;gap:14px}.weekly-review-focus-row{display:flex;gap:8px;align-items:center}.weekly-review-focus-row .input{flex:1;min-width:0}.health-card .badge.health-overdue{color:var(--danger);border-color:var(--danger)}.health-card .card-title-row>div{min-width:0;overflow-wrap:anywhere}.health-notes{white-space:pre-line;margin:0}.health-kpis .kpi-value{display:block;min-width:0;overflow-wrap:anywhere}.learning-card{min-width:0;overflow-wrap:anywhere}.learning-card>strong{display:block}.learning-card .progress-bar{margin:6px 0}.modal:has(.learning-dialog) .modal-header h2{min-width:0;overflow-wrap:anywhere}.media-card{display:grid;gap:6px;align-content:start}.media-card>strong,.media-card>p{margin:0;overflow-wrap:anywhere}.media-card .media-notes{white-space:pre-line}.media-card .quick-actions{margin-top:6px}.career-card{display:grid;gap:6px;align-content:start;min-width:0;overflow-wrap:anywhere}.career-card p{margin:0}.career-card .card-title-row>div{min-width:0;display:grid;gap:4px}.career-card .badge.career-overdue{color:var(--danger);border-color:var(--danger)}.career-card .badge{white-space:nowrap}.career-card .quick-actions{margin-top:6px}.career-detail{white-space:pre-line}.career-items{display:grid;gap:6px}.career-item{display:flex;gap:8px;align-items:center;justify-content:space-between}.career-person+.career-person{margin-top:18px}.career-person h3,.career-review-group h3{margin:0 0 8px;overflow-wrap:anywhere}.career-review-group{margin-top:14px}.career-review-group ul{margin:0;padding-left:20px;overflow-wrap:anywhere}.career-summary{min-height:180px;margin-top:8px}.career-carry{display:grid;gap:8px;border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin:0}.career-carry legend{padding:0 4px;font-weight:700}.career-item-list{display:grid;gap:8px}.career-item-list>span{font-weight:700}.career-item-row{display:flex;gap:8px;align-items:center}.career-item-row .input{flex:1;min-width:0}.fun-card{display:grid;gap:6px;align-content:start}.fun-card>strong,.fun-card>p{margin:0;overflow-wrap:anywhere}.fun-card .fun-text{white-space:pre-line}.fun-card .fun-ask{font-weight:800}.fun-card .quick-actions{margin-top:6px}.fun-pick{display:grid;gap:6px;margin-top:14px;padding:12px;border:1px solid var(--border);border-radius:8px;overflow-wrap:anywhere}.fun-pick>p{margin:0}.car-service{display:grid;gap:6px;align-content:start}.car-service>strong,.car-service>p{margin:0;overflow-wrap:anywhere;white-space:pre-line}.car-service .quick-actions{margin-top:6px}.car-picker{flex:1 1 220px;max-width:360px}.modal:has(.car-dialog) .modal-header h2{min-width:0;overflow-wrap:anywhere}.pets-card{min-width:0;overflow-wrap:anywhere}.pets-card p{margin:4px 0 0}.pets-card .card-title-row>div{min-width:0}.pets-card .badge{white-space:nowrap}.pets-card .badge.pets-overdue{color:var(--danger);border-color:var(--danger)}.pets-card .pets-notes{white-space:pre-line}.pets-card .quick-actions{margin-top:8px}.modal:has(.pets-dialog) .modal-header h2{min-width:0;overflow-wrap:anywhere}.pets-weights{margin:0;padding-left:20px;display:grid;gap:4px}.pets-past{margin-top:18px}.pets-past summary{cursor:pointer;font-weight:700}.pets-past ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}.pets-past li{display:flex;align-items:center;justify-content:space-between;gap:8px;overflow-wrap:anywhere}.garden-card{display:grid;gap:6px;align-content:start;min-width:0}.garden-card>strong,.garden-card>p{margin:0;overflow-wrap:anywhere}.garden-card .garden-notes{white-space:pre-line}.garden-card .garden-badges{display:flex;flex-wrap:wrap;gap:6px}.garden-card .badge{white-space:nowrap}.garden-card .badge.garden-overdue{color:var(--danger);border-color:var(--danger)}.garden-card .quick-actions{margin-top:6px}.garden-toolbar{flex-wrap:wrap;align-items:center;margin-bottom:4px}.garden-group+.garden-group,.garden-toolbar+.garden-group{margin-top:18px}.garden-group h3{margin:0 0 8px;overflow-wrap:anywhere}.garden-months{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px 10px;border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin:0}.garden-months legend{padding:0 4px;font-weight:700}.garden-months label{display:flex;gap:6px;align-items:center}.modal:has(.garden-dialog) .modal-header h2{min-width:0;overflow-wrap:anywhere}.mood-faces{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;max-width:560px}.mood-face{display:grid;justify-items:center;gap:4px;padding:10px 4px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:inherit;font-weight:700;cursor:pointer}.mood-face>span:first-child{font-size:1.8rem;line-height:1}.mood-face:hover{border-color:var(--brand)}.mood-face:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.mood-average{margin:0 0 12px;font-weight:700}.mood-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.mood-row{display:grid;gap:4px}.mood-row p{margin:0;overflow-wrap:anywhere}.mood-row-head{display:flex;align-items:baseline;gap:8px}.mood-row-face{font-size:1.3rem}.mood-note{white-space:pre-line}.mood-week-svg{width:100%;max-width:560px;height:auto;display:block}.mood-grid line{stroke:var(--border);stroke-width:1}.mood-grid text,.mood-axis{fill:var(--muted);font-size:11px}.mood-line-mood polyline{stroke:var(--brand);stroke-width:2.5}.mood-line-mood circle{fill:var(--brand)}.mood-line-energy polyline{stroke:var(--coral);stroke-width:2;stroke-dasharray:5 4}.mood-line-energy rect{fill:var(--coral)}.mood-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:8px 0 0;color:var(--muted)}.mood-key{display:inline-block;width:22px;height:0;border-top:3px solid var(--brand)}.mood-key-energy{border-top:3px dashed var(--coral);margin-left:8px}.mood-cell{aspect-ratio:1;min-height:36px;border:1px solid var(--border);border-radius:8px;display:grid;place-content:center;text-align:center;font-weight:700;font-size:.85rem;line-height:1.1}.mood-cell-avg{font-size:.75rem;font-weight:800}.mood-cell.today{outline:2px solid var(--brand);outline-offset:0}.mood-cell.mood-level-1{background:color-mix(in srgb,var(--coral) 45%,var(--surface));border-color:transparent}.mood-cell.mood-level-2{background:color-mix(in srgb,var(--coral) 22%,var(--surface));border-color:transparent}.mood-cell.mood-level-3{background:var(--surface-soft);border-color:var(--border-strong)}.mood-cell.mood-level-4{background:color-mix(in srgb,var(--brand) 25%,var(--surface));border-color:transparent}.mood-cell.mood-level-5{background:color-mix(in srgb,var(--brand) 45%,var(--surface));border-color:transparent}.mood-insights{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.mood-insights h3{margin:0 0 8px;font-size:1rem}.mood-insights ul{margin:0;padding-left:18px;display:grid;gap:4px}.mood-feelings-field{border:0;margin:0;padding:0;min-width:0}.mood-feelings-field legend{padding:0;font-weight:700}.mood-feelings .chip[aria-pressed=true]{background:color-mix(in srgb,var(--brand) 14%,var(--surface));border-color:var(--brand);color:var(--text)}.mood-feelings .chip[aria-pressed=true]:before{content:"✓ " / ""}.mood-feelings-add{display:flex;gap:8px;margin-top:8px}.mood-feelings-add .input{flex:1;min-width:0}.modal:has(.mood-feelings-field) .modal-header h2{min-width:0;overflow-wrap:anywhere}.time-running,.time-entry{display:grid;gap:6px;align-content:start}.time-running>strong,.time-running>p,.time-entry>strong,.time-entry>p{margin:0;overflow-wrap:anywhere}.time-running{margin-bottom:14px}.time-elapsed{font-size:2rem;font-weight:800;font-variant-numeric:tabular-nums}.time-also,.time-ask,.time-overlap{font-weight:800}.time-note{white-space:pre-line}.time-running .quick-actions,.time-entry .quick-actions{margin-top:6px}.time-days{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.time-day{display:grid;gap:2px;min-width:92px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer}.time-day span:last-child{font-variant-numeric:tabular-nums;font-weight:750}.time-day[aria-pressed=true]{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.time-day:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.time-projects{display:grid;gap:6px}.time-project{display:flex;justify-content:space-between;gap:12px;overflow-wrap:anywhere}.time-project span:last-child{flex:none;font-variant-numeric:tabular-nums;font-weight:750}.modal:has(.time-dialog) .modal-header h2{min-width:0;overflow-wrap:anywhere}.emergency-body{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.emergency-intro{display:grid;gap:4px;margin-bottom:12px}.emergency-intro p,.emergency-starters p{margin:0}.emergency-starters{margin-top:10px}.emergency-card .card-title-row>:first-child{min-width:0;overflow-wrap:anywhere}@media screen{.emergency-print{display:none}}@media print{body:has(.emergency-print) *:not(:has(.emergency-print)):not(.emergency-print):not(.emergency-print *){display:none}body:has(.emergency-print) .emergency-print{display:block}body:has(.emergency-print),body:has(.emergency-print) :is(.app-shell,.workspace,.page){display:block;min-height:0;max-width:none;margin:0;padding:0;background:#fff}.emergency-print,.emergency-print *{color:#000;background:transparent}.emergency-print{font-size:11pt;line-height:1.35}.emergency-print h1{font-size:16pt;margin:0 0 6pt}.emergency-print h2{font-size:13pt;margin:12pt 0 4pt;padding-bottom:2pt;border-bottom:1px solid #000000}.emergency-print h3{font-size:11pt;margin:6pt 0 2pt}.emergency-print ol{margin:0;padding-left:18pt}.emergency-print-contact,.emergency-print-note{break-inside:avoid;margin-bottom:6pt}}.people-list,.loans-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.people-row,.loans-row,.countdown-card{min-width:0;overflow-wrap:anywhere}.people-row p,.loans-row p,.countdown-card .card-title-row p{margin:4px 0 0}.people-row .card-title-row>div,.loans-row .card-title-row>div{min-width:0}.people-row .quick-actions,.loans-row .quick-actions{margin-top:8px}.people-notes,.loans-notes,.countdown-notes{white-space:pre-line}.people-toggle{display:inline-flex;align-items:center;gap:6px}.people-history{margin-top:8px}.people-history summary{cursor:pointer;font-weight:700}.people-history ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}.loans-row .badge{white-space:nowrap}.loans-row .badge.loans-overdue{color:var(--danger);border-color:var(--danger)}.countdown-today{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 8%,var(--surface))}.modal:has(:is(.people-dialog,.loans-dialog,.countdown-dialog)) .modal-header h2{min-width:0;overflow-wrap:anywhere}
