/* Shared operator readability: retain dense broadcast consoles without microscopic type. */
:root {
    --ciq-font-body: 15px;
    --ciq-font-control: 14px;
    --ciq-font-label: 13px;
    --ciq-font-detail: 12px;
    --ciq-font-compact: 11px;
    --sidebar: 184px;
}

html { font-size: var(--ciq-font-body); }
body { font-size: var(--ciq-font-body); line-height: 1.45; text-rendering: optimizeLegibility; }
button, input, select, textarea { font-family: inherit; }

.ciq-sidebar nav { min-height: 0; overflow-y: auto; scrollbar-width: thin; }
.ciq-sidebar nav a { min-height: 44px; height: 44px; gap: 11px; padding: 0 10px; font-size: 14px; }
.nav-separator { font-size: 11px; }
.sidebar-station small, .sidebar-station strong, .user-menu small { font-size: var(--ciq-font-detail); }
.station-select select, .user-menu, .node-state, .workspace-subtitle { font-size: 14px; }

.ciq-main label,
.ciq-main .form-label,
.ciq-modal label,
.guest-join-shell label { font-size: var(--ciq-font-label); }

.ciq-main input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
.ciq-main select,
.ciq-main textarea,
.ciq-modal input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
.ciq-modal select,
.ciq-modal textarea,
.guest-join-shell input:not([type="checkbox"]):not([type="radio"]),
.guest-join-shell select,
.guest-join-shell textarea {
    min-height: 36px;
    font-size: var(--ciq-font-control) !important;
    line-height: 1.35;
}

.ciq-main textarea, .ciq-modal textarea { line-height: 1.5; }
.ciq-btn, .date-button, .page-btn, .text-btn, .status-chip { font-size: 13px; }
.ciq-btn, .date-button, .page-btn { min-height: 34px; }
.field-error, .field-help, .panel-intro, .workspace-subtitle { font-size: var(--ciq-font-detail); }
.ciq-modal h2 { font-size: 20px; }
.ciq-modal p, .ciq-modal small { font-size: var(--ciq-font-detail); }

