:root{font-family:"Microsoft YaHei","PingFang SC",sans-serif;color:#203751;background:#f4f7fb;font-size:14px;--navy:#12334e;--blue:#3478ed;--teal:#188a7d;--line:#e4eaf1;--muted:#75869a}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:0;border-radius:9px;padding:10px 15px;background:var(--blue);color:#fff;font-weight:600}button:hover{filter:brightness(.97)}button:disabled{opacity:.5;cursor:not-allowed}a{color:#2769bc;text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible{outline:3px solid #83bbfa;outline-offset:3px}.ghost{background:#fff;color:#526a83;border:1px solid var(--line)}.danger{color:#bb3548;background:#fff0f2;border:1px solid #f5d5da}.small{font-size:12px;padding:6px 10px}.muted{color:var(--muted)}[hidden]{display:none!important}.brand{display:flex;gap:12px;align-items:center}.brand b{background:linear-gradient(145deg,#45d0bc,#458bee);width:43px;height:43px;display:grid;place-items:center;border-radius:13px;color:white;font-size:24px;box-shadow:0 7px 24px #168a7940}.brand strong{font-size:23px;letter-spacing:1px}.brand small{display:block;font-size:11px;margin-top:5px;opacity:.65}.auth{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 20% 20%,#306b8799,transparent 55%),linear-gradient(125deg,#102c46,#144459 65%,#19776d);padding:28px}.login-card{width:min(450px,100%);background:#fff;border-radius:22px;box-shadow:0 30px 100px #07172366;padding:36px}.login-card h1{font-size:24px;margin:30px 0 10px}.login-card p{line-height:1.8;color:var(--muted);font-size:13px}.login-card form{margin-top:24px}.login-card button[type=submit]{width:100%;margin-top:18px}.error{color:#b7374a;line-height:1.7;background:#fff0f2;padding:10px;border-radius:8px}.error:empty{display:none}label.field{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:600;margin-bottom:16px}input,select,textarea{width:100%;border:1px solid #d9e2ec;background:#fff;color:#203751;padding:10px 12px;border-radius:8px;min-height:41px;outline:none}input:focus,select:focus,textarea:focus{border-color:#76aaf6;box-shadow:0 0 0 3px #3478ed15}input[type=checkbox]{width:16px;min-height:auto;accent-color:var(--blue)}textarea{min-height:105px;resize:vertical;line-height:1.7}.check{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:400}.check input{flex:none}aside{width:234px;position:fixed;inset:0 auto 0 0;background:linear-gradient(175deg,#102e49,#143b55 60%,#0e2a43);padding:28px 19px;color:#e1edf8;display:flex;flex-direction:column}.workspace{border:1px solid #ffffff18;border-radius:12px;background:#ffffff09;padding:15px 10px;margin:28px 0;font-size:12px}.workspace small{display:block;color:#91adc4;margin:9px 0 0 10px;font-size:10px}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;background:#39c6a5;margin-right:6px}.nav-label{font-size:10px;color:#7f9cb6;letter-spacing:2px;margin:20px 12px 12px}nav button{width:100%;display:flex;align-items:center;gap:12px;text-align:left;background:none;color:#a9c0d5;margin:3px 0;padding:13px 15px;font-weight:400}nav button.active{color:white;background:linear-gradient(90deg,#3478ed3d,#ffffff08);box-shadow:inset 3px 0 #75bfff}nav button span{font-size:18px}.sidebar-bottom{margin-top:auto;border-top:1px solid #ffffff18;padding-top:20px;font-size:11px;color:#9ebad0}.sidebar-bottom small{display:block;padding:12px 0 0 14px;color:#7390aa}main{margin-left:234px}header{height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 36px;background:#ffffffcf;border-bottom:1px solid var(--line);gap:15px}.header-right{display:flex;gap:10px;align-items:center;font-size:12px}.header-right button{font-size:11px;padding:8px 10px}#identity small{display:block;color:var(--muted);margin-top:4px;max-width:210px}#page{max-width:1660px;margin:auto;padding:30px 36px 55px}.page-title{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 26px}.eyebrow{font-size:10px;letter-spacing:2px;color:#8a9bb0;font-weight:bold}h1{font-size:26px;margin:8px 0 10px;letter-spacing:-.6px}.page-title p{color:var(--muted);font-size:12px;line-height:1.8;margin:0}h2{font-size:18px;margin:0 0 10px}h3{font-size:14px;margin:0 0 14px}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.hero{border-radius:16px;background:linear-gradient(115deg,#eaf3ff,#effaf7);border:1px solid #dfecf5;padding:24px 28px;margin-bottom:24px;display:flex;justify-content:space-between;gap:20px;align-items:center}.hero p{margin:8px 0 0;font-size:12px;color:var(--muted)}.panel{background:white;border:1px solid var(--line);border-radius:14px;box-shadow:0 5px 20px #213a5105;margin-bottom:22px;overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;border-bottom:1px solid #eef2f6}.panel-head h2{font-size:15px;margin:0}.panel-body{padding:22px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.metric{border-radius:14px;padding:22px;background:white;border:1px solid var(--line);position:relative;overflow:hidden}.metric:after{content:'';position:absolute;right:-15px;bottom:-26px;width:80px;height:80px;background:#3478ed08;border-radius:50%}.metric small{color:var(--muted)}.metric strong{display:block;font-size:30px;margin:16px 0;color:#193959}.metric span{font-size:11px;color:#8296a9}.grid2{display:grid;grid-template-columns:1.25fr 1fr;gap:22px}.row-item{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:14px 0;border-bottom:1px solid #eff3f7}.row-item:last-child{border-bottom:0}.row-item strong{font-size:13px}.row-item small{display:block;font-size:11px;color:var(--muted);margin-top:7px}.badge{display:inline-block;padding:5px 8px;background:#edf3fb;color:#4774a3;border-radius:6px;font-size:11px;white-space:nowrap}.badge.red{background:#fff0f1;color:#bc4454}.badge.green{background:#e7f7f1;color:#23816c}.badge.orange{background:#fff6e7;color:#af7821}.filters{display:flex;flex-wrap:wrap;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line);align-items:center}.filters input{max-width:260px}.filters select{width:auto;min-width:120px}.filters label{font-size:11px;color:var(--muted)}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}thead{background:#f8fafc;color:#8292a6;font-size:11px}th{padding:14px 18px;font-weight:500;white-space:nowrap}td{padding:17px 18px;border-top:1px solid #edf1f6;line-height:1.65;vertical-align:middle}td strong{font-weight:600;color:#213d59}td small{display:block;color:var(--muted);font-size:11px;margin-top:4px}tr:hover td{background:#fbfdff}.entity{display:flex;gap:11px;align-items:center}.entity i{font-style:normal;display:grid;place-items:center;width:33px;height:33px;flex:none;border-radius:10px;background:#edf5fc;color:#3982bd}.table-foot{padding:15px 20px;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted)}.table-foot select{width:75px;min-height:30px;padding:5px}.empty{padding:40px;text-align:center;color:#98a6b7;font-size:13px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px}.card h3{line-height:1.8}.card p{color:var(--muted);font-size:12px;line-height:1.9;white-space:pre-wrap}.card .actions{margin-top:18px}.progress{height:6px;background:#eef3f8;border-radius:5px;margin:15px 0;overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,#448dee,#3dbba8);border-radius:5px}.mobile-menu{display:none}.settings-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.settings-tabs .active{background:var(--navy);color:white}dialog{border:0;border-radius:18px;width:min(900px,94vw);max-height:90vh;padding:0;color:#203751;box-shadow:0 25px 100px #071b3c40}dialog::backdrop{background:#0c223c66;backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:22px 26px;gap:20px}.dialog-head h2{margin:0;font-size:19px}.dialog-body{padding:24px 26px}.dialog-foot{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:18px 26px;border-top:1px solid var(--line);background:#fcfdff;position:sticky;bottom:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.full{grid-column:1/-1}.hint{font-size:12px;color:var(--muted);line-height:1.9;margin:12px 0 20px}.details{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.details dt{font-size:11px;color:var(--muted);margin-bottom:8px}.details dd{font-size:13px;line-height:1.8;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.detail-section{border-top:1px solid var(--line);padding-top:22px;margin-top:24px}.detail-section h3{display:flex;justify-content:space-between;align-items:center}.detail-section pre{white-space:pre-wrap;word-break:break-word;font:12px/1.9 inherit;background:#f7f9fc;padding:12px;border-radius:8px}.attachment{display:flex;align-items:center;justify-content:space-between;padding:12px;border:1px solid var(--line);border-radius:8px;margin:8px 0}.attachment small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:15px;background:#f7f9fc;border-radius:10px}.notice{background:#ecf6ff;color:#406b94;border:1px solid #d8eafb;padding:14px 17px;line-height:1.8;border-radius:10px;font-size:12px;margin-bottom:20px}.text-block{white-space:pre-wrap;line-height:1.9;color:#526b85;font-size:12px}.upload-input{max-width:360px;font-size:12px;background:#f8fafc}#toasts{position:fixed;right:25px;bottom:22px;z-index:10000}.toast{margin-top:9px;background:#153b52;color:white;max-width:430px;padding:14px 20px;border-radius:12px;box-shadow:0 10px 36px #112e4c25;line-height:1.8}.toast.bad{background:#9b3648}.danger-zone{border:1px solid #edccd2;border-radius:12px;padding:20px;margin-top:24px}.selection-note{padding:10px 20px;color:#5b7895;font-size:12px}
@media(max-width:1200px){.cards{grid-template-columns:repeat(2,1fr)}.metrics{grid-template-columns:repeat(2,1fr)}header{padding:0 22px}#page{padding:25px 22px}.header-right{gap:6px}}@media(max-width:850px){aside{display:none;z-index:30;width:234px;box-shadow:5px 0 25px #102f4940}aside.open{display:flex}main{margin:0}.mobile-menu{display:block}header{height:auto;min-height:74px;padding:12px 16px}.header-right{flex-wrap:wrap;justify-content:flex-end}#page{padding:24px 16px}.grid2{grid-template-columns:1fr}.page-title{align-items:flex-start;flex-direction:column;gap:12px}.hero{padding:20px}.details{grid-template-columns:1fr 1fr}}@media(max-width:560px){.cards{grid-template-columns:1fr}.metrics{gap:10px}.metric{padding:16px}.metric strong{font-size:23px}.form-grid{grid-template-columns:1fr}.check-grid{grid-template-columns:1fr 1fr}.details{grid-template-columns:1fr}.hero{display:block}.hero .actions{margin-top:14px}.dialog-body{padding:18px}.filters input{max-width:100%}.filters{gap:8px}.filters select{min-width:100px}#identity{display:none}h1{font-size:23px}}

/* Customer classification: shared by list and detail views. */
.badge.level-a{background:#fff4df;color:#895500}
.badge.level-b{background:#eaf2ff;color:#245bb2}
.badge.level-c{background:#e6f6ef;color:#216b50}
