@import '_content/iMedical.Core.SmartDeviceManager.UI/iMedical.Core.SmartDeviceManager.UI.hdjjegf3uc.bundle.scp.css';

/* /Components/Screens/ActivationCodeScreen.razor.rz.scp.css */
/* ActivationCodeScreen — full-screen dark activation */
.acs-screen[b-laza4ktpc3] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100vh;
    background: #0D1B2A;
    padding: 32px;
    text-align: center;
}
/* /Components/Screens/BootstrapScreen.razor.rz.scp.css */
/* BootstrapScreen — full-screen dark loader */
.bss-screen[b-ebh5euo2kk] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100vh;
    background: #0D1B2A;
}

.bss-logo[b-ebh5euo2kk] {
    width: 220px;
    opacity: 0.95;
    margin-bottom: 40px;
}
/* /Components/Screens/ConnectivityErrorScreen.razor.rz.scp.css */
/* ConnectivityErrorScreen — full-screen dark connectivity error */
.conn-screen[b-wqrwc75qeo] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100vh;
    background: #0D1B2A;
    padding: 32px;
    text-align: center;
}
/* /Components/Screens/PendingApprovalScreen.razor.rz.scp.css */
/* PendingApprovalScreen — full-screen dark waiting */
.pas-screen[b-3k5s4zydm4] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100vh;
    background: #0D1B2A;
    padding: 32px;
    text-align: center;
}
/* /Components/Screens/RegistrationBlockedScreen.razor.rz.scp.css */
/* RegistrationBlockedScreen — full-screen dark blocked state */
.blocked-screen[b-gi7fa3396k] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100vh;
    background: #0D1B2A;
    padding: 32px;
    text-align: center;
}
/* /Components/Screens/RejectedScreen.razor.rz.scp.css */
/* RejectedScreen — full-screen dark error */
.rej-screen[b-1zcil2oodm] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100vh;
    background: #0D1B2A;
    padding: 32px;
    text-align: center;
}
/* /Components/Screens/SuspendedScreen.razor.rz.scp.css */
/* SuspendedScreen — full-screen dark info */
.sus-screen[b-al16yh52be] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100vh;
    background: #0D1B2A;
    padding: 32px;
    text-align: center;
}
/* /Components/Visualizations/DefaultView.razor.rz.scp.css */
/* DefaultView — full-screen placeholder */
.def-screen[b-7qdae8wzjn] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100vh;
    background: #0D1B2A;
}
/* /Components/Visualizations/EmergencyView.razor.rz.scp.css */
/* EmergencyView — full-screen emergency alert */
@keyframes emg-pulse-b-io2ibxkvht {
    0%, 100% { opacity: 1; transform: scale(1); }
    50%       { opacity: 0.7; transform: scale(1.05); }
}

.emg-board[b-io2ibxkvht] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100vh;
    background: var(--emg-bg, #B71C1C);
    padding: 40px;
    text-align: center;
}
/* /Components/Visualizations/FloorStatusView.razor.rz.scp.css */
/* FloorStatusView — full-screen room status grid */
.fls-board[b-mo49irjrpc] {
    display: flex;
    flex-direction: column;
    height: 100vh;
    background: var(--fs-bg, #0D1B2A);
    padding: 24px;
}

.fls-header[b-mo49irjrpc] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
}

.fls-clock-area[b-mo49irjrpc] {
    text-align: right;
}

.fls-legend[b-mo49irjrpc] {
    display: flex;
    gap: 16px;
    margin-top: 8px;
    justify-content: flex-end;
}

.fls-legend-item[b-mo49irjrpc] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.fls-legend-dot[b-mo49irjrpc] {
    width: 12px;
    height: 12px;
    border-radius: 3px;
}

.fls-grid[b-mo49irjrpc] {
    flex: 1;
    overflow: hidden;
}

.fls-rooms[b-mo49irjrpc] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 16px;
    align-content: start;
}

.fls-room[b-mo49irjrpc] {
    border-radius: 12px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-height: 120px;
}

.fls-room-hdr[b-mo49irjrpc] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.fls-room-badge[b-mo49irjrpc] {
    background: rgba(0, 0, 0, 0.25);
    border-radius: 12px;
    padding: 2px 10px;
    display: inline-block;
    width: fit-content;
}

.fls-stats[b-mo49irjrpc] {
    display: flex;
    gap: 24px;
    justify-content: center;
    margin-top: 20px;
}

.fls-stat[b-mo49irjrpc] {
    background: rgba(255, 255, 255, 0.07);
    border-radius: 20px;
    padding: 8px 20px;
    text-align: center;
}

.fls-stat-num[b-mo49irjrpc] {
    font-size: 1.25rem;
    font-weight: 700;
}

.fls-empty[b-mo49irjrpc] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.fls-empty-inner[b-mo49irjrpc] {
    text-align: center;
}
/* /Components/Visualizations/InfoMessageView.razor.rz.scp.css */
/* InfoMessageView — full-screen info message rotator */
.inf-board[b-idzvhlujiz] {
    display: flex;
    flex-direction: column;
    height: 100vh;
    background: var(--inf-bg, #0D1B2A);
}

.inf-header[b-idzvhlujiz] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 28px 36px 0;
}

.inf-header-left[b-idzvhlujiz] {
    display: flex;
    align-items: center;
    gap: 16px;
}

.inf-logo[b-idzvhlujiz] {
    height: 52px;
    object-fit: contain;
}

.inf-content[b-idzvhlujiz] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 48px;
}

.inf-msg-box[b-idzvhlujiz] {
    text-align: center;
    max-width: 900px;
}

.inf-empty[b-idzvhlujiz] {
    text-align: center;
}

.inf-dots[b-idzvhlujiz] {
    display: flex;
    justify-content: center;
    gap: 10px;
    padding: 20px;
}

.inf-footer[b-idzvhlujiz] {
    padding: 16px 36px;
    background: rgba(0, 0, 0, 0.2);
    display: flex;
    justify-content: center;
}
/* /Components/Visualizations/KioskCheckinView.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════════════════
   KioskCheckinView — kiosk_checkin visualization
   All classes prefixed  ksk-  to avoid collisions with other viz types.
   Sizes use clamp() for responsive scaling across 720p → 4K displays.
   Touch targets enforce min-height: 80px per accessibility best-practices.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Root board ──────────────────────────────────────────────────────────── */
.ksk-board[b-neiwc0zk0w] {
    display: flex;
    flex-direction: column;
    height: 100vh;
    overflow: hidden;
    background-color: var(--ksk-bg, #F0F4F8);
    background-image: var(--ksk-bg-image, none);
    background-size: cover;
    background-position: center;
    font-family: inherit;
    box-sizing: border-box;
}

/* ── Header ──────────────────────────────────────────────────────────────── */
.ksk-header[b-neiwc0zk0w] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: clamp(10px, 1.4vh, 22px) clamp(16px, 3vw, 52px);
    background: var(--ksk-primary, #005EB8);
    flex-shrink: 0;
    min-height: clamp(56px, 8vh, 88px);
}

.ksk-header-logo[b-neiwc0zk0w] {
    display: flex;
    align-items: center;
    min-width: 0;
}

.ksk-logo[b-neiwc0zk0w] {
    height: clamp(34px, 5vh, 62px);
    max-width: clamp(120px, 20vw, 280px);
    object-fit: contain;
}

.ksk-header-clock[b-neiwc0zk0w] {
    font-size: clamp(1.2rem, 2.4vw, 2.8rem);
    font-weight: 300;
    color: rgba(255, 255, 255, 0.85);
    font-family: monospace;
    letter-spacing: 0.04em;
    flex-shrink: 0;
    margin-left: 12px;
}

/* ── Centered logo (below header, above welcome) ────────────────────────── */
.ksk-logo-center[b-neiwc0zk0w] {
    display: flex;
    justify-content: center;
    padding: clamp(12px, 2vh, 24px) clamp(16px, 3vw, 52px) 0;
    flex-shrink: 0;
}

.ksk-logo-center-img[b-neiwc0zk0w] {
    height: clamp(50px, 8vh, 100px);
    max-width: clamp(180px, 30vw, 360px);
    object-fit: contain;
}

/* ── Welcome section ─────────────────────────────────────────────────────── */
.ksk-welcome[b-neiwc0zk0w] {
    text-align: center;
    padding: clamp(14px, 2.2vh, 32px) clamp(24px, 5vw, 80px) clamp(6px, 0.8vh, 14px);
    flex-shrink: 0;
}

.ksk-welcome-title[b-neiwc0zk0w] {
    font-size: clamp(1.8rem, 4vw, 5rem);
    font-weight: 700;
    color: var(--ksk-primary, #005EB8);
    line-height: 1.1;
}

.ksk-welcome-subtitle[b-neiwc0zk0w] {
    font-size: clamp(1rem, 1.8vw, 2.2rem);
    color: #546E7A;
    margin-top: clamp(4px, 0.5vh, 10px);
    line-height: 1.3;
}

/* ── Action panels ───────────────────────────────────────────────────────── */
.ksk-panels[b-neiwc0zk0w] {
    display: flex;
    flex-direction: column;
    gap: clamp(8px, 1.2vh, 16px);
    padding: clamp(8px, 1vh, 16px) clamp(16px, 5vw, 80px);
    flex: 1;
    overflow: hidden;
    justify-content: center;
}

.ksk-panel[b-neiwc0zk0w] {
    display: flex;
    align-items: center;
    gap: clamp(12px, 2vw, 28px);
    padding: clamp(12px, 1.8vh, 22px) clamp(16px, 2.5vw, 36px);
    border-radius: clamp(8px, 1vw, 16px);
    cursor: pointer;
    user-select: none;
    min-height: 80px;      /* touch-target minimum */
    flex-shrink: 0;
    transition: filter 0.15s ease, transform 0.12s ease;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.13);
}

.ksk-panel:active[b-neiwc0zk0w] {
    filter: brightness(0.90);
    transform: scale(0.985);
}

.ksk-panel-icon[b-neiwc0zk0w] {
    font-size: clamp(1.8rem, 3.2vw, 4.2rem);
    flex-shrink: 0;
    line-height: 1;
}

.ksk-panel-image[b-neiwc0zk0w] {
    height: clamp(46px, 6vh, 70px);
    width:  clamp(46px, 6vh, 70px);
    object-fit: cover;
    border-radius: 10px;
    flex-shrink: 0;
}

.ksk-panel-body[b-neiwc0zk0w] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}

