@font-face{font-family:Inter;src:url('assets/inter-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url('assets/inter-bold.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
:root{--ink:#151515;--muted:#686868;--bg:#f6f6f3;--line:#e3e3dd;--nav:#101010;--green:#303700;--light:#f4ffd1;--lime:#dbff00;--shadow:0 4px 20px #00000004}
body{font-family:Inter,Arial,sans-serif;font-weight:400}
button,input,select,textarea{font-family:inherit}
h1,h2,h3,strong,.strong,.metric-value,.brand,.btn,.nav-item,.role-switch button,.mode-switch button{font-weight:700}
h1{font-size:30px;letter-spacing:-1.25px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #667800;outline-offset:3px}
.identity{font:700 24px/1 Inter,Arial,sans-serif;letter-spacing:-1.1px;gap:5px;color:var(--ink)}
.identity img{width:58px;height:58px;object-fit:contain;flex-shrink:0}
.brand-cic{display:block;font-size:9px;letter-spacing:2px;margin-top:5px}
.sidebar .identity{color:#fff;margin-left:-7px}
.sidebar{color:#e0e0e0}
.brand-sub{color:#bcbcbc;letter-spacing:1.1px;margin:0 0 29px 57px;font-size:8px}
.nav-label{color:#959595;letter-spacing:1px}
.nav-item{color:#bbb;border-radius:5px;font-size:12px}
.nav-item.active{background:var(--lime);color:#131700}
.nav-badge{background:#ffffff16;color:inherit}
.nav-item.active .nav-badge{background:#00000012}
.sidebar-bottom{color:#999}.sidebar-bottom strong{color:#fff}.status-dot{background:var(--lime)}
.sidebar-version{margin-top:20px;font-size:10px;line-height:1.8}
.topbar{height:auto;min-height:102px;padding:16px 28px;background:#fff;flex-wrap:wrap;gap:12px}
.topbar-controls{display:flex;align-items:flex-end;justify-content:flex-end;gap:14px;flex-wrap:wrap;margin-left:auto}
.role-control,.mode-control{display:flex;flex-direction:column;gap:5px}
.control-label{font-size:9px;color:var(--muted);font-weight:700;letter-spacing:1px;text-transform:uppercase}
.role-switch,.mode-switch{display:flex;gap:2px;align-items:center;padding:3px;background:#f3f3ef;border:1px solid var(--line);border-radius:6px}
.role-switch button,.mode-switch button{padding:8px 10px;font-size:11px;border-radius:3px;white-space:nowrap;color:#666;background:transparent}
.role-switch button.active{background:#181818;color:#fff;box-shadow:none}
.mode-switch button.active{background:var(--lime);color:#1a1e00}
.login-link{background:none;color:var(--ink);font-size:10px;padding:10px 0;white-space:nowrap;text-decoration:underline;text-underline-offset:4px}
.demo-ribbon{background:#f4f6e9;border-color:#e7e9d9;color:#575c38;padding:10px 28px}
.demo-ribbon button{color:#343b00}
.content{padding:30px 28px 40px}
.eyebrow{color:#535d13;font-weight:700}
.btn{background:var(--lime);color:#171b00;border-radius:5px}
.btn.secondary{color:var(--ink)}
.btn.danger{background:#faece7;color:#964736}
.metric,.panel,.fund-card{border-radius:8px}
.metric.dark{background:#171717;border-color:#171717}
.metric.dark .metric-label,.metric.dark .metric-foot{color:#bcbcbc}
.metric.dark .metric-value{color:var(--lime)}
.text-btn{color:#414c00}
.badge.dark{color:#4c4c45;background:#eeeeea}
.person-dot{background:#f1f4e3;color:#586227}
.journey-step{background:#f5f5ef;border-radius:4px}.journey-step:last-child{background:#eef4d0}
.journey-step .step-num{color:#828577}
.progress span,.progress span.full{background:#7b922a}
.activity-dot{background:#a2ba31}
.cash-bar{background:#c3d38b}
th{color:#777;background:#fafaf7}
.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:37px 24px;min-height:190px;justify-content:center}
.empty-symbol{display:grid;place-items:center;width:54px;height:54px;background:#f5f6ec;border:1px solid #e8ead8;border-radius:12px;color:#737956;margin-bottom:17px}
.empty-state h3{font-size:15px;margin:0 0 7px;letter-spacing:-.25px}
.empty-state p{max-width:350px;color:var(--muted);font-size:12px;line-height:1.65}
.empty-state .btn{margin-top:18px}
.login-shell{min-height:100vh;background:#fff;display:flex;flex-direction:column}
.login-top{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:13px 44px;border-bottom:1px solid var(--line)}
.login-top .identity{font-size:25px}
.login-top-controls{display:flex;gap:26px;align-items:flex-end;flex-wrap:wrap}
.login-top-controls>.text-btn{font-size:11px;padding-bottom:12px}
.login-layout{display:grid;grid-template-columns:1fr 1fr;flex:1;min-height:660px}
.login-story{padding:68px 52px 40px;background:#111;color:#fff;display:flex;flex-direction:column;position:relative;overflow:hidden}
.login-story .eyebrow{color:var(--lime);font-size:10px;letter-spacing:1.5px;margin-bottom:35px}
.login-story h2{font-size:clamp(48px,4.6vw,76px);line-height:1.01;letter-spacing:-3.5px;font-weight:700;position:relative}
.login-story h2>span{color:var(--lime)}
.login-story>p{font-size:15px;color:#c3c3c3;line-height:1.7;max-width:345px;margin-top:25px}
.login-journey{display:flex;gap:11px;align-items:center;flex-wrap:wrap;color:#d4d4d4;font-size:10px;margin-top:43px}
.login-journey i{width:15px;height:1px;background:#727946}
.story-footer{margin-top:auto;padding-top:55px;font-size:10px;letter-spacing:1px;font-weight:700;color:var(--lime)}
.story-footer span{font-size:10px;letter-spacing:0;color:#969696;font-weight:400;display:block;margin-top:8px}
.login-content{padding:62px 54px 36px;max-width:720px;width:100%;margin:auto}
.preview-tag{display:inline-block;font-size:9px;letter-spacing:1.2px;font-weight:700;background:#f0f2e7;color:#596338;padding:6px 9px;border-radius:3px;margin-bottom:22px}
.login-content h1{font-size:40px;letter-spacing:-1.8px;outline:none}
.login-intro{font-size:14px;color:var(--muted);line-height:1.7;margin-top:13px;max-width:430px}
.login-choices{display:grid;gap:14px;margin-top:30px}
.login-choice{background:white;border:1px solid #dcded3;border-radius:8px;text-align:left;padding:23px 20px;display:flex;gap:15px;align-items:flex-start;transition:border-color .15s,background .15s}
.login-choice:hover{border-color:#798533;background:#fbfdef}
.choice-icon{width:44px;height:44px;display:grid;place-items:center;background:#f0f4dd;color:#3d4800;border-radius:8px;flex-shrink:0}
.choice-copy{flex:1}.choice-copy strong{display:block;font-size:18px;letter-spacing:-.6px;margin-bottom:8px}
.choice-copy>span{display:block;font-size:12px;margin-bottom:5px;color:#333}
.choice-copy small{display:block;font-size:11px;color:#777;line-height:1.65;max-width:270px}
.login-choice>svg{margin-top:11px;flex-shrink:0}
.master-entry{display:flex;gap:10px;justify-content:space-between;align-items:center;padding-top:24px;font-size:11px;color:var(--muted)}
.master-entry .text-btn{font-size:11px}
.login-foot{font-size:10px;color:#888;line-height:1.7;margin-top:32px;border-top:1px solid var(--line);padding-top:19px}
.login-bottom{padding:19px 44px;display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#777;border-top:1px solid var(--line)}
.back-choice{margin:20px 0 15px;padding-left:0;font-size:11px}
.sign-in-card{border:1px solid var(--line);border-radius:8px;padding:25px}
.sign-in-heading{display:flex;gap:13px;align-items:center;margin-bottom:24px}
.sign-in-heading h2{font-size:17px}.sign-in-heading p{font-size:11px;color:var(--muted);margin-top:5px}
.login-fields{display:grid;gap:16px}.login-fields .input{padding:12px;background:#fafaf8;color:#666;width:100%}
.preview-explanation{font-size:11px;color:var(--muted);line-height:1.7;margin:18px 0}
.login-submit{width:100%;padding:13px;white-space:normal}
.login-data-note{font-size:10px;color:var(--muted);text-align:center;margin-top:12px;line-height:1.6}
@media(min-width:1500px){.login-layout{grid-template-columns:46% 54%}.login-story{padding-left:max(65px,calc((100vw - 1380px)/2))}}
@media(max-width:1200px){.topbar{align-items:flex-start}.breadcrumbs{margin:0;align-self:center}.topbar-controls{gap:10px}.role-switch button,.mode-switch button{padding:8px}.login-link{font-size:9px}.login-content{padding:40px 32px}.login-story{padding:55px 36px}.login-story h2{font-size:56px}.login-top{padding:13px 28px}}
@media(max-width:1000px){.topbar .breadcrumbs{display:none}.topbar-controls{margin:0;justify-content:flex-start;width:100%}.login-layout{grid-template-columns:.85fr 1fr}.login-story h2{font-size:49px}.login-story{padding:48px 28px}.login-content{padding:35px 25px}.login-choice{padding:20px 14px}.master-entry{flex-wrap:wrap}}
@media(max-width:760px){.login-layout{grid-template-columns:1fr}.login-story{padding:35px 26px}.login-story .eyebrow{margin-bottom:20px;font-size:9px}.login-story h2{font-size:44px;letter-spacing:-2.4px}.login-story h2>span{display:block}.login-story>p{margin-top:17px;font-size:13px}.login-journey{margin-top:24px}.story-footer{display:none}.login-content{padding:34px 24px 30px}.login-content h1{font-size:34px}.login-top{padding:10px 18px;gap:12px}.login-top .identity{font-size:19px}.login-top .identity img{width:45px;height:45px}.login-top-controls{gap:8px}.login-top .mode-switch button{font-size:10px;padding:7px}.login-bottom{padding:17px 24px;flex-direction:column;gap:7px}.login-choice{padding:20px 16px}.choice-copy strong{font-size:17px}.topbar{min-height:0;padding:14px 18px}.topbar-controls{gap:12px}.role-switch button,.mode-switch button{font-size:10px;padding:8px}.login-link{margin-left:auto;align-self:flex-end}.demo-ribbon{padding:10px 18px}.content{padding:24px 18px 35px}.identity img{width:48px;height:48px}.sidebar .identity{margin:0}.brand-sub{display:none}.sidebar-version{display:none}.control-label{font-size:8px}.empty-state{padding:28px 18px}.login-shell .identity{margin-left:-7px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Keep wide tables scrollable within their cards on small screens. */
.two-col > *{min-width:0}

.workspace-tools{display:flex;align-items:flex-end;gap:14px}
.portal-nav-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:10px 12px;border:1px solid #d7d9cd;border-radius:6px;background:#fff;color:var(--ink);font-size:11px;font-weight:700;white-space:nowrap}
.portal-nav-btn:hover{background:#f4ffd1;border-color:#c1ce8b}
@media(max-width:760px){
  .login-top{flex-wrap:wrap;align-items:flex-start}
  .login-top .identity{align-self:center}
  .login-top-controls.workspace-tools{flex-direction:column;align-items:flex-end;gap:8px;margin-left:auto}
  .topbar-controls{display:grid;grid-template-columns:minmax(0,1fr)}
  .topbar .role-control{justify-self:start}
  .topbar .workspace-tools{justify-content:space-between;gap:8px}
  .portal-nav-btn{font-size:10px;padding:10px;min-height:42px}
}

.fee-filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:14px;margin-bottom:20px}
.fee-filters .field{min-width:160px}
.fee-period-note{margin-left:auto;align-self:center;font-size:10px;color:var(--muted)}
.fee-period-note strong{display:block;color:var(--ink);margin-top:4px;font-size:12px}
.fee-summary{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:12px}
.registration-fees .panel-head{align-items:flex-start}
@media(max-width:760px){.fee-summary{grid-template-columns:1fr 1fr}.fee-summary .metric:first-child{grid-column:1/-1}.fee-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.fee-filters .field{min-width:0}.fee-filters .field:first-child{grid-column:1/-1}.fee-period-note{grid-column:1/-1;margin-left:0}.registration-fees .panel-head{flex-wrap:wrap}.fee-summary .metric{min-width:0}}

.account-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.account-layout{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}fieldset{border:0;padding:0;margin:0;min-width:0}fieldset[disabled]{opacity:.6}button:disabled{cursor:not-allowed;opacity:.55}.form-error{color:#a33422;font-size:12px;margin-top:12px}.form-grid.full{grid-column:1/-1}.form-grid[hidden]{display:none}.account-layout .field{min-width:0}.account-layout .input{width:100%}.live-banner{background:#f1f5df}.live-banner a{font-weight:700;color:#333d00}.account-layout .scope-box{margin-top:20px}@media(max-width:900px){.account-layout{grid-template-columns:1fr}}@media(max-width:600px){.account-metrics{grid-template-columns:1fr}.account-layout .form-grid{grid-template-columns:1fr}.account-layout .field.full{grid-column:auto}.workspace-tools{flex-wrap:wrap}.topbar-controls.live-controls{display:flex;justify-content:space-between}.live-controls .portal-nav-btn{font-size:11px}}
