/* === POD RACKS/SLOTS PANEL === */

.ps-overlay {
    position: fixed; inset: 0; background: rgba(0,0,0,0);
    z-index: 10000;
    transition: background 0.32s ease;
}
.ps-overlay.ps-overlay-visible { background: rgba(0,0,0,0.55); }

.ps-panel {
    position: fixed;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.25);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: top 0.32s cubic-bezier(0.2,0.8,0.2,1), left 0.32s cubic-bezier(0.2,0.8,0.2,1),
                width 0.32s cubic-bezier(0.2,0.8,0.2,1), height 0.32s cubic-bezier(0.2,0.8,0.2,1),
                opacity 0.22s ease;
}

.ps-panel-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 14px 18px; border-bottom: 1px solid #eee; flex-shrink: 0;
}
.ps-panel-title { font-size: 16px; font-weight: 600; color: #222; }
.ps-close-btn {
    border: none; background: transparent; font-size: 18px; line-height: 1;
    cursor: pointer; color: #888; padding: 4px; width: auto !important;
}
.ps-close-btn:hover { color: #333; }

.ps-panel-body { padding: 18px; overflow-y: auto; flex: 1; }

.ps-rack-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, 230px);
    justify-content: center;
    gap: 16px 18px;
}
.ps-rack-card {
    background: #fafbfc; border: 1px solid #eee; border-radius: 10px; padding: 14px 16px;
}
.ps-rack-card-wide {
    grid-column: span 2;
    /* justify-self: start; */
    padding-left: 8px;
    padding-right: 8px;
}
.ps-rack-title { font-size: 14px; font-weight: 600; color: #185FA5; margin: 0 0 10px; text-align: center; }
.ps-rack-columns { display: flex; gap: 9px; justify-content: center; }
.ps-rack-card-wide .ps-rack-columns { gap: 6px; }
.ps-rack-column { display: flex; flex-direction: column; gap: 4px; }

.ps-tray {
    font-size: 11px; text-align: center; padding: 4px 7px; border-radius: 4px;
    background: #eef0f3; color: #666; min-width: 42px;
}
.ps-tray-occupied {
    background: #f7c1c1; color: #791f1f; font-weight: 600; cursor: default;
}

.ps-loading, .ps-empty, .ps-error {
    padding: 30px; text-align: center; color: #888; font-size: 13px;
}
.ps-error { color: #c0392b; }

.ps-tray-tooltip {
    position: fixed; transform: translate(-50%, -110%);
    background: #1e222a; color: #fff; font-size: 11px; line-height: 1.4;
    padding: 6px 10px; border-radius: 6px; box-shadow: 0 4px 12px rgba(0,0,0,0.3);
    z-index: 10001; pointer-events: none; white-space: nowrap;
}
.ps-tray-tooltip.hidden { display: none; }

/* ===================== DARK MODE ===================== */
body.dark-mode .ps-panel { background: #1e222a; }
body.dark-mode .ps-panel-header { border-color: #383d47; }
body.dark-mode .ps-panel-title { color: #f0f2f5; }
body.dark-mode .ps-rack-card { background: #252a33; border-color: #383d47; }
body.dark-mode .ps-tray { background: #383d47; color: #a0a4ab; }
body.dark-mode .ps-tray-occupied { background: #6b2c2c; color: #f7c1c1; }
