@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@500;600&family=Noto+Sans+TC:wght@400;500;700&family=Space+Grotesk:wght@500;700&display=swap";:root{--bg: #e9edf1;--surface: #f1f4f7;--surface-soft: #e5ecef;--text: #0f172a;--text-soft: #475569;--border: #cbd5e1;--brand: #0f766e;--brand-soft: #14b8a6;--risk-high: #b91c1c;--risk-medium: #d97706;--risk-low: #15803d;--shadow: 0 14px 40px rgba(15, 23, 42, .08)}body[data-theme=dark]{--bg: #0f172a;--surface: #111827;--surface-soft: #0b2530;--text: #e2e8f0;--text-soft: #94a3b8;--border: #334155;--brand: #14b8a6;--brand-soft: #2dd4bf;--risk-high: #fca5a5;--risk-medium: #fdba74;--risk-low: #86efac;--shadow: 0 14px 40px rgba(2, 6, 23, .45)}*{box-sizing:border-box}body{margin:0;font-family:Noto Sans TC,sans-serif;color:var(--text);background:radial-gradient(circle at 15% 5%,#dce7ea 0%,transparent 35%),radial-gradient(circle at 90% 20%,#dbe4ef 0%,transparent 30%),var(--bg);min-height:100vh}body[data-theme=dark]{background:radial-gradient(circle at 15% 5%,rgba(20,184,166,.18) 0%,transparent 35%),radial-gradient(circle at 90% 20%,rgba(37,99,235,.2) 0%,transparent 30%),var(--bg)}.app-shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh;position:relative}.sidebar{border-right:1px solid var(--border);padding:32px 20px;background:#f1f4f7f0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}body[data-theme=dark] .sidebar{background:#020617e0}.brand-kicker{margin:0;font-family:IBM Plex Mono,monospace;color:var(--brand);letter-spacing:.08em}.brand h1{margin:8px 0 24px;font-family:Space Grotesk,sans-serif;font-size:30px}.brand-purpose{margin:-10px 0 18px;color:var(--text-soft);font-size:13px;line-height:1.5}.nav{display:grid;gap:10px}.nav-node{display:grid;gap:8px}.nav-toggle{border:1px solid transparent;border-radius:12px;padding:10px 12px;background:color-mix(in srgb,var(--surface-soft) 72%,transparent);color:var(--text);text-align:left;display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:700;cursor:pointer}.nav-toggle:after{content:"▾";font-size:12px;color:var(--text-soft);transition:transform .12s ease}.nav-toggle[aria-expanded=false]:after{transform:rotate(-90deg)}.nav-toggle--l2{margin-left:10px;font-size:13px;font-weight:600;background:transparent;border-color:color-mix(in srgb,var(--border) 60%,transparent)}.nav-children{display:grid;gap:8px}.nav-children[hidden]{display:none}.nav-children--l1{margin-left:6px}.nav-children--l2{margin-left:22px}.nav-item{border:1px solid transparent;border-radius:12px;padding:10px 12px;background:transparent;color:var(--text-soft);text-align:left;display:flex;align-items:center;justify-content:space-between;gap:8px;font-family:inherit;font-size:16px;font-weight:500;cursor:pointer}.nav-item small{color:var(--text-soft);font-size:11px}.nav-item--soon{color:#64748b;background:color-mix(in srgb,var(--surface-soft) 70%,transparent);filter:grayscale(.2)}.nav-item--soon span{font-weight:600}.nav-item--l2{margin-left:10px;font-size:14px}.nav-item--l1{font-size:15px;font-weight:700}.nav-item--l3{margin-left:12px;font-size:13px}.nav-item:disabled{opacity:.45;cursor:not-allowed}.nav-item--active{border-color:#99f6e4;background:var(--surface-soft);color:var(--brand)}.sidebar-note{margin-top:28px;color:var(--text-soft);font-size:13px}.sidebar-group-context{margin-top:16px;padding:12px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--surface-soft) 78%,transparent)}.sidebar-group-context__label{margin:0;font-size:11px;letter-spacing:.04em;color:var(--text-soft)}.sidebar-group-context__value{margin:6px 0 0;font-size:14px;font-weight:700;color:var(--text);word-break:break-word}.sidebar-group-context__role{margin:4px 0 0;font-size:12px;color:var(--brand);font-weight:600}.sidebar-legal-links{margin-top:10px;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-soft)}.sidebar-legal-links a{color:var(--brand);text-decoration:none;font-weight:600}.sidebar-legal-links a:hover{text-decoration:underline}.main{padding:28px}.backdrop{display:none;border:0;background:#0f172a59}.mobile-header{display:none;align-items:center;gap:12px;margin-bottom:18px}.mobile-title{margin:0;font-family:Space Grotesk,sans-serif;font-size:18px}.menu-toggle{width:42px;height:42px;border-radius:12px;border:1px solid #99f6e4;background:#ecfeff;display:grid;gap:4px;align-content:center;justify-content:center;cursor:pointer}.menu-toggle span{display:block;width:16px;height:2px;background:var(--brand);border-radius:999px}.topbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px}.breadcrumb{margin-top:10px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--text-soft);font-size:12px}.breadcrumb__item.is-current{color:var(--brand);font-weight:700}.breadcrumb__sep{opacity:.6}.eyebrow{margin:0;font-family:IBM Plex Mono,monospace;color:var(--brand);font-size:13px}.topbar h2{margin:6px 0 0;font-family:Space Grotesk,sans-serif;font-size:34px}.ledger-form{min-width:280px;border:1px solid var(--border);border-radius:16px;padding:12px;background:var(--surface);box-shadow:var(--shadow)}.ledger-form label{font-size:12px;color:var(--text-soft)}.ledger-input-row{margin-top:8px;display:flex;gap:8px}.ledger-input-row input{flex:1;min-width:0;border:1px solid var(--border);border-radius:10px;padding:10px 12px}.ledger-input-row button,.primary-btn{border:0;border-radius:10px;padding:10px 14px;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-soft) 100%);color:#fff;font-weight:700;cursor:pointer}.install-btn{border:1px solid #99f6e4;border-radius:10px;padding:10px 12px;background:#f0fdfa;color:#0f766e;font-weight:700;cursor:pointer}.system-controls{margin-top:10px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.system-controls label{font-size:12px;color:var(--text-soft)}.system-controls select,.system-controls button{border:1px solid var(--border);border-radius:10px;padding:8px 10px;background:var(--surface);color:var(--text)}.auth-controls{margin-top:10px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.auth-label{margin:0;font-size:12px;color:var(--text-soft)}.auth-controls button{border:1px solid var(--border);border-radius:10px;padding:8px 10px;background:var(--surface);color:var(--text);cursor:pointer}.ledger-input-row button:disabled,.primary-btn:disabled{cursor:wait;opacity:.65}.soft-btn,.danger-btn{border-radius:10px;border:1px solid var(--border);padding:8px 12px;background:#fff;color:var(--text-soft);font-weight:600;cursor:pointer}.soft-btn:disabled,.danger-btn:disabled,.primary-btn:disabled{opacity:.5;cursor:not-allowed}.danger-btn{border-color:#fecaca;color:#b91c1c}.status-panel{margin-top:18px;border:1px solid #bae6fd;border-radius:12px;padding:14px;background:#f0f9ff;color:#0c4a6e}.status-panel--error{border-color:#fecaca;background:#fef2f2;color:#991b1b}.feedback-toast{position:fixed;left:50%;bottom:18px;transform:translate(-50%,16px);width:min(92vw,560px);border-radius:14px;border:1px solid #bae6fd;background:#f0f9fff5;color:#0c4a6e;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 10px 26px #0f172a38;opacity:0;pointer-events:none;transition:opacity .16s ease,transform .16s ease;z-index:80}.feedback-toast--visible{opacity:1;transform:translate(-50%);pointer-events:auto}.feedback-toast--error{border-color:#fecaca;background:#fef2f2f5;color:#991b1b}.feedback-toast__message{font-size:14px;line-height:1.35}.feedback-toast__close{border:1px solid currentcolor;border-radius:10px;padding:6px 10px;background:transparent;color:inherit;font-weight:600;cursor:pointer;flex-shrink:0}.ios-install-guide{margin-top:14px;border:1px solid #99f6e4;border-radius:14px;padding:14px;background:#f0fdfa;color:#134e4a}.ios-install-guide__content h3{margin:0;font-family:Space Grotesk,sans-serif;font-size:20px}.ios-install-guide__content p{margin:8px 0 0;color:#0f766e}.ios-install-guide__content ol{margin:10px 0 0;padding-left:18px}.ios-install-guide__content li{margin:4px 0}.ios-install-guide__dismiss{margin-top:10px}.kpi-grid{margin-top:20px;display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.kpi-card{border:1px solid var(--border);border-radius:16px;padding:18px;background:var(--surface);box-shadow:var(--shadow)}.kpi-label{margin:0;font-size:13px;color:var(--text-soft)}.kpi-value{margin:10px 0 4px;font-family:IBM Plex Mono,monospace;font-size:30px;font-weight:600}.kpi-hint{margin:0;font-size:13px;color:var(--text-soft)}.risk-panel{margin-top:16px}.dashboard-shell{margin-top:16px;display:grid;gap:16px}.dashboard-hero{margin-top:0}.dashboard-hero__title{margin:8px 0 0;font-family:Space Grotesk,sans-serif;font-size:28px}.dashboard-chart-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px}.dashboard-chart-card{border:1px solid var(--border);border-radius:16px;padding:18px;background:var(--surface);box-shadow:var(--shadow)}.dashboard-chart-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.dashboard-chart-card__header h3{margin:0;font-family:Space Grotesk,sans-serif;font-size:20px}.dashboard-chart-card__header p{margin:8px 0 0;color:var(--text-soft);font-size:14px}.dashboard-stackbar{margin-top:18px;display:flex;width:100%;min-height:24px;overflow:hidden;border-radius:999px;background:var(--surface-soft)}.dashboard-stackbar__segment{min-width:8px}.dashboard-legend{margin-top:18px;display:grid;gap:12px}.dashboard-legend__item{display:grid;grid-template-columns:12px minmax(0,1fr);gap:10px;align-items:start}.dashboard-legend__item p,.dashboard-threshold__meta p,.dashboard-threshold__caption span{margin:0;color:var(--text-soft);font-size:13px}.dashboard-legend__item strong,.dashboard-threshold__meta strong{display:block;margin-top:3px;font-family:IBM Plex Mono,monospace;font-size:16px}.dashboard-legend__dot{display:inline-block;width:12px;height:12px;margin-top:2px;border-radius:999px}.dashboard-threshold-list{margin-top:18px;display:grid;gap:16px}.dashboard-threshold{display:grid;gap:10px}.dashboard-threshold__meta{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.dashboard-threshold__status{border-radius:999px;padding:6px 10px;font-size:12px;font-family:IBM Plex Mono,monospace}.dashboard-threshold__status.is-warning{background:#fef2f2;color:var(--risk-high)}.dashboard-threshold__status.is-normal{background:#f0fdf4;color:var(--risk-low)}.dashboard-threshold__bar{position:relative;height:14px;border-radius:999px;overflow:hidden;background:var(--surface-soft)}.dashboard-threshold__fill{position:absolute;inset:0 auto 0 0;border-radius:inherit}.dashboard-threshold__marker{position:absolute;top:-3px;width:2px;height:20px;border-radius:999px;background:var(--text);opacity:.8}.dashboard-threshold__caption{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.dashboard-summary-card .kpi-grid{margin-top:14px}.dashboard-summary-card .kpi-grid[hidden]{display:none}.dashboard-stackbar__segment.is-high-value,.dashboard-legend__dot.is-high-value,.dashboard-threshold__fill.is-high-value{background:#0f766e}.dashboard-stackbar__segment.is-installments,.dashboard-legend__dot.is-installments,.dashboard-threshold__fill.is-installments{background:#0284c7}.dashboard-stackbar__segment.is-fixed-expenses,.dashboard-legend__dot.is-fixed-expenses,.dashboard-threshold__fill.is-fixed-expenses{background:#f59e0b}.risk-card{border:1px solid var(--border);border-radius:16px;padding:18px;background:var(--surface);box-shadow:var(--shadow)}.risk-card header{display:flex;justify-content:space-between;align-items:center}.risk-badge{border-radius:999px;padding:6px 10px;font-size:12px;font-family:IBM Plex Mono,monospace}.risk-warning{background:#fef2f2;color:var(--risk-high)}.risk-normal{background:#f0fdf4;color:var(--risk-low)}.risk-unknown{background:#fffbeb;color:var(--risk-medium)}.risk-message{margin:14px 0 8px;font-size:18px;font-weight:700}.risk-subtext{margin:0;color:var(--text-soft)}.provident-dashboard__content{display:grid;gap:18px}.provident-dashboard__toolbar{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:18px;align-items:end}.provident-dashboard__eyebrow{margin:0 0 8px;color:var(--brand);font-size:12px;font-family:IBM Plex Mono,monospace;text-transform:uppercase;letter-spacing:.08em}.provident-dashboard__toolbar-copy h4{margin:0;font-family:Space Grotesk,sans-serif;font-size:24px}.provident-dashboard__toolbar-copy p:last-child{margin:10px 0 0;color:var(--text-soft)}.provident-dashboard__compat-note{margin:12px 0 0;padding:10px 12px;border:1px dashed color-mix(in srgb,var(--warn) 45%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--warn) 10%,transparent);color:color-mix(in srgb,var(--warn) 55%,var(--text));font-size:13px}.provident-dashboard__legacy-state{display:grid}.provident-dashboard__summary-grid--legacy{grid-template-columns:repeat(4,minmax(0,1fr))}.provident-dashboard__selector{border:1px solid color-mix(in srgb,var(--brand) 35%,var(--border));border-radius:16px;padding:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 12%,transparent),transparent 60%),var(--surface)}.provident-dashboard__summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.provident-dashboard__template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.provident-dashboard__template-card{border:1px solid color-mix(in srgb,var(--brand) 24%,var(--border));border-radius:18px;padding:16px 18px;background:linear-gradient(140deg,color-mix(in srgb,var(--brand) 10%,transparent),transparent 60%),var(--surface);box-shadow:var(--shadow)}.provident-dashboard__template-card p{margin:0;color:var(--text-soft);font-size:13px}.provident-dashboard__template-card strong{display:block;margin-top:8px;font-size:24px;font-family:Space Grotesk,sans-serif}.provident-dashboard__template-card span{display:block;margin-top:6px;color:var(--text-soft);font-size:13px;line-height:1.5}.provident-dashboard__summary-card,.provident-dashboard__panel{border:1px solid var(--border);border-radius:18px;padding:18px;background:var(--surface);box-shadow:var(--shadow)}.provident-dashboard__summary-card p{margin:0;color:var(--text-soft);font-size:13px}.provident-dashboard__summary-card strong{display:block;margin-top:10px;font-size:30px;font-family:IBM Plex Mono,monospace}.provident-dashboard__summary-card.is-pool{background:linear-gradient(180deg,color-mix(in srgb,#0f766e 16%,transparent),var(--surface))}.provident-dashboard__summary-card.is-fixed{background:linear-gradient(180deg,color-mix(in srgb,#f97316 16%,transparent),var(--surface))}.provident-dashboard__summary-card.is-activity{background:linear-gradient(180deg,color-mix(in srgb,#14b8a6 18%,transparent),var(--surface))}.provident-dashboard__summary-card.is-remaining{background:linear-gradient(180deg,color-mix(in srgb,#60a5fa 18%,transparent),var(--surface))}.provident-dashboard__grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr);gap:16px}.provident-dashboard__panel--wide{grid-column:1 / span 2}.provident-dashboard__panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.provident-dashboard__panel-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px 14px}.provident-dashboard__panel-legend-item{display:inline-flex;align-items:center;gap:8px;color:var(--text-soft);font-size:12px;white-space:nowrap}.provident-dashboard__panel-header h5{margin:0;font-family:Space Grotesk,sans-serif;font-size:19px}.provident-dashboard__panel-header p{margin:8px 0 0;color:var(--text-soft);font-size:14px}.provident-dashboard__bank-flow-list,.provident-dashboard__activity-list{margin-top:16px;display:grid;gap:14px}.provident-dashboard__bank-flow-row,.provident-dashboard__activity-row{display:grid;gap:10px}.provident-dashboard__bank-flow-meta,.provident-dashboard__activity-meta{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.provident-dashboard__bank-flow-meta span,.provident-dashboard__activity-meta span{font-family:IBM Plex Mono,monospace}.provident-dashboard__activity-meta p{margin:4px 0 0;color:var(--text-soft);font-size:12px}.provident-dashboard__stackbar,.provident-dashboard__activity-bar{display:flex;width:100%;min-height:16px;overflow:hidden;border-radius:999px;background:var(--surface-soft)}.provident-dashboard__stackbar-segment,.provident-dashboard__activity-fill{min-width:0}.provident-dashboard__stackbar-segment.is-fixed,.provident-dashboard__legend-dot.is-fixed,.provident-dashboard__activity-fill.is-fixed{background:#f97316}.provident-dashboard__stackbar-segment.is-activity,.provident-dashboard__legend-dot.is-activity,.provident-dashboard__activity-fill.is-ratio{background:#14b8a6}.provident-dashboard__stackbar-segment.is-remaining,.provident-dashboard__legend-dot.is-remaining{background:#60a5fa}.provident-dashboard__bank-flow-caption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;color:var(--text-soft);font-size:12px}.provident-dashboard__donut-wrap{margin-top:16px;display:grid;gap:18px;justify-items:center}.provident-dashboard__donut{position:relative;width:min(240px,100%);aspect-ratio:1;border-radius:50%;display:grid;place-items:center}.provident-dashboard__donut:after{content:"";position:absolute;inset:18%;border-radius:50%;background:var(--surface);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--border) 65%,transparent)}.provident-dashboard__donut-center{position:relative;z-index:1;display:grid;gap:6px;text-align:center}.provident-dashboard__donut-center strong{font-family:IBM Plex Mono,monospace;font-size:22px}.provident-dashboard__donut-center span{color:var(--text-soft);font-size:12px}.provident-dashboard__legend{display:grid;gap:12px;width:100%}.provident-dashboard__legend-item{display:grid;grid-template-columns:12px minmax(0,1fr);gap:10px}.provident-dashboard__legend-item p{margin:0;color:var(--text-soft);font-size:12px}.provident-dashboard__legend-item strong{display:block;margin-top:4px;font-family:IBM Plex Mono,monospace}.provident-dashboard__legend-dot{width:12px;height:12px;border-radius:999px;margin-top:3px}.group-fund-monthly-report__header-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.group-fund-monthly-report__shell{gap:18px}.group-fund-monthly-report__topbar{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.group-fund-monthly-report__status,.group-fund-monthly-report__version{display:inline-flex;align-items:center;padding:6px 10px;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--surface-soft) 72%,transparent);color:var(--text-soft);font-size:12px;font-weight:700}.group-fund-monthly-report__control-grid{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:18px;align-items:stretch}.group-fund-monthly-report__meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.group-fund-monthly-report__meta-item{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid color-mix(in srgb,var(--border) 88%,transparent);border-radius:999px;background:color-mix(in srgb,var(--surface-soft) 42%,transparent);color:var(--text-soft);font-size:13px}.group-fund-monthly-report__meta-item strong{color:var(--text-main);font-weight:700}.group-fund-monthly-report__template-card{border:1px solid color-mix(in srgb,var(--brand) 18%,var(--border));border-radius:16px;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;gap:16px;background:linear-gradient(140deg,color-mix(in srgb,var(--brand) 10%,transparent),transparent 65%),var(--surface)}.group-fund-monthly-report__template-copy{display:grid;gap:4px}.group-fund-monthly-report__template-kicker{margin:0;color:var(--text-soft);font-size:12px;font-family:IBM Plex Mono,monospace;text-transform:uppercase;letter-spacing:.08em}.group-fund-monthly-report__template-copy strong{font-size:24px;font-family:Space Grotesk,sans-serif}.group-fund-monthly-report__template-copy span{color:var(--text-soft);font-size:13px}.group-fund-monthly-report__section-card{border:1px solid color-mix(in srgb,var(--border) 88%,transparent);border-radius:16px;padding:18px;background:color-mix(in srgb,var(--surface-soft) 38%,transparent);display:grid;gap:16px}.group-fund-monthly-report__section-body{display:grid;gap:16px}.group-fund-monthly-report__summary-block{display:grid;gap:10px}.group-fund-monthly-report__summary-header{display:grid;gap:4px}.group-fund-monthly-report__summary-header h6,.group-fund-monthly-report__summary-header p{margin:0}.group-fund-monthly-report__summary-header h6{font-size:15px}.group-fund-monthly-report__summary-header p{color:var(--text-soft);font-size:13px}.group-fund-monthly-report__totals-wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.group-fund-monthly-report__totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.group-fund-monthly-report__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.group-fund-monthly-report__section-header{display:grid;gap:10px}.group-fund-monthly-report__section-titleline{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.group-fund-monthly-report__section-heading,.group-fund-monthly-report__section-header h5,.group-fund-monthly-report__section-header p{margin:0}.group-fund-monthly-report__section-header h5{font-size:20px;line-height:1.25}.group-fund-monthly-report__section-header p{color:var(--text-soft);font-size:13px;line-height:1.5}.group-fund-monthly-report__actions{justify-content:flex-end}.group-fund-monthly-report__toggle{display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;padding:0;border:0;background:transparent;color:var(--text-main);font-size:22px;font-weight:700;line-height:1.25;text-align:left}.group-fund-monthly-report__toggle:focus-visible{outline:2px solid color-mix(in srgb,var(--brand) 44%,transparent);outline-offset:2px}.group-fund-monthly-review__layout{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:16px}.group-fund-monthly-review__content{display:grid;gap:16px}.group-fund-monthly-review__reminder-card{border:1px solid color-mix(in srgb,var(--border) 88%,transparent);border-radius:16px;background:linear-gradient(140deg,color-mix(in srgb,var(--brand) 8%,transparent),transparent 82%),color-mix(in srgb,var(--surface-soft) 34%,transparent);padding:16px;display:flex;justify-content:space-between;gap:16px;align-items:end}.group-fund-monthly-review__reminder-copy h4,.group-fund-monthly-review__reminder-copy p{margin:0}.group-fund-monthly-review__reminder-copy p{margin-top:6px;color:var(--text-soft);font-size:13px}.group-fund-monthly-review__reminder-controls{display:flex;gap:12px;align-items:end}.group-fund-monthly-review__reminder-field{display:grid;gap:6px;min-width:180px}.group-fund-monthly-review__reminder-field span{color:var(--text-soft);font-size:13px}.group-fund-monthly-review__reminder-field select{width:100%;border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:var(--surface);color:var(--text);box-shadow:inset 0 1px color-mix(in srgb,#ffffff 4%,transparent)}.group-fund-monthly-review__reminder-field select:focus-visible{outline:2px solid color-mix(in srgb,var(--brand) 42%,transparent);outline-offset:2px}.group-fund-monthly-review__sidebar,.group-fund-monthly-review__detail{border:1px solid color-mix(in srgb,var(--border) 88%,transparent);border-radius:16px;background:color-mix(in srgb,var(--surface-soft) 34%,transparent);padding:14px}.group-fund-monthly-review__sidebar{display:grid;gap:10px;align-content:start}.group-fund-monthly-review__row{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:12px 14px;border:1px solid color-mix(in srgb,var(--border) 88%,transparent);border-radius:14px;background:color-mix(in srgb,var(--surface) 86%,transparent);cursor:pointer;transition:border-color .14s ease,transform .14s ease,background .14s ease}.group-fund-monthly-review__row:hover{border-color:color-mix(in srgb,var(--brand) 32%,var(--border));transform:translateY(-1px)}.group-fund-monthly-review__row.is-active{border-color:color-mix(in srgb,var(--brand) 44%,var(--border));background:linear-gradient(140deg,color-mix(in srgb,var(--brand) 10%,transparent),transparent 75%),color-mix(in srgb,var(--surface) 88%,transparent)}.group-fund-monthly-review__row strong,.group-fund-monthly-review__header h4{font-family:Space Grotesk,sans-serif}.group-fund-monthly-review__row p,.group-fund-monthly-review__header p{margin:4px 0 0;color:var(--text-soft);font-size:13px}.group-fund-monthly-review__row-status,.group-fund-monthly-review__status{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--border) 88%,transparent);background:color-mix(in srgb,var(--surface-soft) 60%,transparent);color:var(--text-soft);font-size:12px;font-weight:700;white-space:nowrap}.group-fund-monthly-review__detail{display:grid;gap:14px}.group-fund-monthly-review__header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.group-fund-monthly-review__header h4,.group-fund-monthly-review__delta-card h5{margin:0}.group-fund-monthly-review__meta{display:flex;flex-wrap:wrap;gap:10px}.group-fund-monthly-review__meta-item{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1px solid color-mix(in srgb,var(--border) 88%,transparent);background:color-mix(in srgb,var(--surface) 86%,transparent);color:var(--text-soft);font-size:13px}.group-fund-monthly-review__meta-item strong{color:var(--text-main)}.group-fund-monthly-review__cards,.group-fund-monthly-review__delta-grid{display:grid;gap:12px}.group-fund-monthly-review__cards{grid-template-columns:repeat(2,minmax(0,1fr))}.group-fund-monthly-review__delta-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.group-fund-monthly-review__delta-card{border:1px solid color-mix(in srgb,var(--border) 88%,transparent);border-radius:16px;padding:14px;background:linear-gradient(140deg,color-mix(in srgb,var(--brand) 6%,transparent),transparent 82%),color-mix(in srgb,var(--surface) 86%,transparent);display:grid;gap:8px}.group-fund-monthly-review__delta-card p{margin:0;color:var(--text-soft);font-size:13px;line-height:1.5}.group-fund-monthly-review__delta-card strong{font-size:24px;font-family:Space Grotesk,sans-serif}.group-fund-monthly-review__delta-header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.group-fund-monthly-review__classification{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--border) 88%,transparent);background:color-mix(in srgb,var(--surface-soft) 60%,transparent);color:var(--text-soft);font-size:12px;font-weight:700;white-space:nowrap}.group-fund-monthly-review__classification.is-on-target{border-color:color-mix(in srgb,#34d399 55%,var(--border));color:#c7f9dd}.group-fund-monthly-review__classification.is-over{border-color:color-mix(in srgb,#fb923c 55%,var(--border));color:#ffd5ae}.group-fund-monthly-review__classification.is-under{border-color:color-mix(in srgb,#60a5fa 55%,var(--border));color:#d4e5ff}.group-fund-monthly-review__detail-toggle{display:inline-flex;align-items:center;gap:6px;justify-self:flex-start;padding:0;border:0;background:transparent;color:var(--brand);font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.group-fund-monthly-review__detail-toggle:hover{color:color-mix(in srgb,var(--brand) 78%,white)}.group-fund-monthly-review__detail-toggle:focus-visible{outline:2px solid color-mix(in srgb,var(--brand) 44%,transparent);outline-offset:2px;border-radius:6px}.group-fund-monthly-review__detail-panel{border:1px solid color-mix(in srgb,var(--border) 88%,transparent);border-radius:16px;margin-top:8px;padding:14px;background:color-mix(in srgb,var(--surface-soft) 28%,transparent);display:grid;gap:12px}.group-fund-monthly-review__detail-panel-header h5,.group-fund-monthly-review__detail-panel-header p{margin:0}.group-fund-monthly-review__detail-panel-header p{margin-top:4px;color:var(--text-soft);font-size:13px}.group-fund-monthly-review__detail-list{display:grid;gap:12px}.group-fund-monthly-review__detail-item{border:1px solid color-mix(in srgb,var(--border) 88%,transparent);border-radius:14px;padding:12px 14px;background:color-mix(in srgb,var(--surface) 88%,transparent);display:grid;gap:10px}.group-fund-monthly-review__detail-title{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.group-fund-monthly-review__detail-title strong,.group-fund-monthly-review__detail-title p{margin:0}.group-fund-monthly-review__detail-title p{margin-top:4px;color:var(--text-soft);font-size:13px}.group-fund-monthly-review__detail-values{display:flex;flex-wrap:wrap;gap:12px;color:var(--text-soft);font-size:13px}.group-fund-monthly-review__detail-values strong{color:var(--text-main)}.module-shell{margin-top:16px;display:grid;gap:14px}.settings-shell{margin-top:16px;display:grid;gap:14px;min-width:0}.settings-block{border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:var(--shadow);padding:16px;display:grid;gap:12px}.settings-block--muted{opacity:.9}.coming-soon-banner{border:1px dashed var(--border);border-radius:12px;padding:12px;background:var(--surface-soft)}.coming-soon-banner strong{color:var(--brand)}.coming-soon-banner p{margin:8px 0 0;color:var(--text-soft)}.hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.hub-group+.hub-group{margin-top:10px}.hub-group__title{margin:0 0 8px;font-family:IBM Plex Mono,monospace;color:var(--text-soft);font-size:12px}.hub-card{border:1px solid var(--border);border-radius:12px;padding:12px 14px;background:var(--surface);color:var(--text);text-align:left;font-weight:700;cursor:pointer}.hub-card:hover{border-color:#99f6e4}.settings-header h3{margin:0;font-family:Space Grotesk,sans-serif;font-size:24px}.settings-header p{margin:4px 0 0;color:var(--text-soft)}.card-form-grid{align-items:end}.card-toggle{margin-bottom:10px}.settings-meta{margin-top:10px;border:1px dashed #99f6e4;border-radius:12px;padding:10px 12px;background:#f0fdfa}.settings-meta p{margin:0;color:#0f766e;font-size:13px}.settings-meta p+p{margin-top:4px}.group-fund-step5-lock-state{display:grid;gap:8px}.group-fund-step5-snapshots__header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:12px}.group-fund-step5-snapshots__header>div{display:grid;gap:6px}.group-fund-step5-snapshots__header>.soft-btn{margin-top:4px}.group-fund-step5-health-status.is-healthy{color:#0f766e}.group-fund-step5-health-status.is-alert{color:#b91c1c}.group-switch-row select{width:100%;border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:var(--surface);color:var(--text)}.group-create-block{margin-top:16px;display:grid;gap:8px}.group-create-block label{color:var(--text-soft);font-size:13px}.group-create-row{display:flex;gap:8px}.group-create-row input{flex:1;min-width:0;border:1px solid var(--border);border-radius:10px;padding:10px 12px}.group-card-create-grid{display:grid;grid-template-columns:minmax(0,2fr) repeat(3,minmax(88px,.8fr)) auto;gap:8px}.group-card-create-grid input{min-width:0;border:1px solid var(--border);border-radius:10px;padding:10px 12px}.group-panel{margin-top:14px;border:1px solid var(--border);border-radius:14px;padding:14px;background:color-mix(in srgb,var(--surface) 88%,transparent);min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.group-panel__header{min-width:0;width:100%;max-width:100%;display:grid;overflow:hidden}.group-panel__header h4{margin:0;width:100%;max-width:100%;font-size:18px;font-family:Space Grotesk,sans-serif;overflow-wrap:anywhere;word-break:break-word;overflow:hidden}.group-panel__header p{margin:4px 0 6px;width:100%;max-width:100%;color:var(--text-soft);font-size:13px;overflow-wrap:anywhere;word-break:break-word;overflow:hidden}.group-panel code{font-family:IBM Plex Mono,monospace;font-size:12px}.group-members-block{margin-top:14px}.group-members-block__header h5{margin:0;font-size:15px}.group-members-block__header p{margin:4px 0 10px;color:var(--text-soft);font-size:13px}.group-members-table{min-width:560px}.group-members-table td:first-child{word-break:break-all}.group-bank-results,.group-card-results{margin-top:12px}.group-member-self-label{color:var(--text-soft);font-size:12px;font-weight:600}.settings-guide{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.settings-guide__action{border:0;padding:0;margin:0;background:transparent;color:#0f766e;font-weight:700;text-decoration:underline;cursor:pointer}.settings-block--focus{animation:settingsFocusPulse 1.4s ease}@keyframes settingsFocusPulse{0%{box-shadow:0 0 #14b8a659}to{box-shadow:0 0 0 12px #14b8a600}}.webpush-meta{margin-top:0}.webpush-endpoint{overflow-wrap:anywhere;font-family:IBM Plex Mono,monospace;font-size:12px}.module-header{display:flex;justify-content:space-between;gap:12px;align-items:center}.module-header h3{margin:0;font-family:Space Grotesk,sans-serif;font-size:24px}.module-header p{margin:4px 0 0;color:var(--text-soft)}.settings-header-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.help-icon-btn{width:30px;height:30px;border-radius:999px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-soft) 75%,transparent);color:var(--text);font-weight:700;line-height:1;cursor:pointer}.help-icon-btn:hover{border-color:var(--accent);color:var(--accent)}.help-modal[hidden]{display:none}.help-modal{position:fixed;inset:0;z-index:90}.help-modal__backdrop{position:absolute;inset:0;background:#0206178f}.help-modal__content{position:relative;width:min(560px,calc(100vw - 28px));margin:max(8vh,24px) auto;border-radius:16px;border:1px solid var(--border);background:var(--surface);box-shadow:0 24px 64px #0f172a40;padding:16px}.help-modal__header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.help-modal__header h4{margin:0;font-size:18px}.help-modal__body{display:grid;gap:10px}.help-modal__body p{margin:0;color:var(--text-soft);line-height:1.6}body.modal-open{overflow:hidden}.module-form{border:1px solid var(--border);border-radius:16px;padding:16px;background:var(--surface);box-shadow:var(--shadow)}.module-form-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.module-form-group{display:grid;gap:6px}.module-form-group label{font-size:12px;color:var(--text-soft)}.module-form-group input,.module-form-group select{width:100%;border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:var(--surface);color:var(--text);font:inherit;line-height:1.4;appearance:none;-webkit-appearance:none;-moz-appearance:textfield}.module-form-group input[type=number]::-webkit-outer-spin-button,.module-form-group input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.metric-card{border:1px solid var(--border);border-radius:12px;padding:12px;background:color-mix(in srgb,var(--surface-soft) 70%,transparent)}.metric-card p{margin:0;color:var(--text-soft);font-size:12px}.metric-card strong{display:block;margin-top:6px;font-size:22px}.group-fixed-expense-form{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.group-bank-setting-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:12px}.settings-subtitle{margin:14px 0 8px;font-size:14px;color:var(--text-soft)}.table-input{width:92px;border:1px solid var(--border);border-radius:8px;padding:6px 8px;background:var(--surface);color:var(--text)}.table-input--wide{width:132px}.table-select{width:120px;height:34px;padding:4px 8px}.wizard-table{margin-top:12px}.wizard-steps{margin-top:12px;margin-bottom:14px}.wizard-current-step{margin:0 0 10px;font-size:13px;color:var(--brand);font-weight:700}.wizard-step-list{display:flex;flex-wrap:wrap;gap:8px}.wizard-step-chip{appearance:none;border:1px solid var(--border);border-radius:999px;padding:6px 10px;font-size:12px;color:var(--text-soft);background:color-mix(in srgb,var(--surface-soft) 60%,transparent);cursor:pointer;transition:border-color .16s ease,color .16s ease,background .16s ease,opacity .16s ease}.wizard-step-chip:disabled{border:1px solid var(--border);color:color-mix(in srgb,var(--text-soft) 70%,transparent);opacity:.45;cursor:not-allowed}.wizard-step-chip.is-active{border-color:#99f6e4;background:color-mix(in srgb,var(--surface-soft) 80%,transparent);color:var(--brand);font-weight:700}.data-table input,.data-table select{border:1px solid var(--border);border-radius:8px;padding:6px 8px;background:var(--surface);color:var(--text)}.group-member-display-row{margin-top:8px;display:flex;gap:8px;align-items:center}.group-member-display-input{width:min(280px,100%)}.form-field{display:grid;gap:6px}.form-field span{font-size:12px;color:var(--text-soft)}.form-field--system{border:1px dashed #94a3b8;border-radius:12px;padding:8px;background:#f8fafc}.form-field--system span:after{content:" (system)";font-size:11px;color:#64748b}.form-field--channels{border:1px dashed var(--border);border-radius:12px;padding:10px}.form-field--channels legend{padding:0 6px;font-size:12px;color:var(--text-soft)}.form-field input{border:1px solid var(--border);border-radius:10px;padding:10px 12px}.form-field select{border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:#fff}.form-field--static{border:1px solid var(--border);border-radius:10px;padding:10px 12px;align-content:center;background:color-mix(in srgb,var(--surface-soft) 54%,transparent)}.form-field--static strong{color:var(--text-main)}.form-field__hint{display:block;margin-top:.35rem;font-size:.75rem;color:#bfdbfeb8}.form-field input[readonly]{background:#f8fafc;color:#475569}.checkbox-field{margin-top:10px;display:inline-flex;align-items:center;gap:8px;font-size:14px}.form-actions{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}.collapse-toggle{display:none;width:100%;border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:var(--surface);color:var(--text);font-weight:600;text-align:left;align-items:center;justify-content:space-between;cursor:pointer}.collapse-toggle__state{font-size:12px;color:var(--text-soft)}.collapsible-body.is-collapsed{margin-top:0}.list-header{display:grid;gap:.85rem;color:var(--text-soft)}.list-header p{margin:0}.list-header__meta{display:flex;gap:1rem;flex-wrap:wrap}.ledger-filters{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.ledger-filters .soft-btn.is-active{border-color:#2dd4bfb8;color:#d1fae5}.ledger-filters__inline-field{display:inline-flex;align-items:center;gap:.55rem;min-height:42px;padding:0 .2rem 0 0}.ledger-filters__inline-field span{color:#94a3b8e6;font-size:.78rem;white-space:nowrap}.ledger-filters__inline-field select,.ledger-filters__inline-field input{min-height:42px;width:auto;border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:var(--surface);color:var(--text);font:inherit;line-height:1.4;appearance:none;-webkit-appearance:none}.ledger-filters__inline-field select{min-width:128px}.ledger-filters__inline-field input{min-width:148px}.ledger-filters__stack-field{display:grid;gap:.32rem}.ledger-filters__stack-field span{color:#94a3b8e6;font-size:.78rem}.ledger-filters__stack-field select,.ledger-filters__stack-field input{width:100%;min-height:42px;border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:var(--surface);color:var(--text);font:inherit;line-height:1.4}.ledger-filter-sheet{position:fixed;inset:0;z-index:90}.ledger-filter-sheet__backdrop{position:absolute;inset:0;border:none;background:#02061785}.ledger-filter-sheet__panel{position:absolute;inset-inline:0;bottom:0;display:grid;gap:1rem;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom,0px));border-radius:22px 22px 0 0;background:linear-gradient(180deg,#0f172afa,#0f172af0);border-top:1px solid rgba(148,163,184,.18);box-shadow:0 -18px 36px #02061757}.ledger-filter-sheet__header,.ledger-filter-sheet__footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.ledger-filter-sheet__header strong{font-size:.98rem}.ledger-filter-sheet__body{display:grid;gap:.85rem}.ledger-filter-sheet__date-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.empty-state{border:1px dashed #99f6e4;border-radius:14px;padding:18px;color:var(--text-soft);background:#f0fdfa}.auth-gate{margin-top:18px;border:1px solid var(--border);border-radius:16px;padding:24px;background:var(--surface);box-shadow:var(--shadow)}.auth-gate h3{margin:0;font-family:Space Grotesk,sans-serif;font-size:24px}.auth-gate p{margin:10px 0 0;color:var(--text-soft)}.auth-gate .primary-btn{margin-top:16px}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:14px;background:var(--surface);min-width:0}body[data-theme=dark] .table-wrap,body[data-theme=dark] .data-table th,body[data-theme=dark] .module-form,body[data-theme=dark] .settings-block,body[data-theme=dark] .kpi-card,body[data-theme=dark] .risk-card,body[data-theme=dark] .dashboard-chart-card,body[data-theme=dark] .ledger-form{background:var(--surface)}body[data-theme=dark] .status-panel{border-color:#1d4ed8;background:#0b1f43;color:#bfdbfe}body[data-theme=dark] .status-panel--error{border-color:#b91c1c;background:#3f1d1d;color:#fecaca}body[data-theme=dark] .feedback-toast{border-color:#1d4ed8;background:#0b1f43f2;color:#bfdbfe}body[data-theme=dark] .feedback-toast--error{border-color:#b91c1c;background:#3f1d1df2;color:#fecaca}body[data-theme=dark] .settings-guide__action{color:#5eead4}body[data-theme=dark] .ios-install-guide{border-color:#134e4a;background:#0b2530;color:#99f6e4}body[data-theme=dark] .ios-install-guide__content p{color:#7dd3fc}body[data-theme=dark] .ledger-input-row input,body[data-theme=dark] .form-field input,body[data-theme=dark] .form-field select,body[data-theme=dark] .ledger-filters__inline-field select,body[data-theme=dark] .ledger-filters__inline-field input,body[data-theme=dark] .ledger-filters__stack-field select,body[data-theme=dark] .ledger-filters__stack-field input,body[data-theme=dark] .group-switch-row select,body[data-theme=dark] .group-create-row input,body[data-theme=dark] .group-card-create-grid input,body[data-theme=dark] .system-controls select,body[data-theme=dark] .system-controls button,body[data-theme=dark] .auth-controls button{background:#0b1220;border-color:#334155;color:#e2e8f0}body[data-theme=dark] .form-field input[readonly]{background:#111c34;color:#cbd5e1}body[data-theme=dark] .form-field--system{border-color:#334155;background:#0d172b}body[data-theme=dark] .form-field--system span:after{color:#94a3b8}body[data-theme=dark] .soft-btn{background:#111827;border-color:#334155;color:#cbd5e1}body[data-theme=dark] .collapse-toggle{background:#111827;border-color:#334155;color:#dbe7ff}body[data-theme=dark] .collapse-toggle__state{color:#9fb0cd}body[data-theme=dark] .danger-btn{background:#2b1212;border-color:#7f1d1d;color:#fecaca}body[data-theme=dark] .data-table td,body[data-theme=dark] .data-table th{border-bottom-color:#334155;color:#cbd5e1}body[data-theme=dark] .data-table th{background:#0b1220}body[data-theme=dark] .settings-meta,body[data-theme=dark] .empty-state{border-color:#134e4a;background:#0b2530}body[data-theme=dark] .dashboard-stackbar,body[data-theme=dark] .dashboard-threshold__bar{background:#0b1220}body[data-theme=dark] .dashboard-threshold__marker{background:#cbd5e1}body[data-theme=dark] .dashboard-threshold__status.is-warning{background:#3f1d1d;color:#fecaca}body[data-theme=dark] .dashboard-threshold__status.is-normal{background:#0b2530;color:#99f6e4}body[data-theme=dark] .group-panel,body[data-theme=dark] .auth-gate{border-color:#334155;background:#0b1220}body[data-theme=dark] .auth-gate p{color:#b6c6dc}body[data-theme=dark] .settings-meta p,body[data-theme=dark] .empty-state p{color:#99f6e4}body[data-theme=dark] .inline-warning{border-color:#7c2d12;background:#2b1707;color:#fdba74}body[data-theme=dark] .help-icon-btn{background:#0f172a;border-color:#334155;color:#dbe7ff}body[data-theme=dark] .help-modal__content{background:#0b1220;border-color:#334155;box-shadow:0 24px 64px #020617a6}body[data-theme=dark] .help-modal__body p{color:#cbd5e1}body[data-theme=dark] .table-input,body[data-theme=dark] .data-table input,body[data-theme=dark] .data-table select{background:#0f172a;border-color:#334155;color:#e2e8f0}body[data-theme=dark] .status-badge--warn{background:#422006;border-color:#854d0e;color:#fde68a}body[data-theme=dark] .status-badge--danger{background:#3f1515;border-color:#7f1d1d;color:#fecaca}body[data-theme=dark] .topbar h2,body[data-theme=dark] .module-header h3{color:#c7f9f2;text-shadow:0 1px 2px rgba(15,23,42,.6)}body[data-theme=dark] .module-header p,body[data-theme=dark] .settings-header p{color:#bfece6}.data-table{width:100%;border-collapse:collapse;min-width:760px}.data-table th,.data-table td{border-bottom:1px solid #e2e8f0;padding:10px 12px;text-align:left}.data-table th{background:#e7edf3;color:#334155;font-size:13px}.table-actions{display:flex;gap:6px}.table-btn{min-height:30px;padding:.25rem .6rem;border:1px solid rgba(148,163,184,.28);border-radius:999px;background:#0f172a7a;color:#e2e8f0;cursor:pointer;font-size:.78rem}.table-btn--danger{border-color:#f8717166;color:#fecaca}.inline-warning{margin:8px 0 0;border:1px solid #fde68a;border-radius:10px;padding:8px 10px;background:#fffbeb;color:#92400e;font-size:13px}.status-badge{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:600;border:1px solid var(--border)}.status-badge--open{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.status-badge--settled{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.status-badge--warn{background:#fefce8;border-color:#fde68a;color:#a16207}.status-badge--danger{background:#fef2f2;border-color:#fecaca;color:#991b1b}@media(max-width:1120px){.dashboard-chart-grid{grid-template-columns:1fr}.kpi-grid,.module-form-grid,.group-fixed-expense-form{grid-template-columns:repeat(2,minmax(0,1fr))}.group-bank-setting-grid,.stats-grid{grid-template-columns:1fr}.provident-dashboard__toolbar{grid-template-columns:1fr;align-items:stretch}.provident-dashboard__summary-grid,.provident-dashboard__template-grid,.provident-dashboard__summary-grid--legacy{grid-template-columns:repeat(2,minmax(0,1fr))}.provident-dashboard__grid{grid-template-columns:1fr}.provident-dashboard__panel--wide{grid-column:auto}}@media(max-width:1024px){body{overflow-x:hidden}.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;z-index:30;top:0;left:0;width:min(86vw,320px);height:100dvh;border-right:1px solid var(--border);border-bottom:0;padding:20px;transform:translate(-100%);transition:transform .18s ease;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.app-shell.menu-open .sidebar{transform:translate(0)}.backdrop{position:fixed;inset:0;z-index:20}.app-shell.menu-open .backdrop{display:block}.mobile-header{display:flex;position:sticky;top:0;z-index:25;margin:-18px -18px 16px;padding:calc(10px + env(safe-area-inset-top,0px)) 18px 10px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.main{padding:18px;min-width:0}.status-panel{display:none}.collapse-toggle{display:flex;margin:4px 0 10px}}@media(max-width:640px){.dashboard-chart-card__header,.dashboard-threshold__meta,.dashboard-threshold__caption{flex-direction:column}.topbar h2{font-size:28px}.ledger-form{width:100%}.kpi-grid{grid-template-columns:1fr}.kpi-value{font-size:26px}.module-form-grid{grid-template-columns:1fr}.wizard-step-list{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.wizard-step-chip{flex:0 0 auto;white-space:nowrap}.group-fund-wizard-actions{position:sticky;bottom:10px;z-index:5;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;border:1px solid color-mix(in srgb,var(--brand) 18%,var(--border));border-radius:16px;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.group-fund-wizard-actions>*{width:100%}.data-table--stack-mobile{min-width:100%;border-collapse:separate;border-spacing:0}.data-table--stack-mobile thead{display:none}.data-table--stack-mobile,.data-table--stack-mobile tbody,.data-table--stack-mobile tr,.data-table--stack-mobile td{display:block;width:100%}.data-table--stack-mobile tr{padding:14px;border-bottom:1px solid #e2e8f0}.data-table--stack-mobile tr:last-child{border-bottom:0}.data-table--stack-mobile td{border-bottom:0;padding:0}.data-table--stack-mobile td+td{margin-top:10px}.data-table--stack-mobile td:before{content:attr(data-label);display:block;margin-bottom:4px;color:var(--text-soft);font-size:12px;font-weight:700}.data-table--stack-mobile td[data-label=""]:before{display:none}.data-table--stack-mobile td button,.data-table--stack-mobile td input,.data-table--stack-mobile td select{width:100%}.wizard-table:has(.data-table--stack-mobile){overflow:visible}.provident-dashboard__summary-grid,.provident-dashboard__template-grid,.provident-dashboard__summary-grid--legacy{grid-template-columns:1fr 1fr}.group-fund-monthly-report__totals,.group-fund-monthly-report__totals-wrap,.group-fund-monthly-report__grid,.group-fund-monthly-report__control-grid,.group-fund-monthly-review__cards,.group-fund-monthly-review__delta-grid,.group-fund-monthly-review__layout{grid-template-columns:1fr}.group-fund-monthly-report__topbar,.group-fund-monthly-report__template-card,.group-fund-monthly-review__reminder-card,.group-fund-monthly-review__reminder-controls{flex-direction:column;align-items:stretch}.group-fund-monthly-review__reminder-field{min-width:0}.group-fund-monthly-report__meta{flex-direction:column;align-items:stretch}.group-fund-monthly-report__meta-item{justify-content:space-between;border-radius:14px}.provident-dashboard__summary-card,.provident-dashboard__panel{padding:14px}.provident-dashboard__summary-card strong{font-size:24px}.provident-dashboard__panel-header{flex-direction:column}.provident-dashboard__panel-legend{justify-content:flex-start}.provident-dashboard__bank-flow-meta,.provident-dashboard__activity-meta,.provident-dashboard__bank-flow-caption{flex-direction:column;align-items:flex-start}.provident-dashboard__donut-wrap{justify-items:stretch}.provident-dashboard__donut{width:min(220px,100%);margin-inline:auto}.provident-dashboard__toolbar-copy h4{font-size:21px}.provident-dashboard__selector{padding:10px}.provident-dashboard__selector select{width:100%}.group-fund-monthly-report__header-meta,.group-fund-monthly-review__header,.group-fund-monthly-review__row,.group-fund-monthly-review__meta,.group-fund-monthly-review__detail-title,.group-fund-monthly-review__delta-header,.group-fund-monthly-review__detail-values{flex-direction:column;align-items:flex-start}.group-fund-monthly-review__row-status,.group-fund-monthly-review__status,.group-fund-monthly-review__meta-item{white-space:normal}.group-fund-monthly-report .data-table--stack-mobile tr{display:grid;grid-template-columns:1fr;gap:8px;padding:14px;border-bottom:1px solid #e2e8f0}.group-fund-monthly-report .data-table--stack-mobile td{display:block;margin:0;padding:0;border:0;border-radius:0;background:transparent}.group-fund-monthly-report .data-table--stack-mobile td+td{margin-top:8px}.group-fund-monthly-report .data-table--stack-mobile td:before{display:inline;margin-bottom:0;margin-right:8px}.group-fund-monthly-report .data-table--stack-mobile td:has(input),.group-fund-monthly-report .data-table--stack-mobile td:has(select),.group-fund-monthly-report .data-table--stack-mobile td:has(textarea){display:grid;gap:6px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--border) 88%,transparent);border-radius:12px;background:color-mix(in srgb,var(--surface-soft) 38%,transparent)}.group-fund-monthly-report .data-table--stack-mobile td:has(input):before,.group-fund-monthly-report .data-table--stack-mobile td:has(select):before,.group-fund-monthly-report .data-table--stack-mobile td:has(textarea):before{display:block;margin-right:0}.group-fund-monthly-report .data-table--stack-mobile td:not(:has(input)):not(:has(select)):not(:has(textarea)){width:100%;color:var(--text-main)}.group-fund-monthly-report .data-table--stack-mobile td button,.group-fund-monthly-report .data-table--stack-mobile td input,.group-fund-monthly-report .data-table--stack-mobile td select{width:100%}.group-fund-monthly-report__section-card{padding:14px}.group-fund-monthly-report__actions{position:sticky;bottom:12px;z-index:2;padding:10px;border-radius:16px;background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);justify-content:stretch}.group-fund-monthly-report__actions .soft-btn,.group-fund-monthly-report__actions .primary-btn{width:100%}.group-fixed-expense-form{grid-template-columns:1fr}.group-create-row{flex-direction:column;align-items:stretch}.group-create-row .primary-btn,.group-create-row .soft-btn{width:100%}.group-card-create-grid{grid-template-columns:1fr}.group-card-create-grid .primary-btn{width:100%}.group-members-table{min-width:100%}.group-member-display-row{flex-direction:column;align-items:stretch}.group-member-display-input,.group-member-display-row .soft-btn{width:100%}.module-header{align-items:start;flex-direction:column}.hub-grid{grid-template-columns:1fr}.help-modal__content{width:calc(100vw - 20px);margin:12px auto;max-height:calc(100dvh - 24px);overflow:auto}.help-modal__header{position:sticky;top:0;background:inherit;padding-bottom:8px}body[data-theme=dark] .data-table--stack-mobile tr{border-bottom-color:#334155}}.home-cockpit{--home-paper: linear-gradient(135deg, rgba(15, 23, 42, .96), rgba(10, 16, 34, .92));--home-line: rgba(148, 163, 184, .22);display:grid;gap:1.5rem}.home-cockpit__hero{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(18rem,.8fr);gap:1.5rem;padding:clamp(1.4rem,3vw,2.4rem);border:1px solid var(--home-line);background:radial-gradient(circle at top right,rgba(56,189,248,.14),transparent 28rem),radial-gradient(circle at bottom left,rgba(249,115,22,.1),transparent 22rem),var(--home-paper);box-shadow:inset 0 1px #ffffff08,0 22px 60px #02061752;overflow:hidden}.home-cockpit__hero:after{content:"";position:absolute;inset:1rem;border:1px solid rgba(148,163,184,.08);pointer-events:none}.home-cockpit__hero-copy,.home-cockpit__status-stage{position:relative;z-index:1}.home-cockpit__kicker{margin:0 0 .8rem;font-size:.82rem;letter-spacing:.24em;text-transform:uppercase;color:#bfdbfeb3}.home-cockpit__badge{display:inline-flex;align-items:center;padding:.28rem .7rem;border:1px solid rgba(255,255,255,.16);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:#e2e8f0e6;background:#0f172a66}.home-cockpit__badge.is-provident{border-color:#22c55e5c}.home-cockpit__badge.is-debt{border-color:#f973165c}.home-cockpit__headline{max-width:14ch;margin:1rem 0 .75rem;font-size:clamp(2rem,4.4vw,4rem);line-height:.96;letter-spacing:-.04em;color:#f8fafc}.home-cockpit__subcopy{max-width:38rem;margin:0;font-size:1rem;line-height:1.7;color:#cbd5e1d1}.home-cockpit__hero-actions{margin-top:1.4rem}.home-cockpit__primary-cta,.home-cockpit__entry{transition:transform .16s ease,border-color .16s ease,background .16s ease}.home-cockpit__primary-cta{display:inline-flex;align-items:center;justify-content:center;min-width:13rem;padding:.95rem 1.3rem;border:1px solid rgba(125,211,252,.35);background:linear-gradient(135deg,#082f49eb,#0c4a6ec7);color:#f8fafc;font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.home-cockpit__primary-cta:hover,.home-cockpit__entry:hover{transform:translateY(-2px)}.home-cockpit__status-stage{display:grid;gap:1rem;align-content:end}.home-cockpit__status-node{display:grid;grid-template-columns:auto 1fr;gap:.95rem;padding:1rem 1.05rem;border:1px solid rgba(148,163,184,.16);background:linear-gradient(180deg,#0f172ad1,#0f172a94)}.home-cockpit__status-node strong,.home-cockpit__status-node span,.home-cockpit__status-label,.home-cockpit__status-index{display:block}.home-cockpit__status-index{font-size:.78rem;letter-spacing:.2em;color:#94a3b8b3}.home-cockpit__status-label{margin-bottom:.3rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:#bfdbfeb8}.home-cockpit__status-node strong{font-size:1.15rem;color:#f8fafc}.home-cockpit__status-node span{margin-top:.35rem;color:#cbd5e1c7}.home-cockpit__status-node.is-warning{box-shadow:inset 3px 0 #f97316e6}.home-cockpit__status-node.is-calm,.home-cockpit__status-node.is-active{box-shadow:inset 3px 0 #22c55ee6}.home-cockpit__status-node.is-muted{box-shadow:inset 3px 0 #94a3b8b3}.home-cockpit__entry-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}.home-cockpit__daily-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.home-cockpit__daily-panel{display:grid;gap:.6rem;padding:1rem 1.05rem;border:1px solid var(--home-line);background:linear-gradient(160deg,#0f172ac7,#0f172a9e),radial-gradient(circle at top left,rgba(56,189,248,.12),transparent 16rem);color:#e2e8f0}.home-cockpit__daily-head{display:flex;justify-content:space-between;gap:.8rem;align-items:center}.home-cockpit__daily-kicker{margin:0;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:#7dd3fcb8}.home-cockpit__daily-cta{border:1px solid rgba(125,211,252,.28);background:#0f172a61;color:#f8fafc;padding:.45rem .7rem;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.home-cockpit__daily-panel strong{font-size:1.05rem;color:#f8fafc}.home-cockpit__daily-panel span{color:#cbd5e1c7;line-height:1.6}.home-cockpit__entry{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.9rem;padding:1rem 1.05rem;border:1px solid var(--home-line);background:linear-gradient(135deg,#0f172ae0,#0f172ab8);color:#e2e8f0;text-align:left;cursor:pointer}.home-cockpit__entry-index{font-size:.76rem;letter-spacing:.16em;color:#7dd3fcb8}.home-cockpit__entry-label{font-size:.95rem;letter-spacing:.06em;text-transform:uppercase}.home-cockpit__entry-arrow{font-size:1rem;color:#f8fafce0}@media(max-width:960px){.home-cockpit__hero{grid-template-columns:1fr}}@media(max-width:640px){.home-cockpit__headline{max-width:none;font-size:clamp(1.9rem,10vw,3rem)}.home-cockpit__entry-row,.home-cockpit__daily-grid{grid-template-columns:1fr}}.category-manager{display:grid;gap:.8rem;padding:.9rem;border:1px solid rgba(148,163,184,.24);border-radius:14px;background:#0f172a47}.category-manager__header{display:grid;gap:.2rem}.category-manager__header small{color:#94a3b8e0}.category-manager__create{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,220px) auto;gap:.75rem}.category-manager__create input,.category-manager__create select{width:100%;min-height:44px;padding:.75rem .9rem;border-radius:12px;border:1px solid rgba(148,163,184,.26);background:#0f172a9e;color:#e2e8f0}.category-manager__create input::placeholder{color:#94a3b8cc}.category-manager__create input:focus,.category-manager__create select:focus{outline:none;border-color:#2dd4bfb8;box-shadow:0 0 0 3px #2dd4bf1f}.category-manager__chips{display:flex;flex-wrap:wrap;gap:.5rem}.category-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .7rem;border-radius:999px;background:#334155d1;color:#e2e8f0;font-size:.88rem}.category-chip__delete{border:none;background:transparent;color:inherit;cursor:pointer;padding:0;line-height:1}.category-chip__action{border:none;background:transparent;color:#7dd3fcf5;cursor:pointer;padding:0;font-size:.8rem}.category-chip__input{min-width:120px;padding:.2rem .45rem;border-radius:999px;border:1px solid rgba(148,163,184,.26);background:#0f172aa3;color:#e2e8f0}.category-chip__select{min-width:110px;padding:.2rem .55rem;border-radius:999px;border:1px solid rgba(148,163,184,.26);background:#0f172aa3;color:#e2e8f0}.ledger-stage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin-bottom:1.25rem}.ledger-stage__actions{display:flex;gap:.75rem;align-items:center}.ledger-stage__tab{display:grid;gap:.25rem;padding:1rem 1.1rem;border:1px solid rgba(148,163,184,.22);border-radius:18px;background:linear-gradient(145deg,#0f172ad1,#1e293bad);color:#e2e8f0;text-align:left;cursor:pointer;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.ledger-stage__tab:hover{transform:translateY(-1px);border-color:#7dd3fc7a;box-shadow:0 16px 30px #0f172a29}.ledger-stage__tab.is-active{border-color:#22c55e85;box-shadow:inset 0 0 0 1px #22c55e57}.ledger-stage__eyebrow{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:#7dd3fcb8}.ledger-stage__label{font-size:1rem;font-weight:700}.ledger-panel{display:grid;gap:1rem}.ledger-panel__surface{padding:1rem;border:1px solid rgba(148,163,184,.18);border-radius:20px;background:linear-gradient(180deg,#0f172a7a,#0f172a47)}.ledger-panel__header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.ledger-panel__header h4{margin:0;font-size:1.02rem}.ledger-panel__header p{margin:.25rem 0 0;color:#94a3b8eb}.ledger-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.ledger-kpi-mobile{display:grid;gap:.65rem}.ledger-kpi-mobile__tabs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(72px,1fr);gap:.4rem;overflow-x:auto;padding-bottom:.1rem;scrollbar-width:none}.ledger-kpi-mobile__tabs::-webkit-scrollbar{display:none}.ledger-kpi-mobile__tab{min-width:0;padding:.45rem .35rem;font-size:.72rem;white-space:nowrap}.ledger-kpi-mobile__tab.is-active{border-color:#38bdf857;background:#082f49b8;color:#e0f2fe}.ledger-kpi-card{padding:1rem 1.1rem;border-radius:18px;background:linear-gradient(155deg,#0f172ae6,#1e293bbf);border:1px solid rgba(148,163,184,.16)}.ledger-kpi-card strong{display:block;margin-top:.3rem;font-size:1.35rem;color:#f8fafc}.ledger-kpi-card__label{font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:#7dd3fcc7}.ledger-insight-panel{overflow:hidden;background:radial-gradient(circle at top right,rgba(56,189,248,.18),transparent 34%),linear-gradient(180deg,#0f172ab8,#0f172a70)}.ledger-insight-panel__header{align-items:center}.ledger-insight-panel__health{display:inline-flex;align-items:center;justify-content:center;min-width:112px;padding:.45rem .85rem;border-radius:999px;border:1px solid rgba(148,163,184,.2);font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#e2e8f0;background:#1e293bad}.ledger-insight-panel__health.is-positive{color:#d1fae5;background:#065f4657;border-color:#10b98142}.ledger-insight-panel__health.is-watch{color:#fef3c7;background:#92400e4d;border-color:#fbbf2447}.ledger-insight-panel__health.is-negative{color:#fee2e2;background:#7f1d1d57;border-color:#f871714d}.ledger-insight-panel__body{display:grid;gap:1rem}.ledger-insight-panel__summary,.ledger-insight-panel__chip{border:1px solid rgba(148,163,184,.14);border-radius:18px;background:#0f172a66}.ledger-insight-panel__summary{display:grid;gap:.55rem;padding:1rem 1.1rem}.ledger-insight-panel__summary strong,.ledger-insight-panel__chip strong{color:#f8fafc}.ledger-insight-panel__meta{display:flex;flex-wrap:wrap;gap:.55rem 1rem}.ledger-insight-panel__meta span,.ledger-insight-panel__guardrail{color:#bfdbfec7;font-size:.9rem}.ledger-insight-panel__guardrail{margin:0;padding:0 .15rem}.ledger-chart-panel__header{align-items:flex-start}.ledger-chart-panel__filters{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.ledger-chart-panel__field{display:flex;align-items:center;gap:.35rem;min-width:0}.ledger-chart-panel__field span{flex:0 0 auto;color:#bfdbfecc;font-size:.78rem;white-space:nowrap}.ledger-chart-panel__field select{min-height:32px;min-width:0;padding:.3rem .65rem;border:1px solid rgba(148,163,184,.2);border-radius:10px;color:#e2e8f0;background:#0f172a66;font-size:.82rem}.ledger-chart-panel__desktop,.ledger-chart-panel__mobile{display:grid;gap:.9rem}.ledger-chart-trend{display:grid;gap:.9rem;padding:1rem 1.1rem;border:1px solid rgba(148,163,184,.14);border-radius:18px;background:#0f172a57}.ledger-chart-trend__header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.ledger-chart-trend__header h5{margin:0;color:#f8fafc;font-size:1rem}.ledger-chart-trend__header p{margin:.2rem 0 0;color:#bfdbfec7;font-size:.84rem}.ledger-chart-trend__modes{display:flex;gap:.4rem}.ledger-chart-trend__mode.is-active{border-color:#7dd3fc99;background:linear-gradient(180deg,#0e749080,#082f49d6);color:#f0f9ff;box-shadow:inset 0 0 0 1px #38bdf82e,0 0 0 1px #0ea5e91f;font-weight:700}.ledger-chart-trend__body{display:grid;gap:.8rem}.ledger-chart-trend__canvas{border-radius:16px;padding:.75rem;background:#0f172a75}.ledger-chart-trend__chart{width:100%;height:180px}.ledger-chart-trend__legend{display:flex;flex-wrap:wrap;gap:.65rem 1rem}.ledger-chart-trend__legend-item{display:inline-flex;align-items:center;gap:.35rem;color:#bfdbfed1;font-size:.82rem}.ledger-chart-trend__legend-dot{width:10px;height:10px;border-radius:999px}.ledger-chart-trend__legend-dot.is-income{background:#38bdf8}.ledger-chart-trend__legend-dot.is-expense{background:#fb7185}.ledger-chart-trend__legend-dot.is-net{background:#cbd5e1}.ledger-chart-trend__points{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:.55rem}.ledger-chart-trend__point{display:grid;gap:.18rem;padding:.55rem .6rem;border:1px solid rgba(148,163,184,.12);border-radius:12px;background:#0f172a4d}.ledger-chart-trend__point strong{color:#f8fafc;font-size:.82rem}.ledger-chart-trend__point span{color:#bfdbfec7;font-size:.74rem}.ledger-chart-panel__desktop{grid-template-columns:repeat(3,minmax(0,1fr))}.ledger-chart-panel__tabs{display:flex;gap:.45rem}.ledger-chart-panel__tab{flex:1 1 0;min-width:0}.ledger-chart-panel__tab.is-active{border-color:#7dd3fc99;background:linear-gradient(180deg,#0e749080,#082f49d6);color:#f0f9ff;box-shadow:inset 0 0 0 1px #38bdf82e,0 0 0 1px #0ea5e91f;font-weight:700}.ledger-chart-card{display:grid;align-content:start;gap:.9rem;padding:1rem 1.1rem;border:1px solid rgba(148,163,184,.14);border-radius:18px;background:#0f172a66;min-height:100%}.ledger-chart-card__header,.ledger-chart-card__titleblock{display:grid;gap:.2rem}.ledger-chart-card__titleblock h5,.ledger-chart-card__titleblock p{margin:0}.ledger-chart-card__titleblock h5{color:#f8fafc;font-size:.96rem}.ledger-chart-card__titleblock p{color:#bfdbfebd;font-size:.78rem;line-height:1.45}.ledger-chart-card__header strong{color:#f8fafc}.ledger-chart-card__eyebrow{margin:0;color:#7dd3fcd1;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.ledger-chart-donut{display:grid;gap:.9rem;align-content:start}.ledger-chart-donut__ring{position:relative;width:min(100%,220px);margin:0 auto;aspect-ratio:1 / 1}.ledger-chart-donut__chart{width:100%;height:100%;filter:drop-shadow(0 10px 24px rgba(15,23,42,.28))}.ledger-chart-donut__center{position:absolute;inset:50%;display:grid;gap:.1rem;place-items:center;width:48%;height:48%;border-radius:999px;transform:translate(-50%,-50%);text-align:center;background:#0f172ae6;box-shadow:inset 0 0 0 1px #94a3b81f;padding:.4rem}.ledger-chart-donut__center span,.ledger-chart-donut__center small{color:#bfdbfecc;line-height:1.2}.ledger-chart-donut__center strong{color:#f8fafc;font-size:1rem}.ledger-chart-donut__legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:.5rem}.ledger-chart-donut__legend-item{display:flex;align-items:center;gap:.45rem;min-width:0;padding:.5rem .6rem;border:1px solid rgba(148,163,184,.12);border-radius:12px;cursor:pointer;background:#0f172a5c;transition:border-color .14s ease,background .14s ease,transform .14s ease}.ledger-chart-donut__legend-item:hover,.ledger-chart-donut__legend-item.is-active{border-color:#38bdf84d;background:#0f172a8a;transform:translateY(-1px)}.ledger-chart-donut__legend-item strong{color:#f8fafc;font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ledger-chart-donut__legend-copy{display:grid;gap:.08rem;min-width:0}.ledger-chart-donut__legend-copy span{color:#bfdbfeb8;font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ledger-chart-donut__dot{width:10px;height:10px;border-radius:999px;flex:0 0 auto}.ledger-chart-comparison{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.ledger-chart-comparison--stack{grid-template-columns:1fr}.ledger-chart-comparison__card{display:grid;gap:.2rem;padding:.85rem .9rem;border-radius:16px;background:#0f172a8f;border:1px solid rgba(148,163,184,.1)}.ledger-chart-comparison__card span{color:#bfdbfec7}.ledger-chart-comparison__card strong{color:#f8fafc}.ledger-insight-panel__eyebrow{margin:0;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#7dd3fcd1}.ledger-insight-panel__categories{display:grid;gap:.75rem}.ledger-insight-panel__chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.ledger-insight-panel__chip{display:grid;gap:.2rem;padding:.85rem .95rem}.ledger-insight-panel__chip span,.ledger-insight-panel__chip small{color:#bfdbfecc}.fund-manager{display:grid;gap:.9rem}.fund-manager__create{display:grid;grid-template-columns:minmax(0,1fr) 56px auto;gap:.65rem;align-items:center}.fund-manager__create input[type=text]{min-height:42px;border:1px solid rgba(148,163,184,.18);border-radius:12px;background:#0f172a70;color:#e2e8f0;padding:.72rem .85rem}.fund-manager__create input[type=color]{width:56px;height:42px;padding:.25rem;border:1px solid rgba(148,163,184,.18);border-radius:12px;background:#0f172a70}.fund-manager__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.fund-card{display:grid;gap:.8rem;padding:.9rem 1rem;border-radius:16px;border:1px solid rgba(148,163,184,.14);background:#0f172a57}.fund-card.is-archived{opacity:.7}.fund-card__header{display:flex;gap:.75rem;align-items:center}.fund-card__swatch{width:14px;height:14px;border-radius:999px;flex:0 0 auto;box-shadow:0 0 0 3px #0f172a66}.fund-card__copy{display:grid;gap:.22rem;min-width:0}.fund-card__copy strong{color:#f8fafc;font-size:.95rem}.fund-card__meta{display:flex;flex-wrap:wrap;gap:.45rem}.fund-card__badge{display:inline-flex;align-items:center;padding:.2rem .5rem;border-radius:999px;background:#082f49b8;border:1px solid rgba(56,189,248,.28);color:#e0f2fe;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.fund-card__badge.is-muted{color:#bfdbfec2;background:#3341559e;border-color:#94a3b82e}.fund-card__actions,.fund-card__edit{display:flex;flex-wrap:wrap;gap:.5rem}.fund-card__edit input[type=text]{flex:1 1 180px;min-height:38px;border:1px solid rgba(148,163,184,.18);border-radius:10px;background:#0f172a70;color:#e2e8f0;padding:.6rem .75rem}.fund-card__edit input[type=color]{width:52px;height:38px;padding:.2rem;border:1px solid rgba(148,163,184,.18);border-radius:10px;background:#0f172a70}.ledger-event-fund{display:block;margin-top:.22rem;color:#bfdbfeb8;font-size:.76rem}.ledger-event-credit{display:block;margin-top:.22rem;color:#facc15;font-size:.76rem}.ledger-credit-summary{display:grid;gap:.85rem}.ledger-credit-summary__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.ledger-credit-summary__card{padding:.9rem 1rem;border:1px solid rgba(148,163,184,.14);border-radius:18px;background:#0f172a5c}.ledger-credit-summary__card span{display:block;color:#bfdbfeb8;font-size:.78rem}.ledger-credit-summary__card strong{display:block;margin-top:.4rem;color:#f8fafc;font-size:1.2rem}.category-manager--panel{padding:0;border:none;border-radius:0;background:transparent}.category-chip.is-system{background:#475569b3}@media(max-width:960px){.ledger-stage{grid-template-columns:1fr}.ledger-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ledger-insight-panel__chips{grid-template-columns:1fr}.ledger-panel__header{flex-direction:column}.ledger-chart-comparison,.ledger-chart-panel__desktop,.ledger-credit-summary__grid{grid-template-columns:1fr}.ledger-chart-trend__chart{height:150px}.ledger-panel--dashboard .data-table--stack-mobile .table-actions{display:flex;gap:.5rem}.ledger-panel--dashboard .data-table--stack-mobile .table-actions .table-btn{width:auto;flex:1}.ledger-stage__actions{flex-wrap:wrap;justify-content:flex-end}}@media(max-width:640px){.ledger-kpi-grid{grid-template-columns:1fr}.ledger-kpi-card--mobile{min-height:104px}.ledger-filters{gap:.55rem}.ledger-filter-sheet__footer{justify-content:stretch}.ledger-filter-sheet__footer .soft-btn,.ledger-filter-sheet__footer .primary-btn{flex:1;min-height:40px;font-size:.84rem}.ledger-filter-sheet__body{gap:.7rem}.ledger-filters__stack-field span{font-size:.72rem}.ledger-filters__stack-field select,.ledger-filters__stack-field input{min-height:40px;padding:9px 11px;font-size:.92rem}.category-manager__create,.fund-manager__create,.fund-manager__grid{grid-template-columns:1fr}.ledger-insight-panel__meta{flex-direction:column;gap:.3rem}.ledger-chart-panel__filters,.ledger-chart-panel__tabs{width:100%}.ledger-chart-panel__field{flex:1 1 auto;gap:.22rem}.ledger-chart-panel__field span{font-size:.7rem}.ledger-chart-panel__field select{min-height:30px;font-size:.76rem;padding-inline:.45rem}.ledger-chart-trend{padding:.9rem}.ledger-chart-trend__header{flex-direction:column}.ledger-chart-trend__header,.ledger-chart-trend__modes{width:100%}.ledger-chart-trend__mode{flex:1 1 0;min-width:0;font-size:.74rem}.ledger-chart-trend__chart{height:124px}.ledger-chart-trend__points{grid-template-columns:repeat(2,minmax(0,1fr))}.ledger-chart-card{padding:.9rem}.ledger-chart-donut__ring{width:min(100%,190px)}.ledger-chart-donut__legend--mobile{grid-template-columns:repeat(2,minmax(0,1fr))}.ledger-chart-donut__legend-item{padding:.42rem .5rem}.ledger-chart-donut__legend-item strong{font-size:.72rem}.ledger-chart-donut__center strong{font-size:.92rem}}
