:root{--ink:#142d32;--muted:#697d7e;--line:#dce6e5;--green:#167d69;--light:#edf7f3;--amber:#a36315;--red:#b84b42}*{box-sizing:border-box}body{margin:0;background:#f3f6f5;color:var(--ink);font:15px/1.65 'Microsoft YaHei','PingFang SC',sans-serif}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button,input,textarea,select{font:inherit}button,.button{display:inline-block;border:0;background:var(--green);color:white;padding:10px 18px;border-radius:9px;cursor:pointer;line-height:1.5;text-decoration:none}button:hover,.button:hover{background:#0e6454;text-decoration:none}.secondary{background:#e7efec;color:var(--ink)}.danger{background:var(--red)}.shell{display:grid;grid-template-columns:228px 1fr;min-height:100vh}.sidebar{background:#133337;color:#d9e9e5;padding:30px 22px;position:sticky;top:0;height:100vh}.brand{font-size:23px;font-weight:700;color:white;letter-spacing:2px}.brand small{font-size:10px;display:block;letter-spacing:2px;font-weight:400;color:#91b5ad;margin-top:5px}.nav{margin-top:35px;display:grid;gap:7px}.nav a{color:#bdd1cc;padding:11px 13px;border-radius:8px}.nav a:hover,.nav a.active{background:#24504e;color:white;text-decoration:none}.sidebar-foot{position:absolute;bottom:28px;left:26px;font-size:12px;color:#91b5ad}.sidebar-foot a{color:#d4e6e0}.main{min-width:0}.topbar{background:white;border-bottom:1px solid var(--line);padding:15px 38px;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:13px}.topbar form{display:inline}.topbar button{background:transparent;color:var(--muted);padding:0 8px}.content{max-width:1440px;margin:auto;padding:30px 38px 60px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--green);font-weight:700}h1{font-size:28px;line-height:1.3;margin:8px 0 13px;letter-spacing:.5px}h2{font-size:18px;margin:0 0 15px}h3{font-size:15px;margin:0 0 10px}p{margin:0 0 14px}.muted,small{color:var(--muted)}.hero{padding:32px;background:linear-gradient(115deg,#e5f3eb,#f8faf3);border:1px solid #cee2d6;border-radius:16px;margin:22px 0}.hero-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.badge{display:inline-block;border-radius:99px;padding:4px 11px;background:#edf1f0;color:#506766;font-size:12px;white-space:nowrap}.badge.warn{color:var(--amber);background:#fff1d7}.badge.green{color:var(--green);background:#e2f3ed}.badge.red{color:var(--red);background:#ffebe7}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:22px 0}.metric{background:white;border:1px solid var(--line);border-radius:12px;padding:21px}.metric strong{font-size:32px;display:block;font-weight:600;line-height:1.5}.metric span{font-size:13px;color:var(--muted)}.grid{display:grid;grid-template-columns:1.35fr 1fr;gap:22px}.card{background:white;border:1px solid var(--line);border-radius:13px;padding:25px;margin-bottom:22px;overflow:hidden}.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.row{padding:15px 0;border-top:1px solid #edf1ef}.row:first-child{border-top:0}.row small{display:block;margin-top:5px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:20px 0}.toolbar input{width:280px}.table-wrap{overflow-x:auto;background:white;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{background:#edf3f0;color:#526864;font-weight:500;white-space:nowrap}td,th{padding:15px 18px;border-bottom:1px solid #e9efec;vertical-align:top}tr:last-child td{border-bottom:0}td p{margin-bottom:7px}.nowrap{white-space:nowrap}.empty{padding:35px 18px;text-align:center;color:var(--muted);background:#fafcfb;border:1px dashed var(--line);border-radius:9px}.notice{padding:14px 18px;border-left:3px solid #d99b3c;background:#fff8e9;border-radius:5px;color:#795c2e;font-size:13px;margin:18px 0}.message{padding:13px 18px;background:#e1f3e8;border:1px solid #bfdcc9;border-radius:9px;margin-bottom:15px}.message.error,.errorlist{color:#a43730;background:#fff0ee}.errorlist{padding:10px 20px;list-style:none}.form-card{max-width:820px}form p{margin-bottom:20px}label{display:block;font-size:14px;font-weight:500;margin-bottom:7px}input,select,textarea{border:1px solid #bfd0ca;background:white;border-radius:8px;padding:10px 12px;color:var(--ink);max-width:100%;width:100%}input[type=checkbox]{width:auto}textarea{min-height:100px;resize:vertical}.helptext{display:block;font-size:12px;color:var(--muted);margin-top:5px}details{margin:8px 0}summary{cursor:pointer;color:var(--green)}.prose{white-space:pre-wrap;line-height:1.9;font-size:15px}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.pagination{display:flex;justify-content:center;gap:20px;margin-top:22px}.photos{display:flex;gap:12px;flex-wrap:wrap}.photos img{max-width:180px;max-height:180px;border-radius:8px}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-art{background:#153e3d;color:white;display:flex;flex-direction:column;justify-content:center;padding:10vw 7vw}.login-art h1{font-size:42px;max-width:440px;line-height:1.5}.login-art p{color:#bbd3ca;max-width:400px}.login-form{max-width:410px;width:90%;margin:auto}.login-form h1{font-size:27px}.login-form button{width:100%;margin-top:12px}.print-only{display:none}.scope-line{display:flex;gap:12px;align-items:center;margin-bottom:14px}.scope-line i{width:9px;height:9px;background:#94aea1;border-radius:50%;display:block;flex:none}footer{color:var(--muted);font-size:12px;margin-top:28px}pre{white-space:pre-wrap;word-break:break-word;font:13px/1.7 inherit}
@media(max-width:1050px){.shell{grid-template-columns:190px 1fr}.sidebar{padding:25px 15px}.content{padding:24px}.topbar{padding:15px 24px}.metrics{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.hero{padding:24px}}
@media(max-width:700px){.shell{display:block}.sidebar{height:auto;position:relative;padding:18px}.brand{font-size:20px}.brand small,.sidebar-foot{display:none}.nav{display:flex;overflow-x:auto;gap:5px;margin-top:15px}.nav a{padding:7px 10px;white-space:nowrap;font-size:13px}.topbar{padding:12px 18px;flex-wrap:wrap}.content{padding:20px 16px 40px}h1{font-size:23px}.hero{padding:20px}.hero-head{display:block}.hero-head .badge{margin-top:12px}.metrics{gap:10px}.metric{padding:16px}.metric strong{font-size:28px}.card{padding:20px}.toolbar input{width:100%}.login{display:block}.login-art{padding:35px 25px}.login-art h1{font-size:28px}.login-form{padding:30px 0}.toolbar{align-items:stretch}td,th{padding:12px}.actions button,.actions .button{flex:1}.scope-line{align-items:flex-start}}
@media print{.sidebar,.topbar,.no-print,.toolbar,.actions,form,button,.pagination{display:none!important}.shell,.main{display:block}.content{padding:0;max-width:none}body{background:white;font-size:11pt}.card{break-inside:avoid;padding:15px}.print-only{display:block}a{color:inherit}.report-table{font-size:10pt}h1{font-size:20pt}.table-wrap{overflow:visible}}
@media(max-width:700px){.nav{scrollbar-width:none}.nav::-webkit-scrollbar{display:none}}

/* Equipment packages and the project single-line overview. */
.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.text-link{white-space:nowrap;font-size:13px}.catalog-intro{display:flex;align-items:center;gap:35px;padding:20px 24px;border:1px solid #cce0d7;background:#eaf4ef;border-radius:12px;margin:24px 0}.catalog-intro>div{white-space:nowrap}.catalog-intro p{font-size:13px;color:#60746d;margin:0}.catalog-number{font-size:32px;font-weight:600;color:#167d69;margin-right:8px}.toolbar select{width:auto}.category-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 24px}.category-tabs a{padding:8px 16px;color:#526d64;background:#e9efeb;border-radius:7px;font-size:13px}.category-tabs a[aria-current=page]{color:white;background:#176e5e}.category-tabs span{font-size:11px;opacity:.7;margin-left:6px}.equipment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.equipment-card{background:white;border:1px solid var(--line);border-radius:13px;padding:22px;display:flex;flex-direction:column;transition:box-shadow .2s}.equipment-card:hover{box-shadow:0 8px 24px #163a2810;border-color:#8db4a5}.equipment-top{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:21px;font-size:11px}.equipment-category{color:#527967}.status-dot{display:inline-flex;align-items:center;gap:5px;color:#70817a;font-size:11px}.status-dot:before{content:'';width:6px;height:6px;border-radius:50%;background:#8a9e97}.status-dot.attention{color:#b15a37}.status-dot.attention:before{background:#d96f4b}.status-dot.recorded:before{background:#309d92}.equipment-card h2{font-size:18px;margin-bottom:5px}.equipment-card h2 a{color:#173d33}.equipment-site{font-size:12px;color:#7d9086;margin-bottom:17px}.equipment-amount{font-size:25px;font-weight:600;margin-bottom:13px}.equipment-amount small{font-size:10px;font-weight:400;margin-left:4px}.equipment-description{color:#697d73;font-size:13px;flex:1}.equipment-foot{border-top:1px solid #edf1ee;margin-top:10px;padding-top:14px;display:flex;gap:8px;justify-content:space-between;font-size:11px}.equipment-foot span{color:#7b8b82}.equipment-component{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #e7eeea;padding:18px 0}.equipment-component>strong{white-space:nowrap}.equipment-component h3{font-size:15px}.equipment-component small{font-weight:400}.equipment-component summary{font-size:13px}.support-details>summary{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}.support-details>summary span{font-size:12px;color:#809087}.support-details[open]>summary{margin-bottom:22px}.support-details td small{display:block;font-size:11px}.metric strong.amount-small{font-size:22px}.compact-hero{padding:22px;margin-top:25px}.compact-hero h2{font-size:18px}
.single-line{background:#102a30;border:1px solid #28464a;border-radius:16px;color:#dbe9e8;margin:25px 0 22px;overflow:hidden;box-shadow:0 12px 30px #133a3010}.diagram-heading{padding:22px 25px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px}.diagram-kicker{font-size:10px;letter-spacing:2.2px;color:#85b7b1;margin-bottom:5px}.diagram-heading h2{margin:0;font-size:21px;color:#f0f7f5}.diagram-heading h2 span{font-size:11px;font-weight:400;color:#99b7b4;border:1px solid #44605f;border-radius:4px;margin-left:8px;padding:3px 7px}.diagram-mode{display:flex;padding:3px;background:#0b2227;border:1px solid #345055;border-radius:8px;flex-shrink:0}.diagram-mode button{background:transparent;color:#8dacac;border-radius:5px;padding:7px 12px;font-size:12px}.diagram-mode button[aria-pressed=true]{background:#264d4d;color:#f2fcf7}.diagram-banner{padding:10px 25px;background:#1b363b;color:#acc7c4;font-size:12px;border-top:1px solid #2c464b;border-bottom:1px solid #2c464b}.is-demo .diagram-banner{background:#4e3c23;color:#ffdf9d}.diagram-body{display:grid;grid-template-columns:minmax(0,1fr) 260px}.diagram-canvas{min-width:0}.diagram-scroll{overflow-x:auto;scrollbar-color:#46635f #102a30;outline-offset:-3px}.diagram-scroll svg{display:block;width:100%;min-width:670px}.diagram-wires{stroke:#77958f;stroke-width:2;fill:none}.diagram-wires .busbar{stroke-width:5}.diagram-wires .uncertain-wire{stroke-dasharray:5 5;opacity:.6}.diagram-wires .switch-unknown{fill:#142f34;stroke:#829c94}.diagram-scroll .svg-note{fill:#88a9a5;font-size:13px}.diagram-scroll .voltage-label{fill:#bed5d0;font-size:21px;letter-spacing:1px}.diagram-node{--node-color:#698780;outline:none}.diagram-node rect{fill:#18373b;stroke:var(--node-color);stroke-width:1.6;transition:stroke .2s,fill .2s}.diagram-node text{fill:#d3e3dd;font-size:16px}.diagram-node .node-status{fill:#9ab5ac;font-size:12px}.diagram-node .node-capacity{font-size:20px;font-weight:600;fill:#e1eeea}.diagram-node circle{fill:none;stroke:#accbc3;stroke-width:1.5}.diagram-node[data-state=recorded]{--node-color:#48b9aa}.diagram-node[data-state=attention]{--node-color:#f7a164}.diagram-node[data-state=attention] rect{fill:#46372a}.diagram-node.selected rect,.diagram-node:focus rect,.diagram-node:hover rect{stroke:#adede0;stroke-width:3;fill:#20464a}.diagram-bus-node text{font-size:13px}.diagram-legend{display:flex;flex-wrap:wrap;gap:17px;padding:10px 22px 20px;font-size:10px;color:#90afaa}.diagram-legend span{display:flex;align-items:center;gap:6px}.diagram-legend i{height:7px;width:7px;border-radius:50%;display:inline-block}.diagram-legend .unknown{background:#849b94}.diagram-legend .recorded{background:#48b9aa}.diagram-legend .attention{background:#f7a164}.diagram-legend .diagram-scroll-hint{display:none}.diagram-inspector{padding:26px 23px;background:#153237;border-left:1px solid #2b474a}.inspector-kicker{color:#90bbb0;font-size:10px;letter-spacing:1px}.diagram-inspector h3{color:#eff6ee;font-size:19px;line-height:1.5;margin:10px 0}.diagram-inspector>p{font-size:12px;color:#93b0a7;line-height:1.8}.diagram-inspector dl{margin:25px 0 18px}.diagram-inspector dl>div{padding:11px 0;border-top:1px solid #2b4848}.diagram-inspector dt{font-size:10px;color:#92aca4}.diagram-inspector dd{margin:4px 0 0;color:#d5e9df;font-size:13px}.diagram-inspector p.inspector-caution{font-size:10px;color:#abc0a1;border-left:2px solid #748d65;padding-left:10px}.diagram-detail-link{display:block;background:#305650;padding:11px 12px;border-radius:7px;color:#c9efe1;text-align:center;font-size:12px;margin-top:20px}.diagram-footnote{padding:12px 25px;border-top:1px solid #2c464b;font-size:11px;color:#8ba49d}.is-demo .inspector-kicker{color:#ffcf8f}.is-demo .diagram-node[data-state=recorded] rect{stroke:#5ac9ac}.is-demo .diagram-legend:before{content:'模拟图例';color:#ffcf8f}.is-demo .diagram-legend .recorded{background:#5ac9ac}
@media(min-width:1500px){.diagram-body{grid-template-columns:minmax(0,1fr) 280px}}
@media(max-width:1200px){.equipment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.diagram-body{grid-template-columns:1fr}.diagram-inspector{border-left:0;border-top:1px solid #2b474a;display:grid;grid-template-columns:1fr 1.4fr;gap:0 30px}.diagram-inspector dl{grid-column:2;grid-row:1/6;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.diagram-inspector>p{margin-bottom:8px}.diagram-detail-link{margin-top:5px;max-width:230px}}
@media(max-width:700px){.page-heading,.catalog-intro{display:block}.catalog-intro p{margin-top:10px}.equipment-grid{grid-template-columns:1fr}.equipment-card{padding:20px}.category-tabs a{padding:8px 11px}.toolbar select{width:100%}.diagram-heading{padding:18px;display:block}.diagram-heading h2{font-size:19px}.diagram-mode{margin-top:14px;width:max-content}.diagram-banner{padding:10px 18px;font-size:11px}.diagram-inspector{display:block;padding:20px}.diagram-inspector dl{display:grid;grid-template-columns:1fr 1fr;margin:18px 0}.diagram-legend{padding:12px 16px;gap:10px}.diagram-legend .diagram-scroll-hint{display:flex;color:#c3d0ab}.diagram-footnote{padding:12px 18px}.equipment-component{gap:10px}.equipment-component h3 small{display:block}.diagram-detail-link{max-width:none}}
@media print{.diagram-mode{display:none}.single-line{print-color-adjust:exact;-webkit-print-color-adjust:exact}.diagram-scroll svg{min-width:0}.equipment-grid{grid-template-columns:1fr 1fr}}

.diagram-mobile-hint{display:none}@media(max-width:700px){.diagram-mobile-hint{display:block;padding:10px 18px 0;color:#b6c9b1;font-size:11px}}
