/* ============== FLOOR PLAN — 디지털 트윈 관제 콘솔 (다크) ============== */
/* 전부 #panel-floor 스코프 → 다른(라이트) 탭에 영향 없음 */
#panel-floor{
  --c-bg:#0A1322; --c-bg2:#0E1C33; --c-pan:#101F37; --c-pan2:#13243F; --c-card:#13243F;
  --c-line:rgba(126,166,226,.16); --c-line2:rgba(126,166,226,.28);
  --c-tx:#E6EEFB; --c-tx2:#9DB1D2; --c-tx3:#6F84A6;
  --c-cyan:#3FA6E0; --c-run:#2BD46A; --c-down:#FF4D5E; --c-amber:#E0A33A;
}
#panel-floor .fpx-console{
  background:radial-gradient(1100px 460px at 72% -12%,#15315a 0%,var(--c-bg2) 46%,var(--c-bg) 100%);
  border:1px solid var(--c-line); border-radius:18px; padding:14px 16px 18px;
  box-shadow:0 24px 60px rgba(5,12,25,.45), inset 0 1px 0 rgba(255,255,255,.04);
}
#panel-floor button{font-family:inherit;}

/* ---- ① 상태 스트립 ---- */
#panel-floor .fpx-strip{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:6px 4px 12px;border-bottom:1px solid var(--c-line);margin-bottom:12px;}
#panel-floor .fpx-brand{font-size:.95rem;font-weight:800;color:var(--c-tx);letter-spacing:.3px;display:flex;align-items:center;gap:7px;}
#panel-floor .fpx-live{color:var(--c-run);font-size:.7rem;animation:fpxBlink 1.4s infinite;}
@keyframes fpxBlink{0%,100%{opacity:1}50%{opacity:.25}}
#panel-floor .fpx-fac{display:inline-flex;background:rgba(255,255,255,.05);border:1px solid var(--c-line);border-radius:999px;padding:3px;}
#panel-floor .fpx-fac button{border:none;background:transparent;color:var(--c-tx2);font-size:.82rem;font-weight:600;padding:5px 14px;border-radius:999px;cursor:pointer;}
#panel-floor .fpx-fac button.on{background:linear-gradient(180deg,#1f7fb8,#1769a0);color:#fff;box-shadow:0 0 0 1px rgba(63,166,224,.4);}
#panel-floor .fpx-when{font-size:.82rem;color:var(--c-tx2);font-variant-numeric:tabular-nums;}
#panel-floor .fpx-when b{color:var(--c-cyan);margin-left:4px;text-shadow:0 0 12px rgba(63,166,224,.5);}
#panel-floor .fpx-kpis{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
#panel-floor .fpx-kpi{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:var(--c-tx2);background:rgba(255,255,255,.04);border:1px solid var(--c-line);border-radius:999px;padding:5px 12px;cursor:default;}
#panel-floor .fpx-kpi b{color:var(--c-tx);font-variant-numeric:tabular-nums;}
#panel-floor .fpx-kpi i{width:8px;height:8px;border-radius:50%;}
#panel-floor .fpx-kpi.alarm{background:rgba(255,77,94,.16);border-color:rgba(255,77,94,.5);color:#FFB4BC;animation:fpxPulse 1.2s infinite;}
#panel-floor .fpx-kpi.alarm b{color:#fff;}
#panel-floor .fpx-kpi.warn{border-color:rgba(255,77,94,.4);}
@keyframes fpxPulse{0%,100%{opacity:1}50%{opacity:.55}}

