/* 服务备件：复用地图驾驶舱与既有工作抽屉。 */
.sp-btn{font:inherit;color:var(--tx);background:transparent;border:1px solid var(--hair);border-radius:9px;padding:4px 11px;cursor:pointer;text-align:left;line-height:1.5;transition:background .15s,border-color .15s;max-width:100%}
.sp-btn:hover{background:rgba(var(--cyan-rgb,232,162,60),.065);border-color:var(--cy)}
.sp-btn:focus-visible,.sp-scope select:focus-visible,.sp-tools input:focus-visible,.sp-tools select:focus-visible,.sp-transfer-form input:focus-visible,.sp-table-wrap:focus-visible{outline:2px solid var(--cy);outline-offset:2px}
.sp-btn:disabled{opacity:.45;cursor:not-allowed}
.sp-btn.primary{background:rgba(var(--cyan-rgb,232,162,60),.08);border-color:rgba(var(--cyan-rgb,232,162,60),.35);color:var(--cy)}
.sp-tag{display:inline-block;padding:0 6px;line-height:1.6;font-size:10px;border:0;background:rgba(139,149,166,.1);border-radius:999px;color:var(--dim);white-space:nowrap;font-weight:400}
.sp-tag.good,.sp-good{color:var(--gn)}.sp-tag.risk,.sp-risk{color:var(--am)}.sp-tag.good{background:rgba(54,211,153,.12)}.sp-tag.risk{background:rgba(255,176,32,.12)}.sp-tag.demo{color:var(--cy);background:rgba(var(--cyan-rgb,232,162,60),.12)}
.sp-card{min-width:0}.sp-card .ch .sp-tag{margin-left:auto}
.sp-card .sp-hint{font-size:10px;line-height:1.75;margin:9px 0;color:var(--dim)}
.sp-scope{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}
.sp-scope label,.sp-tools label,.sp-transfer-form label{display:flex;flex-direction:column;gap:5px;font-size:10px;color:var(--dim);min-width:0}
.sp-scope select,.sp-tools select,.sp-tools input,.sp-transfer-form input{color:var(--tx);background:var(--bg1);border:1px solid var(--hair);border-radius:9px;padding:5px 8px;font:inherit;font-size:12px;line-height:1.5;min-width:0;width:100%;box-sizing:border-box}
.sp-entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.sp-entry{font-size:12px;padding:5px 11px}
.sp-model-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px;width:100%;border:0;border-bottom:1px solid var(--hair);border-radius:0;padding:7px 0;font-size:12px}
.sp-model-row small{grid-column:1 / -1;font-size:10px;color:var(--dim)}.sp-model-row b{color:var(--cy);font:13px/1.5 'JetBrains Mono',monospace}
.sp-north-link{display:flex;width:100%;align-items:center;gap:12px;border:0;padding:2px 0}.sp-north-link strong{font:17px/1.5 'JetBrains Mono',monospace;color:var(--cy)}.sp-north-link span{font-size:11px;color:var(--dim)}
.sp-risk-row,.sp-unit-row{display:block;width:100%;border:0;border-bottom:1px solid var(--hair);border-radius:0;padding:7px 0;font-size:12px}.sp-risk-row>span,.sp-risk-row>small,.sp-unit-row small{display:block;overflow-wrap:anywhere;margin-top:3px}.sp-risk-row>small,.sp-unit-row small{color:var(--dim);font-size:10px}.sp-row-top{display:flex!important;gap:7px;justify-content:space-between;align-items:center}.sp-row-top b{min-width:0;font-weight:500}
.sp-card-more{display:block;width:100%;color:var(--cy);font-size:10px;text-align:center;border:0;border-top:1px solid var(--hair);border-radius:0;padding:5px 0 0;margin-top:7px}
.sp-supply-mini{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--hair);border:1px solid var(--hair);border-radius:9px;overflow:hidden}.sp-supply-mini .sp-btn{border:0;background:var(--bg1);border-radius:0;padding:9px}.sp-supply-mini small{display:block;font-size:10px;color:var(--dim)}.sp-supply-mini b{display:block;font:17px/1.5 'JetBrains Mono',monospace}
body.spares-role #kpiband{overflow-x:auto;overflow-y:hidden}.sp-kpi{min-width:210px!important}.sp-kpi-main{display:block;border:0;border-radius:0;padding:0;width:100%;white-space:nowrap}.sp-kpi-main .l{display:block}.sp-kpi.northstar .n{color:var(--cy)}.sp-kpi-main small{display:inline-block;font-size:9px;line-height:1.5;color:var(--dim);margin-left:6px;vertical-align:2px}
.spares-content{padding:0!important}.sp-detail{min-width:0;max-width:100%;color:var(--tx);font-size:12px}.sp-head{position:sticky;top:0;z-index:3;background:var(--bg1);padding:12px 14px 8px;border-bottom:1px solid var(--hair)}.sp-head>div:first-child{display:flex;justify-content:space-between;margin-bottom:10px}.sp-head h2{font-size:16px;line-height:1.5;letter-spacing:.02em;margin:5px 0 10px;font-weight:600;overflow-wrap:anywhere}.sp-eyebrow{color:var(--dim);font-size:10px;line-height:1.75;display:block;overflow-wrap:anywhere}.sp-body{padding:13px 14px 24px;min-width:0}.sp-body h3{font-size:11px;margin:17px 0 9px;font-weight:600;line-height:1.6;color:var(--fnt)}.sp-body h4{font-size:12px;margin:0;line-height:1.6}.sp-body p{line-height:1.8}.sp-hint{font-size:10px;line-height:1.85;color:var(--dim);margin:10px 0}.sp-body small{font-size:10px}.sp-mono{font-family:'JetBrains Mono',monospace;overflow-wrap:anywhere}
.sp-hero{padding:12px 14px;background:rgba(var(--cyan-rgb,232,162,60),.06);border:1px solid rgba(var(--cyan-rgb,232,162,60),.28);border-radius:9px;margin-bottom:14px}.sp-hero h3{font-size:13px;letter-spacing:.02em;color:var(--tx);margin:7px 0}.sp-hero>strong{font:19px/1.5 'JetBrains Mono',monospace;letter-spacing:normal;color:var(--cy)}.sp-hero p{font-size:11px;margin:7px 0;color:var(--dim)}.sp-hero-foot{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding-top:11px;margin-top:11px;border-top:1px solid var(--hair);font-size:10px;color:var(--dim)}.sp-hero-foot b{color:var(--tx);font-weight:500}.sp-hero.small h3{font-size:13px}
.sp-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.sp-stat{padding:11px 12px;background:rgba(255,255,255,.025);border:1px solid var(--hair);border-radius:9px;min-width:0}.sp-stat small,.sp-stat strong,.sp-stat span{display:block}.sp-stat small{color:var(--dim);font-size:10px}.sp-stat strong{font:19px/1.5 'JetBrains Mono',monospace;letter-spacing:normal;margin:2px 0;overflow-wrap:anywhere}.sp-stat span{font-size:9px;line-height:1.6;color:var(--dim)}.sp-stat.good strong{color:var(--gn)}.sp-stat.risk strong{color:var(--am)}.sp-stats.compact{grid-template-columns:repeat(auto-fit,minmax(85px,1fr));gap:6px}.sp-stats.compact .sp-stat{padding:8px}.sp-stats.compact strong{font-size:17px}
.sp-table-wrap{width:100%;max-width:100%;overflow-x:auto;border:1px solid var(--hair);border-radius:9px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.sp-table{width:100%;border-collapse:collapse;min-width:430px;font-size:11.5px;text-align:left;line-height:1.65}.sp-table th{font-size:10px;font-weight:500;color:var(--dim);white-space:nowrap;background:rgba(255,255,255,.025);padding:9px 10px;border-bottom:1px solid var(--hair)}.sp-table td{padding:10px;vertical-align:top;border-bottom:1px solid var(--hair);overflow-wrap:anywhere}.sp-table tr:last-child td{border-bottom:0}.sp-table td small{display:block;font-size:9px;color:var(--dim);line-height:1.7;min-width:75px}.sp-table td>b{font-weight:500}.sp-table caption{position:absolute;clip:rect(0 0 0 0);clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}.sp-text-link{border:0;padding:0;color:var(--cy);font-size:inherit;line-height:inherit;overflow-wrap:anywhere;white-space:normal}.sp-text-link b,.sp-text-link small{display:block}.sp-text-link:hover{background:transparent;text-decoration:underline}.sp-table .sp-btn:not(.sp-text-link){font-size:10px;padding:5px 7px}
.sp-tools{display:flex;gap:12px;justify-content:space-between;align-items:end;margin:0 0 12px}.sp-tools h3{margin:0}.sp-tools>span{font-size:10px;color:var(--dim);white-space:nowrap;padding-bottom:7px}.sp-search{flex:1}.sp-tools label:not(.sp-search){min-width:100px}.sp-search input{font-size:12px}
.sp-part-heading h3{font-size:16px;letter-spacing:.02em;color:var(--tx);margin:7px 0}.sp-part-heading p{font-size:10px;color:var(--dim)}.sp-tabs{display:flex;flex-wrap:wrap;gap:5px;border-bottom:1px solid var(--hair);padding-bottom:11px;margin:17px 0}.sp-tabs .sp-btn{font-size:10px;padding:6px 8px}.sp-tabs [aria-pressed=true]{color:var(--cy);border-color:rgba(var(--cyan-rgb,232,162,60),.6);background:rgba(var(--cyan-rgb,232,162,60),.07)}.sp-3d-host{max-width:100%;min-width:0}.sp-facts{display:grid;grid-template-columns:1fr 1fr;gap:11px 15px;margin:17px 0}.sp-facts>div{border-bottom:1px solid var(--hair);padding-bottom:10px;min-width:0}.sp-facts dt{color:var(--dim);font-size:10px}.sp-facts dd{margin:5px 0 0;font-size:11px;line-height:1.75;overflow-wrap:anywhere}
.sp-section,.sp-candidate{border:1px solid var(--hair);border-radius:9px;padding:13px;margin:12px 0}.sp-section-title{display:flex;align-items:center;gap:10px;justify-content:space-between}.sp-section-title strong{font:19px/1.4 'JetBrains Mono',monospace;color:var(--cy)}.sp-section small{display:block;color:var(--dim)}.sp-composition{display:grid;grid-template-columns:70px minmax(45px,1fr) 50px 55px;gap:8px;align-items:center;margin:10px 0;font-size:10px}.sp-composition b{font-weight:500;text-align:right}.sp-composition>small{text-align:right;font-size:9px}.sp-bar{height:5px;background:rgba(255,255,255,.07);border-radius:2px;overflow:hidden}.sp-bar i{display:block;height:100%;background:rgba(var(--cyan-rgb,232,162,60),.8)}
.sp-month-chart{height:150px;display:flex;align-items:end;gap:8px;border-bottom:1px solid var(--hair);padding:5px 3px 10px;margin:10px 0 18px;overflow-x:auto}.sp-month-chart>div{min-width:30px;flex:1;display:flex;align-items:center;flex-direction:column;gap:5px}.sp-month-chart span{font:9px/1.3 'JetBrains Mono',monospace;color:var(--dim)}.sp-month-chart i{width:65%;max-width:32px;background:rgba(var(--cyan-rgb,232,162,60),.63);border-top:1px solid var(--cy);display:block;min-height:2px}.sp-month-chart small{font-size:9px;color:var(--dim)}
.sp-details{border:1px solid var(--hair);padding:11px;border-radius:9px;margin:13px 0;font-size:10px}.sp-details summary{cursor:pointer;color:var(--dim)}.sp-details p{font-size:10px;line-height:1.8}
.sp-timeline{list-style:none;padding:0;margin:15px 0}.sp-timeline li{display:grid;grid-template-columns:76px minmax(0,1fr);gap:14px;padding:0 0 20px;position:relative}.sp-timeline li:before{content:'';position:absolute;left:82px;top:7px;bottom:-7px;border-left:1px solid var(--hair)}.sp-timeline li:last-child:before{display:none}.sp-timeline li:after{content:'';position:absolute;left:79px;top:5px;width:5px;height:5px;border:1px solid var(--cy);background:var(--bg1);border-radius:50%}.sp-timeline time{font:9px/1.8 'JetBrains Mono',monospace;color:var(--dim);padding-top:1px}.sp-timeline li>div{padding-left:5px;min-width:0}.sp-timeline b{font-size:12px;font-weight:500}.sp-timeline p{margin:5px 0;font-size:10px;color:var(--dim);overflow-wrap:anywhere}.sp-timeline small{display:block;font-size:9px;color:var(--fnt);overflow-wrap:anywhere}
.sp-transfer-form{display:flex;gap:9px;align-items:end;margin-top:12px}.sp-transfer-form label{max-width:115px}.sp-transfer-form .sp-btn{font-size:11px;min-height:33px}.sp-notice{padding:12px;border:1px solid rgba(var(--cyan-rgb,232,162,60),.35);background:rgba(var(--cyan-rgb,232,162,60),.04);font-size:11px;line-height:1.8;margin-bottom:13px;overflow-wrap:anywhere}.sp-empty{border:1px dashed var(--hair);padding:25px 15px;text-align:center;color:var(--dim);font-size:11px;line-height:1.9;margin:12px 0}.sp-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:9px;border-top:1px solid var(--hair);padding-top:14px;margin-top:23px;color:var(--dim);font-size:9px}
@media(min-width:1201px){body.spares-work #work{width:min(620px,calc(100vw - 450px));right:420px}body.spares-work #panels{display:none!important}}
@media(min-width:701px) and (max-width:1200px){body.spares-work #work{width:min(620px,calc(100vw - 24px));right:12px;left:auto}body.spares-work #panels,body.spares-work #panels2{display:none!important}}
@media(max-width:700px){.sp-kpi{min-width:230px!important}.sp-head{padding:12px}.sp-head h2{font-size:16px}.sp-body{padding:13px 12px 24px}.sp-head>.sp-scope{gap:7px}.sp-head .sp-btn{min-height:34px}.sp-stats{gap:7px}.sp-stat{padding:9px}.sp-stat strong{font-size:19px}.sp-facts{gap:9px}.sp-hero{padding:14px}.sp-hero>strong{font-size:19px}.sp-composition{grid-template-columns:55px minmax(30px,1fr) 43px 45px;gap:6px}.sp-entry{min-height:35px}.sp-scope select{min-height:34px}.sp-table{min-width:450px}.sp-tabs .sp-btn{min-height:34px}.sp-hero-foot{line-height:1.8}}
@media(prefers-reduced-motion:reduce){.sp-btn{transition:none}}
.sp-op-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:10px 0}.sp-op-stats>div{min-width:0}.sp-op-stats small,.sp-op-stats span{display:block;color:var(--dim);font-size:10px}.sp-op-stats b{font:17px/1.5 'JetBrains Mono',monospace;color:var(--tx)}
.sp-op-section{border-bottom:1px solid var(--hair);padding:12px 0;font-size:11px;line-height:1.8;overflow-wrap:anywhere}.sp-op-section h3{font-size:12px;font-weight:500;color:var(--tx);margin:0 0 10px}.sp-op-links{display:flex;flex-wrap:wrap;gap:7px}.sp-op-option{display:flex;gap:10px;border:1px solid var(--hair);border-radius:9px;padding:12px;margin:9px 0;font-size:11px}.sp-op-option.priority{border-color:rgba(var(--cyan-rgb,232,162,60),.35)}.sp-op-option input{margin:4px 0;accent-color:var(--cy)}.sp-op-option>span{flex:1;min-width:0}.sp-op-option p{margin:5px 0}.sp-op-priority{display:inline-block;float:right;color:var(--cy);font-size:9px;margin-left:6px}.sp-op-reason{display:block;color:var(--dim);font-size:10px;margin:12px 0}.sp-op-reason textarea,[data-op-manual-type]{display:block;box-sizing:border-box;width:100%;background:var(--bg1);color:var(--tx);font:inherit;border:1px solid var(--hair);border-radius:9px;padding:9px;margin-top:6px}
.sp-pagination{display:flex;gap:7px;align-items:center;justify-content:flex-end;flex-wrap:wrap;margin:12px 0;font-size:10px;color:var(--dim)}.sp-pagination>span{margin-right:auto}.sp-pagination .sp-btn{padding:5px 8px;font-size:10px}
.sp-part-heading+.sp-stats.compact{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:700px){.sp-part-heading+.sp-stats.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}
.sp-footprint{border-top:1px solid var(--hair);padding-top:8px;margin:8px 0;color:var(--dim);font-size:10px;line-height:1.85}
.sp-network-count{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:5px 0;font-size:10px;color:var(--dim)}.sp-network-count b{font:11px/1.5 'JetBrains Mono',monospace;color:var(--tx);font-weight:500;white-space:nowrap}
.sp-head .sp-scope{margin-top:10px}.sp-head .sp-scope select{max-width:100%}
.sp-part-media{min-width:0;--sp-media-stage:326px;--sp-media-footer:84px}.sp-media-toolbar{display:flex;align-items:center;gap:7px;margin:12px 0}.sp-media-toolbar .sp-btn{font-size:11px}.sp-media-toolbar [aria-pressed=true],.sp-photo-thumb[aria-pressed=true]{color:var(--cy);border-color:var(--cy);background:rgba(var(--cyan-rgb,232,162,60),.06)}.sp-media-toolbar>span{font-size:10px;color:var(--dim);margin-left:auto}.sp-part-media>.sp-3d-host{height:calc(var(--sp-media-stage) + var(--sp-media-footer))}
.sp-photo-frame{position:relative;display:grid;place-items:center;min-width:0;height:var(--sp-media-stage,326px);box-sizing:border-box;background:var(--bg1);border:1px solid var(--hair);border-radius:9px;overflow:hidden}.sp-photo-open{display:block;width:100%;height:100%;max-width:100%;box-sizing:border-box;padding:14px 14px 32px;border:0;background:transparent;color:var(--tx);cursor:zoom-in}.sp-photo-frame img{display:block;width:100%;height:100%;object-fit:contain;max-width:100%}.sp-photo-open>span{position:absolute;bottom:9px;right:12px;color:var(--dim);font-size:10px}.sp-photo-loading,.sp-photo-error{padding:20px;font-size:11px;color:var(--dim);text-align:center;line-height:1.8}.sp-photo-loading{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.sp-photo-frame [hidden],.sp-photo-thumbs [hidden]{display:none!important}.sp-photo-empty .sp-empty{border:0;margin:0;max-width:280px}
.sp-photo-footer{height:var(--sp-media-footer,84px);box-sizing:border-box;min-width:0;display:flex;align-items:center}.sp-photo-tip{font-size:10px;color:var(--dim)}.sp-photo-thumbs{display:flex;gap:8px;overflow-x:auto;max-width:100%;height:100%;box-sizing:border-box;padding:8px 2px;overscroll-behavior-x:contain}.sp-photo-thumb{width:76px;min-width:76px;flex:none;text-align:center;padding:4px;font-size:9px;box-sizing:border-box}.sp-photo-thumb img{display:block;width:100%;height:42px;object-fit:contain;background:var(--bg1);border-radius:2px}.sp-photo-thumb span{display:block;padding-top:3px;line-height:1.5}
.sp-photo-dialog{box-sizing:border-box;width:min(980px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:16px;background:var(--bg1);color:var(--tx);border:1px solid var(--hair);border-radius:13px;overflow:auto}.sp-photo-dialog::backdrop{background:rgba(3,9,16,.8)}.sp-photo-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.sp-photo-dialog-head b{font-size:13px;font-weight:500;overflow-wrap:anywhere}.sp-photo-dialog .sp-photo-frame{height:min(62dvh,680px);min-height:180px}.sp-photo-dialog .sp-photo-frame img{padding:12px;box-sizing:border-box}
@media(max-width:700px){.sp-part-media{--sp-media-stage:270px}.sp-photo-open{padding:10px 10px 30px}.sp-photo-dialog{padding:12px}.sp-photo-dialog .sp-photo-frame{height:52dvh}.sp-media-toolbar .sp-btn{min-height:36px}}
