:root{font-family:Inter,Microsoft YaHei,system-ui,sans-serif;color:#17233c;background:#f3f6fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:1180px;background:radial-gradient(circle at 82% 4%,#dff8f3 0,transparent 22%),#f3f6fa}button{font:inherit}input{width:100%;margin-top:8px;padding:12px 13px;border:1px solid #d6dee8;border-radius:10px;font:inherit;outline:none}input:focus{border-color:#168a76;box-shadow:0 0 0 3px #168a7618}select,textarea{width:100%;margin-top:8px;padding:11px 13px;border:1px solid #d6dee8;border-radius:10px;color:#26364d;background:#fff;font:inherit}textarea{min-height:76px;resize:vertical}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 65% 20%,#d5f6ee,transparent 24%),#eef3f8}.login-card{width:390px;padding:38px;border:1px solid #dfe7ef;border-radius:20px;background:#fff;box-shadow:0 25px 70px #17365f20}.login-card .brand-mark{margin-bottom:22px}.login-card h1{margin:0 0 27px}.login-card label{display:block;margin:18px 0;color:#47566b;font-size:13px;font-weight:700}.primary-button{width:100%;margin-top:8px;padding:13px;border:0;border-radius:10px;color:#fff;background:#17365f;font-weight:700;cursor:pointer}.primary-button:disabled{opacity:.5}.login-card small{display:block;margin-top:18px;color:#8a95a5;text-align:center}.error{color:#b54432;font-size:13px}.banner{padding:10px 14px;border-radius:9px;background:#fff1ef}.banner button,.logout{border:0;color:inherit;background:transparent;text-decoration:underline;cursor:pointer}.logout{padding:0;margin-top:4px;color:#86a0c7;text-align:left;font-size:12px}.shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:220px;display:grid;grid-template-columns:42px 1fr;grid-template-rows:70px 1fr 76px;gap:0 10px;padding:20px 14px;color:#dce9ff;background:linear-gradient(180deg,#102442,#0b1830);box-shadow:12px 0 40px #12294a18}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;color:#07233a;background:#38d6b1;font-size:20px;font-weight:800}.brand-copy{display:flex;flex-direction:column;justify-content:center;height:42px}.brand-copy strong{font-size:17px;letter-spacing:.04em}.brand-copy span,.sidebar-foot span{margin-top:3px;font-size:12px;color:#86a0c7}nav{grid-column:1 / -1;padding-top:20px}.nav-item{width:100%;display:flex;gap:12px;align-items:center;padding:12px 14px;margin:5px 0;border:0;border-radius:10px;color:#9db2d3;background:transparent;cursor:pointer;text-align:left}.nav-item span{font-size:18px}.nav-item:hover,.nav-item.active{color:#fff;background:#ffffff12}.nav-item.active{box-shadow:inset 3px 0 #38d6b1}.sidebar-foot{grid-column:1 / -1;display:flex;align-items:center;gap:10px;border-top:1px solid #ffffff15;padding:18px 8px 0}.sidebar-foot div:last-child{display:flex;flex-direction:column}.avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#29466e}main{grid-column:2;padding:34px 38px 60px;max-width:1600px;width:100%;margin:0 auto}.topbar{display:flex;justify-content:space-between;align-items:flex-end}.eyebrow{margin:0 0 7px;color:#168a76;font-weight:800;font-size:12px;letter-spacing:.16em;text-transform:uppercase}.topbar h1{margin:0;font-size:28px;letter-spacing:-.03em}.range-picker{display:flex;padding:4px;border:1px solid #dce3eb;border-radius:12px;background:#fff}.range-picker button{padding:8px 16px;border:0;border-radius:8px;color:#67738a;background:transparent;cursor:pointer}.range-picker button.active{color:#fff;background:#17365f;box-shadow:0 5px 15px #17365f30}.date-line{margin:16px 0 22px;color:#66748c;font-size:13px}.pulse{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#32bf9f;box-shadow:0 0 0 4px #32bf9f20}.metric-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.metric{position:relative;overflow:hidden;padding:20px;border:1px solid #e2e8ef;border-radius:15px;background:#fff;box-shadow:0 12px 30px #193a6010}.metric span,.metric small{display:block;color:#748095;font-size:13px}.metric strong{display:block;margin:12px 0 6px;font-size:29px;letter-spacing:-.04em}.metric.primary{color:#fff;border-color:#163b64;background:linear-gradient(135deg,#163b64,#155f78)}.metric.primary span,.metric.primary small{color:#c9e8ed}.metric.money strong{color:#168a76}.metric.warning strong,.amber{color:#b66b12}.workspace{display:grid;grid-template-columns:minmax(750px,2.25fr) minmax(300px,.75fr);gap:16px;margin-top:16px}.panel{border:1px solid #e0e7ef;border-radius:16px;background:#fff;box-shadow:0 12px 30px #193a600d}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:20px 22px 16px}.panel h2{margin:0;font-size:18px}.panel-head p{margin:5px 0 0;color:#7c8799;font-size:13px}.outline{padding:8px 13px;border:1px solid #d4dde7;border-radius:9px;color:#24456f;background:#fff;cursor:pointer}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:13px 15px;border-top:1px solid #edf0f4;white-space:nowrap;text-align:left;font-size:13px}th{color:#8190a5;background:#f9fafc;font-weight:600}td strong,td span{display:block}td span{margin-top:4px;color:#8b96a6;font-size:11px}.link{border:0;color:#168a76;background:transparent;cursor:pointer;font-weight:700}.rate{display:inline-block;width:38px;height:5px;margin-right:6px;border-radius:9px;background:#e6ecf1;vertical-align:middle;overflow:hidden}.rate i{display:block;height:100%;background:#32bf9f}.insight{padding:21px}.insight h2{margin-bottom:22px}.bar-row{display:grid;grid-template-columns:50px 1fr 62px;align-items:center;gap:9px;margin:17px 0;font-size:12px}.bar-row strong{color:#627088;font-size:11px}.bar-track{height:8px;overflow:hidden;border-radius:6px;background:#edf1f5}.bar-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1f6a7e,#37c5a5)}.note{margin-top:27px;padding:15px;border-radius:12px;background:#f0f8f7}.note strong{font-size:13px}.note p{margin:7px 0 0;color:#607277;font-size:12px;line-height:1.7}.status-panel{margin-top:16px}.status-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:12px;align-items:center;padding:5px 22px 24px}.status-flow div{display:grid;grid-template-columns:32px 1fr;gap:2px 10px;padding:14px;border:1px solid #e4eaf0;border-radius:12px}.status-flow b{grid-row:1 / 3;display:grid;place-items:center;color:#176d76}.status-flow strong{font-size:14px}.status-flow span{color:#7a879a;font-size:11px}.status-flow em{color:#a5b0bf;font-style:normal}.status-flow .closed{background:#eef9f6;border-color:#cdeae3}.drawer-backdrop{position:fixed;inset:0;display:flex;justify-content:flex-end;background:#09172955;z-index:10}.drawer{position:relative;width:420px;padding:34px;background:#fff;box-shadow:-20px 0 50px #071a3630}.drawer h2{margin:0;font-size:27px}.drawer>p:not(.eyebrow){color:#718097}.close{position:absolute;right:20px;top:18px;border:0;background:transparent;font-size:29px;color:#7b8796;cursor:pointer}.drawer-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:24px 0 30px}.drawer-stats div{padding:13px;border-radius:10px;background:#f4f7fa}.drawer-stats span,.drawer-stats strong{display:block}.drawer-stats span{color:#78869a;font-size:11px}.drawer-stats strong{margin-top:8px;font-size:18px}.drawer h3{font-size:15px}.timeline{display:grid;grid-template-columns:14px 1fr;gap:10px;padding:15px 0;border-bottom:1px solid #edf0f4}.timeline i{width:9px;height:9px;margin-top:5px;border-radius:50%;background:#31bf9f;box-shadow:0 0 0 5px #31bf9f18}.timeline strong,.timeline span{display:block}.timeline span{margin-top:4px;color:#8994a3;font-size:11px}.timeline p{color:#5f6c7f;font-size:13px;line-height:1.65}.timeline mark{display:inline-block;padding:4px 8px;border-radius:6px;color:#19715f;background:#eaf8f4;font-size:11px}.timeline mark.signed{color:#265789;background:#eaf2fb}.empty{padding:28px!important;color:#8b96a6!important;text-align:center!important}.proof-picker{display:flex;align-items:center;gap:18px;margin:12px 0;padding:12px 16px;border:1px dashed #cbd8e4;border-radius:10px;color:#637186;background:#f8fafc;font-size:12px}.proof-picker input{width:auto;margin-left:10px}.proof-picker span{color:#168a76}.success{color:#14705e}.form-panel{margin-top:22px}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:0 22px 22px}.form-grid label,.sign-grid label{color:#59677b;font-size:12px;font-weight:700}.form-grid .primary-button{align-self:end;margin:0}.customer-form{grid-template-columns:repeat(3,1fr)}.customer-form .wide{grid-column:span 3}.list-panel{margin-top:16px}.operations-drawer{width:560px;overflow-y:auto}.detail-note{margin:20px 0;padding:15px;border-radius:12px;background:#f4f7fa}.detail-note p{margin:7px 0;color:#5e6c7e;font-size:13px}.detail-note small{color:#b26d17}.inline-form{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:end}.inline-form .outline{height:40px}.action-button,.pay-button{padding:10px 14px;border:0;border-radius:9px;color:#fff;background:#168a76;cursor:pointer;font-weight:700}.sign-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;padding:14px;border-radius:12px;background:#f4f7fa}.sign-grid .action-button{grid-column:1/-1}.done-text{padding:11px;border-radius:9px;color:#416379;background:#edf4f7;font-size:13px}.commission-row{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid #edf0f4}.commission-row strong,.commission-row span{display:block}.commission-row span{margin-top:5px;color:#7b8796;font-size:11px}.commission-row>div:last-child{text-align:right}.commission-row mark{display:block;margin-bottom:7px;color:#18715f;background:transparent;font-size:11px}.pay-button{padding:7px 10px;background:#17365f;font-size:11px}.closed-box{margin-top:20px;padding:16px;border:1px solid #cde8df;border-radius:11px;color:#176c5d;background:#edf9f5;font-size:13px;line-height:1.6}.password-form{grid-template-columns:repeat(3,1fr) auto}.password-form .primary-button{width:150px}@media(max-width:1260px){main{padding-inline:25px}.metric-grid{grid-template-columns:repeat(3,1fr)}.workspace{grid-template-columns:1fr}.insight{display:none}}
