.rack-views{margin:0 0 24px}.rack-views .hint{margin:0}.rack-views button{min-width:120px}.panorama-mode .rack-layout,.panorama-mode .inventory,.panorama-mode .history,.panorama-mode #empty{display:none!important}.panorama{color:#e8f1ff;background:radial-gradient(ellipse at top,#142640 0,#0b1425 58%,#09111e 100%);border:1px solid #243957;border-radius:22px;padding:28px;box-shadow:0 15px 45px #10203318;position:relative;isolation:isolate}.pan-header{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;flex-wrap:wrap}.pan-kicker{font-size:10px;letter-spacing:2.8px;color:#7faff2;font-weight:700}.pan-header h2{color:#eaf4ff;font-size:26px;margin:10px 0 8px}.pan-header p{font-size:13px;color:#8ea6c9;margin:0;max-width:650px}.pan-actions button{background:#14253c;border-color:#354e71;color:#cce2ff;min-height:40px;font-size:13px}.pan-actions button:hover{color:white;border-color:#62bcff}.pan-filter{margin:24px 0 14px;gap:20px}.pan-filter label{color:#9db4d4;font-size:12px;flex:1;max-width:420px}.pan-filter input{width:100%;background:#111e32;border-color:#344e71;color:#e3efff;min-width:0}.pan-filter input::placeholder{color:#758eaf}.pan-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:#a8bdd8}.pan-legend>span{display:flex;align-items:center;gap:7px}.pan-caption{font-size:12px;color:#819bbd;margin:12px 0 20px}.pan-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:20px}.pan-card{display:flex;flex-direction:column;align-items:stretch;text-align:left;padding:20px;gap:16px;background:linear-gradient(150deg,#15223a,#0e1729);color:#dcecff;border:1px solid #2a405e;border-top:3px solid var(--heat);border-radius:16px;min-height:205px;min-width:0;position:relative;transition:transform .18s,border-color .18s,box-shadow .18s}.pan-card:hover{color:#e8f3ff;border-color:var(--heat);transform:translateY(-3px);box-shadow:0 9px 24px #0005,0 0 18px color-mix(in srgb,var(--heat) 12%,transparent)}.pan-card.selected{outline:1px solid #82b7fa55;outline-offset:3px}.pan-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.pan-name{min-width:0}.pan-name strong,.pan-name small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pan-name strong{font-size:15px;font-weight:650}.pan-name small{font-size:12px;color:#8fa8c8;margin-top:7px}.pan-ring{flex:none;width:53px;height:53px;border-radius:50%;background:conic-gradient(var(--heat) var(--load),#253653 0);display:grid;place-items:center;filter:drop-shadow(0 0 7px color-mix(in srgb,var(--heat) 18%,transparent))}.pan-ring span{display:grid;place-items:center;background:#111c2e;width:41px;height:41px;border-radius:50%;font-size:12px;font-weight:700;color:var(--heat)}.pan-counts{display:flex;gap:14px;flex-wrap:wrap;color:#9fb5d4;font-size:12px}.pan-count{display:inline-flex;align-items:center;gap:6px}.status-dot,.rack-led{display:inline-block;width:7px;height:7px;border-radius:50%;flex:none;background:#71829a}.status-dot.active,.rack-device.active .rack-led{background:#26d9a2;box-shadow:0 0 8px #26d9a275}.status-dot.maintenance,.rack-device.maintenance .rack-led{background:#f2bd60;box-shadow:0 0 8px #f2bd6060}.status-dot.inactive,.rack-device.inactive .rack-led{background:#a6adbb}.status-dot.unknown,.rack-device.unknown .rack-led{background:#647791}.status-dot:not(.has-devices){box-shadow:none}.status-dot.active.has-devices,.rack-device.active .rack-led{animation:rack-breathe 2.6s ease-in-out infinite}.status-dot.maintenance.has-devices,.rack-device.maintenance .rack-led{animation:rack-breathe 3.8s ease-in-out infinite}.pan-meta{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#9bb2d3}.pan-capacity{height:4px;border-radius:8px;background:#23344e;overflow:hidden;margin-top:-5px}.pan-capacity i{display:block;height:100%;background:var(--heat);border-radius:inherit}.pan-power{font-size:11px;color:#7f9cbc;margin-top:-7px}.pan-power.over-limit{color:#ffc882}.pan-empty{padding:70px 20px;text-align:center;border:1px dashed #304663;border-radius:15px;color:#9ab2d3}.pan-empty h3{font-size:20px;color:#d9e9ff}.pan-empty p{font-size:14px}.pan-footer{font-size:11px;color:#8096b3;text-align:center;padding-top:28px}.panorama:fullscreen{border-radius:0;padding:30px 3vw;height:100dvh;overflow:auto}.panorama:fullscreen .pan-grid{grid-template-columns:repeat(auto-fill,minmax(245px,1fr))}.rack-led{vertical-align:middle;margin-right:9px;box-shadow:0 0 4px #64779155}.rack-elevation{box-shadow:0 0 0 1px #559dd944,0 0 22px #37b5ff18}.rack-device.active{border-color:#59baa2}.rack-lights-off .status-dot,.rack-lights-off .rack-led,.rack-page-hidden .status-dot,.rack-page-hidden .rack-led{animation:none!important;box-shadow:none!important}.rack-lights-off .rack-elevation{box-shadow:none}.rack-lights-off .pan-ring{filter:none}.rack-lights-off .pan-card:hover{box-shadow:none}@keyframes rack-breathe{0%,100%{opacity:.65;box-shadow:0 0 4px currentColor}50%{opacity:1;box-shadow:0 0 11px currentColor}}.status-dot.active,.rack-device.active .rack-led{color:#26d9a2}.status-dot.maintenance,.rack-device.maintenance .rack-led{color:#f2bd60}@media(prefers-reduced-motion:reduce){.status-dot,.rack-led{animation:none!important}.pan-card{transition:none}.pan-card:hover{transform:none}}@media(max-width:560px){.panorama{padding:20px 16px;border-radius:16px}.pan-grid{grid-template-columns:1fr;gap:16px}.pan-card{min-height:190px}.pan-filter label{max-width:none}.pan-legend{gap:14px}.pan-actions{gap:8px}.pan-header{gap:16px}.pan-header h2{font-size:23px}.panorama:fullscreen{padding:20px 16px}.panorama:fullscreen .pan-grid{grid-template-columns:1fr}.rack-views button{min-width:0}.rack-views .hint{width:100%}}
.pan-grid{grid-template-columns:repeat(auto-fit,minmax(225px,1fr))}.panorama:fullscreen .pan-grid{grid-template-columns:repeat(auto-fit,minmax(245px,1fr))}@keyframes rack-breathe{0%,100%{opacity:.55}50%{opacity:1}}@media(max-width:560px){.pan-filter label{flex-basis:100%}.pan-grid,.panorama:fullscreen .pan-grid{grid-template-columns:1fr}}
.pan-visual{display:flex;align-items:center;gap:16px;flex:none}.pan-beacon-unit{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-width:38px}.pan-beacon-unit small{font-size:10px;color:#a9bed8;white-space:nowrap}.pan-beacon{display:block;width:15px;height:15px;border-radius:50%;background:#637791;border:2px solid #a5bddb33}.pan-beacon.active{background:#39f7b6;color:#39f7b6;box-shadow:0 0 8px #39f7b6aa,0 0 20px #39f7b666}.pan-beacon.maintenance{background:#ffca62;color:#ffca62;box-shadow:0 0 8px #ffca62aa,0 0 20px #ffca6266}.pan-beacon.inactive{background:#a6adbb}.pan-beacon.active.has-devices,.pan-count .status-dot.active.has-devices,.rack-device.active .rack-led{animation:rack-visible-pulse 1.8s ease-in-out infinite}.pan-beacon.maintenance.has-devices,.pan-count .status-dot.maintenance.has-devices,.rack-device.maintenance .rack-led{animation:rack-visible-pulse 2.6s ease-in-out infinite}.pan-count .status-dot{width:9px;height:9px}.rack-led{width:9px;height:9px}.rack-lights-off .pan-beacon,.rack-page-hidden .pan-beacon{animation:none!important;box-shadow:none!important}.pan-actions button[aria-pressed=true]{background:#153b4d;border-color:#30978a;color:#8ff4d9}#pan-effects{color:#9fcee7;margin-bottom:10px}@keyframes rack-visible-pulse{0%,100%{opacity:.2}48%,58%{opacity:1}}@media(prefers-reduced-motion:reduce){.pan-beacon{animation:none!important}}@media(max-width:560px){.pan-visual{gap:12px}}
