:root{--ink:#172236;--muted:#738096;--line:#e5e9ef;--paper:#fff;--canvas:#f4f6f8;--navy:#16243a;--navy-2:#223653;--gold:#b98a42;--red:#bc4b48;--green:#2f8268}*{box-sizing:border-box}html{background:var(--canvas)}body{background:var(--canvas);color:var(--ink);margin:0;font-family:PingFang SC,Microsoft YaHei,Noto Sans CJK SC,Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-shell{min-height:100vh}.sidebar{color:#d9e0e9;z-index:20;background:linear-gradient(#17263c 0%,#101c2f 100%);flex-direction:column;width:232px;padding:26px 18px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{border-bottom:1px solid #ffffff1a;align-items:center;gap:12px;padding:0 9px 26px;display:flex}.brand-seal{color:#e3bc78;border:1px solid #dab571b3;border-radius:4px;place-items:center;width:40px;height:40px;font-family:serif;font-size:23px;display:grid;box-shadow:inset 0 0 0 3px #ffffff08}.brand strong{color:#fff;letter-spacing:.12em;font-family:serif;font-size:16px;display:block}.brand span{color:#91a0b3;letter-spacing:.06em;margin-top:4px;font-size:10px;display:block}.sidebar nav{gap:5px;margin-top:24px;display:grid}.sidebar nav button{color:#9faabd;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:12px;min-height:46px;padding:0 13px;font-size:13px;transition:all .18s;display:flex}.sidebar nav button:hover{color:#fff;background:#ffffff0d}.sidebar nav button>span{border:1px solid #ffffff24;border-radius:6px;place-items:center;width:25px;height:25px;font-size:11px;display:grid}.sidebar nav button b{color:#fff;background:var(--red);border-radius:10px;place-items:center;min-width:20px;height:20px;margin-left:auto;font-size:10px;display:grid}.sidebar nav .nav-active{color:#fff;background:linear-gradient(90deg,#be91483d,#be914814);box-shadow:inset 2px 0 #d2a65e}.sidebar nav .nav-active>span{color:#e5be7b;border-color:#e5be7b6b}.side-foot{color:#9aa7b8;border-top:1px solid #ffffff14;margin-top:auto;padding:16px 9px 4px;font-size:10px}.side-foot small{color:#65758c;margin-top:7px;display:block}.secure-dot{background:#59b091;border-radius:50%;width:6px;height:6px;margin-right:7px;display:inline-block;box-shadow:0 0 0 3px #59b0911f}.main{min-height:100vh;margin-left:232px;padding:0 32px 40px}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;justify-content:space-between;align-items:center;height:72px;margin:0 -32px 26px;padding:0 32px;display:flex}.topbar p{color:#9099a9;margin:0 0 4px;font-size:10px}.topbar h1{color:#17243a;letter-spacing:.05em;margin:0;font-family:serif;font-size:21px;font-weight:600}.top-actions{align-items:center;gap:12px;display:flex}.search{background:#f7f8fa;border:1px solid #e3e7ec;border-radius:7px;align-items:center;gap:8px;width:260px;height:38px;padding:0 12px;display:flex}.search span{color:#8490a2;font-size:20px;transform:rotate(-18deg)}.search input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:12px}.icon-button{border:1px solid var(--line);color:#536176;background:#fff;border-radius:7px;width:38px;height:38px;font-size:20px;position:relative}.icon-button i{color:#fff;background:var(--red);border-radius:9px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:9px;font-style:normal;display:grid;position:absolute;top:-6px;right:-5px}.avatar{color:#f1d19c;background:var(--navy);border-radius:7px;place-items:center;width:38px;height:38px;font-family:serif;font-size:14px;display:grid}.user-chip{align-items:center;gap:8px;padding-left:5px;display:flex}.user-chip>div:last-child{min-width:68px}.user-chip strong{color:#334156;font-size:10px;display:block}.user-chip span{color:#97a0ad;margin-top:3px;font-size:8px;display:block}.logout-button{color:#758093;background:#fff;border:1px solid #e1e5ea;border-radius:6px;height:32px;padding:0 10px;font-size:9px}.logout-button:hover{color:#a4423f;border-color:#e7c5c3}.welcome-strip{color:#fff;background:linear-gradient(110deg,#1b2d47,#263e60 70%,#2e4a6e);border:1px solid #dce2ea;border-radius:10px;justify-content:space-between;align-items:center;gap:28px;min-height:122px;margin-bottom:18px;padding:24px 28px;display:flex;box-shadow:0 8px 26px #1f304a14}.welcome-strip span{color:#d3b174;letter-spacing:.08em;font-size:11px}.welcome-strip h1{margin:6px 0;font-family:serif;font-size:24px;font-weight:500}.welcome-strip p{color:#b8c4d3;margin:0;font-size:12px}.primary,.secondary{border-radius:6px;min-height:38px;padding:0 16px;font-size:12px;font-weight:600;transition:all .16s}.primary{color:#17243a;background:linear-gradient(#dfbd7d,#cda15b);border:1px solid #c89c51;box-shadow:0 4px 10px #0e16221f}.primary:hover{filter:brightness(1.04);transform:translateY(-1px)}.primary:disabled{cursor:wait;opacity:.65;transform:none}.secondary{color:#46546a;background:#fff;border:1px solid #d8dee7}.secondary:hover{border-color:#aab4c2}.metric-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;display:grid}.metric-grid article{border:1px solid var(--line);background:var(--paper);border-radius:9px;min-height:124px;padding:19px 18px 16px 64px;position:relative;box-shadow:0 5px 16px #19273c09}.metric-grid p{color:#7d8797;margin:1px 0 9px;font-size:11px}.metric-grid strong{color:#1b2a40;letter-spacing:-.02em;font-family:Georgia,Times New Roman,serif;font-size:23px;font-weight:600;display:block}.metric-grid strong em{font-family:inherit;font-size:13px;font-style:normal}.metric-grid small{color:#a1a9b5;margin-top:9px;font-size:9px;display:block}.metric-icon{border-radius:7px;place-items:center;width:35px;height:35px;font-family:serif;font-size:14px;display:grid;position:absolute;top:20px;left:17px}.metric-icon.navy{color:#4a6489;background:#edf1f6}.metric-icon.gold{color:#9d712d;background:#f8f2e7}.metric-icon.red{color:#b14b47;background:#faeeee}.metric-icon.green{color:#347b67;background:#eaf5f1}.dashboard-grid{grid-template-columns:1.55fr 1fr;gap:14px;margin-bottom:18px;display:grid}.panel{border:1px solid var(--line);background:var(--paper);border-radius:9px;box-shadow:0 5px 16px #19273c08}.panel-head{border-bottom:1px solid #edf0f3;justify-content:space-between;align-items:center;min-height:66px;padding:15px 20px;display:flex}.eyebrow{color:#b08a51;letter-spacing:.16em;margin-bottom:4px;font-size:8px;font-weight:700;display:block}.panel-head h3{margin:0;font-family:serif;font-size:16px;font-weight:600}.text-button{color:#6d788b;background:0 0;border:0;font-size:10px}.text-button:hover{color:var(--gold)}.subtle{color:#9ca5b2;font-size:9px}.alert-list{padding:3px 20px 8px}.alert-row{border-bottom:1px solid #f0f2f4;grid-template-columns:45px 1fr auto;align-items:center;gap:13px;min-height:67px;display:grid}.alert-row:last-child{border-bottom:0}.date-box{text-align:center;border-radius:6px;width:43px;height:43px;padding-top:6px}.date-box strong{font:600 16px/18px Georgia,serif;display:block}.date-box span{font-size:8px}.tone-watch{color:#9b6c24;background:#fbf2df}.tone-urgent{color:#b26631;background:#fbeadd}.tone-danger{color:#b44642;background:#fae7e6}.tone-critical{color:#853d58;background:#f4e6ec}.alert-copy strong{font-size:12px}.alert-copy strong span{color:#9ca5b2;margin-left:8px;font-size:8px;font-weight:500}.alert-copy p{color:#7d8796;margin:5px 0 0;font-size:9px}.status{white-space:nowrap;border-radius:11px;align-items:center;gap:5px;width:max-content;min-height:22px;padding:0 8px;font-size:9px;display:inline-flex}.status i{background:currentColor;border-radius:50%;width:5px;height:5px}.status-normal{color:#4c739c;background:#edf3f9}.status-done{color:#2f8069;background:#e8f5f0}.status-watch{color:#9b702f;background:#fbf2e1}.status-urgent{color:#b76832;background:#fceade}.status-danger{color:#b74642;background:#fae7e6}.status-critical{color:#8a3d5c;background:#f4e6ed}.status-neutral{color:#707b8b;background:#eef0f3}.bars{padding:17px 20px 10px}.bar-row{margin-bottom:16px}.bar-row>div:first-child{color:#657186;justify-content:space-between;margin-bottom:7px;font-size:10px;display:flex}.bar-row strong{color:#303d51;font-size:9px}.bar-track{background:#eef1f4;border-radius:3px;height:5px;overflow:hidden}.bar-track i{border-radius:inherit;background:#294565;height:100%;display:block}.bar-track .bar-1{background:#b78b48}.bar-track .bar-2{background:#568477}.bar-track .bar-3{background:#7387a4}.bar-track .bar-4{background:#a06a68}.profit-note{color:#7a8493;background:#fafbfc;border:1px solid #e8ebef;border-radius:6px;justify-content:space-between;align-items:center;margin:0 20px 18px;padding:13px 14px;font-size:9px;display:flex}.profit-note strong{color:#317d68;font:600 15px Georgia,serif}.recent-panel{overflow:hidden}.workspace-head{justify-content:space-between;align-items:end;margin-bottom:16px;padding:2px 0 5px;display:flex}.workspace-head h1{margin:3px 0 5px;font-family:serif;font-size:24px;font-weight:600}.workspace-head p{color:#7e899a;margin:0;font-size:11px}.workspace-actions{gap:8px;display:flex}.table-panel{overflow:hidden}.table-scroll{width:100%;overflow-x:auto}.metric-grid.overview-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}@media (max-width:1400px){.metric-grid.overview-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:900px){.metric-grid.overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.metric-grid.overview-metrics{grid-template-columns:1fr}}.recovery-overview{margin-bottom:20px}.payment-desk>.recovery-money-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.payment-controls{flex-wrap:wrap;gap:12px}.payment-controls input{border:1px solid #dce3e9;border-radius:7px;max-width:100%;padding:10px 12px}.payment-filters{flex-wrap:wrap;padding:16px}@media (max-width:560px){.payment-desk>.recovery-money-grid{grid-template-columns:1fr}}.recovery-money-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.recovery-money-grid article{background:#fff;border:1px solid #e4e9ed;border-radius:10px;padding:20px}.recovery-money-grid span,.recovery-money-grid small{color:#66758a;display:block}.recovery-money-grid strong{overflow-wrap:anywhere;margin:12px 0;font-size:24px;display:block}.recovery-money-grid small{font-size:12px;line-height:1.6}.recovery-overview>p{margin:10px 0 0;line-height:1.6}@media (max-width:1100px){.recovery-money-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.recovery-money-grid{grid-template-columns:1fr}}.loan-note-cell{white-space:normal;width:220px;min-width:180px;max-width:260px}.loan-note{color:#586579;font-size:12px;line-height:1.6}.loan-note summary{cursor:pointer;list-style:none}.loan-note summary::-webkit-details-marker{display:none}.loan-note summary span{-webkit-line-clamp:2;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.loan-note summary:after{content:"展开";color:#286d5a;margin-top:3px;font-size:11px;display:block}.loan-note[open] summary span{display:none}.loan-note[open] summary:after{content:"收起"}.loan-note-full{white-space:pre-wrap;overflow-wrap:anywhere;background:#f6f9f8;border-left:2px solid #bde0d3;border-radius:4px;margin-top:6px;padding:8px 10px}.loan-note summary:focus-visible{outline-offset:3px;border-radius:3px;outline:2px solid #286d5a}table{border-collapse:collapse;width:100%;font-size:10px}th{color:#8791a0;text-align:left;white-space:nowrap;background:#f8f9fa;border-bottom:1px solid #e8ebef;height:43px;padding:0 15px;font-size:9px;font-weight:600}td{color:#4f5b6e;white-space:nowrap;border-bottom:1px solid #edf0f3;height:58px;padding:8px 15px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcfcfd}.ticket{color:#2b4565;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px}.person strong{color:#29364a;font-size:11px;display:block}.person span,.cell-note{color:#99a2af;margin-top:4px;font-size:8px;display:block}.mini-select{color:#536176;background:#fff;border:1px solid #dfe4ea;border-radius:5px;max-width:72px;padding:4px 5px;font-size:9px}.red-text{color:#b44743!important}.green-text{color:#2f8069!important}.empty-state{color:#9aa4b2;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:190px;display:flex}.empty-state>span{color:#c5cbd3;margin-bottom:8px;font-size:28px}.empty-state strong{color:#657184;font-family:serif;font-size:14px}.empty-state p{margin:6px 0 0;font-size:9px}.reminder-grid{gap:14px;display:grid}.alert-summary{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.alert-summary article{border:1px solid var(--line);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.alert-summary span{color:#778295;font-size:10px}.alert-summary strong{color:#283850;font:600 22px Georgia,serif}.finance-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.finance-card{padding:22px}.finance-card span{color:#7a8595;font-size:10px}.finance-card strong{margin-top:9px;font:600 28px Georgia,serif;display:block}.finance-card p{color:#9aa3af;margin:8px 0 0;font-size:9px}.finance-table{grid-column:1/-1}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0c16248f;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:10px;width:min(760px,100%);max-height:calc(100vh - 56px);overflow-y:auto;box-shadow:0 28px 80px #09121f4d}.modal-head{color:#fff;background:#1b2d47;justify-content:space-between;align-items:center;min-height:78px;padding:18px 24px;display:flex}.modal-head h2{margin:2px 0 0;font-family:serif;font-size:20px;font-weight:500}.modal-head button{color:#fff;background:#ffffff0f;border:1px solid #fff3;border-radius:50%;width:30px;height:30px;font-size:18px}.form-section{padding:19px 24px 7px}.form-section+.form-section{border-top:1px solid #edf0f3}.form-section h3{color:#37465a;margin:0 0 15px;font-family:serif;font-size:13px}.form-grid{grid-template-columns:repeat(2,1fr);gap:13px;display:grid}.field{gap:6px;display:grid}.field-wide{grid-column:1/-1}.field>span{color:#737f91;font-size:9px}.field input,.field select{color:#334156;background:#fff;border:1px solid #dfe4ea;border-radius:6px;outline:0;width:100%;height:38px;padding:0 10px;font-size:11px}.field input:focus,.field select:focus{border-color:#a98a58;box-shadow:0 0 0 3px #b98a421a}.field input::placeholder{color:#b5bcc6}.password-input{width:100%;position:relative}.password-input input{width:100%;padding-right:44px!important}.password-toggle{color:#7c8796;cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;width:31px;height:31px;padding:0;display:grid;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.password-toggle:hover{color:#9d7438;background:#f2eee7}.password-toggle:focus-visible{outline-offset:1px;outline:2px solid #b99154}.password-toggle svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.form-actions{background:#fafbfc;border-top:1px solid #edf0f3;justify-content:space-between;align-items:center;margin-top:12px;padding:16px 24px 20px;display:flex}.form-actions p{color:#929ba8;margin:0;font-size:9px}.form-actions p span{color:#b54945}.toast{z-index:60;color:#286d5a;background:#ecf8f3;border:1px solid #bde0d3;border-radius:7px;align-items:center;gap:12px;max-width:calc(100vw - 40px);padding:11px 16px;font-size:11px;display:flex;position:fixed;top:98px;right:28px;box-shadow:0 8px 24px #122d241f}.toast button{color:inherit;cursor:pointer;background:0 0;border:0;flex-shrink:0;padding:4px;font-size:18px}.error-banner{color:#9d3e3a;background:#fff0ef;border:1px solid #efcac7;border-radius:7px;align-items:center;gap:9px;margin-bottom:14px;padding:11px 14px;font-size:11px;display:flex}.error-banner span{color:#fff;background:#bd4a46;border-radius:50%;place-items:center;width:18px;height:18px;font-size:9px;display:grid}.error-banner button{color:inherit;background:0 0;border:0;margin-left:auto;font-size:18px}.loading{color:#8b95a4;place-content:center;justify-items:center;min-height:400px;font-size:11px;display:grid}.loading i{border:2px solid #e2e6eb;border-top-color:#b78b48;border-radius:50%;width:27px;height:27px;animation:.8s linear infinite spin}.loading p{margin-top:12px}@keyframes spin{to{transform:rotate(360deg)}}.auth-loading{color:#6f7b8e;background:radial-gradient(circle at 50% 42%,#fff 0%,#f3f5f7 58%,#e9edf1 100%);place-content:center;justify-items:center;min-height:100vh;display:grid}.auth-loading .brand-seal{width:54px;height:54px;font-size:28px}.auth-loading i{border:2px solid #dfe3e8;border-top-color:#b78b48;border-radius:50%;width:30px;height:30px;margin-top:28px;animation:.8s linear infinite spin}.auth-loading p{margin-top:12px;font-size:11px}.login-page{color:#fff;background:#132238;grid-template-columns:minmax(0,.9fr) minmax(380px,1.1fr);min-height:100vh;display:grid}.login-brand{background:radial-gradient(circle at 70% 35%,#43628859,#0000 33%),linear-gradient(140deg,#182b46 0%,#0e192b 78%);flex-direction:column;justify-content:center;padding:5vw;display:flex;position:relative;overflow:hidden}.login-brand:before{content:"";border:1px solid #dab1693d;border-radius:50%;width:520px;height:520px;position:absolute;bottom:-280px;right:-180px;box-shadow:0 0 0 70px #dab16906,0 0 0 145px #dab16905}.login-brand:after{content:"";background:linear-gradient(90deg,#c69a51,#0000);height:1px;position:absolute;bottom:13vh;left:5vw;right:5vw}.login-seal{color:#e1bd7e;border:1px solid #d1a45b;border-radius:6px;place-items:center;width:66px;height:66px;margin-bottom:34px;font:34px serif;display:grid;box-shadow:inset 0 0 0 5px #ffffff06}.login-brand>span{color:#ddb876;letter-spacing:.25em;font-family:serif;font-size:15px}.login-brand h1{letter-spacing:.06em;max-width:540px;margin:18px 0 16px;font-family:serif;font-size:clamp(32px,3.2vw,48px);font-weight:500}.login-brand p{color:#cbd3de;max-width:520px;margin:0;font-size:14px;line-height:2}.login-points{color:#cbd3de;flex-wrap:wrap;gap:12px 24px;margin-top:38px;font-size:14px;display:flex}.login-card{width:min(390px,100% - 54px);color:var(--ink);background:#fffffffa;border:1px solid #e1e5ea;border-radius:11px;place-self:center;padding:36px 38px;box-shadow:0 28px 80px #050d1847}.login-card-head>span{color:#b1884a;letter-spacing:.18em;font-size:8px;font-weight:700}.login-card-head h2{margin:8px 0 6px;font-family:serif;font-size:26px}.login-card-head p{color:#8994a4;margin:0 0 24px;font-size:10px}.login-card form{gap:16px;display:grid}.login-card form label{gap:7px;display:grid}.login-card form label span{color:#677386;font-size:9px}.login-card form input{color:#314056;background:#fbfcfd;border:1px solid #dce1e7;border-radius:6px;outline:0;height:43px;padding:0 12px;font-size:11px}.login-card form input:focus{border-color:#ad8a54;box-shadow:0 0 0 3px #b98a421a}.login-submit{width:100%;min-height:43px;margin-top:3px}.login-help{background:#f8f9fa;border:1px solid #e8ebef;border-radius:6px;margin:22px 0 16px;padding:13px 14px}.login-help strong{font-size:9px}.login-help p{color:#8a94a2;margin:5px 0 0;font-size:8px}.login-card>small{color:#9ba4af;text-align:center;font-size:8px;display:block}.login-error{color:#a13f3b;background:#fff0ef;border:1px solid #efc9c7;border-radius:6px;margin:-7px 0 16px;padding:10px 12px;font-size:9px}.password-page{background:radial-gradient(circle at 50% 30%,#2a405f 0%,#14243a 52%,#0e192a 100%);place-items:center;min-height:100vh;padding:28px;display:grid}.password-card{background:#fff;border-radius:11px;width:min(480px,100%);padding:38px;box-shadow:0 30px 90px #050c1759}.password-card .brand-seal{background:#192b44;margin-bottom:24px}.password-card h1{margin:4px 0 12px;font-family:serif;font-size:25px}.password-card>p{color:#768295;margin:0 0 24px;font-size:10px;line-height:1.8}.password-card form{gap:14px;display:grid}.password-card>.text-button{width:100%;margin-top:15px}.staff-area{gap:14px;display:grid}.staff-summary{grid-template-columns:1fr 1fr auto;align-items:stretch;gap:12px;display:grid}.staff-summary article{border:1px solid var(--line);background:#fff;border-radius:8px;padding:18px 20px}.staff-summary article span{color:#788497;font-size:9px}.staff-summary article strong{margin-top:7px;font:600 24px Georgia,serif;display:block}.staff-summary article p{color:#9aa3af;margin:6px 0 0;font-size:8px}.staff-summary>button{align-self:center;margin-left:8px}.row-actions{gap:6px;display:flex}.row-actions button{color:#586579;background:#fff;border:1px solid #dfe4ea;border-radius:5px;padding:5px 7px;font-size:8px}.row-actions button:hover{border-color:#afbac6}.row-actions .danger-link{color:#a84440;border-color:#e8cbc9}.row-actions button:disabled{cursor:not-allowed;opacity:.35}.person em{color:#9d7536;margin-left:5px;font-size:7px;font-style:normal}.security-note{background:#f8f9fb;border:1px solid #e4e8ed;border-radius:6px;margin-top:17px;padding:13px 14px}.security-note strong{color:#4d5b6e;font-size:9px}.security-note p{color:#8791a0;margin:5px 0 0;font-size:8px;line-height:1.7}.row-actions-wrap{flex-wrap:wrap;min-width:160px}.inventory-sections{gap:18px;display:grid}.grade-stack{white-space:nowrap;gap:3px;display:grid}.grade-stack b{color:#8b682f;font-size:9px}.grade-stack span{color:#8e98a6;font-size:8px}.grade-badge{color:#8c682d;background:#faf4e9;border:1px solid #e2d2b6;border-radius:5px;place-items:center;min-width:34px;padding:4px 7px;font-size:9px;font-weight:700;display:inline-grid}.system-health{gap:14px;display:grid}.health-summary{grid-template-columns:1.45fr 1fr;gap:14px;display:grid}.health-status-card,.health-note,.capacity-card{border:1px solid var(--line);background:#fff;border-radius:9px;padding:20px;box-shadow:0 5px 16px #19273c08}.health-status-card{grid-template-columns:1fr auto;align-items:start;display:grid}.health-status-card h3{margin:0;font-family:serif;font-size:17px}.health-status-card>strong{color:#26364d;grid-column:1/-1;margin-top:20px;font:600 21px Georgia,serif}.health-status-card>p,.health-note p{color:#8590a0;margin:7px 0 0;font-size:9px;line-height:1.7}.health-status-card>small{color:#a3413d;background:#fff0ef;border-radius:5px;grid-column:1/-1;margin-top:10px;padding:8px 10px;font-size:8px}.health-note{background:linear-gradient(140deg,#1c304b,#263f61);flex-direction:column;justify-content:center;display:flex}.health-note>span{color:#d8b36f;font-size:9px}.health-note>strong{color:#fff;margin-top:8px;font:500 20px Georgia,serif}.health-note p{color:#b7c3d1}.capacity-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.capacity-card>div:first-child{justify-content:space-between;align-items:center;display:flex}.capacity-card>div:first-child>span{color:#667388;font-size:10px}.capacity-card>strong{color:#24344b;margin:18px 0 12px;font:600 24px Georgia,serif;display:block}.capacity-card>strong small{color:#929cab;font-size:11px;font-weight:400}.capacity-track{background:#edf0f3;border-radius:4px;height:7px;overflow:hidden}.capacity-track i{border-radius:inherit;height:100%;display:block}.capacity-safe{background:#3b8c73}.capacity-warning{background:#c18a37}.capacity-critical{background:#b64b47}.capacity-card>p{color:#8b95a3;margin:9px 0 0;font-size:8px}.resilience-checklist{overflow:hidden}.checklist-grid{grid-template-columns:repeat(2,1fr);gap:11px;padding:18px 20px;display:grid}.checklist-grid>div{background:#fafbfc;border:1px solid #e7eaee;border-radius:7px;gap:10px;padding:13px;display:flex}.checklist-grid b{color:#347b67;background:#e8f5f0;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:9px;display:grid}.checklist-grid span{gap:4px;display:grid}.checklist-grid strong{color:#46546a;font-size:9px}.checklist-grid small{color:#8c96a4;font-size:8px;line-height:1.6}.form-intro{color:#7d8898;margin:-3px 0 16px;font-size:9px;line-height:1.7}@media (max-width:1080px){.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.search{width:210px}}@media (max-width:760px){.sidebar{width:100%;height:auto;padding:15px;position:static}.brand{padding-bottom:14px}.sidebar nav{grid-template-columns:repeat(4,1fr);margin-top:12px}.sidebar nav button{justify-content:center;min-height:38px;padding:0 8px;font-size:10px}.sidebar nav button>span{display:none}.sidebar nav button b{margin-left:2px}.side-foot{display:none}.main{margin-left:0;padding:0 14px 28px}.topbar{height:72px;margin:0 -14px 18px;padding:0 14px}.topbar p{display:none}.search{width:38px;padding:0 10px}.search input,.avatar{display:none}.welcome-strip{align-items:flex-start;gap:20px;padding:20px}.welcome-strip h1{font-size:20px}.welcome-strip p{max-width:280px}.welcome-strip .primary{white-space:nowrap}.metric-grid{grid-template-columns:1fr 1fr;gap:9px}.metric-grid article{min-height:112px;padding:15px 12px}.metric-icon{float:right;width:29px;height:29px;position:static}.metric-grid strong{font-size:18px}.alert-summary,.finance-grid{grid-template-columns:1fr 1fr}.finance-table{grid-column:1/-1}.health-summary,.capacity-grid{grid-template-columns:1fr}.workspace-head{align-items:flex-start;gap:14px}.workspace-actions{flex-wrap:wrap;justify-content:flex-end}.workspace-head p{max-width:360px}.modal-backdrop{padding:10px}.modal{max-height:calc(100vh - 20px)}.form-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}.login-page{grid-template-columns:1fr;padding:22px}.login-brand{display:none}.login-card{width:min(390px,100%)}.staff-summary{grid-template-columns:1fr 1fr}.staff-summary>button{grid-column:1/-1;width:max-content;margin-left:0}.user-chip>div:last-child{display:none}}@media (max-width:480px){.sidebar nav{grid-template-columns:repeat(3,1fr)}.welcome-strip{display:grid}.metric-grid,.alert-summary,.finance-grid,.checklist-grid{grid-template-columns:1fr}.top-actions{gap:7px}.workspace-head{display:grid}.workspace-actions{justify-content:flex-start}.alert-row{grid-template-columns:42px 1fr}.alert-row>.status{grid-column:2}}body{font-size:15px;line-height:1.55}.sidebar{width:216px}.main{margin-left:216px}@media (min-width:761px){.sidebar{padding:20px 12px 16px;overflow-y:auto}.sidebar .brand{gap:8px;padding:0 4px 18px}.sidebar .brand-seal{flex:0 0 34px;width:34px;height:34px}.sidebar .brand strong{letter-spacing:.04em;white-space:nowrap;font-size:16px}.sidebar .brand span{font-size:12px}.sidebar nav{gap:4px;margin-top:16px}.sidebar nav button{gap:9px;min-height:44px;padding:0 10px}.sidebar .side-foot{padding-left:0;padding-right:0}}.brand strong,.panel-head h3{font-size:18px}.brand span,.topbar p,.welcome-strip span,.metric-grid p,.workspace-head p,.alert-summary span,.finance-card span,.capacity-card>div:first-child>span{font-size:13px}.sidebar nav button{min-height:44px;font-size:15px}.sidebar nav button>span{width:28px;height:28px;font-size:13px}.sidebar nav button b,.side-foot,.subtle,.text-button,.metric-grid small,.date-box span,.alert-copy strong span,.bar-row>div:first-child,.bar-row strong,.profit-note,.empty-state p,.finance-card p,.form-actions p,.health-status-card>p,.health-note p,.health-status-card>small,.capacity-card>p,.checklist-grid small,.security-note p,.login-help p,.login-card>small{font-size:12px}.topbar h1,.welcome-strip h1,.workspace-head h1{font-size:28px}.welcome-strip p,.primary,.secondary,.search input,.alert-copy strong,.alert-copy p,.empty-state strong,.form-section h3,.field>span,.field input,.field select,.login-card form label span,.login-card form input,.login-card-head p,.login-help strong,.login-error,.toast,.error-banner,.loading,.auth-loading p,.password-card>p,.staff-summary article span,.staff-summary article p,.security-note strong,.grade-stack b,.grade-stack span,.grade-badge,.health-note>span,.checklist-grid strong,.form-intro{font-size:13px}.primary,.secondary{min-height:42px;padding:0 18px}.danger-action{color:#a84440;background:#fff7f6;border-color:#e8cbc9}.danger-action:hover{color:#8f302d;border-color:#d99a96}.search,.icon-button,.avatar{height:42px}.search{width:300px}.icon-button,.avatar{width:42px}.user-chip strong,.person strong,.ticket,.mini-select,.row-actions button,.person em{font-size:12px}.user-chip span,.person span,.cell-note{font-size:11px}.logout-button{height:36px;padding:0 12px;font-size:12px}.metric-grid strong{letter-spacing:0;font-variant-numeric:tabular-nums;font-family:inherit;font-size:26px;font-weight:700}.metric-grid strong em{font-family:inherit;font-size:16px;font-weight:600}.metric-grid article{min-height:136px}.status{min-height:26px;padding:0 10px;font-size:12px}table{font-size:13px}th{height:48px;font-size:12px}td{height:66px;font-size:13px}.select-cell{text-align:center;width:44px;padding-left:14px;padding-right:8px}.select-cell input{accent-color:#b98a42;cursor:pointer;width:16px;height:16px}.mini-select{max-width:88px;padding:6px 7px}.modal-head h2{font-size:23px}.field input,.field select{height:44px;padding:0 12px}.password-toggle{width:34px;height:34px}.login-card{width:min(460px,100% - 44px)}.login-card-head p,.login-card form label span,.login-help p{color:#536176;font-size:14px;line-height:1.6}.login-card form input{font-size:16px}.login-card form input::placeholder{color:#677386;opacity:1}.login-help{margin:22px 0 0}.login-help p{margin:0}@media (max-width:760px){.login-card{width:min(460px,100%);padding:28px 24px}}.login-card-head>span{font-size:11px}.login-card-head h2{font-size:30px}.login-card form input,.login-submit{min-height:46px}.health-status-card h3{font-size:20px}.metric-icon,.date-box strong,.profit-note strong,.alert-summary strong,.finance-card strong,.staff-summary article strong,.health-status-card>strong,.health-note>strong,.capacity-card>strong{letter-spacing:0;font-variant-numeric:tabular-nums;font-family:inherit}.metric-icon{font-weight:700}.alert-summary strong,.staff-summary article strong,.capacity-card>strong{font-size:22px;font-weight:700}.finance-card strong{font-size:24px;font-weight:700}.profit-note strong,.date-box strong{font-weight:700}@media (max-width:760px){.sidebar{width:100%}.main{margin-left:0}.sidebar nav button{min-height:42px;font-size:13px}.topbar h1,.welcome-strip h1,.workspace-head h1{font-size:23px}.metric-grid strong{font-size:21px}}.topbar,.workspace-head,.welcome-strip,.panel-head,.health-status-card,.capacity-card>div:first-child,.profit-note{min-width:0}.workspace-head>div:first-child,.welcome-strip>div:first-child,.panel-head>div:first-child{flex:auto;min-width:0}.topbar h1,.workspace-head h1,.welcome-strip h1,.panel-head h3,.modal-head h2,.login-card-head h2,.password-card h1,.health-status-card h3{letter-spacing:0;writing-mode:horizontal-tb;word-break:keep-all;overflow-wrap:normal;font-family:inherit;line-height:1.25}.topbar h1,.workspace-head h1{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.topbar{justify-content:flex-end;gap:20px}.topbar .top-actions{width:100%;max-width:none}.top-actions,.workspace-actions{flex-wrap:wrap;flex:0 auto;justify-content:flex-end;min-width:0}.search{flex:220px;min-width:190px;max-width:300px}.workspace-actions .primary,.workspace-actions .secondary{white-space:nowrap}.error-banner{white-space:normal;word-break:break-word;align-items:flex-start;max-height:132px;line-height:1.65;overflow:auto}.reminder-grid{grid-template-columns:minmax(0,1fr)}.panel{min-width:0}.table-scroll{overscroll-behavior-x:contain;scrollbar-width:auto;scrollbar-color:#738096 #edf0f3;min-width:0;max-width:100%;max-height:60dvh;overflow:scroll auto}.table-scroll::-webkit-scrollbar{width:14px;height:14px}.table-scroll::-webkit-scrollbar-track{background:#edf0f3}.table-scroll::-webkit-scrollbar-thumb{background:#738096;border:3px solid #edf0f3;border-radius:7px}.table-scroll th{z-index:1;position:sticky;top:0}table{table-layout:auto;min-width:1040px}.audit-table{min-width:1120px}.payment-due-table{table-layout:fixed;min-width:760px}.payment-due-table th:first-child{width:220px}.payment-due-table td:first-child{white-space:normal;overflow-wrap:anywhere}.audit-detail{white-space:normal;word-break:break-word;max-width:440px;line-height:1.6}th,td{vertical-align:middle}@media (max-width:1180px){.topbar{align-items:flex-start;height:auto;min-height:72px;padding-top:14px;padding-bottom:14px}.top-actions{max-width:620px}.workspace-head{align-items:flex-start}}@media (max-width:900px){.topbar,.workspace-head{grid-template-columns:1fr;display:grid}.top-actions,.workspace-actions{justify-content:flex-start}.search{max-width:none}}@media (max-width:760px){.topbar{align-items:center;display:flex}.topbar h1,.workspace-head h1,.welcome-strip h1{font-size:22px}.search{flex:0 0 42px;min-width:42px;max-width:42px}.workspace-actions{gap:8px}.workspace-actions .primary,.workspace-actions .secondary{min-height:40px;padding:0 13px}table,.audit-table{min-width:960px}}@media (max-width:480px){.topbar{grid-template-columns:1fr;display:grid}.top-actions{width:100%}}.modal.monthly-dialog{width:min(960px,100%)}.monthly-dialog>.record-form{padding:20px}.monthly-dialog table{min-width:550px}.monthly-dialog .field input[type=checkbox]{vertical-align:middle;width:18px;height:18px}.monthly-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}.monthly-summary>div{background:#f5f7fa;border-radius:12px;padding:16px}.monthly-summary span{color:#64748b;margin-bottom:8px;display:block}.monthly-summary strong{overflow-wrap:anywhere;font-size:17px}.monthly-dialog .table-scroll{margin:16px 0}.monthly-dialog .form-actions{justify-content:flex-end;gap:12px;margin-top:20px;display:flex}@media (max-width:640px){.monthly-summary{grid-template-columns:1fr;gap:8px}}.welcome-strip>div>span{color:#f0d49e;letter-spacing:.025em;font-variant-numeric:tabular-nums;margin-bottom:8px;font-size:clamp(20px,1.8vw,24px);font-weight:650;line-height:1.4;display:inline-block}.welcome-strip>.primary{white-space:nowrap;border-color:#efd09a;border-radius:10px;flex:none;min-height:58px;padding:0 28px;font-size:18px;font-weight:700;box-shadow:0 6px 18px #08111f33,inset 0 1px #ffffff40}.welcome-strip>.primary:focus-visible{outline-offset:4px;outline:3px solid #fff0cf}@media (max-width:1100px){.welcome-strip{flex-wrap:wrap;gap:20px}.welcome-strip>div:first-child{flex-basis:100%}}@media (max-width:560px){.welcome-strip>.primary{width:100%;min-height:54px;padding:0 20px;font-size:17px}}.metric-grid.overview-metrics{grid-template-columns:repeat(auto-fit,minmax(min(100%,235px),1fr));gap:16px}.overview-metrics article{border-color:#dce3eb;border-radius:12px;min-width:0;min-height:184px;padding:22px}.overview-metrics .metric-icon{float:right;width:32px;height:32px;margin:0 0 10px 12px;position:static}.overview-metrics p{color:#334155;margin:2px 0 14px;font-size:17px;font-weight:650;line-height:1.5}.overview-metrics strong{clear:both;color:#172a43;overflow-wrap:anywhere;font-size:28px;line-height:1.25}.overview-metrics small{color:#526176;margin-top:12px;font-size:14px;line-height:1.65}.dashboard-grid .panel-head h3,.recent-panel .panel-head h3{color:#26374e;font-size:20px;font-weight:650}.dashboard-grid .subtle,.dashboard-grid .alert-copy p,.dashboard-grid .alert-copy strong span,.dashboard-grid .bar-row>div:first-child,.dashboard-grid .profit-note{color:#526176;font-size:14px;line-height:1.65}.dashboard-grid .alert-copy{overflow-wrap:anywhere;min-width:0}.dashboard-grid .alert-copy>strong{color:#293b52;font-size:16px}.dashboard-grid .bar-row strong{color:#293b52;font-size:15px}.dashboard-grid .text-button,.recent-panel .text-button{color:#425773;font-size:14px;font-weight:600}.dashboard-grid .profit-note{flex-wrap:wrap;gap:8px 16px}.dashboard-grid .profit-note strong{font-size:20px}.recent-panel th{color:#4b5c72;font-size:13px;font-weight:650}.recent-panel .person span,.recent-panel .cell-note{color:#58677a;font-size:13px}@media (max-width:560px){.overview-metrics article{min-height:168px;padding:20px}.overview-metrics strong{font-size:26px}.dashboard-grid .panel-head,.recent-panel .panel-head{flex-wrap:wrap;gap:10px}}.loan-count-bar{background:#f5f8fc;border-bottom:1px solid #dce3eb;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;padding:20px 24px;display:flex}.loan-count-total{color:#34465e;align-items:baseline;gap:10px;font-size:16px;font-weight:600;display:flex}.loan-count-total strong{color:#1b3554;font-variant-numeric:tabular-nums;font-size:32px;font-weight:700;line-height:1.2}.loan-count-context{color:#34465e;flex-wrap:wrap;align-items:center;gap:8px 18px;font-size:14px;display:flex}.loan-count-context b{color:#1b3554;font-variant-numeric:tabular-nums}.loan-count-note{color:#59697d;font-size:13px}@media (max-width:560px){.loan-count-bar{padding:18px 20px}.loan-count-context{width:100%}}.person .loan-customer-name{color:#1b3554;font-size:16px;font-weight:650;line-height:1.5}.loan-index-cell{text-align:center;color:#526176;font-variant-numeric:tabular-nums;width:60px}tr.loan-row-selected,tr.loan-row-selected:hover{background:#edf4fc}.loan-selection-bar{z-index:8;background:#fff;border:1px solid #b8cce1;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 24px;margin-top:16px;padding:16px 20px;display:flex;position:sticky;bottom:16px;box-shadow:0 6px 24px #1b355424}.loan-selection-count{color:#293e58;font-size:16px;font-weight:600}.loan-selection-count strong{color:#1b4c7b;font-variant-numeric:tabular-nums;margin:0 4px;font-size:24px}.loan-selection-note{color:#59697d;margin-top:3px;font-size:13px;display:block}.loan-selection-actions{flex-wrap:wrap;gap:10px;display:flex}@media (max-width:560px){.loan-selection-bar{padding:14px;bottom:8px}.loan-selection-actions{width:100%}.loan-selection-actions button{flex:1;padding:8px 12px}}
