.configuration-tabs { display:flex; gap:6px; margin:0 0 22px; border-bottom:1px solid var(--staff-line); }
.configuration-tabs button { min-height:40px; border:0; border-bottom:2px solid transparent; padding:9px 14px; background:transparent; color:var(--staff-muted); cursor:pointer; font:10px "Courier New",monospace; text-transform:uppercase; }
.configuration-tabs button:hover,.configuration-tabs button.is-active { border-bottom-color:var(--staff-blue); color:var(--staff-blue); }
.configuration-panel { display:none; }
.configuration-panel.is-active-config { display:block; }
.configuration-panel[hidden] { display:none !important; }
.configuration-panel>.section-heading h3 { margin:0; font:400 24px Georgia,serif; }
.configuration-note { max-width:1450px; color:var(--staff-muted); font-size:12px; line-height:1.6; padding:10px; }
.health-api-example { margin:0 10px 10px; padding:10px 15px; border:1px solid var(--staff-line); background:var(--staff-ink); color:#d7e9ff; font:12px "Courier New",monospace; overflow-x:auto; }
.staff-stat-card strong.is-ok { color:#287747; }
.staff-stat-card strong.is-fail { color:#a83224; }
.configuration-values { display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:10px; }
.configuration-value { display:block; min-width:0; border:1px solid var(--staff-line); background:var(--staff-surface); padding:13px 15px; color:var(--staff-muted); font:9px "Courier New",monospace; text-transform:uppercase; }
.configuration-value input,.sso-config-field input,.sso-config-field textarea { display:block; width:100%; min-width:0; margin-top:8px; border:1px solid var(--staff-line); border-radius:0; padding:10px; background:white; color:var(--staff-ink); font:13px Arial,sans-serif; text-transform:none; }
.configuration-value input:focus,.sso-config-field input:focus,.sso-config-field textarea:focus { outline:2px solid var(--staff-blue); outline-offset:1px; }
.configuration-value code { display:block; margin-top:8px; overflow-wrap:anywhere; color:var(--staff-muted); font:9px "Courier New",monospace; }
.configuration-save-row { display:flex; align-items:center; gap:14px; margin-top:16px; padding: 0 16px 16px 16px; }
.video-playback-controls { display:flex; gap:8px; padding:0 16px 10px; }
.video-playback-controls button { flex:1; }
.configuration-save-row .staff-primary { width:auto; }
.configuration-save-row [role="status"] { min-height:1em; margin:0; color:var(--staff-muted); font-size:11px; }
.configuration-warning { border-left:3px solid #a83224; padding:10px 12px; background:#fff1ee; color:#85291f; }
.room-policy-panel>.room-setting { display:block; margin:0; border-bottom:1px solid var(--staff-line); padding:15px 16px; color:var(--staff-ink); font:10px "Courier New",monospace; text-transform:uppercase; }
.room-setting:last-child { border-bottom:0; }
.room-format-setting { min-width:0; border:0; }
.room-format-setting legend { padding:0; color:var(--staff-ink); font:10px "Courier New",monospace; text-transform:uppercase; }
.room-format-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; margin-top:9px; }
.room-format-options label { position:relative; margin:0; cursor:pointer; }
.room-format-options input { position:absolute; width:1px; height:1px; opacity:0; }
.room-format-options span { display:grid; min-height:36px; place-items:center; border:1px solid var(--staff-line); background:white; color:var(--staff-muted); font:10px "Courier New",monospace; text-transform:uppercase; }
.room-format-options input:checked+span { border-color:var(--staff-blue); background:#f0f2fa; color:var(--staff-blue); }
.room-format-options input:focus-visible+span { outline:2px solid var(--staff-blue); outline-offset:2px; }
.room-setting>label { display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--staff-ink); font:10px "Courier New",monospace; text-transform:uppercase; }
.room-setting output { color:var(--staff-blue); font-weight:bold; }
.room-setting select { display:block; width:100%; margin-top:8px; border:1px solid var(--staff-line); border-radius:0; padding:9px 10px; background:white; color:var(--staff-ink); font:12px Arial,sans-serif; text-transform:none; }
.room-setting input[type="range"] { display:block; width:100%; height:22px; margin:9px 0 1px; accent-color:var(--staff-blue); cursor:pointer; }
.room-range-labels { display:flex; justify-content:space-between; color:var(--staff-muted); font:9px "Courier New",monospace; text-transform:uppercase; }
.room-setting small { display:block; margin-top:8px; color:var(--staff-muted); font:11px/1.5 Arial,sans-serif; text-transform:none; }
.room-link-setting { display:grid !important; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:0 12px; }
.room-link-setting input { grid-column:2; grid-row:1; width:16px; height:16px; margin:0; accent-color:var(--staff-blue); }
.room-link-setting small { grid-column:1/-1; }
.sso-enabled-toggle { display:flex; align-items:center; gap:8px; margin:12px 0 16px; color:var(--staff-ink); font:10px "Courier New",monospace; text-transform:uppercase; }
.sso-enabled-toggle input { width:16px; height:16px; margin:0; accent-color:var(--staff-blue); }
.sso-config-field { display:block; min-width:0; margin:12px 0; color:var(--staff-muted); font:9px "Courier New",monospace; text-transform:uppercase; }
.sso-config-field textarea { resize:vertical; }
.sso-provider-settings { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); gap:12px; margin-top:18px; }
.sso-role-add-row { display:grid; grid-template-columns:180px 120px minmax(180px,1fr) 140px auto; align-items:end; gap:10px; margin:14px 0 18px; }
.sso-role-add-row label { display:block; min-width:0; color:var(--staff-muted); font:9px "Courier New",monospace; text-transform:uppercase; padding-left:15px;}
.sso-role-add-row select,.sso-role-add-row input,.sso-role-table select { display:block; width:100%; min-width:0; min-height:36px; margin-top:6px; border:1px solid var(--staff-line); border-radius:0; padding:8px; background:white; color:var(--staff-ink); font:12px Arial,sans-serif; text-transform:none; }
.sso-role-add-row button { width:auto; }
.sso-role-table { min-width:720px; }
.sso-role-table td:last-child { width:110px; }
.sso-role-table td .staff-secondary { width:auto; padding:6px 9px; }
.sso-role-mapping-panel { margin-top:16px; }
.sso-provider-card { min-width:0; border:1px solid var(--staff-line); background:var(--staff-surface); padding:16px; }
.sso-provider-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.sso-provider-heading h4 { margin:0; color:var(--staff-ink); font:400 17px Georgia,serif; }
.sso-provider-status { flex:none; color:#a83224; font:9px "Courier New",monospace; text-transform:uppercase; }
.sso-provider-status.is-enabled { color:#287747; }
.login-mode-switch { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; margin:0 0 14px; border:1px solid var(--staff-line); padding:4px; background:#f1efe9; }
.login-mode-switch button { min-height:36px; border:1px solid transparent; background:transparent; color:var(--staff-muted); cursor:pointer; font:10px "Courier New",monospace; text-transform:uppercase; }
.login-mode-switch button.is-active { border-color:var(--staff-line); background:white; color:var(--staff-ink); }
.login-mode-switch button:focus-visible { outline:2px solid var(--staff-blue); outline-offset:1px; }
.login-option { min-width:0; }
#login-sso-option .staff-kicker { margin:12px 0 8px; }
@media(max-width:640px) {
    .configuration-tabs { overflow-x:auto; }
    .configuration-tabs button { flex:none; padding-inline:10px; }
    .sso-provider-heading { flex-direction:column; gap:6px; }
    .configuration-save-row { align-items:stretch; flex-direction:column; }
    .configuration-save-row .staff-primary { width:100%; }
    .sso-role-add-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .sso-role-add-row label:nth-child(3) { grid-column:1/-1; }
    .sso-role-add-row button { width:100%; }
}
.staff-grid-live { grid-template-columns:minmax(0,1fr) minmax(260px,360px); align-items:start; }
.broadcast-panel { position:sticky; top:12px; }
.end-event-safety { margin-top:24px; border:1px solid #eccbc5; background:#fff8f6; }
.end-event-safety summary { padding:12px 14px; color:#a83224; cursor:pointer; font:10px "Courier New",monospace; text-transform:uppercase; }
.end-event-safety p { margin:0; padding:0 14px 12px; color:var(--staff-muted); font-size:11px; line-height:1.5; }
.end-event-safety .staff-danger { width:auto; margin:0 14px 14px; }
.staff-confirm-dialog { width:min(520px,calc(100% - 32px)); max-width:none; max-height:90vh; overflow:auto; border:1px solid var(--staff-line); padding:0; background:var(--staff-surface); color:var(--staff-ink); box-shadow:0 22px 70px rgba(32,32,29,.24); }
.staff-confirm-dialog::backdrop { background:rgba(20,22,24,.56); }
.staff-confirm-content { padding:26px; }
.new-staff-panel { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px; }
.new-staff-panel h3 { margin:0; font:400 18px Georgia,serif; }
.new-staff-panel .configuration-note { margin:5px 0 0; padding:0; }
.new-staff-panel>.staff-primary { width:auto; flex:none; }
.staff-create-form { display:grid; gap:12px; margin-top:16px; }
.staff-create-form label { display:block; color:var(--staff-muted); font:10px "Courier New",monospace; text-transform:uppercase; }
.staff-create-form input { display:block; width:100%; margin-top:6px; border:1px solid var(--staff-line); border-radius:0; padding:10px; background:white; color:var(--staff-ink); font:13px Arial,sans-serif; text-transform:none; }
.staff-confirm-content h2 { margin:8px 0 10px; font:400 27px Georgia,serif; }
.staff-confirm-content .staff-kicker { margin:0; }
.staff-confirm-description { color:var(--staff-muted); font-size:12px; line-height:1.6; }
#broadcast-confirm-text { max-height:180px; overflow:auto; margin:16px 0; border-left:3px solid var(--staff-blue); padding:12px 14px; background:#f2f3f7; font-size:13px; line-height:1.5; white-space:pre-wrap; overflow-wrap:anywhere; }
.staff-confirm-input { display:block; margin:16px 0; color:var(--staff-muted); font:10px "Courier New",monospace; text-transform:uppercase; }
.staff-confirm-input input { display:block; width:100%; margin-top:6px; border:1px solid var(--staff-line); padding:10px; background:white; color:var(--staff-ink); font:13px "Courier New",monospace; }
.staff-confirm-actions { display:flex; justify-content:flex-end; gap:9px; margin-top:20px; }
.staff-confirm-actions .staff-primary,.staff-confirm-actions .staff-danger { width:auto; }
.staff-confirm-actions button:disabled { cursor:not-allowed; opacity:.45; }
@media(max-width:900px) { .staff-grid-live { grid-template-columns:minmax(0,1fr); }.broadcast-panel { position:static; } }
@media(max-width:480px) { .staff-confirm-content { padding:20px; }.staff-confirm-actions { flex-wrap:wrap; }.staff-confirm-actions button { flex:1; } }
@media(max-width:640px) { .new-staff-panel { align-items:stretch; flex-direction:column; }.new-staff-panel>.staff-primary { width:100%; } }
