.sp-page{min-width:0}.sp-panel{overflow:hidden}.sp-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:10px}.sp-kpis article{padding:14px 15px}.sp-kpis span,.sp-kpis strong,.sp-kpis em{display:block}.sp-kpis span{color:var(--ink-tertiary);font-size:8px}.sp-kpis strong{margin-top:5px;font-size:18px;font-weight:580}.sp-kpis strong small{margin-left:4px;color:var(--ink-tertiary);font-size:8px;font-weight:400}.sp-kpis em{margin-top:5px;color:#6fc084;font-size:7.5px;font-style:normal}.sp-kpis em.bad{color:#d47c7c}.sp-split{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.sp-split.wide{grid-template-columns:minmax(0,1.6fr) minmax(280px,.7fr)}
.sp-badge{padding:2px 6px;display:inline-flex;align-items:center;gap:4px;border-radius:4px;font-size:7px;white-space:nowrap}.sp-badge i{width:4px;height:4px;border-radius:50%}.sp-badge.good{color:#73c589;background:rgba(53,183,91,.08)}.sp-badge.good i{background:var(--success)}.sp-badge.warn{color:#d2b677;background:rgba(200,165,90,.08)}.sp-badge.warn i{background:var(--warning)}.sp-badge.bad{color:#dc8585;background:rgba(216,106,106,.08)}.sp-badge.bad i{background:var(--danger)}
.sp-table-wrap{overflow:auto}.sp-table{width:100%;min-width:650px;border-collapse:collapse}.sp-table th{padding:9px 12px;border-bottom:1px solid var(--hairline);background:#0c0d0e;color:#5e6268;font-size:7.5px;font-weight:500;text-align:left}.sp-table td{padding:10px 12px;border-bottom:1px solid #202125;color:var(--ink-subtle);font-size:8.5px}.sp-table tbody tr:hover td{background:#121315}.sp-table button{padding:4px 7px;border:1px solid var(--hairline);border-radius:5px;background:#151618;color:var(--ink-subtle);font-size:7.5px;cursor:pointer}.sp-table button.selected{border-color:#4f568c;background:rgba(94,106,210,.12);color:#b8bdf0}
.sp-bars{padding:14px 16px;display:grid;gap:13px}.sp-bars>div>span{display:flex;justify-content:space-between;color:var(--ink-subtle);font-size:8px}.sp-bars em{color:var(--ink-tertiary);font-style:normal}.sp-bars>div>i{height:4px;margin-top:5px;display:block;border-radius:4px;background:#28292d;overflow:hidden}.sp-bars b{height:100%;display:block;border-radius:inherit;background:#737bc9}.sp-line-chart{padding:13px 16px 8px}.sp-line-chart svg{width:100%;height:210px;overflow:visible}.sp-line-chart g line{stroke:#24262a;stroke-width:1}.sp-line-chart .area{fill:rgba(94,106,210,.08)}.sp-line-chart .one{fill:none;stroke:#8992e8;stroke-width:2}.sp-line-chart .two{fill:none;stroke:#666c75;stroke-width:1.5;stroke-dasharray:5 5}.sp-line-chart>div{display:flex;justify-content:space-between;color:var(--ink-tertiary);font-size:6.5px}.sp-heatmap{padding:20px;display:grid;grid-template-columns:repeat(12,1fr);gap:4px}.sp-heatmap i{aspect-ratio:1.35;border-radius:2px;background:color-mix(in srgb,#737bd1 var(--v),#191a1d)}.heat-legend{padding:0 20px 15px;display:flex;align-items:center;justify-content:flex-end;gap:4px;color:var(--ink-tertiary);font-size:7px}.heat-legend i{width:14px;height:7px;background:#303348}.heat-legend i:nth-of-type(2){background:#444970}.heat-legend i:nth-of-type(3){background:#5e67a7}.heat-legend i:nth-of-type(4){background:#7b84d8}.sp-donut{width:120px;height:120px;margin:14px auto 4px;padding:9px;border-radius:50%;background:conic-gradient(#747cd0 0 var(--value),#25262a var(--value) 360deg)}.sp-donut>div{width:102px;height:102px;display:grid;place-content:center;border-radius:50%;background:var(--surface-1);text-align:center}.sp-donut strong{font-size:21px;font-weight:580}.sp-donut span{color:var(--ink-tertiary);font-size:7.5px}.sp-donut-note{display:block;color:var(--ink-tertiary);font-size:7px;text-align:center}
/* 사이트 */
.asset-topology{position:relative;height:245px;padding:18px;display:flex;align-items:center;flex-direction:column}.top-grid,.top-bus,.top-branches span{border:1px solid #30323a;border-radius:7px;background:#17181b;text-align:center}.top-grid{padding:8px 18px}.top-grid strong,.top-branches b{display:block;color:var(--ink-muted);font-size:9px}.top-grid+ i{width:1px;height:26px;background:#3d4156}.top-bus{width:75%;padding:7px;color:#aab1ed;font-size:8px}.top-branches{position:relative;width:92%;margin-top:31px;display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.top-branches::before{content:"";position:absolute;left:10%;right:10%;top:-17px;height:1px;background:#363944}.top-branches span{position:relative;padding:9px;color:var(--ink-tertiary);font-size:7px}.top-branches span::before{content:"";position:absolute;left:50%;top:-17px;width:1px;height:17px;background:#363944}.tariff-card{padding:20px}.tariff-card>span{color:var(--ink-tertiary);font-size:8px}.tariff-card>strong{margin:8px 0 18px;display:block;font-size:30px;font-weight:580}.tariff-card>strong small{font-size:10px;color:var(--ink-tertiary)}.tariff-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.tariff-card dl div{padding:9px;border:1px solid var(--hairline);border-radius:6px}.tariff-card dt{color:var(--ink-tertiary);font-size:7px}.tariff-card dd{margin:3px 0 0;color:var(--ink-muted);font-size:8.5px}.tariff-warning{margin:12px 16px;padding:8px;border-radius:5px;background:rgba(200,165,90,.07);color:#bda36a;font-size:7.5px;text-align:center}.rate-timeline{margin:16px;display:flex;height:48px}.rate-timeline span{padding:7px;display:grid;place-content:center;color:#d7d8dc;font-size:7px;text-align:center}.rate-timeline b{display:block;font-size:9px}.rate-timeline .low{background:#25283a}.rate-timeline .mid{background:#3e3b35}.rate-timeline .high{background:#5a3c3c}.manager-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:10px}.manager-card{position:relative;padding:17px}.manager-card>.sp-badge{position:absolute;right:13px;top:13px}.manager-avatar{width:33px;height:33px;display:grid;place-items:center;border-radius:50%;background:#252736;color:#b4b9ec;font-size:10px}.manager-card h3{margin:12px 0 2px;font-size:11px}.manager-card p{margin:0;color:var(--ink-tertiary);font-size:8px}.manager-card dl{margin:13px 0;display:grid;gap:6px}.manager-card dl div{display:flex;justify-content:space-between}.manager-card dt,.manager-card dd{font-size:7.5px}.manager-card dt{color:var(--ink-tertiary)}.manager-card dd{margin:0;color:var(--ink-subtle)}.manager-card>button,.protocol-card>button{width:100%;padding:6px;border:1px solid var(--hairline);border-radius:5px;background:#151618;color:var(--ink-subtle);font-size:7.5px}.duty-calendar{padding:14px;display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.duty-calendar div{padding:9px 4px;border:1px solid var(--hairline);border-radius:5px;text-align:center}.duty-calendar span,.duty-calendar strong,.duty-calendar small{display:block}.duty-calendar span,.duty-calendar small{color:var(--ink-tertiary);font-size:6.5px}.duty-calendar strong{margin:5px 0;color:var(--ink-muted);font-size:8px}.escalation{padding:14px 20px;list-style:none}.escalation li{padding:8px;display:flex;align-items:center;gap:8px;border-left:1px solid #31333b}.escalation i{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:#232535;color:#aab1ed;font-size:7px;font-style:normal}.escalation span{color:var(--ink-muted);font-size:8px}.escalation small{display:block;color:var(--ink-tertiary);font-size:6.5px}.gateway-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:10px}.gateway-card{padding:14px}.gateway-card header,.gateway-card footer{display:flex;justify-content:space-between;align-items:center}.gateway-card header>span{color:var(--ink-tertiary);font:7px ui-monospace}.gateway-icon{width:34px;height:34px;margin:14px auto 8px;display:grid;place-items:center;border-radius:8px;background:#20222d;color:#aeb5ef}.gateway-card h3,.gateway-card p{text-align:center}.gateway-card h3{margin:0;font-size:10px}.gateway-card p{margin:3px 0 14px;color:var(--ink-tertiary);font-size:7px}.gateway-card footer{padding-top:8px;border-top:1px solid var(--hairline);color:var(--ink-tertiary);font-size:7px}.gateway-card footer button{border:0;background:transparent;color:#9ba3e5;font-size:7px}
/* 장비·태그 */
.fleet-matrix{padding:18px;display:grid;grid-template-columns:100px repeat(4,1fr);gap:7px;align-items:center}.fleet-matrix strong,.fleet-matrix span{font-size:7.5px;color:var(--ink-tertiary)}.fleet-matrix i{height:30px;border-radius:5px;background:#22342a}.fleet-matrix i.warn{background:#433b2a}.fleet-matrix i.bad{background:#462b2d}.tag-device-head{margin-bottom:10px;padding:16px 20px;display:flex;justify-content:space-between;align-items:center}.tag-device-head h2{margin:3px 0;font-size:14px}.tag-device-head p{margin:0;color:var(--ink-tertiary);font-size:8px}.tag-device-head .sp-donut{width:74px;height:74px;padding:6px;margin:0}.tag-device-head .sp-donut>div{width:62px;height:62px}.tag-device-head .sp-donut strong{font-size:14px}.protocol-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-bottom:10px}.protocol-card{position:relative;padding:14px;text-align:center}.protocol-card.selected{border-color:#50578d;background:rgba(94,106,210,.04)}.protocol-card>.sp-badge{position:absolute;right:8px;top:8px}.proto-icon,.type-icon{width:34px;height:34px;margin:4px auto 10px;display:grid;place-items:center;border-radius:8px;background:#232638;color:#b8bdf0;font-weight:650}.protocol-card h3{margin:0;font-size:10px}.protocol-card p{margin:3px 0;color:var(--ink-tertiary);font-size:7px}.protocol-card strong{margin:10px 0;display:block;color:var(--ink-subtle);font-size:8px}.protocol-form{padding:17px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.protocol-form label{color:var(--ink-tertiary);font-size:7.5px}.protocol-form input,.protocol-form select,.action-form select,.action-form textarea{width:100%;height:34px;margin-top:4px;padding:7px;border:1px solid var(--hairline);border-radius:5px;background:#141516;color:var(--ink-muted);font-size:8px}.protocol-form .wide{grid-column:span 2}.protocol-form>div{grid-column:1/-1;display:flex;justify-content:flex-end;gap:6px}.maintenance-page{display:grid;grid-template-columns:minmax(0,1.6fr) 300px;gap:10px}.maintenance-calendar,.maintenance-list{overflow:hidden}.month-grid{padding:12px;display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.month-grid>b{padding:4px;text-align:center;color:var(--ink-tertiary);font-size:7px}.month-grid>div{min-height:59px;padding:5px;border:1px solid #202125;border-radius:4px;color:var(--ink-tertiary);font-size:7px}.month-grid .has-event{background:rgba(94,106,210,.04)}.month-grid em{margin-top:7px;padding:3px;display:block;border-radius:3px;background:#282b40;color:#afb5ea;font-size:6px;font-style:normal}.maintenance-list>button{width:100%;padding:10px 12px;display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;border:0;border-bottom:1px solid #202125;background:transparent;text-align:left}.maintenance-list time{color:#a8afe9;font-size:9px}.maintenance-list strong,.maintenance-list small{display:block}.maintenance-list strong{color:var(--ink-muted);font-size:8px}.maintenance-list small{color:var(--ink-tertiary);font-size:6.5px}
.mapping-workbench{min-height:560px;display:grid;grid-template-columns:230px 1fr;overflow:hidden}.mapping-workbench>aside{padding:12px;border-right:1px solid var(--hairline)}.mapping-workbench h3{font-size:9px}.mapping-workbench details{border-bottom:1px solid #202125}.mapping-workbench summary{padding:9px 4px;color:var(--ink-subtle);font-size:8px;cursor:pointer}.mapping-workbench summary span{float:right;color:var(--ink-tertiary)}.mapping-workbench details button{width:100%;padding:7px 8px;display:block;border:0;border-radius:4px;background:transparent;color:var(--ink-tertiary);font-size:7.5px;text-align:left}.mapping-workbench details button.active{background:#1d1f29;color:#b9beed}.mapping-workbench details small{display:block}.mapping-workbench>main{padding:18px}.mapping-head{display:flex;justify-content:space-between}.mapping-head h2{margin:0;font-size:13px}.mapping-head p{margin:2px 0;color:var(--ink-tertiary);font-size:7px}.mapping-columns{margin-top:18px;display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center}.mapping-columns section{padding:10px;border:1px solid var(--hairline);border-radius:7px}.mapping-columns section h3{color:var(--ink-subtle)}.mapping-columns section h3 span{float:right}.mapping-columns section div{margin:5px 0;padding:9px;border:1px solid #292b31;border-radius:4px;background:#151619;color:var(--ink-subtle);font:7.5px ui-monospace}.mapping-columns>i{color:#7f86c9;font-style:normal}.unit-grid{padding:15px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.unit-grid button{padding:12px;border:1px solid var(--hairline);border-radius:6px;background:#141516;text-align:left}.unit-grid strong,.unit-grid span,.unit-grid small{display:block}.unit-grid strong{color:#b3b9ec;font-size:14px}.unit-grid span{color:var(--ink-muted);font-size:8px}.unit-grid small{color:var(--ink-tertiary);font-size:6.5px}.schema-builder{display:grid;grid-template-columns:200px 1fr;overflow:hidden}.schema-builder aside{padding:10px;border-right:1px solid var(--hairline)}.schema-builder aside button{width:100%;padding:8px;display:flex;justify-content:space-between;border:0;border-radius:4px;background:transparent;color:var(--ink-tertiary);font-size:8px}.schema-builder aside button.active{background:#1c1e27;color:#b7bced}.schema-builder main{max-width:620px;padding:24px}.schema-builder main h2{margin:0;font-size:15px}.schema-builder main p{color:var(--ink-tertiary);font-size:8px}.schema-bits{margin:20px 0;display:flex}.schema-bits span{padding:12px;flex:1;background:#24273a;color:#aeb5ec;font-size:8px;text-align:center}.schema-bits span:nth-child(2){flex:2;background:#30334b}.schema-bits span:nth-child(3){flex:4;background:#3b3f5d}.schema-bits b{display:block}.schema-builder main label{margin:10px 0;display:grid;grid-template-columns:180px 1fr;color:var(--ink-subtle);font-size:8px}.schema-builder select{height:32px;background:#151619;color:var(--ink-muted);border:1px solid var(--hairline)}.threshold-editor{overflow:hidden}.threshold-scale{padding:50px 35px 25px;position:relative}.threshold-scale>span{position:absolute;left:calc(35px + (100% - 70px)*var(--x)/100);top:25px;color:var(--ink-tertiary);font-size:7px;transform:translateX(-50%)}.threshold-scale>div{height:12px;display:flex;border-radius:7px;overflow:hidden}.threshold-scale i.normal{background:#31573c}.threshold-scale i.caution{background:#6b5c33}.threshold-scale i.danger{background:#6b3638}.threshold-fields{padding:0 35px 22px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.threshold-fields label{position:relative;color:var(--ink-tertiary);font-size:7px}.threshold-fields input{width:100%;height:34px;margin-top:4px;padding:8px;border:1px solid var(--hairline);border-radius:5px;background:#151619;color:var(--ink)}.threshold-fields b{position:absolute;right:8px;bottom:8px;color:var(--ink-tertiary);font-size:7px}.threshold-editor>footer{padding:12px 16px;display:flex;justify-content:space-between;border-top:1px solid var(--hairline)}.threshold-editor>footer span{color:var(--ink-tertiary);font-size:8px}.threshold-editor>footer strong{color:#d27b7b}.cycle-distribution{min-height:220px;padding:25px;display:flex;align-items:center;justify-content:center;gap:15px}.cycle-distribution>div{width:var(--size);height:var(--size);min-width:48px;min-height:48px;display:grid;place-content:center;border:1px solid #4a4f7c;border-radius:50%;background:rgba(94,106,210,.08);text-align:center}.cycle-distribution span,.cycle-distribution strong{display:block}.cycle-distribution span{color:var(--ink-tertiary);font-size:7px}.cycle-distribution strong{font-size:10px}.quality-causes{padding:16px}.quality-causes>div{position:relative;margin:10px 0;padding-left:34px;display:grid;grid-template-columns:1fr auto}.quality-causes i{position:absolute;left:0;width:25px;height:25px;border-radius:50%;background:conic-gradient(#767ed0 var(--p),#28292d 0)}.quality-causes span{color:var(--ink-subtle);font-size:8px}.quality-causes strong{font-size:9px}
/* 모니터링 */
.site-monitor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.site-live-card{padding:14px}.site-live-card header{display:flex;justify-content:space-between}.site-live-card header span{font:6.5px ui-monospace;color:var(--ink-tertiary)}.site-live-card h3{margin:2px 0;font-size:10px}.site-power{margin:16px 0;display:flex;align-items:end;justify-content:space-between}.site-power strong{font-size:22px}.site-power small{font-size:8px;color:var(--ink-tertiary)}.site-power>span{color:var(--ink-tertiary);font-size:7px}.site-live-card .sp-bars{padding:0}.site-live-card footer{margin-top:12px;padding-top:8px;display:flex;justify-content:space-between;border-top:1px solid var(--hairline);color:var(--ink-tertiary);font-size:7px}.site-live-card footer button{border:0;background:transparent;color:#9fa6e4;font-size:7px}.weather-strip{padding:8px 16px;display:flex;gap:16px;border-top:1px solid var(--hairline);color:var(--ink-tertiary);font-size:7px}.inverter-grid{padding:13px;display:grid;grid-template-columns:repeat(6,1fr);gap:5px}.inverter-grid button{padding:7px 3px;border:1px solid #27402e;border-radius:4px;background:#132019;color:#85c895}.inverter-grid button.warn{border-color:#594d2e;background:#251f13;color:#d0b46f}.inverter-grid button.bad{border-color:#603436;background:#291719;color:#dc8080}.inverter-grid span,.inverter-grid strong{display:block;font-size:6.5px}.battery-racks{margin-bottom:10px;overflow:hidden}.rack-grid{padding:13px;display:grid;grid-template-columns:repeat(12,1fr);gap:5px}.rack-grid button{padding:7px 3px;border:1px solid #2b3f31;border-radius:5px;background:#121a15;color:#84c494}.rack-grid button.warning{border-color:#574c2d;background:#211d12;color:#cfb16f}.rack-grid button.danger{border-color:#633638;background:#261718;color:#d57d7d}.rack-grid button span,.rack-grid button strong,.rack-grid button small{display:block;font-size:6px}.rack-grid button>div{height:28px;margin:5px;background:#282a2d;display:flex;align-items:end}.rack-grid button>div i{display:block;height:100%;background:#5e6ab2}.ess-permissions{padding:14px}.ess-permissions>div{padding:10px;display:flex;justify-content:space-between;border-bottom:1px solid var(--hairline);color:var(--ink-subtle);font-size:8px}.charger-board{margin-bottom:10px;overflow:hidden}.charger-board .section-bar select{height:28px;border:1px solid var(--hairline);background:#151619;color:var(--ink-subtle)}.charger-grid{padding:14px;display:grid;grid-template-columns:repeat(10,1fr);gap:5px}.charger-grid button{padding:6px 2px;border:1px solid #2e3e33;border-radius:5px;background:#141a16;color:#78bd89}.charger-grid button.charging{border-color:#454c7a;background:#1c1e2b;color:#aeb5ef}.charger-grid button.reserved{border-color:#584c2f;color:#cdb06c}.charger-grid button.offline{border-color:#553033;background:#211416;color:#d27a7a}.charger-grid span,.charger-grid i,.charger-grid small{display:block;font-size:6px}.charger-grid i{margin:4px;font-style:normal}.charger-legend{padding:9px;display:flex;justify-content:center;gap:15px;border-top:1px solid var(--hairline);font-size:7px}.meter-dials{margin-bottom:10px;padding:20px;display:grid;grid-template-columns:repeat(4,1fr);text-align:center}.dial{position:relative;width:105px;height:105px;margin:auto;border-radius:50%;background:conic-gradient(from 225deg,#747cd0 var(--d),#2a2b2f 0 270deg,transparent 270deg)}.dial::after{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--surface-1)}.dial i{position:absolute;z-index:2;left:50%;bottom:50%;width:1px;height:38%;background:#c8cbdd;transform-origin:bottom;transform:rotate(calc(var(--d) - 135deg))}.dial span{position:absolute;z-index:3;left:0;right:0;bottom:25px;font-size:13px}.dial small{font-size:6px;color:var(--ink-tertiary)}.meter-dials>div>strong{display:block;margin-top:8px;font-size:8px}.meter-dials>div>small{color:var(--ink-tertiary);font-size:6.5px}.stream-controls{padding:9px;margin-bottom:10px;display:flex;align-items:center;gap:6px;border:1px solid var(--hairline);border-radius:7px;background:#0b0c0d}.stream-controls select,.stream-controls input{height:30px;padding:0 8px;border:1px solid var(--hairline);border-radius:5px;background:#141516;color:var(--ink-subtle);font-size:7px}.stream-controls em{margin-left:auto;color:var(--ink-tertiary);font-size:7px}.chart-builder{display:grid;grid-template-columns:210px 1fr;gap:10px}.chart-builder>aside{padding:13px}.chart-builder>aside h3{font-size:9px}.chart-builder>aside label{padding:8px 0;display:flex;align-items:center;gap:6px;color:var(--ink-subtle);font:7px ui-monospace}.chart-builder>aside label i{width:8px;height:2px}.chart-builder>aside button{width:100%;margin-top:10px;padding:7px;border:1px dashed var(--hairline);background:transparent;color:var(--ink-tertiary);font-size:7px}.chart-builder>main{overflow:hidden}.chart-cursors{padding:8px 16px;display:flex;gap:14px;border-top:1px solid var(--hairline);color:var(--ink-tertiary);font-size:7px}.chart-cursors b{color:var(--ink-subtle);font-weight:500}.single-line{overflow:hidden}.diagram-canvas{position:relative;height:480px;background-image:radial-gradient(#24262b 1px,transparent 1px);background-size:18px 18px}.d-grid,.d-transformer,.d-bus,.d-node{position:absolute;padding:9px;border:1px solid #333640;border-radius:6px;background:#151619;text-align:center;font-size:8px}.d-grid{left:50%;top:30px;transform:translateX(-50%)}.d-transformer{left:50%;top:135px;transform:translateX(-50%)}.d-bus{left:20%;right:20%;top:245px}.d-node{top:365px}.d-node.pv{left:14%}.d-node.ess{left:45%}.d-node.load{right:14%}.d-grid strong,.d-transformer strong,.d-bus strong,.d-node strong{display:block;color:#adb3e8}.wire{position:absolute;background:#4c516c}.wire.v{left:50%;width:1px}.wire.w1{top:78px;height:57px}.wire.w2{top:180px;height:65px}.wire.h{top:302px;width:1px;height:63px}.wire.wh1{left:21%}.wire.wh2{left:50%}.wire.wh3{right:21%}.power-particles{position:absolute;left:25%;right:25%;top:241px;overflow:hidden;color:#8992e8;letter-spacing:45px;font-size:10px}.gateway-health-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:10px}.gateway-health-grid article{padding:13px}.gateway-health-grid header,.gateway-health-grid footer{display:flex;justify-content:space-between}.gateway-health-grid h3{font-size:9px}.gateway-health-grid p{color:var(--ink-tertiary);font-size:7px}.gateway-health-grid .sp-bars{padding:8px 0}.gateway-health-grid footer{padding-top:7px;border-top:1px solid var(--hairline);color:var(--ink-tertiary);font-size:7px}
/* 분석·요금 */
.sp-filterbar{margin-bottom:10px;padding:8px;display:flex;gap:6px;border:1px solid var(--hairline);border-radius:7px;background:#0b0c0d}.sp-filterbar select,.sp-filterbar input,.dual-period input{height:32px;padding:0 8px;border:1px solid var(--hairline);border-radius:5px;background:#141516;color:var(--ink-subtle);font-size:7px}.stacked-load,.session-histogram,.usage-columns{height:245px;padding:25px 15px 20px;display:flex;align-items:flex-end;gap:4px}.stacked-load>div,.session-histogram>div,.usage-columns>div{position:relative;flex:1;height:100%;display:flex;align-items:flex-end}.stacked-load i,.stacked-load b,.stacked-load em{width:100%;display:block}.stacked-load i{background:#4f568f}.stacked-load b{background:#3f5c66}.stacked-load em{background:#725e3b}.stacked-load span,.session-histogram span,.usage-columns span{position:absolute;bottom:-15px;left:50%;color:var(--ink-tertiary);font-size:6px;transform:translateX(-50%)}.stack-legend{padding:7px;display:flex;justify-content:center;gap:15px;color:var(--ink-tertiary);font-size:7px}.usage-breakdown,.cost-legend,.ai-usage-legend{padding:10px 18px}.usage-breakdown span,.cost-legend span,.ai-usage-legend span{padding:6px 0;display:flex;justify-content:space-between;border-bottom:1px solid var(--hairline);color:var(--ink-tertiary);font-size:7px}.cycle-histogram{height:245px;padding:35px 20px 20px;display:flex;align-items:flex-end;justify-content:center;gap:15px}.cycle-histogram>div{position:relative;width:35px;height:100%;display:flex;align-items:flex-end}.cycle-histogram i{width:100%;background:#666fb9}.cycle-histogram strong{position:absolute;top:calc(100% - var(--h));left:0}.cycle-histogram span{position:absolute;bottom:-15px;white-space:nowrap;color:var(--ink-tertiary);font-size:6px}.session-histogram i,.session-histogram b{width:50%;display:block}.session-histogram i{background:#6871c2}.session-histogram b{background:#3f5e67}.duration-rings{padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:15px}.duration-rings>div,.score-rings>div{aspect-ratio:1;display:grid;place-content:center;border-radius:50%;background:radial-gradient(circle,#0f1011 58%,transparent 60%),conic-gradient(#747cd0 var(--r),#292a2e 0);text-align:center}.duration-rings strong,.duration-rings span{display:block}.duration-rings strong{font-size:14px}.duration-rings span{color:var(--ink-tertiary);font-size:6.5px}.peak-hero{margin-bottom:10px;padding:20px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px}.peak-hero>div:last-child{text-align:right}.peak-hero>div>span,.peak-hero p{color:var(--ink-tertiary);font-size:8px}.peak-hero>div>strong{display:block;font-size:28px}.peak-hero small{font-size:9px}.peak-clock{width:95px;height:95px;display:grid;place-content:center;border:7px solid #6a5934;border-radius:50%;text-align:center}.peak-clock i{display:none}.peak-clock span{color:#d1b472!important}.peak-clock small{display:block}.peak-contributors{padding:15px}.peak-contributors>div{display:grid;grid-template-columns:100px 1fr 65px;gap:8px;align-items:center;margin:10px 0}.peak-contributors span,.peak-contributors strong{font-size:7.5px}.peak-contributors i{height:6px;background:#6971b9}.sankey{position:relative;height:360px}.sankey svg{position:absolute;left:100px;right:100px;top:40px;width:calc(100% - 200px);height:280px}.sankey path{fill:none;stroke-opacity:.28}.sankey .p1{stroke:#7b85dc;stroke-width:50}.sankey .p2{stroke:#7b85dc;stroke-width:12}.sankey .p3{stroke:#70757e;stroke-width:55}.sankey .p4{stroke:#6c96b9;stroke-width:18}.s-source,.s-target,.s-mid{position:absolute;z-index:2;display:grid;gap:90px}.s-source{left:25px;top:65px}.s-target{right:25px;top:110px}.s-mid{left:50%;bottom:25px;transform:translateX(-50%)}.sankey span{padding:8px 12px;border:1px solid #33353c;border-radius:6px;background:#17181a;font-size:8px}.sankey strong{display:block;color:var(--ink-muted)}.compare-selectors{padding:9px;margin-bottom:10px;display:flex;gap:16px;border:1px solid var(--hairline);border-radius:7px}.compare-selectors label{display:flex;align-items:center;gap:5px;color:var(--ink-subtle);font-size:7.5px}.compare-selectors i{width:8px;height:3px;background:var(--c)}.radar-chart{position:relative;height:280px}.radar-chart svg{width:100%;height:240px}.radar-chart g polygon{fill:none;stroke:#2d3037}.radar-value{fill:rgba(94,106,210,.15);stroke:#7d86dc}.radar-chart span{position:absolute;color:var(--ink-tertiary);font-size:6.5px}.radar-chart span:nth-of-type(1){top:5px;left:45%}.radar-chart span:nth-of-type(2){top:42%;right:6%}.radar-chart span:nth-of-type(3){bottom:8px;right:20%}.radar-chart span:nth-of-type(4){bottom:8px;left:18%}.radar-chart span:nth-of-type(5){top:42%;left:5%}.dual-period{margin-bottom:10px;padding:13px;display:flex;align-items:center;gap:16px;border:1px solid var(--hairline);border-radius:8px;background:#0b0c0d}.dual-period>div{padding:7px 14px;border:1px solid var(--hairline);border-radius:5px}.dual-period span,.dual-period strong{display:block}.dual-period span{color:var(--ink-tertiary);font-size:7px}.dual-period strong{font-size:9px}.dual-period i{color:#aeb5ee;font-style:normal}.waterfall{height:300px;padding:35px;display:flex;align-items:flex-end;justify-content:center;gap:18px}.waterfall>div{position:relative;width:55px;height:100%;display:flex;align-items:flex-end}.waterfall i{width:100%;background:#5f67ac}.waterfall .down i{background:#355e43}.waterfall .up i{background:#704143}.waterfall strong{position:absolute;bottom:calc(var(--h) + 5px);left:50%;font-size:7px;transform:translateX(-50%)}.waterfall span{position:absolute;bottom:-17px;left:50%;white-space:nowrap;color:var(--ink-tertiary);font-size:6.5px;transform:translateX(-50%)}.scatter{position:relative;height:350px;margin:20px 35px;border-left:1px solid #34363c;border-bottom:1px solid #34363c;background:repeating-linear-gradient(to top,transparent 0,transparent 58px,#222327 59px)}.scatter>i{position:absolute;width:8px;height:8px;border-radius:50%;background:#7881d4}.scatter>i.outlier{width:12px;height:12px;background:#d07171;box-shadow:0 0 0 5px rgba(208,113,113,.1)}.scatter>span{position:absolute;right:0;bottom:-20px;color:var(--ink-tertiary);font-size:7px}.scatter>em{position:absolute;right:6%;top:10%;color:#d07a7a;font-size:7px;font-style:normal}.scatter-y{position:absolute;left:-32px;top:0;color:var(--ink-tertiary);font-size:7px}
.confidence{padding:7px;text-align:center;color:var(--ink-tertiary);font-size:7px}.invoice{padding:18px}.invoice header,.invoice footer,.invoice>div{display:flex;justify-content:space-between}.invoice header{padding:15px;border-bottom:2px solid #34363c}.invoice header span{font-size:9px}.invoice header strong{font-size:9px}.invoice header b{display:block;font-size:16px}.invoice>div{padding:12px;border-bottom:1px solid var(--hairline)}.invoice>div strong,.invoice>div small{display:block}.invoice>div strong{font-size:8.5px}.invoice>div small{color:var(--ink-tertiary);font-size:7px}.invoice>div>b{font-size:9px}.invoice footer{padding:15px;color:#aeb5ed}.peak-cost-curve{position:relative;height:260px;padding:20px 30px}.peak-cost-curve svg{width:100%;height:220px}.peak-cost-curve path{fill:none;stroke:#737bd0;stroke-width:2}.peak-cost-curve line{stroke:#b69555;stroke-dasharray:4 4}.peak-cost-curve circle{fill:#b69555}.peak-cost-curve span{position:absolute;color:var(--ink-tertiary);font-size:7px}.peak-cost-curve .current{right:22%;top:80px}.peak-cost-curve .contract{right:20%;bottom:20px}.sim-workbench{display:grid;grid-template-columns:270px 1fr;gap:10px}.sim-workbench>aside{padding-bottom:15px}.sim-workbench>aside>label{padding:9px 14px;display:block;color:var(--ink-subtle);font-size:7.5px}.sim-workbench label>span{display:flex;justify-content:space-between}.sim-workbench input,.sim-workbench select{width:100%;margin-top:5px;accent-color:var(--primary)}.sim-workbench>aside>.primary-button{width:calc(100% - 28px);margin:14px}.sim-result{margin-bottom:10px;padding:22px}.sim-result h2{margin:5px 0;font-size:14px}.sim-big{margin:20px 0}.sim-big strong{font-size:34px}.sim-big small{font-size:10px}.sim-big span{display:block;color:var(--ink-tertiary);font-size:8px}.sim-result>div:nth-of-type(2){display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.sim-result>div:nth-of-type(2) span{padding:8px;border:1px solid var(--hairline);border-radius:5px;color:var(--ink-tertiary);font-size:7px}.sim-result>div:nth-of-type(2) b{display:block;color:var(--ink-muted);font-size:9px}.sim-result>.primary-button{margin-top:15px}.scenario-radar{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.score-rings{padding:18px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.score-rings>div{--r:var(--score);background:radial-gradient(circle,#0f1011 58%,transparent 60%),conic-gradient(#747cd0 var(--score),#292a2e 0)}.score-rings strong,.score-rings span{display:block;text-align:center}.score-rings span{color:var(--ink-tertiary);font-size:7px}.constraint-list{padding:15px 24px}.constraint-list li{padding:8px;color:var(--ink-subtle);font-size:8px}.constraint-list b{float:right;color:#76c28a}.saving-report{display:grid;grid-template-columns:330px 1fr;gap:10px}.report-cover{padding:28px;background:#f2f3f3;color:#111}.report-cover>span{font-size:6px;letter-spacing:.12em}.report-cover h2{margin:15px 0 4px;font-size:20px}.report-cover p{color:#777;font-size:8px}.report-hero-number{margin:50px 0;text-align:center}.report-hero-number strong{display:block;font-size:48px}.report-hero-number span{color:#777;font-size:8px}.report-cover>div:nth-of-type(2){display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.report-cover>div span{padding:8px;border:1px solid #ddd;font-size:7px}.report-cover b{display:block}.saving-contribution{padding:15px}.saving-contribution>div{position:relative;margin:12px 0}.saving-contribution i{height:25px;display:block;background:#6770bc}.saving-contribution span,.saving-contribution strong{position:absolute;top:7px;font-size:7px}.saving-contribution span{left:8px}.saving-contribution strong{right:8px}
/* 알람·AI·리포트·설정 */
.rule-builder{display:grid;grid-template-columns:280px 1fr;gap:10px}.rule-builder aside,.rule-builder main{overflow:hidden}.rule-builder aside>button{width:100%;padding:10px;display:flex;justify-content:space-between;border:0;border-bottom:1px solid var(--hairline);background:transparent;text-align:left}.rule-builder aside>button.active{background:#1a1b22}.rule-builder aside strong,.rule-builder aside small{display:block}.rule-builder aside strong{color:var(--ink-muted);font-size:8px}.rule-builder aside small{color:var(--ink-tertiary);font-size:6.5px}.rule-flow{padding:20px}.rule-flow>div{padding:10px;display:flex;align-items:center;gap:8px;border:1px solid var(--hairline);border-radius:6px}.rule-flow>div>span{width:50px;color:#aeb5ed;font-size:7px;font-weight:650}.rule-flow select,.rule-flow input{height:30px;border:1px solid var(--hairline);background:#151619;color:var(--ink-subtle);font-size:7.5px}.rule-flow>i{padding:7px;display:block;color:var(--ink-tertiary);font-size:7px;font-style:normal}.rule-recovery{margin:0 20px;padding:12px;border-radius:6px;background:#141516}.rule-recovery h3{margin:0 0 7px;font-size:8px}.rule-recovery span{color:var(--ink-tertiary);font-size:7px}.rule-recovery input{width:45px}.rule-builder main>footer{padding:13px 20px;display:flex;justify-content:flex-end;gap:6px;border-top:1px solid var(--hairline)}.kanban{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.kanban>section>header{padding:8px;display:flex;justify-content:space-between;color:var(--ink-subtle);font-size:8px}.kanban>section>header b{padding:1px 5px;border-radius:5px;background:#25262a}.kanban article{margin-bottom:7px;padding:11px}.kanban article>small{color:var(--ink-tertiary);font:6.5px ui-monospace}.kanban h3{margin:7px 0 3px;font-size:9px}.kanban p{margin:0 0 10px;color:var(--ink-tertiary);font-size:7px}.kanban footer{display:flex;justify-content:space-between;align-items:center;color:var(--ink-tertiary);font-size:6.5px}.kanban>section>button{width:100%;padding:7px;border:1px dashed var(--hairline);background:transparent;color:var(--ink-tertiary);font-size:7px}.technician-board{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:10px}.tech-card{padding:13px}.tech-card header{display:grid;grid-template-columns:auto 1fr auto;gap:7px;align-items:center}.tech-card header strong,.tech-card header small{display:block}.tech-card header strong{font-size:8.5px}.tech-card header small{color:var(--ink-tertiary);font-size:6.5px}.workload{margin:14px 0;display:grid;grid-template-columns:auto 1fr auto;gap:6px;align-items:center;color:var(--ink-tertiary);font-size:7px}.workload>i{height:4px;background:#28292d}.workload b{height:100%;display:block;background:#737bc8}.tech-card p{color:var(--ink-tertiary);font-size:7px}.tech-card>button{width:100%;padding:6px;border:1px solid var(--hairline);border-radius:5px;background:#151619;color:var(--ink-subtle);font-size:7px}.action-timeline{padding:15px 20px}.action-timeline>div{min-height:56px;display:grid;grid-template-columns:50px auto 1fr;gap:10px}.action-timeline time{color:var(--ink-tertiary);font-size:7px}.action-timeline i{width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:#294131;color:#76c389;font-style:normal;font-size:7px}.action-timeline>div.active i{background:#403824;color:#d0b26d}.action-timeline strong,.action-timeline small{display:block}.action-timeline strong{font-size:8.5px}.action-timeline small{color:var(--ink-tertiary);font-size:7px}.action-form{padding:15px}.action-form label{display:block;margin-bottom:8px;color:var(--ink-tertiary);font-size:7px}.action-form textarea{height:70px}.attachment-toolbar{margin-bottom:10px;padding:9px;display:flex;gap:6px;border:1px solid var(--hairline);border-radius:7px}.attachment-toolbar select{height:32px;background:#151619;color:var(--ink-subtle);border:1px solid var(--hairline)}.attachment-toolbar button{margin-left:auto}.attachment-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.attachment-gallery article{padding:10px}.file-preview{height:120px;display:grid;place-items:center;border-radius:6px;background:#1d1f27;color:#8992dd;font-size:26px}.file-preview.thermal{background:linear-gradient(135deg,#232b54,#7d3d4a,#bd8a4f)}.file-preview.pdf{color:#d57d7d}.file-preview.sheet{color:#75bc8a}.attachment-gallery h3{margin:9px 0 2px;font-size:8.5px}.attachment-gallery p{margin:0;color:var(--ink-tertiary);font-size:6.5px}.attachment-gallery footer{margin-top:8px;display:flex;justify-content:space-between;color:var(--ink-tertiary);font-size:6.5px}.attachment-gallery footer button{border:0;background:transparent;color:var(--ink-subtle)}.recovery-header{margin-bottom:10px;padding:15px;display:grid;grid-template-columns:auto 1fr 220px;gap:12px;align-items:center}.recovery-header h2{margin:2px 0;font-size:12px}.recovery-header p,.recovery-header>div>span{margin:0;color:var(--ink-tertiary);font-size:7px}.recovery-progress>i{height:5px;display:block;background:#292a2e}.recovery-progress b{height:100%;display:block;background:#72bf87}.recovery-checklist{padding:14px}.recovery-checklist>label{padding:12px;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;border-bottom:1px solid var(--hairline)}.recovery-checklist>label>input{display:none}.recovery-checklist>label>i{width:24px;height:24px;display:grid;place-items:center;border:1px solid #3a3c42;border-radius:50%;color:var(--ink-tertiary);font-size:7px;font-style:normal}.recovery-checklist>label.done>i{border-color:#3f724c;background:#24392a;color:#77c18a}.recovery-checklist strong,.recovery-checklist small{display:block}.recovery-checklist strong{font-size:8.5px}.recovery-checklist small{color:var(--ink-tertiary);font-size:7px}.recovery-checklist footer{padding-top:12px;display:flex;gap:8px}.recovery-checklist textarea{flex:1;padding:8px;border:1px solid var(--hairline);background:#151619;color:var(--ink-subtle)}.gantt{padding:20px}.gantt>div{position:relative;height:35px;padding-top:8px;border-bottom:1px solid #25262a}.gantt>div span{font-size:7px}.gantt>div i{position:absolute;top:7px;height:18px;border-radius:4px;background:#626bb4}.gantt footer{display:flex;justify-content:space-between;color:var(--ink-tertiary);font-size:6.5px}
.question-library{display:grid;grid-template-columns:1fr 1fr;gap:10px}.question-library section{padding:15px}.question-cat{color:#838bd4;font:8px ui-monospace}.question-library h2{font-size:11px}.question-library button{width:100%;padding:9px 0;display:flex;justify-content:space-between;border:0;border-bottom:1px solid var(--hairline);background:transparent;color:var(--ink-subtle);font-size:8px;text-align:left}.ai-analysis-result{display:grid;grid-template-columns:1fr 240px;gap:10px}.ai-answer-doc{overflow:hidden}.ai-answer-doc>header{padding:17px;display:grid;grid-template-columns:auto 1fr auto;gap:10px;border-bottom:1px solid var(--hairline)}.ai-answer-doc header h2{margin:3px 0;font-size:14px}.ai-answer-doc header p,.ai-answer-doc header div>span{margin:0;color:var(--ink-tertiary);font-size:7px}.ai-answer-doc>article{padding:18px}.ai-answer-doc h3{margin:14px 0 6px;font-size:9px}.ai-answer-doc p{color:var(--ink-subtle);font-size:9px;line-height:1.7}.evidence-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.evidence-metrics span{padding:9px;border:1px solid var(--hairline);color:var(--ink-tertiary);font-size:7px}.evidence-metrics b{display:block;color:var(--ink-muted);font-size:10px}.ai-answer-doc>footer{padding:12px 18px;display:flex;justify-content:flex-end;gap:6px;border-top:1px solid var(--hairline)}.evidence-panel{padding:15px}.evidence-panel h3{font-size:9px}.evidence-panel>div{padding:8px 0;display:flex;justify-content:space-between;border-bottom:1px solid var(--hairline);font-size:7.5px}.evidence-panel>div span{color:var(--ink-tertiary)}.evidence-panel p{color:var(--ink-tertiary);font-size:7.5px;line-height:1.6}.cause-head{margin-bottom:10px;padding:14px;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}.cause-head h2{margin:2px 0;font-size:12px}.cause-head p,.cause-head div>span{margin:0;color:var(--ink-tertiary);font-size:7px}.cause-tree{position:relative;margin-bottom:10px;padding:25px}.cause-tree .root{width:max-content;margin:auto;padding:11px 20px;border:1px solid #704044;border-radius:6px;background:#271719;color:#dc8282;font-size:9px}.cause-lines{height:40px}.causes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.causes article{padding:13px;border:1px solid var(--hairline);border-radius:7px}.causes article.likely{border-color:#5a4c2e;background:rgba(200,165,90,.04)}.causes span{color:#c6a861;font-size:7px}.causes h3{margin:5px 0;font-size:9px}.causes p{margin:0;color:var(--ink-tertiary);font-size:7px}.recommendation-page{display:grid;grid-template-columns:1fr 250px;gap:10px}.recommendation-list{display:grid;gap:8px}.recommendation-list article{padding:13px;display:grid;grid-template-columns:auto 1fr 100px auto;gap:10px;align-items:center}.priority{width:28px;height:28px;display:grid;place-items:center;border-radius:6px;background:#4a2b2e;color:#da8080;font-size:7px}.priority.p2{background:#493e26;color:#d0b270}.priority.p3,.priority.p4{background:#252735;color:#abb1e6}.recommendation-list h3{margin:0;font-size:9px}.recommendation-list p{margin:3px 0;color:var(--ink-tertiary);font-size:7px}.recommendation-list dl{margin:0}.recommendation-list dt{color:var(--ink-tertiary);font-size:6.5px}.recommendation-list dd{margin:2px 0;font-size:8px}.recommendation-list button{border:0;background:transparent;color:#a7aee9;font-size:7px}.safety-boundary{padding:18px}.safety-boundary>span{width:30px;height:30px;display:grid;place-items:center;border-radius:7px;background:rgba(200,165,90,.1);color:#d0b16e}.safety-boundary h3{font-size:10px}.safety-boundary p,.safety-boundary ol{color:var(--ink-tertiary);font-size:7.5px;line-height:1.8}.ai-report-editor{display:grid;grid-template-columns:220px 1fr;gap:10px}.report-outline{padding:10px}.report-outline>button{width:100%;padding:9px;display:grid;grid-template-columns:auto 1fr auto;border:0;border-radius:4px;background:transparent;color:var(--ink-tertiary);font-size:7.5px;text-align:left}.report-outline>button.active{background:#1b1d27;color:#b7bced}.ai-editor{overflow:hidden}.ai-editor>header,.ai-editor>footer{padding:13px 16px;display:flex;justify-content:space-between;border-bottom:1px solid var(--hairline)}.ai-editor header h2{margin:3px 0;font-size:12px}.ai-editor article{min-height:430px;padding:24px;outline:0;color:var(--ink-subtle);font-size:8.5px;line-height:1.8}.ai-editor article h2{font-size:11px}.ai-editor>footer{border-top:1px solid var(--hairline);border-bottom:0;color:var(--ink-tertiary);font-size:7px}.history-filter{margin-bottom:10px;padding:8px;display:flex;gap:6px;border:1px solid var(--hairline);border-radius:7px}.history-filter input,.history-filter select{height:32px;padding:0 8px;border:1px solid var(--hairline);background:#141516;color:var(--ink-subtle)}.history-list{display:grid;gap:7px}.history-list>button{padding:13px;display:grid;grid-template-columns:auto 1fr auto;gap:9px;text-align:left}.history-list h3{margin:0;font-size:9px}.history-list p,.history-list small{margin:2px 0;color:var(--ink-tertiary);font-size:7px}.usage-columns i{width:100%;background:#6871bf}
/* 리포트·권한·설정·모바일 */
.report-toolbar{margin-bottom:10px;padding:14px;display:flex;align-items:center;gap:6px;border:1px solid var(--hairline);border-radius:8px;background:#0b0c0d}.report-toolbar>div{flex:1}.report-toolbar h2{margin:3px 0;font-size:13px}.report-toolbar input{height:32px;background:#141516;color:var(--ink-subtle);border:1px solid var(--hairline)}.daily-summary{padding:17px}.daily-summary p{color:var(--ink-subtle);font-size:9px;line-height:1.8}.daily-summary ul{padding-left:16px;color:var(--ink-tertiary);font-size:7.5px;line-height:1.9}.week-picker{margin-bottom:10px;padding:12px;display:flex;justify-content:center;gap:25px;align-items:center;border:1px solid var(--hairline);border-radius:8px}.week-picker button{border:0;background:transparent;color:var(--ink-subtle)}.week-picker span,.week-picker strong{display:block;text-align:center}.week-picker span{color:#aeb5ed;font-size:7px}.week-picker strong{font-size:10px}.weekly-score{padding:20px;display:grid;grid-template-columns:repeat(5,1fr);gap:15px}.weekly-score>div{text-align:center}.weekly-score>div>div{width:80px;height:80px;margin:auto;display:grid;place-content:center;border-radius:50%;background:radial-gradient(circle,#0f1011 58%,transparent 60%),conic-gradient(#747cd0 var(--score),#292a2e 0)}.weekly-score span,.weekly-score em{display:block}.weekly-score span{margin-top:7px;font-size:8px}.weekly-score em{color:#73be86;font-size:7px;font-style:normal}.week-columns,.monthly-bars{height:280px;padding:25px;display:flex;align-items:flex-end;gap:10px}.week-columns>div,.monthly-bars>div{position:relative;flex:1;height:100%;display:flex;align-items:flex-end;gap:3px}.week-columns i,.week-columns b{width:50%}.week-columns i,.monthly-bars i{background:#6972c3}.week-columns b{background:#3c5f69}.week-columns em{position:absolute;top:10px;right:2px;width:17px;height:17px;display:grid;place-items:center;border-radius:50%;background:#4f3032;color:#d88484;font-size:6px;font-style:normal}.week-columns span,.monthly-bars span{position:absolute;bottom:-17px;left:50%;color:var(--ink-tertiary);font-size:6.5px;transform:translateX(-50%)}.month-cover{padding:36px;text-align:center}.month-cover>span{color:var(--ink-tertiary);font-size:7px;letter-spacing:.15em}.month-cover h2{font-size:24px}.month-cover p{color:var(--ink-tertiary);font-size:8px}.executive-score{width:130px;height:130px;margin:30px auto;display:grid;place-content:center;border:8px solid #6e76c4;border-radius:50%}.executive-score strong,.executive-score span{display:block}.executive-score strong{font-size:30px}.executive-score span{color:var(--ink-tertiary);font-size:7px}.monthly-chapters{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:10px}.monthly-chapters button{padding:15px;display:grid;grid-template-columns:auto 1fr;gap:9px;text-align:left}.monthly-chapters>button>span{color:#8992dd;font:10px ui-monospace}.monthly-chapters h3{margin:0;font-size:8.5px}.monthly-chapters p{color:var(--ink-tertiary);font-size:6.5px}.site-report-builder{display:grid;grid-template-columns:250px 1fr;gap:10px}.site-report-builder>aside{padding:17px}.site-report-builder aside h2{font-size:12px}.site-report-builder aside>label{margin:10px 0;display:block;color:var(--ink-tertiary);font-size:7px}.site-report-builder select,.site-report-builder input{width:100%;height:32px;margin-top:4px;background:#151619;color:var(--ink-subtle);border:1px solid var(--hairline)}.site-report-builder label.check{display:flex;gap:5px}.site-report-preview{padding:30px;background:#f4f5f5;color:#111}.site-report-preview>header{display:flex;justify-content:space-between;font-size:7px}.preview-title{margin:45px 0}.preview-title h2{font-size:24px}.preview-title p{color:#777}.preview-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.preview-kpis span{padding:10px;border:1px solid #ddd;font-size:7px}.preview-kpis b{display:block;font-size:12px}.site-report-preview .sp-line-chart g line{stroke:#ddd}.site-report-preview .sp-line-chart .one{stroke:#4e5bb1}.severity-legend{padding:10px;display:grid;grid-template-columns:1fr 1fr;gap:6px;color:var(--ink-tertiary);font-size:7px}.mv-hero{margin-bottom:10px;padding:28px;text-align:center}.mv-hero>span{color:var(--ink-tertiary);font-size:7px}.mv-hero h2{font-size:18px}.mv-hero>div strong{font-size:40px}.mv-hero>div small{font-size:10px}.mv-hero>div span{display:block;color:var(--ink-tertiary);font-size:8px}.mv-hero p{color:#75bf88;font-size:7px}.cert-checks{padding:15px}.cert-checks>div{padding:9px;display:flex;justify-content:space-between;border-bottom:1px solid var(--hairline);color:var(--ink-subtle);font-size:8px}.control-funnel{padding:25px}.control-funnel>div{height:34px;margin:4px auto;display:grid;place-items:center;background:linear-gradient(90deg,#353956,#646db5,#353956);clip-path:polygon(5% 0,95% 0,100% 100%,0 100%);font-size:8px}.export-create{margin-bottom:10px;padding:22px;display:grid;grid-template-columns:260px 1fr;gap:30px}.export-icon{width:45px;height:45px;display:grid;place-items:center;border-radius:10px;background:#232637;color:#aeb5ed;font-size:20px}.export-create h2{font-size:16px}.export-create p{color:var(--ink-tertiary);font-size:8px}.export-create form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.export-create form label{color:var(--ink-tertiary);font-size:7px}.export-create form select,.export-create form input{width:100%;height:32px;margin-top:4px;background:#151619;color:var(--ink-subtle);border:1px solid var(--hairline)}.export-create form .wide{grid-column:1/-1}.file-estimate{height:28px;margin-top:4px;position:relative;background:#202125}.file-estimate i{height:100%;display:block;background:#34395c}.file-estimate span{position:absolute;left:8px;top:7px;font-size:7px}.export-create form button{grid-column:1/-1}
.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.role-grid article{padding:14px}.role-grid header,.role-grid footer{display:flex;justify-content:space-between}.role-symbol{width:26px;height:26px;display:grid;place-items:center;border-radius:6px;background:#242637;color:#adb4ed}.role-grid header button,.role-grid footer button{border:0;background:transparent;color:var(--ink-tertiary);font-size:7px}.role-grid h3{margin:12px 0 3px;font-size:10px}.role-grid p{color:var(--ink-tertiary);font-size:7px}.role-scope{height:4px;margin:14px 0;background:#28292d}.role-scope i{height:100%;display:block;background:#737bc8}.role-grid footer{color:var(--ink-tertiary);font-size:7px}.permission-matrix{overflow:auto}.permission-matrix table{width:100%;min-width:850px;border-collapse:collapse}.permission-matrix th,.permission-matrix td{padding:8px;border-bottom:1px solid var(--hairline);font-size:7px}.permission-matrix th{color:var(--ink-tertiary)}.permission-matrix select{height:26px;background:#151619;color:var(--ink-subtle);border:1px solid var(--hairline);font-size:6.5px}.site-access{display:grid;grid-template-columns:220px 1fr;gap:10px}.user-selector{padding:10px}.user-selector h3{font-size:8px}.user-selector button{width:100%;padding:8px;display:flex;gap:7px;border:0;border-radius:5px;background:transparent;text-align:left}.user-selector button.active{background:#1b1d26}.user-selector strong,.user-selector small{display:block}.user-selector strong{color:var(--ink-muted);font-size:8px}.user-selector small{color:var(--ink-tertiary);font-size:6.5px}.access-map-list{padding:12px}.access-map-list>label{padding:9px;display:grid;grid-template-columns:auto auto 1fr 90px;gap:8px;align-items:center;border-bottom:1px solid var(--hairline)}.access-map-list>label>i{width:26px;height:26px;border-radius:6px;background:#232536}.access-map-list strong,.access-map-list small{display:block}.access-map-list strong{font-size:8px}.access-map-list small{color:var(--ink-tertiary);font-size:6.5px}.access-map-list select{height:27px;background:#151619;color:var(--ink-subtle);border:1px solid var(--hairline)}.approval-limits{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.policy-list{padding:12px}.policy-list label{padding:9px;display:flex;justify-content:space-between;border-bottom:1px solid var(--hairline);color:var(--ink-subtle);font-size:8px}.policy-list label>input{display:none}.policy-list label>i{width:28px;height:16px;border-radius:9px;background:var(--primary)}.delegation{padding:25px}.delegation span,.delegation small{display:block}.delegation span{font-size:11px}.delegation small{color:var(--ink-tertiary);font-size:7px}.delegation button{margin-top:15px;padding:6px;border:1px solid var(--hairline);background:#151619;color:var(--ink-subtle)}
.tenant-grid,.type-cards,.template-list{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.tenant-grid article,.type-cards article,.template-list article{padding:14px}.tenant-grid header,.type-cards footer,.template-list header,.template-list footer{display:flex;justify-content:space-between}.tenant-grid header>span{width:30px;height:30px;display:grid;place-items:center;border-radius:7px;background:#232637;color:#adb4eb}.tenant-grid h3,.type-cards h3,.template-list h3{margin:12px 0 2px;font-size:9.5px}.tenant-grid p,.type-cards p,.template-list p{color:var(--ink-tertiary);font-size:7px}.tenant-grid dl{display:grid;grid-template-columns:1fr 1fr}.tenant-grid dt{color:var(--ink-tertiary);font-size:6.5px}.tenant-grid dd{margin:2px 0;font-size:8px}.tenant-grid article>button,.type-cards footer button,.template-list footer button{border:0;background:transparent;color:#a4abe5;font-size:7px}.code-manager,.tariff-settings{display:grid;grid-template-columns:220px 1fr;gap:10px}.code-tree,.tariff-list{padding:10px}.code-tree h3,.tariff-list h3{font-size:8px}.code-tree button,.tariff-list button{width:100%;padding:8px;display:flex;justify-content:space-between;border:0;border-radius:4px;background:transparent;color:var(--ink-tertiary);font-size:7.5px}.code-tree button.active,.tariff-list button.active{background:#1b1d26;color:var(--ink)}.type-cards{grid-template-columns:repeat(5,1fr)}.type-cards article{text-align:center}.type-cards .type-icon{margin:auto}.type-cards footer{margin-top:12px;padding-top:8px;border-top:1px solid var(--hairline)}.template-doc{width:30px;height:30px;display:grid;place-items:center;border-radius:6px;background:#232536;color:#adb4eb}.deploy-impact{padding:20px;display:flex;align-items:center;gap:30px}.deploy-impact span{color:var(--ink-tertiary);font-size:7px}.deploy-impact b{display:block;color:var(--ink-muted);font-size:11px}.deploy-impact button{margin-left:auto}.tariff-editor{overflow:hidden}.season-tabs{padding:10px 15px;display:flex;gap:4px}.season-tabs button{padding:6px 10px;border:1px solid var(--hairline);border-radius:5px;background:#151619;color:var(--ink-tertiary);font-size:7px}.season-tabs button.active{border-color:#50578c;color:#b8bded}.tariff-editor-note{padding:12px;color:var(--ink-tertiary);font-size:7px}.criteria-grid{padding:15px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.criteria-grid>div{padding:12px;border:1px solid var(--hairline);border-radius:6px}.criteria-grid strong{display:block;font-size:8.5px}.criteria-grid>div>span{color:var(--ink-tertiary);font-size:6px}.criteria-grid label{margin:8px 4px 0;display:inline-block;color:var(--ink-tertiary);font-size:7px}.criteria-grid input{width:50px;height:27px;margin-left:4px;background:#151619;border:1px solid var(--hairline);color:var(--ink)}.criteria-grid button{float:right;margin-top:7px;border:0;background:transparent;color:#a6ade8;font-size:7px}.override-note{margin-top:10px;padding:13px;display:flex;align-items:center;gap:15px}.override-note strong{font-size:8px}.override-note button{margin-left:auto}.model-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:10px}.model-selector>button{padding:13px;display:grid;grid-template-columns:auto 1fr auto;gap:9px;text-align:left}.model-selector>button.active{border-color:#51588d}.model-selector h3{margin:0;font-size:9px}.model-selector p{margin:3px 0;color:var(--ink-tertiary);font-size:7px}.api-list{display:grid;gap:7px}.api-list article{padding:12px;display:grid;grid-template-columns:auto 1fr auto 70px auto;gap:10px;align-items:center}.api-method{padding:4px;border-radius:4px;background:#222536;color:#aeb5ec;font:6px ui-monospace}.api-list h3{margin:0;font-size:8.5px}.api-list p{margin:2px 0;color:var(--ink-tertiary);font-size:7px}.api-list>article>strong{font-size:8px}.api-list button{border:0;background:transparent;color:#a6ade8;font-size:7px}.api-add{margin-top:10px}.ev-link{margin-bottom:10px;padding:30px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center}.platform-box{text-align:center}.platform-box>span{width:50px;height:50px;margin:auto;display:grid;place-items:center;border-radius:12px;background:#25283a;color:#adb4ec;font-size:17px}.platform-box.flux>span{background:var(--primary);color:white}.platform-box h3{margin:9px 0 2px;font-size:9px}.platform-box p{margin:0;color:var(--ink-tertiary);font-size:7px}.link-flow{text-align:center}.link-flow i{height:2px;display:block;background:linear-gradient(90deg,#343743,#7981d3,#343743)}.link-flow strong,.link-flow span{display:block}.link-flow strong{margin:7px;font-size:8px}.link-flow span{color:var(--ink-tertiary);font-size:6.5px}.sync-policies{padding:15px}.sync-policies label{margin:8px 0;display:grid;grid-template-columns:120px 1fr;color:var(--ink-tertiary);font-size:7.5px}.sync-policies select{height:30px;background:#151619;color:var(--ink-subtle);border:1px solid var(--hairline)}
.mobile-specific{min-height:670px;padding:25px;display:flex;align-items:center;justify-content:center;gap:70px;border:1px solid var(--hairline);border-radius:10px;background:#0b0c0d}.sp-phone header{justify-content:space-between}.sp-phone header>strong{font-size:9px}.sp-phone header>button{border:0;background:transparent;color:var(--ink-subtle)}.sp-phone main{height:488px}.mobile-specific>aside{max-width:330px}.mobile-specific>aside h2{font-size:25px}.mobile-specific>aside p{color:var(--ink-subtle);font-size:10px;line-height:1.8}.m-greeting{color:var(--ink-tertiary);font-size:8px}.m-greeting strong{display:block;margin-top:4px;color:var(--ink);font-size:13px}.m-summary{margin:14px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.m-summary span{padding:8px;border:1px solid var(--hairline);border-radius:6px;color:var(--ink-tertiary);font-size:6.5px}.m-summary b{display:block;color:var(--ink);font-size:14px}.sp-phone main h3{font-size:8px}.m-card,.m-task,.m-history{width:100%;padding:8px 4px;display:grid;grid-template-columns:auto 1fr auto;gap:7px;align-items:center;border:0;border-bottom:1px solid var(--hairline);background:transparent;text-align:left}.m-card>i{width:27px;height:27px;display:grid;place-items:center;border-radius:6px;background:#392326;color:#d77e7e;font-size:6px;font-style:normal}.m-card strong,.m-card small,.m-task strong,.m-task small,.m-history strong,.m-history small{display:block}.m-card strong,.m-task strong,.m-history strong{color:var(--ink-muted);font-size:7.5px}.m-card small,.m-task small,.m-history small{color:var(--ink-tertiary);font-size:6.5px}.m-search{padding:8px;border:1px solid var(--hairline);border-radius:6px;color:var(--ink-tertiary);font-size:7px}.m-site-card{width:100%;margin-top:7px;padding:9px;border:1px solid var(--hairline);border-radius:7px;background:#141516;text-align:left}.m-site-card header,.m-site-card footer{display:flex;justify-content:space-between}.m-site-card header strong{font-size:8px}.m-site-card>div{margin:9px 0;display:grid;grid-template-columns:repeat(3,1fr)}.m-site-card>div span{color:var(--ink-tertiary);font-size:6px}.m-site-card>div b{display:block;color:var(--ink-muted);font-size:7px}.m-site-card footer{color:var(--ink-tertiary);font-size:6.5px}.m-filter{display:flex;gap:4px}.m-filter button{padding:6px;border:1px solid var(--hairline);border-radius:5px;background:transparent;color:var(--ink-tertiary);font-size:7px}.m-filter button.active{background:#252737;color:#b8bdef}.m-alarm,.m-approval{margin-top:7px;padding:10px;border:1px solid var(--hairline);border-radius:7px;background:#141516}.m-alarm{width:100%;text-align:left}.m-alarm header,.m-alarm footer,.m-approval header,.m-approval footer{display:flex;justify-content:space-between}.m-alarm time{color:var(--ink-tertiary);font-size:6px}.m-alarm h3,.m-approval h3{margin:8px 0 2px;font-size:8px}.m-alarm p,.m-approval p{margin:0;color:var(--ink-tertiary);font-size:6.5px}.m-alarm footer{margin-top:9px;color:var(--ink-tertiary);font-size:6.5px}.m-alarm footer b{color:#aab1ea}.m-approval-head{display:flex;justify-content:space-between}.m-approval-head span{color:var(--ink-tertiary);font-size:7px}.m-approval-head strong{font-size:13px}.m-approval dl{display:grid;grid-template-columns:1fr 1fr}.m-approval dt{color:var(--ink-tertiary);font-size:6px}.m-approval dd{margin:2px 0;font-size:7px}.m-approval footer button{width:48%;padding:6px;border:1px solid var(--hairline);border-radius:5px;background:#18191c;color:var(--ink-subtle);font-size:7px}.m-approval footer button:last-child{background:var(--primary);color:white}.m-date{padding:8px;border-radius:6px;background:#1a1b22;color:var(--ink-subtle);font-size:7px}.m-date strong{float:right}.m-task time{color:#aeb5ed;font-size:7px}.m-task>i{width:7px;height:7px;border-radius:50%;background:#737bc8}.m-fixed-action{position:sticky;bottom:0;width:100%;padding:9px;border:0;border-radius:6px;background:var(--primary);color:white;font-size:7.5px}.m-calendar-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.m-calendar-strip button{padding:5px;border:0;border-radius:5px;background:transparent;color:var(--ink-tertiary);font-size:6px}.m-calendar-strip button.active{background:var(--primary);color:white}.m-calendar-strip span,.m-calendar-strip b{display:block}.m-history>i{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#22382a;color:#74c087;font-style:normal}.m-history em{color:var(--ink-tertiary);font-size:6px;font-style:normal}.m-ai-intro{text-align:center}.m-ai-intro .ai-small-mark{margin:auto}.m-ai-intro h3{margin:7px 0 2px}.m-ai-intro p{color:var(--ink-tertiary);font-size:7px}.m-ai-message{margin:18px 0 8px;padding:10px;border:1px solid var(--hairline);border-radius:3px 8px 8px;background:#17181b;color:var(--ink-subtle);font-size:7.5px}.m-ai-chip{margin:3px;padding:5px;border:1px solid var(--hairline);border-radius:5px;background:transparent;color:var(--ink-tertiary);font-size:6.5px}.m-ai-input{position:absolute;left:15px;right:15px;bottom:65px;padding:9px;border:1px solid var(--hairline);border-radius:7px;color:var(--ink-tertiary);font-size:7px}.m-ai-input button{float:right;border:0;border-radius:50%;background:var(--primary);color:white}.m-profile{text-align:center}.m-profile .manager-avatar{margin:auto}.m-profile h3{margin:8px 0 2px}.m-profile p{color:var(--ink-tertiary);font-size:7px}.m-profile-list{margin-top:18px}.m-profile-list button{width:100%;padding:10px 4px;display:flex;justify-content:space-between;border:0;border-bottom:1px solid var(--hairline);background:transparent;color:var(--ink-subtle);font-size:7.5px}.m-profile-list strong{color:var(--ink-tertiary);font-weight:400}.result-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.result-cards article{padding:14px}.result-cards header,.result-cards footer{display:flex;justify-content:space-between}.result-cards header>span{font:7px ui-monospace;color:var(--ink-tertiary)}.result-cards h3{margin:12px 0 3px;font-size:9px}.result-cards p{margin:0;color:var(--ink-tertiary);font-size:7px}.execution-steps{margin:14px 0;display:flex}.execution-steps i{padding:5px;flex:1;background:#24252a;color:var(--ink-tertiary);font-size:6px;font-style:normal;text-align:center}.execution-steps i.done{background:#22372a;color:#75bf87}.execution-steps i.bad{background:#42282a;color:#d47d7d}.result-cards footer{color:var(--ink-tertiary);font-size:6.5px}.result-cards footer button{border:0;background:transparent;color:#a6ade8;font-size:7px}
@media(max-width:1150px){.sp-kpis{grid-template-columns:repeat(2,1fr)}.manager-grid,.gateway-grid,.tenant-grid,.template-list{grid-template-columns:repeat(2,1fr)}.protocol-cards,.type-cards{grid-template-columns:repeat(3,1fr)}.site-monitor-grid,.gateway-health-grid,.attachment-gallery{grid-template-columns:repeat(2,1fr)}.charger-grid{grid-template-columns:repeat(8,1fr)}.rack-grid{grid-template-columns:repeat(8,1fr)}.monthly-chapters{grid-template-columns:repeat(3,1fr)}}
@media(max-width:850px){.sp-split,.sp-split.wide,.maintenance-page,.rule-builder,.ai-analysis-result,.recommendation-page,.ai-report-editor,.site-report-builder,.saving-report,.code-manager,.tariff-settings,.site-access,.sim-workbench,.chart-builder,.mapping-workbench,.schema-builder,.export-create{grid-template-columns:1fr}.maintenance-list,.rule-builder>aside,.report-outline,.user-selector,.code-tree,.tariff-list{max-height:260px;overflow:auto}.manager-grid,.gateway-grid,.technician-board,.kanban,.role-grid{grid-template-columns:repeat(2,1fr)}.protocol-cards,.type-cards{grid-template-columns:repeat(2,1fr)}.inverter-grid{grid-template-columns:repeat(4,1fr)}.rack-grid{grid-template-columns:repeat(6,1fr)}.charger-grid{grid-template-columns:repeat(6,1fr)}.monthly-chapters{grid-template-columns:1fr 1fr}.saving-report{display:block}.report-cover{margin-bottom:10px}.mobile-specific{gap:30px}.mobile-specific>aside{display:none}}
@media(max-width:560px){.sp-kpis{grid-template-columns:1fr 1fr}.manager-grid,.gateway-grid,.technician-board,.role-grid,.tenant-grid,.template-list,.site-monitor-grid,.gateway-health-grid,.attachment-gallery,.question-library,.causes,.result-cards{grid-template-columns:1fr}.protocol-cards,.type-cards{grid-template-columns:1fr 1fr}.unit-grid,.threshold-fields,.criteria-grid{grid-template-columns:1fr 1fr}.inverter-grid,.charger-grid{grid-template-columns:repeat(4,1fr)}.rack-grid{grid-template-columns:repeat(4,1fr)}.sp-filterbar{flex-wrap:wrap}.sp-filterbar select{width:100%}.peak-hero{grid-template-columns:1fr;text-align:center}.peak-hero>div:last-child{text-align:center}.workflow-steps{overflow:auto}.weekly-score{grid-template-columns:repeat(2,1fr)}.monthly-chapters{grid-template-columns:1fr}.sim-result>div:nth-of-type(2){grid-template-columns:1fr 1fr}.scenario-radar,.approval-limits{grid-template-columns:1fr}.ev-link{grid-template-columns:1fr;gap:20px}.link-flow{transform:rotate(90deg)}.mobile-specific{padding:10px}.sp-phone{width:290px}}

/* 전용 실시간 알람 및 제어 상태 화면 */
.alarm-command{display:grid;grid-template-columns:minmax(0,.85fr) minmax(380px,1.15fr);gap:10px}.live-alarm-feed,.alarm-focus{overflow:hidden}.live-alarm-feed>button{width:100%;padding:11px 13px;display:grid;grid-template-columns:auto 1fr auto auto;gap:8px;align-items:center;border:0;border-bottom:1px solid var(--hairline);background:transparent;text-align:left}.live-alarm-feed>button.selected{background:#18191e}.alarm-pulse{width:7px;height:7px;border-radius:50%;background:var(--danger);box-shadow:0 0 0 4px rgba(216,106,106,.1)}.live-alarm-feed strong,.live-alarm-feed small{display:block}.live-alarm-feed strong{color:var(--ink-muted);font-size:8.5px}.live-alarm-feed small{color:var(--ink-tertiary);font-size:6.5px}.live-alarm-feed time{color:var(--ink-tertiary);font-size:6.5px}.alarm-focus{padding:18px}.alarm-focus header{display:flex;justify-content:space-between}.alarm-focus header>span{font:7px ui-monospace;color:var(--ink-tertiary)}.alarm-focus h2{margin:14px 0 3px;font-size:13px}.alarm-focus>p{margin:0;color:var(--ink-tertiary);font-size:7px}.focus-value{margin:20px 0;display:flex;align-items:end;justify-content:space-between}.focus-value strong{font-size:32px}.focus-value small{font-size:10px;color:var(--ink-tertiary)}.focus-value span{color:#d17a7a;font-size:7px}.alarm-focus .sp-line-chart{padding:0}.alarm-focus .sp-line-chart svg{height:140px}.alarm-focus footer{display:flex;justify-content:flex-end;gap:6px}
.approval-inbox{display:grid;grid-template-columns:300px 1fr;gap:10px}.approval-inbox>aside,.approval-review{overflow:hidden}.approval-inbox>aside>button{width:100%;padding:11px;border:0;border-bottom:1px solid var(--hairline);background:transparent;text-align:left}.approval-inbox>aside>button.active{background:#1a1b22}.approval-inbox>aside header,.approval-inbox>aside footer{display:flex;justify-content:space-between}.approval-inbox>aside header>span{font:7px ui-monospace;color:var(--ink-tertiary)}.approval-inbox>aside h3{margin:8px 0 2px;font-size:8.5px}.approval-inbox>aside p,.approval-inbox>aside footer{margin:0;color:var(--ink-tertiary);font-size:6.5px}.approval-review>header{padding:16px;display:flex;justify-content:space-between;border-bottom:1px solid var(--hairline)}.approval-review header h2{margin:3px 0;font-size:13px}.approval-review header p,.approval-review header div>span{margin:0;color:var(--ink-tertiary);font-size:7px}.approval-impact{padding:12px 16px;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.approval-impact span{padding:8px;border:1px solid var(--hairline);border-radius:5px;color:var(--ink-tertiary);font-size:7px}.approval-impact b{display:block;color:var(--ink-muted);font-size:9px}.approval-review .sp-panel{margin:0 16px}.approval-review .sp-line-chart svg{height:135px}.approval-safety{padding:12px 16px}.approval-safety h3{font-size:8px}.approval-safety label{margin-right:12px;color:#78bf89;font-size:7px}.approval-review>footer{padding:13px 16px;display:grid;grid-template-columns:1fr auto auto;gap:6px;border-top:1px solid var(--hairline)}.approval-review textarea{padding:8px;border:1px solid var(--hairline);border-radius:5px;background:#151619;color:var(--ink-subtle);font-size:7px}
.execution-schedule{margin-bottom:10px;padding-bottom:15px;overflow:hidden}.schedule-axis{margin:12px 20px 0 150px;display:flex;justify-content:space-between;color:var(--ink-tertiary);font-size:6px}.schedule-row{position:relative;height:40px;margin:0 20px;padding-top:11px;border-bottom:1px solid #25262a}.schedule-row>span{font-size:7px}.schedule-row i{position:absolute;top:10px;height:19px;border-radius:4px;background:#6971bf}.schedule-row i.success{background:#386348}.schedule-row i.pending{background:#71603a}.reject-reasons{padding:15px}.reject-reasons>div{display:grid;grid-template-columns:120px 1fr 35px;gap:7px;align-items:center;margin:12px 0}.reject-reasons span,.reject-reasons strong{font-size:7px}.reject-reasons i{height:6px;background:#6d5d37}.full-action{width:calc(100% - 32px);margin:15px 16px;justify-content:center}.failure-diagnostics{display:grid;grid-template-columns:1fr 1fr;gap:10px}.failure-diagnostics article{padding:15px}.failure-diagnostics header,.failure-diagnostics footer{display:flex;justify-content:space-between}.failure-diagnostics header>span{font:7px ui-monospace;color:var(--ink-tertiary)}.failure-diagnostics h3{margin:12px 0 2px;font-size:10px}.failure-diagnostics>article>p{margin:0;color:var(--ink-tertiary);font-size:7px}.error-code{margin:14px 0;padding:10px;border:1px solid #583234;border-radius:5px;background:#211416}.error-code span,.error-code strong{display:block}.error-code span{color:#d47d7d;font:7px ui-monospace}.error-code strong{margin-top:4px;font-size:8px}.failure-diagnostics ol{padding-left:20px;color:var(--ink-tertiary);font-size:7px;line-height:2}.failure-diagnostics li.done{color:#71bd84}.failure-diagnostics li.bad{color:#d37b7b}.failure-diagnostics footer{gap:6px}.failure-diagnostics footer button{flex:1;justify-content:center}
@media(max-width:850px){.alarm-command,.approval-inbox{grid-template-columns:1fr}.approval-inbox>aside{max-height:260px;overflow:auto}}
@media(max-width:560px){.failure-diagnostics{grid-template-columns:1fr}.approval-impact{grid-template-columns:1fr 1fr}.approval-review>footer{grid-template-columns:1fr 1fr}.approval-review textarea{grid-column:1/-1}}
.audit-investigator{display:grid;grid-template-columns:190px 1fr;gap:10px}.audit-investigator>aside{padding:10px}.audit-investigator aside h3{font-size:8px}.audit-investigator aside button{width:100%;padding:8px;display:flex;justify-content:space-between;border:0;border-radius:4px;background:transparent;color:var(--ink-tertiary);font-size:7.5px}.audit-investigator aside button.active{background:#1b1d26;color:var(--ink)}.audit-investigator aside b{font-weight:500}.service-health{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:10px}.service-health article{padding:12px;display:grid;grid-template-columns:auto 1fr;gap:6px;align-items:center}.service-dot{width:7px;height:7px;border-radius:50%;background:var(--success)}.service-health h3{margin:0;font-size:8px}.service-health p{margin:2px 0;color:var(--ink-tertiary);font-size:6.5px}.service-health>article>strong{font-size:8px}.log-console{overflow:hidden}.log-console header{padding:9px;display:flex;gap:4px;border-bottom:1px solid var(--hairline)}.log-console header button,.log-console header input{height:28px;border:1px solid var(--hairline);border-radius:4px;background:#141516;color:var(--ink-tertiary);font-size:6.5px}.log-console header button.active{color:#b7bced;border-color:#4c5281}.log-console header input{margin-left:auto;width:220px;padding:0 8px}.log-console pre{min-height:320px;margin:0;padding:18px;display:grid;gap:8px;overflow:auto;background:#090a0b;color:#7cbe8e;font:7.5px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace}.log-console pre span.warn{color:#cbae6b}.log-console pre span.error{color:#d17b7b}@media(max-width:850px){.audit-investigator{grid-template-columns:1fr}.service-health{grid-template-columns:repeat(2,1fr)}}

/* 통합 모니터링 · 실시간 에너지 커맨드 */
.integrated-command{--pv:#8e97ee;--ess:#67b9a1;--ev:#d6a65f;--meter:#8ea8c9;display:grid;gap:10px}.integrated-command button{font-family:inherit}.command-ribbon{min-height:48px;padding:0 14px;display:grid;grid-template-columns:auto auto 1fr auto;gap:20px;align-items:center}.command-scope,.command-live,.command-ribbon-metrics{display:flex;align-items:center}.scope-mark{width:26px;height:26px;margin-right:8px;display:grid;place-items:center;border:1px solid #454b7a;border-radius:7px;background:#20233a;color:#c8ccff;font-size:10px;font-weight:700}.command-scope div span,.command-scope div strong{display:block}.command-scope div span{color:var(--ink-tertiary);font-size:6.5px}.command-scope div strong{margin-top:2px;color:var(--ink-muted);font-size:8px}.command-live{gap:6px;padding:5px 8px;border:1px solid #294334;border-radius:5px;background:#101713}.command-live>i{width:5px;height:5px;border-radius:50%;background:#64c17e;box-shadow:0 0 0 4px rgba(100,193,126,.09);animation:commandPulse 1.8s infinite}.command-live strong{color:#78cc8e;font-size:7px}.command-live span{padding-left:6px;border-left:1px solid #294334;color:#77827b;font:6.5px ui-monospace}.command-ribbon-metrics{justify-content:flex-end;gap:20px;color:var(--ink-tertiary);font-size:7px}.command-ribbon-metrics b{margin-left:4px;color:var(--ink-muted);font-weight:550}.command-site-select{height:28px;padding:0 10px;border:1px solid var(--hairline);border-radius:5px;background:#151618;color:var(--ink-subtle);font-size:7px}.command-site-select span{margin-left:16px;color:var(--ink-tertiary)}
.command-hero{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:10px}.energy-command-map{min-width:0;overflow:hidden}.command-section-bar{height:59px}.command-section-bar .eyebrow,.integrated-command .eyebrow{color:#747ba5;font:6px ui-monospace;letter-spacing:.12em}.command-section-bar h2{margin-top:3px}.energy-legend{display:flex;gap:13px;color:var(--ink-tertiary);font-size:6.5px}.energy-legend span:before{content:"";width:12px;height:1px;margin-right:5px;display:inline-block;vertical-align:middle;background:var(--pv)}.energy-legend .flow-out:before{background:var(--ev)}
.energy-map-canvas{position:relative;height:370px;overflow:hidden;background-image:linear-gradient(#1b1d21 1px,transparent 1px),linear-gradient(90deg,#1b1d21 1px,transparent 1px);background-size:36px 36px;background-position:-1px -1px}.energy-map-canvas:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 70px 25px #101113}.energy-flow-lines{position:absolute;inset:0;width:100%;height:100%;z-index:1;overflow:visible}.energy-flow-lines path{fill:none;vector-effect:non-scaling-stroke}.flow-base{stroke:#2c2e35;stroke-width:1.2}.flow-active{stroke-width:2;stroke-linecap:round;stroke-dasharray:2 12;animation:energyFlow 2.2s linear infinite}.flow-pv{stroke:var(--pv)}.flow-ess{stroke:var(--ess);animation-direction:reverse}.flow-ev{stroke:var(--ev)}.flow-meter{stroke:var(--meter);animation-direction:reverse}
.energy-asset-node{position:absolute;z-index:3;width:210px;min-height:72px;padding:10px;display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center;border:1px solid #2a2c32;border-radius:8px;background:#141518;color:var(--ink);text-align:left;cursor:pointer;transition:border-color .18s,background .18s,transform .18s}.energy-asset-node:hover,.energy-asset-node.active{border-color:#565d91;background:#181a22}.energy-asset-node:hover{filter:brightness(1.06)}.energy-asset-node:after{content:"";position:absolute;width:5px;height:5px;border:2px solid #111214;border-radius:50%;background:var(--node-color)}.node-pv{--node-color:var(--pv);left:auto;right:25px;top:20px;transform:none}.node-ess{--node-color:var(--ess);left:25px;right:auto;top:50%;bottom:auto;transform:translateY(-50%)}.node-ev{--node-color:var(--ev);right:25px;top:50%;transform:translateY(-50%)}.node-meter{--node-color:var(--meter);right:25px;bottom:20px}.node-ess:after{right:-5px}.node-pv:after,.node-ev:after,.node-meter:after{left:-5px}.asset-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:7px;background:color-mix(in srgb,var(--node-color) 11%,#17181c);color:var(--node-color)}.asset-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.asset-copy em,.asset-copy strong,.asset-copy small,.asset-power b,.asset-power small,.asset-power i{display:block}.asset-copy em{margin-bottom:3px;color:var(--node-color);font-size:6px;font-style:normal}.asset-copy strong{font-size:9px}.asset-copy small{margin-top:3px;color:var(--ink-tertiary);font-size:6.5px}.asset-power{text-align:right}.asset-power b{font-size:11px;font-weight:580}.asset-power small{color:var(--ink-tertiary);font-size:6px}.asset-power i{margin-top:4px;color:#7f8690;font-size:6px;font-style:normal}
.energy-core{position:absolute;left:50%;top:50%;z-index:4;width:132px;height:132px;display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid #4c527e;border-radius:50%;background:#151720;box-shadow:0 0 0 10px rgba(70,76,119,.07),0 0 0 25px rgba(70,76,119,.025);transform:translate(-50%,-50%)}.energy-core>span{color:#858dcf;font:6px ui-monospace;letter-spacing:.12em}.energy-core>strong{margin:7px 0 3px;font-size:22px;font-weight:560;letter-spacing:-.04em}.energy-core>strong small{margin-left:3px;color:var(--ink-tertiary);font-size:7px}.energy-core>em{display:flex;align-items:center;gap:4px;color:#74c489;font-size:6.5px;font-style:normal}.energy-core>em i{width:4px;height:4px;border-radius:50%;background:#65c07c}.energy-core>small{margin-top:8px;color:var(--ink-tertiary);font:6px ui-monospace}.core-orbit{position:absolute;inset:-8px;border:1px solid rgba(132,140,213,.18);border-radius:50%;animation:coreRotate 12s linear infinite}.core-orbit i{position:absolute;width:4px;height:4px;border-radius:50%;background:#7e87dd}.core-orbit i:nth-child(1){left:50%;top:-2px}.core-orbit i:nth-child(2){right:-2px;top:50%}.core-orbit i:nth-child(3){left:50%;bottom:-2px}.core-orbit i:nth-child(4){left:-2px;top:50%}
.energy-node-detail{min-height:72px;padding:10px 14px;display:grid;grid-template-columns:1.35fr repeat(3,1fr) auto;gap:15px;align-items:center;border-top:1px solid var(--hairline);background:#121315}.energy-node-detail>div{padding-left:14px;border-left:1px solid var(--hairline)}.energy-node-detail .detail-identity{padding-left:0;display:flex;gap:9px;align-items:center;border-left:0}.detail-symbol{width:30px;height:30px;display:grid;place-items:center;border-radius:7px;background:rgba(142,151,238,.1);color:var(--pv);font:7px ui-monospace}.detail-symbol.ess{background:rgba(103,185,161,.1);color:var(--ess)}.detail-symbol.ev{background:rgba(214,166,95,.1);color:var(--ev)}.detail-symbol.meter{background:rgba(142,168,201,.1);color:var(--meter)}.energy-node-detail small,.energy-node-detail strong,.energy-node-detail em{display:block}.energy-node-detail small{color:var(--ink-tertiary);font-size:6px}.energy-node-detail strong{margin-top:3px;color:var(--ink-muted);font-size:9px}.energy-node-detail em{margin-top:3px;color:var(--ink-tertiary);font-size:6px;font-style:normal}.energy-node-detail>button{padding:6px 8px;border:1px solid var(--hairline);border-radius:5px;background:#17181b;color:#aeb4e8;font-size:6.5px;cursor:pointer}.energy-node-detail>button span{margin-left:8px}
.integrated-side{display:grid;grid-template-rows:1fr auto;gap:10px}.fleet-health-card{overflow:hidden}.health-score{width:36px;height:36px;display:grid;place-items:center;border:1px solid #3b5a49;border-radius:50%;color:#7bc48c;font-size:8px}.fleet-orbit-wrap{padding:17px 0 11px;text-align:center}.fleet-orbit{width:110px;height:110px;margin:auto;padding:7px;border-radius:50%;background:conic-gradient(#727bd1 0 var(--health),#25262b var(--health) 360deg);transform:rotate(8deg)}.fleet-orbit>div{width:96px;height:96px;display:grid;place-content:center;border-radius:50%;background:#141518;transform:rotate(-8deg)}.fleet-orbit strong,.fleet-orbit span,.fleet-orbit small{display:block}.fleet-orbit strong{font-size:21px}.fleet-orbit span{margin-top:2px;color:var(--ink-tertiary);font-size:6px}.fleet-orbit small{margin-top:4px;color:#7fc58f;font-size:7px}.orbit-note{margin-top:7px;display:block;color:var(--ink-tertiary);font-size:6px}.fleet-health-list{padding:0 12px 12px}.fleet-health-list button{width:100%;padding:7px 3px;display:grid;grid-template-columns:5px 1fr auto;gap:8px;align-items:center;border:0;border-bottom:1px solid #232429;background:transparent;color:var(--ink-subtle);text-align:left;cursor:pointer}.fleet-health-list button:hover{background:#17181b}.fleet-health-list>button>i{width:4px;height:22px;border-radius:3px;background:var(--pv)}.fleet-health-list i.ess{background:var(--ess)}.fleet-health-list i.ev{background:var(--ev)}.fleet-health-list i.meter{background:var(--meter)}.fleet-health-list span,.fleet-health-list small{display:block;font-size:7px}.fleet-health-list small{margin-top:2px;color:var(--ink-tertiary);font-size:6px}.fleet-health-list strong{font-size:7.5px}.fleet-health-list strong.warn{color:#cfaa68}.demand-guard-card{padding:13px}.demand-guard-card>div:first-child{display:flex;justify-content:space-between}.demand-guard-card>div:first-child b{font-size:7px}.demand-guard-card>strong{margin:8px 0;display:block;font-size:19px}.demand-guard-card>strong small{margin-left:4px;color:var(--ink-tertiary);font-size:7px}.demand-track{position:relative;height:4px;background:#292a2f}.demand-track i{height:100%;display:block;background:#b18d55}.demand-track span{position:absolute;top:-3px;width:1px;height:10px;background:#d0ad73}.demand-guard-card footer{margin-top:7px;display:flex;justify-content:space-between;color:var(--ink-tertiary);font-size:6px}
.integrated-bottom{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.72fr);gap:10px}.live-power-panel,.event-rail{overflow:hidden}.live-chart-head{height:57px}.live-range-tabs{display:flex;gap:3px}.live-range-tabs button{height:25px;padding:0 8px;border:1px solid var(--hairline);border-radius:4px;background:transparent;color:var(--ink-tertiary);font-size:6.5px;cursor:pointer}.live-range-tabs button.active{border-color:#50578d;background:#202233;color:#bbc0ef}.live-power-legend{padding:10px 16px 0;display:flex;gap:18px;color:var(--ink-tertiary);font-size:6.5px}.live-power-legend span:before{content:"";width:12px;height:2px;margin-right:5px;display:inline-block;vertical-align:middle;background:var(--pv)}.live-power-legend span.ess:before{background:var(--ess)}.live-power-legend span.ev:before{background:var(--ev)}.live-power-legend span.meter:before{background:var(--meter)}.live-power-legend b{margin-left:3px;color:var(--ink-muted)}.integrated-live-chart{position:relative;margin:8px 13px 8px 40px}.integrated-live-chart svg{width:100%;height:190px;overflow:visible}.integrated-live-chart g line{stroke:#25262b;stroke-width:1;vector-effect:non-scaling-stroke}.integrated-live-chart path{fill:none;stroke-width:1.7;vector-effect:non-scaling-stroke}.integrated-live-chart .chart-area{fill:rgba(142,168,201,.045);stroke:none}.integrated-live-chart .meter-line{stroke:var(--meter)}.integrated-live-chart .pv-line{stroke:var(--pv)}.integrated-live-chart .ev-line{stroke:var(--ev)}.integrated-live-chart .ess-line{stroke:var(--ess)}.integrated-live-chart .chart-now{stroke:#4f5361;stroke-width:1;stroke-dasharray:3 4}.integrated-live-chart circle{fill:#ccd0f4;stroke:#111214;stroke-width:2}.chart-y{position:absolute;right:calc(100% + 8px);top:0;height:190px;display:flex;justify-content:space-between;flex-direction:column;color:var(--ink-tertiary);font-size:5.5px;text-align:right}.chart-x{display:flex;justify-content:space-between;color:var(--ink-tertiary);font-size:5.5px}
.event-rail>.section-bar>button{border:0;background:transparent;color:#9da4dc;font-size:6.5px;cursor:pointer}.event-stream{padding:0 12px 10px}.event-stream button{width:100%;padding:10px 2px;display:grid;grid-template-columns:42px 20px 1fr auto;gap:7px;align-items:center;border:0;border-bottom:1px solid #24252a;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.event-stream button:hover{background:#17181b}.event-stream time{color:var(--ink-tertiary);font:6px ui-monospace}.event-stream>button>i{width:18px;height:18px;display:grid;place-items:center;border-radius:5px;background:#292a30;color:#888e99;font-size:7px;font-style:normal}.event-stream .critical>i{background:#3b2023;color:#dc7d82}.event-stream .warning>i{background:#3a3020;color:#d1aa64}.event-stream .control>i{background:#203526;color:#75c187}.event-stream strong,.event-stream small{display:block}.event-stream strong{font-size:7.5px}.event-stream small{margin-top:3px;color:var(--ink-tertiary);font-size:6px}.event-stream em{padding:3px 5px;border-radius:3px;background:#24252a;color:var(--ink-tertiary);font-size:6px;font-style:normal}.event-stream .critical em{background:#341e21;color:#d87c81}.event-stream .warning em{background:#352d20;color:#cba65f}.event-stream .control em{background:#203126;color:#74ba83}
.site-ops-matrix{overflow:hidden}.matrix-summary{color:#78c18a;font-size:6.5px}.matrix-summary i{width:4px;height:4px;display:inline-block;border-radius:50%;background:#65bf7b}.ops-matrix-head,.ops-matrix-row{display:grid;grid-template-columns:minmax(150px,1.5fr) .8fr repeat(4,.72fr) 1fr .75fr;gap:10px;align-items:center}.ops-matrix-head{padding:8px 14px;background:#0d0e10;color:var(--ink-tertiary);font-size:6px}.ops-matrix-row{width:100%;min-height:43px;padding:6px 14px;border:0;border-top:1px solid #232429;background:transparent;color:var(--ink-subtle);text-align:left;cursor:pointer}.ops-matrix-row:hover{background:#151619}.ops-matrix-row>span:first-child{display:flex;align-items:center;gap:8px}.site-index{width:20px;height:20px;display:grid;place-items:center;border:1px solid #303139;border-radius:5px;color:#777d87;font:6px ui-monospace}.ops-matrix-row b,.ops-matrix-row strong{font-size:7.5px}.matrix-device{display:flex;align-items:center;gap:5px;color:var(--ink-tertiary);font-size:6.5px}.matrix-device>i{width:5px;height:5px;border-radius:50%;background:#67bc7b}.matrix-device.warn>i{background:#cba55f}.matrix-device.bad>i{background:#d47176;box-shadow:0 0 0 3px rgba(212,113,118,.09)}.quality-cell{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:center}.quality-cell>i{height:3px;border-radius:2px;background:#6973bf}.quality-cell b{color:var(--ink-tertiary);font-size:6px}.ops-matrix-row>em{justify-self:start;padding:3px 6px;border-radius:3px;background:#1d3023;color:#72be83;font-size:6px;font-style:normal}.ops-matrix-row>em.warn{background:#352c1e;color:#c9a25b}
@keyframes energyFlow{to{stroke-dashoffset:-28}}@keyframes coreRotate{to{transform:rotate(360deg)}}@keyframes commandPulse{50%{opacity:.45;box-shadow:0 0 0 7px rgba(100,193,126,0)}}
@media(max-width:1100px){.command-ribbon-metrics span:nth-child(2){display:none}.command-hero{grid-template-columns:1fr}.integrated-side{grid-template-columns:1fr 230px;grid-template-rows:auto}.fleet-health-card{display:grid;grid-template-columns:200px 1fr}.fleet-health-card>.section-bar{grid-column:1/-1}.fleet-orbit-wrap{padding:14px}.fleet-health-list{padding-top:10px}.integrated-bottom{grid-template-columns:1fr}.energy-asset-node{width:195px}}
@media(max-width:760px){.command-ribbon{padding:9px;grid-template-columns:1fr auto;gap:8px}.command-ribbon-metrics{display:none}.command-site-select{grid-column:1/-1}.energy-map-canvas{height:510px}.energy-asset-node{width:min(230px,calc(50% - 30px))}.node-ess{left:15px;right:auto;top:50%;bottom:auto}.node-pv{left:auto;right:15px;top:25px}.node-ev{left:auto;right:15px;top:50%;bottom:auto}.node-meter{left:auto;right:15px;top:auto;bottom:25px}.energy-core{width:116px;height:116px}.energy-flow-lines{transform:scaleY(.82)}.energy-node-detail{grid-template-columns:1fr 1fr}.energy-node-detail>button{grid-column:1/-1}.integrated-side{grid-template-columns:1fr}.fleet-health-card{display:block}.ops-matrix-head,.ops-matrix-row{min-width:720px}.site-ops-matrix{overflow:auto}.live-power-legend{flex-wrap:wrap}.event-stream button{grid-template-columns:36px 18px 1fr}.event-stream em{display:none}}
@media(max-width:520px){.energy-map-canvas{height:670px}.energy-flow-lines{display:none}.energy-asset-node{left:15px;right:auto;width:calc(100% - 30px);transform:none}.energy-asset-node:after{display:none}.node-ess{top:18px;bottom:auto}.node-pv{top:365px}.node-ev{top:455px}.node-meter{top:545px;bottom:auto}.energy-core{top:260px;width:105px;height:105px}.energy-core>strong{font-size:18px}.energy-node-detail{grid-template-columns:1fr}.energy-node-detail>div{padding-left:0;border-left:0}.command-section-bar .energy-legend{display:none}.integrated-live-chart{margin-left:34px}.chart-y{height:190px}}

/* 데이터 수집·연동 검증 센터 */
.integration-overview,.integration-simulator,.protocol-adapters,.mapping-studio,.storage-verification{--int-blue:#7786e8;--int-cyan:#5cb5c3;--int-green:#61b881;--int-amber:#c59b57;display:grid;gap:10px}.integration-overview button,.integration-simulator button,.protocol-adapters button,.mapping-studio button,.storage-verification button{font-family:inherit}.integration-overview .eyebrow,.integration-simulator .eyebrow,.protocol-adapters .eyebrow,.mapping-studio .eyebrow,.storage-verification .eyebrow{color:#7f88cf;font:6px ui-monospace;letter-spacing:.13em}
.integration-hero{min-height:210px;padding:26px 30px;display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:30px;align-items:center;overflow:hidden;position:relative}.integration-hero:before{content:"";position:absolute;left:0;top:24px;bottom:24px;width:2px;background:#6f79c9}.integration-hero h2{max-width:660px;margin:7px 0 10px;font-size:21px;line-height:1.3;letter-spacing:-.035em}.integration-hero p{max-width:700px;margin:0;color:var(--ink-tertiary);font-size:8px;line-height:1.75}.integration-hero-actions{margin-top:18px;display:flex;gap:7px}.integration-proof{height:156px;display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid #2d3040;border-radius:9px;background:#111216}.integration-proof>strong{margin-top:9px;color:#929be1;font:7px ui-monospace;letter-spacing:.1em}.integration-proof>small{margin-top:5px;color:var(--ink-tertiary);font-size:6px}.proof-orbit{width:72px;height:72px;display:grid;place-items:center;position:relative;border:1px solid #4c527a;border-radius:50%}.proof-orbit:before,.proof-orbit:after{content:"";position:absolute;border:1px solid #282b3a;border-radius:50%}.proof-orbit:before{inset:-10px}.proof-orbit:after{inset:9px}.proof-orbit span{z-index:2;color:#b5bbec;font:10px ui-monospace}.proof-orbit i{width:5px;height:5px;position:absolute;border-radius:50%;background:#6874d1;animation:proofOrbit 5s linear infinite;transform-origin:36px 36px}.proof-orbit i:nth-child(1){left:-3px;top:33px}.proof-orbit i:nth-child(2){left:33px;top:-3px;animation-delay:-1s}.proof-orbit i:nth-child(3){right:-3px;top:33px;animation-delay:-2s}.proof-orbit i:nth-child(4){left:33px;bottom:-3px;animation-delay:-3s}.proof-orbit i:nth-child(5){left:8px;top:8px;background:#57b780;animation-delay:-4s}
.collection-pipeline{overflow:hidden}.pipeline-live{display:flex;align-items:center;gap:5px;color:#72c58c;font:6.5px ui-monospace}.pipeline-live i{width:5px;height:5px;border-radius:50%;background:#61bd7b;animation:commandPulse 1.6s infinite}.pipeline-track{min-height:183px;padding:22px 18px 26px;display:grid;grid-template-columns:minmax(120px,.9fr) 34px minmax(130px,1fr) 34px minmax(130px,1fr) 34px minmax(130px,1fr);align-items:center}.pipeline-sources{display:grid;gap:6px}.pipeline-sources button,.pipeline-stage{min-height:46px;border:1px solid #2a2c33;border-radius:6px;background:#151619;color:var(--ink-subtle);text-align:left;cursor:pointer;transition:.18s}.pipeline-sources button{padding:7px 9px;display:grid;grid-template-columns:30px 1fr;align-items:center}.pipeline-sources button:hover,.pipeline-stage:hover{border-color:#515985;background:#191b22;transform:translateY(-1px)}.pipeline-sources button>span{grid-row:1/3;width:23px;height:23px;display:grid;place-items:center;border:1px solid #40486e;border-radius:5px;color:#8e98dc;font:6px ui-monospace}.pipeline-sources strong,.pipeline-sources small{display:block}.pipeline-sources strong{font-size:7px}.pipeline-sources small{color:var(--ink-tertiary);font-size:5.5px}.pipeline-stage{padding:14px;position:relative}.pipeline-stage em,.pipeline-stage span,.pipeline-stage strong,.pipeline-stage small{display:block}.pipeline-stage em{width:22px;height:22px;position:absolute;right:10px;top:10px;display:grid;place-items:center;border:1px solid #323544;border-radius:50%;color:#71778c;font:6px ui-monospace}.pipeline-stage span{color:#7f88ce;font:6px ui-monospace;text-transform:uppercase}.pipeline-stage strong{margin-top:12px;font-size:8px}.pipeline-stage small{margin-top:6px;color:var(--ink-tertiary);font-size:6px}.pipeline-stage.quality-stage{border-color:#294036}.pipeline-stage.quality-stage span{color:#67b783}.pipeline-link{height:1px;position:relative;display:block;background:#333643}.pipeline-link:after{content:"";position:absolute;right:-1px;top:-2px;border-left:4px solid #515774;border-top:2px solid transparent;border-bottom:2px solid transparent}.pipeline-link b{width:9px;height:3px;position:absolute;left:0;top:-1px;border-radius:3px;background:#7783dc;animation:pipelinePacket 1.8s linear infinite}.pipeline-link:nth-of-type(2) b{animation-delay:-.6s}.pipeline-link:nth-of-type(3) b{animation-delay:-1.2s}
.integration-overview-grid{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(0,1.25fr);gap:10px}.adapter-fleet,.ingestion-feed{overflow:hidden}.adapter-fleet>.section-bar>button,.ingestion-feed>.section-bar>span{border:0;background:transparent;color:#9098d0;font-size:6.5px;cursor:pointer}.adapter-fleet-list{padding:0 12px 10px}.adapter-fleet-list>button{width:100%;padding:8px 3px;display:grid;grid-template-columns:32px 1fr 35px 54px;gap:8px;align-items:center;border:0;border-bottom:1px solid #24252a;background:transparent;color:var(--ink-subtle);text-align:left;cursor:pointer}.adapter-fleet-list>button:hover{background:#17181c}.protocol-mark{width:29px;height:29px;display:grid;place-items:center;border:1px solid #42486b;border-radius:6px;background:#1c1e2a;color:#9099df;font:5.7px ui-monospace}.protocol-mark.p1{border-color:#5b4931;background:#241d14;color:#d0a45e}.protocol-mark.p2{border-color:#2f5055;background:#132124;color:#62b9c5}.protocol-mark.p3{border-color:#554338;background:#241b17;color:#c78968}.protocol-mark.p4{border-color:#31503f;background:#142119;color:#64ba83}.adapter-fleet-list strong,.adapter-fleet-list small{display:block}.adapter-fleet-list strong{font-size:7.5px}.adapter-fleet-list small{margin-top:3px;color:var(--ink-tertiary);font-size:6px}.adapter-fleet-list em{color:var(--ink-muted);font:7px ui-monospace;font-style:normal;text-align:right}.ingestion-feed-list{padding:0 12px 10px}.ingestion-feed-list>div{min-height:43px;padding:6px 3px;display:grid;grid-template-columns:58px 5px 1fr 82px 68px;gap:8px;align-items:center;border-bottom:1px solid #24252a}.ingestion-feed-list time{color:var(--ink-tertiary);font:5.7px ui-monospace}.ingestion-feed-list>div>i{width:4px;height:22px;border-radius:3px;background:var(--int-blue)}.ingestion-feed-list i.ev{background:var(--int-amber)}.ingestion-feed-list i.meter{background:#7e9fca}.ingestion-feed-list i.mqtt{background:var(--int-green)}.ingestion-feed-list strong,.ingestion-feed-list small{display:block}.ingestion-feed-list strong{font-size:7px}.ingestion-feed-list small{margin-top:2px;color:var(--ink-tertiary);font-size:5.7px}.ingestion-feed-list b{font-size:6.5px;font-weight:500}.ingestion-feed-list em{color:#6db983;font:5.7px ui-monospace;font-style:normal;text-align:right}

/* 장비 시뮬레이터 */
.simulator-console{overflow:hidden}.simulator-actions{min-height:76px;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--hairline)}.simulator-actions h2{margin:4px 0 3px;font-size:12px}.simulator-actions p{margin:0;color:var(--ink-tertiary);font-size:7px}.simulator-actions>div:last-child{display:flex;gap:7px}.simulator-actions [data-sim-toggle] i{width:5px;height:5px;margin-right:5px;border-radius:50%;background:#65bd7b}.simulator-actions [data-sim-toggle].running{border-color:#6b3d40;background:#392024;color:#e79a9e}.simulator-actions [data-sim-toggle].running i{background:#df7378}.simulator-device-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--hairline)}.simulator-device-tabs button{min-height:57px;padding:9px 13px;display:grid;grid-template-columns:32px 1fr;border:0;border-right:1px solid var(--hairline);background:#111214;color:var(--ink-tertiary);text-align:left;cursor:pointer}.simulator-device-tabs button:last-child{border-right:0}.simulator-device-tabs button.active{background:#191b25;box-shadow:inset 0 -2px #717bd3}.simulator-device-tabs button>span{grid-row:1/3;width:25px;height:25px;display:grid;place-items:center;border:1px solid #42486e;border-radius:6px;color:#8b94d8;font:6px ui-monospace}.simulator-device-tabs strong,.simulator-device-tabs small{display:block}.simulator-device-tabs strong{color:var(--ink-subtle);font-size:7.5px}.simulator-device-tabs small{margin-top:2px;font-size:6px}.simulator-workspace{display:grid;grid-template-columns:minmax(310px,.85fr) minmax(360px,1.15fr)}.simulator-visual{min-height:272px;padding:25px;display:flex;align-items:center;justify-content:center;flex-direction:column;border-right:1px solid var(--hairline);background:#0f1012}.device-twin{--device:#69b895;width:235px;height:148px;padding:17px;position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid #315343;border-radius:10px;background:#151a18;box-shadow:0 0 0 7px rgba(74,125,101,.05)}.device-twin.ev{--device:#cca15d;border-color:#57452c;background:#1a1712}.device-twin.meter{--device:#7f9fce;border-color:#35465e;background:#13171d}.device-twin>span{color:var(--device);font:6px ui-monospace}.device-twin>strong{margin:6px 0 11px;font-size:10px}.device-twin>small{margin-top:10px;color:#74bd8a;font-size:6.5px}.device-twin.ev>small{color:#caa15f}.device-twin.meter>small{color:#80a3d1}.twin-signal{position:absolute;right:12px;top:12px;display:flex;gap:2px;align-items:flex-end}.twin-signal i{width:2px;height:4px;background:var(--device)}.twin-signal i:nth-child(2){height:7px}.twin-signal i:nth-child(3){height:10px}.battery-stack{width:108px;height:27px;padding:4px;display:flex;gap:3px;border:1px solid #355647;border-radius:4px}.battery-stack:after{content:"";width:3px;height:9px;position:absolute;left:calc(50% + 55px);margin-top:4px;border-radius:0 2px 2px 0;background:#355647}.battery-stack i{flex:1;background:var(--device);opacity:.75;animation:batteryCharge 2.4s ease-in-out infinite}.battery-stack i:nth-child(2){animation-delay:-.3s}.battery-stack i:nth-child(3){animation-delay:-.6s}.battery-stack i:nth-child(4){animation-delay:-.9s}.battery-stack i:nth-child(5){animation-delay:-1.2s}.device-twin.ev .battery-stack{width:48px;height:48px;border-radius:50%;border-color:#654d29}.device-twin.ev .battery-stack:after{display:none}.device-twin.ev .battery-stack i:nth-child(n+3){display:none}.device-twin.meter .battery-stack{width:76px;height:45px;border-color:#3a4e68}.device-twin.meter .battery-stack:after{display:none}.sim-signal{width:255px;margin-top:20px;display:grid;grid-template-columns:auto 1fr auto 1fr auto;gap:6px;align-items:center;color:var(--ink-tertiary);font:5.5px ui-monospace}.sim-signal>i{height:1px;position:relative;background:#333743}.sim-signal>i b{width:8px;height:3px;position:absolute;top:-1px;border-radius:2px;background:#7180dc;animation:pipelinePacket 1.5s linear infinite}.sim-signal>i:nth-of-type(2) b{animation-delay:-.7s}.simulator-metrics{padding:25px;display:grid;grid-template-columns:1fr 1fr;gap:9px}.simulator-metrics article{min-height:105px;padding:15px;position:relative;border:1px solid #292b31;border-radius:7px;background:#141518}.simulator-metrics span,.simulator-metrics strong,.simulator-metrics small{display:block}.simulator-metrics span{color:var(--ink-tertiary);font-size:6.5px}.simulator-metrics strong{margin-top:13px;font-size:21px;font-weight:550;letter-spacing:-.04em}.simulator-metrics small{position:absolute;left:calc(15px + 4.2em);top:49px;color:var(--ink-tertiary);font-size:7px}.simulator-metrics article>i{height:3px;margin-top:14px;display:block;background:#272932}.simulator-metrics article>i b{height:100%;display:block;background:#6b78cc;transition:width .3s}.simulator-bottom{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr);gap:10px}.raw-payload,.simulator-event-log{overflow:hidden}.payload-status{display:flex;gap:6px;align-items:center}.payload-status i{width:5px;height:5px;border-radius:50%;background:#63bc7b}.payload-status b{color:#6fc187;font:6px ui-monospace}.payload-status em{padding-left:6px;border-left:1px solid var(--hairline);color:var(--ink-tertiary);font:5.5px ui-monospace;font-style:normal}.raw-payload pre{min-height:228px;margin:0;padding:17px;background:#0b0c0e;color:#9da6e5;font:7px/1.75 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap}.raw-payload footer{padding:8px 14px;display:flex;gap:22px;border-top:1px solid var(--hairline);color:var(--ink-tertiary);font-size:6px}.raw-payload footer b{margin-left:3px;color:var(--ink-muted)}.simulator-event-log>.section-bar>button{border:0;background:transparent;color:var(--ink-tertiary);font-size:6px;cursor:pointer}.simulator-event-log>[data-sim-log]{max-height:267px;padding:0 12px;overflow:auto}.simulator-event-log [data-sim-log]>div{min-height:46px;padding:7px 2px;display:grid;grid-template-columns:48px 27px 1fr auto;gap:7px;align-items:center;border-bottom:1px solid #24252a}.simulator-event-log time{color:var(--ink-tertiary);font:5.7px ui-monospace}.simulator-event-log i{height:19px;display:grid;place-items:center;border-radius:4px;background:#282a31;color:#979baa;font:5.5px ui-monospace;font-style:normal}.simulator-event-log i.good{background:#183023;color:#72c08a}.simulator-event-log span{font-size:6.5px}.simulator-event-log b{color:#7e88c8;font:5.7px ui-monospace;font-weight:500}

/* 프로토콜 어댑터 */
.protocol-adapter-head{min-height:104px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--hairline);border-radius:7px;background:#121315}.protocol-adapter-head h2{margin:5px 0 4px;font-size:14px}.protocol-adapter-head p{margin:0;color:var(--ink-tertiary);font-size:7px}.protocol-adapter-head>div:last-child{display:grid;grid-template-columns:auto auto;gap:2px 9px;align-items:center}.protocol-adapter-head>div:last-child strong{grid-row:span 2;color:#9ca5e5;font-size:20px;font-weight:550}.protocol-adapter-head>div:last-child span{color:var(--ink-tertiary);font-size:6px}.adapter-card-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.adapter-card{padding:12px;min-height:130px;color:var(--ink-subtle);text-align:left;cursor:pointer;transition:.18s}.adapter-card:hover,.adapter-card.active{border-color:#535b91;background:#191b24;transform:translateY(-2px)}.adapter-card header,.adapter-card footer{display:flex;justify-content:space-between;align-items:center}.adapter-card h3{margin:13px 0 4px;font-size:8.5px}.adapter-card p{margin:0;color:var(--ink-tertiary);font-size:6px}.adapter-card footer{margin-top:14px;padding-top:8px;border-top:1px solid var(--hairline);color:var(--ink-tertiary);font-size:6px}.adapter-card footer b{color:#949cdf;font-weight:500}.protocol-workbench{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:10px}.adapter-config,.adapter-interface{overflow:hidden}.adapter-version{padding:4px 6px;border:1px solid #333646;border-radius:4px;color:#878eac;font:5.5px ui-monospace}.adapter-config-grid{padding:15px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.adapter-config-grid label{color:var(--ink-tertiary);font-size:6px}.adapter-config-grid input,.adapter-config-grid select{width:100%;height:31px;margin-top:5px;padding:0 8px;border:1px solid #2d2f36;border-radius:4px;background:#101113;color:var(--ink-muted);font:6.5px ui-monospace}.adapter-capabilities{padding:0 15px 14px;display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.adapter-capabilities span{padding:7px;border:1px solid #26392d;border-radius:4px;background:#121a15;color:#6db981;font-size:5.7px}.adapter-config>footer{padding:12px 15px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--hairline)}.connection-test-result{display:flex;gap:8px;align-items:center}.connection-test-result>i{width:8px;height:8px;border:1px solid #5d6270;border-radius:50%}.connection-test-result.testing>i{border-color:#7b85d8;border-top-color:transparent;animation:coreRotate .7s linear infinite}.connection-test-result.success>i{border-color:#61b77b;background:#61b77b;box-shadow:0 0 0 4px rgba(97,183,123,.08)}.connection-test-result strong,.connection-test-result small{display:block}.connection-test-result strong{font-size:6.5px}.connection-test-result small{margin-top:3px;color:var(--ink-tertiary);font-size:5.7px}.adapter-interface pre{min-height:194px;margin:0;padding:18px;background:#0b0c0e;color:#9da3b9;font:7px/1.85 ui-monospace;white-space:pre-wrap}.adapter-interface pre span{color:#7f89dc}.interface-contracts{padding:10px;display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.interface-contracts span{display:flex;align-items:center;gap:5px;color:var(--ink-tertiary);font-size:5.7px}.interface-contracts i{width:18px;height:18px;display:grid;place-items:center;border:1px solid #36394a;border-radius:50%;color:#8991cc;font:5px ui-monospace;font-style:normal}

/* 표준 태그 매핑 */
.mapping-studio-head{min-height:95px;padding:17px 20px;display:flex;align-items:center;justify-content:space-between}.mapping-studio-head h2{margin:5px 0 4px;font-size:13px}.mapping-studio-head p{margin:0;color:var(--ink-tertiary);font-size:7px}.mapping-studio-head>div:last-child{display:flex;gap:14px;align-items:center}.mapping-studio-head>div:last-child>span{color:var(--ink-tertiary);font-size:6px;text-align:right}.mapping-studio-head>div:last-child strong{display:block;margin-top:3px;color:#70bd86;font-size:11px}.mapping-studio-grid{display:grid;grid-template-columns:minmax(440px,.95fr) minmax(380px,1.05fr);gap:10px}.mapping-rules,.mapping-inspector{overflow:hidden}.mapping-rules>.section-bar>span{color:#70bd86;font:6px ui-monospace}.mapping-rule{width:100%;min-height:56px;padding:7px 12px;display:grid;grid-template-columns:16px 1fr 18px 1.2fr 20px;gap:7px;align-items:center;border:0;border-bottom:1px solid #25262b;background:transparent;color:var(--ink-subtle);text-align:left;cursor:pointer}.mapping-rule:hover,.mapping-rule.active{background:#191b24}.mapping-rule.active{box-shadow:inset 2px 0 #7580d9}.mapping-rule>i{color:#50525d;font-style:normal}.mapping-rule strong,.mapping-rule small{display:block}.mapping-rule strong{font:6.5px ui-monospace}.mapping-rule small{margin-top:3px;color:var(--ink-tertiary);font-size:5.5px}.mapping-rule>em{color:#60677e;font-style:normal}.mapping-rule>b{width:17px;height:17px;display:grid;place-items:center;border-radius:50%;background:#183022;color:#6dbc82;font-size:6px}.mapping-rule.mapped>b{animation:mappedPop .4s ease}.mapping-quality{padding:4px 6px;border:1px solid #2d4a37;border-radius:4px;color:#69ba80;font:5.5px ui-monospace}.mapping-preview-grid{padding:20px;display:grid;grid-template-columns:1fr 34px 1fr;gap:10px;align-items:center}.mapping-preview-grid>div{min-height:78px;padding:13px;border:1px solid #2b2d34;border-radius:6px;background:#111214}.mapping-preview-grid span,.mapping-preview-grid strong,.mapping-preview-grid small{display:block}.mapping-preview-grid span{color:#7882c9;font:5.5px ui-monospace}.mapping-preview-grid strong{margin-top:11px;font:7.5px ui-monospace}.mapping-preview-grid small{margin-top:5px;color:var(--ink-tertiary);font-size:5.7px}.mapping-preview-grid>i{width:29px;height:29px;display:grid;place-items:center;border:1px solid #3b405b;border-radius:50%;color:#8d95cf;font:6px ui-monospace;font-style:normal}.mapping-payload{margin:0 20px;border:1px solid #292b31;border-radius:6px;overflow:hidden}.mapping-payload>span{padding:7px 10px;display:block;border-bottom:1px solid #292b31;background:#151619;color:var(--ink-tertiary);font-size:6px}.mapping-payload pre{min-height:137px;margin:0;padding:14px;background:#0b0c0e;color:#8c93aa;font:6.5px/1.8 ui-monospace;white-space:pre-wrap}.mapping-payload pre b{color:#a7afe7;font-weight:500}.mapping-validation{padding:14px 20px;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.mapping-validation span{color:var(--ink-tertiary);font-size:5.7px}.mapping-validation i{width:15px;height:15px;margin-right:4px;display:inline-grid;place-items:center;border-radius:50%;background:#183022;color:#6dbc82;font-style:normal}

/* DB 적재 검증 */
.storage-hero{min-height:116px;padding:20px 22px;display:flex;justify-content:space-between;align-items:center}.storage-hero h2{margin:5px 0 4px;font-size:15px}.storage-hero p{margin:0;color:var(--ink-tertiary);font-size:7px}.storage-health{text-align:right}.storage-health>span,.storage-health>strong,.storage-health>small{display:block}.storage-health>span{color:#70bd86;font:5.7px ui-monospace}.storage-health>span i{width:5px;height:5px;margin-right:5px;display:inline-block;border-radius:50%;background:#64bb7c;animation:commandPulse 1.6s infinite}.storage-health>strong{margin-top:7px;font-size:22px;font-weight:550;letter-spacing:-.04em}.storage-health>small{color:var(--ink-tertiary);font-size:6px}.storage-architecture{overflow:hidden}.storage-flow{padding:24px;display:grid;grid-template-columns:1fr 36px 1fr 36px 1fr 36px 1fr;align-items:center}.storage-flow>div{min-height:105px;padding:12px;position:relative;border:1px solid #2a2c33;border-radius:7px;background:#141518}.storage-flow>div>span{position:absolute;right:9px;top:8px;color:#5e6272;font:5.5px ui-monospace}.storage-flow>div>i{width:27px;height:27px;display:grid;place-items:center;border:1px solid #42496c;border-radius:6px;color:#8c95d8;font:5.5px ui-monospace;font-style:normal}.storage-flow strong,.storage-flow small{display:block}.storage-flow strong{margin-top:12px;font-size:7.5px}.storage-flow small{margin-top:4px;color:var(--ink-tertiary);font-size:5.7px}.storage-flow>b{height:1px;position:relative;background:#343743}.storage-flow>b:after{content:"";position:absolute;right:0;top:-2px;border-left:4px solid #555b76;border-top:2px solid transparent;border-bottom:2px solid transparent}.storage-flow>b i{width:8px;height:3px;position:absolute;top:-1px;border-radius:2px;background:#7580d8;animation:pipelinePacket 1.5s linear infinite}.storage-flow>b:nth-of-type(2) i{animation-delay:-.5s}.storage-flow>b:nth-of-type(3) i{animation-delay:-1s}.storage-bottom{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:10px}.db-records,.replay-console{overflow:hidden}.storage-table td strong,.storage-table td small{display:block}.storage-table td small{margin-top:3px;color:var(--ink-tertiary);font:5.5px ui-monospace}.storage-table tr.new-record{animation:newRecord 1.8s ease}.replay-console>.section-bar>span{color:#c49a59;font:5.7px ui-monospace}.replay-stat{margin:15px;padding:13px;display:grid;grid-template-columns:42px 1fr;border:1px solid #473a27;border-radius:6px;background:#1a1712}.replay-stat>span{grid-row:1/3;width:31px;height:31px;display:grid;place-items:center;border:1px solid #5d4a2d;border-radius:6px;color:#c69e5e;font:6px ui-monospace}.replay-stat strong{font-size:14px}.replay-stat small{color:var(--ink-tertiary);font-size:5.7px}.replay-item{margin:0 15px;padding:11px;border:1px solid #2b2d34;border-radius:5px;background:#111214}.replay-item span,.replay-item strong,.replay-item small{display:block}.replay-item span{color:var(--ink-tertiary);font-size:5.7px}.replay-item strong{margin-top:6px;color:#c6a064;font:6.2px ui-monospace}.replay-item small{margin-top:4px;color:var(--ink-tertiary);font-size:5.5px}.replay-console>button{width:calc(100% - 30px);margin:12px 15px 0;justify-content:center}.replay-console>p{margin:8px 15px 14px;color:var(--ink-tertiary);font-size:5.7px;line-height:1.6}
@keyframes proofOrbit{to{transform:rotate(360deg)}}@keyframes pipelinePacket{from{left:0}to{left:calc(100% - 8px)}}@keyframes batteryCharge{50%{opacity:.25}}@keyframes mappedPop{50%{transform:scale(1.18)}}@keyframes newRecord{0%{background:#253729}100%{background:transparent}}
@media(max-width:1100px){.integration-hero{grid-template-columns:1fr 220px}.pipeline-track{grid-template-columns:1fr 24px 1fr 24px 1fr}.pipeline-sources{grid-column:1/-1;grid-template-columns:repeat(3,1fr);margin-bottom:15px}.pipeline-sources+.pipeline-link{display:none}.protocol-workbench,.mapping-studio-grid{grid-template-columns:1fr}.adapter-card-grid{grid-template-columns:repeat(3,1fr)}.simulator-workspace{grid-template-columns:1fr}.simulator-visual{border-right:0;border-bottom:1px solid var(--hairline)}.storage-bottom{grid-template-columns:1fr}}
@media(max-width:820px){.integration-hero{grid-template-columns:1fr}.integration-proof{display:none}.integration-overview-grid,.simulator-bottom{grid-template-columns:1fr}.pipeline-track{display:grid;grid-template-columns:1fr;gap:7px}.pipeline-link{width:1px;height:18px;margin:auto}.pipeline-link:after{right:-2px;top:auto;bottom:-1px;border:0;border-top:4px solid #515774;border-left:2px solid transparent;border-right:2px solid transparent}.pipeline-link b{width:3px;height:7px;animation:none}.adapter-card-grid{grid-template-columns:repeat(2,1fr)}.storage-flow{grid-template-columns:1fr;gap:6px}.storage-flow>b{width:1px;height:18px;margin:auto}.storage-flow>b:after{right:-2px;top:auto;bottom:-1px;border:0;border-top:4px solid #555b76;border-left:2px solid transparent;border-right:2px solid transparent}.storage-flow>b i{display:none}.adapter-capabilities{grid-template-columns:1fr 1fr}.mapping-studio-head{align-items:flex-start;gap:15px;flex-direction:column}.mapping-studio-head>div:last-child{width:100%;justify-content:space-between}}
@media(max-width:560px){.integration-hero{padding:20px}.integration-hero h2{font-size:17px}.integration-hero-actions{flex-direction:column}.pipeline-sources{grid-template-columns:1fr}.simulator-actions{align-items:flex-start;gap:12px;flex-direction:column}.simulator-device-tabs{grid-template-columns:1fr}.simulator-device-tabs button{border-right:0;border-bottom:1px solid var(--hairline)}.simulator-metrics{grid-template-columns:1fr;padding:14px}.simulator-workspace{min-width:0}.device-twin{width:210px}.adapter-card-grid{grid-template-columns:1fr}.adapter-config-grid{grid-template-columns:1fr}.adapter-capabilities{grid-template-columns:1fr}.adapter-config>footer{align-items:flex-start;gap:12px;flex-direction:column}.mapping-studio-grid{min-width:0}.mapping-rule{grid-template-columns:14px 1fr 12px 1fr 18px}.mapping-preview-grid{grid-template-columns:1fr}.mapping-preview-grid>i{margin:auto;transform:rotate(90deg)}.mapping-validation{grid-template-columns:1fr}.storage-hero{align-items:flex-start;gap:15px;flex-direction:column}.storage-health{text-align:left}.raw-payload footer{gap:8px;flex-wrap:wrap}}
