:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#050b14;--bg-soft:#071522;--panel:#0d1927d1;--panel-strong:#091320f5;--panel-soft:#ffffff0d;--border:#9db5cd21;--border-strong:#18b9ea6b;--text:#f8fafc;--muted:#94a3b8;--muted-strong:#cbd5e1;--brand:#18b9ea;--brand-strong:#0789bc;--success:#34d399;--warning:#fbbf24;--danger:#fb7185;font-family:Segoe UI Variable,Aptos,Inter,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth;min-width:320px}body{background:var(--bg);min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button,a{cursor:pointer}button:disabled{cursor:wait;opacity:.62}.finance-app{min-height:100vh;color:var(--text);background:radial-gradient(circle at 12% 4%, #00a8e821, transparent 30%), radial-gradient(circle at 94% 88%, #34d39914, transparent 26%), linear-gradient(145deg, var(--bg), var(--bg-soft));grid-template-columns:238px minmax(0,1fr);display:grid;position:relative;overflow-x:clip}.ambient{z-index:0;filter:blur(120px);opacity:.18;pointer-events:none;border-radius:50%;width:420px;height:420px;position:fixed}.ambient-blue{background:#00a8e8;top:-230px;left:16%}.ambient-green{background:#13795b;bottom:-200px;right:-240px}.sidebar{z-index:10;border-right:1px solid var(--border);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#050d17c2;flex-direction:column;height:100vh;padding:18px 14px 14px;display:flex;position:sticky;top:0}.brand-lockup,.mobile-brand{align-items:center;gap:11px;display:flex}.brand-lockup{min-height:48px;padding:3px 8px}.brand-symbol{color:#fff;background:linear-gradient(145deg,#00a8e8,#006b99);border:1px solid #60d2ff57;border-radius:12px;place-items:center;width:38px;height:38px;font-size:1.12rem;font-weight:800;display:grid;box-shadow:0 10px 26px #00a8e83d}.brand-copy{gap:2px;display:grid}.brand-copy strong{letter-spacing:-.03em;font-size:1.08rem}.brand-copy small{color:var(--muted);font-size:.65rem}.side-nav{flex-direction:column;flex:1;gap:3px;padding:29px 2px 0;display:flex}.nav-label{color:#64748b;letter-spacing:.14em;margin:0 10px 6px;font-size:.62rem;font-weight:800}.nav-item{min-height:43px;color:var(--muted-strong);border:1px solid #0000;border-radius:12px;grid-template-columns:31px 1fr;align-items:center;gap:9px;padding:4px 9px;font-size:.78rem;font-weight:650;text-decoration:none;display:grid}.nav-item:hover{background:var(--panel-soft);color:var(--text)}.nav-item.active{color:#fff;background:#18b9ea1f;border-color:#18b9ea52}.nav-icon{width:29px;height:29px;color:var(--muted);background:var(--panel-soft);border-radius:9px;place-items:center;font-size:.85rem;display:grid}.nav-item.active .nav-icon{color:#fff;background:var(--brand-strong)}.sidebar-foot{border-top:1px solid var(--border);color:var(--muted);padding:13px 9px 4px;font-size:.66rem}.online-dot{background:var(--success);width:7px;height:7px;box-shadow:0 0 10px var(--success);border-radius:50%;margin-right:7px;display:inline-block}.online-dot.offline{background:var(--danger);box-shadow:0 0 10px var(--danger)}.main-shell{z-index:1;min-width:0;position:relative}.topbar{z-index:9;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#050b14b8;justify-content:space-between;align-items:center;min-height:68px;padding:8px clamp(20px,3vw,40px);display:flex;position:sticky;top:0}.topbar-title{gap:3px;display:grid}.topbar-title span{color:var(--brand);letter-spacing:.14em;font-size:.6rem;font-weight:850}.topbar-title strong{font-size:.88rem}.topbar-actions{align-items:center;gap:12px;display:flex}.user-summary{color:var(--success);background:#34d39914;border:1px solid #34d39933;border-radius:11px;gap:2px;padding:6px 10px;display:grid}.user-summary strong{color:var(--text);font-size:.72rem}.user-summary small{font-size:.64rem}.user-summary.admin{color:#67d7ff;background:#18b9ea14;border-color:#18b9ea40}.avatar{color:#fff;background:linear-gradient(135deg, var(--brand), var(--brand-strong));border-radius:50%;place-items:center;width:36px;height:36px;font-size:.68rem;font-weight:800;display:grid}.logout-button{border:1px solid var(--border);color:var(--muted-strong);background:#ffffff09;border-radius:9px;padding:7px 9px;font-size:.65rem;font-weight:750}.logout-button:hover{border-color:var(--border-strong);color:#fff}.mobile-brand{display:none}.content{width:min(1220px,100%);margin:0 auto;padding:34px clamp(20px,3vw,40px) 50px}.success-notice{z-index:8;color:#b7f7dc;background:#05342bf0;border:1px solid #34d39959;border-radius:12px;margin:-16px 0 18px;padding:11px 14px;font-size:.72rem;font-weight:750;position:sticky;top:80px;box-shadow:0 12px 30px #00000040}.page-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px;display:flex}.eyebrow{color:var(--brand);letter-spacing:.13em;margin-bottom:7px;font-size:.64rem;font-weight:850;display:block}.page-heading h1{letter-spacing:-.045em;margin:0;font-family:Segoe UI Variable Display,Aptos Display,Segoe UI,sans-serif;font-size:clamp(1.75rem,3vw,2.45rem);line-height:1.08}.page-heading p{max-width:650px;color:var(--muted);margin:9px 0 0;font-size:.82rem;line-height:1.55}.primary-button{color:#fff;background:linear-gradient(135deg, var(--brand-strong), var(--brand));border:0;border-radius:12px;min-height:43px;padding:0 16px;font-size:.76rem;font-weight:800;box-shadow:0 10px 28px #00a8e83b}.primary-button:hover{filter:brightness(1.08);transform:translateY(-1px)}.balance-hero,.panel,.metric-card,.rule-banner{border:1px solid var(--border);background:var(--panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 20px 48px #00000038}.balance-hero{background:radial-gradient(circle at 82% 18%,#18b9ea38,#0000 32%),linear-gradient(135deg,#0a1a2afa,#07111de6);border-color:#18b9ea40;border-radius:22px;grid-template-columns:1fr 235px;min-height:300px;display:grid;position:relative;overflow:hidden}.balance-hero:after{content:"";border:1px solid #60d2ff1f;border-radius:50%;width:370px;height:370px;position:absolute;bottom:-180px;right:14%}.balance-main{z-index:1;padding:clamp(25px,4vw,40px);position:relative}.balance-kicker{color:#67d7ff;letter-spacing:.13em;font-size:.66rem;font-weight:850}.balance-main h2{letter-spacing:-.055em;margin:9px 0 5px;font-size:clamp(2.3rem,5vw,3.75rem);line-height:1}.balance-main>p{color:var(--muted-strong);margin:0;font-size:.8rem}.balance-main>p strong{color:#fff}.balance-equation{align-items:center;gap:12px;max-width:690px;margin-top:22px;display:flex}.balance-equation>span{border:1px solid var(--border);background:#ffffff09;border-radius:12px;gap:4px;min-width:126px;padding:10px 12px;display:grid}.balance-equation small{color:var(--muted);font-size:.66rem}.balance-equation strong{font-size:.83rem}.balance-equation>b{color:var(--muted);font-size:1rem}.balance-equation .equation-result{background:#fbbf2412;border-color:#fbbf2438}.balance-equation .equation-result strong{color:var(--warning)}.balance-equation .equation-overdue{background:#fb71850e;border-color:#fb718533}.balance-equation .equation-overdue strong{color:var(--danger)}.balance-equation .equation-current{background:#18b9ea0e;border-color:#18b9ea33}.balance-equation .equation-current strong{color:#67d7ff}.progress-block{max-width:650px;margin-top:20px}.progress-labels{color:var(--muted);justify-content:space-between;margin-bottom:8px;font-size:.67rem;display:flex}.progress-labels strong{color:#fff}.progress-track{background:#ffffff12;border-radius:999px;height:8px;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg, var(--brand-strong), #49c8f7);height:100%;display:block;box-shadow:0 0 18px #18b9ea6b}.balance-side{z-index:1;background:#050b147a;border:1px solid #60d2ff2e;border-radius:16px;align-self:center;margin-right:28px;padding:20px;position:relative}.balance-side span,.balance-side strong,.balance-side small,.balance-side em{display:block}.balance-side span{color:var(--muted);font-size:.65rem}.balance-side strong{margin-top:7px;font-size:1rem}.balance-side small{color:var(--brand);margin-top:13px;font-size:.82rem;font-weight:800}.balance-side em{color:var(--muted);margin-top:5px;font-size:.68rem;font-style:normal}.rule-banner{background:#0d1927b8;border-radius:15px;grid-template-columns:44px 1fr auto;align-items:center;gap:14px;margin:13px 0;padding:14px 16px;display:grid}.rule-date{border:1px solid var(--border-strong);color:#fff;background:var(--brand-strong);border-radius:12px;place-items:center;width:42px;height:42px;font-size:.83rem;font-weight:900;display:grid}.rule-banner strong{font-size:.78rem}.rule-banner p{color:var(--muted);margin:4px 0 0;font-size:.68rem}.rule-exception{color:var(--warning);white-space:nowrap;background:#fbbf241a;border-radius:999px;padding:7px 10px;font-size:.64rem;font-weight:800}.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:13px 0;display:grid}.metric-card{border-radius:16px;min-height:124px;padding:17px}.metric-top{color:var(--muted);justify-content:space-between;align-items:center;font-size:.7rem;display:flex}.metric-dot{border-radius:50%;width:8px;height:8px;box-shadow:0 0 11px}.metric-dot.blue{color:var(--brand);background:var(--brand)}.metric-dot.green{color:var(--success);background:var(--success)}.metric-dot.yellow{color:var(--warning);background:var(--warning)}.metric-card>strong{letter-spacing:-.04em;margin-top:14px;font-size:1.55rem;display:block}.metric-card>small{color:var(--muted);margin-top:4px;font-size:.65rem;display:block}.metric-alert{border-color:#fbbf242e}.panel{border-radius:17px;margin-top:13px;padding:19px}.panel-head{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:14px;display:flex}.panel-head h2{margin:0;font-size:1rem}.panel-description{color:var(--muted);margin:6px 0 0;font-size:.74rem;line-height:1.45}.detail-grid{grid-template-columns:minmax(0,1.12fr) minmax(315px,.88fr);align-items:stretch;gap:13px;margin-top:13px;display:grid}.detail-grid .panel{height:100%;margin-top:0}.month-list{gap:9px;display:grid}.month-row{border:1px solid var(--border);background:var(--panel-soft);border-radius:13px;padding:13px}.month-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:11px;display:flex}.month-heading strong,.month-heading small{display:block}.month-heading strong{font-size:.78rem}.month-heading small{color:var(--muted);margin-top:4px;font-size:.68rem}.month-values{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-top:11px;display:grid}.month-values>span{gap:4px;display:grid}.month-values small{color:var(--muted);font-size:.66rem}.month-values strong{color:var(--muted-strong);white-space:nowrap;font-size:.76rem}.month-values .received-value{color:var(--success)}.month-values .pending-value{color:var(--warning)}.text-button{color:var(--brand);background:0 0;border:0;padding:7px;font-size:.68rem;font-weight:800}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.73rem}th{border-bottom:1px solid var(--border);color:var(--muted);letter-spacing:.08em;text-align:left;text-transform:uppercase;padding:10px 12px;font-size:.59rem}td{border-bottom:1px solid var(--border);color:var(--muted-strong);padding:14px 12px}tbody tr:last-child td{border-bottom:0}td strong,td small{display:block}td strong{color:var(--text)}td small{color:var(--muted);margin-top:4px;font-size:.61rem}.pending-value{color:var(--warning);font-weight:800}.status{border-radius:999px;align-items:center;gap:6px;padding:5px 8px;font-size:.61rem;font-weight:800;display:inline-flex}.status:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.status.paid{color:var(--success);background:#34d3991a}.status.partial{color:var(--warning);background:#fbbf241a}.status.overdue{color:var(--danger);background:#fb71851a}.status.current{color:#67d7ff;background:#18b9ea1a}.payments-panel{scroll-margin-top:84px}.payment-list{gap:9px;display:grid}.payment-row{border:1px solid var(--border);background:var(--panel-soft);border-radius:13px;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.payment-row.voided{opacity:.62}.payment-row.voided .payment-value{color:var(--muted);text-decoration:line-through}.payment-date{border:1px solid var(--border-strong);color:#fff;background:#18b9ea1a;border-radius:12px;place-items:center;width:46px;height:46px;display:grid}.payment-date strong{font-size:.92rem;line-height:1}.payment-date small{color:var(--brand);letter-spacing:.09em;margin-top:2px;font-size:.62rem;font-weight:850}.payment-copy{min-width:0}.payment-copy span,.payment-copy strong,.payment-copy small{display:block}.payment-received{color:var(--brand);margin-bottom:4px;font-size:.66rem;font-weight:800}.payment-copy strong{font-size:.76rem}.payment-copy small{color:var(--muted);margin-top:4px;font-size:.68rem;line-height:1.4}.payment-value{color:var(--success);white-space:nowrap;font-size:.78rem}.payment-actions{flex-wrap:wrap;grid-column:2/-1;gap:7px;display:flex}.receipt-button{border:1px solid var(--border);min-height:38px;color:var(--muted-strong);background:#ffffff09;border-radius:10px;align-items:center;padding:0 11px;font-size:.68rem;font-weight:750;text-decoration:none;display:inline-flex}.receipt-button:hover{border-color:var(--border-strong);color:var(--brand);background:#18b9ea17}.danger-button{color:#fda4af}.danger-button:hover{color:#fecdd3;background:#fb718517;border-color:#fb718559}.audit-panel{scroll-margin-top:84px}.audit-list{gap:3px;display:grid}.audit-row{border-bottom:1px solid var(--border);grid-template-columns:16px 1fr;gap:9px;padding:10px 3px;display:grid}.audit-row:last-child{border-bottom:0}.audit-dot{background:var(--brand-strong);border:2px solid #67d7ff5c;border-radius:50%;width:8px;height:8px;margin-top:5px;box-shadow:0 0 9px #18b9ea61}.audit-row strong,.audit-row small{display:block}.audit-row strong{font-size:.72rem}.audit-row small{color:var(--muted);margin-top:3px;font-size:.6rem}.audit-row p{color:var(--muted-strong);margin:5px 0 0;font-size:.64rem}.updated-note{color:#64748b;text-align:right;margin:16px 0 0;font-size:.6rem}.login-shell{min-height:100vh;color:var(--text);background:radial-gradient(circle at 18% 5%, #00a8e82b, transparent 33%), radial-gradient(circle at 90% 95%, #34d3991a, transparent 28%), linear-gradient(145deg, var(--bg), var(--bg-soft));place-items:center;padding:24px;display:grid;position:relative;overflow:hidden}.login-card{z-index:1;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#081320e8;border:1px solid #18b9ea40;border-radius:24px;width:min(540px,100%);padding:clamp(25px,5vw,42px);position:relative;box-shadow:0 28px 80px #0000006b}.login-brand{align-items:center;gap:11px;margin-bottom:31px;display:flex}.login-heading h1{letter-spacing:-.045em;margin:0;font-size:clamp(1.55rem,4vw,2.05rem)}.login-heading p{color:var(--muted);margin:9px 0 0;font-size:.78rem}.login-form{gap:17px;margin-top:28px;display:grid}.login-form fieldset,.allocation-fieldset{border:0;min-width:0;margin:0;padding:0}.login-form legend,.allocation-fieldset legend{color:var(--muted-strong);margin-bottom:9px;font-size:.68rem;font-weight:750}.person-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.person-option{border:1px solid var(--border);min-height:93px;color:var(--muted);background:var(--panel-soft);border-radius:13px;justify-items:center;gap:7px;padding:12px 5px;font-size:.68rem;display:grid;position:relative}.person-option input{opacity:0;pointer-events:none;position:absolute}.person-option.selected{color:#fff;background:#18b9ea1c;border-color:#18b9ea8c;box-shadow:inset 0 0 0 1px #18b9ea1f}.person-option:focus-within{outline-offset:2px;outline:3px solid #60d2ffbf}.person-avatar{color:#dff8ff;background:linear-gradient(135deg,#18b9eacc,#0789bcb8);border-radius:50%;place-items:center;width:38px;height:38px;font-size:.65rem;font-weight:850;display:grid}.field-label,.modal-form>label,.form-grid label{color:var(--muted-strong);gap:7px;font-size:.67rem;font-weight:750;display:grid}.field-label input,.modal-form input,.modal-form textarea,.modal-form select{border:1px solid var(--border);color:#fff;background:#0d1a28;border-radius:11px;outline:0;width:100%;min-height:43px;padding:9px 11px}.field-label input:focus,.modal-form input:focus,.modal-form textarea:focus,.modal-form select:focus{border-color:var(--border-strong);box-shadow:0 0 0 3px #18b9ea14}.code-input-wrap{display:block;position:relative}.code-input-wrap input{padding-right:82px}.code-input-wrap button{min-height:33px;color:var(--brand);background:#18b9ea1a;border:0;border-radius:8px;padding:0 10px;font-size:.68rem;font-weight:800;position:absolute;top:5px;right:5px}.login-button{width:100%;min-height:47px}.login-footnote{color:#64748b;text-align:center;margin:22px 0 0;font-size:.58rem}.form-error{color:#fecdd3;background:#fb718512;border:1px solid #fb718538;border-radius:10px;margin:0;padding:9px 11px;font-size:.65rem}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#02060cc7;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow-y:auto}.modal-card{overscroll-behavior:contain;width:min(680px,100%);max-height:calc(100vh - 48px);color:var(--text);background:#091421;border:1px solid #18b9ea47;border-radius:19px;overflow-y:auto;box-shadow:0 32px 100px #00000094}.modal-card>header{z-index:2;border-bottom:1px solid var(--border);background:#091421f5;justify-content:space-between;align-items:center;padding:18px 20px;display:flex;position:sticky;top:0}.modal-card h2{margin:0;font-size:1rem}.modal-close{border:1px solid var(--border);width:34px;height:34px;color:var(--muted-strong);background:#ffffff09;border-radius:10px;place-items:center;font-size:1.1rem;display:grid}.modal-form{gap:16px;padding:20px;display:grid}.modal-form textarea{resize:vertical;min-height:92px}.modal-form input[type=file]{color:var(--muted-strong);padding:9px}.modal-form input[readonly]{color:var(--success);font-weight:800}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.allocation-fieldset{border-radius:13px;gap:8px;display:grid;border:1px solid var(--border)!important;padding:13px!important}.allocation-fieldset>p{color:var(--muted);margin:-3px 0 4px;font-size:.62rem}.allocation-row{border-top:1px solid var(--border);grid-template-columns:1fr 150px;align-items:center;gap:12px;padding:9px 0;display:grid}.allocation-row>span,.allocation-row>label{color:inherit;gap:3px;display:grid}.allocation-row strong{text-transform:capitalize;font-size:.69rem}.allocation-row small{color:var(--muted);font-size:.59rem}.optional-label{color:var(--muted);font-size:.58rem;font-weight:500}.field-help{color:var(--muted);font-size:.59rem}.modal-actions{justify-content:flex-end;gap:9px;padding-top:4px;display:flex}.secondary-button,.danger-submit{border:1px solid var(--border);min-height:42px;color:var(--muted-strong);background:#ffffff09;border-radius:11px;padding:0 14px;font-size:.7rem;font-weight:800}.danger-submit{color:#fff;background:#be185db8;border-color:#fb718547}.warning-copy{color:#fde68a;background:#fbbf2412;border:1px solid #fbbf2433;border-radius:11px;margin:0;padding:11px;font-size:.68rem;line-height:1.5}:focus-visible{outline-offset:2px;outline:3px solid #60d2ffbf}@media (max-width:900px){.finance-app{display:block}.sidebar{display:none}.mobile-brand{display:flex}.mobile-brand .brand-symbol{border-radius:10px;width:33px;height:33px;font-size:.9rem}.topbar-title{display:none}.content{padding-top:25px}.balance-hero{grid-template-columns:1fr 210px}}@media (max-width:780px){.detail-grid{grid-template-columns:1fr}}@media (max-width:700px){.topbar{min-height:62px;padding-inline:15px}.user-summary{padding:5px 8px}.user-summary small{display:none}.content{padding:21px 14px 38px}.page-heading{flex-direction:column;align-items:flex-start}.primary-button{width:100%;min-height:47px}.balance-hero{grid-template-columns:1fr}.balance-side{margin:0 22px 22px}.balance-equation{grid-template-columns:1fr auto 1fr;display:grid}.balance-equation>span{min-width:0}.balance-equation>b:nth-of-type(2){display:none}.balance-equation .equation-result{grid-column:1/-1}.rule-banner{grid-template-columns:44px 1fr}.rule-exception{grid-column:2;justify-self:start}.metrics-grid{grid-template-columns:1fr}.metric-card{min-height:108px}table{min-width:670px}.payment-row{grid-template-columns:46px minmax(0,1fr) auto}.modal-backdrop{align-items:end;padding:0}.modal-card{border-radius:20px 20px 0 0;width:100%;max-height:92vh}.form-grid{grid-template-columns:1fr}.allocation-row{grid-template-columns:1fr 120px}.person-grid{gap:6px}.person-option{min-height:87px}}@media (max-width:420px){.topbar-actions{gap:7px}.topbar{padding-inline:11px}.mobile-brand{gap:7px}.user-summary{max-width:78px;overflow:hidden}.user-summary strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topbar .avatar{display:none}.balance-main{padding:23px 16px}.balance-side{margin:0 16px 16px}.balance-equation{gap:7px}.month-values{grid-template-columns:1fr}.month-values>span{grid-template-columns:1fr auto;align-items:baseline}.payment-row{grid-template-columns:42px minmax(0,1fr)}.payment-date{width:42px;height:42px}.payment-value{grid-column:2;justify-self:start}.payment-actions{grid-column:2}.person-grid{grid-template-columns:1fr}.person-option{grid-template-columns:42px 1fr;place-items:center start;min-height:60px;padding:8px 12px}.modal-actions{flex-direction:column-reverse}.modal-actions>button{width:100%;min-height:46px}}@media (max-width:350px){.topbar .user-summary{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
