/* Jeffrey Services 6.4.1 · Consistente pagina-indeling
   Only visual layout; shared audio, Discord permissions and SQLite are unchanged. */
:root { --js-layout-gold:#e5bc7b; --js-layout-line:#37393d; --js-layout-muted:#bcb9b5; }
.js-layout-641 { overflow-x:clip; }
.js-layout-641 [hidden] { display:none!important; }
.js-layout-641 img { max-width:100%; }
.js-layout-641 :is(a,button,input,select,textarea):focus-visible { outline:2px solid #f3d9aa;outline-offset:3px; }

/* WORLD RADIO: a deliberate two-tier desktop navigation, not uncontrolled flex wrapping. */
#js-universe .ru-nav {
 display:grid;grid-template-columns:minmax(210px,.8fr) minmax(430px,1.6fr) minmax(160px,.65fr);
 grid-template-areas:'brand primary account' 'search actions actions';
 align-items:center;gap:11px 20px;min-height:0;
 padding:13px max(26px,calc((100vw - 1360px)/2)) 14px;
 max-width:100%;width:100%;position:sticky;top:0;
}
#js-universe .ru-nav > .ru-brand {grid-area:brand;min-width:0;justify-self:start;margin:0;}
#js-universe .ru-nav > .ru-signature-nav {grid-area:primary;display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;min-width:0;width:100%;gap:3px;padding:0;margin:0;overflow:visible;}
#js-universe .ru-signature-nav a {display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:10px 11px;min-height:41px;font-size:12px;white-space:nowrap;flex:0 0 auto;}
#js-universe .ru-nav > .sig-command {grid-area:search;width:100%;max-width:385px;min-width:0;margin:0;justify-self:start;order:initial;flex:none;}
#js-universe .ru-nav > .ru-nav-tools {grid-area:actions;display:flex;align-items:center;justify-content:flex-end;justify-self:end;min-width:0;min-height:43px;gap:9px;flex-wrap:nowrap;order:initial;margin:0;padding:0;}
#js-universe .ru-nav > .ru-auth-slot {grid-area:account;justify-self:end;min-width:0;max-width:100%;display:flex;align-items:center;justify-content:flex-end;margin:0;}
#js-universe .ru-nav-tools .ru-role-link {display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 12px;white-space:nowrap;}
#js-universe .ru-nav-tools .ru-live {display:inline-flex;align-items:center;justify-content:center;min-height:39px;margin:0;white-space:nowrap;}
#js-universe .ru-auth-slot .ru-account-pill {max-width:204px;min-width:0;}
#js-universe .ru-auth-slot .ru-account-copy {min-width:0;max-width:136px;overflow:hidden;}
#js-universe .ru-auth-slot .ru-account-copy strong {display:block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;}
#js-universe .ru-auth-slot .ru-auth-loading {max-width:170px;text-align:right;font-size:11px;}
#js-universe main {width:min(1360px,calc(100% - 52px));margin-inline:auto;}
#js-universe .ru-hero {margin-top:25px;}
#js-universe .ru-metrics {grid-template-columns:repeat(4,minmax(0,1fr));}
#js-universe .ru-metrics>div {min-width:0;}
#js-universe .ru-section-head {align-items:flex-start;gap:16px;}
#js-universe :is(.ru-panel,.sig-feature,.sig-station-card,.ru-card,.ru-map-panel,.ru-room-entry,.sig-continue,.sig-passport) {min-width:0;}
#js-universe .ru-split {align-items:start;}
#js-universe .ru-card-grid {grid-template-columns:repeat(4,minmax(0,1fr));}

/* Mid-width devices: keep links in a full, intentional row. */
@media (max-width:1160px) {
 #js-universe .ru-nav {grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'brand account' 'primary primary' 'search actions';gap:10px 14px;padding:12px 24px;}
 #js-universe .ru-nav > .ru-signature-nav {justify-content:flex-start;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;gap:6px;}
 #js-universe .ru-signature-nav a {padding-inline:13px;}
 #js-universe .ru-nav > .sig-command {width:min(385px,100%);max-width:none;}
 #js-universe .ru-nav > .ru-nav-tools {max-width:100%;}
 #js-universe .ru-metrics {grid-template-columns:repeat(2,minmax(0,1fr));}
 #js-universe .ru-card-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:850px) {
 #js-universe main {width:calc(100% - 32px);}
 #js-universe .ru-nav {grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'brand account' 'primary primary' 'search search' 'actions actions';padding:12px 16px;gap:9px;}
 #js-universe .ru-nav > .sig-command {width:100%;max-width:100%;}
 #js-universe .ru-nav > .ru-nav-tools {justify-self:start;justify-content:flex-start;width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;}
 #js-universe .ru-nav-tools .ru-role-link {flex:0 0 auto;}
 #js-universe .ru-map-layout,#js-universe .ru-split {grid-template-columns:minmax(0,1fr);}
 #js-universe .ru-map-panel {min-width:0;}
 #js-universe .sig-feature-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:700px) {
 #js-universe main {width:calc(100% - 24px);padding-bottom:210px;}
 #js-universe .ru-nav {grid-template-areas:'brand account' 'search search' 'actions actions';grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:11px 12px;position:relative;}
 #js-universe .ru-nav > .ru-signature-nav {display:none!important;}
 #js-universe .ru-nav > .ru-brand {min-width:0;max-width:100%;}
 #js-universe .ru-brand img {width:38px;height:38px;}
 #js-universe .ru-brand strong {font-size:11px;letter-spacing:.10em;}
 #js-universe .ru-brand small {font-size:8px;letter-spacing:.10em;}
 #js-universe .ru-nav > .ru-auth-slot {max-width:170px;min-width:0;}
 #js-universe .ru-auth-slot .ru-account-pill {max-width:170px;padding-inline:8px;}
 #js-universe .ru-auth-slot .ru-account-copy {max-width:95px;}
 #js-universe .ru-nav-tools .ru-live {display:inline-flex;min-height:36px;font-size:11px;}
 #js-universe .ru-nav-tools .ru-role-link {display:inline-flex;min-height:36px;font-size:11px;padding:7px 10px;}
 #js-universe .ru-nav > .ru-nav-tools {gap:7px;padding-bottom:2px;}
 #js-universe .ru-nav > .sig-command {min-height:46px;}
 #js-universe .sig-command-results {left:0;right:auto;width:100%;}
 #js-universe .ru-hero {margin:14px 0 12px;padding:24px 20px;min-height:0;}
 #js-universe .ru-hero h1 {font-size:clamp(34px,8.7vw,50px);}
 #js-universe .ru-metrics {grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
 #js-universe .ru-metrics>div {padding:14px;}
 #js-universe .ru-metrics strong {font-size:clamp(19px,5.9vw,27px);}
 #js-universe .ru-card-grid,#js-universe .sig-feature-grid,#js-universe .sig-station-grid,#js-universe .sig-bottom-grid {grid-template-columns:minmax(0,1fr);}
 #js-universe .ru-section-head {flex-direction:column;align-items:stretch;}
 #js-universe .ru-panel {padding:clamp(16px,4vw,22px);}
 #js-universe .ru-map-viewport {aspect-ratio:1.35 / 1;}
 #js-universe .ru-inline {flex-wrap:wrap;}
 #js-universe .ru-inline input {min-width:0;}
 #js-universe .sig-mobile-nav {display:grid;}
}
@media (max-width:375px) {
 #js-universe .ru-brand small {font-size:7px;}
 #js-universe .ru-auth-slot .ru-account-copy small {display:none;}
 #js-universe .ru-auth-slot .ru-account-copy {max-width:75px;}
 #js-universe .ru-metrics>div {padding:12px 10px;}
 #js-universe .ru-overline {letter-spacing:.10em;}
}

/* Catalog / individual station pages: search, listener status and account each own a zone. */
.js-page-catalog .radio-topbar {display:grid;grid-template-columns:minmax(145px,1fr) auto minmax(235px,1.4fr) auto;align-items:center;gap:12px 18px;padding:17px clamp(16px,2.5vw,32px);}
.js-page-catalog .radio-topbar-title {min-width:0;}
.js-page-catalog .radio-topbar-listeners {justify-self:center;white-space:nowrap;}
.js-page-catalog .radio-search {min-width:0;width:100%;}
.js-page-catalog .radio-account-controls {min-width:0;justify-self:end;display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.js-page-catalog .radio-body {min-width:0;}
.js-page-catalog .radio-main, .js-page-catalog .radio-content {min-width:0;}
.js-page-catalog .radio-station, .js-page-catalog .detail-hero {min-width:0;}
@media (max-width:1150px) {
 .js-page-catalog .radio-topbar {grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'title account' 'search listeners';}
 .js-page-catalog .radio-topbar-title {grid-area:title;}
 .js-page-catalog .radio-topbar-listeners {grid-area:listeners;justify-self:end;}
 .js-page-catalog .radio-search {grid-area:search;max-width:none;}
 .js-page-catalog .radio-account-controls {grid-area:account;}
}
@media (max-width:680px) {
 .js-page-catalog .radio-topbar {grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'title account' 'search search' 'listeners listeners';gap:8px;padding:13px;}
 .js-page-catalog .radio-topbar-title strong {font-size:18px;}
 .js-page-catalog .radio-topbar-listeners {justify-self:start;}
 .js-page-catalog .radio-account-controls {max-width:190px;gap:5px;}
 .js-page-catalog .radio-search {width:100%;}
 .js-page-catalog .radio-body {min-width:0;}
}

/* Control Center: legible sidebar and balanced dashboard cards. */
.js-page-control .app {grid-template-columns:minmax(205px,245px) minmax(0,1fr);}
.js-page-control .sidebar {min-width:0;align-self:start;position:sticky;top:0;max-height:100vh;overflow-y:auto;}
.js-page-control main {width:min(1260px,100%);margin:auto;padding:28px clamp(18px,3vw,38px) 92px;min-width:0;}
.js-page-control .stats {grid-template-columns:repeat(4,minmax(0,1fr));}
.js-page-control .stats article {min-width:0;}
.js-page-control .stats strong {overflow-wrap:anywhere;}
.js-page-control .broadcast-grid {gap:16px;}
.js-page-control .broadcast-grid .form {min-width:0;}
.js-page-control .hero>div {min-width:0;}
.js-page-control .panel {min-width:0;}
.js-page-control .js63-shortcuts {max-width:1300px;}
@media (max-width:1070px) {
 .js-page-control .app {grid-template-columns:minmax(0,1fr);}
 .js-page-control .sidebar {position:static;max-height:none;overflow:visible;padding:13px 18px;border-right:0;border-bottom:1px solid var(--js-layout-line);}
 .js-page-control .sidebar nav {display:flex;gap:5px;overflow-x:auto;flex-wrap:nowrap;white-space:nowrap;scrollbar-width:thin;}
 .js-page-control .sidebar nav a {flex:0 0 auto;min-height:44px;display:inline-flex;align-items:center;}
 .js-page-control .stats {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:640px) {
 .js-page-control .top {flex-wrap:wrap;gap:9px;padding:12px 15px;}
 .js-page-control main {padding:18px 12px 90px;}
 .js-page-control .hero {padding:20px;min-height:0;}
 .js-page-control .hero img {max-width:78px;}
 .js-page-control .panel {padding:17px;}
 .js-page-control .stats {grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
 .js-page-control .stats article {padding:14px 11px;}
 .js-page-control .broadcast-grid {grid-template-columns:minmax(0,1fr);}
 .js-page-control .section-title {align-items:flex-start;}
}

/* Station Studio and approvals share an aligned brand, nav and content rhythm. */
.js-page-studio .js63-header,.js-page-approvals .js63-header {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 20px;}
.js-page-studio .js63-header nav,.js-page-approvals .js63-header nav {display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;max-width:100%;}
.js-page-studio .js63-header nav a,.js-page-approvals .js63-header nav a {min-height:43px;display:inline-flex;align-items:center;}
.js-page-studio .js63-screen,.js-page-approvals .js63-screen {padding-inline:max(18px,calc((100vw - 1280px)/2));}
.js-page-studio .js63-grid,.js-page-approvals .js63-grid {gap:14px;}
.js-page-studio .js63-card,.js-page-approvals .js63-card {min-width:0;}
.js-page-studio .js63-headline {align-items:center;gap:18px;}
.js-page-studio .js63-headline>*,.js-page-approvals .js63-headline>* {min-width:0;}
@media (max-width:800px) {
 .js-page-studio .js63-header,.js-page-approvals .js63-header {grid-template-columns:minmax(0,1fr);gap:12px;}
 .js-page-studio .js63-header nav,.js-page-approvals .js63-header nav {width:100%;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin;padding:4px 0;}
 .js-page-studio .js63-header nav a,.js-page-approvals .js63-header nav a {flex:0 0 auto;}
 .js-page-studio .js63-headline {flex-direction:column;align-items:stretch;}
 .js-page-studio .js63-headline select {width:100%!important;min-width:0!important;}
 .js-page-studio .js63-grid,.js-page-approvals .js63-grid {grid-template-columns:minmax(0,1fr);}
 .js-page-studio .js63-card,.js-page-approvals .js63-card {grid-column:1/-1;}
}

/* Radio Admin: dedicated sidebar that never squeezes its forms. */
@media (max-width:900px) {
 .js-page-admin #app.app {display:block;}
 .js-page-admin #app .sidebar {width:100%;max-width:100%;}
 .js-page-admin #app .sidebar nav {display:flex;overflow-x:auto;flex-wrap:nowrap;gap:5px;}
 .js-page-admin #app .sidebar nav button {flex:0 0 auto;}
 .js-page-admin #app .shell {min-width:0;width:100%;}
 .js-page-admin #app main {min-width:0;}
 .js-page-admin #app .stat-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:520px) {
 .js-page-admin #app .topbar {display:flex;flex-direction:column;align-items:stretch;gap:10px;}
 .js-page-admin #app .top-actions {justify-content:flex-start;flex-wrap:wrap;}
 .js-page-admin #app .stat-grid {grid-template-columns:minmax(0,1fr);}
 .js-page-admin #app .hero {padding:18px;}
}

/* ICT and OS use the same width/rhythm and switch to an accessible menu before cramping. */
.js-page-ict .site-header .header-inner,.js-page-os .site-header .header-inner {gap:clamp(10px,1.5vw,22px);}
.js-page-ict .site-header .desktop-nav,.js-page-os .site-header .desktop-nav {gap:clamp(10px,1.4vw,19px);}
.js-page-ict .site-header .desktop-nav a,.js-page-os .site-header .desktop-nav a {font-size:clamp(11px,.86vw,13px);}
@media (max-width:1180px) {
 .js-page-ict .site-header .desktop-nav,.js-page-os .site-header .desktop-nav {display:none;}
 .js-page-ict .site-header .menu-toggle,.js-page-os .site-header .menu-toggle {display:flex;}
 .js-page-ict .site-header .header-inner,.js-page-os .site-header .header-inner {justify-content:space-between;}
 .js-page-ict .site-header .header-cta,.js-page-os .site-header .header-cta {margin-left:auto;}
}
@media (max-width:700px) {
 .js-page-ict .site-header .header-cta,.js-page-os .site-header .header-cta {display:none;}
 .js-page-ict .site-header .header-inner,.js-page-os .site-header .header-inner {min-height:70px;height:auto;padding-block:11px;}
 .js-page-ict .site-header .menu-toggle,.js-page-os .site-header .menu-toggle {margin-left:auto;}
}
@media (prefers-reduced-motion:reduce) {
 .js-layout-641 *, .js-layout-641 *::before,.js-layout-641 *::after {scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;}
}
/* The ICT/OS menu switches at 1180px; provide the matching mobile dropdown
   in the 961–1180px gap (previous CSS only defined it below 960px). */
@media (min-width:961px) and (max-width:1180px) {
 .js-page-ict .site-header .mobile-nav,.js-page-os .site-header .mobile-nav {
  display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;
  background:#111318;border-bottom:1px solid #57452f;padding:10px clamp(25px,5vw,65px) 22px;
  box-shadow:0 20px 40px #0008;opacity:0;visibility:hidden;pointer-events:none;
  transform:translateY(-9px);transition:opacity .18s,transform .18s,visibility .18s;
 }
 .js-page-ict .site-header.menu-open .mobile-nav,.js-page-os .site-header.menu-open .mobile-nav {opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);}
 .js-page-ict .mobile-nav a,.js-page-os .mobile-nav a {display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #ffffff18;color:#e3dcd2;font-size:17px;}
}