.ksk-panel-label[b-neiwc0zk0w] {
    font-size: clamp(1rem, 2vw, 2.6rem);
    font-weight: 700;
    line-height: 1.2;
}

.ksk-panel-desc[b-neiwc0zk0w] {
    font-size: clamp(0.72rem, 1.2vw, 1.5rem);
    opacity: 0.82;
    margin-top: 4px;
    line-height: 1.3;
}

.ksk-panel-arrow[b-neiwc0zk0w] {
    font-size: clamp(1.6rem, 3vw, 3.6rem);
    opacity: 0.65;
    flex-shrink: 0;
    font-weight: 200;
    line-height: 1;
}

.ksk-panels-empty[b-neiwc0zk0w] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #90A4AE;
    font-size: clamp(0.9rem, 1.4vw, 1.6rem);
}

/* ── Info message ────────────────────────────────────────────────────────── */
.ksk-info-msg[b-neiwc0zk0w] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: clamp(6px, 0.8vh, 12px) clamp(16px, 4vw, 64px);
    flex-shrink: 0;
}

.ksk-info-icon[b-neiwc0zk0w] {
    font-size: clamp(0.85rem, 1.4vw, 1.6rem);
    flex-shrink: 0;
}

.ksk-info-text[b-neiwc0zk0w] {
    font-size: clamp(0.72rem, 1.1vw, 1.3rem);
    color: #78909C;
    text-align: center;
    line-height: 1.4;
}

/* ── Digital channels ────────────────────────────────────────────────────── */
.ksk-channels[b-neiwc0zk0w] {
    display: flex;
    flex-direction: row;
    gap: clamp(8px, 1.5vw, 20px);
    padding: clamp(8px, 1vh, 14px) clamp(16px, 5vw, 80px) clamp(12px, 1.8vh, 24px);
    flex-shrink: 0;
}

.ksk-channel[b-neiwc0zk0w] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: clamp(10px, 1.6vh, 20px) clamp(8px, 1.2vw, 16px);
    border-radius: clamp(8px, 1vw, 14px);
    cursor: pointer;
    user-select: none;
    min-height: 80px;     /* touch-target minimum */
    gap: clamp(5px, 0.7vh, 9px);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.09);
    transition: filter 0.15s ease, transform 0.12s ease;
}

.ksk-channel:active[b-neiwc0zk0w] {
    filter: brightness(0.91);
    transform: scale(0.98);
}

.ksk-channel-image[b-neiwc0zk0w] {
    height: clamp(36px, 4.8vh, 62px);
    max-width: 100%;
    object-fit: contain;
}

.ksk-channel-label[b-neiwc0zk0w] {
    font-size: clamp(0.68rem, 1.1vw, 1.3rem);
    font-weight: 700;
    text-align: center;
    line-height: 1.2;
}

.ksk-channel-badge[b-neiwc0zk0w] {
    height: clamp(18px, 2.2vh, 30px);
    max-width: 90%;
    object-fit: contain;
}

.ksk-channels-empty[b-neiwc0zk0w] {
    flex: 1;
    text-align: center;
    color: #90A4AE;
    font-size: clamp(0.8rem, 1.2vw, 1.4rem);
    padding: 12px;
}

/* ── QR Modal overlay ────────────────────────────────────────────────────── */
.ksk-modal-overlay[b-neiwc0zk0w] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.60);
    z-index: 9000;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: ksk-fade-in-b-neiwc0zk0w 0.18s ease;
}

@keyframes ksk-fade-in-b-neiwc0zk0w {
    from { opacity: 0; }
    to   { opacity: 1; }
}

.ksk-modal-panel[b-neiwc0zk0w] {
    background: #FFFFFF;
    border-radius: clamp(12px, 1.5vw, 22px);
    padding: clamp(22px, 2.8vw, 46px);
    width: min(560px, 82vw);
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.38);
    z-index: 9001;
    animation: ksk-slide-up-b-neiwc0zk0w 0.22s ease;
}

@keyframes ksk-slide-up-b-neiwc0zk0w {
    from { transform: translateY(20px); opacity: 0.6; }
    to   { transform: translateY(0);    opacity: 1;   }
}

.ksk-modal-header[b-neiwc0zk0w] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: clamp(14px, 2vh, 24px);
    gap: 12px;
}

.ksk-modal-title[b-neiwc0zk0w] {
    font-size: clamp(1rem, 1.8vw, 1.8rem);
    font-weight: 700;
    color: var(--ksk-primary, #005EB8);
    line-height: 1.2;
}

.ksk-modal-close[b-neiwc0zk0w] {
    background: #ECEFF1;
    border: none;
    border-radius: 8px;
    padding: clamp(8px, 1vh, 12px) clamp(14px, 1.5vw, 22px);
    font-size: clamp(0.82rem, 1.3vw, 1.4rem);
    cursor: pointer;
    color: #546E7A;
    min-height: 44px;        /* touch-target minimum */
    flex-shrink: 0;
    transition: background 0.12s ease;
    font-weight: 600;
}

.ksk-modal-close:hover[b-neiwc0zk0w],
.ksk-modal-close:active[b-neiwc0zk0w] {
    background: #CFD8DC;
}

.ksk-qr-placeholder[b-neiwc0zk0w] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(10px, 1.5vh, 18px);
    padding: clamp(20px, 3vh, 36px);
    background: #F5F7FA;
    border-radius: 14px;
    margin-bottom: clamp(10px, 1.5vh, 18px);
    text-align: center;
}

.ksk-qr-icon[b-neiwc0zk0w] {
    font-size: clamp(3rem, 6vw, 6rem);
    line-height: 1;
}

.ksk-qr-url[b-neiwc0zk0w] {
    font-family: monospace;
    font-size: clamp(0.78rem, 1.3vw, 1.4rem);
    color: #455A64;
    word-break: break-all;
    line-height: 1.5;
    max-width: 100%;
}

.ksk-modal-panel-label[b-neiwc0zk0w] {
    font-size: clamp(0.9rem, 1.5vw, 1.6rem);
    font-weight: 600;
    color: #546E7A;
    text-align: center;
}

/* ═══════════════════════════════════════════════════════════════════════════
   Check-in flow overlay (Steps 1–5)
   ═══════════════════════════════════════════════════════════════════════════ */

.ksk-checkin-overlay[b-neiwc0zk0w] {
    position: fixed;
    inset: 0;
    z-index: 8000;
    background: #FFFFFF;
    display: flex;
    flex-direction: column;
    animation: ksk-fade-in-b-neiwc0zk0w 0.2s ease;
}

/* ── Persistent logo inside check-in overlay ─────────────────────────────── */
.ksk-checkin-logo[b-neiwc0zk0w] {
    display: flex;
    justify-content: center;
    padding: clamp(14px, 2.2vh, 26px) clamp(16px, 3vw, 52px) 0;
    flex-shrink: 0;
    background: #FFFFFF;
}

