/* Original portal skin: consistent navigation, evidence-led summaries, no remote assets. */
:root{--ink:#24334b;--muted:#768397;--line:#e2e8f0;--green:#2363bd;--light:#edf3fc;--amber:#98641b;--red:#b84b42}
body{background:#f3f5f9;font:14px/1.65 "Segoe UI","Microsoft YaHei","PingFang SC",sans-serif;-webkit-font-smoothing:antialiased}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #5595e6;outline-offset:3px}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}.skip-link{position:fixed;top:-80px;left:20px;background:white;padding:10px;z-index:100}.skip-link:focus{top:10px}
.shell{grid-template-columns:224px minmax(0,1fr)}.sidebar{background:#101e34;color:#afbed3;padding:28px 18px 20px;display:flex;flex-direction:column;overflow-y:auto}.brand{display:flex;align-items:center;gap:12px;letter-spacing:2px;font-size:23px;line-height:1.2}.brand:hover{text-decoration:none}.brand small{font-size:9px;color:#91a5c1;margin-top:8px;letter-spacing:2.7px}.brand-emblem{display:flex;align-items:center;justify-content:center;width:38px;height:44px;border:1px solid #466891;border-radius:10px;color:#80b6fa;background:#1b3453;font:36px/1 Georgia,serif;flex:none}.workspace-label{font-size:10px;color:#7d93b1;letter-spacing:1px;padding:21px 0 15px;border-bottom:1px solid #26344b}.nav{margin-top:13px;gap:4px}.nav-section{font-size:10px;letter-spacing:1.5px;color:#748ba9;margin:17px 12px 8px}.nav a{position:relative;display:flex;align-items:center;gap:12px;padding:10px 12px;font-size:13px;color:#b2c0d4;border-radius:6px}.nav a svg{width:17px;height:17px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linejoin:round;stroke-linecap:round;flex:none}.nav a:hover{background:#1a2d49;color:white}.nav a.active{background:#24446e;color:white}.nav-marker{height:5px;width:5px;background:#80b6fa;border-radius:50%;margin-left:auto}.sidebar-foot{position:static;margin-top:auto;padding:30px 12px 0;font-size:11px;color:#7890ae}.sidebar-foot p{margin:12px 0 5px}.sidebar-foot a{color:#afbed3}.environment-tag{border:1px solid #3b4e68;padding:5px 8px;border-radius:4px;color:#a1b5cf;font-size:10px}
.topbar{min-height:75px;padding:15px 32px;gap:16px;border-color:#e6ebf1}.breadcrumb{display:flex;align-items:center;gap:14px;color:#718096;font-size:12px;min-width:0}.portal-label{color:#334b69;font-weight:600;white-space:nowrap}.breadcrumb-divider{color:#b8c4d2}.account-tools{display:flex;align-items:center;gap:12px;flex-shrink:0}.project-switch{color:#6a7c95;font-size:12px;white-space:nowrap;margin-right:10px}.user-avatar{height:32px;width:32px;display:flex;align-items:center;justify-content:center;background:#edf3fc;color:#2c64b2;border:1px solid #d8e4f4;border-radius:50%;font-size:12px}.account-name{font-size:12px;color:#3c4d65;line-height:1.4}.account-name small{display:block;font-size:10px;color:#8894a6}.topbar button{font-size:12px}.content{max-width:1600px;padding:28px 32px 38px}.eyebrow{font-size:9px;letter-spacing:2px;color:#7a8ca5}h1{font-size:27px;letter-spacing:0;font-weight:650;margin:8px 0 10px}h2{font-size:16px;font-weight:600}h3{font-weight:600}.overview-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.overview-heading p{font-size:12px;margin:0}.button,button{border-radius:6px;font-size:13px;padding:10px 16px;box-shadow:none}.button:hover,button:hover{background:#1c519c}.button.secondary,.secondary{background:white;color:#53667e;border:1px solid #d9e2ed}.secondary:hover{background:#edf3fc}.actions{gap:10px}.actions .button span{margin-left:12px}
.project-banner{position:relative;overflow:hidden;display:grid;grid-template-columns:1.2fr 1fr;gap:30px;padding:26px 30px;background:#fff;border:1px solid var(--line);border-left:4px solid #316bba;border-radius:9px}.project-code{font-size:10px;color:#5f81ac;letter-spacing:1.5px}.project-banner h2{font-size:21px;margin:8px 0 4px}.project-banner p{font-size:12px;color:#8290a2;margin:0}.project-state{display:flex;align-items:center;gap:8px;color:#836630;font-size:11px;margin-top:17px}.state-ring{width:7px;height:7px;border:2px solid #c49643;border-radius:50%}.project-banner-detail{padding:0 0 0 30px;border-left:1px solid #e7edf4;display:flex;flex-direction:column;justify-content:center}.project-banner-detail>span{font-size:10px;color:#8798ad;letter-spacing:1px}.project-banner-detail p{color:#5e718a;margin:8px 0 13px;max-width:480px}.scope-summary{color:#8694a7;font-size:11px;display:flex;align-items:center;gap:6px}.scope-summary strong{color:#375576;font-size:17px}.scope-summary i{height:12px;width:1px;background:#dce4ed;margin:0 10px}.data-strip{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 3px;font-size:11px;color:#8291a5}.data-strip>span:first-child{display:flex;align-items:center;gap:7px;white-space:nowrap}.data-strip strong{font-weight:500;color:#6d7d95}.data-strip i{width:5px;height:5px;border-radius:50%;background:#879cb7}.metrics{gap:16px;margin:8px 0 22px}.metric{border-radius:8px;padding:19px 20px;background:#fff;transition:border-color .15s}.metric:hover{border-color:#a3bde0;text-decoration:none}.metric-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.metric .metric-top>span{font-size:12px;color:#64758b}.metric-icon{height:19px;width:19px;fill:none;stroke:#7393ba;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}.metric strong{font-size:35px;font-weight:600;color:#273d5b;line-height:1.4;margin:9px 0 5px;font-variant-numeric:tabular-nums}.metric strong small{font-size:12px;font-weight:400;margin-left:7px;color:#97a2b2}.metric>span{font-size:10px;color:#8b98aa}.metric-attention strong{color:#ad7630}.metric-attention .metric-icon{stroke:#ad7630}
.card{border-radius:9px;box-shadow:0 2px 3px #162c4b02;padding:22px;margin-bottom:20px}.card-head{margin-bottom:18px}.card-head h2{margin:0}.card-head>a,.card-head>.muted{font-size:11px}.badge{font-size:10px;padding:3px 9px;background:#eff3f8;color:#708199}.badge.green{color:#327665;background:#eaf5f0}.badge.warn{color:#976526;background:#fcf3e4}.grid{grid-template-columns:1.3fr 1fr;gap:20px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:30px 0 18px}.section-heading h2{font-size:19px;margin:5px 0 0}.section-heading>.muted{font-size:11px}.delivery-grid{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:20px}.delivery-grid .card{display:flex;flex-direction:column;min-width:0}.delivery-grid p{font-size:11px;line-height:1.8}.progress-summary{display:flex;align-items:baseline;gap:15px;margin:0 0 9px}.progress-summary strong{font-size:34px;line-height:1.4;font-weight:600;color:#314e73}.progress-summary strong small{font-size:15px;margin-left:2px}.progress-summary>span{color:#8c99aa;font-size:11px}.progress-track{height:5px;border-radius:3px;background:#ebf0f7;margin:0 0 16px;overflow:hidden}.progress-track>span{display:block;height:100%;background:#447bbc}.panel-link{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf1f6;padding-top:13px;margin-top:auto;font-size:12px}.report-preview{background:linear-gradient(125deg,#fff,#f7faff)}.report-preview>h3{margin:12px 0;font-size:15px}.report-preview>.badge{align-self:flex-start}.report-preview>p{color:#6d7f96}.report-placeholder{display:flex;align-items:center;gap:17px;flex:1;padding:12px 0 20px}.report-placeholder h3{font-size:13px;margin-bottom:7px}.report-placeholder p{color:#8996a8;margin:0}.document-shape{display:block;width:43px;height:57px;background:#edf3fb;border:1px solid #d4e1f3;border-radius:4px;padding:16px 8px;transform:rotate(-5deg);flex:none}.document-shape i{display:block;height:2px;background:#bacfe9;margin:0 0 7px}.document-shape i:last-child{width:65%}.attention-row{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid #edf1f6;color:#6c7c91;font-size:12px}.attention-row strong{font-size:22px;font-weight:500;color:#395472}.attention-row small{font-size:10px;margin-left:8px}.attention-card p{margin:15px 0 0;font-size:10px}.empty{padding:26px 18px;background:#fafbfd;border:1px dashed #e2e8f0;border-radius:7px;font-size:12px}.empty strong{display:block;color:#6c7e96;font-weight:500;margin:8px 0}.empty p{font-size:11px;margin:0;color:#8b98aa}.empty-icon{display:block;width:27px;height:27px;fill:none;stroke:#9fb3ce;stroke-width:1.3;margin:0 auto}.inspection-row{display:flex;gap:13px;align-items:center;border-top:1px solid #edf1f6;padding:16px 0}.inspection-row>div{flex:1}.inspection-row a{font-size:13px}.inspection-row small{display:block;font-size:11px;margin-top:5px}.timeline-point{width:7px;height:7px;border-radius:50%;border:2px solid #84a3ca}.scope-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.scope-item{border-left:2px solid #dce7f5;padding-left:18px}.scope-kind{font-size:10px;color:#7494bc}.scope-item h3{font-size:13px;margin:7px 0}.scope-item p{font-size:11px;color:#8291a6;margin:0}.scope-card{margin-bottom:0}
/* Refined synoptic: preserve all existing evidence and simulation semantics. */
.single-line{background:#12243b;border-color:#253b55;border-radius:10px;box-shadow:none;margin-top:24px}.diagram-heading{padding:20px 24px}.diagram-kicker{color:#7699c2;font-size:9px;letter-spacing:2px}.diagram-heading h2{font-size:18px}.diagram-heading h2 span{color:#9aafca;border-color:#456080;font-size:10px}.diagram-mode{background:#0e1e32;border-color:#354962}.diagram-mode button{color:#94a9c4}.diagram-mode button[aria-pressed=true]{background:#29496e;color:#e9f2fc}.diagram-banner{background:#192f49;color:#a6bad2;border-color:#2b415d;padding:9px 24px;font-size:11px}.diagram-body{grid-template-columns:minmax(0,1fr) 230px}.diagram-scroll{scrollbar-color:#466485 #12243b;background-image:radial-gradient(#52719526 .8px,transparent .8px);background-size:20px 20px}.diagram-wires{stroke:#7694b0}.diagram-wires .switch-unknown{fill:#12243b;stroke:#7e96ad}.diagram-scroll .svg-note{fill:#8ea8c5}.diagram-scroll .voltage-label{fill:#cadbef}.diagram-node{--node-color:#526d8c}.diagram-node rect{fill:#1b334e}.diagram-node text{fill:#d7e5f3}.diagram-node .node-status{fill:#94adc9}.diagram-node .node-capacity{fill:#e5edf8}.diagram-node circle{stroke:#aec6de}.diagram-node.selected rect,.diagram-node:focus rect,.diagram-node:hover rect{fill:#25486a;stroke:#9acbff}.diagram-node[data-state=attention] rect{fill:#453b2e}.diagram-inspector{background:#182d46;border-color:#2c435f;padding:23px 20px}.inspector-kicker{color:#80a6ce}.diagram-inspector>p{color:#a0b2cb}.diagram-inspector dl{margin:20px 0 16px}.diagram-inspector dl>div{border-color:#304761;padding:10px 0}.diagram-inspector dt{color:#92a8c2}.diagram-inspector dd{color:#d4e3f4}.diagram-inspector p.inspector-caution{color:#a9b9ce;border-color:#6881a0}.diagram-detail-link{background:#294b70;color:#d6e8fc}.diagram-detail-link:hover{background:#335b84;text-decoration:none}.diagram-legend{color:#94abc5;font-size:10px}.diagram-footnote{color:#8ea6c1;border-color:#2b415d;font-size:10px}.diagram-mobile-hint{color:#a6bcd6}
/* Shared inventory, forms, and tables. */
.catalog-intro{background:#edf3fc;border-color:#dbe5f4;border-radius:8px}.catalog-number{color:#356eb5}.catalog-intro p{color:#72849b}.category-tabs a{background:#e9eef5;color:#5d728e;border-radius:5px}.category-tabs a[aria-current=page]{background:#2c66b0}.equipment-card{border-radius:9px;border-top:3px solid #8cabd2}.equipment-card:hover{border-color:#8cabd2;box-shadow:0 5px 15px #223e6310}.equipment-category{color:#6683aa}.equipment-card h2 a{color:#2c4466}.equipment-site,.equipment-description,.equipment-foot span{color:#8090a6}.equipment-foot,.equipment-component{border-color:#e7edf5}.equipment-amount{color:#36587f}.status-dot{color:#8191a8}.table-wrap{border-radius:8px}th{background:#edf2f8;color:#60748f;font-size:12px}td,th{border-color:#edf1f6;padding:14px 17px}tbody tr:hover{background:#fafcff}input,select,textarea{border-color:#ced9e7;border-radius:6px}.notice{font-size:12px}.hero{background:#edf3fb;border-color:#d8e4f3;border-radius:9px}.scope-line i{background:#8da9cd}footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:10px;color:#99a5b5;padding-top:18px;border-top:1px solid #e2e8f0;margin-top:30px}
/* Unified sign-in: original engineering illustration, no external image/font dependency. */
.login{grid-template-columns:1.1fr 1fr;background:#fff}.login-art{position:relative;overflow:hidden;padding:55px 7vw;background:radial-gradient(ellipse at 70% 65%,#213f63,#101e34 75%);justify-content:space-between;min-height:100vh}.login-art .brand{z-index:1}.login-message{position:relative;z-index:1;margin:auto 0;padding:70px 0 25px}.login-art .eyebrow{color:#7da3cc;font-size:10px}.login-art h1{font-size:40px;line-height:1.55;letter-spacing:1px;margin:20px 0;color:#f1f6fd;font-weight:500}.login-art p{font-size:13px;color:#95abc5;max-width:390px;line-height:1.9}.login-art .login-caption{font-size:10px;letter-spacing:1px;color:#6987aa;margin-top:30px;z-index:1}.login-grid-art{width:100%;max-height:220px;margin:5px 0 0;opacity:.8}.login-features{display:flex;gap:27px;color:#b0c4de;font-size:11px;margin-top:30px}.login-features span{border-left:2px solid #547fae;padding-left:10px}.login-form{width:100%;max-width:430px;padding:30px 20px}.login-form h1{font-size:28px;margin:11px 0}.login-form>p{font-size:12px}.login-form form{margin-top:30px}.login-form label{font-size:12px;color:#536b88}.login-form input{padding:13px;background:#fbfcfe}.login-form button{padding:13px;font-size:14px;margin-top:4px}.login-form .errorlist{font-size:12px;border-radius:6px}.login-help{border-top:1px solid #e8edf4;padding-top:20px;margin-top:26px;font-size:11px;color:#8a99ad}.login-version{font-size:10px;color:#9aa8ba;letter-spacing:1px;margin-top:35px}
@media(min-width:1500px){.diagram-body{grid-template-columns:minmax(0,1fr) 260px}}
@media(max-width:1200px){.shell{grid-template-columns:202px minmax(0,1fr)}.sidebar{padding-left:14px;padding-right:14px}.content{padding:25px 24px}.topbar{padding:14px 24px}.breadcrumb>span:last-child{display:none}.overview-heading{align-items:flex-start}.overview-heading h1{font-size:25px}.project-banner{gap:20px;padding:23px}.project-banner-detail{padding-left:20px}.delivery-grid{gap:16px;grid-template-columns:1fr 1fr}.attention-card{grid-column:1/-1;display:grid!important;grid-template-columns:1fr 1fr 1fr;gap:0 25px}.attention-card .card-head{grid-column:1/-1}.attention-card p{margin-top:10px}.diagram-body{grid-template-columns:1fr}.diagram-inspector{display:grid;grid-template-columns:1fr 1.4fr;gap:0 25px;border-left:0}.diagram-inspector dl{grid-column:2;grid-row:1/6;display:grid;grid-template-columns:1fr 1fr;margin:0;gap:0 16px}.diagram-detail-link{max-width:250px}.grid{grid-template-columns:1fr 1fr}.scope-grid{gap:16px}}
@media(max-width:900px){.overview-heading{display:block}.overview-heading .actions{margin-top:18px}.project-banner{grid-template-columns:1fr}.project-banner-detail{border-left:0;border-top:1px solid #e7edf4;padding:15px 0 0}.data-strip{align-items:flex-start;flex-direction:column;gap:3px;padding:12px 2px}.grid{grid-template-columns:1fr}.scope-grid{grid-template-columns:1fr}.delivery-grid{grid-template-columns:1fr}.attention-card{display:flex!important;grid-column:auto}.login-art h1{font-size:32px}.login-features{gap:15px}.login-art{padding:40px 5vw}.login-form{padding:30px}.account-tools{gap:8px}}
@media(max-width:700px){.shell{display:block}.sidebar{height:auto;position:relative;padding:18px 16px 0;overflow:visible}.sidebar .brand{font-size:20px;gap:10px}.sidebar .brand small{display:block;font-size:8px;margin-top:5px}.sidebar .brand-emblem{height:33px;width:29px;font-size:27px;border-radius:7px}.workspace-label,.sidebar-foot,.nav-section,.nav-marker{display:none}.nav{display:flex;overflow-x:auto;gap:6px;margin-top:17px;padding-bottom:12px}.nav a{font-size:12px;padding:8px 10px;flex:none;gap:7px}.nav a svg{width:14px;height:14px}.topbar{padding:12px 16px;min-height:57px;gap:10px;flex-wrap:nowrap}.breadcrumb{font-size:11px;gap:0}.breadcrumb-divider,.project-switch,.account-name small{display:none}.account-tools{gap:8px}.account-name{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.user-avatar{width:25px;height:25px;font-size:10px}.topbar button{padding:0 2px;font-size:11px}.content{padding:23px 16px 30px}.overview-heading{margin-bottom:20px}.eyebrow{font-size:8px;letter-spacing:1.4px}.overview-heading h1{font-size:24px}.overview-heading .actions{margin-top:18px}.overview-heading .actions .button{flex:none;font-size:12px;padding:9px 13px}.project-banner{padding:21px;gap:18px}.project-banner h2{font-size:18px}.scope-summary{font-size:10px;flex-wrap:wrap}.project-banner-detail p{font-size:11px}.metrics{gap:10px;margin:8px 0 18px}.metric{padding:15px 13px}.metric .metric-top>span{font-size:10px}.metric-icon{height:16px;width:16px}.metric strong{font-size:29px;margin:8px 0 4px}.metric strong small{font-size:10px;margin-left:5px}.metric>span{font-size:9px;line-height:1.7;display:block}.data-strip{font-size:10px}.single-line{margin-top:18px}.diagram-heading{padding:18px}.diagram-heading h2{font-size:17px}.diagram-heading h2 span{font-size:9px}.diagram-mode button{padding:7px 10px;font-size:11px}.diagram-banner{padding:10px 18px;font-size:10px}.diagram-inspector{display:block;padding:20px}.diagram-inspector dl{display:grid;margin:16px 0;gap:0 15px}.diagram-detail-link{max-width:none}.diagram-legend{font-size:9px}.diagram-footnote{font-size:9px;padding:12px 18px}.section-heading{margin-top:25px}.section-heading h2{font-size:17px}.section-heading>.muted{font-size:10px}.delivery-grid,.grid{gap:0}.card{padding:20px;margin-bottom:16px}.scope-grid{gap:20px}.scope-card .card-head{display:block}.scope-card .card-head>.muted{display:block;margin-top:8px}.equipment-grid{gap:14px}.equipment-card{padding:20px}footer{font-size:9px}.login{display:block}.login-art{min-height:0;padding:27px 25px}.login-art .brand{font-size:21px}.login-art .brand small{display:block}.login-message{padding:30px 0 0;margin:0}.login-art h1{font-size:27px;margin:13px 0}.login-art p{font-size:12px;max-width:100%;margin-bottom:0}.login-grid-art,.login-caption,.login-features{display:none}.login-form{max-width:430px;padding:35px 25px}.login-form h1{font-size:25px}.login-form form{margin-top:24px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.sidebar,.topbar,.skip-link,.overview-heading .actions{display:none!important}.shell,.main{display:block}.content{padding:0}.project-banner{break-inside:avoid}.metrics{grid-template-columns:repeat(4,1fr)}.delivery-grid{grid-template-columns:1fr 1fr}.diagram-scroll{background-image:none}.diagram-body{grid-template-columns:1fr}.diagram-inspector{display:block}.diagram-scroll svg{min-width:0}.single-line{break-inside:avoid}.grid{grid-template-columns:1fr}.attention-card{display:block!important}.scope-grid{grid-template-columns:1fr 1fr}footer{color:#555}}
