:root{--ink:#172b3a;--muted:#71808c;--line:#e6ebee;--green:#168b78;--nav:#142c37;--bg:#f5f7f8;font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;color:var(--ink);font-size:14px}*{box-sizing:border-box}body{margin:0;background:var(--bg)}[hidden]{display:none!important}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}button{cursor:pointer;border:1px solid var(--line);border-radius:7px;padding:9px 15px;background:#fff;color:var(--ink);transition:.15s}button:hover{background:#f0f5f4}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--green);border-color:var(--green);color:#fff}.primary:hover{background:#107461}.danger{color:#bd4945}a{color:var(--green);text-decoration:none}.muted{color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700}.brand-mark{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#1aa28a;color:#fff;border-radius:12px;font-size:30px;font-weight:700;transform:skew(-5deg)}.brand-mark.small{width:35px;height:35px;font-size:23px;border-radius:9px}.login-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-copy{background:var(--nav);color:#fff;padding:9vh 9vw;position:relative;display:flex;flex-direction:column;justify-content:center}.login-copy .eyebrow{color:#82a6a9;margin:35px 0 10px}.login-copy h1{font-size:clamp(32px,4vw,58px);line-height:1.4;letter-spacing:-2px;margin:10px 0 20px}.login-copy>p:not(.eyebrow){line-height:1.9;color:#b2c5c9}.login-foot{font-size:12px;color:#7c9ca4;margin-top:60px}.login-panel{display:flex;align-items:center;justify-content:center;padding:40px;background:#fff}.login-card{width:min(360px,100%)}h2{font-size:23px;font-weight:650;margin:12px 0}.login-card>.muted{margin-bottom:30px}.login-card label{margin-top:20px}.login-card>.primary{width:100%;display:flex;justify-content:space-between;margin-top:20px;padding:13px 18px}.login-note{color:var(--muted);font-size:12px;line-height:1.8;margin-top:25px}label{display:block;font-size:13px;font-weight:500}input,select,textarea{display:block;width:100%;border:1px solid #dce3e7;border-radius:7px;padding:10px 12px;background:#fff;margin-top:8px;line-height:1.5;color:var(--ink)}input:focus,select:focus,textarea:focus{border-color:var(--green);outline:2px solid #168b7820}textarea{min-height:84px;resize:vertical}input[type=checkbox]{width:auto;display:inline-block;vertical-align:middle;margin:0 9px 0 0}.workspace{display:flex;min-height:100vh}.sidebar{background:var(--nav);color:#d9e3e7;width:220px;flex-shrink:0;position:fixed;inset:0 auto 0 0;padding:30px 16px 20px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:0 12px;color:#fff;font-weight:750;font-size:20px;letter-spacing:2px}.brand-sub{display:block;font-size:10px;font-weight:400;letter-spacing:.8px;color:#8faab2;margin-top:4px}.nav-label{font-size:10px;color:#6f8d97;margin:42px 14px 12px;letter-spacing:1px}nav a{display:flex;gap:14px;align-items:center;color:#9fb5bd;padding:12px 15px;margin:5px 0;border-radius:7px;font-size:13px}nav a span{font-size:19px;width:21px;text-align:center}nav a:hover{background:#203c47;color:#fff}nav a.active{background:#1d4b4c;color:#a1e4d0}.sidebar-bottom{margin-top:auto;padding:20px 12px 0;font-size:12px;color:#abc1c6}.sidebar-bottom small{display:block;font-size:10px;color:#6f8d97;margin-top:10px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#3bb99f;margin-right:7px}.main-shell{margin-left:220px;width:calc(100% - 220px);display:flex;flex-direction:column}.topbar{height:72px;padding:0 38px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted)}.account{display:flex;align-items:center;gap:15px}.account>span{font-weight:600;color:var(--ink)}.text-button{background:transparent;border:0;padding:4px;color:var(--muted);font-size:12px}.text-button:hover{color:var(--green);background:transparent}main{padding:32px 38px;flex:1}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:26px}.page-heading h1{font-size:25px;letter-spacing:-.5px;margin:0 0 8px}.page-heading p{margin:0;color:var(--muted);font-size:12px;line-height:1.7}.heading-actions{display:flex;gap:9px}.card{border:1px solid var(--line);background:#fff;border-radius:10px;margin-bottom:22px;overflow:hidden;box-shadow:0 2px 4px #1b394503}.card-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid var(--line);gap:14px}.card-head h3{margin:0;font-size:14px}.card-head small{color:var(--muted);font-size:11px}.card-body{padding:22px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.metric{background:#fff;border:1px solid var(--line);border-radius:10px;padding:23px}.metric .label{font-size:12px;color:var(--muted);display:flex;justify-content:space-between}.metric strong{display:block;font-size:29px;font-weight:650;letter-spacing:-1px;margin:16px 0 10px}.metric small{color:#85959d;font-size:11px}.metric-icon{color:var(--green);font-size:18px}.grid-two{display:grid;grid-template-columns:1.7fr 1fr;gap:22px}.facts{display:grid;grid-template-columns:1fr 1fr;gap:20px}.fact strong{font-size:22px;display:block;margin-bottom:7px}.fact small{color:var(--muted)}.note{padding:13px 16px;background:#edf6f3;border:1px solid #d5ebe2;border-radius:7px;font-size:12px;color:#41665c;line-height:1.8;margin-bottom:18px}.note.warning{background:#fff8eb;border-color:#f2e4c5;color:#8c702e}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.toolbar input{width:250px;margin:0;font-size:12px;padding:8px 11px}.toolbar select{width:145px;margin:0;font-size:12px;padding:8px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}th{background:#fafbfc;text-align:left;color:#7c8b94;font-weight:500;padding:13px 20px;border-bottom:1px solid var(--line)}td{padding:15px 20px;border-bottom:1px solid #f0f3f5;vertical-align:middle}tr:last-child td{border-bottom:0}tr:hover td{background:#fcfdfd}td .sub{display:block;color:#96a1a8;font-size:10px;margin-top:6px;max-width:210px;overflow:hidden;text-overflow:ellipsis}.mono{font-family:Consolas,monospace;font-size:11px}.number{text-align:right;font-variant-numeric:tabular-nums}.badge{display:inline-block;border-radius:5px;padding:4px 8px;font-size:10px;background:#eef1f5;color:#64717b}.badge.good{background:#e9f5ef;color:#308369}.badge.warn{background:#fff4de;color:#ab7d2e}.badge.bad{background:#fdeeee;color:#c25a54}.row-actions{display:flex;gap:12px;align-items:center}.row-actions button{padding:0;background:none;border:0;color:var(--green);font-size:11px}.empty{padding:62px 20px;text-align:center;color:var(--muted);font-size:13px}.empty span{display:block;font-size:30px;color:#b3c5c8;margin-bottom:14px}.pagination{display:flex;justify-content:space-between;align-items:center;padding:13px 20px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.pagination>div{display:flex;align-items:center;gap:12px}.pagination button{padding:5px 9px;font-size:11px}footer{display:flex;justify-content:space-between;font-size:10px;color:#98a5ac;padding:22px 38px}dialog{border:0;border-radius:12px;padding:0;width:min(600px,calc(100vw - 32px));max-height:88vh;box-shadow:0 24px 80px #102c3c44;color:var(--ink)}dialog::backdrop{background:#10273366;backdrop-filter:blur(2px)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:2}.modal-head h2{font-size:18px;margin:0}.modal-head button{border:0;padding:0;font-size:23px;color:var(--muted)}#modal-body{padding:23px 24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid .full{grid-column:1/-1}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.error{color:#bf4f47;font-size:12px;min-height:16px;line-height:1.8}.details{display:grid;grid-template-columns:120px 1fr;gap:13px;font-size:12px}.details dt{color:var(--muted)}.details dd{margin:0;word-break:break-all}.credit-amount{font-size:35px;color:var(--green);font-weight:650;margin:20px 0;text-align:center}.step-label{font-size:10px;letter-spacing:1px;color:var(--green);font-weight:700}.chart{height:190px;width:100%;display:block}.chart-legend{display:flex;gap:18px;justify-content:flex-end;font-size:10px;color:var(--muted);margin-bottom:10px}.legend-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;background:var(--green)}.legend-dot.alt{background:#a9c4d0}#toast{position:fixed;bottom:25px;right:30px;padding:14px 20px;color:white;background:#183e38;border-radius:8px;box-shadow:0 5px 24px #132d3322;max-width:460px;z-index:20;font-size:12px}.code-block{background:#f4f6f8;padding:14px;border-radius:7px;white-space:pre-wrap;font-size:11px;overflow:auto;max-height:300px}.loading{padding:80px;text-align:center;color:var(--muted)}@media(max-width:1100px){.metrics{grid-template-columns:1fr 1fr}.grid-two{grid-template-columns:1fr}.topbar,main{padding-left:24px;padding-right:24px}}@media(max-width:760px){.login-shell{grid-template-columns:1fr}.login-copy{display:none}.login-panel{min-height:100vh}.sidebar{width:70px;padding:22px 8px}.brand{padding:0 8px}.brand>span:last-child,.nav-label,nav a:not(.active)~.nav-label,.sidebar-bottom{display:none}nav{margin-top:25px}nav a{padding:12px 10px;font-size:0;gap:0}nav a span{font-size:20px}.main-shell{margin-left:70px;width:calc(100% - 70px)}.topbar{padding:0 16px;height:62px}.topbar>#breadcrumb{display:none}.account{width:100%;justify-content:space-between;font-size:11px;gap:6px}main{padding:23px 15px}.page-heading{align-items:flex-start}.page-heading h1{font-size:21px}.heading-actions{flex-direction:column}.heading-actions button{font-size:11px;padding:8px}.metrics{gap:10px}.metric{padding:16px}.metric strong{font-size:25px}.card-head{padding:16px;align-items:flex-start;flex-direction:column}.toolbar{width:100%}.toolbar input{width:100%}footer{padding:20px 15px}footer span{display:none}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:1}.details{grid-template-columns:90px 1fr}.card-body{padding:17px}}