/* ── Step header with back button + title ────────────────────────────────── */
.ksk-checkin-header[b-neiwc0zk0w] {
    display: flex;
    align-items: center;
    gap: clamp(10px, 1.5vw, 20px);
    padding: clamp(12px, 1.8vh, 22px) clamp(20px, 4vw, 60px);
    background: var(--ksk-primary, #005EB8);
    flex-shrink: 0;
    min-height: clamp(54px, 7vh, 80px);
}

.ksk-checkin-back[b-neiwc0zk0w] {
    background: rgba(255, 255, 255, 0.18);
    border: none;
    border-radius: 10px;
    padding: clamp(8px, 1vh, 14px) clamp(14px, 1.8vw, 24px);
    font-size: clamp(0.9rem, 1.5vw, 1.6rem);
    color: #FFFFFF;
    cursor: pointer;
    min-height: 44px;
    flex-shrink: 0;
    transition: background 0.12s ease;
    font-weight: 600;
}

.ksk-checkin-back:active[b-neiwc0zk0w] {
    background: rgba(255, 255, 255, 0.3);
}

.ksk-checkin-title[b-neiwc0zk0w] {
    font-size: clamp(1.1rem, 2.2vw, 2.4rem);
    font-weight: 700;
    color: #FFFFFF;
    line-height: 1.2;
}

/* ── Step content area ───────────────────────────────────────────────────── */
.ksk-checkin-content[b-neiwc0zk0w] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: clamp(16px, 2.5vh, 36px) clamp(20px, 5vw, 80px);
    overflow-y: auto;
}

/* ── Step 1: ID type selection grid ──────────────────────────────────────── */
.ksk-checkin-subtitle[b-neiwc0zk0w] {
    font-size: clamp(1rem, 1.8vw, 2rem);
    color: #546E7A;
    margin-bottom: clamp(16px, 2.5vh, 32px);
    text-align: center;
}

.ksk-idtype-grid[b-neiwc0zk0w] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(12px, 2vh, 22px);
    width: min(600px, 80vw);
}

