:root{
  --bg:#f3f8f7;--surface:#ffffff;--surface-2:#edf5f3;--surface-3:#e7f0ef;--ink:#0d1a1f;--muted:#61737a;--line:#d5e2df;
  --navy:#0e2a36;--blue:#1c7db8;--teal:#1aa58b;--green:#2cc278;--lime:#9be15d;--warning:#f4a340;--danger:#db5966;
  --shadow:0 18px 50px rgba(14,42,54,.08);--radius:20px;--radius-sm:12px;--font:Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
html[data-theme="dark"]{--bg:#091216;--surface:#101d22;--surface-2:#14262b;--surface-3:#1a3036;--ink:#edf8f6;--muted:#91a8ac;--line:#243b40;--navy:#d8f4ef;--blue:#5cb7e8;--teal:#35c6a6;--green:#49d98f;--lime:#a8e86b;--shadow:0 18px 50px rgba(0,0,0,.26)}
@media(prefers-color-scheme:dark){html[data-theme="auto"]{--bg:#091216;--surface:#101d22;--surface-2:#14262b;--surface-3:#1a3036;--ink:#edf8f6;--muted:#91a8ac;--line:#243b40;--navy:#d8f4ef;--blue:#5cb7e8;--teal:#35c6a6;--green:#49d98f;--lime:#a8e86b;--shadow:0 18px 50px rgba(0,0,0,.26)}}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:14px;line-height:1.45}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit}.muted{color:var(--muted)}.tiny{font-size:12px}.eyebrow{font-size:11px;letter-spacing:.14em;font-weight:800;color:var(--teal);text-transform:uppercase}.btn{border:0;border-radius:12px;padding:10px 14px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:700;cursor:pointer;transition:.2s ease;background:var(--surface-2);color:var(--ink)}.btn:hover{transform:translateY(-1px);filter:brightness(.98)}.btn.primary{background:linear-gradient(135deg,var(--blue),var(--teal));color:white;box-shadow:0 8px 20px rgba(26,165,139,.2)}.btn.ghost{background:transparent;border:1px solid var(--line)}.btn.subtle{background:var(--surface-2)}.btn.small{padding:7px 10px;font-size:12px}.btn.text-danger{background:transparent;color:var(--danger);padding:7px 4px}.text-link{font-weight:700;color:var(--blue)}
.brand-lockup{display:flex;align-items:center;gap:12px}.brand-lockup .brand-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,var(--blue),var(--teal));color:#fff;font-weight:900;font-size:20px;box-shadow:0 10px 30px rgba(28,125,184,.18)}.brand-lockup div{display:flex;flex-direction:column}.brand-lockup b{font-size:15px}.brand-lockup span:not(.brand-mark){font-size:11px;color:var(--muted)}.brand-lockup.compact .brand-mark{width:36px;height:36px;border-radius:11px;font-size:17px}
.auth-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 10%,rgba(28,125,184,.16),transparent 30%),radial-gradient(circle at 80% 80%,rgba(26,165,139,.16),transparent 35%),var(--bg)}.auth-shell{width:min(460px,calc(100% - 30px));display:grid;gap:24px}.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:32px;box-shadow:var(--shadow)}.auth-card h1{font-size:32px;line-height:1.06;margin:8px 0 12px;letter-spacing:-.04em}.auth-card p{color:var(--muted)}.stack-form{display:grid;gap:14px}.stack-form label,.form-grid label,.settings-form label{display:grid;gap:7px;font-size:12px;font-weight:700;color:var(--muted)}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--ink);padding:11px 12px;outline:none;transition:.18s ease}input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(26,165,139,.12)}.login-security{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.login-security span{color:var(--green)}.notice,.toast{padding:11px 13px;border-radius:12px}.notice.danger,.toast.danger{background:rgba(219,89,102,.12);color:var(--danger)}
.app-shell{min-height:100vh;display:grid;grid-template-columns:220px minmax(0,1fr);grid-template-rows:68px 1fr}.topbar{grid-column:1/3;grid-row:1;position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(18px)}.top-actions{display:flex;align-items:center;gap:8px}.theme-toggle{width:42px;height:38px;border:1px solid var(--line);background:var(--surface);border-radius:12px;cursor:pointer;position:relative}.theme-toggle .sun,.theme-toggle .moon{position:absolute;inset:0;display:grid;place-items:center;transition:.2s ease}.theme-toggle .moon{opacity:0;transform:scale(.7)}html[data-theme="dark"] .theme-toggle .sun{opacity:0;transform:scale(.7)}html[data-theme="dark"] .theme-toggle .moon{opacity:1;transform:scale(1)}
.sidebar{grid-column:1;grid-row:2;position:sticky;top:68px;height:calc(100vh - 68px);padding:20px 14px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;background:color-mix(in srgb,var(--bg) 92%,var(--surface))}.sidebar nav{display:grid;gap:5px}.nav-link{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:11px;color:var(--muted);font-weight:700;transition:.18s ease}.nav-link span{width:20px;text-align:center}.nav-link em{margin-left:auto;font-size:11px;background:var(--surface-2);padding:2px 6px;border-radius:999px;font-style:normal}.nav-link:hover,.nav-link.active{background:var(--surface);color:var(--ink);box-shadow:0 6px 18px rgba(14,42,54,.05)}.nav-link.active span{color:var(--teal)}.sidebar-foot{display:grid;gap:14px;color:var(--muted);font-size:11px;padding:0 8px}.sync-card{display:flex;align-items:center;gap:8px}.sync-card div{display:flex;flex-direction:column}.sync-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(44,194,120,.13)}
.main-content{grid-column:2;grid-row:2;padding:34px;max-width:1540px;width:100%;margin:0 auto}.view-section{display:none;animation:fadeUp .28s ease}.view-section.active{display:block}@keyframes fadeUp{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.toast{position:fixed;right:24px;top:82px;z-index:50;background:var(--navy);color:var(--bg);box-shadow:var(--shadow);animation:toastIn .25s ease}@keyframes toastIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.section-head h1{font-size:34px;letter-spacing:-.04em;margin:5px 0 7px}.section-head p{margin:0;color:var(--muted);max-width:760px}.hero-head{align-items:flex-start}.hero-head h1{font-size:46px;line-height:1.02;max-width:820px}.hero-head h1 span{color:var(--teal)}.asof-chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:9px 13px;color:var(--muted);font-size:12px;white-space:nowrap}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.metric-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;min-height:150px;position:relative;overflow:hidden;box-shadow:0 8px 28px rgba(14,42,54,.035)}.metric-card.accent{background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 92%,var(--blue)),color-mix(in srgb,var(--surface) 94%,var(--teal)))}.metric-label{font-size:12px;font-weight:700;color:var(--muted);display:flex;justify-content:space-between}.metric-label span{display:inline-grid;place-items:center;width:18px;height:18px;border:1px solid var(--line);border-radius:50%;font-size:10px}.metric-card>strong{display:block;font-size:30px;letter-spacing:-.045em;margin:14px 0 2px}.metric-card>small{color:var(--muted)}.metric-foot{position:absolute;bottom:16px;display:flex;gap:7px;align-items:center;color:var(--muted);font-size:11px}.dot{width:7px;height:7px;border-radius:50%;display:inline-block}.dot.teal{background:var(--teal)}.dot.blue{background:var(--blue)}.dot.green{background:var(--green)}.spark-bars{position:absolute;bottom:14px;right:16px;height:34px;display:flex;align-items:end;gap:3px}.spark-bars i{width:4px;border-radius:3px;background:linear-gradient(var(--blue),var(--teal));opacity:.7}.spark-bars i:nth-child(1){height:10px}.spark-bars i:nth-child(2){height:17px}.spark-bars i:nth-child(3){height:13px}.spark-bars i:nth-child(4){height:26px}.spark-bars i:nth-child(5){height:21px}.spark-bars i:nth-child(6){height:31px}.spark-bars i:nth-child(7){height:25px}
.two-col{display:grid;grid-template-columns:1.12fr .88fr;gap:16px;margin-bottom:16px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:0 8px 28px rgba(14,42,54,.035)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.panel-head h2{font-size:18px;margin:2px 0}.count-badge{padding:5px 9px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:11px;font-weight:800}.upcoming-list{display:grid}.upcoming-item{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;padding:11px 0;border-top:1px solid var(--line)}.upcoming-item:first-child{border-top:0}.upcoming-item.overdue .date-badge{border-color:rgba(219,89,102,.38);color:var(--danger)}.date-badge{width:42px;height:44px;border:1px solid var(--line);border-radius:11px;display:grid;place-items:center;line-height:1}.date-badge b{font-size:16px}.date-badge span{font-size:9px;color:var(--muted);text-transform:uppercase}.upcoming-copy{display:flex;flex-direction:column}.upcoming-copy b{font-size:13px}.upcoming-copy span{font-size:11px;color:var(--muted)}.upcoming-item>strong{font-size:13px}.empty{color:var(--muted);padding:16px;text-align:center}.alert-stack{display:grid;gap:9px}.alert-card{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:14px;padding:11px}.alert-card>div{display:flex;gap:10px}.alert-icon{flex:0 0 24px;height:24px;border-radius:8px;display:grid;place-items:center;background:rgba(28,125,184,.12);color:var(--blue);font-weight:900}.alert-card.warning .alert-icon{background:rgba(244,163,64,.14);color:var(--warning)}.alert-card b{font-size:12px}.alert-card p{font-size:11px;color:var(--muted);margin:2px 0 4px}.alert-card small{font-size:9px;color:var(--muted)}.mini-btn{border:0;background:var(--surface-2);padding:5px 8px;border-radius:8px;font-size:10px;font-weight:700;cursor:pointer}.cashflow-panel{margin-bottom:10px}.flow-grid{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:10px;align-items:center}.flow-step{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;background:var(--surface-2);border-radius:14px;padding:13px}.flow-step>span{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--teal));color:#fff;font-weight:900}.flow-step div{display:flex;flex-direction:column}.flow-step small{color:var(--muted);font-size:10px}.flow-step strong{font-size:13px}.muted-step{opacity:.78}.flow-arrow{color:var(--muted);font-size:20px}
.calendar-board{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:10px 20px}.calendar-line{display:grid;grid-template-columns:74px 1fr;gap:16px;padding:15px 0;border-bottom:1px solid var(--line)}.calendar-line:last-child{border-bottom:0}.calendar-day{display:flex;align-items:baseline;gap:4px}.calendar-day b{font-size:25px;letter-spacing:-.04em}.calendar-day span{font-size:9px;color:var(--muted);text-transform:uppercase}.calendar-items{display:flex;flex-wrap:wrap;gap:8px}.calendar-chip{min-width:180px;display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"dot title amount" "dot source source";align-items:center;column-gap:8px;border:1px solid var(--line);background:var(--surface-2);padding:9px 11px;border-radius:13px;text-align:left;cursor:pointer;transition:.18s ease}.calendar-chip:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--teal) 60%,var(--line))}.calendar-chip .type-dot{grid-area:dot}.calendar-chip b{grid-area:title;font-size:11px}.calendar-chip em{grid-area:amount;font-style:normal;font-weight:800;font-size:11px}.calendar-chip small{grid-area:source;color:var(--muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.table-tools{display:flex;gap:8px}.table-search{width:240px;background:var(--surface)}.table-wrap{overflow:auto}.panel-table{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 28px rgba(14,42,54,.035)}table{width:100%;border-collapse:collapse;min-width:920px}th{padding:12px 14px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);text-align:left;border-bottom:1px solid var(--line)}td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:middle}.data-row{cursor:pointer;transition:.16s ease}.data-row:hover{background:color-mix(in srgb,var(--surface-2) 50%,transparent)}.due-cell{font-weight:800;font-size:12px}.money{font-variant-numeric:tabular-nums;font-weight:750}.name-cell{display:flex;align-items:center;gap:10px}.name-cell>div{display:flex;flex-direction:column}.name-cell strong{font-size:12px}.name-cell span{font-size:10px;color:var(--muted)}.type-dot{width:8px;height:8px;border-radius:50%;background:var(--muted);display:inline-block}.type-dot.credit_card{background:var(--blue)}.type-dot.loan{background:var(--warning)}.type-dot.bill{background:var(--teal)}.type-dot.service{background:var(--green)}.type-dot.investment{background:var(--lime)}.path-pill{display:inline-block;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:5px 8px;border-radius:999px;background:var(--surface-2);font-size:10px;color:var(--muted)}.confidence{display:inline-block;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.confidence.verified{background:rgba(44,194,120,.12);color:var(--green)}.confidence.needs-review{background:rgba(244,163,64,.13);color:var(--warning)}.confidence.stale{background:rgba(28,125,184,.11);color:var(--blue)}.confidence.likely-closed{background:var(--surface-2);color:var(--muted)}.row-actions{text-align:right}.icon-btn{border:0;background:transparent;font-size:18px;cursor:pointer;transition:.18s ease}.data-row.open .icon-btn{transform:rotate(180deg)}.detail-row{display:none}.detail-row.open{display:table-row}.detail-row td{padding:0;border-bottom:1px solid var(--line)}.detail-panel{padding:18px 22px;background:var(--surface-2);animation:detailIn .2s ease}@keyframes detailIn{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.detail-grid div{display:flex;flex-direction:column}.detail-grid span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.detail-grid b{font-size:11px;margin-top:2px}.detail-notes{font-size:11px;color:var(--muted);max-width:980px}.mini-alert{font-size:10px;border-left:3px solid var(--warning);padding:7px 10px;background:rgba(244,163,64,.08);border-radius:0 8px 8px 0}.detail-actions{display:flex;align-items:center;gap:8px;margin-top:13px}.detail-actions form{display:inline-flex}
.activity-cols{align-items:start}.timeline{display:grid}.timeline-item{display:grid;grid-template-columns:12px 1fr auto;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.timeline-item>span{width:8px;height:8px;border-radius:50%;background:var(--teal);margin-top:5px}.timeline-item div{display:flex;flex-direction:column}.timeline-item b{font-size:12px}.timeline-item small{font-size:10px;color:var(--muted)}.timeline-item p{font-size:10px;color:var(--muted);margin:2px 0}.settings-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.buffer-callout{margin-top:18px;padding:16px;border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 12%,var(--surface-2)),color-mix(in srgb,var(--teal) 12%,var(--surface-2)))}.buffer-callout span{font-size:10px;color:var(--muted);text-transform:uppercase}.buffer-callout strong{display:block;font-size:26px;margin:2px 0}.buffer-callout p{font-size:11px;color:var(--muted);margin:0}.archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.archive-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;display:flex;justify-content:space-between;gap:18px}.archive-card h3{margin:8px 0 5px}.archive-card p{font-size:11px;color:var(--muted)}.archive-card small{color:var(--muted)}
.modal{position:fixed;inset:0;z-index:100;display:none;place-items:center;padding:20px}.modal.open{display:grid}.modal-backdrop{position:absolute;inset:0;background:rgba(3,12,16,.55);backdrop-filter:blur(5px)}.modal-card{position:relative;z-index:1;width:min(540px,100%);max-height:90vh;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 24px 80px rgba(0,0,0,.28);animation:modalIn .22s ease}.modal-card.wide{width:min(820px,100%)}@keyframes modalIn{from{opacity:0;transform:scale(.98) translateY(6px)}to{opacity:1;transform:none}}.modal-close{position:absolute;right:16px;top:14px;border:0;background:transparent;font-size:24px;cursor:pointer;color:var(--muted)}.modal-card h2{margin:6px 0 18px;font-size:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .span-2{grid-column:1/3}.check-label{display:flex!important;align-items:center!important;gap:8px!important}.check-label input{width:auto}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}
@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.flow-grid{grid-template-columns:1fr}.flow-arrow{transform:rotate(90deg);justify-self:center}.detail-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.app-shell{display:block}.topbar{position:sticky;height:62px;padding:0 12px}.topbar .brand-lockup span:not(.brand-mark),.topbar .brand-lockup div span{display:none}.top-actions .btn:not(.js-open-add){display:none}.sidebar{position:fixed;left:10px;right:10px;bottom:10px;top:auto;height:auto;z-index:40;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(16px);padding:7px}.sidebar nav{display:grid;grid-template-columns:repeat(6,1fr)}.nav-link{padding:8px 4px;display:grid;place-items:center;gap:1px;font-size:8px;text-align:center}.nav-link span{font-size:15px}.nav-link em,.sidebar-foot{display:none}.main-content{padding:22px 12px 90px}.section-head{align-items:flex-start;flex-direction:column}.hero-head h1{font-size:37px}.metric-grid{grid-template-columns:1fr}.flow-step{grid-template-columns:28px 1fr}.flow-step>strong{grid-column:2}.calendar-line{grid-template-columns:48px 1fr}.calendar-chip{min-width:100%;width:100%}.table-search{width:100%}.detail-grid{grid-template-columns:1fr 1fr}.archive-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.settings-form{grid-template-columns:1fr}.auth-card{padding:24px}}