/* ---- ② 세그먼트 바 ---- */
#panel-floor .fpx-segbar{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap;}
#panel-floor .fpx-segs{display:inline-flex;gap:4px;background:rgba(255,255,255,.04);border:1px solid var(--c-line);border-radius:12px;padding:4px;}
#panel-floor .fpx-segs button{border:none;background:transparent;color:var(--c-tx2);font-size:.86rem;font-weight:700;padding:8px 18px;border-radius:9px;cursor:pointer;transition:all .15s;}
#panel-floor .fpx-segs button.on{background:linear-gradient(180deg,#1f7fb8,#1769a0);color:#fff;box-shadow:0 2px 12px rgba(36,135,199,.35);}
#panel-floor .fpx-scales,#panel-floor .fpx-modes{display:inline-flex;gap:2px;background:rgba(255,255,255,.04);border:1px solid var(--c-line);border-radius:999px;padding:3px;}
#panel-floor .fpx-scales[hidden],#panel-floor .fpx-modes[hidden]{display:none;}
#panel-floor .fpx-scales button,#panel-floor .fpx-modes button{border:none;background:transparent;color:var(--c-tx2);font-size:.8rem;font-weight:600;padding:5px 14px;border-radius:999px;cursor:pointer;}
#panel-floor .fpx-scales button.on{background:var(--c-cyan);color:#06222a;}
#panel-floor .fpx-modes{margin-left:auto;}
#panel-floor .fpx-modes button.on{background:linear-gradient(180deg,#16b890,#0f9576);color:#fff;}

/* ---- ④ 타임바 ---- */
#panel-floor .fpx-timebar{display:flex;align-items:center;gap:14px;background:linear-gradient(180deg,var(--c-pan),var(--c-pan2));border:1px solid var(--c-line);border-radius:12px;padding:9px 14px;margin-top:14px;}
#panel-floor .fpx-datenav{display:inline-flex;align-items:center;gap:8px;}
#panel-floor .fpx-datenav button{width:28px;height:28px;border-radius:50%;border:none;background:rgba(255,255,255,.06);color:var(--c-tx2);font-size:1.1rem;cursor:pointer;}
#panel-floor .fpx-datenav button:hover{background:rgba(63,166,224,.2);color:#fff;}
#panel-floor .fpx-dlbl{font-size:.86rem;font-weight:700;color:var(--c-tx);font-variant-numeric:tabular-nums;min-width:150px;text-align:center;}
#panel-floor .fpx-dlbl em{color:var(--c-tx3);font-style:normal;font-weight:500;}
#panel-floor .fpx-play{width:36px;height:36px;border-radius:50%;border:none;background:linear-gradient(180deg,#1f7fb8,#1769a0);color:#fff;cursor:pointer;box-shadow:0 0 12px rgba(36,135,199,.4);}
#panel-floor .fpx-timebar input[type=range]{flex:1;accent-color:var(--c-cyan);}
#panel-floor .fpx-clock{font-size:1.1rem;font-weight:800;color:var(--c-cyan);font-variant-numeric:tabular-nums;min-width:84px;text-align:right;text-shadow:0 0 14px rgba(63,166,224,.5);}
#panel-floor .fpx-livepill{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:800;letter-spacing:.4px;color:#9CF0C0;background:rgba(43,212,106,.14);border:1px solid rgba(43,212,106,.5);border-radius:999px;padding:4px 10px;white-space:nowrap;}
#panel-floor .fpx-livepill i{width:7px;height:7px;border-radius:50%;background:var(--c-run);box-shadow:0 0 8px var(--c-run);animation:fpxBlink 1.4s infinite;}
#panel-floor .fpx-golive{border:1px solid rgba(63,166,224,.55);background:rgba(63,166,224,.12);color:#Bfe4fb;font-size:.72rem;font-weight:800;letter-spacing:.3px;padding:5px 11px;border-radius:999px;cursor:pointer;white-space:nowrap;}
#panel-floor .fpx-golive:hover{background:rgba(63,166,224,.24);color:#fff;}
#panel-floor .fpx-speed{display:inline-flex;background:rgba(255,255,255,.05);border-radius:999px;padding:2px;}
#panel-floor .fpx-speed button{border:none;background:transparent;color:var(--c-tx2);font-size:.72rem;font-weight:700;padding:4px 9px;border-radius:999px;cursor:pointer;}
#panel-floor .fpx-speed button.on{background:var(--c-cyan);color:#06222a;}
#panel-floor .fpx-hint{flex:1;font-size:.8rem;color:var(--c-tx3);}

