:root{--bg:#faf9ff;--surface:#ffffff;--surface-soft:#f5f1ff;--text:#101828;--muted:#667085;--border:#e6e1f2;--primary:#75189B;--primary-soft:#ede5ff;--primary-strong:#5522aa;--accent:#FDD2B9;--success:#2ed573;--warning:#ffa502;--danger:#ff4757;--shadow:0 16px 48px rgba(52,38,94,0.08);--shadow-strong:0 22px 58px rgba(52,38,94,0.14)}*{margin:0;padding:0;box-sizing:border-box}body,html{margin:0;min-height:100%;background:radial-gradient(circle at 78% 0,rgba(111,43,217,.08),transparent 34%),var(--bg);color:var(--text);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:200px minmax(0,1fr)}.sidebar{background:#ffffff;border-right:1px solid var(--border);padding:28px 12px 24px;position:-webkit-sticky;position:sticky;top:0;height:100vh;box-shadow:12px 0 40px rgba(52,38,94,.04);display:flex;flex-direction:column}.brand{align-items:center;display:flex;gap:8px;font-weight:700;font-size:14px;color:var(--primary);margin:0 10px 34px;white-space:nowrap}.brand span{align-items:center;background:var(--primary);border-radius:8px;color:#ffffff;display:inline-flex;font-size:10px;height:22px;justify-content:center;width:22px}.nav{display:grid;grid-gap:12px;gap:12px}.nav a{color:#344054;display:flex;gap:14px;min-height:46px;padding:12px 14px;border-radius:8px;font-size:13px;font-weight:650;transition:background .2s ease,color .2s ease}.nav a,.nav-icon{align-items:center}.nav-icon{color:#667085;display:inline-flex;height:18px;justify-content:center;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;fill:none;width:18px}.nav a.active,.nav a:hover{background:var(--surface-soft);color:var(--primary)}.nav a.active .nav-icon,.nav a:hover .nav-icon{color:var(--primary)}.main{padding:26px 32px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px}.login-page{background:#ffffff;display:grid;grid-template-columns:minmax(340px,42%) minmax(0,1fr);min-height:100vh}.login-brand-panel{background:#28232f;color:#ffffff;display:flex;flex-direction:column;min-height:100vh;padding:48px 56px;position:relative}.login-brand{align-items:center;display:flex;font-size:16px;font-weight:750;gap:12px;position:relative;z-index:1}.login-brand-mark{fill:var(--primary);flex:0 0 auto;height:32px;stroke:#ffffff;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:28px}.login-brand-copy{margin:auto 0;max-width:460px;position:relative;z-index:1}.login-kicker{color:#7b3fe4;display:block;font-size:11px;font-weight:800;letter-spacing:0;text-transform:uppercase}.login-brand-copy h2{color:#ffffff;font-size:48px;font-weight:800;line-height:1.08;max-width:430px}.login-access-panel{align-items:center;background:#fbfbfd;display:flex;justify-content:center;min-height:100vh;padding:48px}.login-box{background:#ffffff;border:1px solid #e4e1e8;border-radius:8px;box-shadow:0 18px 52px rgba(40,35,47,.08);padding:42px;width:min(100%,440px)}.login-mobile-brand{align-items:center;color:#28232f;display:none;font-size:15px;font-weight:750;gap:10px}.login-mobile-brand .login-brand-mark{stroke:#ffffff}.login-heading{border-bottom:1px solid #ece9ef;margin-bottom:28px;padding-bottom:28px}.login-heading h1{color:#18151d;font-size:30px;font-weight:800;line-height:1.2;margin-top:10px}.login-heading p{color:#6e6875;font-size:14px;line-height:1.55;margin-top:10px}.login-error{background:#fff5f5;border:1px solid #f2c7c7;border-radius:6px;color:#9a3030;font-size:13px;line-height:1.5;margin-bottom:18px;padding:12px 14px}.google-signin-button{align-items:center;background:#75189B;border:1px solid #75189b;border-radius:6px;color:#ffffff;cursor:pointer;display:grid;font-size:14px;font-weight:700;grid-gap:12px;gap:12px;grid-template-columns:22px minmax(0,1fr) 18px;min-height:52px;padding:0 16px;text-align:left;transition:none;width:100%}.google-signin-button:hover{background:#75189B;border-color:#75189B;box-shadow:none}.google-signin-button:focus-visible{outline:3px solid rgba(123,63,228,.24);outline-offset:2px}.google-mark{height:22px;width:22px}.login-button-arrow{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;color:#ffffff;height:18px;width:18px}.eyebrow{color:#475467;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0}h1,h2,h3{margin:0}h1{color:#101828;font-size:34px;font-weight:800;line-height:1.2}.page-subtitle{color:#667085;font-size:14px;margin-top:10px}h2{font-size:20px}h2,h3{color:#333333;font-weight:600}h3{font-size:15px}.subtle{color:var(--muted)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);animation:fadeIn .5s ease-in}.section{margin-bottom:24px}.stack{display:grid;grid-gap:16px;gap:16px}.grid{display:grid;grid-gap:12px;gap:12px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.budget-target-fields-inline{align-items:start;display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.budget-target-category{max-width:calc(50% - 6px)}@media (max-width:760px){.budget-target-fields-inline{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-target-category{max-width:none}}@media (max-width:520px){.budget-target-fields-inline{grid-template-columns:1fr}}.metric{padding:25px;transition:all .3s ease}.metric:hover{transform:translateY(-5px);box-shadow:var(--shadow-strong)}.metric .value{color:#333333;font-size:34px;font-weight:700;margin-top:8px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.btn{border:1px solid #75189b;color:#ffffff;border-radius:6px;padding:8px 14px;font-size:13px;font-weight:700;cursor:pointer;transition:none}.btn,.btn:hover{background:#75189B;box-shadow:none}.btn:hover{border-color:#75189B;transform:none}.btn.secondary{color:#ffffff}.btn.secondary,.btn.secondary:hover{background:#75189B;border-color:#75189B}.btn.secondary:hover{box-shadow:none}.btn.compact{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:6px 11px}.btn.danger,.btn:disabled{background:#75189B;border-color:#75189B}.btn:disabled{opacity:1;cursor:not-allowed}.field{display:grid;grid-gap:6px;gap:6px}.field span{font-size:11px;color:var(--muted);font-weight:700}input,select,textarea{width:100%;border:1px solid #dddddd;border-radius:6px;padding:8px 10px;background:#ffffff;color:var(--text);font-size:13px;transition:border-color .3s ease,box-shadow .3s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px rgba(102,126,234,.1)}textarea{min-height:72px;resize:vertical}table{width:100%;border-collapse:collapse;background:#ffffff;margin-top:15px}td,th{border-bottom:1px solid var(--border);padding:14px 18px;text-align:left;vertical-align:top}th{background:var(--primary);color:#ffffff;font-size:12px;font-weight:600;position:-webkit-sticky;position:sticky;top:0}tbody tr{transition:background .3s ease}tbody tr:hover{background:var(--surface-soft)}.admin-page{display:grid;grid-gap:22px;gap:22px}.admin-page-heading h1{margin-top:5px}.admin-page-heading p{color:var(--muted);font-size:14px;margin-top:8px}.admin-workspace{background:#ffffff;border:1px solid var(--border);border-radius:8px;min-width:0;overflow:hidden}.admin-tabs{align-items:stretch;background:#fbfbfd;border-bottom:1px solid var(--border);display:flex;min-height:52px;padding:0 20px}.admin-tabs button{background:transparent;border:0;border-bottom:3px solid transparent;color:#667085;cursor:pointer;font-size:13px;font-weight:750;min-width:132px;padding:0 18px}.admin-tabs button:hover{color:var(--primary)}.admin-tabs button.active{border-bottom-color:var(--primary);color:var(--primary)}.admin-tabs button:focus-visible{outline:3px solid rgba(111,43,217,.18);outline-offset:-3px}.admin-tab-panel{min-height:430px;padding:26px}.admin-section-heading{align-items:center;display:flex;gap:20px;justify-content:space-between;margin-bottom:22px}.admin-section-heading h2{color:#1d1922;font-size:20px;font-weight:750}.admin-section-heading p{color:var(--muted);font-size:13px;margin-top:5px}.admin-add-user{align-items:end;background:#f8f7fa;border:1px solid #e8e4eb;border-radius:6px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(240px,1fr) 190px auto;margin-bottom:18px;padding:16px}.admin-add-user .btn{min-height:36px}.admin-feedback{background:#f3effb;border-left:3px solid var(--primary);color:#4f3a72;font-size:13px;line-height:1.5;margin:0 0 18px;padding:10px 12px}.admin-feedback.warning{background:#fff7eb;border-left-color:#d97706;color:#8a4b08}.admin-table-wrap{border:1px solid #e8e4eb;border-radius:6px;overflow-x:auto}.admin-table{margin:0;min-width:760px}.admin-table th{background:#f5f3f7;color:#56505d;font-size:11px;position:static;text-transform:uppercase}.admin-table td{color:#403a46;font-size:13px}.admin-table tbody tr:last-child td{border-bottom:0}.admin-users-table td:first-child span,.admin-users-table td:first-child strong{display:block}.admin-users-table td:first-child strong{color:#1f1b24;font-size:13px}.admin-users-table td:first-child span{color:var(--muted);font-size:12px;margin-top:3px}.admin-role-select{min-width:145px;width:auto}.admin-user-actions{text-align:right;white-space:nowrap}.admin-confirm-actions{display:inline-flex;gap:6px}.admin-protected-label{color:#8a8490;font-size:11px;font-weight:700;text-transform:uppercase}.admin-empty{color:var(--muted);padding:38px 18px!important;text-align:center}.num{text-align:right;white-space:nowrap}.builder{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:20px;gap:20px}.builder-main,.builder-summary{padding:30px}.line-editor{border:1px solid var(--border);border-radius:12px;padding:20px;display:grid;grid-gap:12px;gap:12px;background:var(--surface-soft)}.summary-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border)}.summary-row.total{color:var(--primary);font-weight:700;font-size:22px;border-bottom:0}.status-pill{display:inline-flex;border:1px solid var(--border);border-radius:12px;padding:4px 8px;color:var(--primary);background:var(--surface-soft);font-size:12px;font-weight:600;text-transform:uppercase}.empty-table-cell{color:var(--muted);padding:28px 18px;text-align:center}.table-wrap{overflow-x:auto}.table-subtext{color:var(--muted);display:block;font-size:12px;line-height:1.4;margin-top:4px}.budget-row-actions{display:flex;flex-wrap:wrap;gap:6px}.budget-detail-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);grid-gap:14px;gap:14px}.budget-detail-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;padding:16px}.budget-detail-notes,.budget-detail-summary>div{border:1px solid #e2ebef;border-radius:8px;background:#fbfdfe;padding:12px}.budget-detail-notes span,.budget-detail-summary span{color:var(--muted);display:block;font-size:11px;font-weight:800;text-transform:uppercase}.budget-detail-summary strong{color:#172033;display:block;font-size:20px;margin-top:6px}.budget-detail-notes p{color:#172033;font-size:14px;line-height:1.5;margin-top:8px}.budget-detail-lines{padding:0;min-width:0}.budget-detail-lines-heading{padding:18px 18px 0}.service-summary-table-wrap{min-width:0;max-width:100%}.service-summary-table-wrap:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.service-summary-table{min-width:800px;font-size:13px}.service-summary-table td,.service-summary-table th{padding:12px 10px}.service-summary-bill-code{min-width:130px;overflow-wrap:anywhere}.service-summary-name{min-width:180px}.service-summary-quantity{display:block;white-space:nowrap}.service-summary-table tfoot td,.service-summary-table tfoot th{position:static;background:var(--surface-soft);border-top:2px solid var(--primary);border-bottom:0;color:var(--primary);font-size:16px;font-weight:700;text-align:right}.budget-review-service-summary{grid-column:1/-1;min-width:0;padding:24px 30px;border-top:1px solid var(--border)}.budget-review-service-summary h3{color:var(--primary);margin:0}.budget-review-service-summary .budget-template-save{margin-top:20px}.calculator-page{max-width:1120px}.calculator-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;grid-gap:24px;gap:24px;margin-bottom:8px}.calculator-lede{color:var(--muted);font-size:17px;line-height:1.6;max-width:720px;margin-top:10px}.calculator-hero-stat{min-width:180px;border:1px solid rgba(117,24,155,.18);border-radius:8px;background:#ffffff;padding:18px;box-shadow:0 8px 30px rgba(107,47,217,.08)}.calculator-hero-stat span,.calculator-hero-stat strong{display:block}.calculator-hero-stat span{color:#7c3aed;font-size:28px;font-weight:800;line-height:1}.calculator-hero-stat strong{color:#1e0a4a;font-size:13px;margin-top:8px;text-transform:uppercase}.calculator-card,.calculator-reference{position:relative;overflow:hidden;border:1px solid rgba(117,24,155,.16);border-radius:12px;background:#ffffff;padding:30px;box-shadow:0 8px 40px rgba(107,47,217,.08)}.calculator-card:before{content:"";position:absolute;top:-90px;right:-90px;width:230px;height:230px;background:radial-gradient(ellipse at center,rgba(117,24,155,.08),transparent 68%);pointer-events:none}.calculator-form-grid{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:20px;gap:20px}.calculator-field{position:relative}.calculator-field span{color:#6d28d9;letter-spacing:0;text-transform:uppercase}.calculator-field input,.calculator-field select{border:2px solid #ede9fe;border-radius:12px;background:rgba(245,243,255,.55);padding:13px 14px}.calculator-field input:focus,.calculator-field select:focus{border-color:#7c3aed;box-shadow:0 0 0 4px rgba(124,58,237,.12)}.calculator-inline-action{position:absolute;top:0;right:0;border:0;background:transparent;color:#6d28d9;cursor:pointer;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px}.calculator-inline-action:hover{color:#1e0a4a}.calculator-empty-state,.calculator-result{position:relative;margin-top:28px;border-radius:12px}.calculator-result{background:#1e0a4a;color:#ffffff;padding:26px}.calculator-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:20px;gap:20px}.calculator-result small,.calculator-result span{display:block;color:rgba(255,255,255,.52)}.calculator-result span{font-size:12px;font-weight:700;text-transform:uppercase}.calculator-result strong{display:block;color:#c4b5fd;font-size:32px;font-weight:800;line-height:1.1;margin:6px 0 4px}.calculator-result .calculator-result-primary{color:#fbbf24;font-size:42px}.calculator-result-note{border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.55);font-size:14px;line-height:1.6;margin-top:20px;padding-top:16px}.calculator-empty-state{border:1px dashed #c4b5fd;background:rgba(245,243,255,.7);color:#5b21b6;font-weight:600;padding:20px}.calculator-actions{position:relative;display:flex;align-items:center;gap:16px;margin-top:26px}.calculator-actions p,.calculator-reference-note{color:#777085;font-size:12px;line-height:1.5}.calculator-reference{padding:0}.calculator-reference .toolbar{padding:24px 28px 0}.calculator-table-wrap{overflow-x:auto}.calculator-table{margin-top:16px}.calculator-table th{background:#f5f3ff;color:#6d28d9;text-transform:uppercase}.calculator-table tbody tr:hover{background:rgba(245,243,255,.72)}.calculator-reference-note{padding:0 28px 24px;text-align:center}.budget-flow{background:transparent;color:#172033;padding:0}.budget-flow .eyebrow{color:var(--primary)}.budget-flow-header{display:none;align-items:center;justify-content:flex-end;gap:16px;margin:-96px 0 24px;min-height:74px}.budget-flow-pill{display:none;align-items:center;border:1px solid #b9d5de;border-radius:999px;background:#eef7f8;color:#2f7280;font-size:10px;font-weight:800;letter-spacing:0;padding:4px 9px;text-transform:uppercase}.budget-flow-header h1{color:#172033;font-size:24px;margin:8px 0 4px}.budget-flow-header p{color:#64707d;font-size:13px;line-height:1.45;max-width:680px}.budget-flow-header-meta{border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.92);box-shadow:0 14px 36px rgba(52,38,94,.06);min-width:316px;padding:15px 18px 15px 58px;position:relative}.budget-flow-header-meta em,.budget-flow-header-meta span,.budget-flow-header-meta strong{display:block}.budget-flow-header-meta span{color:var(--primary);font-size:0;font-weight:800;text-transform:uppercase}.budget-flow-header-meta strong{color:#101828;font-size:14px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.budget-flow-header-meta em{color:#667085;font-size:12px;font-style:normal;margin-top:4px}.budget-flow-meta-icon{align-items:center;background:var(--primary-soft);border-radius:999px;color:var(--primary);display:inline-flex!important;font-size:14px!important;height:30px;justify-content:center;left:18px;position:absolute;top:18px;width:30px}.budget-flow-card{border:1px solid var(--border);border-radius:12px;background:#ffffff;box-shadow:var(--shadow);width:100%;overflow:hidden;padding:0}.budget-stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:0;gap:0;margin:0;padding:24px 30px 0;position:relative}.budget-stepper button{align-items:center;background:transparent;border:0;border-bottom:3px solid transparent;border-radius:0;color:#475467;display:flex;flex-wrap:wrap;gap:4px 12px;cursor:pointer;font-size:13px;font-weight:750;min-height:84px;padding:0 28px 20px;position:relative;text-align:left;text-transform:none}.budget-stepper button:after{background:#e6e1f2;content:"";height:1px;left:126px;position:absolute;right:18px;top:20px;z-index:0}.budget-stepper button:last-child:after{display:none}.budget-stepper button span{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;background:#f2f4f7;border:1px solid #d0d5dd;color:#667085;flex:0 0 auto;font-size:14px;font-weight:800;position:relative;z-index:1}.budget-stepper button em,.budget-stepper button strong{display:block;flex-grow:1;flex-shrink:1;flex-basis:calc(100% - 54px);font-style:normal;position:relative;z-index:1}.budget-stepper button strong{color:#344054;margin-top:1px}.budget-stepper button em{color:#667085;font-size:11px;font-weight:500;margin-left:50px;margin-top:-14px}.budget-stepper button.active,.budget-stepper button.complete{border-bottom-color:var(--primary);color:#101828}.budget-stepper button.active span,.budget-stepper button.complete span{background:var(--primary);border-color:var(--primary);color:#ffffff}.budget-workspace{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,1fr);grid-gap:0;gap:0;align-items:stretch;border-top:1px solid var(--border)}.budget-workspace-main{min-width:0;padding:28px 30px 36px}.budget-flow-footer,.budget-line-card-header,.budget-rate-status,.budget-step-heading,.budget-template-save{display:flex;align-items:center;justify-content:space-between;gap:12px}.budget-step-heading{border-bottom:0;display:grid;grid-template-columns:52px minmax(0,1fr);justify-content:flex-start;margin-bottom:28px;padding-bottom:18px;position:relative}.budget-step-heading:before{align-items:center;align-self:start;background:var(--primary-soft);border-radius:999px;color:var(--primary);content:"U";display:inline-flex;font-size:22px;grid-row:span 2;height:50px;justify-content:center;width:50px}.budget-step-heading:after{background:var(--border);bottom:0;content:"";height:1px;left:70px;position:absolute;right:0}.budget-flow-funder,.budget-step-heading .eyebrow{display:none}.budget-step-heading h2{color:#101828;font-size:20px;font-weight:800;margin-top:12px}.budget-step-panel{display:grid;grid-gap:20px;gap:20px}.budget-field span{color:#101828;font-size:12px;font-weight:750;text-transform:none}.budget-field input,.budget-field select,.budget-field textarea{border:1px solid #d0d5dd;border-radius:8px;background:#ffffff;color:#101828;min-height:42px;padding:10px 12px}.budget-field input::placeholder,.budget-field textarea::placeholder{color:#8a98a5}.budget-field input:disabled,.budget-field select:disabled{opacity:.6}.budget-field input:focus,.budget-field select:focus,.budget-field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(111,43,217,.12)}.budget-quarter-dates{align-self:end;border:1px solid #d0d5dd;border-radius:8px;background:#f8f4fb;min-height:42px;padding:8px 12px}.budget-quarter-dates span,.budget-quarter-dates strong{display:block}.budget-quarter-dates span{color:#667085;font-size:10px;font-weight:700;text-transform:uppercase}.budget-quarter-dates strong{color:#7b1fa2;font-size:12px;margin-top:2px}.budget-summary-grid,.budget-target-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:10px;gap:10px}.budget-summary-stat,.budget-target-preview>div{border:1px solid #d9e5ea;border-radius:8px;background:#f8fbfc;padding:11px 12px}.budget-summary-stat span,.budget-target-preview span{display:block;color:#64707d;font-size:10px;font-weight:800;text-transform:uppercase}.budget-summary-stat strong,.budget-target-preview strong{display:block;color:#172033;font-size:19px;margin-top:4px}.budget-sah-target-panel{border:1px solid var(--border);border-radius:12px;background:#fbfdfe;display:grid;grid-gap:14px;gap:14px;padding:14px}.budget-sah-level-section{display:grid;grid-gap:9px;gap:9px}.budget-sah-level-heading{align-items:baseline;display:flex;justify-content:space-between;gap:12px}.budget-sah-level-heading h3{color:#172033;font-size:14px}.budget-sah-level-heading span{color:#64707d;font-size:10px;font-weight:800;text-transform:uppercase}.budget-sah-level-grid{display:grid;grid-gap:8px;gap:8px}.budget-sah-level-grid,.budget-sah-level-grid-hcp{grid-template-columns:repeat(4,minmax(0,1fr))}.budget-sah-allocation-row button,.budget-sah-level-grid button{border:1px solid #75189b;border-radius:10px;background:#ffffff;color:#172033;cursor:pointer;min-height:70px;padding:10px 11px;text-align:left;transition:none}.budget-sah-allocation-row button.selected,.budget-sah-allocation-row button:hover,.budget-sah-level-grid button.selected,.budget-sah-level-grid button:hover{border-color:#75189B;background:#75189B;box-shadow:none}.budget-sah-allocation-row button.selected span,.budget-sah-allocation-row button.selected strong,.budget-sah-allocation-row button:hover span,.budget-sah-allocation-row button:hover strong,.budget-sah-level-grid button.selected span,.budget-sah-level-grid button.selected strong,.budget-sah-level-grid button:hover span,.budget-sah-level-grid button:hover strong{color:#ffffff}.budget-sah-allocation-row button span,.budget-sah-allocation-row button strong,.budget-sah-level-grid button span,.budget-sah-level-grid button strong{display:block}.budget-sah-allocation-row button span,.budget-sah-level-grid button span{color:#536575;font-size:11px;font-weight:800;text-transform:uppercase}.budget-sah-allocation-row button strong,.budget-sah-level-grid button strong{color:#172033;font-size:16px;margin-top:8px}.budget-sah-allocation-row{border-top:1px solid #e2ebef;display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));padding-top:12px}.budget-rate-status{border:1px solid #d9e5ea;border-radius:8px;background:#f8fbfc;padding:11px 12px}.budget-rate-status span,.budget-rate-status strong{display:block}.budget-rate-status strong{color:#172033;font-size:13px}.budget-rate-status span{color:#64707d;font-size:12px;margin-top:2px}.budget-sah-panel{border:1px solid #c8dde4;border-radius:8px;background:#f7fbfc;display:grid;grid-gap:12px;gap:12px;padding:13px}.budget-sah-panel-heading{align-items:center;display:flex;justify-content:space-between;gap:12px}.budget-sah-panel-heading span,.budget-sah-panel-heading strong{display:block}.budget-sah-panel-heading strong{color:#172033;font-size:14px}.budget-sah-panel-heading span{color:#64707d;font-size:12px;margin-top:2px}.budget-sah-grid{grid-template-columns:minmax(180px,1.2fr) minmax(130px,.8fr) minmax(150px,.8fr)}.budget-sah-grid,.budget-sah-line-panel,.budget-sah-rate-grid,.budget-sah-summary-strip{display:grid;grid-gap:10px;gap:10px}.budget-sah-rate-grid,.budget-sah-summary-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.budget-sah-line-panel>.field,.budget-sah-line-panel>div,.budget-sah-rate-grid>div,.budget-sah-summary-strip>div{border:1px solid #d9e5ea;border-radius:8px;background:#ffffff;padding:10px 11px}.budget-sah-category-row span,.budget-sah-line-panel span,.budget-sah-rate-grid span,.budget-sah-summary-strip span{color:#64707d;display:block;font-size:10px;font-weight:800;text-transform:uppercase}.budget-sah-category-row strong,.budget-sah-line-panel strong,.budget-sah-rate-grid strong,.budget-sah-summary-strip strong{color:#172033;display:block;font-size:15px;margin-top:4px}.budget-sah-line-panel{border-top:1px solid #e2ebef;align-items:stretch;grid-template-columns:repeat(4,minmax(0,1fr));padding-top:12px}.budget-sah-line-panel>.field{align-self:stretch;gap:7px}.budget-sah-line-category{min-height:60px}.budget-sah-line-category select{min-height:38px}.budget-sah-line-category em{color:#7a8894;display:block;font-size:11px;font-style:normal;font-weight:600;line-height:1.25;margin-top:4px;text-transform:none}.budget-sah-warning{border:1px solid rgba(245,158,11,.34);border-radius:8px;background:#fff8eb;color:#8a4b08;font-size:12px;font-weight:700;padding:10px 11px}.budget-sah-review-breakdown{border:1px solid #d9e5ea;border-radius:8px;background:#fbfdfe;display:grid;grid-gap:8px;gap:8px;padding:12px}.budget-sah-category-row{display:grid;grid-template-columns:minmax(150px,1.25fr) repeat(3,minmax(100px,.75fr));grid-gap:10px;gap:10px;align-items:center;border-bottom:1px solid #e2ebef;padding-bottom:8px}.budget-sah-category-row:last-child{border-bottom:0;padding-bottom:0}.budget-sah-category-row>div:not(:first-child){text-align:right}.budget-icon-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;border-radius:999px;background:#75189B;color:#ffffff;cursor:pointer;font-size:20px;font-weight:700}.budget-line-card{border:1px solid #d9e5ea;border-radius:8px;background:#fbfdfe;display:grid;grid-gap:14px;gap:14px;padding:16px}.budget-line-card h3{color:#172033}.budget-services-toolbar{align-items:stretch;display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr)) minmax(168px,auto)}.budget-services-summary{display:contents}.budget-services-summary>div{border:1px solid #d9e5ea;border-radius:8px;background:#f8fbfc;min-height:72px;padding:12px}.budget-services-summary span{color:#536575;display:block;font-size:9px;font-weight:800;text-transform:uppercase;white-space:nowrap}.budget-services-summary strong{color:#172033;display:block;font-size:20px;margin-top:6px}.budget-add-service-button{align-self:stretch;border:0;border-radius:6px;background:#75189B;color:#ffffff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:72px;min-width:168px;padding:0 16px;font-size:13px;font-weight:800;text-transform:capitalize}.budget-add-service-button span{font-size:18px;line-height:1}.budget-service-line-card{background:#eaf6f6;border-color:#c9e0e1;gap:0;overflow:visible;padding:0;position:relative}.budget-service-line-card:focus-within{z-index:30}.budget-service-line-header{align-items:center;display:flex;justify-content:space-between;gap:12px;min-height:48px;padding:11px 13px}.budget-line-dismiss{align-items:center;border:0;border-radius:999px;background:transparent;color:#536575;cursor:pointer;display:inline-flex;font-size:15px;font-weight:800;height:28px;justify-content:center;width:28px}.budget-line-dismiss:hover{background:rgba(47,114,128,.12);color:#172033}.budget-service-controls-grid{border-top:1px solid #d2e5e6;display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(12,minmax(0,1fr));padding:12px 13px}.budget-service-billcode{grid-column:span 4}.budget-service-day,.budget-service-frequency,.budget-service-quantity,.budget-service-unit-rate{grid-column:span 2}.budget-service-client-pay-field,.budget-service-contribution,.budget-service-government-pay-field,.budget-service-line-total{grid-column:span 3}.budget-contribution-display,.budget-service-controls-grid .budget-field input,.budget-service-controls-grid .budget-field select,.budget-service-line-total,.budget-service-pay-card{min-height:36px}.budget-info-dot{align-items:center;border-radius:999px;background:#687685;color:#ffffff;display:inline-flex;font-size:9px;height:13px;justify-content:center;margin-left:5px;text-transform:none;width:13px}.budget-contribution-display{align-items:center;border:1px solid #cbd9e1;border-radius:6px;background:#ffffff;color:#172033;display:flex;padding:8px 10px}.budget-contribution-display strong{font-size:13px}.budget-service-line-total{border:1px solid rgba(47,114,128,.14);border-radius:6px;background:rgba(255,255,255,.72);padding:8px 10px}.budget-service-line-total span,.budget-service-pay-card span{color:#536575;display:block;font-size:10px;font-weight:800;text-transform:uppercase}.budget-service-line-total strong,.budget-service-pay-card strong{color:#172033;display:block;font-size:14px;margin-top:4px}.budget-service-pay-card{border-radius:7px;padding:9px 11px}.budget-service-client-pay{background:#bee8cf}.budget-service-government-pay{background:#f4c8ce}.budget-line-hint{color:#64707d;display:block;font-size:12px;margin-top:3px}.budget-line-grid{display:grid;grid-gap:12px;gap:12px}.budget-line-grid-primary{grid-template-columns:140px minmax(260px,520px);justify-content:start}.budget-line-grid-secondary{grid-template-columns:repeat(4,minmax(0,1fr))}.budget-line-grid-tertiary{grid-template-columns:150px 150px minmax(0,1fr)}.budget-line-billcode{min-width:0}.budget-line-billcode input{font-weight:600}.budget-billcode-search{position:relative}.budget-client-search-field{max-width:520px}.budget-billcode-search input{width:100%}.budget-billcode-options{position:absolute;z-index:20;top:calc(100% + 6px);right:auto;left:0;width:min(760px,calc(100vw - 48px));max-height:min(420px,60vh);overflow-y:auto;border:1px solid #cbd9e1;border-radius:8px;background:#ffffff;box-shadow:0 12px 28px rgba(23,32,51,.14);padding:5px}.budget-billcode-options button{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;width:100%;border:0;border-radius:6px;background:transparent;color:#172033;cursor:pointer;padding:9px 10px;text-align:left}.budget-billcode-options button:focus,.budget-billcode-options button:hover{outline:none;background:#edf6f7}.budget-billcode-options .budget-client-manual-option{border-top:1px solid #e2ebef;border-radius:0 0 6px 6px;margin-top:4px}.budget-billcode-options button span{min-width:0;color:#172033;font-size:12px;font-weight:600;text-transform:none;line-height:1.35;overflow-wrap:anywhere;white-space:normal}.budget-billcode-options button strong{flex:0 0 auto;color:#75189B;font-size:12px}.budget-billcode-empty{color:#64707d;font-size:12px;padding:10px}.budget-field-note{color:#64707d;display:block;font-size:12px;line-height:1.45;margin-top:6px;text-transform:none}.budget-field-note-warning{color:#8a4b08;font-weight:600}.budget-funder-sync{align-items:flex-start;display:flex;gap:8px}.budget-line-notes{min-width:0}.budget-line-summary{border-top:1px solid #e2ebef;display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));padding-top:12px}.budget-line-summary span,.budget-line-summary strong{display:block}.budget-line-summary span{color:#64707d;font-size:10px;font-weight:800;text-transform:uppercase}.budget-line-summary strong{color:#172033;font-size:14px;margin-top:3px}.budget-usage-meter,.budget-viz-bar{overflow:hidden;border-radius:999px;background:#e6edf1}.budget-usage-meter{height:10px}.budget-usage-meter span,.budget-viz-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#14b8a6,#f59e0b)}.budget-viz{display:grid;grid-gap:10px;gap:10px}.budget-viz-row{display:grid;grid-template-columns:150px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:center}.budget-viz-row span,.budget-viz-row strong{display:block}.budget-viz-row strong{color:#172033;font-size:13px}.budget-review-line span,.budget-viz-row span{color:#64707d;font-size:12px}.budget-viz-bar{height:8px}.budget-review-list{border:1px solid #d9e5ea;border-radius:8px;overflow:hidden}.budget-review-breakdown{border:1px solid #d9e5ea;border-radius:8px;background:#fbfdfe;display:grid;grid-gap:10px;gap:10px;padding:14px}.budget-review-line{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e2ebef;padding:10px 12px;font-size:13px}.budget-review-line:last-child{border-bottom:0}.budget-review-line strong{display:block;color:#172033}.budget-review-public-holiday{border-left:4px solid #f97316;background:#fff7ed;padding-left:16px}.budget-ndis-details-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px}@media (max-width:900px){.budget-ndis-details-grid{grid-template-columns:1fr}}.budget-category-pie,.budget-summary-rail{border:1px solid var(--border);border-radius:10px;background:#ffffff;padding:30px 28px}.budget-summary-rail{align-self:stretch;border-radius:0;border:0;border-left:1px solid var(--border);box-shadow:none;display:grid;grid-template-rows:auto auto auto auto;grid-gap:14px;gap:14px;position:static}.budget-rail-heading,.budget-review-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.budget-rail-heading span,.budget-review-heading span{color:#101828;font-size:20px;font-weight:800;text-transform:none}.budget-rail-heading strong,.budget-review-heading strong{color:var(--primary);font-size:13px}.budget-pie-wrap{display:grid;place-items:center;min-height:0;padding:8px 0 10px}.budget-pie-chart{aspect-ratio:1;border-radius:50%;display:grid;place-items:center;width:min(68%,244px);box-shadow:inset 0 0 0 1px rgba(23,32,51,.08)}.budget-pie-chart-small{margin:10px auto;width:min(142px,80%)}.budget-pie-center{align-items:center;background:#ffffff;border:1px solid #e1eaee;border-radius:50%;display:flex;flex-direction:column;height:58%;justify-content:center;width:58%}.budget-pie-center span{color:#64707d;font-size:10px;font-weight:800;text-transform:uppercase}.budget-pie-center strong{color:#101828;font-size:24px;line-height:1.1}.budget-pie-legend{display:grid;grid-gap:8px;gap:8px;padding-bottom:14px}.budget-pie-legend-item{align-items:center;display:flex;gap:8px}.budget-pie-swatch{border-radius:999px;flex:0 0 auto;height:9px;width:9px}.budget-pie-legend-item span,.budget-pie-legend-item strong{display:block}.budget-pie-legend-item strong{color:#172033;font-size:12px}.budget-pie-legend-item span{color:#64707d;font-size:11px}.budget-rail-stats{border-top:1px solid var(--border);display:grid;grid-gap:12px;gap:12px;padding-top:14px}.budget-rail-stats div{align-items:center;display:flex;justify-content:space-between;gap:10px}.budget-rail-stats span{color:#475467;font-size:12px;font-weight:650}.budget-rail-stats strong{color:#101828;font-size:12px;font-weight:800}.budget-template-save{align-items:end}.budget-template-save .field{flex:1 1}.budget-flow-footer{border-top:1px solid var(--border);margin-top:0;padding:16px 28px}.budget-flow-message{color:#2f7280;font-size:13px;margin-top:10px}.budget-help-card{align-items:center;background:#ffffff;border:1px solid var(--border);border-radius:12px;box-shadow:0 10px 30px rgba(52,38,94,.05);display:none;gap:16px;grid-template-columns:auto minmax(0,1fr) auto;margin-top:20px;padding:18px 22px}.budget-help-icon{align-items:center;background:var(--primary-soft);border-radius:999px;color:var(--primary);display:inline-flex;font-size:16px;height:42px;justify-content:center;width:42px}.budget-help-card span,.budget-help-card strong{display:block}.budget-help-card strong{color:#101828;font-size:13px}.budget-help-card span{color:#667085;font-size:12px;margin-top:4px}.budget-help-actions{display:flex;gap:12px}.budget-flow .btn{border:1px solid #75189b;border-radius:8px;background:#75189B;box-shadow:none;min-height:42px;padding:10px 20px}.budget-flow .btn.secondary{border:1px solid #75189b;background:#75189B;color:#ffffff;box-shadow:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:760px){.login-page{display:block}.login-brand-panel{display:none}.login-access-panel{align-items:flex-start;min-height:100vh;padding:32px 20px}.login-box{box-shadow:none;margin:auto;padding:28px 24px}.login-mobile-brand{display:flex;margin-bottom:52px}.login-heading h1{font-size:28px}}@media (max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.admin-tabs{overflow-x:auto;padding:0 8px}.admin-tabs button{flex:1 0 auto;min-width:126px}.admin-tab-panel{min-height:0;padding:20px}.admin-add-user{align-items:stretch;grid-template-columns:1fr}.admin-section-heading{align-items:stretch;flex-direction:column}.admin-section-heading .btn{align-self:flex-start}h1{font-size:25px}.budget-detail-grid,.builder,.grid.three,.grid.two{grid-template-columns:1fr}.budget-detail-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.calculator-form-grid,.calculator-hero,.calculator-result-grid{grid-template-columns:1fr}.calculator-hero{align-items:stretch}.calculator-actions{align-items:flex-start;flex-direction:column}.budget-flow,.budget-flow-card{padding:12px}.budget-flow-header{align-items:stretch;flex-direction:column;margin:0 0 14px;min-height:0}.budget-flow-header h1{font-size:22px}.budget-flow-header-meta{min-width:0}.budget-help-card,.budget-line-grid-primary,.budget-line-grid-secondary,.budget-line-grid-tertiary,.budget-line-summary,.budget-sah-allocation-row,.budget-sah-category-row,.budget-sah-grid,.budget-sah-level-grid,.budget-sah-level-grid-hcp,.budget-sah-line-panel,.budget-sah-rate-grid,.budget-sah-summary-strip,.budget-service-controls-grid,.budget-services-summary,.budget-services-toolbar,.budget-stepper,.budget-summary-grid,.budget-target-preview,.budget-viz-row,.budget-workspace{grid-template-columns:1fr}.budget-line-card-header,.budget-rate-status,.budget-step-heading,.budget-template-save{align-items:stretch;flex-direction:column}.budget-flow-funder{max-width:none;white-space:normal}.budget-summary-rail{position:static}.budget-services-summary{display:grid;grid-gap:10px;gap:10px;grid-template-columns:1fr}.budget-service-billcode,.budget-service-client-pay-field,.budget-service-contribution,.budget-service-day,.budget-service-frequency,.budget-service-government-pay-field,.budget-service-line-total,.budget-service-quantity,.budget-service-unit-rate{grid-column:auto}.budget-billcode-options{right:0;width:100%}.budget-add-service-button{width:100%}.budget-sah-category-row>div:not(:first-child){text-align:left}.budget-flow-footer{align-items:stretch}.budget-flow-header-meta,.budget-help-actions{width:100%}.budget-help-actions{flex-direction:column}}