:root{--ink:#213746;--muted:#83929e;--line:#e7edef;--teal:#168b80;--bg:#f4f7f8;--nav:#122e3a;--font:Inter,"Segoe UI","Microsoft YaHei",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px var(--font);line-height:1.5}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button,a{cursor:pointer}button{color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #51bbaf;outline-offset:3px}button{background:none;border:0}svg.icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{margin:0}h1{font-size:27px;letter-spacing:.5px;font-weight:650}h2{font-size:19px;font-weight:650}h3{font-size:15px;font-weight:600}.sidebar{width:224px;position:fixed;inset:0 auto 0 0;background:var(--nav);color:#a6bec9;padding:29px 16px 0;display:flex;flex-direction:column;z-index:20}.brand{color:#f5fafb;display:flex;align-items:center;gap:12px;padding:0 10px;letter-spacing:2px;font-size:21px;font-weight:650}.brand small{display:block;font-size:10px;letter-spacing:.5px;font-weight:400;margin-top:3px;color:#91b1be}.brand-symbol{border:1px solid #58c7ba;width:37px;height:37px;border-radius:9px;display:grid;place-items:center;color:#73d7ca;font-size:22px;line-height:1}.workspace{display:flex;align-items:center;gap:11px;padding:15px 12px;background:#ffffff07;border:1px solid #ffffff0d;border-radius:7px;margin:30px 2px 22px;font-size:12px;color:#e0ecf0}.workspace-icon{background:#33515f;display:grid;place-items:center;width:30px;height:32px;border-radius:5px;font-size:14px}.workspace small{display:block;font-size:10px;color:#7898a7;margin-top:3px}.workspace-dot{margin-left:auto;width:6px;height:6px;border-radius:50%;background:#6bd3b2}nav{flex:1;overflow:auto}nav a,nav>button{position:relative;display:flex;width:100%;align-items:center;gap:12px;padding:12px 15px;margin:3px 0;border-radius:6px;font-size:13px;text-align:left;transition:background .15s}nav a:hover,nav>button:hover{background:#ffffff08;color:white}nav a.active{background:#1e4c53;color:#8be0d2}nav a.active:before{content:"";position:absolute;left:-16px;top:12px;bottom:12px;width:3px;background:#70d2c2;border-radius:2px}.nav-label{font-size:10px;color:#628594;letter-spacing:1.5px;margin:22px 15px 9px}.chevron{margin-left:auto;font-size:18px;color:#7696a4}.sidebar-bottom{border-top:1px solid #ffffff12;padding:20px 7px;display:flex;gap:10px;align-items:center;font-size:12px;color:#dfedf0}.avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#295564;color:#b9e5e5;font-size:12px}.sidebar-bottom small{display:block;color:#7594a3;font-size:10px;margin-top:3px}.sidebar-bottom a{margin-left:auto;color:#86a5b3;font-size:22px}.shell{margin-left:224px;min-height:100vh}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;background:#fff;border-bottom:1px solid var(--line)}.breadcrumb{display:flex;align-items:center;gap:15px;color:#8c9aa5;font-size:12px}.breadcrumb strong{font-weight:500;color:#45606e}.slash{color:#c9d1d7}.top-actions{display:flex;align-items:center;gap:18px;font-size:12px}.prototype{font-size:10px;padding:3px 9px;background:#f0f5f5;color:#77928f;border-radius:4px;letter-spacing:1px}.top-divider{height:15px;border-left:1px solid var(--line)}.org{color:#738994}.small{width:30px;height:30px;background:#e4efef;color:#4a7f80}.menu-toggle{display:none}main{padding:30px 34px 24px;max-width:1680px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;gap:16px}.eyebrow{font-size:10px;color:#92a2ab;letter-spacing:2px;font-weight:600;display:block;margin-bottom:7px}.page-description{font-size:12px;color:var(--muted);margin-top:8px}.heading-actions{display:flex;gap:10px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #dbe4e7;background:#fff;border-radius:6px;padding:9px 15px;white-space:nowrap;font-size:12px;min-height:37px}.button:hover{background:#f6fafa;border-color:#afc5c9}.button.primary{background:var(--teal);border-color:var(--teal);color:white;box-shadow:0 3px 7px #168b8010}.button.primary:hover{background:#117a70}.button .icon{width:15px;height:15px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.metric{background:white;border:1px solid var(--line);border-radius:8px;padding:19px 21px 16px;position:relative;min-height:123px}.metric-name{font-size:12px;color:#718692;display:flex;align-items:center;justify-content:space-between}.metric-name .icon{color:#92acae;width:17px;height:17px}.metric-number{font-size:30px;font-weight:650;letter-spacing:-1px;margin:9px 0 3px;line-height:1.2;font-variant-numeric:tabular-nums}.metric-number small{font-size:12px;font-weight:400;color:#8499a1;letter-spacing:0;margin-left:7px}.metric-note{font-size:10px;color:#91a0a9}.metric.emphasis{background:#eff7f5;border-color:#d5e8e2}.metric.emphasis .metric-number{color:#19897a}.metric-bar{height:3px;background:#deeee8;border-radius:3px;width:72px;position:absolute;right:21px;bottom:22px}.metric-bar i{display:block;background:#62b9a1;width:100%;height:100%;border-radius:3px}.panel{background:white;border:1px solid var(--line);border-radius:9px;overflow:hidden}.panel-top{padding:21px 23px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:12px}.panel-title{display:flex;gap:9px;align-items:center}.count{font-size:10px;font-weight:500;letter-spacing:0;background:#f0f4f5;color:#738c98;border-radius:4px;padding:2px 7px}.context{font-size:11px;color:#8a9aa5;display:flex;gap:8px;align-items:center}.context .icon{width:14px;height:14px}.filters{display:flex;gap:13px;align-items:end;padding:20px 23px;background:#fff;flex-wrap:wrap}.filter{display:flex;flex-direction:column;gap:7px;font-size:10px;color:#8396a1;flex:1;min-width:105px}.filter.wide{flex:1.6;min-width:160px}input,select{min-width:0;border:1px solid #dde6e9;border-radius:5px;padding:9px 10px;color:#385461;background:#fff;font-size:12px;height:36px;outline:none}input:focus,select:focus{border-color:#168b80;box-shadow:0 0 0 3px #168b8010}.search-wrap{position:relative}.search-wrap input{width:100%;padding-left:32px}.search-wrap .icon{position:absolute;left:10px;top:10px;width:15px;height:15px;color:#92a6b0}.reset{height:36px;font-size:12px;color:#7d929e;padding:0 2px}.scope{font-size:10px;color:#7e969c;margin:0 23px 18px;display:flex;align-items:center;justify-content:space-between;gap:10px}.scope-tag{background:#f3f8f7;color:#638e86;padding:4px 8px;border-radius:3px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap;font-size:12px}th{height:42px;background:#f7f9fa;color:#8395a0;font-weight:500;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0 14px;font-size:11px}td{height:64px;border-bottom:1px solid #edf1f3;padding:8px 14px;color:#5d7380}th:first-child,td:first-child{padding-left:23px;width:45px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#f8fbfb}td.strong{color:#365565;font-weight:500}.mono{font-family:Consolas,"SFMono-Regular",monospace;font-size:12px;letter-spacing:-.2px;color:#456676}.date-time{display:block;font-size:10px;color:#99a8b0;margin-top:3px;letter-spacing:.2px}.tag{display:inline-flex;align-items:center;gap:5px;font-size:10px;border-radius:4px;background:#eaf5f0;color:#398b72;padding:3px 8px}.tag:before{content:"";width:4px;height:4px;background:currentColor;border-radius:50%}.tag.amber{color:#ad823b;background:#fcf5e8}.type-badge{background:#eff4f7;color:#5e8299;font-size:10px;padding:4px 8px;border-radius:4px}.type-badge.cable{color:#8b7b5a;background:#f8f4ec}.text-link{color:#248a83;font-size:11px;padding:4px 0}.text-link:hover{text-decoration:underline}input[type=checkbox]{width:13px;height:13px;accent-color:var(--teal);cursor:pointer;box-shadow:none}.table-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 23px;border-top:1px solid var(--line);font-size:11px;color:#91a0a9}.pagination{display:flex;align-items:center;gap:9px}.page-btn{border:1px solid #e3e9ed;border-radius:4px;height:27px;min-width:27px;font-size:11px;color:#889da8}.page-btn:disabled{opacity:.4;cursor:default}.page-btn.current{background:#ecf6f3;color:#268677;border-color:#d0e8df}.info-strip{display:flex;align-items:center;gap:10px;margin-top:18px;font-size:11px;color:#8c9da6}.info-strip .icon{height:14px;width:14px}.page-footer{padding:10px 34px 22px;color:#a2afb7;font-size:10px;display:flex;justify-content:space-between;gap:15px;max-width:1680px;margin:auto}.subgrid{display:grid;grid-template-columns:1.7fr 1fr;gap:20px;margin-bottom:22px}.overview-hero{background:#173e49;border-radius:9px;padding:27px 30px;color:white;position:relative;overflow:hidden;min-height:195px}.overview-hero h2{font-size:24px;margin:10px 0}.overview-hero p{font-size:12px;color:#a8c7cc;max-width:65%;line-height:1.9}.overview-hero .eyebrow{color:#72b7b3}.hero-lines{position:absolute;right:-20px;bottom:-70px;width:250px;height:250px;border:1px solid #ffffff13;transform:rotate(30deg);border-radius:30px}.hero-lines:before,.hero-lines:after{content:"";position:absolute;inset:25px;border:1px solid #8ccbb822;border-radius:25px}.hero-lines:after{inset:50px}.quicklinks{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:20px}.quicklinks a{background:#f5f9f8;border-radius:6px;padding:13px;font-size:12px;display:flex;gap:10px;align-items:center}.quicklinks a:hover{background:#e8f3ef}.quicklinks .icon{color:#418e84;width:17px;height:17px}.analysis{padding:24px;display:grid;grid-template-columns:1fr 1.15fr;gap:40px;align-items:center}.bar-row{display:grid;grid-template-columns:70px 1fr 32px;gap:14px;align-items:center;font-size:11px;margin:20px 0}.bar-track{background:#f0f4f4;height:9px;border-radius:3px;overflow:hidden}.bar-track i{display:block;background:#5caaa1;height:100%;border-radius:3px}.analysis-note{font-size:11px;color:#9aabb3;line-height:1.8}.empty{text-align:center;padding:65px 20px 75px;color:#8c9fa9}.empty-icon{margin:0 auto 18px;border:1px solid #dce9e7;background:#f0f7f5;border-radius:18px;width:70px;height:70px;display:grid;place-items:center;color:#76a99d}.empty-icon .icon{height:31px;width:31px}.empty h3{color:#55747f;margin-bottom:8px}.empty p{font-size:12px;line-height:1.8}.empty .button{margin-top:22px}.segmented{display:flex;gap:4px}.segment{font-size:11px;color:#8298a1;padding:6px 13px;border-radius:4px}.segment.active{background:#edf5f3;color:#2d8e7d}.empty-row{text-align:center;padding:50px!important;height:120px}dialog{border:0;border-radius:12px;color:var(--ink);padding:28px;width:min(580px,calc(100% - 32px));box-shadow:0 25px 100px #102c3e35}dialog::backdrop{background:#102d3b66;backdrop-filter:blur(2px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.icon-button{font-size:27px;color:#8a9da7;width:32px;height:32px;display:grid;place-items:center}.muted{font-size:12px;color:#8b9da7;line-height:1.8}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:26px 0}.form-grid label{font-size:11px;color:#80939e;display:flex;flex-direction:column;gap:8px}.file-drop{border:1px dashed #abcfc5;background:#f4faf7;border-radius:7px;display:flex;flex-direction:column;align-items:center;gap:9px;padding:25px;color:#5e8f82;cursor:pointer}.file-drop strong{font-size:13px}.file-drop span{font-size:10px}.file-drop .upload-symbol{font-size:26px}.file-drop input{width:100%;background:white;height:auto;font-size:11px;margin-top:10px}.file-drop output{font-size:11px;word-break:break-all}.dialog-foot{border-top:1px solid var(--line);margin-top:25px;padding-top:20px;display:flex;justify-content:end;gap:10px}.local-result{font-size:12px;background:#eaf5f0;color:#448a74;padding:14px;margin-top:15px;border-radius:5px}.detail-dialog{width:min(640px,calc(100% - 32px))}.detail-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:25px 0;border-bottom:1px solid var(--line)}.detail-meta dt{font-size:10px;color:#91a3ac;margin-bottom:6px}.detail-meta dd{margin:0;font-size:12px}.chart{margin-top:22px;background:#f8fbfa;border:1px solid #e8f0ed;border-radius:7px;padding:20px}.chart svg{width:100%;height:auto;display:block}.chart p{font-size:10px;color:#91a6ad;margin-top:12px}.toast{position:fixed;bottom:30px;left:calc(50% + 112px);transform:translateX(-50%);background:#20464b;color:#e3f3ee;padding:14px 22px;border-radius:7px;box-shadow:0 5px 20px #143b4020;z-index:100;font-size:12px;max-width:80vw}.management-list{margin-top:23px;display:flex;gap:12px;flex-wrap:wrap}.management-list span{background:#f1f6f5;border-radius:6px;padding:12px 20px;font-size:12px;color:#6a8986}.num{font-variant-numeric:tabular-nums}.screen-note{font-size:11px;color:#95a4ad;margin-bottom:18px}@media(min-width:1550px){td{height:72px}.metric{min-height:140px}.filters{gap:20px}}@media(max-width:1100px){.sidebar{width:196px;padding-left:12px;padding-right:12px}.brand{font-size:18px;padding:0 4px}.brand small{font-size:9px}.shell{margin-left:196px}.topbar{padding:0 24px}main{padding:25px 24px}.page-footer{padding-left:24px;padding-right:24px}.metric{padding:16px}.metric-grid{gap:10px}.metric-number{font-size:27px}.metric-bar{display:none}.context{display:none}.toast{left:calc(50% + 98px)}th,td{padding-left:12px;padding-right:12px}.subgrid{grid-template-columns:1.3fr 1fr}.quicklinks{gap:8px;padding:14px}.overview-hero{padding:25px}.overview-hero p{max-width:80%}}@media(max-width:760px){.sidebar{transform:translateX(-100%);width:224px;transition:transform .2s}.sidebar.open{transform:translateX(0);box-shadow:10px 0 30px #163b4333}.shell{margin-left:0}.topbar{height:60px;padding:0 18px}.menu-toggle{display:block;padding:0;color:#537981;font-size:18px}.top-actions{gap:10px}.org,.top-divider{display:none}main{padding:22px 16px}.page-heading{align-items:start;margin-bottom:20px;flex-wrap:wrap}h1{font-size:24px}.heading-actions{margin-left:auto}.metric-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.metric{min-height:110px}.panel-top{padding:17px}.filters{padding:17px;gap:12px}.filter{min-width:120px}.filter.wide{min-width:150px}.scope{margin:0 17px 15px;flex-wrap:wrap}.page-footer{padding:10px 16px 20px;flex-direction:column;font-size:9px;gap:5px}.subgrid{grid-template-columns:1fr}.analysis{grid-template-columns:1fr;gap:5px}.overview-hero{min-height:170px}.toast{left:50%;width:90vw}.panel-title h3{font-size:13px}.table-footer{padding:14px 17px}.segmented{gap:0}.segment{padding:5px 9px}.form-grid{gap:12px}.detail-meta{grid-template-columns:1fr 1fr}.context{display:none}dialog{padding:23px}.prototype{font-size:9px}.info-strip{align-items:start;line-height:1.8}}
@media(min-width:761px) and (max-height:820px){.sidebar{padding-top:22px}.workspace{margin:22px 2px 16px;padding:12px}.nav-label{margin:14px 15px 6px}nav a,nav>button{padding:9px 15px;margin:2px 0}.sidebar-bottom{padding:15px 7px}}nav{scrollbar-width:thin;scrollbar-color:#44616b transparent}
.form-grid>.full{grid-column:1/-1}