/* v0.2.0 — static-first / snapshot-aware foundation */
.sync-dot.static{background:var(--blue);box-shadow:0 0 0 4px rgba(28,125,184,.13)}
.mode-badge{padding:5px 9px;border-radius:999px;background:color-mix(in srgb,var(--blue) 10%,var(--surface-2));color:var(--blue);font-size:9px;font-weight:850;letter-spacing:.07em;white-space:nowrap}.count-badge.neutral{background:var(--surface-2);color:var(--muted)}
.foundation-panel{overflow:hidden}.foundation-grid{display:grid;gap:11px}.foundation-grid article{display:flex;gap:11px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.foundation-grid b{font-size:12px}.foundation-grid p{font-size:10.5px;color:var(--muted);margin:3px 0 0}.foundation-icon{flex:0 0 30px;height:30px;border-radius:10px;display:grid;place-items:center;font-weight:900}.foundation-icon.durable{background:rgba(44,194,120,.12);color:var(--green)}.foundation-icon.snapshot{background:rgba(28,125,184,.12);color:var(--blue)}.system-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.system-strip div{padding:9px 10px;border-radius:12px;border:1px solid var(--line);display:flex;flex-direction:column}.system-strip span{font-size:8.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.system-strip b{font-size:10.5px;margin-top:2px}.foundation-foot{font-size:10.5px;color:var(--muted);margin:12px 0 0;line-height:1.55}
table{min-width:820px}.detail-topline{display:flex;align-items:center;gap:9px;margin-bottom:14px}.detail-topline small{color:var(--muted);font-size:10px}.reference-chip{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-size:8.5px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;background:var(--surface-3);color:var(--muted)}.reference-chip.recent{background:rgba(44,194,120,.11);color:var(--green)}.reference-chip.historical{background:rgba(97,115,122,.11);color:var(--muted)}.reference-chip.reference{background:rgba(28,125,184,.10);color:var(--blue)}.reference-note{font-size:10px;border-left:3px solid var(--blue);padding:7px 10px;background:rgba(28,125,184,.065);border-radius:0 8px 8px 0;color:var(--muted)}
.settings-form{grid-template-columns:1fr 1fr 1fr auto}.form-hint{font-size:10.5px;color:var(--muted);background:var(--surface-2);border-radius:12px;padding:10px 12px;border:1px solid var(--line)}
.source-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.source-list{display:grid;gap:7px}.source-row{display:grid;grid-template-columns:115px 1fr;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.source-row:first-child{border-top:0}.source-kind{font-size:8px;letter-spacing:.06em;font-weight:850;color:var(--muted)}.source-row>div{display:flex;flex-direction:column}.source-row b{font-size:11px}.source-row small{font-size:9.5px;color:var(--muted)}
.integration-list{display:grid;gap:8px}.integration-card{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border:1px solid var(--line);background:var(--surface-2);border-radius:14px;padding:11px}.integration-card>div{display:flex;gap:9px}.integration-card b{font-size:11px}.integration-card p{font-size:9.5px;color:var(--muted);margin:2px 0 0}.integration-dot{width:8px;height:8px;border-radius:50%;background:var(--muted);margin-top:5px;flex:0 0 8px}.integration-dot.ready{background:var(--green)}.integration-dot.reconcile-only{background:var(--blue)}.integration-dot.not-configured{background:var(--muted)}.integration-status{font-size:8px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);white-space:nowrap;margin-top:2px}
.reconciliation-history{margin-bottom:16px}.session-card{border:1px solid var(--line);border-radius:14px;background:var(--surface-2);overflow:hidden}.session-card+ .session-card{margin-top:8px}.session-card summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px}.session-card summary::-webkit-details-marker{display:none}.session-card summary>div{display:flex;flex-direction:column}.session-card summary b{font-size:11.5px}.session-card summary span{font-size:9.5px;color:var(--muted)}.session-status{padding:4px 7px;border-radius:999px;background:var(--surface);font-weight:800!important;text-transform:uppercase;font-size:8px!important}.session-body{border-top:1px solid var(--line);padding:14px}.session-body>p{font-size:10.5px;color:var(--muted);margin-top:0}.observation-list{display:grid;gap:8px}.observation-list article{display:grid;grid-template-columns:105px 1fr;gap:10px;border-top:1px solid var(--line);padding-top:8px}.observation-list article>span{font-size:8px;color:var(--muted);font-weight:850;text-transform:uppercase;letter-spacing:.04em}.observation-list b{font-size:10.5px}.observation-list p{font-size:9.5px;color:var(--muted);margin:2px 0}
@media(max-width:1100px){.system-strip{grid-template-columns:repeat(2,1fr)}.source-layout{grid-template-columns:1fr}.settings-form{grid-template-columns:1fr 1fr}.settings-form .btn{grid-column:1/3}}
@media(max-width:760px){.system-strip{grid-template-columns:1fr 1fr}.source-row{grid-template-columns:90px 1fr}.settings-form{grid-template-columns:1fr}.settings-form .btn{grid-column:auto}.observation-list article{grid-template-columns:1fr}.integration-card{align-items:flex-start}.hero-head h1{font-size:34px}}

/* v0.3.0 — read-only financial connectivity */
.reference-chip.live{background:rgba(44,194,120,.12);color:var(--green)}.chip-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.connection-head-actions{display:flex;gap:8px;flex-wrap:wrap}.connection-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.connection-summary-grid .metric-card{min-height:118px}.connection-summary-grid .metric-card>strong{font-size:27px}.date-metric{font-size:20px!important;line-height:1.15;margin-top:19px!important}.connections-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:16px;margin-bottom:16px}.connection-settings-panel>p,.connected-account-panel>p{font-size:11px;color:var(--muted)}.connection-config-form{grid-template-columns:1fr 1fr}.connection-config-form button,.connection-config-form .form-hint{grid-column:1/3}.sandbox-box{margin-top:16px;border:1px dashed color-mix(in srgb,var(--teal) 45%,var(--line));border-radius:15px;padding:13px;background:color-mix(in srgb,var(--teal) 5%,var(--surface-2));display:flex;justify-content:space-between;gap:14px;align-items:center}.sandbox-box b{font-size:11px}.sandbox-box p{font-size:9.5px;color:var(--muted);margin:3px 0 0}.institution-list{display:grid;gap:8px}.institution-card{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.institution-icon{width:38px;height:38px;border-radius:11px;background:linear-gradient(145deg,color-mix(in srgb,var(--blue) 18%,var(--surface)),color-mix(in srgb,var(--teal) 18%,var(--surface)));display:grid;place-items:center;color:var(--teal);font-weight:900}.institution-copy{display:flex;flex-direction:column;min-width:0}.institution-copy b{font-size:11.5px}.institution-copy span{font-size:9.5px;color:var(--muted)}.connection-error{font-size:9px;color:var(--danger)!important;margin-top:3px}.institution-actions{display:flex;gap:5px}.icon-btn.danger{color:var(--danger)}.connected-account-panel,.connected-transactions-panel{margin-bottom:16px}.connection-table{min-width:920px}.account-source{display:flex;flex-direction:column}.account-source b{font-size:11px}.account-source span{font-size:9.5px;color:var(--muted)}.connection-table td>b{font-size:11px}.connection-table td>small{display:block;color:var(--muted);font-size:8.5px;margin-top:2px}.liability-mini{display:flex;flex-direction:column;font-size:9.5px}.match-form{display:grid;grid-template-columns:minmax(150px,1fr) auto;gap:6px;align-items:center}.match-form select{padding:7px 8px;font-size:10px}.btn.tiny{padding:7px 8px;font-size:9px}.match-form small{grid-column:1/3;font-size:8px;color:var(--muted)}.empty-cell{text-align:center;color:var(--muted);padding:22px!important}.empty.compact{padding:12px;font-size:10.5px}.compact-timeline article{display:grid;grid-template-columns:78px 1fr auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.compact-timeline article:last-child{border-bottom:0}.compact-timeline .timeline-date{font-size:9px;color:var(--muted)}.compact-timeline article>div{display:flex;flex-direction:column}.compact-timeline b{font-size:10.5px}.compact-timeline small{font-size:8.5px;color:var(--muted)}.compact-timeline strong{font-size:10.5px}.compact-timeline strong.negative{color:var(--ink)}.compact-timeline strong.positive{color:var(--green)}.connection-toast{position:fixed;right:24px;top:82px;z-index:200;max-width:min(420px,calc(100vw - 32px));background:var(--navy);color:var(--bg);padding:12px 14px;border-radius:12px;box-shadow:var(--shadow);font-weight:700}.connection-toast.danger{background:var(--danger);color:#fff}.connection-loader{width:34px;height:34px;border:3px solid var(--line);border-top-color:var(--teal);border-radius:50%;animation:efspin .8s linear infinite;margin:20px 0}@keyframes efspin{to{transform:rotate(360deg)}}
@media(max-width:1100px){.connection-summary-grid{grid-template-columns:repeat(2,1fr)}.connections-layout{grid-template-columns:1fr}}
@media(max-width:760px){.sidebar nav{grid-template-columns:repeat(7,1fr)}.connection-summary-grid{grid-template-columns:1fr 1fr}.connection-config-form{grid-template-columns:1fr}.connection-config-form button,.connection-config-form .form-hint{grid-column:auto}.sandbox-box{align-items:flex-start;flex-direction:column}.compact-timeline article{grid-template-columns:70px 1fr auto}.connection-head-actions{width:100%}.connection-head-actions .btn{flex:1}.institution-card{grid-template-columns:34px 1fr auto}.institution-icon{width:34px;height:34px}}