/* ---- ③ 스테이지 ---- */
#panel-floor .fpx-stage{min-height:520px;}

/* ===== 관제 LIVE ===== */
#panel-floor .fpx-live-grid{display:grid;grid-template-columns:1fr 344px;gap:16px;align-items:stretch;}
@media(max-width:1120px){#panel-floor .fpx-live-grid{grid-template-columns:1fr;}}
#panel-floor .fpx-floor{position:relative;border:1px solid var(--c-line);border-radius:14px;overflow:hidden;box-shadow:inset 0 0 80px rgba(0,0,0,.35);background:radial-gradient(700px 320px at 60% -5%,#16305a 0%,#0C1A30 55%,#0A1322 100%);}
#panel-floor .fpx-floorsvg{display:block;width:100%;height:auto;}
#panel-floor .fpx-floorhint{position:absolute;left:14px;bottom:10px;font-size:.7rem;color:var(--c-tx2);background:rgba(10,19,34,.78);border:1px solid var(--c-line);border-radius:999px;padding:4px 10px;backdrop-filter:blur(4px);}

/* SVG 도면 요소 */
#panel-floor .fpx-pipe{fill:none;stroke:var(--c-cyan);stroke-width:3;stroke-linecap:round;stroke-dasharray:2 9;opacity:.9;filter:drop-shadow(0 0 4px rgba(63,166,224,.7));animation:fpxFlow 1.1s linear infinite;}
@keyframes fpxFlow{to{stroke-dashoffset:-22}}
#panel-floor .fpx-room{fill:rgba(255,255,255,.018);stroke:var(--c-line2);stroke-width:1.4;}
#panel-floor .fpx-room-idx{font-size:11px;font-weight:800;fill:var(--c-cyan);}
#panel-floor .fpx-room-title{font-size:12.5px;font-weight:800;fill:#CFE0F7;}
#panel-floor .fpx-room-badge{font-size:9.5px;font-weight:700;fill:var(--c-tx3);}
#panel-floor .fpx-ex{font-size:9px;font-weight:800;fill:var(--c-amber);}
#panel-floor .fpx-clean{font-size:9px;font-weight:700;fill:#7FD3E8;}
#panel-floor .fpx-eq{cursor:pointer;}
#panel-floor .fpx-eq-card{fill:url(#fpMetal);stroke-width:1.4;transition:stroke .25s;}
#panel-floor .fpx-eq:hover .fpx-eq-card,#panel-floor .fpx-eq.hl .fpx-eq-card{fill:#1B2D46;}
#panel-floor .fpx-eq-ic{fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;}
#panel-floor .fpx-eq-lbl{font-size:9px;font-weight:700;fill:var(--c-tx);pointer-events:none;}
#panel-floor .fpx-eq-util{font-size:8px;font-weight:800;pointer-events:none;}
#panel-floor .fpx-eq.run .fpx-eq-card{filter:drop-shadow(0 0 6px rgba(43,212,106,.4));}
#panel-floor .fpx-eq.run .fpx-eq-ic{animation:fpxBreathe 2.6s ease-in-out infinite;}
@keyframes fpxBreathe{0%,100%{opacity:.7}50%{opacity:1}}
#panel-floor .fpx-eq.down .fpx-eq-card{animation:fpxPulse 1s ease-in-out infinite;}
#panel-floor .fpx-eq.sel .fpx-eq-card,#panel-floor .fpx-eq.hl .fpx-eq-card{stroke:#fff;stroke-width:2.4;filter:drop-shadow(0 0 8px rgba(255,255,255,.5));}

/* 우측 레일 */
#panel-floor .fpx-rail{display:flex;flex-direction:column;gap:10px;background:linear-gradient(180deg,var(--c-pan),var(--c-pan2));border:1px solid var(--c-line);border-radius:14px;padding:16px;overflow:auto;max-height:640px;}
#panel-floor .fpx-rail.mini{max-height:none;}
#panel-floor .fpx-rail-h h4{font-size:1.05rem;font-weight:700;color:var(--c-tx);}
#panel-floor .fpx-sub{font-size:.72rem;color:var(--c-tx3);}
#panel-floor .fpx-rail-sec{font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--c-tx3);margin-top:6px;border-top:1px solid var(--c-line);padding-top:10px;}
#panel-floor .fpx-list{display:flex;flex-direction:column;gap:5px;}
#panel-floor .fpx-li{display:flex;align-items:center;gap:8px;font-size:.78rem;padding:6px 9px;border-radius:7px;background:rgba(255,255,255,.035);cursor:pointer;}
#panel-floor .fpx-li:hover,#panel-floor .fpx-li.hl{background:rgba(63,166,224,.14);}
#panel-floor .fpx-li .dotS{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
#panel-floor .fpx-li .nm{font-weight:700;color:var(--c-tx);flex:0 0 64px;}
#panel-floor .fpx-li .bt{color:var(--c-tx2);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;}
#panel-floor .fpx-li .tm,#panel-floor .fpx-li .tm2{color:var(--c-tx3);font-variant-numeric:tabular-nums;flex-shrink:0;}
#panel-floor .fpx-li .tm2{flex:0 0 92px;}
#panel-floor .fpx-alert{font-size:.78rem;line-height:1.45;color:#FFB4BC;background:linear-gradient(180deg,rgba(255,77,94,.16),rgba(255,77,94,.07));border:1px solid rgba(255,77,94,.45);border-radius:10px;padding:10px 12px;box-shadow:0 0 18px rgba(255,77,94,.18);}
#panel-floor .fpx-alert b{color:#fff;}
#panel-floor .fpx-alert.ok{color:#9DEBC9;background:linear-gradient(180deg,rgba(43,212,106,.16),rgba(43,212,106,.07));border-color:rgba(43,212,106,.45);box-shadow:none;}
#panel-floor .fpx-drow{display:flex;justify-content:space-between;font-size:.8rem;padding:6px 0;border-bottom:1px solid var(--c-line);}
#panel-floor .fpx-drow span{color:var(--c-tx3);}
#panel-floor .fpx-drow b{color:var(--c-tx);}
#panel-floor .fpx-btn{border:none;border-radius:8px;font-size:.8rem;font-weight:700;padding:9px 14px;cursor:pointer;}
#panel-floor .fpx-btn.primary{background:linear-gradient(180deg,#16b890,#0f9576);color:#fff;}
#panel-floor .fpx-btn.ghost{background:rgba(255,255,255,.05);color:var(--c-tx2);border:1px solid var(--c-line);}
#panel-floor .fpx-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:6px;padding-top:10px;border-top:1px solid var(--c-line);}
#panel-floor .fpx-legend span{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;color:var(--c-tx2);}
#panel-floor .fpx-legend i{width:8px;height:8px;border-radius:50%;}
#panel-floor .fpx-form{display:flex;flex-direction:column;gap:7px;}
#panel-floor .fpx-form select{background:#0C1A30;color:var(--c-tx);border:1px solid var(--c-line2);border-radius:7px;padding:7px 9px;font-size:.8rem;font-family:inherit;}
#panel-floor .fpx-form .r2{display:grid;grid-template-columns:1fr 1fr;gap:7px;}

/* ===== 일정 시간표 (일) ===== */
#panel-floor .fpx-sched-grid{display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:start;}
@media(max-width:1120px){#panel-floor .fpx-sched-grid{grid-template-columns:1fr;}}
#panel-floor .fpx-tt{display:flex;background:linear-gradient(180deg,var(--c-pan),var(--c-pan2));border:1px solid var(--c-line);border-radius:14px;overflow:hidden;}
#panel-floor .fpx-gut{flex:0 0 52px;border-right:1px solid var(--c-line);}
#panel-floor .fpx-guth{height:38px;border-bottom:1px solid var(--c-line);}
#panel-floor .fpx-gutbody{position:relative;}
#panel-floor .fpx-hr{position:absolute;left:0;right:0;transform:translateY(-50%);font-size:9px;color:var(--c-tx3);text-align:right;padding-right:6px;font-variant-numeric:tabular-nums;}
#panel-floor .fpx-cols{display:flex;overflow-x:auto;}
#panel-floor .fpx-col{flex:0 0 76px;border-left:1px solid var(--c-line);}
#panel-floor .fpx-col.sel,#panel-floor .fpx-col.hl{background:rgba(63,166,224,.07);}
#panel-floor .fpx-colh{height:38px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-bottom:1px solid var(--c-line);cursor:pointer;position:sticky;top:0;background:var(--c-pan);}
#panel-floor .fpx-col.sel .fpx-colh{background:rgba(63,166,224,.18);}
#panel-floor .fpx-colh .cn{font-size:.72rem;font-weight:700;color:var(--c-tx);white-space:nowrap;}
#panel-floor .fpx-colh .cu{font-size:.66rem;font-weight:800;font-variant-numeric:tabular-nums;}
#panel-floor .fpx-track{position:relative;background:repeating-linear-gradient(to bottom,transparent,transparent 29px,rgba(126,166,226,.07) 29px,rgba(126,166,226,.07) 30px);}
#panel-floor .fpx-tb{position:absolute;left:2px;right:2px;border-radius:4px;font-size:8.5px;font-weight:700;color:#06121f;padding:2px 4px;overflow:hidden;line-height:1.2;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);}
#panel-floor .fpx-tb.plan{background:repeating-linear-gradient(45deg,rgba(43,212,106,.25),rgba(43,212,106,.25) 5px,rgba(43,212,106,.45) 5px,rgba(43,212,106,.45) 10px);border:1.5px dashed var(--c-run);color:#BFF3DD;}
#panel-floor .fpx-tb.plan.cf{background:repeating-linear-gradient(45deg,rgba(255,77,94,.3),rgba(255,77,94,.3) 5px,rgba(255,77,94,.5) 5px,rgba(255,77,94,.5) 10px);border-color:var(--c-down);color:#fff;animation:fpxPulse 1s infinite;}
#panel-floor .fpx-nowline{position:absolute;left:0;right:0;height:2px;background:var(--c-down);box-shadow:0 0 8px rgba(255,77,94,.9);z-index:4;}
#panel-floor .fpx-nowline::after{content:'';position:absolute;left:-3px;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--c-down);}
#panel-floor .fpx-mini{border:1px solid var(--c-line);border-radius:10px;overflow:hidden;background:#0A1322;}
#panel-floor .fpx-mini svg{display:block;width:100%;height:auto;}

/* ===== 히트맵 (주/월) ===== */
#panel-floor .fpx-hm{background:linear-gradient(180deg,var(--c-pan),var(--c-pan2));border:1px solid var(--c-line);border-radius:14px;padding:16px;}
#panel-floor .fpx-hm-title{font-size:.82rem;color:var(--c-tx2);margin-bottom:12px;}
#panel-floor .fpx-hm-scroll{overflow-x:auto;}
#panel-floor .fpx-hm-row{display:flex;align-items:stretch;gap:3px;margin-bottom:3px;}
#panel-floor .fpx-hm-row.month{min-width:920px;}
#panel-floor .fpx-hm-name{flex:0 0 110px;display:flex;align-items:center;font-size:.76rem;font-weight:700;color:var(--c-tx2);cursor:pointer;}
#panel-floor .fpx-hm-name:hover{color:var(--c-tx);}
#panel-floor .fpx-hm-cell{flex:1;min-width:30px;height:30px;display:flex;align-items:center;justify-content:center;gap:2px;border-radius:5px;font-size:.72rem;font-weight:700;color:#dceaf7;font-variant-numeric:tabular-nums;cursor:pointer;position:relative;}
#panel-floor .fpx-hm-cell.head{background:transparent!important;color:var(--c-tx3);font-weight:700;cursor:default;font-size:.7rem;line-height:1.1;text-align:center;}
#panel-floor .fpx-hm-cell.head.today{color:var(--c-cyan);}
#panel-floor .fpx-hm-cell.sm{flex:0 0 24px;min-width:24px;height:24px;border-radius:3px;}
#panel-floor .fpx-hm-cell.sm.cf{outline:2px solid var(--c-down);outline-offset:-1px;}
#panel-floor .fpx-hm-cell.today{box-shadow:inset 0 0 0 2px var(--c-cyan);}
#panel-floor .fpx-hm-cell.sum{font-weight:800;color:#fff;}
#panel-floor .fpx-hm-cell i{font-style:normal;font-size:.62rem;}
#panel-floor .fpx-hm-name[data-mid]{padding-left:2px;}
#panel-floor .fpx-hm-leg{margin-top:12px;font-size:.72rem;color:var(--c-tx3);display:flex;align-items:center;gap:6px;}
#panel-floor .fpx-hm-leg .ramp{display:inline-block;width:120px;height:9px;border-radius:5px;background:linear-gradient(90deg,#16202e,#22968c,#C77A1E);}

/* ===== 조감 Overview ===== */
#panel-floor .fpx-ov{background:linear-gradient(180deg,var(--c-pan),var(--c-pan2));border:1px solid var(--c-line);border-radius:14px;padding:18px;}
#panel-floor .fpx-ov-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:10px;margin-bottom:14px;}
#panel-floor .fpx-ov-head h4{font-size:1.05rem;font-weight:700;color:var(--c-tx);}
#panel-floor .fpx-ov-kpi{display:flex;gap:18px;font-size:.82rem;color:var(--c-tx2);}
#panel-floor .fpx-ov-kpi b{color:var(--c-cyan);font-variant-numeric:tabular-nums;margin-left:4px;}
#panel-floor .fpx-ov-grid{display:grid;grid-template-columns:1fr 300px;gap:18px;align-items:start;}
@media(max-width:1120px){#panel-floor .fpx-ov-grid{grid-template-columns:1fr;}}
#panel-floor .fpx-cal-h{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px;}
#panel-floor .fpx-cal-h div{text-align:center;font-size:.72rem;font-weight:700;color:var(--c-tx3);}
#panel-floor .fpx-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;}
#panel-floor .fpx-cal-cell{min-height:74px;border-radius:8px;border:1px solid var(--c-line);background:linear-gradient(180deg,color-mix(in srgb,var(--u) 38%,#0e1a2c),#0e1a2c);padding:7px;cursor:pointer;transition:transform .12s;}
#panel-floor .fpx-cal-cell:hover{transform:translateY(-2px);border-color:var(--c-cyan);}
#panel-floor .fpx-cal-cell.empty{background:transparent;border:none;cursor:default;}
#panel-floor .fpx-cal-cell.today{box-shadow:0 0 0 2px var(--c-cyan);}
#panel-floor .fpx-cal-cell .cd{font-size:.82rem;font-weight:800;color:var(--c-tx);}
#panel-floor .fpx-cal-cell .cd em{font-style:normal;font-size:.62rem;color:var(--c-cyan);margin-left:4px;}
#panel-floor .fpx-cal-cell .cu{font-size:.68rem;color:var(--c-tx2);margin-top:6px;font-variant-numeric:tabular-nums;}
#panel-floor .fpx-cal-cell .cm{display:flex;gap:5px;margin-top:5px;font-size:.66rem;}
#panel-floor .fpx-cal-cell .cm .cf{color:#FFB4BC;}
#panel-floor .fpx-cal-cell .cm .dn{color:var(--c-amber);}
#panel-floor .fpx-zbar{display:flex;align-items:center;gap:10px;font-size:.78rem;margin-bottom:9px;}
#panel-floor .fpx-zbar .zn{flex:0 0 78px;color:var(--c-tx2);font-weight:600;}
#panel-floor .fpx-zbar .zt{flex:1;height:9px;background:rgba(255,255,255,.07);border-radius:999px;overflow:hidden;}
#panel-floor .fpx-zbar .zt>span{display:block;height:100%;border-radius:999px;}
#panel-floor .fpx-zbar .zv{flex:0 0 56px;text-align:right;font-weight:700;color:var(--c-tx);font-variant-numeric:tabular-nums;}

/* ===================== 모바일 친화 (≤760px) ===================== */
@media(max-width:760px){
  #panel-floor .fpx-console{padding:10px 10px 14px;border-radius:14px;}

  /* ① 상태 스트립: 줄바꿈·컴팩트, KPI는 한 줄 가득 */
  #panel-floor .fpx-strip{gap:8px 10px;padding:4px 2px 10px;margin-bottom:10px;}
  #panel-floor .fpx-brand{font-size:.85rem;}
  #panel-floor .fpx-when{font-size:.76rem;}
  #panel-floor .fpx-kpis{margin-left:0;width:100%;gap:6px;}
  #panel-floor .fpx-kpi{font-size:.71rem;padding:4px 9px;}

  /* ② 세그먼트 바: 3분할 풀폭, 모드 좌측 정렬 */
  #panel-floor .fpx-segbar{gap:8px;margin-bottom:12px;}
  #panel-floor .fpx-segs{width:100%;}
  #panel-floor .fpx-segs button{flex:1;padding:10px 6px;font-size:.8rem;}
  #panel-floor .fpx-modes,#panel-floor .fpx-scales{margin-left:0;}

  /* ③ 스테이지 */
  #panel-floor .fpx-stage{min-height:0;}

  /* 관제 LIVE 도면: 좌우 스와이프로 탐색(라벨 가독성·탭 타깃 유지) */
  #panel-floor .fpx-floor{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  #panel-floor .fpx-floorsvg{min-width:780px;}
  #panel-floor .fpx-floorhint{font-size:.65rem;left:10px;bottom:8px;}
  #panel-floor .fpx-rail{max-height:none;padding:13px;}

  /* 일정 시간표: 컬럼/거터 약간 좁게 */
  #panel-floor .fpx-col{flex:0 0 66px;}
  #panel-floor .fpx-gut{flex:0 0 44px;}

  /* 히트맵·조감 패널 패딩 */
  #panel-floor .fpx-hm,#panel-floor .fpx-ov{padding:13px;}
  #panel-floor .fpx-ov-kpi{gap:12px;font-size:.76rem;}

  /* 조감 캘린더: 셀 컴팩트 */
  #panel-floor .fpx-cal-h{gap:4px;}
  #panel-floor .fpx-cal-grid{gap:4px;}
  #panel-floor .fpx-cal-cell{min-height:56px;padding:5px;}
  #panel-floor .fpx-cal-cell .cu{margin-top:3px;font-size:.6rem;}
  #panel-floor .fpx-cal-cell .cm{margin-top:3px;}

  /* ④ 타임바: 슬라이더를 전용 줄로, 컨트롤은 위에 줄바꿈 */
  #panel-floor .fpx-timebar{flex-wrap:wrap;gap:10px;padding:9px 11px;margin-top:12px;}
  #panel-floor .fpx-datenav button{width:32px;height:32px;}
  #panel-floor .fpx-dlbl{min-width:0;font-size:.8rem;}
  #panel-floor .fpx-clock{min-width:0;font-size:1rem;}
  #panel-floor .fpx-timebar input[type=range]{flex:1 0 100%;order:9;}
  #panel-floor .fpx-hint{flex:1 0 100%;order:9;}
}

/* ===================== 초소형 (≤430px) ===================== */
@media(max-width:430px){
  #panel-floor .fpx-segs button{padding:10px 4px;font-size:.74rem;}
  #panel-floor .fpx-floorsvg{min-width:680px;}
  #panel-floor .fpx-cal-cell{min-height:50px;padding:4px;}
  #panel-floor .fpx-cal-cell .cd{font-size:.72rem;}
  #panel-floor .fpx-cal-cell .cd em{font-size:.56rem;margin-left:2px;}
  #panel-floor .fpx-cal-cell .cu{font-size:.56rem;}
  #panel-floor .fpx-cal-cell .cm{font-size:.6rem;gap:3px;}
}