.panel-header, .workspace-toolbar h1, .social-thread-header, .conversation-item strong,
.admin-card, .settings-list article, .studio-summary, .output-row { font-size: 14px; }
.asset-table { font-size: var(--ciq-font-control); }
.asset-table th { padding: 11px 10px; color: #a9bfce; font-size: var(--ciq-font-label); font-weight: 650; }
.asset-table td { padding: 10px; font-size: var(--ciq-font-control); line-height: 1.4; }
.robust-table td[data-library-col="title"] > span { gap: 3px; }
.robust-table td[data-library-col="title"] b { font-size: var(--ciq-font-control); font-weight: 650; }
.robust-table td[data-library-col="title"] small { font-size: var(--ciq-font-detail); }
.robust-table td[data-library-col="artist"],
.robust-table td[data-library-col="album"],
.robust-table td[data-library-col="duration"] { font-size: var(--ciq-font-control); }
.asset-type, .category-pill { font-size: var(--ciq-font-detail); }
.library-table-tools, .library-summary small { font-size: var(--ciq-font-label); }
.library-column-menu label, .library-column-menu small,
.artwork-credit, .mini-action { font-size: var(--ciq-font-detail); }
.users-access-table { overflow-x: auto; }
.users-access-table .asset-table { min-width: 760px; }
.users-access-table .asset-table th { padding: 13px 16px; }
.users-access-table .asset-table td { padding: 15px 16px; }
.users-access-table .user-display-name { font-size: 15px; }
.users-access-table .user-email { color: #c4d9e5; }
.user-role-label { display: inline-flex; padding: 4px 9px; border: 1px solid #29516c; border-radius: 4px; background: #102638; color: #c2e5fb; font-size: var(--ciq-font-label); }
.user-access-status { display: inline-flex; align-items: center; gap: 5px; font-size: var(--ciq-font-control); }
.user-access-status.active { color: #78e09a; }
.user-access-status.disabled { color: #f0b76d; }
.user-access-status.disabled .ready-dot { background: #e0a557; }
.schedule-title small, .schedule-row .meta-pill, .energy, .warning-pill,
.settings-list small, .category-grid small, .studio-grid small,
.connector-list small, .moderation-rule-list small { font-size: var(--ciq-font-detail); }

.cart-deck-header > span:first-child small,
.cart-deck > header small,
.cart-deck-item-copy small,
.cart-deck-empty span,
.cart-deck-voice-state,
.cart-library-results small,
.cart-item-settings label { font-size: var(--ciq-font-compact); }
.cart-deck-item-copy b, .cart-deck > header b { font-size: 13px; }
.cart-deck-item { min-height: 64px; }
.cart-deck-link, .cart-deck-item-actions .cart-hook-action small { font-size: var(--ciq-font-compact); }
.cart-deck-header select, .cart-deck-header button,
.cart-deck > header button, .cart-deck > footer button { font-size: 12px; }

.production-page { height: calc(100vh - var(--top)); }
.production-titlebar small, .production-safety,
.production-session-strip small, .production-session-strip span,
.production-session-rail nav small, .production-history article,
.production-module-heading small { font-size: var(--ciq-font-compact); }
.production-session-strip b, .production-session-rail nav a,
.production-module-heading b, .production-participant-columns > section > header { font-size: 14px; }
.production-module-heading { min-height: 52px; }
.production-mixer-module { grid-template-rows: 52px auto auto minmax(0, 1fr) 34px; }
.production-participants-module { grid-template-rows: 52px minmax(0, 1fr); }
.production-studio-binding label, .production-device-bar label { font-size: 12px; }
.production-device-bar .ciq-btn, .production-module-heading .ciq-btn { font-size: 12px; }
.production-channel-bank { grid-auto-columns: minmax(126px, 1fr); }
.production-channel { min-width: 126px; grid-template-rows: 46px 72px 22px minmax(64px, 1fr) 22px auto; }
.production-channel > header > b { font-size: 12px; }
.production-channel > header > small { font-size: 10px; }
.production-channel-visual > span { font-size: 10px; }
.production-channel-status { font-size: 10px; }
.production-channel-status.audio-warning { color: #f0be67; }
.production-channel-status.audio-warning i { background: #edaa3c; box-shadow: 0 0 7px #edaa3c; }
.production-channel > strong, .production-channel-buttons button,
.production-strip-call-actions > button, .production-strip-answer { font-size: 11px; }
.production-channel-buttons button { height: 27px; }
.production-mixer-footer, .production-utility-note,
.production-guest-row > span > small, .production-call-row > span > small,
.production-participant-columns > section > header span { font-size: var(--ciq-font-detail); }
.production-guest-row > span > b, .production-call-row > span > b { font-size: 13px; }
.production-guest-row > strong, .production-live-call { font-size: 11px; }
.guest-state-connected { color: #48dfb9; }
.production-record-format { font-size: 12px !important; }
.production-history article { grid-template-columns: 70px minmax(0, 1fr); }

.guest-join-shell { font-size: 15px; }
.guest-device-controls label, .guest-waiting-copy p,
.guest-join-button small, .production-guest-host-video > header { font-size: 13px; }
.guest-microphone-confidence { display: grid; gap: 5px; padding: 3px 0 6px; color: #aec5d3; font-size: 12px; }
.guest-microphone-confidence > span { display: flex; align-items: center; gap: 6px; }
.guest-microphone-confidence > span > i { color: #56c7f4; }
.guest-microphone-confidence > span > b { margin-left: auto; color: #f0be67; font-size: 11px; font-weight: 600; }
.guest-microphone-confidence.has-signal > span > b { color: #64e0bf; }
.guest-microphone-confidence > div { height: 8px; overflow: hidden; border: 1px solid #345163; border-radius: 8px; background: #091720; }
.guest-microphone-confidence > div > i { display: block; width: var(--guest-microphone-level, 0%); height: 100%; border-radius: inherit; background: linear-gradient(90deg, #26c688, #5addaa 75%, #e9be50); transition: width .12s; }

@media (max-width: 1450px) {
    .production-channel-bank { grid-auto-columns: minmax(118px, 1fr); }
    .production-channel { min-width: 118px; }
}

@media (max-width: 900px) {
    :root { --sidebar: 172px; }
    .ciq-sidebar nav a { font-size: 13px; }
}

/* v0.60.45: Production mixer final reference layout.
   The Production mixer has four structural rows: header, collapsible inputs,
   channel bank and footer. Keep the channel bank on the flexible row so the
   faders use all vertical space when Studio & input devices is collapsed. */
.production-mixer-module{
    grid-template-rows:52px auto minmax(0,1fr) 34px;
}
.production-channel-bank{
    min-height:0;
    height:100%;
    align-items:stretch;
}
.production-channel{
    height:100%;
    min-height:0;
}
.production-channel>header>b{font-size:13px;line-height:1.15}
.production-channel>header>small{font-size:10px;line-height:1.2}
.production-channel-status{font-size:11px;line-height:1.15}
.production-channel-visual{
    width:min(100%,126px);
    max-width:126px;
    margin-inline:auto;
    align-self:center;
}
.production-channel-visual>span{font-size:9px}
.production-channel>.production-fader-section{
    min-height:150px;
    flex:1 1 180px;
}
.production-meter-stack,.production-fader-stack{
    height:100%;
}
.production-meter{
    width:48px;
    min-width:48px;
    min-height:120px;
}
.production-meter i{
    width:14px;
    min-width:14px;
}
.production-meter span{
    bottom:3px;
    font-size:9px;
}
.production-meter span:first-of-type{left:9px}
.production-meter span:last-of-type{right:9px}
.production-meter-readout{font-size:11px}
.production-meter-readout small{font-size:7px}
.production-fader-section .production-fader-stack input[type=range]{
    min-height:120px;
}
.production-channel-buttons button{
    min-height:38px;
    height:38px;
    font-size:11px;
}
.production-caller-strip-controls small{font-size:10px}
.production-caller-strip-controls b{font-size:14px}
.production-caller-strip-controls .production-contributor-state{font-size:11px}
.production-caller-strip-controls .caller-strip-actions .ciq-btn{
    min-height:42px;
    height:42px;
    font-size:11px;
}
