:root{
  --gm-navy:#0b1f33;
  --gm-navy-2:#102b45;
  --gm-blue:#1677ff;
  --gm-cyan:#22c5d7;
  --gm-paper:#f3f6fa;
  --gm-card:#fff;
  --gm-ink:#172b3d;
  --gm-muted:#718295;
  --gm-line:#dbe4ed;
  --gm-good:#1eaa76;
  --gm-warn:#e39a24;
  --gm-bad:#df5c61;
}
*{box-sizing:border-box}
body{padding-top:104px;background:var(--gm-paper);color:var(--gm-ink);font:14px/1.45 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input,select,textarea{font-family:inherit}

/* Live information stays visible while the operator moves between tools. */
.broadcast-monitor{position:fixed;z-index:100;inset:0 0 auto 0;height:104px;display:grid;grid-template-columns:190px minmax(340px,1.45fr) minmax(230px,.8fr) 118px 164px;background:linear-gradient(180deg,#102b45,#091b2d);color:#fff;border-bottom:3px solid #20bfd0;box-shadow:0 7px 24px #0718273d}
.broadcast-monitor>div{min-width:0;padding:13px 16px;border-right:1px solid #ffffff17;display:flex;flex-direction:column;justify-content:center}
.broadcast-monitor span:not(.on-air):not(.monitor-divider),.broadcast-monitor div>small{font-size:9px;letter-spacing:.11em;color:#89a2b9;text-transform:uppercase}
.broadcast-monitor strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.monitor-history strong,.monitor-next strong{margin-top:6px;font-size:12px;font-weight:600;color:#dbe8f2}
.monitor-next small{margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.broadcast-monitor .monitor-current{display:grid;grid-template-columns:50px minmax(0,1fr) auto 8px auto;grid-template-rows:1fr;align-items:center;gap:10px;flex-direction:unset}
.monitor-art{width:48px;height:48px;border-radius:12px;display:grid!important;place-items:center;background:linear-gradient(145deg,#24c7d6,#1372d6);font-weight:800;letter-spacing:-1px;color:#fff;box-shadow:0 7px 18px #00111f80}
.monitor-track{min-width:0}
.monitor-track strong{font-size:16px;margin:2px 0 1px}
.monitor-track small{display:block;text-transform:none!important;letter-spacing:0!important;font-size:11px!important;color:#a9bdce!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.monitor-progress{height:3px;margin-top:8px;background:#ffffff1e;border-radius:8px;overflow:hidden}
.monitor-progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,#1ab4cf,#56d7c9);transition:width .7s linear}
.monitor-current time{font-variant-numeric:tabular-nums;font-size:11px;color:#c6d5e1}
.monitor-divider{color:#5e7890}
.monitor-state{align-items:center!important;text-align:center}
.on-air{display:inline-flex;align-items:center;justify-content:center;min-width:84px;padding:9px 10px;background:var(--gm-bad);border-radius:6px;font-size:11px;font-weight:800;letter-spacing:.08em;box-shadow:0 0 0 1px #ffffff1f inset}
.on-air.silent{background:#76899b}.on-air.prayer{background:#8a6cc5}.on-air.advert{background:#d88d22}.on-air.off{background:#536779}
#monitor-listen{margin-top:7px;font-size:10px;font-weight:700;letter-spacing:.04em;color:#5fd6e3;text-decoration:none;text-transform:none!important}
#monitor-listen:hover{text-decoration:underline}
.monitor-state small{margin-top:7px;letter-spacing:0!important;text-transform:none!important}
.monitor-clock{text-align:right;align-items:flex-end}
.monitor-clock strong{font-size:25px;line-height:1.1;font-weight:600;font-variant-numeric:tabular-nums;margin:4px 0 2px}

aside{position:fixed;inset:104px auto 0 0;width:224px;background:var(--gm-navy);padding:27px 18px 22px;color:#eaf3fb;z-index:20}
.brand{display:flex;align-items:center;gap:11px;font-size:19px;font-weight:760;letter-spacing:-.6px}
.brand>span:last-child{display:flex;flex-direction:column}
.brand small{font-size:8px;letter-spacing:.15em;color:#7290aa;margin-top:2px}
.brand-mark{width:35px;height:37px;border-radius:10px;background:linear-gradient(145deg,var(--gm-cyan),#27a5da);font-size:29px;color:#082137}
aside nav{display:grid;gap:5px;margin-top:38px}
aside nav a{display:flex;align-items:center;gap:11px;color:#aebfd0;padding:11px 12px;border-radius:8px;font-size:12px;font-weight:600;transition:.15s;text-decoration:none}
aside nav a i{font-style:normal;width:18px;text-align:center;font-size:15px;color:#7190aa}
aside nav a:hover{background:#163651;color:#fff}
aside nav a.active{background:#1b4160;color:#fff;box-shadow:inset 3px 0 var(--gm-cyan)}
aside nav a.active i{color:var(--gm-cyan)}
.aside-note{position:absolute;left:22px;bottom:23px;color:#7790a6;font-size:10px;line-height:1.8}
.health-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--gm-good);box-shadow:0 0 0 3px #1eaa7620;margin-right:6px}
.health-dot.warning{background:var(--gm-warn);box-shadow:0 0 0 3px #e39a2420}

main{max-width:none;margin-left:224px;padding:0 30px 34px}
.context-bar{position:sticky;top:104px;z-index:15;display:flex;align-items:center;gap:16px;margin:0 -30px 24px;padding:10px 30px;background:#fff;border:0;border-bottom:1px solid var(--gm-line);border-radius:0;box-shadow:0 4px 12px #102b4509}
.context-selector{display:grid!important;grid-template-columns:auto minmax(220px,460px);align-items:center;gap:12px;flex:0 1 auto!important;min-width:0!important}
.context-selector select{min-height:34px;margin:0;padding:4px 30px 4px 10px;background:#f1f6fb;border:1px solid #d8e4ee;font-size:13px}
.context-bar .badge{padding:6px 10px;font-size:9px}
.context-summary{font-size:11px;color:var(--gm-muted)}
.context-link{margin-left:auto}
header{margin:0 0 22px;padding-top:4px}
header h1{font-size:31px;color:#122b40;margin:5px 0 2px}
header p{font-size:12px}
.environment-badge{background:#e7f8f8!important;color:#147c87!important;border-color:#b9e7ea!important}
.eyebrow{color:#4e779a;font-weight:750}
.card{background:var(--gm-card);border:1px solid var(--gm-line);border-radius:13px;box-shadow:0 8px 30px #16314a08;padding:24px;margin-bottom:22px}
.stats{gap:13px}.stats div{border:1px solid var(--gm-line);border-radius:12px;padding:18px 20px;box-shadow:0 5px 18px #183b5508}.stats strong{font-size:31px;color:#15334d}.stats span{color:#71869a}
.notice{border-radius:5px;background:#fff8e9;border-left-color:#e1ad43;color:#68552f}
button{background:var(--gm-blue);border-radius:7px;min-height:38px;padding:9px 14px;font-size:11px;box-shadow:none}
button.secondary{background:#edf3f8;color:#365f81}
input,select,textarea{border-color:#d8e3ec;background:#fff;color:var(--gm-ink);border-radius:7px;min-height:40px}
input:focus,select:focus,textarea:focus{outline:2px solid #45bdcf;outline-offset:1px}

/* Catalogue and Smart Block studio. */
.studio-heading{margin:8px 0 20px}.studio-heading h2{color:#16344e}
.studio-layout{grid-template-columns:minmax(0,1fr) 400px;gap:18px}
.studio-catalogue,.block-builder{border-color:var(--gm-line);box-shadow:0 9px 25px #183a5209}
.studio-tabs{background:#fbfcfe}.studio-tabs button.active{color:#155d91;border-bottom-color:var(--gm-cyan)}
.library-tools input{background:#f8fafc}
.track-table th{background:#f4f7fa;color:#708498}.track-table tr:hover td{background:#f2f8fd}
.preview-dock{background:#0e2940;color:#fff;border:0}.preview-dock small{color:#91aabd}.preview-dock audio{filter:invert(.92) hue-rotate(175deg)}
.builder-heading{background:linear-gradient(120deg,#eef8fb,#f8fbfd)}
.block-kind button.active{border-color:#46bdd0;background:#edfbfd;color:#186a84}
.block-summary{background:#eef5fa}

/* Scheduling workspace. */
.schedule-controls{display:grid;grid-template-columns:minmax(220px,1fr) 180px auto;gap:12px;align-items:end;margin:5px 0 13px}
.calendar-views{display:flex;background:#edf3f7;border-radius:8px;padding:3px}
.calendar-views button{margin:0;min-height:34px;background:transparent;color:#60768a;padding:7px 14px}
.calendar-views button.active{background:#fff;color:#185f91;box-shadow:0 2px 7px #173a5220}
.cal-toolbar{gap:7px}.toolbar-spacer{flex:1}.cal-scroll{border-color:var(--gm-line);border-radius:10px;box-shadow:0 5px 18px #18344b08}
.cal-day-heading{background:#eef4f8;color:#45647e;padding:10px 4px}
.cal-times{background:#f7f9fb}.cal-day{background:repeating-linear-gradient(to bottom,#fff 0,#fff 35px,#edf2f6 35px,#edf2f6 36px)}
.cal-event{border-radius:4px;border:0;border-left:3px solid currentColor;box-shadow:0 1px 3px #17324817;font-weight:600}
.show{background:#dff4f1;color:#247c72}.show.empty{background:#f7fafc;color:#718697;border:1px dashed #8da1b2}.cal-event.show.empty{border:1px dashed #7893a8}.cal-event.show.drop-ready,.cal-month-event.show.drop-ready{background:#c9f1e8;box-shadow:0 0 0 3px #2ebba855;transform:scale(1.01)}
.cal-silence-label{position:absolute;right:5px;top:5px;color:#a8b4bf;font-size:7px;letter-spacing:.08em;writing-mode:vertical-rl;z-index:0}.cal-now-line{position:absolute;left:0;right:0;height:2px;background:#e6535c;color:#e6535c;z-index:4;font-size:8px;font-weight:800;padding-left:3px;box-shadow:0 0 0 1px #fff}.cal-now-line::before{content:"";position:absolute;left:-3px;top:-3px;width:8px;height:8px;border-radius:50%;background:#e6535c}
.cal-month-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));min-width:920px;background:#dfe7ee;gap:1px}
.cal-month-head{padding:9px;text-align:center;background:#edf3f7;font-size:10px;font-weight:750;color:#60768a}
.cal-month-day{min-height:134px;background:#fff;padding:8px;overflow:hidden}.cal-month-day.outside{background:#f6f8fa;color:#9aa8b5}.cal-month-day.today{box-shadow:inset 0 0 0 2px var(--gm-cyan)}
.cal-month-date{display:block;text-align:right;font-size:10px;font-weight:750;margin-bottom:5px}
.cal-month-event{display:block;width:100%;min-height:20px;margin:2px 0;padding:3px 5px;border:0;border-radius:4px;text-align:left;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:none}
.cal-month-more{font-size:9px;color:#688098;padding:3px}
.cal-month-silence{margin-top:5px;padding:3px 5px;border:1px dashed #d9e1e8;border-radius:4px;color:#9aa8b5;font-size:8px}
.cal-day-mode .cal-week-grid{grid-template-columns:58px minmax(500px,1fr);min-width:620px}.cal-day-mode .cal-week-grid>*:not(.active-day):not(.cal-times):not(:first-child){display:none}
.calendar-content-panel{display:flex;align-items:center;gap:18px;padding:12px 14px;margin:13px 0;background:#f5f9fc;border:1px solid var(--gm-line);border-radius:9px}.calendar-content-panel>div:first-child{min-width:145px}.calendar-content-panel strong{display:block;font-size:11px}.calendar-content-panel small{display:block;font-size:9px;color:#7d90a2;margin-top:2px}.calendar-content-tray{display:flex;gap:7px;overflow:auto;padding:2px;flex:1}.content-chip{flex:0 0 auto;margin:0;min-height:30px;padding:6px 10px;background:#fff;color:#47657d;border:1px solid #d6e2eb;box-shadow:0 2px 7px #173a5210;cursor:grab}.content-chip.smart{background:#e9f8f5;color:#247d72;border-color:#c8e9e2}.content-chip:active{cursor:grabbing}.show-content-box{margin:18px 0;padding:15px;border:1px solid #d8e5ed;border-radius:9px;background:#f6fafc}.show-content-box>div:first-child span{display:block;font-size:8px;letter-spacing:.1em;color:#8092a2}.show-content-box>div:first-child strong{display:block;margin:4px 0 12px;font-size:13px}.show-content-actions{display:flex;gap:8px}.show-content-actions button{margin:6px 0 0}
.show-studio{width:min(1480px,96vw);height:min(900px,92vh);max-width:none;max-height:none;padding:0;border:0;border-radius:14px;color:var(--gm-ink);box-shadow:0 25px 90px #06172970;overflow:hidden}.show-studio::backdrop{background:#061729a8}.show-studio-head{height:88px;display:flex;justify-content:space-between;align-items:center;padding:16px 22px;background:#f6f9fb;border-bottom:1px solid var(--gm-line)}.show-studio-head h2{margin:3px 0;font-size:18px}.show-studio-head p{margin:0;font-size:10px}.show-studio-head>div:last-child{display:flex;gap:8px}.show-studio-head button{margin:0}.show-studio-layout{height:calc(100% - 88px);display:grid;grid-template-columns:minmax(350px,.82fr) minmax(500px,1.18fr)}.show-source-pane,.show-content-pane{min-width:0;display:flex;flex-direction:column;overflow:hidden}.show-source-pane{border-right:1px solid var(--gm-line);background:#fbfcfd}.show-source-tabs{display:flex;gap:18px;padding:0 18px;border-bottom:1px solid var(--gm-line)}.show-source-tabs button{background:none;color:#8091a0;border:0;border-bottom:2px solid transparent;border-radius:0;margin:0;padding:14px 2px 11px}.show-source-tabs button.active{color:#1a628d;border-bottom-color:var(--gm-cyan)}.show-source-search{padding:12px 16px}.show-source-search input{margin:0;width:100%;min-height:36px}.show-source-panel{flex:1;overflow:auto;padding:0 14px}.show-file-table,.show-track-list{width:100%;border-collapse:collapse;font-size:11px}.show-file-table th,.show-track-list th{position:sticky;top:0;background:#edf3f7;color:#6c8193;text-align:left;font-size:8px;letter-spacing:.08em;padding:9px 7px;z-index:1}.show-file-table td,.show-track-list td{padding:9px 7px;border-bottom:1px solid #e9eef2}.show-file-table td strong{display:block}.show-file-table td small{display:block;color:#8292a0;font-size:9px}.show-file-table button{min-height:27px;margin:0;padding:3px 9px}.show-source-footer{position:sticky;bottom:0;display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:9px;background:#f7f9fb;border-top:1px solid var(--gm-line);font-size:10px;color:#6e8192}.show-source-footer span:first-child{margin-right:auto}.show-source-footer button{min-height:27px;margin:0;padding:3px 8px}.show-library-item{display:block;width:100%;margin:5px 0;text-align:left;background:#fff;color:#355773;border:1px solid var(--gm-line)}.show-content-pane{padding:16px 18px}.show-content-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.show-content-heading span{display:block;font-size:8px;letter-spacing:.1em;color:#7f91a1}.show-content-heading strong{display:block;margin-top:3px;font-size:14px}.show-content-heading button{margin:0}.show-content-heading>div:last-child{display:flex;gap:7px}.show-content-pane>p{font-size:10px;margin:8px 0}.show-content-drop{height:190px;flex-shrink:0;overflow:auto;border:1px dashed #a8bdca;border-radius:9px;background:#f8fbfd;padding:10px}.show-content-drop:focus-within{border-color:var(--gm-cyan)}#show-content-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#7c91a2;text-align:center}#show-content-empty strong{font-size:13px}#show-content-empty small{font-size:10px;margin-top:5px}.show-content-sources{list-style:none;margin:0;padding:0}.show-content-sources li{display:flex;align-items:center;gap:10px;padding:8px;border-bottom:1px solid #e6edf2;background:#fff;cursor:grab}.show-content-sources li>span{font-size:9px;color:#8192a0}.show-content-sources li strong{flex:1;font-size:11px}.show-content-sources li small{color:#7e91a1;font-size:9px}.show-content-sources li button{min-height:25px;margin:0;padding:2px 8px;background:#f2f5f8;color:#6f8090}.show-track-heading{display:flex;justify-content:space-between;padding:14px 2px 7px;font-size:11px}.show-track-heading span{font-size:10px;color:#72879a}.show-track-list-wrap{flex:1;overflow:auto;border:1px solid var(--gm-line);border-radius:8px}.show-track-list td{font-size:10px}.show-track-list td:nth-child(1),.show-track-list td:nth-child(2),.show-track-list td:nth-child(5){white-space:nowrap;color:#687f92}.show-track-list td:nth-child(3){font-weight:600}

/* Fleet table keeps operational density without legacy full-cell alarm colors. */
.fleet-tools{display:flex;gap:9px;align-items:center}.fleet-tools input{width:280px;margin:0;min-height:38px}.fleet-tools button{margin:0;white-space:nowrap}
.register-panel{background:#f5f9fc;border:1px solid var(--gm-line);border-radius:10px;padding:18px;margin:15px 0}.register-panel form{margin:0}
.fleet-summary{display:flex;gap:26px;align-items:center;background:#f7fafc;border:1px solid var(--gm-line);border-radius:9px;padding:12px 15px;margin:12px 0 8px;font-size:11px;color:#6b7f91}.fleet-summary strong{color:#1d3b54;margin-right:3px}
.fleet-head,.fleet-row{display:grid;grid-template-columns:minmax(190px,1.5fr) minmax(180px,1.2fr) minmax(120px,.8fr) minmax(120px,.8fr) 130px 110px;gap:12px;align-items:center}
.fleet-head{padding:10px 12px;background:#eef3f7;border:1px solid var(--gm-line);font-size:9px;letter-spacing:.08em;color:#728598;font-weight:750}
.fleet-row{padding:13px 12px;border:1px solid var(--gm-line);border-top:0;background:#fff;font-size:11px}.fleet-row:hover{background:#f8fbfd}.fleet-row>div{min-width:0}.fleet-row strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fleet-row small{display:block;color:#8293a3;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fleet-row select{margin:0;min-height:34px;padding:5px 28px 5px 8px;font-size:10px}.fleet-keep{display:flex;align-items:center;gap:5px;margin-top:5px;font-size:9px;font-weight:500;color:#788b9d}.fleet-keep input{width:13px;min-height:auto;margin:0}.fleet-status{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:5px 8px;border-radius:20px;background:#e4f6ee;color:#18835d;font-size:9px;font-weight:750;white-space:nowrap}.fleet-status.attention{background:#fff0e4;color:#b76a2b}.fleet-status.offline{background:#edf0f3;color:#687887}.fleet-name-row{display:flex;align-items:center;gap:6px}.fleet-name-row strong{overflow:hidden;text-overflow:ellipsis}.fleet-rename{flex-shrink:0;font-size:10px;opacity:.75}.fleet-rename:hover{opacity:1}.fleet-action{margin:0;min-height:32px;padding:6px 9px}.fleet-message{grid-column:1/-1;margin:0;color:#657b8d;font-size:10px}
.player-card{display:none}

dialog.cal-dialog{border:0;border-radius:14px;box-shadow:0 24px 70px #071b2d55}
footer{color:#8a9baa}

@media(min-width:1500px){main{padding-left:38px;padding-right:38px}.context-bar{margin-left:-38px;margin-right:-38px;padding-left:38px;padding-right:38px}.studio-layout{grid-template-columns:minmax(0,1fr) 440px}}
@media(max-width:1180px){.broadcast-monitor{grid-template-columns:0 minmax(300px,1fr) minmax(190px,.65fr) 105px 145px}.monitor-history{visibility:hidden;padding:0!important}.fleet-head,.fleet-row{grid-template-columns:minmax(180px,1.4fr) minmax(160px,1fr) 110px 110px 110px}.fleet-head span:nth-child(4),.fleet-row>div:nth-child(4){display:none}.studio-layout{grid-template-columns:1fr}.block-builder{max-width:none}}
@media(max-width:850px){body{padding-top:86px}aside{position:static;width:auto;padding:15px 16px}aside nav{display:flex;overflow:auto;margin-top:15px}aside .aside-note{display:none}.broadcast-monitor{height:86px;grid-template-columns:minmax(250px,1fr) 92px 128px}.monitor-next,.monitor-history{display:none!important}.broadcast-monitor .monitor-current{padding:10px}.monitor-art{width:40px;height:40px}.monitor-track strong{font-size:13px}.monitor-clock strong{font-size:19px}main{margin:0;padding:0 14px 25px}.context-bar{top:86px;margin:0 -14px 18px;padding:9px 14px}.context-summary,.context-bar .badge,.context-link{display:none}.context-selector{grid-template-columns:1fr!important;width:100%}.context-selector .eyebrow{display:none}header h1{font-size:25px}.schedule-controls{grid-template-columns:1fr 1fr}.calendar-views{grid-column:1/-1}.fleet-tools{width:100%;flex-wrap:wrap}.fleet-tools input{width:100%}.fleet-head{display:none}.fleet-row{grid-template-columns:1fr 1fr;border-top:1px solid var(--gm-line);margin-top:8px;border-radius:9px}.fleet-row>div{display:block!important}.fleet-row>div:nth-child(3),.fleet-row>div:nth-child(4){font-size:10px}.fleet-message{grid-column:1/-1}.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.broadcast-monitor{grid-template-columns:minmax(220px,1fr) 90px}.monitor-clock{display:none!important}.monitor-current time,.monitor-divider{display:none}.monitor-state{padding:8px!important}.monitor-art{display:none!important}.broadcast-monitor .monitor-current{grid-template-columns:1fr}.schedule-controls{grid-template-columns:1fr}.calendar-views{grid-column:auto}.toolbar-spacer{display:none}.cal-toolbar{align-items:stretch}.cal-toolbar button{flex:1}.fleet-row{grid-template-columns:1fr}.fleet-message{grid-column:1}.studio-heading{align-items:flex-start}.studio-layout{display:block}.block-builder{margin-top:14px}}