.ksk-idtype-btn[b-neiwc0zk0w] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: clamp(6px, 1vh, 12px);
    padding: clamp(20px, 3vh, 36px) clamp(16px, 2.5vw, 28px);
    border-radius: clamp(10px, 1.2vw, 16px);
    border: 2px solid #E0E0E0;
    background: #FFFFFF;
    cursor: pointer;
    user-select: none;
    min-height: 120px;
    transition: border-color 0.15s ease, transform 0.12s ease, box-shadow 0.15s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.ksk-idtype-btn:active[b-neiwc0zk0w] {
    transform: scale(0.97);
    border-color: var(--ksk-primary, #005EB8);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

.ksk-idtype-code[b-neiwc0zk0w] {
    font-size: clamp(2.4rem, 5vw, 5rem);
    font-weight: 800;
    color: var(--ksk-primary, #005EB8);
    line-height: 1;
}

.ksk-idtype-label[b-neiwc0zk0w] {
    font-size: clamp(1rem, 1.8vw, 1.8rem);
    color: #546E7A;
    text-align: center;
    line-height: 1.3;
}

/* ── Step 2: Numeric keypad ──────────────────────────────────────────────── */
.ksk-numpad-info[b-neiwc0zk0w] {
    font-size: clamp(0.85rem, 1.3vw, 1.5rem);
    color: #78909C;
    margin-bottom: clamp(8px, 1vh, 14px);
    text-align: center;
}

.ksk-numpad-display[b-neiwc0zk0w] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: min(480px, 78vw);
    min-height: clamp(54px, 7vh, 76px);
    padding: clamp(10px, 1.4vh, 18px) clamp(16px, 2vw, 28px);
    background: #F5F7FA;
    border: 2px solid #CFD8DC;
    border-radius: 12px;
    margin-bottom: clamp(14px, 2vh, 24px);
    font-family: monospace;
    font-size: clamp(1.6rem, 3.2vw, 3.6rem);
    font-weight: 600;
    color: #263238;
    letter-spacing: 0.12em;
    text-align: center;
    word-break: break-all;
}

.ksk-numpad-cursor[b-neiwc0zk0w] {
    display: inline-block;
    width: 2px;
    height: 1.1em;
    background: var(--ksk-primary, #005EB8);
    margin-left: 2px;
    animation: ksk-blink-b-neiwc0zk0w 1s step-end infinite;
}

@keyframes ksk-blink-b-neiwc0zk0w {
    50% { opacity: 0; }
}

.ksk-numpad[b-neiwc0zk0w] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(8px, 1.2vh, 14px);
    width: min(380px, 70vw);
    margin-bottom: clamp(10px, 1.5vh, 18px);
}

.ksk-numpad-key[b-neiwc0zk0w] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 70px;
    min-height: 70px;
    border-radius: 14px;
    border: 1px solid #E0E0E0;
    background: #FFFFFF;
    cursor: pointer;
    user-select: none;
    font-size: clamp(1.4rem, 2.6vw, 3rem);
    font-weight: 600;
    color: #263238;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
    transition: background 0.1s ease, transform 0.1s ease;
}

.ksk-numpad-key:active[b-neiwc0zk0w] {
    background: #ECEFF1;
    transform: scale(0.95);
}

.ksk-numpad-key--action[b-neiwc0zk0w] {
    background: #ECEFF1;
    color: #546E7A;
}

.ksk-numpad-key--submit[b-neiwc0zk0w] {
    background: var(--ksk-primary, #005EB8);
    color: #FFFFFF;
    border-color: var(--ksk-primary, #005EB8);
}

.ksk-numpad-key--submit:active[b-neiwc0zk0w] {
    background: var(--ksk-secondary, #00A9CE);
}

.ksk-numpad-key--disabled[b-neiwc0zk0w] {
    opacity: 0.35;
    pointer-events: none;
}

.ksk-numpad-clear[b-neiwc0zk0w] {
    background: none;
    border: none;
    color: #B0BEC5;
    font-size: clamp(0.78rem, 1.1vw, 1.2rem);
    cursor: pointer;
    padding: 8px 16px;
    transition: color 0.12s ease;
}

.ksk-numpad-clear:active[b-neiwc0zk0w] {
    color: #546E7A;
}

/* ── Step 3: Validating spinner ──────────────────────────────────────────── */
.ksk-spinner[b-neiwc0zk0w] {
    width: clamp(48px, 6vh, 72px);
    height: clamp(48px, 6vh, 72px);
    border: 5px solid #E0E0E0;
    border-top-color: var(--ksk-primary, #005EB8);
    border-radius: 50%;
    animation: ksk-spin-b-neiwc0zk0w 0.8s linear infinite;
    margin-bottom: clamp(16px, 2.5vh, 28px);
}

@keyframes ksk-spin-b-neiwc0zk0w {
    to { transform: rotate(360deg); }
}

.ksk-validating-text[b-neiwc0zk0w] {
    font-size: clamp(1.1rem, 2vw, 2.2rem);
    font-weight: 600;
    color: #455A64;
    margin-bottom: clamp(6px, 1vh, 12px);
}

.ksk-validating-id[b-neiwc0zk0w] {
    font-size: clamp(0.9rem, 1.5vw, 1.6rem);
    color: #78909C;
    font-family: monospace;
}

/* ── Step 4: Result — alert (not registered / no appointments) ───────────── */
.ksk-alert[b-neiwc0zk0w] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(10px, 1.5vh, 18px);
    max-width: min(520px, 80vw);
    text-align: center;
}

.ksk-alert-icon[b-neiwc0zk0w] {
    font-size: clamp(3rem, 6vh, 6rem);
    line-height: 1;
}

.ksk-alert-title[b-neiwc0zk0w] {
    font-size: clamp(1.3rem, 2.4vw, 2.8rem);
    font-weight: 700;
    color: #37474F;
}

.ksk-alert-body[b-neiwc0zk0w] {
    font-size: clamp(0.9rem, 1.5vw, 1.7rem);
    color: #78909C;
    line-height: 1.5;
}

/* ── Step 4: Result — appointment found card ─────────────────────────────── */
.ksk-result-title[b-neiwc0zk0w] {
    font-size: clamp(1.3rem, 2.4vw, 2.8rem);
    font-weight: 700;
    color: var(--ksk-primary, #005EB8);
    margin-bottom: clamp(16px, 2.5vh, 28px);
}

.ksk-result-card[b-neiwc0zk0w] {
    width: min(540px, 82vw);
    background: #F5F7FA;
    border-radius: clamp(12px, 1.5vw, 20px);
    padding: clamp(18px, 2.8vh, 32px) clamp(20px, 3vw, 36px);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: column;
    gap: clamp(12px, 1.8vh, 20px);
    margin-bottom: clamp(16px, 2.5vh, 28px);
}

.ksk-result-row[b-neiwc0zk0w] {
    display: flex;
    align-items: center;
    gap: clamp(10px, 1.5vw, 18px);
}

.ksk-result-icon[b-neiwc0zk0w] {
    font-size: clamp(1.3rem, 2.2vw, 2.4rem);
    flex-shrink: 0;
    line-height: 1;
    width: clamp(30px, 3vw, 38px);
    text-align: center;
}

.ksk-result-label[b-neiwc0zk0w] {
    font-size: clamp(0.78rem, 1.1vw, 1.2rem);
    color: #90A4AE;
    min-width: clamp(80px, 8vw, 110px);
}

.ksk-result-value[b-neiwc0zk0w] {
    font-size: clamp(1rem, 1.7vw, 2rem);
    font-weight: 600;
    color: #263238;
    flex: 1;
}

/* ── Confirm admission button ────────────────────────────────────────────── */
.ksk-confirm-btn[b-neiwc0zk0w] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: min(440px, 78vw);
    min-height: clamp(56px, 7vh, 80px);
    padding: clamp(14px, 2vh, 22px) clamp(20px, 3vw, 36px);
    background: var(--ksk-primary, #005EB8);
    color: #FFFFFF;
    border: none;
    border-radius: 14px;
    font-size: clamp(1.1rem, 2vw, 2.2rem);
    font-weight: 700;
    cursor: pointer;
    user-select: none;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);
    transition: background 0.12s ease, transform 0.12s ease;
}

.ksk-confirm-btn:active[b-neiwc0zk0w] {
    background: var(--ksk-secondary, #00A9CE);
    transform: scale(0.98);
}

/* ── Home / generic action button ────────────────────────────────────────── */
.ksk-home-btn[b-neiwc0zk0w] {
    background: none;
    border: 2px solid #CFD8DC;
    border-radius: 12px;
    padding: clamp(10px, 1.4vh, 16px) clamp(20px, 2.5vw, 36px);
    font-size: clamp(0.9rem, 1.5vw, 1.6rem);
    color: #546E7A;
    cursor: pointer;
    min-height: 44px;
    margin-top: clamp(10px, 1.5vh, 18px);
    transition: background 0.12s ease;
    font-weight: 600;
}

.ksk-home-btn:active[b-neiwc0zk0w] {
    background: #ECEFF1;
}

/* ── Step 5: Confirmation success ────────────────────────────────────────── */
.ksk-success-icon[b-neiwc0zk0w] {
    font-size: clamp(4rem, 8vh, 8rem);
    line-height: 1;
    animation: ksk-scale-in-b-neiwc0zk0w 0.35s ease;
}

@keyframes ksk-scale-in-b-neiwc0zk0w {
    from { transform: scale(0.5); opacity: 0; }
    to   { transform: scale(1);   opacity: 1; }
}

.ksk-success-title[b-neiwc0zk0w] {
    font-size: clamp(1.5rem, 2.8vw, 3.4rem);
    font-weight: 700;
    color: #2E7D32;
    margin-top: clamp(8px, 1.2vh, 16px);
}

.ksk-success-body[b-neiwc0zk0w] {
    font-size: clamp(1rem, 1.8vw, 2rem);
    color: #455A64;
    margin-top: clamp(4px, 0.6vh, 8px);
    text-align: center;
    line-height: 1.4;
}

.ksk-success-location[b-neiwc0zk0w] {
    font-size: clamp(1.1rem, 1.8vw, 2rem);
    font-weight: 700;
    color: #263238;
    margin-top: clamp(2px, 0.3vh, 4px);
}

.ksk-success-counter[b-neiwc0zk0w] {
    font-size: clamp(0.85rem, 1.3vw, 1.5rem);
    color: #90A4AE;
    margin-top: clamp(12px, 2vh, 20px);
}

/* ── Turn assigned — large turn number ──────────────────────────────────── */
.ksk-turn-number[b-neiwc0zk0w] {
    font-size: clamp(4rem, 10vw, 10rem);
    font-weight: 900;
    color: var(--ksk-primary, #005EB8);
    line-height: 1;
    margin-top: clamp(8px, 1.2vh, 16px);
    letter-spacing: 0.04em;
    animation: ksk-scale-in-b-neiwc0zk0w 0.35s ease;
}

.ksk-turn-category[b-neiwc0zk0w] {
    font-size: clamp(1.1rem, 2vw, 2.2rem);
    color: #546E7A;
    margin-top: clamp(4px, 0.6vh, 8px);
    font-weight: 600;
}
/* /Components/Visualizations/PatientCallView.razor.rz.scp.css */
/* ── Row-highlight animations ─────────────────────────────────────────────── */
@keyframes imc-row-in-b-ayxgt48mrk {
    from {
        opacity: 0.2;
        transform: translateX(-10px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes imc-row-pulse-b-ayxgt48mrk {
    0%, 100% {
        filter: brightness(1.08);
    }

    50% {
        filter: brightness(1.22);
    }
}

.imc-row-new[b-ayxgt48mrk] {
    animation: imc-row-in-b-ayxgt48mrk 0.35s ease-out, imc-row-pulse-b-ayxgt48mrk 1.6s ease-in-out 0.35s infinite;
}

@keyframes imc-bell-ring-b-ayxgt48mrk {
    0% {
        transform: rotate(0deg) scale(1);
    }

    6% {
        transform: rotate(18deg) scale(1.18);
    }

    12% {
        transform: rotate(-16deg) scale(1.18);
    }

    18% {
        transform: rotate(14deg) scale(1.15);
    }

    24% {
        transform: rotate(-12deg) scale(1.12);
    }

    30% {
        transform: rotate(8deg) scale(1.08);
    }

    36% {
        transform: rotate(-6deg) scale(1.05);
    }

    42% {
        transform: rotate(4deg) scale(1.02);
    }

    48%, 100% {
        transform: rotate(0deg) scale(1);
    }
}

@keyframes imc-bell-glow-b-ayxgt48mrk {
    0%, 48%, 100% {
        filter: drop-shadow(0 0 0px transparent);
    }

    6% {
        filter: drop-shadow(0 0 10px #FFA000cc);
    }

    12% {
        filter: drop-shadow(0 0 14px #FFA000cc);
    }

    30% {
        filter: drop-shadow(0 0 6px #FFA000aa);
    }
}

.imc-bell[b-ayxgt48mrk] {
    display: inline-block;
    transform-origin: top center;
    animation: imc-bell-ring-b-ayxgt48mrk 2.4s ease-in-out 0.35s infinite, imc-bell-glow-b-ayxgt48mrk 2.4s ease-in-out 0.35s infinite;
}

/* ── Main layout ──────────────────────────────────────────────────────────── */
.imc-board[b-ayxgt48mrk] {
    display: flex;
    flex-direction: column;
    height: 100vh;
    background: var(--imc-bg, #BBDEFB);
    overflow: hidden;
}

/* ── Body (media + grid) ──────────────────────────────────────────────────── */
.imc-body[b-ayxgt48mrk] {
    display: flex;
    flex: 1;
    overflow: hidden;
}

/* ── Call grid ────────────────────────────────────────────────────────────── */
.imc-grid-area[b-ayxgt48mrk] {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.imc-grid-header[b-ayxgt48mrk] {
    display: flex;
    background: linear-gradient(rgba(0,0,0,0.3), rgba(0,0,0,0.3)), var(--imc-primary, #1565C0);
    flex-shrink: 0;
}

.imc-grid-header-col[b-ayxgt48mrk] {
    flex: 1;
    padding: clamp(10px, 2vh, 24px) clamp(12px, 2vw, 28px);
    text-align: center;
    font-size: clamp(1rem, 2vw, 2.4rem);
    font-weight: 700;
    color: #fff;
    border-right: 1px solid rgba(255, 255, 255, 0.25);
}

.imc-rows[b-ayxgt48mrk] {
    flex: 1;
    overflow: hidden;
}

.imc-row[b-ayxgt48mrk] {
    display: flex;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.imc-row-even[b-ayxgt48mrk] {
    background: var(--imc-primary, #1565C0);
}

.imc-row-odd[b-ayxgt48mrk] {
    background: var(--imc-bg, #BBDEFB);
}

.imc-row-even .imc-cell[b-ayxgt48mrk] {
    color: var(--imc-primary-text, #FFFFFF);
}

.imc-row-odd .imc-cell[b-ayxgt48mrk] {
    color: var(--imc-secondary-text, #212121);
}

@keyframes imc-hl-bg-pulse-b-ayxgt48mrk {
    0%, 100% {
        background: var(--imc-highlight-bg, #E8F5E9);
    }

    50% {
        background: color-mix(in srgb, var(--imc-highlight-bg, #E8F5E9) 72%, var(--imc-highlight, #FFA000));
    }
}
/* Especificidad elevada (3 clases) para superar .imc-row-even/.imc-row-odd (1 clase) sin !important.
   También sobreescribe la animación de .imc-row-new para evitar el filter:brightness que blanquea. */
.imc-rows .imc-row.imc-row-highlighted[b-ayxgt48mrk] {
    background: var(--imc-highlight-bg, #E8F5E9);
    animation: imc-row-in-b-ayxgt48mrk 0.35s ease-out, imc-hl-bg-pulse-b-ayxgt48mrk 1.6s ease-in-out 0.35s infinite;
}

    .imc-rows .imc-row.imc-row-highlighted .imc-cell[b-ayxgt48mrk] {
        color: #212121;
    }

.imc-cell[b-ayxgt48mrk] {
    flex: 1;
    padding: clamp(8px, 1.8vh, 20px) clamp(12px, 2vw, 28px);
    text-align: center;
    font-size: clamp(0.95rem, 1.8vw, 2.2rem);
    font-weight: 600;
    border-right: 1px solid rgba(0, 0, 0, 0.06);
}

.imc-count-badge[b-ayxgt48mrk] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 8px;
    padding: 1px 8px;
    border-radius: 10px;
    color: #FFFFFF;
    font-size: clamp(0.55rem, 1.1vw, 1rem);
    font-weight: 700;
    vertical-align: middle;
    white-space: nowrap;
}

/* ── Attended (Atendido) row ──────────────────────────────────────────────── */
.imc-rows .imc-row.imc-row-attended[b-ayxgt48mrk] {
    background: #E8F5E9;
    animation: imc-attended-fadeout-b-ayxgt48mrk 4s ease-in-out forwards;
}

    .imc-rows .imc-row.imc-row-attended .imc-cell[b-ayxgt48mrk] {
        color: #1B5E20;
    }

@keyframes imc-attended-fadeout-b-ayxgt48mrk {
    0%   { opacity: 1; }
    60%  { opacity: 1; }
    100% { opacity: 0; }
}

.imc-bell-attended[b-ayxgt48mrk] {
    animation: none;
}

.imc-attended-badge[b-ayxgt48mrk] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 8px;
    padding: 1px 10px;
    border-radius: 10px;
    background: #388E3C;
    color: #FFFFFF;
    font-size: clamp(0.55rem, 1.1vw, 1rem);
    font-weight: 700;
    vertical-align: middle;
    white-space: nowrap;
}

/* ── Empty state ──────────────────────────────────────────────────────────── */
.imc-empty[b-ayxgt48mrk] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    opacity: 0.4;
}

.imc-empty-icon[b-ayxgt48mrk] {
    font-size: clamp(2rem, 4vw, 5rem);
}

.imc-empty-text[b-ayxgt48mrk] {
    font-size: clamp(0.9rem, 1.5vw, 2rem);
    color: #546E7A;
    margin-top: 12px;
}

/* ── Footer ───────────────────────────────────────────────────────────────── */
.imc-footer[b-ayxgt48mrk] {
    text-align: center;
    padding: clamp(4px, 0.8vh, 10px) 20px;
    background: #F5F5F5;
    flex-shrink: 0;
    border-top: 1px solid #E0E0E0;
}

.imc-footer-text[b-ayxgt48mrk] {
    font-size: clamp(0.65rem, 0.9vw, 1.1rem);
    color: #9E9E9E;
}

/* ── Popup content ────────────────────────────────────────────────────────── */
.imc-popup-icon[b-ayxgt48mrk] {
    font-size: clamp(2rem, 4vw, 3.5rem);
}

.imc-popup-label[b-ayxgt48mrk] {
    font-size: clamp(0.75rem, 1.2vw, 1.1rem);
    color: #78909C;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.imc-popup-name[b-ayxgt48mrk] {
    font-size: clamp(2rem, 4vw, 3.5rem);
    font-weight: 800;
    color: #212121;
}

.imc-popup-room-label[b-ayxgt48mrk] {
    font-size: clamp(0.75rem, 1.2vw, 1.1rem);
    color: #78909C;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.imc-popup-room[b-ayxgt48mrk] {
    font-size: clamp(1.4rem, 2.2vw, 2.2rem);
    font-weight: 700;
    color: var(--imc-primary, #1565C0);
}

/* ── Settings gear icon ───────────────────────────────────────────────────── */
.imc-settings-icon[b-ayxgt48mrk] {
    position: fixed;
    bottom: 16px;
    right: 16px;
    z-index: 9990;
    width: clamp(36px, 3vw, 52px);
    height: clamp(36px, 3vw, 52px);
    background: rgba(0, 0, 0, 0.28);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: opacity 0.2s;
}

.imc-settings-svg[b-ayxgt48mrk] {
    width: 55%;
    height: 55%;
}

/* ── Settings panel ───────────────────────────────────────────────────────── */
.imc-settings-overlay[b-ayxgt48mrk] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    z-index: 9991;
}

.imc-settings-panel[b-ayxgt48mrk] {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 9992;
    background: #fff;
    border-radius: clamp(8px, 1vw, 14px);
    padding: clamp(20px, 3vw, 44px);
    width: clamp(400px, 78vw, 1100px);
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45);
}

.imc-settings-title[b-ayxgt48mrk] {
    margin: 0 0 1.2em;
    font-size: clamp(1rem, 1.6vw, 1.5rem);
    font-weight: 700;
    color: #1565C0;
}

.imc-settings-field[b-ayxgt48mrk] {
    margin-bottom: 1em;
}

.imc-settings-label[b-ayxgt48mrk] {
    display: block;
    font-size: clamp(0.75rem, 1vw, 1rem);
    color: #546E7A;
    margin-bottom: 4px;
    font-weight: 600;
}

.imc-settings-hint[b-ayxgt48mrk] {
    font-weight: 400;
    color: #90A4AE;
}

.imc-settings-input[b-ayxgt48mrk] {
    width: 100%;
    box-sizing: border-box;
    padding: clamp(6px, 1vh, 10px) 12px;
    border: 1px solid #B0BEC5;
    border-radius: 6px;
    font-size: clamp(0.85rem, 1.1vw, 1.1rem);
}

.imc-settings-select[b-ayxgt48mrk] {
    width: 100%;
    box-sizing: border-box;
    padding: clamp(6px, 1vh, 10px) 12px;
    border: 1px solid #B0BEC5;
    border-radius: 6px;
    font-size: clamp(0.95rem, 1.3vw, 1.2rem);
    background: #fff;
}

.imc-settings-2col[b-ayxgt48mrk] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 1em;
}

.imc-settings-divider[b-ayxgt48mrk] {
    border-top: 1px solid #E0E0E0;
    margin: 4px 0 1.2em;
}

.imc-settings-divider-sm[b-ayxgt48mrk] {
    border-top: 1px solid #E0E0E0;
    margin: 4px 0 1em;
}

.imc-settings-section-title[b-ayxgt48mrk] {
    margin: 0 0 0.7em;
    font-size: clamp(0.7rem, 0.9vw, 0.9rem);
    font-weight: 700;
    color: #78909C;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.imc-settings-color-row[b-ayxgt48mrk] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.imc-settings-color-row-sm[b-ayxgt48mrk] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.imc-settings-color-picker[b-ayxgt48mrk] {
    width: 44px;
    height: 36px;
    padding: 2px;
    border: 1px solid #B0BEC5;
    border-radius: 6px;
    cursor: pointer;
    background: #fff;
}

.imc-settings-color-value[b-ayxgt48mrk] {
    font-family: monospace;
    font-size: clamp(0.8rem, 1vw, 1rem);
    color: #546E7A;
}

.imc-settings-color-value-sm[b-ayxgt48mrk] {
    font-family: monospace;
    font-size: clamp(0.75rem, 0.9vw, 0.9rem);
    color: #546E7A;
}

.imc-settings-mb-lg[b-ayxgt48mrk] {
    margin-bottom: 1.5em;
}

.imc-settings-mb[b-ayxgt48mrk] {
    margin-bottom: 1em;
}

.imc-settings-error[b-ayxgt48mrk] {
    color: #C62828;
    font-size: clamp(0.75rem, 0.9vw, 0.95rem);
    margin: 0 0 1em;
}

.imc-settings-footer[b-ayxgt48mrk] {
    display: flex;
    gap: 12px;
    justify-content: flex-end;
}

.imc-settings-cancel[b-ayxgt48mrk] {
    padding: clamp(6px, 1vh, 10px) clamp(16px, 2vw, 24px);
    border: 1px solid #90A4AE;
    background: #fff;
    color: #546E7A;
    border-radius: 6px;
    cursor: pointer;
    font-size: clamp(0.85rem, 1.1vw, 1rem);
}

.imc-settings-save[b-ayxgt48mrk] {
    padding: clamp(6px, 1vh, 10px) clamp(16px, 2vw, 24px);
    border: none;
    color: #fff;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 600;
    font-size: clamp(0.85rem, 1.1vw, 1rem);
}

/* Settings panel — secciones con card ────────────────────────────────────── */
.imc-settings-section[b-ayxgt48mrk] {
    background: #F5F7FA;
    border: 1px solid #ECEFF1;
    border-radius: 8px;
    padding: 14px 16px;
    margin-bottom: 14px;
}

.imc-settings-section-label[b-ayxgt48mrk] {
    font-size: 0.68rem;
    font-weight: 700;
    color: #90A4AE;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    margin: 0 0 12px;
}

.imc-settings-grid-2[b-ayxgt48mrk] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
/* Color picker compacto: picker + label + valor en una sola línea */
.imc-settings-color-compact[b-ayxgt48mrk] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 0;
}

.imc-settings-color-compact-label[b-ayxgt48mrk] {
    font-size: clamp(0.7rem, 0.85vw, 0.85rem);
    color: #546E7A;
    font-weight: 600;
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.imc-settings-color-compact-value[b-ayxgt48mrk] {
    font-family: monospace;
    font-size: clamp(0.6rem, 0.75vw, 0.78rem);
    color: #90A4AE;
}

/* ── Dev bar ──────────────────────────────────────────────────────────────── */
.imc-dev-bar[b-ayxgt48mrk] {
    position: fixed;
    bottom: 16px;
    left: 16px;
    z-index: 10000;
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(0, 0, 0, 0.65);
    border-radius: 8px;
    padding: 8px 16px;
}

.imc-dev-btn[b-ayxgt48mrk] {
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 8px 16px;
    cursor: pointer;
    font-size: 0.85rem;
    font-weight: 600;
}

.imc-dev-label[b-ayxgt48mrk] {
    color: rgba(255, 255, 255, 0.65);
    font-size: 0.78rem;
}

/* ── Dev info modal ─────────────────────────────────────────────────────── */
.imc-devinfo-overlay[b-ayxgt48mrk] {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.45);
    z-index: 10100;
}

.imc-devinfo-panel[b-ayxgt48mrk] {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10101;
    background: #fff;
    border-radius: 12px;
    padding: 1.5em 2em;
    min-width: min(460px, 90vw);
    box-shadow: 0 8px 32px rgba(0,0,0,0.22);
    font-family: inherit;
}

.imc-devinfo-header[b-ayxgt48mrk] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.2em;
    font-size: clamp(0.95rem, 1.3vw, 1.2rem);
    font-weight: 700;
    color: #1565C0;
}

.imc-devinfo-close[b-ayxgt48mrk] {
    background: none;
    border: none;
    font-size: 1.1rem;
    cursor: pointer;
    color: #90A4AE;
    line-height: 1;
    padding: 2px 6px;
    border-radius: 4px;
}

    .imc-devinfo-close:hover[b-ayxgt48mrk] {
        background: #ECEFF1;
        color: #37474F;
    }

.imc-devinfo-row[b-ayxgt48mrk] {
    margin-bottom: 1em;
}

.imc-devinfo-row--compact[b-ayxgt48mrk] {
    margin-bottom: 0;
}

.imc-devinfo-label[b-ayxgt48mrk] {
    display: block;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #78909C;
    margin-bottom: 4px;
}

.imc-devinfo-value-wrap[b-ayxgt48mrk] {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #F5F7FA;
    border: 1px solid #ECEFF1;
    border-radius: 6px;
    padding: 6px 10px;
}

.imc-devinfo-value[b-ayxgt48mrk] {
    flex: 1;
    font-family: monospace;
    font-size: clamp(0.72rem, 1vw, 0.88rem);
    color: #263238;
    word-break: break-all;
}

.imc-devinfo-value--sm[b-ayxgt48mrk] {
    font-size: clamp(0.65rem, 0.85vw, 0.8rem);
}

.imc-devinfo-copy[b-ayxgt48mrk] {
    flex-shrink: 0;
    background: #E3F2FD;
    color: #1565C0;
    border: none;
    border-radius: 4px;
    padding: 3px 10px;
    font-size: 0.82rem;
    cursor: pointer;
    transition: background 0.15s;
    white-space: nowrap;
}

    .imc-devinfo-copy:hover[b-ayxgt48mrk] {
        background: #BBDEFB;
    }

.imc-devinfo-copy--done[b-ayxgt48mrk] {
    background: #E8F5E9;
    color: #2E7D32;
}
/* Top row: support + language selector side by side */
.imc-settings-top-row[b-ayxgt48mrk] {
    display: flex;
    gap: 12px;
    margin-bottom: 14px;
}
.imc-settings-top-row .imc-settings-section[b-ayxgt48mrk] {
    flex: 1;
    margin-bottom: 0;
}
.imc-settings-section--support[b-ayxgt48mrk] {
    flex: 2 !important; /* soporte ocupa el doble de ancho que el idioma */
}
/* /Components/Visualizations/SignageView.razor.rz.scp.css */
/* SignageView — full-screen media playlist */
.sgn-board[b-fm3rdxr339] {
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    background: #000;
    position: relative;
}

.sgn-media[b-fm3rdxr339] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sgn-text-panel[b-fm3rdxr339] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    background: #0D1B2A;
    padding: 60px;
}

.sgn-empty[b-fm3rdxr339] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    background: #0D1B2A;
}
/* /Components/Visualizations/TurnManagementView.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════════════════
   TurnManagementView — Queue/Turn display for clinics & hospitals
   Header, media panel and popup overlay are shared components (BoardHeader,
   BoardMediaPanel, BoardPopup). This file contains grid-specific and popup
   content styles only.
   ═══════════════════════════════════════════════════════════════════════════ */

.tm-container[b-uvvgvcpczj] {
    display: flex;
    flex-direction: column;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    background: var(--tm-bg, #E3F2FD);
    font-family: 'Roboto', 'Segoe UI', sans-serif;
}

/* ── Instruction text ──────────────────────────────────────────────────── */
.tm-instruction[b-uvvgvcpczj] {
    padding: clamp(6px, 1vh, 12px) clamp(16px, 2vw, 32px);
    background: rgba(0, 0, 0, 0.04);
    color: var(--tm-secondary-text, #212121);
    font-size: clamp(0.8rem, 1.4vw, 1.4rem);
    text-align: center;
    flex-shrink: 0;
}

/* ── Body (grid + optional media) ──────────────────────────────────────── */
.tm-body[b-uvvgvcpczj] {
    flex: 1;
    display: flex;
    overflow: hidden;
    min-height: 0;
}

.tm-grid-area[b-uvvgvcpczj] {
    flex: 1;
    overflow-y: auto;
    padding: clamp(8px, 1vh, 16px) clamp(8px, 1vw, 16px);
}

/* ── Turn table ────────────────────────────────────────────────────────── */
.tm-table[b-uvvgvcpczj] {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.tm-th[b-uvvgvcpczj] {
    padding: clamp(10px, 1.5vh, 20px) clamp(12px, 1.5vw, 24px);
    background: var(--tm-primary, #1565C0);
    color: var(--tm-primary-text, #FFFFFF);
    font-size: clamp(0.9rem, 1.6vw, 1.8rem);
    font-weight: 700;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.tm-row[b-uvvgvcpczj] {
    transition: background-color 0.3s ease;
}

.tm-row:nth-child(odd)[b-uvvgvcpczj] {
    background: rgba(255, 255, 255, 0.7);
}

.tm-row:nth-child(even)[b-uvvgvcpczj] {
    background: rgba(255, 255, 255, 0.4);
}

.tm-row-highlight[b-uvvgvcpczj] {
    background: var(--tm-highlight-bg, #FFF3E0) !important;
    animation: tm-highlight-pulse-b-uvvgvcpczj 0.6s ease-in-out 3;
}

@keyframes tm-highlight-pulse-b-uvvgvcpczj {
    0%, 100% { background-color: var(--tm-highlight-bg, #FFF3E0); }
    50% { background-color: rgba(255, 111, 0, 0.15); }
}

.tm-cell[b-uvvgvcpczj] {
    padding: clamp(12px, 1.8vh, 24px) clamp(12px, 1.5vw, 24px);
    font-size: clamp(1rem, 1.8vw, 2.2rem);
    color: var(--tm-secondary-text, #212121);
    vertical-align: middle;
}

.tm-cell-turn[b-uvvgvcpczj] {
    display: flex;
    align-items: center;
    gap: clamp(8px, 1vw, 16px);
}

.tm-category-badge[b-uvvgvcpczj] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: clamp(32px, 3vw, 52px);
    height: clamp(32px, 3vw, 52px);
    border-radius: 8px;
    color: #FFFFFF;
    font-weight: 800;
    font-size: clamp(0.85rem, 1.4vw, 1.6rem);
    flex-shrink: 0;
}

.tm-turn-number[b-uvvgvcpczj] {
    font-weight: 700;
    font-size: clamp(1.2rem, 2.2vw, 2.8rem);
    letter-spacing: 1px;
}

.tm-recall-badge[b-uvvgvcpczj] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2px 8px;
    border-radius: 12px;
    background: var(--tm-highlight, #FF6F00);
    color: #FFFFFF;
    font-size: clamp(0.65rem, 1vw, 1rem);
    font-weight: 700;
    flex-shrink: 0;
}

.tm-cell-station[b-uvvgvcpczj] {
    font-weight: 600;
    font-size: clamp(1.1rem, 2vw, 2.4rem);
}

.tm-empty[b-uvvgvcpczj] {
    padding: clamp(32px, 5vh, 64px);
    text-align: center;
    color: #90A4AE;
    font-size: clamp(1rem, 1.6vw, 1.8rem);
    font-style: italic;
}

/* ── Popup content (rendered inside BoardPopup's card) ────────────────── */
.tm-popup-badge[b-uvvgvcpczj] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(48px, 5.5vw, 72px);
    height: clamp(48px, 5.5vw, 72px);
    border-radius: 16px;
    color: #FFFFFF;
    font-weight: 800;
    font-size: clamp(1.2rem, 2.5vw, 2.2rem);
}

.tm-popup-number[b-uvvgvcpczj] {
    font-size: clamp(2.5rem, 5vw, 4.5rem);
    font-weight: 800;
    color: #212121;
    letter-spacing: 2px;
}

.tm-popup-label[b-uvvgvcpczj] {
    font-size: clamp(0.75rem, 1.2vw, 1.1rem);
    color: #78909C;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.tm-popup-station[b-uvvgvcpczj] {
    font-size: clamp(1.4rem, 2.2vw, 2.2rem);
    font-weight: 700;
    color: var(--tm-primary, #1565C0);
}

.tm-popup-person[b-uvvgvcpczj] {
    font-size: clamp(0.9rem, 1.2vw, 1.2rem);
    color: #546E7A;
    font-style: italic;
}

/* ── Settings gear icon ───────────────────────────────────────────────────── */
.tm-settings-icon[b-uvvgvcpczj] {
    position: fixed;
    bottom: 16px;
    right: 16px;
    z-index: 9990;
    width: clamp(36px, 3vw, 52px);
    height: clamp(36px, 3vw, 52px);
    background: rgba(0, 0, 0, 0.28);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: opacity 0.2s;
}

.tm-settings-svg[b-uvvgvcpczj] {
    width: 55%;
    height: 55%;
}

/* ── Settings panel ───────────────────────────────────────────────────────── */
.tm-settings-overlay[b-uvvgvcpczj] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    z-index: 9991;
}

.tm-settings-panel[b-uvvgvcpczj] {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 9992;
    background: #fff;
    border-radius: clamp(8px, 1vw, 14px);
    padding: clamp(20px, 3vw, 44px);
    width: clamp(400px, 78vw, 1100px);
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45);
}

.tm-settings-title[b-uvvgvcpczj] {
    margin: 0 0 1.2em;
    font-size: clamp(1rem, 1.6vw, 1.5rem);
    font-weight: 700;
    color: #1565C0;
}

.tm-settings-error[b-uvvgvcpczj] {
    color: #C62828;
    font-size: clamp(0.75rem, 0.9vw, 0.95rem);
    margin: 0 0 1em;
}

.tm-settings-label[b-uvvgvcpczj] {
    display: block;
    font-size: clamp(0.75rem, 1vw, 1rem);
    color: #546E7A;
    margin-bottom: 4px;
    font-weight: 600;
}

.tm-settings-select[b-uvvgvcpczj] {
    width: 100%;
    box-sizing: border-box;
    padding: clamp(6px, 1vh, 10px) 12px;
    border: 1px solid #B0BEC5;
    border-radius: 6px;
    font-size: clamp(0.95rem, 1.3vw, 1.2rem);
    background: #fff;
}

/* Top row: support + language selector side by side */
.tm-settings-top-row[b-uvvgvcpczj] {
    display: flex;
    gap: 12px;
    margin-bottom: 14px;
}
.tm-settings-top-row .tm-settings-section[b-uvvgvcpczj] {
    flex: 1;
    margin-bottom: 0;
}
.tm-settings-section--support[b-uvvgvcpczj] {
    flex: 2 !important;
}

.tm-settings-section[b-uvvgvcpczj] {
    background: #F5F7FA;
    border: 1px solid #ECEFF1;
    border-radius: 8px;
    padding: 14px 16px;
    margin-bottom: 14px;
}

.tm-settings-section-label[b-uvvgvcpczj] {
    font-size: 0.68rem;
    font-weight: 700;
    color: #90A4AE;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    margin: 0 0 12px;
}

/* ── Device info rows (support section) ───────────────────────────────────── */
.tm-devinfo-row[b-uvvgvcpczj] {
    margin-bottom: 1em;
}

.tm-devinfo-row--compact[b-uvvgvcpczj] {
    margin-bottom: 0;
}

.tm-devinfo-label[b-uvvgvcpczj] {
    display: block;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #78909C;
    margin-bottom: 4px;
}

.tm-devinfo-value-wrap[b-uvvgvcpczj] {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #F5F7FA;
    border: 1px solid #ECEFF1;
    border-radius: 6px;
    padding: 6px 10px;
}

.tm-devinfo-value[b-uvvgvcpczj] {
    flex: 1;
    font-family: monospace;
    font-size: clamp(0.72rem, 1vw, 0.88rem);
    color: #263238;
    word-break: break-all;
}

.tm-devinfo-value--sm[b-uvvgvcpczj] {
    font-size: clamp(0.65rem, 0.85vw, 0.8rem);
}

.tm-devinfo-copy[b-uvvgvcpczj] {
    flex-shrink: 0;
    background: #E3F2FD;
    color: #1565C0;
    border: none;
    border-radius: 4px;
    padding: 3px 10px;
    font-size: 0.82rem;
    cursor: pointer;
    transition: background 0.15s;
    white-space: nowrap;
}

    .tm-devinfo-copy:hover[b-uvvgvcpczj] {
        background: #BBDEFB;
    }

.tm-devinfo-copy--done[b-uvvgvcpczj] {
    background: #E8F5E9;
    color: #2E7D32;
}
/* /Components/Visualizations/UnifiedBoardView.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════════════════
   UnifiedBoardView — Unified display combining patient calls + queue turns
   Header and media panel are shared components (BoardHeader, BoardMediaPanel,
   BoardPopup). This file contains grid, popup content, and settings styles.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Row animations ───────────────────────────────────────────────────────── */
@keyframes ub-row-in-b-0xd3va8puj {
    from { opacity: 0.2; transform: translateX(-10px); }
    to   { opacity: 1;   transform: translateX(0); }
}

@keyframes ub-row-pulse-b-0xd3va8puj {
    0%, 100% { filter: brightness(1.08); }
    50%      { filter: brightness(1.22); }
}

.ub-row-new[b-0xd3va8puj] {
    animation: ub-row-in-b-0xd3va8puj 0.35s ease-out, ub-row-pulse-b-0xd3va8puj 1.6s ease-in-out 0.35s infinite;
}

@keyframes ub-hl-bg-pulse-b-0xd3va8puj {
    0%, 100% { background: var(--ub-highlight-bg, #E8F5E9); }
    50%      { background: color-mix(in srgb, var(--ub-highlight-bg, #E8F5E9) 72%, var(--ub-highlight, #FFA000)); }
}

@keyframes ub-attended-fadeout-b-0xd3va8puj {
    0%   { opacity: 1; }
    60%  { opacity: 1; }
    100% { opacity: 0; }
}

/* ── Main layout ──────────────────────────────────────────────────────────── */
.ub-container[b-0xd3va8puj] {
    display: flex;
    flex-direction: column;
    height: 100vh;
    background: var(--ub-bg, #E3F2FD);
    overflow: hidden;
}

.ub-body[b-0xd3va8puj] {
    display: flex;
    flex: 1;
    overflow: hidden;
}

/* ── Grid ─────────────────────────────────────────────────────────────────── */
.ub-grid-area[b-0xd3va8puj] {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.ub-grid-header[b-0xd3va8puj] {
    display: flex;
    background: linear-gradient(rgba(0,0,0,0.3), rgba(0,0,0,0.3)), var(--ub-primary, #1565C0);
    flex-shrink: 0;
}

.ub-grid-header-col[b-0xd3va8puj] {
    flex: 1;
    padding: clamp(10px, 2vh, 24px) clamp(12px, 2vw, 28px);
    text-align: center;
    font-size: clamp(1rem, 2vw, 2.4rem);
    font-weight: 700;
    color: #fff;
    border-right: 1px solid rgba(255, 255, 255, 0.25);
}

.ub-grid-header-col:first-child[b-0xd3va8puj] {
    flex: 0 0 clamp(80px, 8vw, 140px);
}

.ub-rows[b-0xd3va8puj] {
    flex: 1;
    overflow: hidden;
}

.ub-row[b-0xd3va8puj] {
    display: flex;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.ub-row-even[b-0xd3va8puj] { background: var(--ub-primary, #1565C0); }
.ub-row-odd[b-0xd3va8puj]  { background: var(--ub-bg, #E3F2FD); }

.ub-row-even .ub-cell[b-0xd3va8puj] { color: var(--ub-primary-text, #FFFFFF); }
.ub-row-odd  .ub-cell[b-0xd3va8puj] { color: var(--ub-secondary-text, #212121); }

.ub-rows .ub-row.ub-row-highlighted[b-0xd3va8puj] {
    background: var(--ub-highlight-bg, #E8F5E9);
    animation: ub-row-in-b-0xd3va8puj 0.35s ease-out, ub-hl-bg-pulse-b-0xd3va8puj 1.6s ease-in-out 0.35s infinite;
}
.ub-rows .ub-row.ub-row-highlighted .ub-cell[b-0xd3va8puj] { color: #212121; }

.ub-rows .ub-row.ub-row-attended[b-0xd3va8puj] {
    background: #E8F5E9;
    animation: ub-attended-fadeout-b-0xd3va8puj 4s ease-in-out forwards;
}
.ub-rows .ub-row.ub-row-attended .ub-cell[b-0xd3va8puj] { color: #1B5E20; }

.ub-cell[b-0xd3va8puj] {
    flex: 1;
    padding: clamp(8px, 1.8vh, 20px) clamp(12px, 2vw, 28px);
    text-align: center;
    font-size: clamp(0.95rem, 1.8vw, 2.2rem);
    font-weight: 600;
    border-right: 1px solid rgba(0, 0, 0, 0.06);
}

.ub-cell-type[b-0xd3va8puj] {
    flex: 0 0 clamp(80px, 8vw, 140px);
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ── Type badges ──────────────────────────────────────────────────────────── */
.ub-badge-call[b-0xd3va8puj] {
    font-size: clamp(1.2rem, 2.5vw, 2.8rem);
}

.ub-badge-turn[b-0xd3va8puj] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: clamp(32px, 3vw, 52px);
    height: clamp(32px, 3vw, 52px);
    border-radius: 8px;
    color: #FFFFFF;
    font-weight: 800;
    font-size: clamp(0.85rem, 1.4vw, 1.6rem);
}

.ub-count-badge[b-0xd3va8puj] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 8px;
    padding: 1px 8px;
    border-radius: 10px;
    color: #FFFFFF;
    font-size: clamp(0.55rem, 1.1vw, 1rem);
    font-weight: 700;
    vertical-align: middle;
    white-space: nowrap;
}

/* ── Empty state ──────────────────────────────────────────────────────────── */
.ub-empty[b-0xd3va8puj] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    opacity: 0.4;
}
.ub-empty-icon[b-0xd3va8puj] { font-size: clamp(2rem, 4vw, 5rem); }
.ub-empty-text[b-0xd3va8puj] { font-size: clamp(0.9rem, 1.5vw, 2rem); color: #546E7A; margin-top: 12px; }

/* ── Footer ───────────────────────────────────────────────────────────────── */
.ub-footer[b-0xd3va8puj] {
    text-align: center;
    padding: clamp(4px, 0.8vh, 10px) 20px;
    background: #F5F5F5;
    flex-shrink: 0;
    border-top: 1px solid #E0E0E0;
}
.ub-footer-text[b-0xd3va8puj] { font-size: clamp(0.65rem, 0.9vw, 1.1rem); color: #9E9E9E; }

/* ── Popup content ────────────────────────────────────────────────────────── */
.ub-popup-icon[b-0xd3va8puj]  { font-size: clamp(2rem, 4vw, 3rem); }
.ub-popup-badge[b-0xd3va8puj] {
    display: flex; align-items: center; justify-content: center;
    width: clamp(48px, 5.5vw, 72px); height: clamp(48px, 5.5vw, 72px);
    border-radius: 16px; color: #FFFFFF; font-weight: 800;
    font-size: clamp(1.2rem, 2.5vw, 2.2rem);
}
.ub-popup-main[b-0xd3va8puj]   { font-size: clamp(2rem, 3.5vw, 3.5rem); font-weight: 800; color: #212121; letter-spacing: 1px; }
.ub-popup-label[b-0xd3va8puj]  { font-size: clamp(0.75rem, 1.2vw, 1.1rem); color: #78909C; text-transform: uppercase; letter-spacing: 2px; }
.ub-popup-dest[b-0xd3va8puj]   { font-size: clamp(1.4rem, 2.2vw, 2.2rem); font-weight: 700; color: var(--ub-primary, #1565C0); }

/* ── Settings gear icon ───────────────────────────────────────────────────── */
.ub-settings-icon[b-0xd3va8puj] {
    position: fixed; bottom: 16px; right: 16px; z-index: 9990;
    width: clamp(36px, 3vw, 52px); height: clamp(36px, 3vw, 52px);
    background: rgba(0,0,0,0.28); border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; transition: opacity 0.2s;
}
.ub-settings-svg[b-0xd3va8puj] { width: 55%; height: 55%; }

/* ── Settings panel ───────────────────────────────────────────────────────── */
.ub-settings-overlay[b-0xd3va8puj] { position: fixed; inset: 0; background: rgba(0,0,0,0.55); z-index: 9991; }
.ub-settings-panel[b-0xd3va8puj] {
    position: fixed; top: 50%; left: 50%; transform: translate(-50%,-50%);
    z-index: 9992; background: #fff; border-radius: clamp(8px,1vw,14px);
    padding: clamp(20px,3vw,44px); width: clamp(400px,78vw,1100px);
    max-height: 90vh; overflow-y: auto; box-shadow: 0 20px 60px rgba(0,0,0,0.45);
}
.ub-settings-title[b-0xd3va8puj] { margin: 0 0 1.2em; font-size: clamp(1rem,1.6vw,1.5rem); font-weight: 700; color: #1565C0; }
.ub-settings-error[b-0xd3va8puj] { color: #C62828; font-size: clamp(0.75rem,0.9vw,0.95rem); margin: 0 0 1em; }
.ub-settings-label[b-0xd3va8puj] { display: block; font-size: clamp(0.75rem,1vw,1rem); color: #546E7A; margin-bottom: 4px; font-weight: 600; }
.ub-settings-select[b-0xd3va8puj] {
    width: 100%; box-sizing: border-box; padding: clamp(6px,1vh,10px) 12px;
    border: 1px solid #B0BEC5; border-radius: 6px; font-size: clamp(0.95rem,1.3vw,1.2rem); background: #fff;
}
.ub-settings-top-row[b-0xd3va8puj] { display: flex; gap: 12px; margin-bottom: 14px; }
.ub-settings-top-row .ub-settings-section[b-0xd3va8puj] { flex: 1; margin-bottom: 0; }
.ub-settings-section--support[b-0xd3va8puj] { flex: 2 !important; }
.ub-settings-section[b-0xd3va8puj] {
    background: #F5F7FA; border: 1px solid #ECEFF1; border-radius: 8px;
    padding: 14px 16px; margin-bottom: 14px;
}
.ub-settings-section-label[b-0xd3va8puj] {
    font-size: 0.68rem; font-weight: 700; color: #90A4AE;
    letter-spacing: 1.2px; text-transform: uppercase; margin: 0 0 12px;
}

/* ── Device info rows ─────────────────────────────────────────────────────── */
.ub-devinfo-row[b-0xd3va8puj] { margin-bottom: 1em; }
.ub-devinfo-row--compact[b-0xd3va8puj] { margin-bottom: 0; }
.ub-devinfo-label[b-0xd3va8puj] { display: block; font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #78909C; margin-bottom: 4px; }
.ub-devinfo-value-wrap[b-0xd3va8puj] { display: flex; align-items: center; gap: 8px; background: #F5F7FA; border: 1px solid #ECEFF1; border-radius: 6px; padding: 6px 10px; }
.ub-devinfo-value[b-0xd3va8puj] { flex: 1; font-family: monospace; font-size: clamp(0.72rem,1vw,0.88rem); color: #263238; word-break: break-all; }
.ub-devinfo-value--sm[b-0xd3va8puj] { font-size: clamp(0.65rem,0.85vw,0.8rem); }
.ub-devinfo-copy[b-0xd3va8puj] { flex-shrink: 0; background: #E3F2FD; color: #1565C0; border: none; border-radius: 4px; padding: 3px 10px; font-size: 0.82rem; cursor: pointer; transition: background 0.15s; white-space: nowrap; }
.ub-devinfo-copy:hover[b-0xd3va8puj] { background: #BBDEFB; }
.ub-devinfo-copy--done[b-0xd3va8puj] { background: #E8F5E9; color: #2E7D32; }
/* /Components/Visualizations/WaitingRoomView.razor.rz.scp.css */
/* WaitingRoomView — full-screen waiting room */
.wr-board[b-k3thhq4k4k] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100vh;
    background: var(--wr-bg, #1A237E);
    padding: 40px;
    text-align: center;
}
