:root{--bg:#faf9f6;--ink:#20241f;--ink-soft:#2a2e28;--muted:#6b7067;--faint:#8a8d82;--fainter:#9a9d92;--icon:#5b6058;--card-border:#e9e6df;--btn-border:#e2dfd7;--divider:#f0eee8;--hover:#f5f4f0;--hover-nav:#efede7;--nav-active:#ebe9e1;--accent:oklch(50% .1 165);--accent-hover:oklch(44% .1 165);--accent-link-hover:oklch(42% .1 165);--positive:oklch(55% .13 160);--toggle-off:#d8d5cc;--checkbox-border:#c9c6bc;--sparkline:#b9b6ac;--card-shadow:0 1px 2px #1416120d, 0 12px 28px -18px #1416121a;--menu-shadow:0 16px 40px -16px #14161247}*{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-behavior:smooth}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-link-hover);text-decoration:underline}::placeholder{color:var(--fainter)}#root{min-height:100vh}.app{background:var(--bg);width:100%;height:100vh;color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Hanken Grotesk,Helvetica,Arial,sans-serif;display:flex;overflow:hidden}.num{font-variant-numeric:tabular-nums}.sidebar-slot{z-index:30;flex-shrink:0;position:relative}.sidebar{background:var(--bg);border-right:1px solid #0000;flex-direction:column;transition:width .12s;display:flex;position:absolute;top:0;bottom:0;left:0;overflow:hidden}.sidebar.overlay{border-right:1px solid var(--card-border);box-shadow:var(--menu-shadow)}.sidebar-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.sidebar-logo{align-items:center;gap:9px;display:flex}.sidebar-logo-mark{background:var(--accent);border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.sidebar-logo-name{letter-spacing:-.01em;font-size:18px;font-weight:650}.sidebar-collapse-btn{cursor:pointer;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px}.sidebar-collapse-btn:hover{background:var(--hover-nav)}.sidebar-nav{flex-direction:column;gap:2px;padding:8px 10px;display:flex}.nav-item{cursor:pointer;color:var(--ink-soft);background:0 0;border-radius:0;align-items:center;gap:11px;font-size:15px;font-weight:500;display:flex}.nav-item:hover{background:var(--hover-nav)}.nav-item.active{background:var(--nav-active)}.sidebar-bottom{flex-direction:column;gap:2px;padding:10px 10px 16px;display:flex}.profile-row{cursor:pointer;border-radius:0;align-items:center;gap:10px;display:flex}.profile-row:hover{background:var(--hover-nav)}.profile-avatar{color:oklch(35% .08 165);background:oklch(85% .05 165);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:11.5px;font-weight:650;display:flex}.profile-name{color:var(--ink-soft);font-size:14.5px;font-weight:500}.profile-caret{color:var(--fainter);margin-left:auto;font-size:11px}.profile-menu{border:1px solid var(--card-border);box-shadow:var(--menu-shadow);z-index:80;background:#fff;border-radius:10px;min-width:190px;padding:5px;position:absolute;bottom:calc(100% + 8px);left:10px}.profile-menu-header{border-bottom:1px solid var(--divider);margin-bottom:4px;padding:8px 12px}.profile-menu-name{font-size:14px;font-weight:600}.profile-menu-email{color:var(--faint);font-size:12.5px}.main{flex-direction:column;flex:1;min-width:0;display:flex}.screen{flex-direction:column;flex:1;min-height:0;display:flex}.screen-header{flex-shrink:0;justify-content:space-between;align-items:center;height:62px;padding:0 28px;display:flex}.screen-title{font-size:18px;font-weight:650}.screen-actions{align-items:center;gap:10px;display:flex}.screen-body{flex:1;padding:20px 28px 28px;overflow-y:auto}.card{border:1px solid var(--card-border);box-shadow:var(--card-shadow);background:#fff;border-radius:12px}.card-header{justify-content:space-between;align-items:center;padding:16px 20px 10px;display:flex}.card-title{font-size:16.5px;font-weight:650}.view-all{color:var(--accent);cursor:pointer;font-size:14px;font-weight:600}.overline{letter-spacing:.08em;color:var(--faint);text-transform:uppercase;font-size:12.5px;font-weight:650}.btn{border:1px solid var(--btn-border);color:var(--ink-soft);cursor:pointer;white-space:nowrap;background:#fff;border-radius:8px;flex-shrink:0;align-items:center;gap:6px;padding:8px 14px;font-size:14.5px;font-weight:600;display:flex}.btn:hover{background:var(--hover)}.btn-primary{background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;flex-shrink:0;align-items:center;gap:6px;padding:9px 15px;font-size:14.5px;font-weight:600;display:flex}.btn-primary:hover{background:var(--accent-hover)}.btn-toolbar{border:1px solid var(--btn-border);color:var(--ink-soft);cursor:pointer;white-space:nowrap;background:#fff;border-radius:8px;flex-shrink:0;align-items:center;gap:7px;padding:8px 13px;font-size:14.5px;font-weight:600;display:flex}.btn-toolbar:hover{background:var(--hover)}.btn-small{border:1px solid var(--btn-border);cursor:pointer;white-space:nowrap;background:#fff;border-radius:8px;padding:7px 13px;font-size:14px;font-weight:600}.btn-small:hover{background:var(--hover)}.icon-btn{border:1px solid var(--btn-border);cursor:pointer;background:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.icon-btn:hover{background:var(--hover)}.back-btn{border:1px solid var(--btn-border);cursor:pointer;width:30px;height:30px;color:var(--muted);background:#fff;border-radius:8px;justify-content:center;align-items:center;font-size:16px;display:flex}.back-btn:hover{background:var(--hover)}.toolbar-divider{background:var(--btn-border);flex-shrink:0;width:1px;height:22px}.menu-anchor{position:relative}.select-btn{border:1px solid var(--btn-border);color:var(--ink-soft);cursor:pointer;white-space:nowrap;background:#fff;border-radius:8px;align-items:center;gap:8px;padding:8px 13px;font-size:14px;font-weight:500;display:flex}.select-btn:hover{background:var(--hover)}.select-caret{color:var(--fainter);font-size:10px}.menu-pop{border:1px solid var(--card-border);box-shadow:var(--menu-shadow);z-index:60;background:#fff;border-radius:10px;min-width:180px;padding:5px;position:absolute;top:calc(100% + 6px);right:0}.menu-item{color:var(--ink-soft);cursor:pointer;white-space:nowrap;border-radius:7px;align-items:center;gap:9px;padding:8px 12px;font-size:14px;font-weight:500;display:flex}.menu-item:hover{background:var(--hover)}.menu-section-label{letter-spacing:.07em;color:var(--faint);text-transform:uppercase;padding:7px 12px 4px;font-size:11.5px;font-weight:650}.menu-checkbox{border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.menu-checkbox.on{border:1.5px solid var(--accent);background:var(--accent)}.menu-checkbox.off{border:1.5px solid var(--checkbox-border);background:#fff}.toggle{cursor:pointer;border-radius:999px;flex-shrink:0;width:40px;height:24px;transition:background .15s;position:relative}.toggle-knob{background:#fff;border-radius:50%;width:18px;height:18px;transition:left .15s;position:absolute;top:3px;box-shadow:0 1px 2px #14161233}.seg{background:var(--divider);border-radius:999px;padding:3px;display:flex}.seg-item{cursor:pointer;box-shadow:none;color:var(--muted);background:0 0;border-radius:999px;padding:4px 12px;font-size:13px;font-weight:600}.seg-item.active{color:var(--ink);background:#fff;box-shadow:0 1px 2px #14161214}.avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:650;display:flex}.tx-row{border-top:1px solid var(--divider);align-items:center;gap:13px;padding:12px 20px;display:flex}.tx-row-name{font-size:15px;font-weight:600}.tx-row-sub{color:var(--faint);font-size:13.5px}.tx-amount{font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.tx-amount.positive{color:var(--positive);font-weight:650}.pill{border-radius:999px;padding:4px 11px;font-size:13px;font-weight:500}.day-header{letter-spacing:.07em;color:var(--faint);text-transform:uppercase;padding:15px 20px 7px;font-size:12.5px;font-weight:650}.status-pill{border-radius:999px;padding:4px 11px;font-size:12.5px;font-weight:600}.acct-group-header{cursor:pointer;flex-wrap:wrap;align-items:center;gap:10px;padding:15px 20px;display:flex}.acct-group-title{font-size:16.5px;font-weight:650}.acct-group-change{color:var(--positive);font-variant-numeric:tabular-nums;font-size:13.5px;font-weight:600}.acct-group-note{color:var(--faint);font-size:13px}.acct-group-total{font-variant-numeric:tabular-nums;margin-left:auto;font-size:16px;font-weight:650}.acct-row{border-top:1px solid var(--divider);cursor:pointer;align-items:center;gap:13px;padding:13px 20px;display:flex}.acct-row:hover{background:var(--hover)}.acct-row-main{flex:auto;min-width:120px}.acct-row-name{font-size:15px;font-weight:600}.acct-row-sub{color:var(--faint);font-size:13.5px}.acct-row-right{text-align:right;flex-shrink:0;width:110px}.acct-row-balance{font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.acct-row-updated{color:var(--fainter);font-size:12.5px}.settings-nav-item{color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;padding:8px 12px;font-size:14.5px;font-weight:600}.settings-nav-item:hover{background:var(--hover-nav)}.settings-nav-item.active{background:var(--nav-active);color:var(--ink)}.settings-row{border-top:1px solid var(--divider);justify-content:space-between;align-items:center;gap:14px;padding:13px 20px;display:flex}.settings-row-title{font-size:15px;font-weight:600}.settings-row-sub{color:var(--faint);font-size:13.5px}.modal-overlay{z-index:100;background:#181a1661;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:14px;width:440px;max-width:100%;box-shadow:0 24px 64px -16px #14161259}.modal-header{border-bottom:1px solid var(--divider);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-title{font-size:16.5px;font-weight:650}.modal-close{cursor:pointer;width:28px;height:28px;color:var(--faint);border-radius:7px;justify-content:center;align-items:center;font-size:15px;display:flex}.modal-close:hover{background:var(--hover)}.modal-body{flex-direction:column;gap:14px;padding:18px 20px;display:flex}.modal-footer{border-top:1px solid var(--divider);justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.modal-btn{border:1px solid var(--btn-border);color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:8px;padding:8px 14px;font-size:14px;font-weight:600}.modal-btn:hover{background:var(--hover)}.modal-btn-primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:8px 15px;font-size:14px;font-weight:600}.modal-btn-primary:hover{background:var(--accent-hover)}.field-label{color:var(--muted);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.field-input{border:1px solid var(--btn-border);width:100%;color:var(--ink);box-sizing:border-box;background:#fff;border-radius:8px;outline:none;padding:9px 12px;font-family:inherit;font-size:14.5px}.field-select{border:1px solid var(--btn-border);color:var(--ink);cursor:pointer;background:#fff;border-radius:8px;justify-content:space-between;align-items:center;padding:9px 12px;font-size:14.5px;display:flex}.search-box{background:var(--bg);border:1px solid var(--card-border);border-radius:8px;align-items:center;gap:9px;padding:9px 12px;display:flex}.search-box input{color:var(--ink);background:0 0;border:none;outline:none;width:100%;padding:0;font-family:inherit;font-size:14px}.institution-row{cursor:pointer;border-radius:9px;align-items:center;gap:12px;padding:10px 12px;display:flex}.institution-row:hover{background:var(--hover)}.institution-name{flex:1;font-size:14.5px;font-weight:600}.landing{background:var(--bg);width:100%;min-height:100vh;color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Hanken Grotesk,Helvetica,Arial,sans-serif}.twb{text-wrap:balance}.twp{text-wrap:pretty}.landing-nav{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#faf9f6d9;border-bottom:1px solid #e9e6dfb3;position:sticky;top:0}.landing-nav-inner{align-items:center;gap:28px;max-width:1120px;margin:0 auto;padding:14px 32px;display:flex}.demo-btn{color:var(--ink-soft);border:1px solid var(--btn-border);white-space:nowrap;background:#fff;border-radius:8px;padding:9px 16px;font-size:15px;font-weight:600}.demo-btn:hover{background:var(--hover);color:var(--ink-soft);text-decoration:none}.waitlist-nav-btn{color:#fff;background:var(--accent);white-space:nowrap;border-radius:8px;padding:10px 17px;font-size:15px;font-weight:600}.waitlist-nav-btn:hover{background:var(--accent-hover);color:#fff;text-decoration:none}.eyebrow{letter-spacing:.1em;color:var(--accent);text-transform:uppercase;font-size:12.5px;font-weight:650}.hero-input{border:1px solid var(--btn-border);width:290px;max-width:100%;color:var(--ink);background:#fff;border-radius:10px;outline:none;padding:13px 16px;font-family:inherit;font-size:15.5px}.join-btn{color:#fff;background:var(--accent);cursor:pointer;white-space:nowrap;border:none;border-radius:10px;padding:13px 24px;font-family:inherit;font-size:16px;font-weight:650}.join-btn:hover{background:var(--accent-hover)}.join-btn:disabled,.join-btn-dark:disabled{opacity:.6;cursor:default}.wl-error{color:oklch(50% .16 25);margin-top:10px;font-size:14px}.wl-error.dark{color:oklch(87% .06 25)}.joined-pill{color:#3e4a42;background:oklch(96% .02 165);border:1px solid oklch(90% .03 165);border-radius:10px;align-items:center;gap:9px;padding:13px 20px;font-size:15px;font-weight:600;display:inline-flex}.cta-input-dark{color:#fff;background:oklch(38% .05 170);border:1px solid oklch(45% .05 170);border-radius:10px;outline:none;width:280px;max-width:100%;padding:13px 16px;font-family:inherit;font-size:15.5px}.join-btn-dark{color:oklch(32% .06 170);cursor:pointer;white-space:nowrap;background:#fff;border:none;border-radius:10px;padding:13px 24px;font-family:inherit;font-size:16px;font-weight:650}.join-btn-dark:hover{background:#efede6}.joined-pill-dark{color:#fff;background:oklch(38% .05 170);border:1px solid oklch(45% .05 170);border-radius:10px;align-items:center;gap:9px;padding:13px 20px;font-size:15px;font-weight:600;display:inline-flex}.feature-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:center;gap:48px;display:grid}.feature-card{border:1px solid var(--card-border);background:#fff;border-radius:14px;box-shadow:0 1px 2px #1416120d,0 24px 48px -28px #14161229}.footer-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:32px;display:grid}.footer-col-label{letter-spacing:.08em;color:var(--faint);text-transform:uppercase;margin-bottom:12px;font-size:12.5px;font-weight:650}.footer-link{color:#3a3e37}
