:root{--ink:#14213d;--muted:#64748b;--line:#dce4ee;--surface:#ffffff;--canvas:#f4f7fb;--nav:#10243f;--primary:#1769aa;--primary-dark:#0f548c;--accent:#2ba38b;--danger:#b42318;--shadow:0 10px 30px rgba(15,35,60,0.08)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--canvas);color:var(--ink)}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}h1,h2,p{margin-top:0}h1{font-size:clamp(2rem,4vw,3rem);line-height:1.05;letter-spacing:-.035em}h1,h2{margin-bottom:8px}h2{font-size:1.35rem;letter-spacing:-.015em}.eyebrow{margin-bottom:8px;color:var(--primary);font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.muted{color:var(--muted)}.small{font-size:.82rem}.brand-mark{display:grid;width:48px;height:48px;place-items:center;border-radius:14px;background:linear-gradient(135deg,#1d78bd,#2ba38b);color:white;font-weight:850;letter-spacing:-.04em;box-shadow:0 12px 24px rgba(22,105,170,.25)}.small-mark{width:36px;height:36px;border-radius:10px;font-size:.8rem}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(400px,.85fr);background:#fff}.login-brand{position:relative;overflow:hidden;display:flex;min-height:100vh;flex-direction:column;justify-content:center;padding:clamp(48px,9vw,140px);background:var(--nav);color:white}.login-brand:after{content:"";position:absolute;right:-180px;bottom:-210px;width:520px;height:520px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 72px rgba(255,255,255,.025),0 0 0 144px rgba(255,255,255,.02)}.login-brand .brand-mark{margin-bottom:48px}.login-brand .eyebrow{color:#75d7c4}.login-brand h1{max-width:680px;font-size:clamp(2.5rem,5vw,5rem)}.login-brand p:last-child{max-width:620px;color:#bac8d8;font-size:1.08rem;line-height:1.7}.login-panel{display:flex;width:min(460px,calc(100% - 48px));margin:auto;flex-direction:column;gap:28px}.login-panel h2{font-size:2rem}.form-stack{display:grid;grid-gap:18px;gap:18px}label{display:grid;grid-gap:7px;gap:7px;color:#334155;font-size:.85rem;font-weight:700}input,select,textarea{width:100%;border:1px solid #cbd5e1;border-radius:9px;background:white;color:var(--ink);outline:none;transition:border-color .15s,box-shadow .15s}input,select{min-height:44px;padding:0 12px}textarea{padding:11px 12px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(23,105,170,.12)}.primary-button{display:inline-flex;min-height:43px;align-items:center;justify-content:center;border:0;border-radius:9px;padding:0 18px;background:var(--primary);color:white;cursor:pointer;font-weight:750;transition:background .15s,transform .15s}.primary-button:hover{background:var(--primary-dark)}.primary-button:active{transform:translateY(1px)}.primary-button:disabled{cursor:wait;opacity:.65}.link-button{width:max-content}.text-button{border:0;padding:8px 0;background:transparent;color:#a7bed4;cursor:pointer;text-align:left}.text-button:hover{color:white}.form-error{border-left:3px solid var(--danger);background:#fff1f0;color:var(--danger)}.form-error,.form-success{padding:9px 12px;font-size:.88rem}.form-success{border-left:3px solid var(--accent);background:#edfaf7;color:#146b5b}.inline-link{color:var(--primary);font-weight:800;text-decoration:underline}.app-frame{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{position:-webkit-sticky;position:sticky;top:0;display:flex;height:100vh;flex-direction:column;padding:24px 16px;background:var(--nav);color:white}.sidebar-brand{display:flex;align-items:center;gap:11px;padding:0 8px 28px;font-weight:800}.sidebar nav{display:grid;grid-gap:5px;gap:5px}.nav-link{border-radius:8px;padding:11px 13px;color:#afc0d2;font-size:.92rem;font-weight:650}.nav-link:hover{background:rgba(255,255,255,.06);color:white}.nav-link.active{background:rgba(67,154,220,.18);color:white;box-shadow:inset 3px 0 #4aa8ea}.sidebar-account{display:flex;margin-top:auto;flex-direction:column;gap:5px;border-top:1px solid rgba(255,255,255,.12);padding:20px 10px 0}.sidebar-account span{color:#a7bed4;font-size:.78rem}.role-chip{width:max-content;margin-top:5px;border-radius:99px;padding:4px 8px;background:rgba(43,163,139,.18);color:#84dfcd!important;text-transform:capitalize}.company-switcher{min-height:34px;border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:white;font-size:.78rem}.company-switcher option{color:var(--ink)}.workspace-frame{min-width:0}.topbar{display:flex;height:64px;align-items:center;justify-content:flex-end;border-bottom:1px solid var(--line);padding:0 34px;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.company-context{font-size:.85rem;font-weight:750}.mobile-title{display:none}.workspace-content{width:min(1320px,100%);margin:0 auto;padding:42px 38px 72px}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:28px}.page-heading h1{font-size:2.35rem}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px;margin-bottom:22px}.four-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card,.panel{border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.metric-card{display:flex;min-height:145px;flex-direction:column;padding:22px}.metric-card span{color:var(--muted);font-size:.8rem;font-weight:700}.metric-card strong{margin:auto 0 2px;font-size:clamp(1.55rem,3vw,2.2rem);letter-spacing:-.035em}.metric-card small{color:var(--muted)}.metric-card .result-text{font-size:1.1rem;letter-spacing:0}.panel{margin-bottom:22px;padding:24px}.next-actions{display:flex;align-items:center;justify-content:space-between;gap:32px}.next-actions>div:first-child{max-width:680px}.status-list{display:grid;min-width:230px;grid-gap:10px;gap:10px;color:#334155;font-size:.86rem}.status-list span{display:flex;align-items:center;gap:9px}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(43,163,139,.12)}.center-state{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:12px}.loading-line{width:26px;height:3px;border-radius:9px;background:var(--primary);animation:pulse 1s infinite alternate}.loading-panel{color:var(--muted)}@keyframes pulse{to{transform:scaleX(1.8);opacity:.4}}.create-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:17px;gap:17px}.wide-field{grid-column:1/-1}.table-panel{padding:0;overflow:hidden}.table-tools{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);padding:20px 22px}.search-field{width:min(440px,100%)}.result-count{color:var(--muted);font-size:.82rem}.client-list,.client-row{display:grid}.client-row{grid-template-columns:minmax(180px,1.45fr) 100px repeat(3,minmax(115px,.75fr)) 20px;align-items:center;grid-gap:18px;gap:18px;border-bottom:1px solid #edf1f6;padding:17px 22px;transition:background .15s}.client-row:last-child{border-bottom:0}.client-row:hover{background:#f8fbfe}.client-row>div{display:flex;min-width:0;flex-direction:column;gap:3px}.client-row small,.client-row>div>span{overflow:hidden;color:var(--muted);font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}.client-row>div>strong{overflow:hidden;font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}.status-badge{width:max-content;border-radius:99px;padding:5px 8px;background:#e8f2fb;color:#145f96;font-size:.72rem;font-weight:750}.status-watchlist{background:#fff3d6;color:#8a5c00}.status-inactive{background:#edf0f3;color:#59636f}.row-arrow{color:var(--primary);font-size:1.5rem}.empty-state{padding:44px;color:var(--muted);text-align:center}.back-link{display:inline-block;margin-bottom:20px;color:var(--primary);font-size:.84rem;font-weight:750}.button-row,.period-controls,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.import-grid,.statement-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:28px;gap:28px}.statement-columns fieldset{display:grid;grid-gap:15px;gap:15px;margin:0;border:0;padding:0}.statement-columns legend{margin-bottom:15px;color:var(--ink);font-size:1rem;font-weight:800}.required-note{color:var(--muted);font-size:.67rem;font-weight:500}.button-row{justify-content:flex-start;margin-top:20px}.secondary-button{display:inline-flex;min-height:43px;align-items:center;justify-content:center;border:1px solid #b8c7d7;border-radius:9px;padding:0 18px;background:white;color:var(--primary);cursor:pointer;font-weight:750}.secondary-button:disabled{cursor:wait;opacity:.55}.period-controls{align-items:flex-end;justify-content:flex-start}.period-controls label{width:min(280px,100%)}.completion-chip,.trend-badge{border-radius:99px;padding:6px 10px;background:#e8f2fb;color:#145f96;font-size:.72rem;font-weight:800}.trend-improving{background:#e7f7f3;color:#146b5b}.trend-deteriorating{background:#fff1f0;color:var(--danger)}.trend-mixed{background:#fff3d6;color:#8a5c00}.blank-state{border-style:dashed;box-shadow:none}.import-review{margin-top:22px;border-top:1px solid var(--line);padding-top:20px}.import-review h3{margin:0 0 8px}.valid-text{color:#146b5b}.warning-text{color:var(--danger)}.mapping-list{display:grid;grid-gap:0;gap:0;border:1px solid var(--line);border-radius:10px}.mapping-list>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:10px 13px;font-size:.82rem}.mapping-list>div:last-child{border-bottom:0}.statement-table-wrap{overflow-x:auto;margin-top:20px}.statement-table{width:100%;border-collapse:collapse;font-size:.82rem}.statement-table th{color:var(--muted);text-align:left}.statement-table td,.statement-table th{border-bottom:1px solid var(--line);padding:12px 10px;white-space:nowrap}.statement-table td:first-child{display:grid;grid-gap:2px;gap:2px}.statement-table small{color:var(--muted)}.danger-link{border:0;background:transparent;color:var(--danger);cursor:pointer}.empty-inline{margin:20px 0 0;color:var(--muted)}.workspace-actions{display:flex;flex-wrap:wrap;gap:12px}.deal-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:17px;gap:17px}.policy-result{border-top:4px solid var(--primary)}.policy-badge{border-radius:99px;padding:7px 11px;background:#e8f2fb;color:#145f96;font-size:.72rem;font-weight:850}.policy-success{background:#e7f7f3;color:#146b5b}.policy-warning{background:#fff3d6;color:#8a5c00}.policy-error{background:#fff1f0;color:var(--danger)}.policy-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;margin:20px 0}.policy-metrics>div{display:grid;grid-gap:5px;gap:5px;border:1px solid var(--line);border-radius:10px;padding:14px}.deal-list span,.policy-metrics span{color:var(--muted);font-size:.72rem;font-weight:700}.policy-metrics strong{font-size:.9rem}.policy-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;margin:20px 0}.policy-items{border-left:3px solid var(--line);padding:12px 14px;background:#f8fafc}.policy-items p{margin:8px 0 0;font-size:.78rem;line-height:1.45}.tone-danger{border-color:var(--danger)}.tone-warning{border-color:#d99a00}.tone-normal{border-color:var(--primary)}.matrix-box{display:grid;grid-gap:6px;gap:6px;border-radius:10px;padding:16px;background:#f0f6fb}.matrix-box p{margin:0;color:#334155}.matrix-box span{color:var(--muted);font-size:.78rem}.check-list{display:grid;margin-top:18px;border:1px solid var(--line);border-radius:10px}.check-list>div{display:grid;grid-template-columns:100px minmax(0,1fr);align-items:start;grid-gap:14px;gap:14px;border-bottom:1px solid var(--line);padding:12px}.check-list>div:last-child{border-bottom:0}.check-list>div>div{display:grid;grid-gap:3px;gap:3px}.check-list small{color:var(--muted);line-height:1.4}.check-severity{width:max-content;border-radius:99px;padding:4px 7px;background:#edf0f3;color:#59636f;font-size:.68rem;font-weight:800}.severity-pass{background:#e7f7f3;color:#146b5b}.severity-info,.severity-warning{background:#fff3d6;color:#8a5c00}.severity-breach{background:#fff1f0;color:var(--danger)}.deal-list{display:grid;margin-top:20px;border:1px solid var(--line);border-radius:10px}.deal-list article{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(110px,.6fr) minmax(180px,1fr) 150px;align-items:center;grid-gap:18px;gap:18px;border-bottom:1px solid var(--line);padding:15px}.deal-list article:last-child{border-bottom:0}.deal-list article>div{display:grid;grid-gap:4px;gap:4px}.deal-list small{color:var(--muted)}.memo-controls{display:flex;align-items:flex-end;gap:16px}.memo-controls label{width:min(620px,100%)}.memo-editor{min-height:580px;font-family:Cascadia Code,Consolas,monospace;font-size:.82rem;line-height:1.5}.memo-list{display:grid;margin-top:18px;border:1px solid var(--line);border-radius:10px}.memo-list article{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;grid-gap:18px;gap:18px;border-bottom:1px solid var(--line);padding:14px}.memo-list article:last-child{border-bottom:0}.memo-list article>div:first-child{display:grid;grid-gap:4px;gap:4px}.memo-list article span{color:var(--muted);font-size:.75rem}.export-links{display:flex;gap:12px}.export-links a{color:var(--primary);font-size:.78rem;font-weight:750}.disclosure-panel summary{cursor:pointer;font-size:1.1rem;font-weight:800}.disclosure-panel form,.disclosure-panel>div{margin-top:20px}.fundable-list{display:grid;grid-gap:10px;gap:10px;margin-top:18px}.fundable-list article{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--line);border-radius:10px;padding:14px}.fundable-list article div{display:grid;grid-gap:4px;gap:4px}.fundable-list span{color:var(--muted);font-size:.8rem}.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:17px;gap:17px}.ledger-table-wrap{overflow-x:auto}.ledger-table td{max-width:300px;white-space:normal}.reversed-row{opacity:.48;text-decoration:line-through}.operations-table td:first-child a{display:grid;grid-gap:3px;gap:3px;color:var(--primary)}.operations-table small{display:block;margin-top:3px}.danger-text{color:var(--danger)!important;font-weight:800}.attention-row{background:#fff9ed}.concentration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:22px;gap:22px}.concentration-list{display:grid;grid-gap:14px;gap:14px;margin-top:18px}.concentration-list>div{display:grid;grid-gap:7px;gap:7px}.concentration-list>div>div{display:flex;justify-content:space-between;gap:12px}.concentration-list span{color:var(--muted);font-size:.76rem}.concentration-list i{display:block;height:7px;overflow:hidden;border-radius:99px;background:#edf1f6}.concentration-list b{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--primary),var(--accent))}.profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:18px}.profile-grid>div,.profile-notes>div{display:grid;grid-gap:5px;gap:5px;border:1px solid var(--line);border-radius:10px;padding:13px;background:#f8fafc}.profile-grid span,.profile-notes span{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.profile-grid strong,.profile-notes strong{color:#334155;font-size:.86rem;line-height:1.45;white-space:pre-wrap}.profile-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:12px}.account-panel{max-width:620px}.password-rules{display:grid;grid-gap:5px;gap:5px;margin:14px 0 20px;border-left:3px solid var(--primary);padding:12px 15px;background:#f0f6fb;font-size:.82rem}.password-rules span{color:var(--muted)}.warning-rules{border-color:#d99a00;background:#fff9ed}.audit-list,.member-list{display:grid;margin-top:18px;border:1px solid var(--line);border-radius:10px}.member-list article{display:grid;grid-template-columns:minmax(220px,1fr) 150px 130px 90px;align-items:center;grid-gap:12px;gap:12px;border-bottom:1px solid var(--line);padding:12px}.audit-list article:last-child,.member-list article:last-child{border-bottom:0}.audit-list article>div,.member-list article>div{display:grid;grid-gap:3px;gap:3px}.audit-list span,.audit-list time,.member-list small,.member-list span{color:var(--muted);font-size:.75rem}.audit-list article{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:11px 13px}.invitation-list{display:grid;margin-top:18px;border:1px solid var(--line);border-radius:10px}.invitation-list article{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding:13px}.invitation-list article:last-child{border-bottom:0}.invitation-list article>div,.invitation-summary{display:grid;grid-gap:4px;gap:4px}.invitation-list small,.invitation-list span,.invitation-summary span{color:var(--muted);font-size:.78rem}.invitation-summary{border:1px solid var(--line);border-radius:10px;padding:15px;background:#f8fafc}.rule-block{margin-bottom:0}.rule-block>div{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:9px 0;font-size:.78rem}.rule-block span{color:var(--muted);text-transform:capitalize}.condition-grid{display:flex;flex-wrap:wrap;gap:8px}.condition-grid span{border-radius:99px;padding:7px 10px;background:#eef4f9;color:#334155;font-size:.75rem}.readiness-list{display:grid;grid-gap:11px;gap:11px;margin:20px 0}.readiness-list>span{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:10px;gap:10px;font-size:.84rem}.readiness-list strong{color:var(--muted)}.status-dot-pending{background:#d99a00;box-shadow:0 0 0 4px rgba(217,154,0,.12)}.history-list,.integration-list{display:grid;margin-top:18px;border:1px solid var(--line);border-radius:10px}.history-list article,.integration-list article{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding:13px}.history-list article:last-child,.integration-list article:last-child{border-bottom:0}.history-list article>div:first-child,.integration-list article>div{display:grid;grid-gap:4px;gap:4px}.history-list span,.integration-list span{color:var(--muted);font-size:.75rem}.history-list p{margin:4px 0 0;font-size:.8rem}@media (max-width:1050px){.client-row{grid-template-columns:minmax(180px,1.5fr) 100px repeat(2,minmax(110px,.8fr)) 20px}.client-row>div:nth-of-type(4){display:none}.four-metrics{grid-template-columns:repeat(2,1fr)}.deal-form-grid,.policy-columns,.policy-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.deal-list article{grid-template-columns:minmax(200px,1fr) 130px 150px}.deal-list article>div:nth-child(3){display:none}}@media (max-width:780px){.login-page{grid-template-columns:1fr}.login-brand{display:none}.login-panel{min-height:100vh;justify-content:center}.app-frame{grid-template-columns:1fr}.sidebar{position:static;width:100%;height:auto;padding:12px 16px}.sidebar-account,.sidebar-brand{display:none}.sidebar nav{display:flex;overflow-x:auto}.nav-link{white-space:nowrap}.topbar{height:54px;justify-content:space-between;padding:0 20px}.mobile-title{display:inline;font-weight:800}.workspace-content{padding:28px 18px 54px}.four-metrics,.metric-grid{grid-template-columns:1fr}.metric-card{min-height:120px}.next-actions,.page-heading{align-items:stretch;flex-direction:column}.create-grid,.deal-form-grid,.deal-list article,.import-grid,.policy-columns,.policy-metrics,.statement-columns{grid-template-columns:1fr}.deal-list article>div:nth-child(3){display:grid}.memo-controls{align-items:stretch;flex-direction:column}.event-grid,.memo-list article{grid-template-columns:1fr}.fundable-list article{align-items:stretch;flex-direction:column}.concentration-grid,.member-list article,.profile-grid,.profile-notes{grid-template-columns:1fr}.audit-list article{flex-direction:column}.audit-list article,.invitation-list article{align-items:flex-start}.history-list article,.integration-list article{align-items:flex-start;flex-direction:column}.period-controls{align-items:stretch;flex-direction:column}.wide-field{grid-column:auto}.table-tools{align-items:stretch;flex-direction:column}.client-row{grid-template-columns:minmax(150px,1fr) 85px 20px}.client-row>div:not(:first-child){display:none}}