:root{--bg:#f5f7fa;--card:#fff;--text:#17202a;--muted:#697586;--accent:#ffd21a;--border:#e4e7ec}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 Arial,sans-serif}a{color:inherit;text-decoration:none}.wrap{width:min(1120px,94%);margin:auto}header{background:#111;color:#fff}.nav{min-height:64px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:800;font-size:24px}.nav nav{display:flex;gap:20px}main{padding:28px 0 60px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:20px;box-shadow:0 2px 8px #0000000b}.card span,.card strong{display:block}.card span{color:var(--muted)}.button,button{display:inline-block;background:#111;color:#fff;border:0;border-radius:8px;padding:10px 14px;cursor:pointer}.button{margin-top:12px}.danger{background:#a51d2d}.auth{max-width:430px;margin:50px auto;background:#fff;padding:28px;border-radius:14px}.auth form,label{display:block}.auth label{margin:15px 0}.auth input,input[type=text],input[type=number],input[type=file]{width:100%;padding:11px;border:1px solid #ccd2da;border-radius:8px;margin-top:6px}.auth button{width:100%;margin-top:10px}.flash{padding:12px 16px;border-radius:9px;margin-bottom:18px;background:#e9f8ee}.flash.error{background:#fdeaea}.station-hero{text-align:center;padding:20px}.logo{width:120px;height:120px;object-fit:contain;border-radius:50%}audio{width:min(650px,100%);margin:18px auto}.station-head,.toolbar,.actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.stats span{margin-top:6px}.actions form{display:flex;gap:8px}.songs{margin-top:18px}.songs>div{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);padding:11px 0}.songs form{margin:0}@media(max-width:650px){.stats{grid-template-columns:1fr}.station-head{align-items:flex-start;gap:12px}.actions form{flex-wrap:wrap}.songs>div{gap:10px}.nav nav{gap:10px}}

textarea{width:100%;padding:11px;border:1px solid #ccd2da;border-radius:8px;margin-top:6px;font:inherit;resize:vertical}.muted{color:var(--muted)}small{display:block;color:var(--muted);margin-top:6px}.accent{background:var(--accent);color:#111;font-weight:700}.empty{max-width:650px}.station-link{display:inline-block;margin:14px 0 0 10px;color:#555}.setup-box{display:flex;gap:12px;align-items:center;background:#f6f8fb;border:1px solid var(--border);border-radius:10px;padding:14px;margin:16px 0}.setup-box span{display:block;color:var(--muted);font-size:14px}.setup-spinner{width:22px;height:22px;border:3px solid #ddd;border-top-color:#111;border-radius:50%;animation:spin .8s linear infinite;opacity:.35}.setup-box.active .setup-spinner{opacity:1}@keyframes spin{to{transform:rotate(360deg)}}button:disabled{opacity:.65;cursor:wait}
.public-station{--station-color:#ffd21a}.station-hero{background:linear-gradient(180deg,#111 0%,#181818 100%);color:#fff;border-radius:18px;padding:42px 20px;margin-bottom:18px;border-bottom:4px solid var(--station-color)}.station-hero h1{font-size:clamp(30px,6vw,56px);margin:8px 0}.station-hero p{color:#ccc}.station-cover{margin-bottom:12px}.logo-fallback{display:inline-flex;align-items:center;justify-content:center;background:var(--station-color);color:#111;font-weight:900;font-size:52px}.eyebrow{text-transform:uppercase;letter-spacing:2px;color:var(--station-color);font-size:12px;font-weight:800}.public-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.now-card #now-song span{font-size:20px;margin-top:5px}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin-top:18px}.gallery-item{border:1px solid var(--border);border-radius:10px;padding:10px}.gallery-item img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px}.gallery-item b{display:block;margin:7px 0;font-size:14px}.gallery-item form{margin:0}@media(max-width:700px){.public-grid{grid-template-columns:1fr}}

.storage-bar{height:12px;background:#252525;border-radius:99px;overflow:hidden;margin:12px 0}.storage-bar span{display:block;height:100%;background:var(--accent,#ffd21a);border-radius:99px}.playlist-list{display:grid;gap:10px}.playlist-row{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:12px}.row-actions{display:flex;gap:8px;align-items:center}.days{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}.check{display:block;margin:14px 0}.notice.error{border-color:#a33}.notice.success{border-color:#3a6}
@media(max-width:700px){.playlist-row{align-items:flex-start;flex-direction:column}.row-actions{width:100%}.row-actions .button,.row-actions button{flex:1}}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.stat{display:flex;flex-direction:column;gap:3px;margin:10px 0 18px}.stat strong{font-size:34px}.stat span,.muted{color:#8d959f}.progress{height:10px;background:#222;border-radius:20px;overflow:hidden}.progress span{display:block;height:100%;background:#00d95f}.notice{margin-top:18px;padding:14px;border:1px solid #333;border-radius:10px;background:#111;color:#bbb;line-height:1.5}.row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid #292929;gap:15px}.badge{font-size:11px;margin-left:10px;padding:3px 7px;border:1px solid #555;border-radius:20px;color:#aaa}.price{font-size:20px;font-weight:800}@media(max-width:700px){.grid2{grid-template-columns:1fr}.row{align-items:flex-start}}
.wallet-balance{font-size:2.3rem;font-weight:800;margin:8px 0 20px}.table-wrap{overflow:auto}.table-wrap table{min-width:720px}.muted{color:#8d96a5}

.admin-page .tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.admin-page .tab{padding:9px 13px;border:1px solid #333;border-radius:8px;text-decoration:none}.admin-page .tab.active{background:#ffd21a;color:#111}.cards{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.cards .card{display:flex;flex-direction:column;gap:5px}.cards strong{font-size:28px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:10px;border-bottom:1px solid #333;text-align:left;vertical-align:middle}th{white-space:nowrap}.inline-form{display:flex;gap:5px;align-items:center}.inline-form input,.inline-form button{max-width:110px}.form-grid{display:grid;gap:12px}.form-grid label{display:grid;gap:5px}.form-grid input,.form-grid select{padding:10px}.muted{opacity:.75}

.song-row{display:block;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08)}.song-row>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px}.song-edit{display:none;grid-template-columns:1fr 1fr auto;gap:10px;margin-top:10px;padding:12px;border-radius:10px;background:rgba(255,255,255,.04)}.song-edit.open{display:grid}.song-edit label{display:block}.song-edit input{width:100%}@media(max-width:700px){.song-edit.open{grid-template-columns:1fr}.song-row>div:first-child{align-items:flex-start;flex-direction:column}.row-actions{display:flex;gap:8px;align-items:center}}

/* RawJamz-style station frontend */
.rawjamz-station{background:#080808;color:#f5f5f5;margin:-28px calc((1120px - 100vw)/2) -60px;padding-bottom:50px;overflow:hidden;--station-color:#d7a72b}.rj-hero{position:relative;min-height:460px;background:radial-gradient(circle at 50% 45%,#3b2a12 0,#17120b 38%,#070707 78%);border-bottom:2px solid var(--station-color);overflow:hidden}.rj-hero-bg{position:absolute;inset:0;background:linear-gradient(115deg,rgba(185,35,30,.35),transparent 28%,rgba(0,155,75,.12) 65%,rgba(224,171,34,.3));opacity:.9}.rj-navline{position:relative;display:flex;justify-content:space-between;align-items:center;padding:18px max(22px,calc((100vw - 1120px)/2));border-bottom:1px solid #ffffff18;background:#050505cc}.rj-brand{font-size:21px;font-weight:900;letter-spacing:2px}.rj-brand b{display:block;font-size:10px;color:var(--station-color);letter-spacing:5px}.rj-live-dot{font-size:11px;color:#63e28c;font-weight:800}.rj-hero-inner{position:relative;z-index:1;max-width:1120px;margin:auto;min-height:390px;display:grid;grid-template-columns:1fr 1.25fr 1fr;align-items:center;gap:20px;padding:35px 25px}.rj-copy{font-weight:900}.rj-kicker{color:var(--station-color);letter-spacing:3px;font-size:12px}.rj-bigwords{font-size:clamp(34px,5vw,70px);line-height:.9;margin:10px 0;text-transform:uppercase;text-shadow:3px 4px 0 #000}.rj-copy p{letter-spacing:3px;color:#ddd;font-size:13px}.rj-emblem{text-align:center}.rj-logo{width:205px;height:205px;object-fit:contain;border-radius:50%;border:4px solid var(--station-color);padding:6px;background:#050505;box-shadow:0 0 45px #000,0 0 20px color-mix(in srgb,var(--station-color) 35%,transparent)}.rj-logo-fallback{display:inline-flex;align-items:center;justify-content:center;font-size:100px;font-weight:900;color:#111;background:var(--station-color)}.rj-emblem h1{font-size:clamp(30px,5vw,52px);margin:12px 0 2px;font-weight:950;letter-spacing:1px}.rj-subtitle{letter-spacing:5px;color:var(--station-color);font-size:11px;font-weight:800}.rj-location{text-align:right;text-transform:uppercase}.rj-location span{display:block;color:#69e38b;font-size:12px;font-weight:900}.rj-location strong{display:block;font-size:28px;letter-spacing:2px}.rj-location small{color:#aaa;letter-spacing:4px}.rj-player{max-width:1050px;margin:-38px auto 28px;position:relative;z-index:4;background:#101010;border:1px solid #333;border-bottom:3px solid var(--station-color);border-radius:18px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:18px;padding:16px 20px;box-shadow:0 12px 40px #000}.rj-player-main{display:flex;align-items:center;gap:15px}.rj-play{width:58px;height:58px;border-radius:50%;background:#2fc866;color:#07150c;font-size:21px;font-weight:900;padding:0}.rj-player-text span,.rj-player-text strong,.rj-player-text small{display:block}.rj-live-label{font-size:10px;color:#48db79;font-weight:900;letter-spacing:2px}.rj-player-text strong{font-size:18px}.rj-player-text small{color:#999}.rj-volume{display:flex;align-items:center;gap:7px}.rj-volume input{width:110px}.rj-eq{height:42px;width:120px;display:flex;align-items:flex-end;gap:3px}.rj-eq i{display:block;flex:1;background:linear-gradient(to top,#39c66c,#e3bb32,#c83732);height:35%;animation:rjEq .8s infinite alternate}.rj-eq i:nth-child(2n){animation-delay:.2s}.rj-eq i:nth-child(3n){animation-delay:.4s}.rj-eq i:nth-child(4n){height:70%}.rj-eq i:nth-child(5n){height:48%}@keyframes rjEq{to{height:92%}}.rj-panels{max-width:1120px;margin:auto;display:grid;grid-template-columns:1fr 1fr 1fr;gap:15px;padding:0 20px}.rj-panel{background:#101010;border:1px solid #292929;border-radius:12px;overflow:hidden;min-height:210px}.rj-panel h2{font-size:14px;letter-spacing:1.5px;padding:13px 15px;margin:0;border-bottom:1px solid #292929}.rj-green{box-shadow:inset 0 3px #36cf68}.rj-gold{box-shadow:inset 0 3px #e1b332}.rj-red{box-shadow:inset 0 3px #c83b36}.rj-green h2{color:#55db7e}.rj-gold h2{color:#e4bc42}.rj-red h2{color:#db554f}.rj-track{display:flex;gap:14px;padding:18px}.rj-track img{width:84px;height:84px;object-fit:cover;border-radius:7px}.rj-track strong,.rj-track span,.rj-track small{display:block}.rj-track strong{font-size:17px}.rj-track span{color:var(--station-color);font-size:14px;margin-top:4px}.rj-track small{color:#777;margin-top:9px}.rj-spectrum{height:26px;margin:0 18px 18px;background:repeating-linear-gradient(90deg,#3bc86c 0 3px,transparent 3px 7px);opacity:.7}.rj-history-row{display:flex;justify-content:space-between;gap:12px;padding:9px 14px;border-top:1px solid #222}.rj-history-row strong,.rj-history-row span{display:block}.rj-history-row strong{font-size:13px}.rj-history-row span,.rj-history-row small{color:#888;font-size:11px}.rj-connect{max-width:1120px;margin:30px auto;padding:60px 20px;text-align:center;position:relative;background:radial-gradient(circle at center,#241b0c,#0a0a0a 60%);border-top:1px solid #252525;border-bottom:1px solid #252525}.rj-map{font-size:70px;color:#b8953b;opacity:.25;position:absolute;inset:40px 0 auto}.rj-connect h2{position:relative;font-size:clamp(26px,4vw,48px);letter-spacing:4px;line-height:1.1}.rj-connect h2 span{color:var(--station-color)}.rj-connect p{letter-spacing:4px;color:#bbb;font-size:11px}.rj-stripe{height:3px;width:180px;margin:18px auto;background:linear-gradient(90deg,#c83732 0 33%,#e4b72e 33% 66%,#35c56a 66%)}.rj-about{max-width:900px;margin:30px auto;padding:25px 20px;background:#101010;border:1px solid #292929;border-radius:12px}.rj-about h2{font-size:18px;color:var(--station-color)}.rj-button{display:inline-block;margin-top:10px;padding:11px 16px;border:1px solid var(--station-color);border-radius:8px;color:var(--station-color);font-weight:800}@media(max-width:800px){.rawjamz-station{margin:-28px -3% -60px}.rj-hero-inner{grid-template-columns:1fr;min-height:auto;text-align:center;padding-top:40px}.rj-copy{display:none}.rj-location{text-align:center;margin-top:5px}.rj-player{margin:15px 15px 25px;grid-template-columns:1fr}.rj-volume{justify-content:center}.rj-eq{width:100%;margin:auto}.rj-panels{grid-template-columns:1fr;padding:0 15px}.rj-panel{min-height:0}.rj-logo{width:175px;height:175px}.rj-navline{padding:15px 18px}.rj-bigwords{font-size:40px}}

/* MPT CAST v15 customer dashboard */
.dashboard-shell{max-width:1120px;margin:0 auto}
.dashboard-hero{position:relative;overflow:hidden;display:flex;justify-content:space-between;gap:28px;align-items:flex-end;padding:34px 34px 30px;margin:0 0 20px;border-radius:20px;background:radial-gradient(circle at 85% 20%,rgba(255,210,26,.20),transparent 28%),linear-gradient(135deg,#090909 0%,#151515 55%,#202020 100%);border:1px solid #292929;box-shadow:0 16px 40px rgba(0,0,0,.22)}
.dashboard-hero:after{content:"";position:absolute;left:-40px;bottom:-55px;width:220px;height:220px;border-radius:50%;border:1px solid rgba(255,210,26,.10);box-shadow:0 0 0 35px rgba(255,210,26,.025),0 0 0 70px rgba(255,210,26,.018)}
.dashboard-hero-copy,.dashboard-hero-actions{position:relative;z-index:1}.dashboard-hero h1{margin:6px 0 7px;color:#fff;font-size:clamp(28px,5vw,44px);line-height:1.05}.dashboard-hero p{margin:0;color:#aeb4bc;max-width:650px}.dashboard-hero-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.button-light{background:#fff;color:#111;font-weight:700}.button-outline{background:transparent!important;border:1px solid #555;color:#fff!important}.dashboard-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:30px}.dash-stat{background:#111;color:#fff;border:1px solid #292929;border-radius:14px;padding:17px 18px}.dash-stat>span{display:block;color:#777f89;font-size:10px;letter-spacing:1.5px;font-weight:800}.dash-stat strong{display:block;font-size:25px;margin:4px 0 2px}.dash-stat small{display:block;color:#858d97}.live-dot-text{color:#63df7a}.dashboard-section-title{display:flex;align-items:end;justify-content:space-between;gap:15px;margin:0 0 13px}.dashboard-section-title.compact{margin-bottom:13px}.dashboard-section-title h2{margin:2px 0 0;font-size:27px}.station-dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px;margin-bottom:32px}.station-dash-card{overflow:hidden;background:linear-gradient(180deg,#171717,#0d0d0d);border:1px solid #292929;border-radius:17px;color:#fff;box-shadow:0 10px 25px rgba(0,0,0,.16)}.station-dash-top{height:80px;display:flex;align-items:center;justify-content:space-between;padding:16px 18px;background:linear-gradient(135deg,#191919,#242424);border-bottom:1px solid #292929}.station-dash-logo{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ffd21a;color:#111;font-size:22px;font-weight:900;box-shadow:0 0 0 4px rgba(255,210,26,.10)}.station-dash-status{font-size:10px;letter-spacing:1px;color:#8e969f;font-weight:800}.station-dash-status span{display:inline-block;width:7px;height:7px;border-radius:50%;background:#39d66b;box-shadow:0 0 8px #39d66b;margin-right:5px}.station-dash-body{padding:20px}.station-dash-body h3{font-size:24px;margin:5px 0 1px}.station-slug{color:#858d97;font-size:14px}.station-dash-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}.station-dash-actions .button{margin-top:0}.station-dash-links{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #292929}.station-dash-links a{padding:12px 8px;text-align:center;color:#9ca4ad;font-size:12px;font-weight:700;border-right:1px solid #292929}.station-dash-links a:last-child{border-right:0}.station-dash-links a:hover{color:#ffd21a}.dash-empty{display:flex;align-items:center;gap:20px;padding:28px;margin-bottom:32px;border-radius:17px;background:linear-gradient(135deg,#151515,#0c0c0c);border:1px solid #292929;color:#fff}.empty-icon{width:62px;height:62px;flex:0 0 62px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ffd21a;color:#111;font-size:28px;font-weight:900}.dash-empty h3{margin:0 0 4px;font-size:23px}.dash-empty p{margin:0 0 8px;color:#969ea7}.dash-empty .button{margin-top:5px}.dashboard-tools{margin-bottom:28px}.quick-tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quick-tool{display:flex;align-items:center;gap:13px;padding:15px 16px;border:1px solid #292929;border-radius:13px;background:#111;color:#fff;transition:transform .15s,border-color .15s,background .15s}.quick-tool:hover{transform:translateY(-1px);border-color:#555;background:#151515}.quick-tool>b{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#202020;color:#ffd21a;font-size:18px}.quick-tool span{min-width:0;flex:1}.quick-tool strong,.quick-tool small{display:block}.quick-tool strong{font-size:14px}.quick-tool small{color:#7f8790;margin-top:2px}.quick-tool i{font-style:normal;color:#777;font-size:23px}.dashboard-custom-block{margin-top:24px}
@media(max-width:760px){.dashboard-hero{padding:25px 20px;display:block}.dashboard-hero-actions{justify-content:flex-start;margin-top:18px}.dashboard-stats{grid-template-columns:1fr}.dashboard-section-title{align-items:flex-start}.quick-tools-grid{grid-template-columns:1fr}.dash-empty{align-items:flex-start}.station-dash-links{grid-template-columns:1fr}.station-dash-links a{border-right:0;border-bottom:1px solid #292929}.station-dash-links a:last-child{border-bottom:0}}

/* MPT CAST v16 station management workspace */
.manage-shell{max-width:1120px;margin:0 auto}.manage-hero{display:flex;justify-content:space-between;gap:25px;align-items:flex-end;padding:32px;margin-bottom:18px;border-radius:20px;background:radial-gradient(circle at 85% 10%,rgba(255,210,26,.18),transparent 28%),linear-gradient(135deg,#090909,#1b1b1b);border:1px solid #292929;color:#fff;box-shadow:0 16px 38px rgba(0,0,0,.18)}.manage-kicker,.manage-eyebrow{font-size:10px;letter-spacing:2px;font-weight:900;color:#8c949d}.manage-kicker{color:#62dc79}.manage-live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#43d76c;box-shadow:0 0 8px #43d76c;margin-right:6px}.manage-hero h1{font-size:clamp(28px,5vw,44px);margin:8px 0 4px;line-height:1.05}.manage-hero p{margin:0;color:#9da5ae}.manage-sep{padding:0 7px;color:#555}.manage-hero-actions{display:flex;gap:8px;flex-wrap:wrap}.button-outline{background:transparent!important;color:#fff!important;border:1px solid #4a4a4a}.manage-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.manage-stat{padding:18px;background:#111;border:1px solid #292929;border-radius:14px;color:#fff}.manage-stat>span{display:block;color:#777f89;font-size:10px;font-weight:900;letter-spacing:1.6px}.manage-stat strong{display:block;font-size:20px;margin:5px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.manage-stat small{color:#808993}.manage-control-card,.manage-panel,.manage-side-card{background:#fff;border:1px solid #dedfe3;border-radius:16px;padding:21px;box-shadow:0 5px 18px rgba(0,0,0,.06)}.manage-control-card{margin-bottom:18px}.manage-card-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:12px}.manage-card-head h2{margin:3px 0 0;font-size:24px}.manage-status-pill{font-size:11px;font-weight:800;color:#278b43;background:#eaf8ee;padding:7px 10px;border-radius:99px}.manage-status-pill i{display:inline-block;width:6px;height:6px;background:#37c963;border-radius:50%;margin-right:5px}.manage-control-buttons form{display:flex;gap:8px;flex-wrap:wrap}.manage-control-buttons button{margin:0}.manage-start{background:#198a43}.manage-stop{background:#a51d2d}.manage-restart{background:#222}.manage-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:18px;margin-bottom:18px}.manage-layout main,.manage-layout aside{display:flex;flex-direction:column;gap:18px}.manage-panel form label,.manage-side-card form label{margin:12px 0}.manage-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 15px}.manage-form-grid label{margin:9px 0}.manage-panel input,.manage-panel textarea,.manage-side-card input,.manage-side-card textarea{width:100%;padding:10px;border:1px solid #ccd2da;border-radius:8px;margin-top:5px;font:inherit}.manage-panel .color-input{height:43px;padding:4px}.manage-panel button,.manage-side-card button{margin-top:8px}.manage-count{font-size:12px;background:#f0f1f3;border-radius:99px;padding:6px 9px;color:#59616b;font-weight:800}.manage-upload{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#f6f7f9;border:1px dashed #cdd1d6;border-radius:12px;padding:13px;margin:15px 0}.manage-upload strong,.manage-upload small{display:block}.manage-upload small{color:#777;margin-top:2px}.manage-upload form{display:flex;align-items:center;gap:7px;margin:0}.manage-upload input[type=file]{width:auto;margin:0}.manage-song{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;padding:13px 0;border-top:1px solid #eceef1;position:relative}.manage-song-icon{width:40px;height:40px;border-radius:10px;background:#151515;color:#ffd21a;display:flex;align-items:center;justify-content:center;font-size:21px}.manage-song-info strong,.manage-song-info small{display:block}.manage-song-info strong{overflow:hidden;text-overflow:ellipsis}.manage-song-info small{color:#8a9199;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.manage-song-actions{display:flex;gap:6px;align-items:center}.manage-song-actions form{margin:0}.manage-song-actions button{margin:0}.manage-song-edit{display:none;grid-column:2/-1;background:#f7f7f8;border-radius:10px;padding:12px}.manage-song-edit.open{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end}.manage-song-edit label{margin:0!important}.manage-song-edit button{margin:0!important}.playlist-create{display:grid;grid-template-columns:1fr 120px auto;gap:8px;margin:15px 0}.playlist-create input{margin:0}.playlist-list>div{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-top:1px solid #eceef1}.playlist-list strong,.playlist-list small{display:block}.playlist-list small{color:#858c94}.playlist-list a{font-weight:800;color:#8b7000}.storage-card{background:linear-gradient(145deg,#121212,#202020);color:#fff;border-color:#292929}.storage-card .manage-eyebrow{color:#ffd21a}.storage-card h3{margin:4px 0 12px;font-size:25px}.storage-number{font-size:24px;font-weight:900}.storage-number span{font-size:13px;color:#858d97}.storage-card p{font-size:12px;color:#9299a2}.storage-card .button{margin-top:5px}.storage-card .storage-bar{height:8px;background:#333;border-radius:99px;overflow:hidden;margin-top:13px}.storage-card .storage-bar span{display:block;height:100%;background:linear-gradient(90deg,#2fc866,#e0b82f,#c83c35);border-radius:99px}.manage-alert{padding:13px;background:#fff3e6;border:1px solid #f0d0a6;border-radius:9px}.gallery-add{display:grid;grid-template-columns:1.1fr 1fr 1fr auto;gap:8px;margin:15px 0}.gallery-add input{margin:0}.manage-gallery{margin-top:12px}.manage-gallery .gallery-item{border:1px solid #ddd;border-radius:12px;overflow:hidden;background:#f7f7f7}.manage-gallery .gallery-item img{width:100%;height:170px;object-fit:cover;display:block}.gallery-caption{padding:9px}.gallery-caption b{display:block;min-height:20px}.gallery-caption form{margin:6px 0 0}.gallery-caption button{margin:0}.check{display:flex!important;align-items:center;gap:7px}.check input{width:auto!important;margin:0!important}.muted{color:#69717a}@media(max-width:800px){.manage-hero{display:block;padding:25px 20px}.manage-hero-actions{margin-top:18px}.manage-stats{grid-template-columns:1fr}.manage-layout{grid-template-columns:1fr}.manage-upload{display:block}.manage-upload form{margin-top:10px;display:block}.manage-upload input[type=file]{width:100%}.manage-song{grid-template-columns:38px 1fr}.manage-song-actions{grid-column:2}.manage-song-edit.open{grid-template-columns:1fr}.playlist-create,.gallery-add{grid-template-columns:1fr}.manage-card-head{align-items:flex-start;flex-wrap:wrap}}

/* MPT CAST v17 — Playlist Studio */
.playlist-studio{max-width:1120px;margin:0 auto}.ps-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding:30px;margin-bottom:18px;border-radius:20px;background:radial-gradient(circle at 88% 20%,rgba(255,210,26,.16),transparent 28%),linear-gradient(135deg,#080808,#1a1a1a);border:1px solid #292929;color:#fff;box-shadow:0 15px 38px rgba(0,0,0,.16)}.ps-eyebrow{font-size:10px;letter-spacing:2px;font-weight:900;color:#62dc79}.ps-hero h1{font-size:clamp(30px,5vw,46px);line-height:1;margin:7px 0}.ps-hero p{margin:0;color:#929aa3}.ps-hero-actions{display:flex;gap:8px;flex-wrap:wrap}.ps-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,.8fr);gap:18px}.ps-main,.ps-side{display:flex;flex-direction:column;gap:18px}.ps-card{background:#fff;border:1px solid #dedfe3;border-radius:16px;padding:21px;box-shadow:0 5px 18px rgba(0,0,0,.055)}.ps-card.dark{background:#111;color:#fff;border-color:#292929}.ps-card h2{margin:0;font-size:21px}.ps-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:15px}.ps-head p{margin:4px 0 0}.ps-badge{padding:6px 9px;border-radius:99px;background:#f1f2f4;color:#59616a;font-size:11px;font-weight:900;white-space:nowrap}.ps-badge.on{background:#eaf8ee;color:#278b43}.ps-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 15px}.ps-card label{margin:10px 0}.ps-card input,.ps-card select,.ps-card textarea{width:100%;padding:10px;border:1px solid #ccd2da;border-radius:8px;margin-top:5px;font:inherit;background:#fff}.ps-card input[type=checkbox]{width:auto;margin:0}.ps-card .check{display:flex;align-items:center;gap:7px}.ps-help{font-size:12px;color:#818993}.ps-create{border-left:4px solid #ffd21a}.ps-days{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.ps-days label{margin:0!important;padding:7px 10px;border:1px solid #d8dbe0;border-radius:8px;background:#f7f8f9}.ps-days input{margin-right:5px!important}.ps-schedule{margin-top:12px;padding:12px;border:1px solid #e2e4e7;border-radius:11px;background:#f7f7f8}.ps-schedule h3{font-size:14px;margin:0 0 5px}.ps-list{display:grid;gap:0}.ps-list-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px 0;border-top:1px solid #eceef1}.ps-list-row:first-child{border-top:0}.ps-list-info strong,.ps-list-info small{display:block}.ps-list-info strong{font-size:15px}.ps-list-info small{color:#858c94;margin-top:3px}.ps-list-actions{display:flex;gap:7px;align-items:center}.ps-list-actions a{font-weight:800;color:#806900}.ps-danger{background:#a51d2d!important;color:#fff!important}.ps-stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.ps-stat{padding:15px;border-radius:12px;background:#171717;border:1px solid #292929}.ps-stat small{display:block;color:#7d858e;text-transform:uppercase;letter-spacing:1.4px;font-size:9px;font-weight:900}.ps-stat strong{display:block;font-size:22px;margin-top:3px}.ps-tip{padding:14px;border-radius:12px;background:#fff8df;border:1px solid #ead99b;color:#5d501b;font-size:13px;line-height:1.5}.ps-tip strong{display:block;margin-bottom:3px}.ps-upload{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px;border-radius:12px;background:#f6f7f9;border:1px dashed #cdd1d6;margin-bottom:14px}.ps-upload strong,.ps-upload small{display:block}.ps-upload small{color:#777;margin-top:2px}.ps-upload form{display:flex;align-items:center;gap:7px;margin:0}.ps-upload input[type=file]{width:auto;margin:0}.ps-song{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;padding:13px 0;border-top:1px solid #eceef1}.ps-song-icon{width:40px;height:40px;border-radius:10px;background:#151515;color:#ffd21a;display:flex;align-items:center;justify-content:center;font-size:20px}.ps-song-info strong,.ps-song-info small{display:block}.ps-song-info strong{overflow:hidden;text-overflow:ellipsis}.ps-song-info small{color:#8a9199;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ps-song-actions{display:flex;gap:6px;align-items:center}.ps-song-actions form{margin:0}.ps-song-actions button{margin:0}.ps-song-edit{display:none;grid-column:2/-1;background:#f7f7f8;border-radius:10px;padding:12px}.ps-song-edit.open{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end}.ps-song-edit label{margin:0}.ps-song-edit button{margin:0}.ps-empty{padding:25px;text-align:center;border:1px dashed #d3d6da;border-radius:12px;color:#7a828b}.ps-empty strong{display:block;color:#30363c;margin-bottom:4px}.ps-progress{height:8px;background:#333;border-radius:99px;overflow:hidden;margin:10px 0}.ps-progress span{display:block;height:100%;background:linear-gradient(90deg,#2fc866,#ffd21a,#d53e3e)}.ps-dark-copy{color:#9aa2ab;font-size:13px}.ps-dark-link{color:#ffd21a;font-weight:800}.ps-mini-nav{display:flex;gap:7px;flex-wrap:wrap}.ps-mini-nav a{background:#181818;border:1px solid #333;color:#fff;border-radius:8px;padding:8px 10px;font-size:12px}.ps-mini-nav a:hover{border-color:#ffd21a}
@media(max-width:800px){.ps-hero{display:block;padding:25px 20px}.ps-hero-actions{margin-top:18px}.ps-layout{grid-template-columns:1fr}.ps-form-grid{grid-template-columns:1fr}.ps-upload{display:block}.ps-upload form{display:block;margin-top:10px}.ps-upload input[type=file]{width:100%}.ps-song{grid-template-columns:38px 1fr}.ps-song-actions{grid-column:2}.ps-song-edit.open{grid-template-columns:1fr}.ps-list-row{align-items:flex-start;flex-direction:column}.ps-list-actions{width:100%}.ps-list-actions a,.ps-list-actions button{flex:1}.ps-stat-grid{grid-template-columns:1fr}}

/* MPT CAST v18 — Wallet / Domains / Station Space */
.money-page{max-width:1120px;margin:0 auto}.money-hero{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:30px;margin-bottom:18px;border-radius:20px;background:radial-gradient(circle at 88% 15%,rgba(255,210,26,.16),transparent 28%),linear-gradient(135deg,#070707,#1a1a1a);border:1px solid #292929;color:#fff;box-shadow:0 15px 38px rgba(0,0,0,.14)}.money-eyebrow{font-size:10px;letter-spacing:2px;font-weight:900;color:#5ddd78}.money-hero h1{font-size:clamp(30px,5vw,46px);line-height:1;margin:7px 0}.money-hero p{margin:0;color:#9aa2ab;max-width:650px}.money-hero-balance{min-width:190px;padding:18px 20px;border:1px solid #333;border-radius:14px;background:#111;text-align:right}.money-hero-balance span,.money-label{display:block;font-size:10px;letter-spacing:1.7px;font-weight:900;color:#7e8790}.money-hero-balance strong{display:block;color:#fff;font-size:32px;margin-top:3px}.money-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,.8fr);gap:18px}.money-main,.money-side{display:flex;flex-direction:column;gap:18px}.money-card{background:#fff;border:1px solid #dedfe3;border-radius:16px;padding:21px;box-shadow:0 5px 18px rgba(0,0,0,.055)}.money-card h2{margin:3px 0 7px;font-size:21px}.money-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:13px}.money-pill{padding:6px 10px;border-radius:99px;background:#f1f2f4;color:#59616a;font-size:11px;font-weight:900;white-space:nowrap}.money-pill.green{background:#eaf8ee;color:#278b43}.money-label.gold{color:#ffd21a}.funding-card{border-left:4px solid #ffd21a}.fund-form,.domain-form,.space-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin-top:17px}.money-card label{margin:0;font-weight:700}.money-card input{width:100%;padding:11px;border:1px solid #ccd2da;border-radius:8px;margin-top:6px;font:inherit}.money-card .button{border:0;cursor:pointer}.dark-button{background:#111;color:#fff!important}.dark-money{background:linear-gradient(145deg,#101010,#1d1d1d);color:#fff;border-color:#292929}.dark-money p{color:#9299a2}.money-feature{padding:12px 0;border-top:1px solid #292929;margin-top:10px}.money-feature b,.money-feature span{display:block}.money-feature span{font-size:12px;color:#9299a2;margin-top:3px}.money-links{display:grid;gap:8px;margin-top:12px}.money-links a{display:flex;justify-content:space-between;padding:12px;border-radius:10px;background:#f5f6f7;border:1px solid #e4e6e9;font-weight:800}.money-links b{color:#947900}.money-empty{padding:27px;text-align:center;border:1px dashed #d1d5da;border-radius:12px;color:#7c848d}.money-empty strong,.money-empty span{display:block}.money-empty strong{color:#30363c;margin-bottom:4px}.money-table table{min-width:760px}.money-type{display:inline-block;padding:4px 7px;border-radius:99px;background:#eef0f2;font-size:10px;font-weight:900;text-transform:uppercase}.money-type.credit{background:#eaf8ee;color:#278b43}.money-type.debit{background:#fdeaea;color:#a51d2d}.money-amount.credit{color:#278b43;font-weight:800}.money-amount.debit{color:#a51d2d;font-weight:800}.domain-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.domain-steps div{padding:12px;background:#f7f8f9;border:1px solid #e2e4e7;border-radius:10px}.domain-steps b{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;border-radius:50%;background:#111;color:#ffd21a;font-size:11px;margin-bottom:7px}.domain-steps span{display:block;font-size:12px;color:#6e7680}.domain-list{display:grid}.domain-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-top:1px solid #eceef1}.domain-row:first-child{border-top:0}.domain-name{display:flex;align-items:center;gap:10px}.domain-name strong,.domain-name small{display:block}.domain-name small{color:#858c94;margin-top:2px}.domain-dot{width:9px;height:9px;border-radius:50%;background:#36c866;box-shadow:0 0 0 4px #e8f8ed}.danger{background:#a51d2d!important;color:#fff!important}.space-top-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.storage-hero-card h2{font-size:34px}.space-percent{font-size:18px;font-weight:900;color:#ffd21a}.space-meter{height:11px;background:#303030;border-radius:99px;overflow:hidden;margin:22px 0 10px}.space-meter span{display:block;height:100%;background:linear-gradient(90deg,#2fc866,#e0b82f,#c83c35);border-radius:99px}.space-meta{display:flex;justify-content:space-between;color:#8e969f;font-size:12px}.space-form{grid-template-columns:1fr auto}.space-total{padding:10px 12px;background:#f6f7f8;border:1px solid #e3e5e8;border-radius:8px;white-space:nowrap}.space-total strong{font-size:20px;margin-left:6px}.space-wallet-link{display:inline-block;margin-top:13px;color:#806900;font-weight:800;font-size:13px}@media(max-width:800px){.money-hero{display:block}.money-hero-balance{margin-top:18px;text-align:left}.money-grid,.space-top-grid{grid-template-columns:1fr}.fund-form,.domain-form,.space-form{grid-template-columns:1fr}.domain-steps{grid-template-columns:1fr}.domain-row{align-items:flex-start}.money-hero .button{margin-top:18px;display:inline-block}}


/* MPT CAST v19 — TikTok Social Studio */
.tt-page{max-width:1180px;margin:0 auto}.tt-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:30px;margin-bottom:18px;border-radius:20px;background:radial-gradient(circle at 88% 12%,rgba(255,210,26,.18),transparent 28%),linear-gradient(135deg,#070707,#1a1a1a);border:1px solid #292929;color:#fff;box-shadow:0 15px 38px rgba(0,0,0,.14)}.tt-eyebrow,.tt-label{font-size:10px;letter-spacing:2px;font-weight:900;color:#5ddd78}.tt-label.gold{color:#c49e00}.tt-hero h1{font-size:clamp(30px,5vw,46px);line-height:1;margin:7px 0}.tt-hero p{margin:0;color:#9aa2ab;max-width:700px}.tt-hero-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tt-connection{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:99px;font-size:11px;font-weight:900;border:1px solid #333;background:#111}.tt-connection i{width:8px;height:8px;border-radius:50%;background:#d33}.tt-connection.on{color:#7bea91}.tt-connection.on i{background:#36d76b;box-shadow:0 0 0 4px rgba(54,215,107,.12)}.tt-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);gap:18px}.tt-main,.tt-side{display:flex;flex-direction:column;gap:18px}.tt-card{background:#fff;border:1px solid #dedfe3;border-radius:16px;padding:21px;box-shadow:0 5px 18px rgba(0,0,0,.055)}.tt-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:17px}.tt-card h2{margin:3px 0 5px;font-size:21px}.tt-card-head p{margin:0;color:#7d858e;font-size:13px;line-height:1.5}.tt-icon,.tt-video-badge{width:52px;height:52px;border-radius:13px;background:#111;color:#ffd21a;display:flex;align-items:center;justify-content:center;font-weight:900;flex:none}.tt-video-badge{text-align:center;line-height:1.05;font-size:16px}.tt-video-badge small{font-size:8px;color:#9aa2ab;display:block;margin-top:3px}.tt-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.tt-card label{display:block;margin:11px 0;font-weight:700;font-size:13px}.tt-card input,.tt-card select,.tt-card textarea{width:100%;padding:11px;border:1px solid #ccd2da;border-radius:8px;margin-top:6px;font:inherit;background:#fff;box-sizing:border-box}.tt-card input[type=checkbox]{width:auto;margin:0}.tt-card small{display:block;color:#858c94;font-size:11px;margin-top:5px;font-weight:400}.tt-redirect{padding:12px;border:1px dashed #d0d4d9;background:#f7f8f9;border-radius:10px;margin:15px 0}.tt-redirect span{display:block;font-size:10px;letter-spacing:1.3px;font-weight:900;color:#7b838c;margin-bottom:5px}.tt-redirect code{font-size:12px;overflow-wrap:anywhere;color:#31373d}.tt-actions{display:flex;justify-content:flex-end}.tt-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;padding:11px 15px;background:#ffd21a;color:#111!important;font-weight:900;cursor:pointer;text-decoration:none;line-height:1}.tt-button:hover{filter:brightness(.96)}.tt-button:disabled{opacity:.45;cursor:not-allowed}.tt-button-outline{background:transparent;color:#fff!important;border:1px solid #444}.tt-button-dark{background:#111;color:#fff!important}.tt-connect-row{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:18px;padding-top:17px;border-top:1px solid #eceef1}.tt-connect-row strong,.tt-connect-row small{display:block}.tt-connect-row small{color:#858c94;margin-top:4px}.tt-create{border-left:4px solid #ffd21a}.tt-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tt-upload-box{position:relative;padding:22px!important;border:1px dashed #c9cdd2;border-radius:12px;background:#f8f9fa;text-align:center;cursor:pointer}.tt-upload-box:hover{border-color:#ffd21a;background:#fffdf2}.tt-upload-box b,.tt-upload-box small{display:block}.tt-upload-icon{width:38px;height:38px;margin:0 auto 8px;border-radius:10px;background:#111;color:#ffd21a;display:flex;align-items:center;justify-content:center;font-size:18px}.tt-upload-box input{margin-top:13px!important}.tt-count{text-align:right}.tt-checks{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0}.tt-checks label{display:flex;align-items:center;gap:8px;padding:10px;border-radius:9px;background:#f6f7f8;border:1px solid #e5e7e9;margin:0}.tt-publish{width:100%;padding:14px;font-size:14px}.tt-status{background:linear-gradient(145deg,#101010,#1b1b1b);border-color:#292929;color:#fff}.tt-status h2{font-size:25px}.tt-status-line{display:flex;align-items:center;gap:8px;padding:11px 0;border-top:1px solid #292929;border-bottom:1px solid #292929;margin:14px 0}.tt-status-line i{width:9px;height:9px;border-radius:50%}.tt-status-line i.good{background:#36d76b;box-shadow:0 0 0 4px rgba(54,215,107,.12)}.tt-status-line i.bad{background:#d33}.tt-profile{display:flex;align-items:center;gap:10px;margin:13px 0}.tt-avatar{width:38px;height:38px;border-radius:50%;background:#ffd21a;color:#111;display:flex;align-items:center;justify-content:center;font-weight:900}.tt-profile b,.tt-profile small{display:block}.tt-profile small{color:#8c949d;margin-top:2px}.tt-checklist{display:grid;gap:9px;margin-top:15px}.tt-checklist div{display:flex;align-items:center;gap:9px;color:#a0a7af;font-size:12px}.tt-checklist b{width:23px;height:23px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#292929;color:#8e969f;font-size:10px}.tt-checklist div.done{color:#f2f2f2}.tt-checklist div.done b{background:#2c9e50;color:#fff}.tt-info h2{margin-bottom:12px}.tt-info ol{padding:0;margin:0;list-style:none;counter-reset:steps}.tt-info li{counter-increment:steps;display:grid;grid-template-columns:30px 1fr;gap:8px;padding:11px 0;border-top:1px solid #eceef1}.tt-info li:before{content:counter(steps);width:24px;height:24px;border-radius:50%;background:#111;color:#ffd21a;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:900}.tt-info li b,.tt-info li span{display:block}.tt-info li span{font-size:12px;color:#7e868e;margin-top:2px}.tt-nav a{display:flex;justify-content:space-between;padding:12px;border-radius:9px;background:#f5f6f7;border:1px solid #e4e6e9;margin-top:8px;font-weight:800}.tt-nav a b{color:#947900}@media(max-width:800px){.tt-hero{display:block;padding:25px 20px}.tt-hero-actions{margin-top:18px}.tt-layout{grid-template-columns:1fr}.tt-grid,.tt-upload-grid,.tt-checks{grid-template-columns:1fr}.tt-connect-row{align-items:flex-start;flex-direction:column}.tt-actions{justify-content:stretch}.tt-actions .tt-button{width:100%}}
/* v20 Admin Command Center */
.admin-console{max-width:1180px}.admin-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;background:linear-gradient(135deg,#090909,#1d1d1d);color:#fff;border-radius:20px;padding:30px;margin-bottom:18px;border-bottom:4px solid #ffd21a;box-shadow:0 14px 40px #0000001c}.admin-hero h1{margin:5px 0 8px;font-size:clamp(28px,5vw,44px)}.admin-hero p{margin:0;color:#b7bcc3;max-width:700px}.admin-kicker{font-size:11px;letter-spacing:2px;font-weight:900;color:#ffd21a}.admin-hero-badge{white-space:nowrap;border:1px solid #383838;background:#151515;border-radius:999px;padding:9px 13px;font-size:11px;font-weight:900;letter-spacing:1px}.admin-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#31d46b;margin-right:7px;box-shadow:0 0 0 4px #31d46b1c}.admin-tabs{display:flex;gap:7px;overflow:auto;padding:3px 1px 12px;margin-bottom:10px}.admin-tab{background:#fff;border:1px solid #e1e4e8;border-radius:999px;padding:10px 15px;color:#626a73;font-size:13px;font-weight:800;white-space:nowrap}.admin-tab.active{background:#111;color:#ffd21a;border-color:#111}.admin-section-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:22px 0 15px}.admin-section-head h2{margin:3px 0;font-size:28px}.admin-section-head p{margin:0;color:#737b85}.admin-action{background:#ffd21a;color:#111;padding:10px 14px;border-radius:9px;font-weight:900}.admin-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.admin-stat{background:#fff;border:1px solid #e4e7ec;border-radius:15px;padding:19px;display:flex;gap:13px;align-items:center;box-shadow:0 3px 12px #00000009}.admin-stat-icon{width:43px;height:43px;border-radius:12px;background:#111;color:#ffd21a;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:18px}.admin-stat strong,.admin-stat small{display:block}.admin-stat strong{font-size:23px}.admin-stat small{color:#737b85;margin-top:2px}.admin-overview-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;margin-top:16px}.admin-panel,.admin-form-card,.admin-table-card{background:#fff;border:1px solid #e1e4e8;border-radius:15px;box-shadow:0 3px 12px #00000008}.admin-panel{padding:21px}.admin-panel-dark{background:linear-gradient(145deg,#101010,#1d1d1d);color:#fff;border-color:#292929}.admin-panel-label{font-size:10px;letter-spacing:1.7px;font-weight:900;color:#9b7f00;margin-bottom:7px}.admin-panel-dark .admin-panel-label{color:#ffd21a}.admin-panel h3,.admin-form-card h3{margin:0 0 15px;font-size:20px}.admin-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.admin-quick-grid a{padding:13px;border-radius:10px;background:#242424;border:1px solid #333;color:#fff;font-weight:800;font-size:13px}.admin-quick-grid a:hover{border-color:#ffd21a;color:#ffd21a}.admin-list{padding-left:19px;color:#69717b}.admin-list li{margin:10px 0}.admin-table-card{overflow:hidden}.admin-table-title{padding:17px 19px;border-bottom:1px solid #e8eaed;display:flex;justify-content:space-between;gap:10px}.admin-table-title span{color:#7c848d;font-size:12px}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th{background:#f7f8f9;text-align:left;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#69717a}.admin-table th,.admin-table td{padding:13px 14px;border-bottom:1px solid #eceef0;vertical-align:middle}.admin-table tr:last-child td{border-bottom:0}.admin-table td small{font-size:10px;margin-top:3px}.admin-table code{font-size:11px;overflow-wrap:anywhere}.admin-inline-form{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.admin-inline-form input[type=number]{width:75px;padding:7px;margin:0}.admin-mini-btn{padding:7px 9px;font-size:11px;border-radius:7px}.admin-mini-btn.good{background:#198754}.admin-mini-btn.gold{background:#b28a00}.admin-mini-btn.danger{background:#a51d2d}.admin-form-card{padding:22px;margin-bottom:16px}.admin-form-grid{display:grid;grid-template-columns:1.3fr .8fr .7fr 1.4fr auto;gap:11px;align-items:end}.admin-form-grid label{font-size:12px;font-weight:800;color:#4f5760}.admin-form-grid select,.admin-form-grid input{width:100%;padding:10px;border:1px solid #ccd2da;border-radius:8px;margin-top:6px;background:#fff}.admin-submit{background:#111;color:#ffd21a;font-weight:900}.admin-pill{display:inline-block;background:#eef0f2;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:900}.admin-pill.success{background:#e4f7eb;color:#16743b}.admin-code-editor{width:100%;min-height:520px;padding:14px;border:1px solid #ccd2da;border-radius:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.55;box-sizing:border-box;background:#101010;color:#e9edf1}.admin-code-editor:focus{outline:2px solid #ffd21a;outline-offset:1px}@media(max-width:900px){.admin-stat-grid{grid-template-columns:1fr 1fr}.admin-overview-grid{grid-template-columns:1fr}.admin-form-grid{grid-template-columns:1fr 1fr}.admin-form-grid>div{grid-column:1/-1}}@media(max-width:650px){.admin-hero{display:block;padding:24px 18px}.admin-hero-badge{display:inline-block;margin-top:17px}.admin-stat-grid{grid-template-columns:1fr 1fr}.admin-section-head{display:block}.admin-action{display:inline-block;margin-top:12px}.admin-quick-grid{grid-template-columns:1fr}.admin-form-grid{grid-template-columns:1fr}.admin-table{min-width:850px}.table-wrap{overflow:auto}.admin-tabs{padding-bottom:10px}}
/* v21 Authentication Experience */
.auth-shell{max-width:1040px;margin:36px auto 54px;display:grid;grid-template-columns:1.08fr .92fr;min-height:590px;border-radius:24px;overflow:hidden;box-shadow:0 22px 60px #00000020;background:#fff;border:1px solid #e2e5e8}.auth-hero{position:relative;padding:48px 44px;background:radial-gradient(circle at 80% 12%,#3b3300 0,#171717 35%,#090909 76%);color:#fff;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.auth-hero:after{content:"";position:absolute;width:280px;height:280px;border:1px solid #ffd21a22;border-radius:50%;right:-90px;bottom:-80px;box-shadow:0 0 0 38px #ffd21a08,0 0 0 78px #ffd21a05}.auth-brand-mark{width:58px;height:58px;border-radius:16px;background:#ffd21a;color:#111;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:1000;box-shadow:0 10px 30px #ffd21a2b;margin-bottom:24px}.auth-kicker,.auth-label{font-size:10px;letter-spacing:2.2px;font-weight:1000;color:#ffd21a}.auth-hero h1{font-size:clamp(34px,5vw,54px);line-height:1.02;margin:9px 0 16px;max-width:500px}.auth-hero p{font-size:15px;line-height:1.7;color:#b8bec5;max-width:510px;margin:0}.auth-feature-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}.auth-feature-row span{font-size:9px;letter-spacing:1.2px;font-weight:900;padding:8px 10px;border:1px solid #353535;border-radius:999px;background:#151515;color:#d4d7db}.auth-card{padding:38px 38px;display:flex;flex-direction:column;justify-content:center;background:#fff}.auth-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:25px}.auth-card-head h2{font-size:30px;margin:5px 0 0;color:#111}.auth-live{font-size:9px;letter-spacing:1px;font-weight:1000;padding:8px 10px;border-radius:999px;background:#effaf2;color:#18733b}.auth-live i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#26b957;margin-right:5px}.auth-error{padding:12px 13px;border-radius:9px;background:#fff0f0;border:1px solid #f2c4c4;color:#a32828;font-size:12px;font-weight:700;margin-bottom:16px}.auth-form label{display:block;font-size:12px;font-weight:900;color:#3f464e;margin:0 0 14px}.auth-form input{display:block;width:100%;box-sizing:border-box;padding:13px 14px;border:1px solid #d4d8dd;border-radius:10px;margin-top:7px;background:#fbfbfc;color:#111;font:inherit;outline:none}.auth-form input:focus{border-color:#b69500;box-shadow:0 0 0 3px #ffd21a24;background:#fff}.auth-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.auth-submit{width:100%;border:0;border-radius:10px;background:#111;color:#ffd21a;padding:14px 16px;font-weight:1000;letter-spacing:.4px;cursor:pointer;margin-top:4px;box-shadow:0 8px 18px #00000018}.auth-submit:hover{background:#1c1c1c;transform:translateY(-1px)}.auth-submit b{float:right;font-size:18px;line-height:12px}.auth-switch{text-align:center;border-top:1px solid #eceef0;margin-top:23px;padding-top:20px;color:#727982;font-size:12px}.auth-switch a{color:#8e7100;font-weight:1000;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.auth-note{display:flex;gap:10px;align-items:flex-start;background:#f7f8f9;border:1px solid #e5e7e9;border-radius:10px;padding:12px 13px;margin-top:18px}.auth-note b,.auth-note span{display:block}.auth-note b{font-size:11px;color:#252a2f;white-space:nowrap}.auth-note span{font-size:10px;color:#7a828b;line-height:1.5}.auth-shell+.auth-footer{display:none}@media(max-width:820px){.auth-shell{grid-template-columns:1fr;margin:20px auto 35px}.auth-hero{padding:30px 25px;min-height:300px}.auth-card{padding:30px 24px}.auth-hero h1{font-size:39px}.auth-two{grid-template-columns:1fr}}@media(max-width:500px){.auth-hero{padding:26px 20px}.auth-card{padding:26px 18px}.auth-card-head h2{font-size:26px}.auth-live{display:none}.auth-note{display:block}.auth-note b{margin-bottom:3px}.auth-feature-row span{font-size:8px}}

/* v22 Public MPTCast Home */
.home-hero{position:relative;display:grid;grid-template-columns:1.08fr .92fr;min-height:520px;margin:-28px calc((1120px - 100vw)/2) 0;padding:62px max(24px,calc((100vw - 1120px)/2));background:radial-gradient(circle at 75% 38%,#493a0a 0,#1a170c 24%,#090909 66%);color:#fff;overflow:hidden;border-bottom:3px solid #ffd21a}.home-hero-glow{position:absolute;width:620px;height:620px;border-radius:50%;right:-180px;top:-160px;border:1px solid #ffd21a1e;box-shadow:0 0 0 55px #ffd21a07,0 0 0 115px #ffd21a04}.home-hero-copy{position:relative;z-index:2;align-self:center}.home-kicker{font-size:10px;letter-spacing:2.3px;font-weight:1000;color:#ffd21a}.home-kicker.dark{color:#9a7b00}.home-hero h1{font-size:clamp(42px,6vw,76px);line-height:.94;margin:12px 0 20px;letter-spacing:-2px}.home-hero h1 span{color:#ffd21a}.home-hero p{max-width:610px;color:#b8bec6;font-size:16px;line-height:1.75;margin:0}.home-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.home-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:13px 17px;font-size:12px;font-weight:1000;letter-spacing:.6px}.home-btn-gold{background:#ffd21a;color:#111}.home-btn-dark{background:#151515;border:1px solid #3b3b3b;color:#fff}.home-trust{display:flex;flex-wrap:wrap;gap:14px;margin-top:25px;color:#818891;font-size:9px;font-weight:900;letter-spacing:1px}.home-hero-art{position:relative;display:flex;align-items:center;justify-content:center;min-height:390px}.home-disc{position:relative;width:min(350px,72vw);aspect-ratio:1;border-radius:50%;background:conic-gradient(from 0deg,#a82020,#d5a71f,#15904d,#a82020);padding:12px;box-shadow:0 30px 80px #0008}.home-disc:before{content:"";position:absolute;inset:12px;border-radius:50%;background:radial-gradient(circle,#343434 0,#101010 63%,#050505 64%,#1a1a1a 100%);border:1px solid #ffffff1a}.home-disc-core{position:absolute;inset:28%;border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;background:#ffd21a;color:#111;font-size:29px;font-weight:1000;line-height:.9;box-shadow:0 0 0 8px #111,0 0 0 9px #ffd21a55}.home-disc-core b{font-size:13px;letter-spacing:3px}.home-signal{position:absolute;border:1px solid #ffd21a55;border-radius:50%;width:70%;aspect-ratio:1}.home-signal.s1{width:77%;opacity:.35}.home-signal.s2{width:91%;opacity:.2}.home-signal.s3{width:106%;opacity:.1}.home-live-card{position:absolute;right:2%;bottom:8%;background:#111e;border:1px solid #333;border-radius:12px;padding:12px 15px;backdrop-filter:blur(10px)}.home-live-card i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#35d36d;margin-right:7px;box-shadow:0 0 0 4px #35d36d1c}.home-live-card strong{font-size:10px;letter-spacing:1px}.home-live-card small{font-size:9px;color:#818891;margin-top:3px}.home-stats{display:grid;grid-template-columns:repeat(4,1fr);background:#111;color:#fff;margin:0 calc((1120px - 100vw)/2);padding:22px max(24px,calc((100vw - 1120px)/2));border-bottom:1px solid #292929}.home-stats div{text-align:center;border-right:1px solid #2b2b2b}.home-stats div:last-child{border:0}.home-stats strong{display:block;color:#ffd21a;font-size:25px}.home-stats span{display:block;color:#777f88;font-size:9px;letter-spacing:1.5px;font-weight:900;margin-top:3px}.home-directory{padding:54px 0 25px}.home-section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}.home-section-head h2{font-size:31px;margin:5px 0}.home-section-head p{margin:0;color:#737b85}.home-count{font-size:10px;font-weight:1000;letter-spacing:1px;color:#777f88}.home-tools{display:flex;gap:12px;align-items:center;margin-bottom:18px}.home-search{position:relative;display:block;flex:1}.home-search span{position:absolute;left:14px;top:9px;font-size:22px;color:#8b929a}.home-search input{width:100%;padding:12px 14px 12px 39px;border:1px solid #d9dde1;border-radius:10px;background:#fff;font:inherit;outline:none;box-sizing:border-box}.home-search input:focus{border-color:#b79700;box-shadow:0 0 0 3px #ffd21a1c}.home-filters{display:flex;gap:7px;overflow:auto;padding-bottom:2px}.home-filter{white-space:nowrap;background:#fff;border:1px solid #dfe2e5;border-radius:999px;padding:9px 12px;color:#6f7780;font-size:9px;font-weight:1000;letter-spacing:.5px;cursor:pointer}.home-filter.active{background:#111;border-color:#111;color:#ffd21a}.home-station-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.home-station-card{background:#fff;border:1px solid #e1e4e8;border-radius:17px;overflow:hidden;box-shadow:0 5px 18px #00000009;transition:transform .18s,box-shadow .18s,border-color .18s}.home-station-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #00000012;border-color:#c9b04c}.home-station-card[hidden]{display:none}.home-card-top{display:flex;justify-content:space-between;align-items:center;padding:12px 13px;background:#111;color:#fff}.home-card-live{font-size:8px;font-weight:1000;letter-spacing:.7px;color:#7be99b}.home-card-live i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#35d36d;margin-right:5px}.home-card-code{font-size:8px;letter-spacing:1px;color:#8c949d}.home-card-logo-link{display:flex;justify-content:center;align-items:center;height:185px;background:radial-gradient(circle at center,#282828 0,#111 55%,#080808 100%);position:relative}.home-card-logo-link:after{content:"";position:absolute;inset:15px;border:1px solid var(--station-color);border-radius:50%;opacity:.3}.home-card-logo{width:120px;height:120px;border-radius:50%;object-fit:contain;position:relative;z-index:1}.home-card-fallback{display:flex;align-items:center;justify-content:center;background:var(--station-color);color:#111;font-size:48px;font-weight:1000}.home-card-body{padding:16px 17px 14px}.home-card-genre{font-size:8px;letter-spacing:1.6px;font-weight:1000;color:var(--station-color);text-transform:uppercase}.home-card-body h3{font-size:22px;margin:5px 0 5px}.home-card-body p{color:#747c85;font-size:12px;min-height:36px;margin:0;line-height:1.5}.home-card-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 17px;border-top:1px solid #eceef0}.home-card-footer a{font-size:9px;font-weight:1000;color:#8e7200;letter-spacing:.5px}.home-card-footer b{font-size:16px}.home-card-footer span{font-size:8px;color:#9aa1a8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:180px;background:#fff;border:1px dashed #ccd2d8;border-radius:15px;color:#69717a}.home-empty strong{font-size:20px;color:#20252a}.home-empty span{margin:5px 0 17px;font-size:12px}.home-features{padding:45px 0 60px;border-top:1px solid #e7e9ec}.home-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.home-feature-grid article{background:#111;color:#fff;border-radius:15px;padding:24px;border-bottom:3px solid #ffd21a}.home-feature-grid span{font-size:10px;color:#ffd21a;font-weight:1000}.home-feature-grid h3{margin:11px 0 7px;font-size:19px}.home-feature-grid p{margin:0;color:#9ca3aa;font-size:12px;line-height:1.7}@media(max-width:900px){.home-hero{grid-template-columns:1fr;padding-top:45px}.home-hero-art{min-height:330px}.home-station-grid{grid-template-columns:repeat(2,1fr)}.home-feature-grid{grid-template-columns:1fr 1fr}.home-tools{align-items:stretch;flex-direction:column}.home-search{width:100%}}@media(max-width:650px){.home-hero{min-height:auto;padding-bottom:28px}.home-hero h1{font-size:47px}.home-hero-art{min-height:300px}.home-disc{width:270px}.home-live-card{right:0}.home-stats{grid-template-columns:1fr 1fr;gap:0}.home-stats div{padding:12px 4px;border-bottom:1px solid #2b2b2b}.home-stats div:nth-child(2){border-right:0}.home-section-head{display:block}.home-count{display:inline-block;margin-top:10px}.home-station-grid{grid-template-columns:1fr}.home-feature-grid{grid-template-columns:1fr}.home-trust{gap:8px}.home-trust span{font-size:8px}}

/* v23 Public Station Experience */
.rawjamz-station{width:100%;background:#080808;color:#fff;margin:-28px 0 -60px;padding-bottom:60px;min-height:calc(100vh - 64px);overflow:hidden}.rj-public-nav{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - 1120px)/2));background:#0b0b0b;border-bottom:1px solid #242424}.rj-public-brand{font-size:17px;font-weight:1000;letter-spacing:2px}.rj-public-brand b{color:var(--station-color)}.rj-public-nav nav{display:flex;gap:20px}.rj-public-nav nav a{font-size:8px;font-weight:1000;letter-spacing:1.2px;color:#9aa0a6}.rj-public-nav nav a:hover{color:#fff}.rj-hero{position:relative;max-width:none!important;border-radius:0!important;margin:0!important;border-bottom:1px solid #272727!important}.rj-hero-inner{min-height:455px!important}.rj-player{border-radius:0!important;border-left:0!important;border-right:0!important}.rj-panels{max-width:1120px;margin:22px auto!important;padding:0 20px}.rj-panel{min-height:190px}.rj-share{max-width:1080px;margin:28px auto 0;padding:28px;background:linear-gradient(135deg,#121212,#191919);border:1px solid #2c2c2c;border-radius:18px;display:flex;align-items:center;justify-content:space-between;gap:25px}.rj-share-kicker{font-size:8px;font-weight:1000;letter-spacing:2px;color:var(--station-color)}.rj-share h2{font-size:26px;margin:6px 0}.rj-share p{margin:0;color:#858b91;font-size:12px;max-width:580px}.rj-share-actions{display:flex;gap:9px;flex-shrink:0}.rj-button{border:0;border-radius:9px;background:var(--station-color);color:#111;padding:12px 15px;font-size:9px;font-weight:1000;letter-spacing:.7px;cursor:pointer}.rj-button-dark{background:#252525;color:#fff;border:1px solid #3a3a3a}.rj-about{max-width:1080px!important;margin:28px auto!important;background:#101010!important;border:1px solid #282828!important;color:#fff!important}.rj-about p{color:#9ca2a8}.rj-footer-note{max-width:1080px;margin:20px auto 0;padding:0 20px;color:#555;font-size:9px;text-align:center;letter-spacing:1px}@media(max-width:700px){.rj-public-nav{padding:0 15px}.rj-public-nav nav{gap:12px}.rj-public-nav nav a{font-size:7px}.rj-hero-inner{min-height:390px!important}.rj-panels{padding:0 12px}.rj-share{margin:20px 12px 0;display:block;padding:22px}.rj-share h2{font-size:21px}.rj-share-actions{margin-top:17px}.rj-button{flex:1}.rj-player{padding:14px 12px!important}}
/* v23 Home directory live metadata */
.home-card-now{padding:10px 17px;background:#f7f8f9;border-top:1px solid #eceef0;min-height:49px}.home-card-now small{display:block;color:#9299a1;font-size:7px;letter-spacing:1.2px;font-weight:1000;margin:0 0 3px}.home-card-now strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-card-now span{display:block;color:#747b84;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-card-loading{color:#a2a8ae!important;font-weight:700!important}

/* v24 mobile / PWA polish */
:root{--mpt-black:#070707;--mpt-panel:#111;--mpt-gold:#ffd21a;--mpt-green:#35e878;--mpt-red:#e34b42}
body{padding-bottom:0}button,.button,input,select,textarea{font-size:16px}button,.button{min-height:44px}
.mpt-mobile-nav{display:none}
.mpt-install{display:none;position:fixed;left:12px;right:12px;bottom:78px;z-index:9999;background:#111;color:#fff;border:1px solid #383838;border-left:3px solid var(--mpt-gold);border-radius:14px;padding:12px 14px;box-shadow:0 15px 40px #000b;align-items:center;gap:12px}.mpt-install.show{display:flex}.mpt-install-copy{flex:1}.mpt-install-copy strong{display:block;font-size:14px}.mpt-install-copy small{margin:2px 0 0;color:#aaa}.mpt-install button{min-height:38px;padding:7px 11px}.mpt-install .dismiss{background:transparent;border:1px solid #444;color:#aaa}
@media(max-width:700px){
 body{padding-bottom:68px}.wrap{width:min(100% - 24px,1120px)}header{position:sticky;top:0;z-index:1000}.nav{min-height:58px}.brand{font-size:20px}.nav nav{display:none}main{padding:18px 0 36px}.card{padding:16px;border-radius:12px}.grid{grid-template-columns:1fr}.grid2{grid-template-columns:1fr}.toolbar,.station-head{flex-wrap:wrap;gap:10px}.toolbar>*{max-width:100%}.actions{flex-wrap:wrap}.actions form{width:100%}.actions form .button,.actions form button{flex:1}.table-wrap{margin:0 -4px}.table-wrap table{min-width:640px}
 .mpt-mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);left:0;right:0;bottom:0;height:66px;background:#090909f5;border-top:1px solid #292929;backdrop-filter:blur(12px);z-index:9998;padding-bottom:env(safe-area-inset-bottom)}.mpt-mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#9b9b9b;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.3px}.mpt-mobile-nav a strong{font-size:20px;line-height:1;color:#eee}.mpt-mobile-nav a.active,.mpt-mobile-nav a.active strong{color:var(--mpt-gold)}
 .dashboard-hero{padding:22px 18px!important;border-radius:14px!important}.dashboard-hero h1{font-size:30px!important}.dashboard-hero-actions{width:100%;display:grid!important;grid-template-columns:1fr 1fr;gap:8px}.dashboard-stats{grid-template-columns:1fr!important}.station-dashboard-grid{grid-template-columns:1fr!important}.quick-tools-grid{grid-template-columns:1fr!important}.quick-tool{min-height:66px!important}.station-dash-actions{display:grid!important;grid-template-columns:1fr!important}.dashboard-section-title{gap:12px;align-items:flex-start!important}.dashboard-section-title .button{white-space:nowrap}
 .public-station{margin:-18px -12px -36px}.rj-navline{padding:14px 16px}.rj-navline nav{display:none}.rj-hero{min-height:520px}.rj-hero-inner{min-height:450px;grid-template-columns:1fr;gap:12px;text-align:center;padding:30px 18px}.rj-copy{order:2}.rj-emblem{order:1}.rj-location{order:3;text-align:center}.rj-logo{width:155px;height:155px}.rj-logo-fallback{font-size:75px}.rj-bigwords{font-size:34px}.rj-emblem h1{font-size:34px}.rj-player{margin:-24px 12px 18px;grid-template-columns:1fr auto;gap:12px;padding:12px;border-radius:14px}.rj-player-main{min-width:0}.rj-player-text{min-width:0}.rj-player-text strong,.rj-player-text small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.rj-eq{display:none}.rj-volume{grid-column:1/-1;width:100%}.rj-volume input{width:100%}.rj-panels{grid-template-columns:1fr!important;padding:0 12px!important}.rj-panel{min-height:auto!important}.rj-connect,.rj-share,.rj-about{margin-left:12px!important;margin-right:12px!important}.rj-share{grid-template-columns:1fr!important;gap:18px}.rj-share-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}.rj-button{width:100%;text-align:center}.rj-history-row{padding:10px 0}.gallery-grid{grid-template-columns:repeat(2,1fr)}
 .auth{margin:20px auto;padding:20px;border-radius:14px}.auth h1{font-size:28px}
}
@media(max-width:380px){.mpt-mobile-nav a{font-size:9px}.mpt-mobile-nav a strong{font-size:18px}.rj-share-actions{grid-template-columns:1fr}.rj-logo{width:135px;height:135px}}

/* v26 system diagnostics */
.diag-page{max-width:1180px;margin:auto}.diag-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;background:linear-gradient(135deg,#090909,#1b1b1b);color:#fff;border-radius:20px;padding:28px 30px;border-bottom:4px solid #ffd21a;margin-bottom:18px}.diag-hero h1{margin:5px 0 8px;font-size:clamp(28px,5vw,44px)}.diag-hero p{margin:0;color:#b8bdc5;max-width:720px}.diag-score{min-width:150px;text-align:center;background:#111;border:1px solid #333;border-radius:16px;padding:15px}.diag-score strong{display:block;font-size:30px;color:#ffd21a}.diag-score span{font-size:11px;color:#aaa;text-transform:uppercase;letter-spacing:1px}.diag-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.diag-card{background:#fff;border:1px solid #e2e5e8;border-radius:15px;padding:18px;box-shadow:0 3px 12px #00000008}.diag-card.bad{border-color:#e4b8b8}.diag-card-top{display:flex;justify-content:space-between;align-items:center}.diag-icon{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#e5f7ec;color:#16743b;font-weight:900}.diag-card.bad .diag-icon{background:#fde9e9;color:#a51d2d}.diag-state{font-size:10px;font-weight:900;letter-spacing:1px;color:#16743b}.diag-card.bad .diag-state{color:#a51d2d}.diag-card h3{margin:15px 0 4px;font-size:16px}.diag-value{display:block;font-size:18px;overflow-wrap:anywhere}.diag-card p{color:#6f7781;font-size:12px;margin:8px 0 0;overflow-wrap:anywhere}.diag-note{margin:18px 0;background:#111;color:#ccc;border:1px solid #2e2e2e;border-radius:15px;padding:20px}.diag-note strong{color:#ffd21a}.diag-note li{margin:8px 0}.diag-note code{color:#fff}@media(max-width:850px){.diag-grid{grid-template-columns:1fr 1fr}.diag-hero{display:block}.diag-score{margin-top:16px}}@media(max-width:600px){.diag-grid{grid-template-columns:1fr}.diag-hero{padding:23px 18px}}

/* =========================================================
   MPT CAST MOBILE FOUNDATION FIX
   Fixes desktop breakout layouts on phones.
   ========================================================= */

@media (max-width: 700px) {

    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    *,
    *::before,
    *::after {
        box-sizing: border-box;
        max-width: 100%;
    }

    .wrap {
        width: calc(100% - 24px) !important;
        max-width: none !important;
        margin-left: 12px !important;
        margin-right: 12px !important;
    }

    main {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    /* Homepage hero MUST NOT use the desktop 1120px breakout math */
    .home-hero {
        width: calc(100% + 24px) !important;
        max-width: none !important;
        margin: -18px -12px 0 !important;
        padding: 42px 20px 28px !important;
        grid-template-columns: 1fr !important;
        overflow: hidden;
    }

    .home-hero-copy {
        width: 100%;
        max-width: 100%;
    }

    .home-hero h1 {
        max-width: 100%;
        font-size: clamp(38px, 12vw, 52px) !important;
        letter-spacing: -1px;
        overflow-wrap: anywhere;
    }

    .home-hero p {
        max-width: 100%;
    }

    .home-hero-art {
        width: 100%;
        max-width: 100%;
        min-height: 290px !important;
        overflow: hidden;
    }

    .home-disc {
        width: min(270px, 72vw) !important;
        max-width: 270px;
    }

    .home-live-card {
        right: 0;
        max-width: 170px;
    }

    /* Homepage statistics MUST NOT use desktop breakout math */
    .home-stats {
        width: calc(100% + 24px) !important;
        max-width: none !important;
        margin: 0 -12px !important;
        padding: 18px 12px !important;
    }

    .home-directory,
    .home-features {
        width: 100%;
        max-width: 100%;
        overflow: hidden;
    }

    .home-station-grid {
        width: 100%;
        max-width: 100%;
        grid-template-columns: 1fr !important;
    }

    .home-station-card {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    /* Prevent long station names / URLs from forcing the page wider */
    .home-card-body,
    .home-card-footer,
    .home-card-now {
        min-width: 0;
        max-width: 100%;
    }

    .home-card-body h3,
    .home-card-body p,
    .home-card-footer span,
    .home-card-now strong,
    .home-card-now span {
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    .home-tools {
        width: 100%;
        max-width: 100%;
    }

    .home-search {
        min-width: 0;
        width: 100%;
    }

    .home-filters {
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* Forms and controls */
    input,
    select,
    textarea,
    button,
    .button {
        max-width: 100%;
    }

    /* Tables are allowed to scroll INSIDE their container */
    .table-wrap {
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* Keep the mobile navigation from creating page overflow */
    .mpt-mobile-nav {
        width: 100%;
        max-width: 100%;
        left: 0;
        right: 0;
    }

    /* PWA install prompt stays above mobile navigation */
    .mpt-install {
        left: 12px;
        right: 12px;
        bottom: 80px;
        max-width: calc(100% - 24px);
    }
}


/* ============================================================
   MPTCAST - HARD MOBILE VIEWPORT FIX
   ============================================================ */

@media screen and (max-width: 700px) {

    html {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    body {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        overflow-x: hidden !important;
    }

    /* FORCE HEADER TO ACTUALLY BE PHONE WIDTH */
    body > header {
        width: 100vw !important;
        max-width: 100vw !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    body > header > .wrap.nav {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 15px !important;
    }

    /* FORCE MAIN TO PHONE WIDTH */
    body > main.wrap {
        width: 100vw !important;
        max-width: 100vw !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 18px 12px 80px !important;
        overflow-x: hidden !important;
    }

    /* Every direct page section must respect viewport */
    body > main.wrap > * {
        max-width: 100% !important;
        min-width: 0 !important;
    }

    /* HOMEPAGE */
    .home-hero {
        width: 100vw !important;
        max-width: 100vw !important;
        min-width: 0 !important;
        margin: -18px 0 0 -12px !important;
        padding: 40px 20px 30px !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        overflow: hidden !important;
    }

    .home-hero-copy,
    .home-hero-art {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .home-hero h1 {
        max-width: 100% !important;
        overflow-wrap: anywhere !important;
    }

    .home-hero-art {
        min-height: 280px !important;
    }

    .home-disc {
        max-width: 270px !important;
        width: 72vw !important;
    }

    .home-stats {
        width: 100vw !important;
        max-width: 100vw !important;
        min-width: 0 !important;
        margin-left: -12px !important;
        margin-right: 0 !important;
    }

    .home-directory,
    .home-features {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .home-station-grid {
        width: 100% !important;
        max-width: 100% !important;
        grid-template-columns: 1fr !important;
    }

    .home-station-card {
        width: 100% !important;
        min-width: 0 !important;
    }

    /* Dashboard */
    .dashboard-shell,
    .manage-shell,
    .playlist-studio,
    .money-page,
    .tt-page,
    .admin-console,
    .diag-page {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Grids */
    .dashboard-stats,
    .station-dashboard-grid,
    .quick-tools-grid,
    .manage-layout,
    .ps-layout,
    .money-grid,
    .space-top-grid,
    .tt-layout,
    .admin-overview-grid {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    /* Prevent grid children from establishing desktop width */
    .dashboard-stats > *,
    .station-dashboard-grid > *,
    .quick-tools-grid > *,
    .manage-layout > *,
    .ps-layout > *,
    .money-grid > *,
    .tt-layout > *,
    .admin-overview-grid > * {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    /* Images/media */
    img,
    video,
    iframe,
    canvas {
        max-width: 100% !important;
    }

    /* Long text */
    h1,h2,h3,h4,h5,h6,
    p,
    a,
    span,
    strong,
    small,
    code {
        overflow-wrap: anywhere;
    }

    /* Forms */
    input,
    select,
    textarea,
    button,
    .button {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Tables may scroll inside their own box */
    .table-wrap {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
    }

    /* Mobile bottom navigation */
    .mpt-mobile-nav {
        width: 100vw !important;
        max-width: 100vw !important;
        left: 0 !important;
        right: 0 !important;
    }

    /* Install prompt */
    .mpt-install {
        left: 12px !important;
        right: 12px !important;
        width: auto !important;
        max-width: calc(100vw - 24px) !important;
        bottom: 80px !important;
    }
}


/* ============================================================
   MPTCAST - HARD MOBILE VIEWPORT FIX
   ============================================================ */

@media screen and (max-width: 700px) {

    html {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    body {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        overflow-x: hidden !important;
    }

    /* FORCE HEADER TO ACTUALLY BE PHONE WIDTH */
    body > header {
        width: 100vw !important;
        max-width: 100vw !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    body > header > .wrap.nav {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 15px !important;
    }

    /* FORCE MAIN TO PHONE WIDTH */
    body > main.wrap {
        width: 100vw !important;
        max-width: 100vw !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 18px 12px 80px !important;
        overflow-x: hidden !important;
    }

    /* Every direct page section must respect viewport */
    body > main.wrap > * {
        max-width: 100% !important;
        min-width: 0 !important;
    }

    /* HOMEPAGE */
    .home-hero {
        width: 100vw !important;
        max-width: 100vw !important;
        min-width: 0 !important;
        margin: -18px 0 0 -12px !important;
        padding: 40px 20px 30px !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        overflow: hidden !important;
    }

    .home-hero-copy,
    .home-hero-art {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .home-hero h1 {
        max-width: 100% !important;
        overflow-wrap: anywhere !important;
    }

    .home-hero-art {
        min-height: 280px !important;
    }

    .home-disc {
        max-width: 270px !important;
        width: 72vw !important;
    }

    .home-stats {
        width: 100vw !important;
        max-width: 100vw !important;
        min-width: 0 !important;
        margin-left: -12px !important;
        margin-right: 0 !important;
    }

    .home-directory,
    .home-features {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .home-station-grid {
        width: 100% !important;
        max-width: 100% !important;
        grid-template-columns: 1fr !important;
    }

    .home-station-card {
        width: 100% !important;
        min-width: 0 !important;
    }

    /* Dashboard */
    .dashboard-shell,
    .manage-shell,
    .playlist-studio,
    .money-page,
    .tt-page,
    .admin-console,
    .diag-page {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Grids */
    .dashboard-stats,
    .station-dashboard-grid,
    .quick-tools-grid,
    .manage-layout,
    .ps-layout,
    .money-grid,
    .space-top-grid,
    .tt-layout,
    .admin-overview-grid {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    /* Prevent grid children from establishing desktop width */
    .dashboard-stats > *,
    .station-dashboard-grid > *,
    .quick-tools-grid > *,
    .manage-layout > *,
    .ps-layout > *,
    .money-grid > *,
    .tt-layout > *,
    .admin-overview-grid > * {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    /* Images/media */
    img,
    video,
    iframe,
    canvas {
        max-width: 100% !important;
    }

    /* Long text */
    h1,h2,h3,h4,h5,h6,
    p,
    a,
    span,
    strong,
    small,
    code {
        overflow-wrap: anywhere;
    }

    /* Forms */
    input,
    select,
    textarea,
    button,
    .button {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Tables may scroll inside their own box */
    .table-wrap {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
    }

    /* Mobile bottom navigation */
    .mpt-mobile-nav {
        width: 100vw !important;
        max-width: 100vw !important;
        left: 0 !important;
        right: 0 !important;
    }

    /* Install prompt */
    .mpt-install {
        left: 12px !important;
        right: 12px !important;
        width: auto !important;
        max-width: calc(100vw - 24px) !important;
        bottom: 80px !important;
    }
}



}

/* ============================================================
   HOMEPAGE PORTRAIT - REMOVE RIGHT WHITE STRIP
   ============================================================ */

@media screen and (max-width: 700px) {

    body > main.wrap {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body > main.wrap > .home-hero {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    body > main.wrap > .home-stats {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    body > main.wrap > .home-directory,
    body > main.wrap > .home-features {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
}



/* ============================================================
   MPT CAST — SINGLE MOBILE HEADER / HAMBURGER SYSTEM
   ============================================================ */

.mpt-menu-toggle {
    display: none;
}

.mpt-mobile-menu {
    display: none;
}

@media screen and (max-width: 700px) {

    body > header {
        position: relative !important;
        z-index: 10000 !important;
    }

    body > header > .wrap.nav {
        min-height: 64px !important;
        height: 64px !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 16px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
    }

    .brand {
        font-size: 23px !important;
        white-space: nowrap !important;
    }

    .mpt-desktop-nav {
        display: none !important;
    }

    .mpt-menu-toggle {
        display: flex !important;
        flex: 0 0 44px !important;
        width: 44px !important;
        height: 44px !important;
        margin: 0 !important;
        padding: 8px !important;
        border: 1px solid #3a3a3a !important;
        border-radius: 9px !important;
        background: #191919 !important;
        cursor: pointer !important;
        position: relative !important;
        z-index: 10002 !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 5px !important;
        pointer-events: auto !important;
    }

    .mpt-menu-toggle span {
        display: block !important;
        width: 22px !important;
        height: 2px !important;
        margin: 0 !important;
        background: #fff !important;
        border-radius: 2px !important;
        pointer-events: none !important;
    }

    .mpt-mobile-menu {
        display: none !important;
        position: absolute !important;
        top: 64px !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: none !important;
        box-sizing: border-box !important;
        background: #111 !important;
        border-top: 1px solid #292929 !important;
        border-bottom: 1px solid #333 !important;
        box-shadow: 0 15px 30px rgba(0,0,0,.45) !important;
        padding: 8px 12px 12px !important;
        z-index: 10001 !important;
    }

    .mpt-mobile-menu.open {
        display: block !important;
    }

    .mpt-mobile-menu a {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 14px 13px !important;
        border-bottom: 1px solid #292929 !important;
        color: #fff !important;
        font-size: 14px !important;
        font-weight: 800 !important;
    }

    .mpt-mobile-menu a:last-child {
        border-bottom: 0 !important;
    }

    .mpt-mobile-menu a:active {
        background: #242424 !important;
        color: #ffd21a !important;
    }
}

@media screen and (min-width: 701px) {

    .mpt-desktop-nav {
        display: flex !important;
        gap: 20px !important;
    }

    .mpt-menu-toggle,
    .mpt-mobile-menu {
        display: none !important;
    }
}

/* ============================================================
   MPTCAST CLEAN RESPONSIVE MOBILE SYSTEM
   ============================================================ */

.mpt-menu-toggle,
.mpt-mobile-menu {
    display:none;
}

@media screen and (max-width: 900px) {

    html,
    body {
        width:100% !important;
        max-width:100% !important;
        overflow-x:hidden !important;
    }

    body > header {
        position:relative !important;
        z-index:10000 !important;
        width:100% !important;
        max-width:none !important;
    }

    body > header > .wrap.nav {
        width:100% !important;
        max-width:none !important;
        min-height:64px !important;
        height:64px !important;
        margin:0 !important;
        padding:0 16px !important;
        box-sizing:border-box !important;
        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;
    }

    .brand {
        font-size:23px !important;
        white-space:nowrap !important;
        flex:0 0 auto !important;
    }

    .mpt-desktop-nav {
        display:none !important;
    }

    .mpt-menu-toggle {
        display:flex !important;
        flex:0 0 44px !important;
        width:44px !important;
        height:44px !important;
        box-sizing:border-box !important;
        margin:0 !important;
        padding:8px !important;
        border:1px solid #3a3a3a !important;
        border-radius:9px !important;
        background:#191919 !important;
        color:#fff !important;
        cursor:pointer !important;
        pointer-events:auto !important;
        position:relative !important;
        z-index:10002 !important;
        flex-direction:column !important;
        justify-content:center !important;
        align-items:center !important;
        gap:5px !important;
        appearance:none !important;
        -webkit-appearance:none !important;
    }

    .mpt-menu-toggle span {
        display:block !important;
        width:22px !important;
        height:2px !important;
        margin:0 !important;
        padding:0 !important;
        background:#fff !important;
        border-radius:2px !important;
        pointer-events:none !important;
    }

    .mpt-mobile-menu {
        display:none !important;
        position:absolute !important;
        top:64px !important;
        left:0 !important;
        right:0 !important;
        width:100% !important;
        max-width:none !important;
        box-sizing:border-box !important;
        margin:0 !important;
        padding:8px 12px 12px !important;
        background:#111 !important;
        border-top:1px solid #292929 !important;
        border-bottom:1px solid #333 !important;
        box-shadow:0 15px 30px rgba(0,0,0,.45) !important;
        z-index:10001 !important;
    }

    .mpt-mobile-menu.open {
        display:block !important;
    }

    .mpt-mobile-menu a {
        display:block !important;
        width:100% !important;
        box-sizing:border-box !important;
        padding:14px 13px !important;
        border-bottom:1px solid #292929 !important;
        color:#fff !important;
        text-decoration:none !important;
        font-size:14px !important;
        font-weight:800 !important;
    }

    .mpt-mobile-menu a:last-child {
        border-bottom:0 !important;
    }

    /* HOMEPAGE: remove the old 1120px full-bleed math */
    body > main.wrap > .home-hero {
        width:100% !important;
        max-width:none !important;
        box-sizing:border-box !important;
        margin-left:0 !important;
        margin-right:0 !important;
    }

    body > main.wrap > .home-stats {
        width:100% !important;
        max-width:none !important;
        box-sizing:border-box !important;
        margin-left:0 !important;
        margin-right:0 !important;
    }

    body > main.wrap {
        width:100% !important;
        max-width:none !important;
        box-sizing:border-box !important;
        overflow-x:hidden !important;
    }

    .home-hero {
        grid-template-columns:1fr !important;
        min-height:auto !important;
    }

    .home-stats {
        grid-template-columns:repeat(2,1fr) !important;
    }
}

@media screen and (min-width:901px) {

    .mpt-menu-toggle,
    .mpt-mobile-menu {
        display:none !important;
    }

    .mpt-desktop-nav {
        display:flex !important;
    }
}

/* ============================================================
   MPTCAST CSS-ONLY MOBILE MENU
   No JavaScript required
   ============================================================ */

.mpt-mobile-toggle-input {
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    opacity:0 !important;
    pointer-events:none !important;
}

@media screen and (max-width:900px) {

    .mpt-menu-toggle {
        display:flex !important;
        flex:0 0 44px !important;
        width:44px !important;
        height:44px !important;
        box-sizing:border-box !important;
        margin:0 !important;
        padding:8px !important;
        border:1px solid #3a3a3a !important;
        border-radius:9px !important;
        background:#191919 !important;
        cursor:pointer !important;
        position:relative !important;
        z-index:10005 !important;
        flex-direction:column !important;
        justify-content:center !important;
        align-items:center !important;
        gap:5px !important;
    }

    .mpt-menu-toggle span {
        display:block !important;
        width:22px !important;
        height:2px !important;
        margin:0 !important;
        background:#fff !important;
        border-radius:2px !important;
        transition:.2s !important;
    }

    .mpt-mobile-menu {
        display:none !important;
    }

    #mpt-mobile-toggle:checked ~ .mpt-mobile-menu {
        display:block !important;
    }

    #mpt-mobile-toggle:checked + .mpt-menu-toggle span:nth-child(1) {
        transform:translateY(7px) rotate(45deg) !important;
    }

    #mpt-mobile-toggle:checked + .mpt-menu-toggle span:nth-child(2) {
        opacity:0 !important;
    }

    #mpt-mobile-toggle:checked + .mpt-menu-toggle span:nth-child(3) {
        transform:translateY(-7px) rotate(-45deg) !important;
    }
}

/* MPTCAST — SINGLE MOBILE HAMBURGER SYSTEM */

.mpt-mobile-toggle-input {
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    opacity:0 !important;
}

.mpt-menu-toggle {
    display:none;
}

.mpt-mobile-menu {
    display:none;
}

@media screen and (max-width:900px) {

    .mpt-menu-toggle {
        display:flex !important;
        width:44px !important;
        height:44px !important;
        flex:0 0 44px !important;
        box-sizing:border-box !important;
        padding:8px !important;
        margin:0 !important;
        background:#191919 !important;
        border:1px solid #3a3a3a !important;
        border-radius:9px !important;
        position:relative !important;
        z-index:10005 !important;
        cursor:pointer !important;
        flex-direction:column !important;
        align-items:center !important;
        justify-content:center !important;
        gap:5px !important;
    }

    .mpt-menu-toggle span {
        display:block !important;
        width:22px !important;
        height:2px !important;
        background:#fff !important;
        border-radius:2px !important;
        margin:0 !important;
        padding:0 !important;
        pointer-events:none !important;
    }

    .mpt-mobile-menu {
        position:absolute !important;
        top:64px !important;
        left:0 !important;
        right:0 !important;
        width:100% !important;
        box-sizing:border-box !important;
        background:#111 !important;
        border-top:1px solid #292929 !important;
        border-bottom:1px solid #333 !important;
        padding:8px 12px 12px !important;
        z-index:10004 !important;
        box-shadow:0 15px 30px rgba(0,0,0,.45) !important;
    }

    #mpt-mobile-toggle:checked ~ .mpt-mobile-menu {
        display:block !important;
    }

    .mpt-mobile-menu a {
        display:block !important;
        width:100% !important;
        box-sizing:border-box !important;
        padding:14px !important;
        color:#fff !important;
        border-bottom:1px solid #292929 !important;
        text-decoration:none !important;
        font-size:14px !important;
        font-weight:800 !important;
    }

    .mpt-mobile-menu a:last-child {
        border-bottom:0 !important;
    }
}

@media screen and (min-width:901px) {
    .mpt-mobile-toggle-input,
    .mpt-menu-toggle,
    .mpt-mobile-menu {
        display:none !important;
    }
}


/* MPTCAST FINAL MOBILE MENU DISPLAY FIX */
@media (max-width: 900px){

    /* Keep the working hamburger exactly where it is */
    .mpt-menu-toggle{
        position:relative !important;
        z-index:999999 !important;
        pointer-events:auto !important;
    }

    .mpt-menu-toggle span{
        pointer-events:none !important;
    }

    /* Force the actual menu above the page */
    .mpt-mobile-menu{
        position:fixed !important;
        top:64px !important;
        left:0 !important;
        right:0 !important;
        width:100vw !important;
        max-width:100vw !important;

        background:#111 !important;
        border-top:1px solid #333 !important;
        border-bottom:1px solid #333 !important;

        z-index:999998 !important;

        visibility:hidden !important;
        opacity:0 !important;
        pointer-events:none !important;

        display:block !important;
        transform:none !important;
    }

    /* Checkbox is the thing that is already working */
    #mpt-mobile-toggle:checked ~ .mpt-mobile-menu{
        display:block !important;
        visibility:visible !important;
        opacity:1 !important;
        pointer-events:auto !important;
        z-index:999998 !important;
    }

    .mpt-mobile-menu a{
        display:block !important;
        width:100% !important;
        padding:16px 20px !important;
        color:#fff !important;
        background:#111 !important;
        text-decoration:none !important;
        border-bottom:1px solid #2b2b2b !important;
        font-size:16px !important;
        font-weight:600 !important;
        box-sizing:border-box !important;
    }

    .mpt-mobile-menu a:hover,
    .mpt-mobile-menu a:active{
        background:#222 !important;
        color:#ffd21c !important;
    }
}


/* MPTCAST FINAL MOBILE MENU DISPLAY FIX */
@media (max-width: 900px){

    .mpt-menu-toggle{
        position:relative !important;
        z-index:999999 !important;
        pointer-events:auto !important;
    }

    .mpt-menu-toggle span{
        pointer-events:none !important;
    }

    .mpt-mobile-menu{
        position:fixed !important;
        top:64px !important;
        left:0 !important;
        right:0 !important;
        width:100vw !important;
        max-width:100vw !important;
        background:#111 !important;
        border-top:1px solid #333 !important;
        border-bottom:1px solid #333 !important;
        z-index:999998 !important;
        visibility:hidden !important;
        opacity:0 !important;
        pointer-events:none !important;
        display:block !important;
        transform:none !important;
    }

    #mpt-mobile-toggle:checked ~ .mpt-mobile-menu{
        display:block !important;
        visibility:visible !important;
        opacity:1 !important;
        pointer-events:auto !important;
        z-index:999998 !important;
    }

    .mpt-mobile-menu a{
        display:block !important;
        width:100% !important;
        padding:16px 20px !important;
        color:#fff !important;
        background:#111 !important;
        text-decoration:none !important;
        border-bottom:1px solid #2b2b2b !important;
        font-size:16px !important;
        font-weight:600 !important;
        box-sizing:border-box !important;
    }

    .mpt-mobile-menu a:hover,
    .mpt-mobile-menu a:active{
        background:#222 !important;
        color:#ffd21c !important;
    }
}

/* ============================================================
   MPTCAST BLUE / CYAN BRAND THEME
   Based on the official MPTCast logo
   ============================================================ */

:root{
    --mpt-blue:#0057ff;
    --mpt-blue-dark:#00308f;
    --mpt-cyan:#00eaff;
    --mpt-cyan-bright:#19f5ff;
    --mpt-navy:#00102e;
    --mpt-navy-2:#001b46;
    --mpt-black:#030508;
    --mpt-white:#f7fbff;
    --mpt-silver:#cdd6e0;
}

/* ---------- GLOBAL ---------- */

html,
body{
    background:#030508 !important;
    color:var(--mpt-white) !important;
}

body{
    background:
        radial-gradient(circle at 50% 0%, rgba(0,87,255,.16), transparent 35%),
        linear-gradient(180deg,#030508 0%,#00102e 55%,#030508 100%) !important;
}

/* ---------- HEADER ---------- */

header{
    background:rgba(2,7,16,.97) !important;
    border-bottom:1px solid rgba(0,234,255,.28) !important;
    box-shadow:0 4px 25px rgba(0,87,255,.16) !important;
}

.brand{
    color:#fff !important;
    text-shadow:
        0 0 8px rgba(0,234,255,.45),
        0 0 20px rgba(0,87,255,.35) !important;
}

header nav a{
    color:#dcecff !important;
}

header nav a:hover{
    color:var(--mpt-cyan) !important;
}

/* ---------- HOMEPAGE HERO ---------- */

.home-hero{
    background:
        radial-gradient(circle at 72% 45%,rgba(0,234,255,.16),transparent 22%),
        radial-gradient(circle at 70% 70%,rgba(0,87,255,.24),transparent 35%),
        linear-gradient(135deg,#02050a 0%,#00102e 48%,#001b46 100%) !important;
    border-bottom:1px solid rgba(0,234,255,.25) !important;
}

.home-hero::before{
    background:
        radial-gradient(circle,rgba(0,234,255,.10) 1px,transparent 1px) !important;
    background-size:28px 28px !important;
    opacity:.35 !important;
}

.home-hero-glow{
    background:
        radial-gradient(circle,rgba(0,234,255,.25),transparent 55%) !important;
    filter:blur(20px) !important;
}

/* ---------- HERO TEXT ---------- */

.home-kicker{
    color:var(--mpt-cyan) !important;
    text-shadow:0 0 12px rgba(0,234,255,.45) !important;
}

.home-hero-copy h1{
    color:#fff !important;
    text-shadow:0 4px 20px rgba(0,0,0,.65) !important;
}

.home-hero-copy h1 span{
    color:var(--mpt-cyan) !important;
    text-shadow:
        0 0 10px rgba(0,234,255,.45),
        0 0 30px rgba(0,87,255,.35) !important;
}

.home-hero-copy p{
    color:#cbd8e8 !important;
}

/* ---------- HERO BUTTONS ---------- */

.home-btn-gold{
    background:linear-gradient(135deg,#0057ff,#00cfff) !important;
    color:#fff !important;
    border:1px solid #29efff !important;
    box-shadow:
        0 8px 25px rgba(0,87,255,.35),
        0 0 18px rgba(0,234,255,.18) !important;
}

.home-btn-gold:hover{
    background:linear-gradient(135deg,#006eff,#19f5ff) !important;
    color:#00102e !important;
    box-shadow:
        0 10px 32px rgba(0,87,255,.5),
        0 0 28px rgba(0,234,255,.32) !important;
}

.home-btn-dark{
    background:#050b16 !important;
    color:#fff !important;
    border:1px solid rgba(0,234,255,.45) !important;
}

.home-btn-dark:hover{
    background:#001b46 !important;
    color:var(--mpt-cyan) !important;
    border-color:var(--mpt-cyan) !important;
}

/* ---------- HERO TRUST LINE ---------- */

.home-trust span{
    color:#aebed0 !important;
}

.home-trust span::first-letter{
    color:var(--mpt-cyan) !important;
}

/* ---------- LOGO / HERO ART ---------- */

.home-hero-art{
    position:relative !important;
}

.home-hero-art::before{
    content:"" !important;
    position:absolute !important;
    inset:4% 2% !important;
    background:
        radial-gradient(circle,
            rgba(0,234,255,.28) 0%,
            rgba(0,87,255,.16) 35%,
            transparent 70%) !important;
    filter:blur(25px) !important;
    pointer-events:none !important;
}

.home-hero-art .home-disc{
    background:
        #02060d url('/assets/mptcast-logo.png') center/contain no-repeat !important;
    border:3px solid #008cff !important;
    box-shadow:
        0 0 12px rgba(0,234,255,.8),
        0 0 35px rgba(0,87,255,.65),
        0 0 80px rgba(0,87,255,.35) !important;
    color:transparent !important;
}

.home-hero-art .home-disc-core{
    display:none !important;
}

.home-signal{
    border-color:rgba(0,234,255,.35) !important;
}

.home-live-card{
    background:rgba(2,8,18,.92) !important;
    border:1px solid rgba(0,234,255,.4) !important;
    box-shadow:0 10px 30px rgba(0,0,0,.45) !important;
}

.home-live-card strong{
    color:#fff !important;
}

.home-live-card small{
    color:#9db4ce !important;
}

.home-live-card i{
    background:#00eaff !important;
    box-shadow:0 0 10px #00eaff !important;
}

/* ---------- STATS ---------- */

.home-stats{
    background:
        linear-gradient(90deg,#00102e,#00265f,#00102e) !important;
    border-top:1px solid rgba(0,234,255,.18) !important;
    border-bottom:1px solid rgba(0,234,255,.25) !important;
}

.home-stats strong{
    color:var(--mpt-cyan) !important;
    text-shadow:0 0 12px rgba(0,234,255,.3) !important;
}

.home-stats span{
    color:#b9c9db !important;
}

/* ---------- DIRECTORY ---------- */

.home-directory,
.home-features{
    background:
        linear-gradient(180deg,#03070e 0%,#00102e 100%) !important;
}

.home-section-head h2{
    color:#fff !important;
}

.home-section-head p{
    color:#aebfd1 !important;
}

.home-kicker.dark{
    color:var(--mpt-cyan) !important;
}

.home-count{
    background:#001b46 !important;
    color:var(--mpt-cyan) !important;
    border:1px solid rgba(0,234,255,.3) !important;
}

/* ---------- SEARCH ---------- */

.home-search{
    background:#050b16 !important;
    border:1px solid rgba(0,140,255,.4) !important;
    box-shadow:inset 0 0 20px rgba(0,87,255,.08) !important;
}

.home-search span{
    color:var(--mpt-cyan) !important;
}

.home-search input{
    color:#fff !important;
}

.home-search input::placeholder{
    color:#71869d !important;
}

/* ---------- GENRE FILTERS ---------- */

.home-filter{
    background:#050b16 !important;
    color:#b8c9db !important;
    border:1px solid rgba(0,140,255,.35) !important;
}

.home-filter:hover,
.home-filter.active{
    background:linear-gradient(135deg,#0057ff,#00bfe9) !important;
    color:#fff !important;
    border-color:#00eaff !important;
    box-shadow:0 0 15px rgba(0,234,255,.2) !important;
}

/* ---------- STATION CARDS ---------- */

.home-station-card{
    background:
        linear-gradient(145deg,#050b16,#001632) !important;
    border:1px solid rgba(0,140,255,.28) !important;
    box-shadow:
        0 12px 30px rgba(0,0,0,.35),
        inset 0 1px 0 rgba(255,255,255,.03) !important;
}

.home-station-card:hover{
    border-color:rgba(0,234,255,.65) !important;
    box-shadow:
        0 15px 35px rgba(0,0,0,.45),
        0 0 25px rgba(0,87,255,.18) !important;
}

.home-card-top{
    border-bottom-color:rgba(0,140,255,.18) !important;
}

.home-card-live{
    color:var(--mpt-cyan) !important;
}

.home-card-live i{
    background:#00eaff !important;
    box-shadow:0 0 8px #00eaff !important;
}

.home-card-code{
    color:#7894b0 !important;
}

.home-card-now{
    background:rgba(0,87,255,.08) !important;
    border-top:1px solid rgba(0,140,255,.15) !important;
    border-bottom:1px solid rgba(0,140,255,.15) !important;
}

.home-card-now small{
    color:#6684a1 !important;
}

.home-now-title{
    color:#fff !important;
}

.home-now-artist{
    color:#8fa7bf !important;
}

.home-card-genre{
    color:var(--mpt-cyan) !important;
}

.home-card-body h3{
    color:#fff !important;
}

.home-card-body p{
    color:#91a5ba !important;
}

.home-card-footer{
    border-top-color:rgba(0,140,255,.18) !important;
}

.home-card-footer a{
    color:var(--mpt-cyan) !important;
}

.home-card-footer span{
    color:#61788f !important;
}

/* ---------- FEATURES ---------- */

.home-feature-grid article{
    background:
        linear-gradient(145deg,#050b16,#001632) !important;
    border:1px solid rgba(0,140,255,.28) !important;
}

.home-feature-grid article:hover{
    border-color:rgba(0,234,255,.55) !important;
    box-shadow:0 0 25px rgba(0,87,255,.18) !important;
}

.home-feature-grid article > span{
    color:var(--mpt-cyan) !important;
}

.home-feature-grid h3{
    color:#fff !important;
}

.home-feature-grid p{
    color:#91a5ba !important;
}

/* ---------- EMPTY / MISC ---------- */

.home-empty{
    background:#050b16 !important;
    border:1px solid rgba(0,140,255,.3) !important;
}

.home-empty strong{
    color:#fff !important;
}

.home-empty span{
    color:#8fa5bc !important;
}

/* ---------- MOBILE ---------- */

@media(max-width:900px){

    .home-hero{
        background:
            radial-gradient(circle at 80% 30%,rgba(0,234,255,.14),transparent 25%),
            linear-gradient(145deg,#02050a,#00102e 65%,#001b46) !important;
    }

    .home-hero-art .home-disc{
        box-shadow:
            0 0 10px rgba(0,234,255,.7),
            0 0 30px rgba(0,87,255,.5) !important;
    }

    .home-stats{
        background:linear-gradient(90deg,#00102e,#00265f,#00102e) !important;
    }
}


/* ============================================================
   MPTCAST READABILITY + LOCKED STREAM URL
   ============================================================ */

/* Normal page text */
body,
main,
section,
article,
.card,
.panel,
.content,
.dashboard,
.station-manage,
.station-workspace,
.form-card,
.form-section {
    color: #111827;
}

/* Headings */
h1,
h2,
h3,
h4,
h5,
h6 {
    color: #001037;
}

/* Labels */
label,
.form-label,
.field-label,
.form-group label,
fieldset label {
    color: #001037 !important;
    font-weight: 700;
}

/* Help / descriptive text */
p,
small,
.help-text,
.form-help,
.description,
.muted,
.field-description {
    color: #334155;
}

/* All normal form controls */
input,
textarea,
select {
    color: #111827 !important;
    background-color: #ffffff !important;
    border-color: #b8c5d6;
}

/* Placeholders */
input::placeholder,
textarea::placeholder {
    color: #64748b !important;
    opacity: 1;
}

/* Select dropdown text */
select option {
    color: #111827;
    background: #ffffff;
}

/* ============================================================
   STREAM URL — DISPLAY ONLY
   ============================================================ */

input[name="stream_url"],
textarea[name="stream_url"] {
    background-color: #e5e7eb !important;
    color: #475569 !important;
    border-color: #cbd5e1 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
    opacity: 1 !important;
}

/* Make it obvious this field is system controlled */
input[name="stream_url"]::placeholder {
    color: #64748b !important;
}

/* Station profile form */
.station-profile-form label,
.station-profile-form .form-label,
.profile-form label {
    color: #001037 !important;
}

/* White-on-white protection for common dashboard elements */
.dashboard-card,
.station-card,
.manage-card,
.settings-card,
.form-card,
.panel,
.card {
    color: #111827;
}

.dashboard-card h1,
.dashboard-card h2,
.dashboard-card h3,
.dashboard-card h4,
.station-card h1,
.station-card h2,
.station-card h3,
.station-card h4,
.manage-card h1,
.manage-card h2,
.manage-card h3,
.manage-card h4,
.settings-card h1,
.settings-card h2,
.settings-card h3,
.settings-card h4,
.form-card h1,
.form-card h2,
.form-card h3,
.form-card h4 {
    color: #001037;
}

/* Buttons keep their intended readable contrast */
button,
input[type="submit"],
input[type="button"],
.btn {
    font-weight: 700;
}

/* Primary MPTCast action buttons */
button[type="submit"],
input[type="submit"],
.btn-primary {
    color: #001037 !important;
}

/* Links */
main a:not(.btn):not(.home-btn) {
    color: #0050c6;
}

main a:not(.btn):not(.home-btn):hover {
    color: #002057;
}

/* ============================================================
   DARK BLUE SECTIONS — KEEP WHITE TEXT WHERE APPROPRIATE
   ============================================================ */

.mpt-dark,
.dark-panel,
.hero,
.hero-section,
.home-hero,
.home-hero * {
    /* Existing component-specific colors take priority */
}

/* ============================================================
   COLOR INPUT
   ============================================================ */

input[type="color"] {
    padding: 4px !important;
    background: #ffffff !important;
}

/* ============================================================
   CHECKBOXES / RADIOS
   ============================================================ */

input[type="checkbox"],
input[type="radio"] {
    accent-color: #0050c6;
}

/* ============================================================
   DISABLED / READ-ONLY CONTROLS
   ============================================================ */

input[readonly],
textarea[readonly],
input:disabled,
textarea:disabled,
select:disabled {
    background-color: #e5e7eb !important;
    color: #475569 !important;
    border-color: #cbd5e1 !important;
    cursor: not-allowed !important;
    opacity: 1 !important;
}

/* ============================================================
   MPTCAST BLUE/CYAN FORM ACCENT
   ============================================================ */

input:focus,
textarea:focus,
select:focus {
    border-color: #0050c6 !important;
    box-shadow: 0 0 0 2px rgba(0,80,198,.15) !important;
    outline: none;
}


/* ============================================================
   STATION CONTROL FORM — READABILITY FIX
   ============================================================ */

.station-manage,
.station-manage * {
    box-sizing: border-box;
}

.station-manage {
    color: #111827 !important;
}

/* Form labels */
.station-manage label {
    display: block;
    color: #001037 !important;
    font-weight: 700 !important;
    font-size: 15px;
}

/* Label text must remain dark */
.station-manage label,
.station-manage label span {
    color: #001037 !important;
}

/* Inputs */
.station-manage input[type="text"],
.station-manage input[type="email"],
.station-manage input[type="url"],
.station-manage input[type="file"],
.station-manage input[type="color"],
.station-manage textarea,
.station-manage select {
    color: #111827 !important;
    background: #ffffff !important;
    border: 1px solid #b8c5d6 !important;
}

/* Textareas */
.station-manage textarea {
    color: #111827 !important;
}

/* Placeholder */
.station-manage input::placeholder,
.station-manage textarea::placeholder {
    color: #64748b !important;
    opacity: 1 !important;
}

/* Locked Stream URL */
.station-manage input[name="stream_url"] {
    background: #e5e7eb !important;
    color: #475569 !important;
    border-color: #cbd5e1 !important;
    cursor: not-allowed !important;
    opacity: 1 !important;
}

/* System-controlled label */
.station-manage .mpt-system-field {
    position: relative;
}

.station-manage .mpt-system-note {
    display: inline-block;
    margin-left: 8px;
    padding: 3px 7px;
    border-radius: 5px;
    background: #e5e7eb;
    color: #475569 !important;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    vertical-align: middle;
}

/* File chooser */
.station-manage input[type="file"] {
    color: #111827 !important;
}

/* File chooser button */
.station-manage input[type="file"]::file-selector-button {
    color: #111827;
    background: #e5e7eb;
    border: 1px solid #b8c5d6;
    padding: 7px 12px;
    border-radius: 5px;
    font-weight: 600;
}

/* Section headings */
.station-manage h1,
.station-manage h2,
.station-manage h3,
.station-manage h4 {
    color: #001037 !important;
}

/* Normal text */
.station-manage p,
.station-manage small {
    color: #334155 !important;
}

/* Save button */
.station-manage button.accent {
    color: #001037 !important;
    background: #1aeeFC !important;
    border-color: #1aeeFC !important;
    font-weight: 800;
}

/* Focus */
.station-manage input:focus,
.station-manage textarea:focus,
.station-manage select:focus {
    border-color: #0050c6 !important;
    box-shadow: 0 0 0 2px rgba(0,80,198,.15) !important;
    outline: none;
}

/* ============================================================
   PREVENT WHITE TEXT ON WHITE FORM AREAS
   ============================================================ */

.station-manage .card,
.station-manage .panel,
.station-manage .form-card,
.station-manage .form-section {
    color: #111827 !important;
}


/* ============================================================
   MPTCAST STATION MANAGEMENT — ACTUAL FORM SELECTORS
   ============================================================ */

/* White cards must use dark text */
.manage-panel,
.manage-side-card,
.manage-control-card {
    color: #111827 !important;
}

/* ALL labels inside the management forms */
.manage-panel form label,
.manage-side-card form label {
    color: #001037 !important;
    font-weight: 700 !important;
}

/* Make nested label text dark too */
.manage-panel form label *,
.manage-side-card form label * {
    color: #001037 !important;
}

/* Form fields */
.manage-panel input,
.manage-panel textarea,
.manage-panel select,
.manage-side-card input,
.manage-side-card textarea,
.manage-side-card select {
    color: #111827 !important;
    background: #ffffff !important;
}

/* Placeholder text */
.manage-panel input::placeholder,
.manage-panel textarea::placeholder,
.manage-side-card input::placeholder,
.manage-side-card textarea::placeholder {
    color: #64748b !important;
    opacity: 1 !important;
}

/* Section headings */
.manage-panel h1,
.manage-panel h2,
.manage-panel h3,
.manage-panel h4,
.manage-side-card h1,
.manage-side-card h2,
.manage-side-card h3,
.manage-side-card h4 {
    color: #001037 !important;
}

/* Descriptions/help text */
.manage-panel p,
.manage-panel small,
.manage-side-card p,
.manage-side-card small {
    color: #475569 !important;
}

/* System-controlled Stream URL */
.manage-panel input[name="stream_url"] {
    background: #e5e7eb !important;
    color: #475569 !important;
    border-color: #cbd5e1 !important;
    cursor: not-allowed !important;
    opacity: 1 !important;
}

/* System controlled badge */
.mpt-system-note {
    color: #475569 !important;
    background: #e5e7eb !important;
}

/* File upload field */
.manage-panel input[type="file"] {
    color: #111827 !important;
}

/* File upload button */
.manage-panel input[type="file"]::file-selector-button {
    color: #111827 !important;
    background: #e5e7eb !important;
    border: 1px solid #b8c5d6 !important;
}

/* Color picker */
.manage-panel input[type="color"] {
    background: #ffffff !important;
}

/* Checkboxes */
.manage-panel input[type="checkbox"],
.manage-side-card input[type="checkbox"] {
    accent-color: #0050c6;
}

/* Focus states */
.manage-panel input:focus,
.manage-panel textarea:focus,
.manage-panel select:focus,
.manage-side-card input:focus,
.manage-side-card textarea:focus,
.manage-side-card select:focus {
    border-color: #0050c6 !important;
    box-shadow: 0 0 0 2px rgba(0,80,198,.15) !important;
    outline: none;
}


/* Station Control dark hero — white station name */
.manage-hero h1 {
    color: #ffffff !important;
}

.manage-hero h1 *,
.manage-hero .manage-station-name {
    color: #ffffff !important;
}


/* ============================================================
   MPTCAST FINAL DARK-PANEL TEXT FIX
   ============================================================ */

/* Station Space dark card */
.manage-side-card {
    color: #ffffff !important;
}

.manage-side-card h1,
.manage-side-card h2,
.manage-side-card h3,
.manage-side-card h4,
.manage-side-card strong {
    color: #ffffff !important;
}

.manage-side-card p,
.manage-side-card small {
    color: #aeb8c5 !important;
}

/* Storage numbers */
.manage-side-card .quota-used,
.manage-side-card .quota-total,
.manage-side-card .quota-value {
    color: #ffffff !important;
}

/* ============================================================
   RAWJAMZ PUBLIC STATION PAGE
   ============================================================ */

.rawjamz-station {
    color: #ffffff !important;
}

.rawjamz-station .rj-bigwords {
    color: #ffffff !important;
}

.rawjamz-station .rj-emblem h1 {
    color: #ffffff !important;
}

.rawjamz-station .rj-location strong {
    color: #ffffff !important;
}

.rawjamz-station .rj-brand {
    color: #ffffff !important;
}

.rawjamz-station .rj-copy p {
    color: #dddddd !important;
}

/* Keep the station's accent color on accent text */
.rawjamz-station .rj-kicker,
.rawjamz-station .rj-subtitle,
.rawjamz-station .rj-location span,
.rawjamz-station .rj-brand b {
    color: var(--station-color) !important;
}


/* ============================================================
   MPTCAST WHITE TEXT OVERRIDE
   Fix dark navy text on dark backgrounds
   ============================================================ */

/* ---------------- DASHBOARD ---------------- */

.dashboard-section-title h2,
.dashboard-section-title h1,
.dashboard-section-title h3 {
    color: #ffffff !important;
}

.dashboard-section-title,
.dashboard-section-title * {
    color: #ffffff !important;
}

/* "YOUR STATION" */
.station-dashboard-grid {
    color: #ffffff !important;
}

.station-dash-body {
    color: #ffffff !important;
}

.station-dash-body h1,
.station-dash-body h2,
.station-dash-body h3,
.station-dash-body h4 {
    color: #ffffff !important;
}

.station-dash-body .station-slug {
    color: #aeb8c5 !important;
}

/* Dashboard station links */
.station-dash-links a {
    color: #ffffff !important;
}

.station-dash-links a:hover {
    color: #ffd21a !important;
}


/* ---------------- RAWJAMZ PUBLIC STATION ---------------- */

.rawjamz-station {
    color: #ffffff !important;
}

/* CONNECTING RADIO TO THE WORLD */
.rawjamz-station .rj-bigwords {
    color: #ffffff !important;
}

/* DJ Haze Radio */
.rawjamz-station .rj-emblem h1 {
    color: #ffffff !important;
}

/* DJHAZE */
.rawjamz-station .rj-location strong {
    color: #ffffff !important;
}

/* Left-side RADIO text */
.rawjamz-station .rj-copy {
    color: #ffffff !important;
}

.rawjamz-station .rj-copy h1,
.rawjamz-station .rj-copy h2,
.rawjamz-station .rj-copy h3 {
    color: #ffffff !important;
}

/* Bottom "TAKE THIS STATION WITH YOU" section */
.rawjamz-station .rj-share h1,
.rawjamz-station .rj-share h2,
.rawjamz-station .rj-share h3 {
    color: #ffffff !important;
}

.rawjamz-station .rj-share p {
    color: #c4c9d0 !important;
}


/* ---------------- DARK STORAGE / SPACE CARDS ---------------- */

.station-space,
.station-space *,
.space-card,
.space-card *,
.storage-card,
.storage-card * {
    color: #ffffff !important;
}

/* Keep secondary storage text readable */
.station-space small,
.space-card small,
.storage-card small {
    color: #aeb8c5 !important;
}


/* ---------------- GENERAL DARK CARDS ---------------- */

.station-dash-card h1,
.station-dash-card h2,
.station-dash-card h3,
.station-dash-card h4,
.station-dash-card strong {
    color: #ffffff !important;
}


/* Never allow the old navy heading color on dark station areas */
.rawjamz-station h1,
.rawjamz-station h2,
.rawjamz-station h3,
.rawjamz-station h4 {
    color: #ffffff !important;
}

/* Accent headings remain yellow */
.rawjamz-station .rj-kicker,
.rawjamz-station .rj-subtitle,
.rawjamz-station .rj-brand b {
    color: var(--station-color) !important;
}


/* ============================================================
   SEO SETTINGS — HIGH CONTRAST
   ============================================================ */

.manage-side-card h3 {
    color: #001037 !important;
    font-weight: 800 !important;
}

.manage-side-card p.muted {
    color: #334155 !important;
    font-weight: 500 !important;
}

/* SEO form labels */
.manage-side-card form label {
    color: #001037 !important;
    font-weight: 700 !important;
}

/* SEO inputs */
.manage-side-card form input,
.manage-side-card form textarea {
    color: #111827 !important;
    background: #ffffff !important;
    border: 1px solid #b8c5d6 !important;
    font-weight: 500 !important;
}

/* SEO placeholder text */
.manage-side-card form input::placeholder,
.manage-side-card form textarea::placeholder {
    color: #64748b !important;
    opacity: 1 !important;
}

/* SEO checkbox text */
.manage-side-card form label.check {
    color: #111827 !important;
}

/* SEO card normal text */
.manage-side-card {
    color: #111827 !important;
}


/* ============================================================
   CREATOR TOOLS — GOLD LINKS
   ============================================================ */

.creator-tools a,
.creator-tools a:visited,
.creator-tools a:hover,
.creator-tools a:active {
    color: #ffd21a !important;
}

.creator-tools a strong,
.creator-tools a h3,
.creator-tools a .title {
    color: #ffd21a !important;
}


/* ============================================================
   CREATOR TOOLS — GOLD TITLES
   ============================================================ */

.quick-tool strong {
    color: #ffd21a !important;
}

.quick-tool:hover strong {
    color: #ffffff !important;
}

/* Keep descriptions readable gray */
.quick-tool small {
    color: #94a3b8 !important;
}

/* Keep the arrow readable */
.quick-tool > i {
    color: #94a3b8 !important;
}


/* ============================================================
   PUBLIC STATION + AUTH FINAL CONTRAST FIX
   ============================================================ */

/* ---------------- LOGIN / REGISTER ---------------- */

.auth-hero h1,
.auth-hero h2,
.auth-hero h3 {
    color: #ffffff !important;
}

/* Everything important on the dark auth side */
.auth-hero {
    color: #ffffff !important;
}

.auth-hero p {
    color: #d5d9df !important;
}

.auth-submit {
    color: #ffffff !important;
}


/* ---------------- RAWJAMZ PLAYER PANELS ---------------- */

/* NOW PLAYING / UP NEXT / LAST 5 PLAYED */
.rawjamz-station .rj-panel h2,
.rawjamz-station .rj-panel h2 *,
.rj-panel h2 {
    color: #ffffff !important;
}

/* Track titles */
.rawjamz-station .rj-track strong,
.rawjamz-station .rj-history-row strong {
    color: #ffffff !important;
}

/* Track artist / secondary information */
.rawjamz-station .rj-track small,
.rawjamz-station .rj-history-row span,
.rawjamz-station .rj-history-row small {
    color: #b8bec6 !important;
}

/* Main player station/song title */
.rawjamz-station .rj-player-text strong {
    color: #ffffff !important;
}

.rawjamz-station .rj-player-text small {
    color: #d0d4d9 !important;
}


/* ---------------- CONTACT STATION ---------------- */

.rawjamz-station .rj-button {
    color: #ffffff !important;
}

.rawjamz-station .rj-button-dark {
    color: #ffffff !important;
}


/* ---------------- CONNECTING RADIO SECTION ---------------- */

.rawjamz-station .rj-connect h2,
.rawjamz-station .rj-connect h2 span {
    color: #ffffff !important;
}


/* ---------------- STATION ABOUT ---------------- */

.rawjamz-station .rj-about h2 {
    color: #ffffff !important;
}

.rawjamz-station .rj-about p {
    color: #c5cad0 !important;
}


/* ============================================================
   PUBLIC STATION HEADER
   ============================================================ */

/* Sticky station header */
.rawjamz-station .rj-public-nav,
.rawjamz-station .rj-navline {
    position: sticky !important;
    top: 0 !important;
    z-index: 9999 !important;
}

/* Remove the generic MPTCast branding/navigation visually */
.rawjamz-station .rj-public-brand,
.rawjamz-station .rj-public-nav nav {
    display: none !important;
}

/* Header becomes a clean station header */
.rawjamz-station .rj-public-nav {
    justify-content: flex-start !important;
    min-height: 64px;
    height: 64px;
    background: #050505 !important;
}

/* Keep the station header clean */
.rawjamz-station .rj-navline {
    background: #050505 !important;
}


/* ============================================================
   STATION PAGE HEADER FINAL
   ============================================================ */

/* Remove the duplicate RawJamz MPT CAST / RADIO / LIVE bar */
.rawjamz-station .rj-public-nav {
    display: none !important;
}

/* Make the MAIN MPT CAST navigation bar stay at the top */
body > header {
    position: sticky !important;
    top: 0 !important;
    z-index: 10000 !important;
}

/* Make sure the station content cannot cover the main menu */
body > header .nav {
    position: relative;
    z-index: 10001 !important;
}

/* Station logo remains the first visual branding inside the station */
.rawjamz-station .rj-emblem {
    position: relative;
    z-index: 2;
}

/* Keep station hero below the sticky site menu */
.rawjamz-station .rj-hero {
    position: relative;
    z-index: 1;
}


/* ============================================================
   DARK PAGE HIGH-CONTRAST FIXES
   ============================================================ */

/* Domain / Wallet / Space dark hero headings */
.money-hero h1,
.money-hero h2 {
    color: #ffffff !important;
}

.money-hero p {
    color: #c5ced9 !important;
}

.dark-money h1,
.dark-money h2,
.dark-money h3 {
    color: #ffffff !important;
}

.dark-money p {
    color: #c5ced9 !important;
}

/* Playlist Studio */
.ps-hero h1,
.ps-hero h2,
.ps-hero h3,
.ps-card.dark h1,
.ps-card.dark h2,
.ps-card.dark h3 {
    color: #ffffff !important;
}

.ps-hero p,
.ps-card.dark p {
    color: #c5ced9 !important;
}

/* Playlist dark-card text */
.ps-card.dark .ps-dark-copy,
.ps-card.dark small,
.ps-card.dark span {
    color: #c5ced9 !important;
}

.ps-card.dark strong {
    color: #ffffff !important;
}

/* Auth page */
.auth-hero h1,
.auth-hero h2,
.auth-hero h3 {
    color: #ffffff !important;
}

.auth-hero p {
    color: #d5dce5 !important;
}

/* Sign-in button */
.auth-form button,
.auth-submit,
form.auth-form button[type="submit"] {
    color: #ffffff !important;
}

/* Domain station sidebar */
.money-side .dark-money h2 {
    color: #ffffff !important;
}

.money-side .dark-money p {
    color: #c5ced9 !important;
}

/* Wallet dark cards */
.money-card.dark-money h1,
.money-card.dark-money h2,
.money-card.dark-money h3,
.money-card.dark-money strong {
    color: #ffffff !important;
}

.money-card.dark-money p,
.money-card.dark-money span {
    color: #c5ced9 !important;
}


/* ============================================================
   PUBLIC STATION — FINAL TEXT + DUPLICATE HEADER FIX
   ============================================================ */

/* NOW PLAYING — permanently white */
.rawjamz-station #rj-now-title,
.rawjamz-station #rj-now-artist,

/* UP NEXT — permanently white */
.rawjamz-station #rj-next-title,
.rawjamz-station #rj-next-artist {
    color: #ffffff !important;
}

/* Remove the duplicate MPT CAST / RADIO / LIVE station bar.
   Keep the main MPT CAST site header/navigation. */
.rawjamz-station .rj-public-nav {
    display: none !important;
}

/* Prevent any leftover spacing from the removed station nav */
.rawjamz-station {
    margin-top: 0 !important;
}


/* ============================================================
   DJ/STATION PUBLIC PAGE FINAL FIX
   ============================================================ */

/* REMOVE the MPT CAST / RADIO / LIVE bar inside the station hero */
.rawjamz-station .rj-navline {
    display: none !important;
}

/* NOW PLAYING — title AND artist permanently WHITE */
.rawjamz-station .rj-green .rj-track strong,
.rawjamz-station .rj-green .rj-track span,
.rawjamz-station #rj-now-title,
.rawjamz-station #rj-now-artist {
    color: #ffffff !important;
}

/* UP NEXT — title AND artist permanently WHITE */
.rawjamz-station .rj-gold .rj-track strong,
.rawjamz-station .rj-gold .rj-track span,
.rawjamz-station #rj-next-title,
.rawjamz-station #rj-next-artist {
    color: #ffffff !important;
}



/* ============================================================
   DASHBOARD / CONTACT PAGE
   ============================================================ */

/* Small MPT CAST CREATOR DASHBOARD eyebrow above Welcome */
.dashboard-hero .dashboard-hero-copy > .eyebrow,
.dashboard-hero .dashboard-hero-copy .eyebrow,
.dashboard-hero .eyebrow {
    color:#ffffff !important;
    opacity:1 !important;
}

/* Contact page */
.contact-shell{
    max-width:1120px;
    margin:0 auto;
}

.contact-hero{
    position:relative;
    overflow:hidden;
    margin:0 0 20px;
    padding:34px;
    border-radius:20px;
    background:
        radial-gradient(circle at 85% 20%,rgba(255,210,26,.20),transparent 28%),
        linear-gradient(135deg,#090909 0%,#151515 55%,#202020 100%);
    border:1px solid #292929;
    box-shadow:0 16px 40px rgba(0,0,0,.22);
}

.contact-hero h1{
    margin:6px 0 8px;
    color:#fff !important;
    font-size:clamp(30px,5vw,46px);
    line-height:1.05;
}

.contact-hero p{
    margin:0;
    max-width:720px;
    color:#bfc7d1 !important;
    font-size:16px;
    line-height:1.65;
}

.contact-eyebrow,
.contact-label{
    color:#ffd21a !important;
    font-size:11px;
    font-weight:800;
    letter-spacing:1.8px;
}

.contact-message{
    margin:0 0 18px;
    padding:14px 17px;
    border-radius:12px;
    font-weight:700;
}

.contact-success{
    background:#12351e;
    border:1px solid #26743b;
    color:#8ff0a5 !important;
}

.contact-error{
    background:#351414;
    border:1px solid #743030;
    color:#ff9e9e !important;
}

.contact-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 330px;
    gap:18px;
    align-items:start;
}

.contact-card,
.contact-side-card{
    border:1px solid #292929;
    border-radius:17px;
    background:#fff;
    box-shadow:0 10px 25px rgba(0,0,0,.12);
}

.contact-card{
    padding:24px;
}

.contact-card-head h2{
    margin:5px 0 0;
    color:#001037 !important;
    font-size:25px;
}

.contact-form{
    margin-top:22px;
}

.contact-form label{
    display:block;
    margin:0 0 17px;
    color:#001037 !important;
    font-size:13px;
    font-weight:800;
}

.contact-form input,
.contact-form textarea{
    display:block;
    width:100%;
    box-sizing:border-box;
    margin-top:7px;
    padding:13px 14px;
    border:1px solid #cbd5e1;
    border-radius:9px;
    background:#fff;
    color:#111827 !important;
    font:inherit;
    outline:none;
}

.contact-form input:focus,
.contact-form textarea:focus{
    border-color:#0050c6;
    box-shadow:0 0 0 3px rgba(0,80,198,.12);
}

.contact-form textarea{
    resize:vertical;
    min-height:180px;
}

.contact-form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:15px;
}

.contact-submit{
    min-width:160px;
    margin-top:3px;
}

.contact-side{
    display:grid;
    gap:18px;
}

.contact-side-card{
    padding:21px;
}

.contact-side-dark{
    background:linear-gradient(145deg,#071126,#001037);
    border-color:#17315f;
}

.contact-side-card h2{
    margin:7px 0 7px;
    color:#001037 !important;
    font-size:21px;
}

.contact-side-dark h2{
    color:#fff !important;
}

.contact-side-card p{
    margin:0;
    color:#475569 !important;
    line-height:1.55;
}

.contact-side-dark p{
    color:#b9c6d8 !important;
}

.contact-links{
    display:grid;
    gap:9px;
    margin-top:14px;
}

.contact-links a{
    display:block;
    padding:11px 12px;
    border-radius:8px;
    background:#f1f5f9;
    color:#0050c6 !important;
    font-weight:800;
    text-decoration:none;
}

.contact-links a:hover{
    background:#e2e8f0;
    color:#001037 !important;
}

@media(max-width:800px){
    .contact-layout{
        grid-template-columns:1fr;
    }

    .contact-form-grid{
        grid-template-columns:1fr;
        gap:0;
    }

    .contact-hero,
    .contact-card,
    .contact-side-card{
        padding:20px;
    }
}


/* ============================================================
   MPT CAST PUBLIC STATION GALLERY
   Horizontal desktop slider + mobile swipe
   ============================================================ */

.rj-gallery-section {
    max-width: 1080px;
    margin: 28px auto 0;
    padding: 24px;
    background: #101010;
    border: 1px solid #282828;
    border-radius: 14px;
    color: #fff;
    box-sizing: border-box;
}

.rj-gallery-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 16px;
}

.rj-gallery-head h2 {
    margin: 5px 0 0;
    color: #fff !important;
    font-size: 24px;
    font-weight: 900;
    letter-spacing: 1px;
}

.rj-gallery-arrows {
    display: flex;
    gap: 8px;
}

.rj-gallery-arrow {
    width: 42px;
    height: 42px;
    border: 1px solid #444;
    border-radius: 50%;
    background: #202020;
    color: #fff;
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
}

.rj-gallery-arrow:hover {
    background: var(--station-color);
    color: #111;
}

.rj-gallery-viewport {
    width: 100%;
    overflow-x: hidden;
    overflow-y: hidden;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    border-radius: 10px;
}

.rj-gallery-track {
    display: flex;
    gap: 14px;
    width: max-content;
}

.rj-gallery-slide {
    position: relative;
    flex: 0 0 280px;
    width: 280px;
    min-height: 210px;
    border-radius: 12px;
    overflow: hidden;
    background: #181818;
    border: 1px solid #303030;
}

.rj-gallery-slide a {
    display: block;
    width: 100%;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

.rj-gallery-slide img {
    display: block;
    width: 100%;
    height: 280px;
    object-fit: cover;
}

.rj-gallery-caption {
    padding: 10px 12px;
    color: #fff;
    background: #111;
    font-size: 13px;
    line-height: 1.35;
    font-weight: 700;
}

.rj-gallery-dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 7px;
    margin-top: 15px;
}

.rj-gallery-dot {
    width: 8px;
    height: 8px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #555;
    cursor: pointer;
}

.rj-gallery-dot.active {
    background: var(--station-color);
    transform: scale(1.25);
}

@media (max-width: 700px) {

    .rj-gallery-section {
        margin: 20px 12px 0 !important;
        padding: 18px 14px;
        border-radius: 12px;
    }

    .rj-gallery-head h2 {
        font-size: 20px;
    }

    .rj-gallery-slide {
        flex-basis: calc(100vw - 64px);
        width: calc(100vw - 64px);
    }

    .rj-gallery-slide img {
        height: calc(100vw - 64px);
        max-height: 420px;
    }

    .rj-gallery-arrow {
        width: 38px;
        height: 38px;
        font-size: 27px;
    }

    .rj-gallery-viewport {
        overflow-x: hidden;
    }

}

@media (max-width: 380px) {

    .rj-gallery-slide {
        flex-basis: calc(100vw - 54px);
        width: calc(100vw - 54px);
    }

    .rj-gallery-slide img {
        height: calc(100vw - 54px);
    }

}


/* ============================================================
   MPT CAST GALLERY — 150x150 THUMBNAILS + FULLSCREEN POPUP
   ============================================================ */

.rj-gallery-section{
    max-width:1080px !important;
    margin:28px auto 0 !important;
    padding:22px !important;
    box-sizing:border-box !important;
}

.rj-gallery-viewport{
    width:100% !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:thin !important;
    scroll-behavior:smooth !important;
}

.rj-gallery-track{
    display:flex !important;
    flex-wrap:nowrap !important;
    width:max-content !important;
    gap:12px !important;
}

.rj-gallery-slide{
    flex:0 0 150px !important;
    width:150px !important;
    height:150px !important;
    min-height:150px !important;
    max-width:150px !important;
    max-height:150px !important;
    border-radius:10px !important;
    overflow:hidden !important;
    position:relative !important;
    background:#111 !important;
    border:1px solid #333 !important;
    cursor:pointer !important;
}

.rj-gallery-slide a{
    display:block !important;
    width:100% !important;
    height:100% !important;
}

.rj-gallery-slide img{
    display:block !important;
    width:150px !important;
    height:150px !important;
    max-width:150px !important;
    max-height:150px !important;
    object-fit:cover !important;
    cursor:pointer !important;
}

.rj-gallery-caption{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    padding:7px 8px !important;
    background:linear-gradient(transparent,rgba(0,0,0,.9)) !important;
    color:#fff !important;
    font-size:11px !important;
    line-height:1.2 !important;
    box-sizing:border-box !important;
    pointer-events:none !important;
}

.rj-gallery-slide:hover{
    border-color:#ffd21a !important;
    transform:translateY(-2px) !important;
}

.rj-gallery-arrow{
    flex:none !important;
}

/* ---------------- FULL SIZE POPUP ---------------- */

.rj-gallery-modal{
    position:fixed !important;
    inset:0 !important;
    z-index:999999 !important;
    display:none;
    align-items:center !important;
    justify-content:center !important;
    padding:30px !important;
    box-sizing:border-box !important;
    background:rgba(0,0,0,.94) !important;
}

.rj-gallery-modal.open{
    display:flex !important;
}

.rj-gallery-modal-inner{
    position:relative !important;
    width:min(1100px,94vw) !important;
    max-height:92vh !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}

.rj-gallery-modal-image{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:88vw !important;
    max-height:82vh !important;
    object-fit:contain !important;
    border-radius:8px !important;
    box-shadow:0 20px 70px rgba(0,0,0,.7) !important;
}

.rj-gallery-modal-close{
    position:fixed !important;
    top:18px !important;
    right:22px !important;
    width:46px !important;
    height:46px !important;
    border:0 !important;
    border-radius:50% !important;
    background:#fff !important;
    color:#111 !important;
    font-size:30px !important;
    line-height:46px !important;
    text-align:center !important;
    cursor:pointer !important;
    z-index:1000001 !important;
}

.rj-gallery-modal-arrow{
    position:fixed !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    width:54px !important;
    height:54px !important;
    border:1px solid rgba(255,255,255,.35) !important;
    border-radius:50% !important;
    background:rgba(0,0,0,.7) !important;
    color:#fff !important;
    font-size:40px !important;
    line-height:48px !important;
    text-align:center !important;
    cursor:pointer !important;
    z-index:1000001 !important;
}

.rj-gallery-modal-prev{
    left:20px !important;
}

.rj-gallery-modal-next{
    right:20px !important;
}

.rj-gallery-modal-arrow:hover{
    background:#0050c6 !important;
    border-color:#fff !important;
}

.rj-gallery-modal-caption{
    position:fixed !important;
    left:50% !important;
    bottom:18px !important;
    transform:translateX(-50%) !important;
    max-width:80vw !important;
    padding:8px 15px !important;
    border-radius:20px !important;
    background:rgba(0,0,0,.75) !important;
    color:#fff !important;
    font-size:14px !important;
    text-align:center !important;
    z-index:1000001 !important;
}

@media(max-width:700px){

    .rj-gallery-section{
        margin-left:10px !important;
        margin-right:10px !important;
        padding:16px !important;
    }

    .rj-gallery-slide,
    .rj-gallery-slide img{
        width:150px !important;
        height:150px !important;
        max-width:150px !important;
        max-height:150px !important;
    }

    .rj-gallery-modal{
        padding:15px !important;
    }

    .rj-gallery-modal-image{
        max-width:94vw !important;
        max-height:78vh !important;
    }

    .rj-gallery-modal-arrow{
        width:44px !important;
        height:44px !important;
        font-size:32px !important;
        line-height:38px !important;
    }

    .rj-gallery-modal-prev{
        left:8px !important;
    }

    .rj-gallery-modal-next{
        right:8px !important;
    }

    .rj-gallery-modal-close{
        top:10px !important;
        right:10px !important;
    }
}

/* ============================================================
   STATION LAYOUT — SHARE LAST + SHARE POPUP
   ============================================================ */

.rj-share-last{
    margin-top:24px !important;
    margin-bottom:30px !important;
}

/* Share popup */
.rj-share-modal{
    position:fixed !important;
    inset:0 !important;
    z-index:9999999 !important;
    display:none !important;
    align-items:center !important;
    justify-content:center !important;
}

.rj-share-modal.open{
    display:flex !important;
}

.rj-share-overlay{
    position:absolute !important;
    inset:0 !important;
    background:rgba(0,0,0,.82) !important;
    backdrop-filter:blur(5px) !important;
}

.rj-share-dialog{
    position:relative !important;
    z-index:2 !important;
    width:min(440px,calc(100vw - 30px)) !important;
    box-sizing:border-box !important;
    padding:30px !important;
    border-radius:18px !important;
    background:#111 !important;
    border:1px solid #383838 !important;
    box-shadow:0 25px 80px rgba(0,0,0,.7) !important;
    text-align:center !important;
}

.rj-share-close{
    position:absolute !important;
    top:10px !important;
    right:12px !important;
    width:38px !important;
    height:38px !important;
    padding:0 !important;
    border:0 !important;
    border-radius:50% !important;
    background:#252525 !important;
    color:#fff !important;
    font-size:27px !important;
    line-height:38px !important;
    cursor:pointer !important;
}

.rj-share-icon{
    width:54px !important;
    height:54px !important;
    margin:0 auto 12px !important;
    border-radius:50% !important;
    background:#0050c6 !important;
    color:#fff !important;
    font-size:30px !important;
    line-height:54px !important;
    font-weight:900 !important;
}

.rj-share-dialog h2{
    margin:0 0 5px !important;
    color:#fff !important;
    font-size:26px !important;
}

.rj-share-station-name{
    margin:0 0 18px !important;
    color:#ffd21a !important;
    font-weight:800 !important;
}

.rj-share-url{
    width:100% !important;
    box-sizing:border-box !important;
    padding:12px !important;
    border:1px solid #363636 !important;
    border-radius:8px !important;
    background:#050505 !important;
    color:#b9c2d0 !important;
    font-size:12px !important;
    word-break:break-all !important;
}

.rj-share-popup-buttons{
    display:flex !important;
    gap:10px !important;
    margin-top:17px !important;
}

.rj-share-popup-button{
    flex:1 !important;
    min-height:46px !important;
    border:0 !important;
    border-radius:9px !important;
    font-weight:900 !important;
    letter-spacing:.4px !important;
    cursor:pointer !important;
}

.rj-share-native{
    background:#0050c6 !important;
    color:#fff !important;
}

.rj-share-copy{
    background:#ffd21a !important;
    color:#111 !important;
}

.rj-share-status{
    min-height:20px !important;
    margin-top:12px !important;
    color:#69e487 !important;
    font-size:13px !important;
    font-weight:800 !important;
}

@media(max-width:600px){
    .rj-share-dialog{
        padding:25px 18px !important;
    }

    .rj-share-popup-buttons{
        flex-direction:column !important;
    }
}



/* ============================================================
   GALLERY — REMOVE DOTS / POPUP CLICK HERE BUTTON
   ============================================================ */

.rj-gallery-dots{
    display:none !important;
}

.rj-gallery-modal-link{
    position:fixed !important;
    left:50% !important;
    bottom:58px !important;
    transform:translateX(-50%) !important;
    z-index:1000002 !important;

    display:none;
    align-items:center !important;
    justify-content:center !important;

    min-width:130px !important;
    padding:12px 22px !important;

    border-radius:8px !important;
    background:#0050c6 !important;
    color:#fff !important;

    font-size:14px !important;
    font-weight:900 !important;
    letter-spacing:.5px !important;
    text-decoration:none !important;

    box-shadow:0 8px 25px rgba(0,0,0,.5) !important;
}

.rj-gallery-modal-link:hover{
    background:#176fe5 !important;
    color:#fff !important;
}

@media(max-width:700px){
    .rj-gallery-modal-link{
        bottom:50px !important;
    }
}

/* ============================================================
   MPTCAST MOBILE POLISH v20
   ============================================================ */

/* ------------------------------------------------------------
   MOBILE STATION NOTICE IN HAMBURGER
   ------------------------------------------------------------ */

.mpt-mobile-station-note {
    display:none;
}

@media (max-width:700px) {

    .mpt-mobile-station-note {
        display:flex !important;
        align-items:center;
        gap:12px;
        margin:8px 0 12px;
        padding:12px;
        border:1px solid #303030;
        border-radius:12px;
        background:
            linear-gradient(135deg,#161616,#0d0d0d);
        box-shadow:0 8px 22px rgba(0,0,0,.28);
    }

    .mpt-mobile-station-note img {
        width:48px !important;
        height:48px !important;
        flex:0 0 48px;
        object-fit:contain;
        border-radius:50%;
        border:2px solid #1677ff;
        background:#050505;
    }

    .mpt-mobile-station-note-copy {
        min-width:0;
    }

    .mpt-mobile-station-note-copy strong {
        display:block;
        color:#fff !important;
        font-size:13px;
        font-weight:900;
        line-height:1.2;
        margin-bottom:3px;
    }

    .mpt-mobile-station-note-copy span {
        display:block;
        color:#aeb6c1 !important;
        font-size:10px;
        line-height:1.45;
    }

    .mpt-mobile-station-note-copy b {
        color:#ffd21a !important;
    }

    /* Keep the menu clean after removing Login/Register */
    .mpt-mobile-menu a {
        margin-top:2px;
    }


    /* --------------------------------------------------------
       MOBILE EQUALIZER
       -------------------------------------------------------- */

    .mpt-mobile-equalizer {
        display:none;
    }

    .mpt-mobile-equalizer-bars {
        height:40px;
        display:flex;
        align-items:flex-end;
        justify-content:center;
        gap:3px;
        padding:0 14px;
        box-sizing:border-box;
    }

    .mpt-mobile-equalizer-bars i {
        display:block;
        width:4px;
        height:35%;
        min-height:5px;
        border-radius:2px 2px 0 0;
        background:linear-gradient(
            to top,
            #39c66c,
            #e3bb32,
            #c83732
        );
        animation:mptMobileEq .75s infinite alternate ease-in-out;
    }

    .mpt-mobile-equalizer-bars i:nth-child(2n) {
        animation-delay:.15s;
    }

    .mpt-mobile-equalizer-bars i:nth-child(3n) {
        animation-delay:.28s;
    }

    .mpt-mobile-equalizer-bars i:nth-child(4n) {
        animation-delay:.4s;
    }

    .mpt-mobile-equalizer-bars i:nth-child(5n) {
        animation-delay:.55s;
    }

    @keyframes mptMobileEq {
        from { height:18%; }
        to   { height:92%; }
    }

    @media (max-width:700px) {

        .mpt-mobile-equalizer {
            display:block !important;
            width:100%;
            height:40px !important;
            margin:2px 0 12px;
            padding:0;
            overflow:hidden;
        }

        /* Existing player equalizer is hidden on mobile.
           The new compact one is placed above UP NEXT. */
        .rj-player .rj-eq {
            display:none !important;
        }
    }


    /* --------------------------------------------------------
       MOBILE UPLOAD LAYOUT
       -------------------------------------------------------- */

    .manage-upload {
        min-width:0 !important;
        max-width:100% !important;
    }

    .manage-upload form {
        min-width:0 !important;
        max-width:100% !important;
    }

    .manage-upload input[type="file"] {
        max-width:100% !important;
        min-width:0 !important;
        box-sizing:border-box !important;
    }

    @media(max-width:700px) {

        .manage-upload {
            padding:14px !important;
            overflow:hidden !important;
        }

        .manage-upload > div {
            min-width:0 !important;
        }

        .manage-upload form {
            width:100% !important;
            max-width:100% !important;
            display:flex !important;
            flex-direction:column !important;
            gap:10px !important;
            overflow:hidden !important;
        }

        .manage-upload input[type="file"] {
            display:block !important;
            width:100% !important;
            max-width:100% !important;
            font-size:13px !important;
            box-sizing:border-box !important;
        }

        .manage-upload button {
            width:100% !important;
            max-width:100% !important;
            box-sizing:border-box !important;
        }
    }


    /* --------------------------------------------------------
       UPLOAD WAITING OVERLAY
       -------------------------------------------------------- */

    #mpt-upload-wait {
        display:none;
        position:fixed;
        inset:0;
        z-index:999999;
        background:rgba(0,0,0,.82);
        align-items:center;
        justify-content:center;
        padding:20px;
        box-sizing:border-box;
        backdrop-filter:blur(7px);
    }

    #mpt-upload-wait.show {
        display:flex !important;
    }

    .mpt-upload-wait-card {
        width:min(100%,360px);
        background:#111;
        border:1px solid #343434;
        border-top:3px solid #1677ff;
        border-radius:18px;
        padding:28px 22px;
        text-align:center;
        box-shadow:0 25px 70px rgba(0,0,0,.6);
        box-sizing:border-box;
    }

    .mpt-upload-spinner {
        width:48px;
        height:48px;
        margin:0 auto 18px;
        border:4px solid #333;
        border-top-color:#1677ff;
        border-right-color:#ffd21a;
        border-radius:50%;
        animation:mptUploadSpin .8s linear infinite;
    }

    @keyframes mptUploadSpin {
        to { transform:rotate(360deg); }
    }

    .mpt-upload-wait-card strong {
        display:block;
        color:#fff;
        font-size:18px;
        font-weight:900;
        margin-bottom:7px;
    }

    .mpt-upload-wait-card span {
        display:block;
        color:#b8c0ca;
        font-size:13px;
        line-height:1.55;
    }

    .mpt-upload-wait-card small {
        display:block;
        color:#ffd21a;
        font-size:11px;
        font-weight:800;
        margin-top:13px;
        letter-spacing:.3px;
    }


    /* --------------------------------------------------------
       FOOTER MPT CAST LINK
       -------------------------------------------------------- */

    .mpt-footer-brand a,
    .mpt-footer-brand a:visited {
        color:#fff !important;
        text-decoration:none !important;
    }

    .mpt-footer-brand a:hover {
        color:#1aeeff !important;
    }

}

/* ============================================================
   MPTCAST PWA — PAGE INSTALL CARD
   Replaces floating install bar
   ============================================================ */

/* Kill the old floating installer everywhere */
.mpt-install {
    display:none !important;
}

/* New station-page install card */
.mpt-station-install {
    display:none;
    max-width:1120px;
    margin:16px auto 0;
    padding:0 20px;
    box-sizing:border-box;
}

.mpt-station-install-inner {
    display:flex;
    align-items:center;
    gap:16px;
    background:
        linear-gradient(135deg,#111,#171717);
    border:1px solid #303030;
    border-left:4px solid #1677ff;
    border-radius:16px;
    padding:18px 20px;
    box-shadow:0 12px 35px rgba(0,0,0,.28);
    box-sizing:border-box;
}

.mpt-station-install-icon {
    width:54px;
    height:54px;
    flex:0 0 54px;
    border-radius:13px;
    background:#050505;
    border:1px solid #333;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}

.mpt-station-install-icon img {
    width:100%;
    height:100%;
    object-fit:contain;
}

.mpt-station-install-copy {
    flex:1;
    min-width:0;
}

.mpt-station-install-copy strong {
    display:block;
    color:#fff;
    font-size:16px;
    font-weight:900;
    line-height:1.2;
    margin-bottom:4px;
}

.mpt-station-install-copy span {
    display:block;
    color:#aeb6c1;
    font-size:12px;
    line-height:1.45;
}

.mpt-station-install-button {
    flex:0 0 auto;
    appearance:none;
    border:0;
    border-radius:10px;
    background:#1264f5;
    color:#fff;
    font-size:12px;
    font-weight:900;
    letter-spacing:.4px;
    padding:12px 18px;
    cursor:pointer;
    white-space:nowrap;
    min-height:44px;
}

.mpt-station-install-button:hover {
    background:#0d55d6;
}

.mpt-station-install-button:active {
    transform:translateY(1px);
}

/* Installation instructions state */
.mpt-station-install-ios {
    display:none;
}

@media(max-width:700px) {

    .mpt-station-install {
        margin:14px 12px 0;
        padding:0;
    }

    .mpt-station-install-inner {
        padding:15px;
        gap:12px;
        border-radius:14px;
        align-items:center;
    }

    .mpt-station-install-icon {
        width:46px;
        height:46px;
        flex:0 0 46px;
        border-radius:11px;
    }

    .mpt-station-install-copy strong {
        font-size:14px;
    }

    .mpt-station-install-copy span {
        font-size:11px;
    }

    .mpt-station-install-button {
        min-height:40px;
        padding:10px 12px;
        font-size:11px;
    }
}

@media(max-width:390px) {

    .mpt-station-install-inner {
        display:grid;
        grid-template-columns:46px 1fr;
    }

    .mpt-station-install-button {
        grid-column:1/-1;
        width:100%;
    }
}


/* ------------------------------------------------------------
   iOS / installation instructions popup
   ------------------------------------------------------------ */

.mpt-pwa-instructions {
    display:none;
    position:fixed;
    inset:0;
    z-index:999999;
    background:rgba(0,0,0,.78);
    padding:20px;
    box-sizing:border-box;
    align-items:center;
    justify-content:center;
    backdrop-filter:blur(6px);
}

.mpt-pwa-instructions.show {
    display:flex !important;
}

.mpt-pwa-instructions-box {
    width:min(100%,390px);
    max-height:88vh;
    overflow:auto;
    box-sizing:border-box;
    background:#111;
    color:#fff;
    border:1px solid #333;
    border-top:3px solid #1677ff;
    border-radius:18px;
    padding:22px;
    box-shadow:0 25px 70px rgba(0,0,0,.6);
}

.mpt-pwa-instructions-box h2 {
    margin:0 35px 10px 0;
    color:#fff;
    font-size:20px;
}

.mpt-pwa-instructions-box p,
.mpt-pwa-instructions-box li {
    color:#b9c0ca;
    font-size:13px;
    line-height:1.55;
}

.mpt-pwa-instructions-box strong {
    color:#fff;
}

.mpt-pwa-close {
    float:right;
    width:32px;
    height:32px;
    border-radius:50%;
    border:1px solid #444;
    background:#222;
    color:#fff;
    font-size:20px;
    cursor:pointer;
}


/* ============================================================
   STATION PWA INSTALL CARD
   ============================================================ */

.mpt-station-install {
    display:none;
    max-width:1080px;
    margin:18px auto 0;
    padding:0 20px;
}

.mpt-station-install-inner {
    display:flex;
    align-items:center;
    gap:16px;
    padding:18px 20px;
    background:linear-gradient(135deg,#111,#181818);
    border:1px solid #303030;
    border-left:4px solid #1677ff;
    border-radius:16px;
    box-shadow:0 10px 30px rgba(0,0,0,.3);
}

.mpt-station-install-icon {
    width:58px;
    height:58px;
    min-width:58px;
    border-radius:12px;
    overflow:hidden;
    background:#050505;
    border:1px solid #333;
    display:flex;
    align-items:center;
    justify-content:center;
}

.mpt-station-install-icon img {
    width:100%;
    height:100%;
    object-fit:contain;
}

.mpt-station-install-copy {
    flex:1;
    min-width:0;
}

.mpt-station-install-copy strong {
    display:block;
    color:#fff;
    font-size:15px;
    font-weight:900;
    margin-bottom:4px;
}

.mpt-station-install-copy span {
    display:block;
    color:#aeb6c1;
    font-size:12px;
    line-height:1.45;
}

.mpt-station-install-button {
    flex-shrink:0;
    border:0;
    border-radius:10px;
    background:#1264f5;
    color:#fff;
    font-weight:900;
    font-size:11px;
    letter-spacing:.4px;
    padding:13px 17px;
    min-height:44px;
    cursor:pointer;
}

.mpt-station-install-button:hover {
    background:#0d55d6;
}

@media(max-width:700px) {

    .mpt-station-install {
        margin:14px 12px 0;
        padding:0;
    }

    .mpt-station-install-inner {
        padding:15px;
        gap:12px;
        border-radius:14px;
    }

    .mpt-station-install-icon {
        width:48px;
        height:48px;
        min-width:48px;
    }

    .mpt-station-install-copy strong {
        font-size:13px;
    }

    .mpt-station-install-copy span {
        font-size:11px;
    }

    .mpt-station-install-button {
        padding:10px 12px;
        font-size:10px;
    }
}

@media(max-width:430px) {

    .mpt-station-install-inner {
        display:grid;
        grid-template-columns:48px 1fr;
    }

    .mpt-station-install-button {
        grid-column:1/-1;
        width:100%;
    }
}


/* Old floating PWA bar is permanently disabled */
.mpt-install {
    display:none !important;
}


/* =========================================================
   MPT CAST STATION PWA INSTALL
   Hide "Add To Home Screen" on desktop/laptop.
   Keep it available on mobile/tablet.
   ========================================================= */

@media (min-width: 769px) {
    .mpt-station-install {
        display: none !important;
    }
}


/* =========================================================
   MOBILE STATION HEADER — STICK TO TOP
   Desktop remains unchanged.
   ========================================================= */

@media (max-width: 700px) {

    .rawjamz-station .rj-navline {
        position: sticky !important;
        top: 0 !important;
        z-index: 9999 !important;
    }

}


/* =========================================================
   MOBILE STATION HEADER — FORCE FIXED TO TOP
   Desktop is untouched.
   ========================================================= */

@media (max-width: 700px) {

    .rawjamz-station .rj-navline {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100vw !important;
        box-sizing: border-box !important;
        z-index: 999999 !important;
    }

}


/* =========================================================
   MPT CAST MOBILE STATION HEADER
   Keep the main site header fixed while scrolling.
   Desktop unchanged.
   ========================================================= */

@media (max-width: 700px) {

    body:has(.rawjamz-station) > header {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        z-index: 1000000 !important;
    }

    body:has(.rawjamz-station) {
        padding-top: 58px !important;
    }

    body:has(.rawjamz-station) main {
        padding-top: 18px !important;
    }

}


/* =========================================================
   GALLERY POPUP — VISIBLE CLOSE BUTTON
   ========================================================= */

.rj-gallery-modal .rj-gallery-modal-close {
    position: fixed !important;
    top: 20px !important;
    right: 20px !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    padding: 0 !important;
    margin: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #111 !important;
    color: #fff !important;
    border: 2px solid #fff !important;
    border-radius: 50% !important;

    font-size: 32px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-align: center !important;

    opacity: 1 !important;
    visibility: visible !important;
    z-index: 9999999 !important;
    cursor: pointer !important;
    box-shadow: 0 3px 15px #000 !important;
}

.rj-gallery-modal .rj-gallery-modal-close:hover {
    background: #333 !important;
    color: #fff !important;
}

@media (max-width: 700px) {
    .rj-gallery-modal .rj-gallery-modal-close {
        top: 12px !important;
        right: 12px !important;
        width: 46px !important;
        height: 46px !important;
        min-width: 46px !important;
        min-height: 46px !important;
        font-size: 30px !important;
    }
}


/* =========================================================
   GALLERY CLOSE BUTTON — FORCE ABOVE ALL GALLERY LAYERS
   ========================================================= */

#rj-gallery-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483640 !important;
}

#rj-gallery-modal .rj-gallery-modal-close,
#rj-gallery-modal-close {
    position: absolute !important;
    top: 15px !important;
    right: 15px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    min-height: 52px !important;

    padding: 0 !important;
    margin: 0 !important;

    background: #000 !important;
    color: #fff !important;

    border: 3px solid #fff !important;
    border-radius: 50% !important;

    font-family: Arial, sans-serif !important;
    font-size: 36px !important;
    font-weight: 900 !important;
    line-height: 48px !important;
    text-align: center !important;

    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;

    z-index: 2147483647 !important;
    pointer-events: auto !important;
    cursor: pointer !important;

    box-shadow: 0 0 0 3px #000, 0 4px 20px #000 !important;
}

#rj-gallery-modal .rj-gallery-modal-close::before {
    content: none !important;
}

@media (max-width: 700px) {
    #rj-gallery-modal .rj-gallery-modal-close,
    #rj-gallery-modal-close {
        top: 10px !important;
        right: 10px !important;
        width: 50px !important;
        height: 50px !important;
        min-width: 50px !important;
        min-height: 50px !important;
        font-size: 34px !important;
        line-height: 46px !important;
    }
}


/* =========================================================
   MPTCAST MUSIC UPLOAD WAIT OVERLAY
   Only appears when an actual music upload is submitted.
   ========================================================= */

.mpt-upload-wait {
    position: fixed;
    inset: 0;
    z-index: 2147483000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(0,16,55,.97);
    text-align: center;
}

.mpt-upload-wait.is-active {
    display: flex;
}

.mpt-upload-wait-inner {
    width: min(430px, 100%);
    padding: 30px 22px;
    border: 1px solid rgba(26,238,252,.28);
    border-radius: 18px;
    background: rgba(0,32,87,.96);
    box-shadow: 0 20px 60px rgba(0,0,0,.45);
}

.mpt-upload-spinner {
    width: 64px;
    height: 64px;
    margin: 0 auto 22px;
    border: 6px solid rgba(255,255,255,.18);
    border-top-color: #1AEEFC;
    border-radius: 50%;
    animation: mptUploadSpin .85s linear infinite;
}

@keyframes mptUploadSpin {
    to { transform: rotate(360deg); }
}

.mpt-upload-wait h2 {
    margin: 0 0 10px;
    color: #fff !important;
    font-size: 22px;
    font-weight: 800;
    letter-spacing: .5px;
}

.mpt-upload-wait p {
    margin: 0 0 8px;
    color: #d9faff !important;
    font-size: 15px;
    line-height: 1.5;
}

.mpt-upload-filename {
    display: block;
    margin: 14px 0;
    padding: 10px 12px;
    border-radius: 9px;
    background: rgba(0,0,0,.28);
    color: #1AEEFC !important;
    font-size: 14px;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.mpt-upload-warning {
    display: block;
    margin-top: 18px;
    color: #fff !important;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .4px;
}

body.mpt-uploading {
    overflow: hidden !important;
}

@media (max-width:600px) {
    .mpt-upload-wait {
        padding: 16px;
    }

    .mpt-upload-wait-inner {
        padding: 28px 18px;
        border-radius: 16px;
    }

    .mpt-upload-spinner {
        width: 58px;
        height: 58px;
    }

    .mpt-upload-wait h2 {
        font-size: 20px;
    }
}


/* =========================================================
   MPTCAST HOMEPAGE — DISCOVER STATIONS CTA
   ========================================================= */

.home-directory-cta {
    position: relative;
    overflow: hidden;
    margin-top: 34px;
    border-radius: 24px;
    background:
        radial-gradient(circle at 82% 45%, rgba(26,238,252,.18), transparent 30%),
        linear-gradient(135deg, #001037 0%, #002057 52%, #0050C6 100%);
    border: 1px solid rgba(26,238,252,.25);
    box-shadow: 0 22px 55px rgba(0,16,55,.28);
}

.home-directory-cta-inner {
    position: relative;
    min-height: 310px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
    padding: 46px 52px;
}

.home-directory-cta-copy {
    position: relative;
    z-index: 2;
    max-width: 720px;
}

.home-directory-cta .home-kicker {
    color: #1AEEFC !important;
    font-weight: 800;
    letter-spacing: 1.8px;
}

.home-directory-cta h2 {
    margin: 8px 0 14px;
    color: #fff !important;
    font-size: clamp(32px, 5vw, 54px);
    line-height: .98;
    font-weight: 900;
    letter-spacing: -.8px;
}

.home-directory-cta p {
    max-width: 650px;
    margin: 0 0 25px;
    color: #dcecff !important;
    font-size: 16px;
    line-height: 1.7;
}

.mpt-discover-button {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    min-width: 300px;
    padding: 14px 18px;
    border-radius: 12px;
    background: #fff;
    color: #001037 !important;
    text-decoration: none !important;
    box-shadow: 0 12px 30px rgba(0,0,0,.25);
    transition: transform .18s ease, box-shadow .18s ease;
}

.mpt-discover-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 36px rgba(0,0,0,.35);
}

.mpt-discover-icon {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    border-radius: 10px;
    background: #0050C6;
    color: #1AEEFC;
    font-size: 24px;
}

.mpt-discover-button span:nth-child(2) {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.mpt-discover-button strong {
    color: #001037 !important;
    font-size: 14px;
    letter-spacing: .7px;
}

.mpt-discover-button small {
    margin-top: 3px;
    color: #536274 !important;
    font-size: 12px;
}

.mpt-discover-button > b {
    color: #0050C6 !important;
    font-size: 25px;
}

.home-directory-cta-art {
    position: relative;
    width: 245px;
    min-width: 245px;
    height: 245px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 1;
}

.mpt-cta-ring {
    position: absolute;
    border: 1px solid rgba(26,238,252,.28);
    border-radius: 50%;
}

.mpt-cta-ring-one {
    width: 190px;
    height: 190px;
}

.mpt-cta-ring-two {
    width: 245px;
    height: 245px;
    border-color: rgba(255,255,255,.10);
}

.mpt-cta-radio-icon {
    position: relative;
    display: grid;
    place-items: center;
    width: 92px;
    height: 92px;
    border-radius: 50%;
    background: rgba(0,0,0,.25);
    border: 2px solid #1AEEFC;
    color: #1AEEFC;
    font-size: 43px;
    box-shadow: 0 0 40px rgba(26,238,252,.18);
}

.home-directory-cta-art span {
    position: relative;
    margin-top: 16px;
    color: #1AEEFC;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2px;
}

.home-directory-cta-art strong {
    position: relative;
    color: #fff;
    font-size: 30px;
    line-height: 1;
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width:700px) {
    .home-directory-cta {
        margin-top: 25px;
        border-radius: 18px;
    }

    .home-directory-cta-inner {
        min-height: 0;
        padding: 32px 22px;
        display: block;
    }

    .home-directory-cta h2 {
        font-size: 34px;
    }

    .home-directory-cta p {
        font-size: 14px;
        line-height: 1.6;
    }

    .mpt-discover-button {
        width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .home-directory-cta-art {
        width: 100%;
        min-width: 0;
        height: 130px;
        margin-top: 20px;
    }

    .mpt-cta-ring-one {
        width: 110px;
        height: 110px;
    }

    .mpt-cta-ring-two {
        width: 150px;
        height: 150px;
    }

    .mpt-cta-radio-icon {
        width: 60px;
        height: 60px;
        font-size: 28px;
    }

    .home-directory-cta-art span {
        margin-top: 7px;
        font-size: 9px;
    }

    .home-directory-cta-art strong {
        font-size: 22px;
    }
}


/* =========================================================
   MPTCAST /STATIONS DIRECTORY
   ========================================================= */

.mpt-stations-page {
    background: #f4f7fb;
    min-height: 70vh;
}

.mpt-stations-hero {
    overflow: hidden;
    background:
        radial-gradient(circle at 82% 45%, rgba(26,238,252,.18), transparent 28%),
        linear-gradient(135deg,#001037 0%,#002057 55%,#0050C6 100%);
}

.mpt-stations-hero-inner {
    max-width: 1200px;
    min-height: 360px;
    margin: auto;
    padding: 60px 28px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.mpt-stations-kicker {
    color: #1AEEFC;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 2px;
}

.mpt-stations-hero h1 {
    margin: 10px 0 18px;
    color: #fff !important;
    font-size: clamp(42px,7vw,72px);
    line-height: .92;
    font-weight: 900;
}

.mpt-stations-hero h1 span {
    color: #1AEEFC;
}

.mpt-stations-hero p {
    max-width: 620px;
    margin: 0;
    color: #dcecff !important;
    font-size: 16px;
    line-height: 1.7;
}

.mpt-stations-hero-radio {
    position: relative;
    width: 260px;
    min-width: 260px;
    height: 260px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.mpt-stations-orbit {
    position: absolute;
    border: 1px solid rgba(26,238,252,.25);
    border-radius: 50%;
}

.mpt-stations-orbit.orbit-one {
    width: 180px;
    height: 180px;
}

.mpt-stations-orbit.orbit-two {
    width: 260px;
    height: 260px;
    border-color: rgba(255,255,255,.1);
}

.mpt-stations-big-icon {
    position: relative;
    display: grid;
    place-items: center;
    width: 90px;
    height: 90px;
    border-radius: 50%;
    border: 2px solid #1AEEFC;
    background: rgba(0,0,0,.25);
    color: #1AEEFC;
    font-size: 43px;
    box-shadow: 0 0 45px rgba(26,238,252,.2);
}

.mpt-stations-hero-radio strong {
    position: relative;
    margin-top: 15px;
    color: #fff;
    font-size: 28px;
}

.mpt-stations-hero-radio span {
    position: relative;
    color: #1AEEFC;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
}

.mpt-stations-directory {
    max-width: 1200px;
    margin: auto;
    padding: 45px 28px 60px;
}

.mpt-stations-heading {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 20px;
    margin-bottom: 25px;
}

.mpt-stations-heading span {
    color: #0050C6;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 1.7px;
}

.mpt-stations-heading h2 {
    margin: 4px 0 0;
    color: #001037 !important;
    font-size: 32px;
    font-weight: 900;
}

.mpt-stations-heading > strong {
    color: #0050C6;
    font-size: 13px;
    letter-spacing: 1px;
}

.mpt-stations-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 20px;
}

.mpt-station-directory-card {
    position: relative;
    overflow: hidden;
    padding: 18px;
    border: 1px solid #dce4ee;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 8px 25px rgba(0,16,55,.07);
}

.mpt-station-card-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}

.mpt-station-card-top span {
    color: #1b5362;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 1px;
}

.mpt-station-card-top span i {
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-right: 5px;
    border-radius: 50%;
    background: #1AEEFC;
}

.mpt-station-card-top b {
    color: #718096;
    font-size: 9px;
    letter-spacing: .8px;
}

.mpt-station-directory-logo {
    width: 116px;
    height: 116px;
    margin: 20px auto 16px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 18px;
    background: #001037;
    text-decoration: none;
}

.mpt-station-directory-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.mpt-station-directory-logo strong {
    color: #1AEEFC;
    font-size: 45px;
}

.mpt-station-directory-info {
    text-align: center;
}

.mpt-station-directory-info h3 {
    margin: 0;
    color: #001037 !important;
    font-size: 20px;
    font-weight: 900;
}

.mpt-station-directory-info > span {
    display: block;
    margin-top: 5px;
    color: #0050C6;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.mpt-station-directory-info p {
    min-height: 40px;
    margin: 10px 0 16px;
    color: #617083 !important;
    font-size: 12px;
    line-height: 1.5;
}

.mpt-station-listen {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 14px;
    border-radius: 10px;
    background: #001037;
    color: #fff !important;
    text-decoration: none !important;
}

.mpt-station-listen span {
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .8px;
}

.mpt-station-listen b {
    color: #1AEEFC;
    font-size: 20px;
}

.mpt-stations-seo {
    padding: 55px 28px;
    background: #001037;
}

.mpt-stations-seo-inner {
    max-width: 900px;
    margin: auto;
}

.mpt-stations-seo-kicker {
    color: #1AEEFC;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 2px;
}

.mpt-stations-seo h2 {
    margin: 8px 0 18px;
    color: #fff !important;
    font-size: 30px;
    font-weight: 900;
}

.mpt-stations-seo p {
    color: #cbd9e8 !important;
    font-size: 15px;
    line-height: 1.8;
}

.mpt-stations-empty {
    padding: 50px 20px;
    text-align: center;
    border-radius: 16px;
    background: #fff;
}

.mpt-stations-empty strong,
.mpt-stations-empty span {
    display: block;
}

.mpt-stations-empty strong {
    color: #001037;
}

.mpt-stations-empty span {
    margin-top: 7px;
    color: #687789;
}

/* Mobile directory */
@media (max-width:800px) {
    .mpt-stations-hero-inner {
        min-height: 0;
        padding: 42px 20px;
        display: block;
    }

    .mpt-stations-hero h1 {
        font-size: 44px;
    }

    .mpt-stations-hero-radio {
        width: 100%;
        min-width: 0;
        height: 160px;
        margin-top: 15px;
    }

    .mpt-stations-orbit.orbit-one {
        width: 110px;
        height: 110px;
    }

    .mpt-stations-orbit.orbit-two {
        width: 150px;
        height: 150px;
    }

    .mpt-stations-big-icon {
        width: 58px;
        height: 58px;
        font-size: 28px;
    }

    .mpt-stations-hero-radio strong {
        margin-top: 6px;
        font-size: 21px;
    }

    .mpt-stations-directory {
        padding: 32px 16px 45px;
    }

    .mpt-stations-heading h2 {
        font-size: 25px;
    }

    .mpt-stations-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .mpt-stations-seo {
        padding: 42px 20px;
    }
}


/* =========================================================
   MPTCAST STATION DIRECTORY — LOGOS + NOW PLAYING
   ========================================================= */

.mpt-station-directory-logo {
    position: relative;
    background: #001037 !important;
}

.mpt-station-directory-logo img {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    padding: 8px;
    box-sizing: border-box;
    object-fit: contain;
}

.mpt-station-directory-logo .mpt-logo-fallback {
    display: none;
    position: absolute;
    z-index: 1;
}

.mpt-station-directory-logo.logo-failed .mpt-logo-fallback {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    color: #1AEEFC;
    font-size: 45px;
}

.mpt-station-now {
    margin: 14px 0 16px;
    padding: 12px 13px;
    min-height: 54px;
    border-radius: 10px;
    background: #f1f5f9;
    border-left: 3px solid #1AEEFC;
    box-sizing: border-box;
}

.mpt-station-now small {
    display: block;
    margin-bottom: 5px;
    color: #0050C6 !important;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 1px;
}

.mpt-station-now small i {
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-right: 5px;
    border-radius: 50%;
    background: #1AEEFC;
    vertical-align: middle;
}

.mpt-station-now strong {
    display: block;
    color: #001037 !important;
    font-size: 12px;
    line-height: 1.4;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (max-width:800px) {

    .mpt-station-now {
        margin-top: 12px;
    }

    .mpt-station-now strong {
        font-size: 12px;
    }

}


/* =========================================================
   ADMIN — STATION DIRECTORY SHOW / HIDE
   ========================================================= */

.admin-mini-btn.directory-show {
    background: #0b7a52 !important;
    color: #fff !important;
}

.admin-mini-btn.directory-hide {
    background: #9f1239 !important;
    color: #fff !important;
}


/* ============================================================
   ADMIN COMMAND CENTER — DARK HERO TEXT FIX
   ============================================================ */

.admin-hero {
    color: #ffffff !important;
}

.admin-hero h1,
.admin-hero h2,
.admin-hero h3,
.admin-hero strong {
    color: #ffffff !important;
}

.admin-hero p {
    color: #c7cdd5 !important;
}

.admin-hero .admin-kicker {
    color: #ffd21a !important;
}

.admin-hero .admin-hero-badge {
    color: #ffffff !important;
}


/* =========================================================
   MPTCAST MOBILE HEADER — STICK TO TOP
   ========================================================= */

@media screen and (max-width: 700px) {

    body > header {
        position: sticky !important;
        top: 0 !important;
        z-index: 100000 !important;
        width: 100% !important;
    }

    body > header > .wrap.nav {
        position: relative !important;
        z-index: 100001 !important;
    }

    .mpt-mobile-menu {
        z-index: 100002 !important;
    }

}


/* =========================================================
   MPTCAST MOBILE HEADER — FORCE FIXED
   ========================================================= */

@media screen and (max-width: 700px) {

    body {
        padding-top: 64px !important;
    }

    body > header {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        height: 64px !important;
        min-height: 64px !important;
        margin: 0 !important;
        padding: 0 !important;
        z-index: 999999 !important;
    }

    body > header > .wrap.nav {
        width: 100% !important;
        height: 64px !important;
        min-height: 64px !important;
        box-sizing: border-box !important;
    }

    .mpt-mobile-menu {
        position: absolute !important;
        top: 64px !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 1000000 !important;
    }

}


/* ============================================================
   MPTCAST MOBILE HAMBURGER — FINAL WORKING MENU
   ============================================================ */
@media screen and (max-width:700px){

    /* Keep the header fixed at the top */
    body > header{
        position:fixed !important;
        top:0 !important;
        left:0 !important;
        right:0 !important;
        width:100% !important;
        height:64px !important;
        z-index:999999 !important;
    }

    /* Menu is attached directly below the fixed header */
    body > header .mpt-mobile-menu{
        position:absolute !important;
        top:64px !important;
        left:0 !important;
        right:0 !important;
        width:100% !important;
        max-width:none !important;
        box-sizing:border-box !important;

        display:none !important;
        visibility:visible !important;
        opacity:1 !important;
        pointer-events:auto !important;

        background:#111 !important;
        border-top:1px solid #333 !important;
        border-bottom:1px solid #333 !important;
        box-shadow:0 15px 30px rgba(0,0,0,.45) !important;

        z-index:999999 !important;
    }

    /* OPEN */
    body > header #mpt-mobile-toggle:checked ~ .mpt-mobile-menu{
        display:block !important;
        visibility:visible !important;
        opacity:1 !important;
        pointer-events:auto !important;
    }

    /* Menu links */
    body > header .mpt-mobile-menu a{
        display:block !important;
        width:100% !important;
        box-sizing:border-box !important;
        padding:16px 20px !important;

        background:#111 !important;
        color:#fff !important;

        text-decoration:none !important;
        font-size:16px !important;
        font-weight:700 !important;

        border-bottom:1px solid #2b2b2b !important;
    }

    body > header .mpt-mobile-menu a:hover,
    body > header .mpt-mobile-menu a:active{
        background:#002057 !important;
        color:#1AEEFC !important;
    }
}

/* ============================================================
   MPTCAST — HAMBURGER OPEN STATE OVERRIDE
   ============================================================ */
@media screen and (max-width:700px){

    body > header .mpt-mobile-menu.mpt-menu-open{
        display:block !important;
        visibility:visible !important;
        opacity:1 !important;
        pointer-events:auto !important;

        position:fixed !important;
        top:64px !important;
        left:0 !important;
        right:0 !important;
        width:100vw !important;
        max-width:100vw !important;

        height:auto !important;
        max-height:calc(100vh - 64px) !important;
        overflow-y:auto !important;

        background:#111 !important;
        z-index:2147483647 !important;

        box-sizing:border-box !important;
    }

    body > header .mpt-mobile-menu.mpt-menu-open a{
        display:block !important;
        visibility:visible !important;
        opacity:1 !important;
        color:#fff !important;
        background:#111 !important;
        padding:18px 20px !important;
        font-size:17px !important;
        font-weight:700 !important;
    }
}

/* ADMIN STATION MANAGEMENT HERO */
.admin-hero h1,
.admin-hero h2,
.admin-hero h3 {
    color:#ffffff !important;
    text-shadow:0 1px 2px rgba(0,0,0,.35) !important;
}

.admin-hero p {
    color:#d7e0ec !important;
}

.admin-hero .admin-kicker {
    color:#ffd21a !important;
}

/* ADMIN STATION MANAGE BUTTON */
.admin-table .manage-station-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:40px !important;
    padding:0 14px !important;
    margin-right:6px !important;
    background:#0050C6 !important;
    color:#fff !important;
    border:0 !important;
    border-radius:8px !important;
    text-decoration:none !important;
    font-weight:800 !important;
    font-size:14px !important;
    box-sizing:border-box !important;
}

.admin-table .manage-station-btn:hover{
    background:#001037 !important;
    color:#1AEEFC !important;
}

/* ============================================================
   STATION RESTART — PROCESSING OVERLAY
   ============================================================ */

.mpt-restart-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 16, 55, .92);
    display: none;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    z-index: 2147483647;
    text-align: center;
    padding: 30px;
    box-sizing: border-box;
}

.mpt-restart-overlay.active {
    display: flex !important;
}

.mpt-restart-spinner {
    width: 58px;
    height: 58px;
    border: 6px solid rgba(255,255,255,.25);
    border-top-color: #1AEEFC;
    border-radius: 50%;
    animation: mptRestartSpin .85s linear infinite;
    margin-bottom: 24px;
}

.mpt-restart-overlay h2 {
    color: #ffffff !important;
    margin: 0 0 8px;
    font-size: 28px;
    font-weight: 800;
}

.mpt-restart-overlay p {
    color: #d7e5f5 !important;
    margin: 0;
    font-size: 16px;
}

@keyframes mptRestartSpin {
    to {
        transform: rotate(360deg);
    }
}

.mpt-restart-button-loading {
    opacity: .65 !important;
    pointer-events: none !important;
}

.mpt-restart-buttons-disabled {
    opacity: .5 !important;
    pointer-events: none !important;
}


/* ============================================================
   MPTCAST — SONG / PLAYLIST FILENAME TRUNCATION
   Keep long filenames from pushing action buttons off-screen
   ============================================================ */

.manage-song,
.playlist-song,
.playlist-item {
    min-width: 0 !important;
}

/* Main Playlist song information */
.manage-song-info {
    min-width: 0 !important;
    flex: 1 1 auto !important;
    overflow: hidden !important;
}

/* Artist / title */
.manage-song-info strong {
    display: block !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

/* Filename underneath */
.manage-song-info small {
    display: block !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

/* Keep Edit / Remove buttons together */
.manage-song-actions {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-left: 12px !important;
}

/* Forms inside the action area must not stretch */
.manage-song-actions form {
    flex: 0 0 auto !important;
    margin: 0 !important;
}

/* ============================================================
   FULL PLAYLIST MANAGER
   ============================================================ */

.playlist-song,
.playlist-item {
    min-width: 0 !important;
}

.playlist-song-info,
.playlist-item-info {
    min-width: 0 !important;
    flex: 1 1 auto !important;
    overflow: hidden !important;
}

.playlist-song-info strong,
.playlist-song-info small,
.playlist-item-info strong,
.playlist-item-info small {
    display: block !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.playlist-song-actions,
.playlist-item-actions {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-left: 12px !important;
}

.playlist-song-actions form,
.playlist-item-actions form {
    flex: 0 0 auto !important;
    margin: 0 !important;
}

/* ============================================================
   MOBILE
   ============================================================ */

@media screen and (max-width: 700px) {

    .manage-song {
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .manage-song-info {
        flex: 1 1 0 !important;
        width: 0 !important;
    }

    .manage-song-actions {
        margin-left: 8px !important;
        gap: 5px !important;
    }

    .manage-song-actions .button,
    .manage-song-actions button {
        white-space: nowrap !important;
    }

    .playlist-song-info,
    .playlist-item-info {
        flex: 1 1 0 !important;
        width: 0 !important;
    }

    .playlist-song-actions,
    .playlist-item-actions {
        margin-left: 8px !important;
        gap: 5px !important;
    }

}



/* ============================================================
   MPT CAST ADMIN SETTINGS
   ============================================================ */

.mpt-settings-form{
    max-width:1000px;
    margin:0 auto;
}

.mpt-settings-panel{
    margin-bottom:24px;
}

.mpt-settings-panel h2{
    color:#001037!important;
    margin:6px 0 8px;
}

.mpt-settings-description{
    color:#43546b!important;
    line-height:1.6;
    margin-bottom:22px;
}

.mpt-settings-field{
    display:block;
    margin:0 0 22px;
}

.mpt-settings-field > strong{
    display:block;
    color:#001037!important;
    font-size:16px;
    margin-bottom:5px;
}

.mpt-settings-field > span{
    display:block;
    color:#5d6c7d!important;
    font-size:13px;
    margin-bottom:8px;
}

.mpt-settings-field input{
    width:100%;
    min-height:48px;
    box-sizing:border-box;
    padding:12px 14px;
    border:1px solid #ccd5df;
    border-radius:8px;
    background:#fff;
    color:#001037!important;
    font-size:15px;
}

.mpt-settings-field input:focus{
    border-color:#0050C6;
    outline:2px solid rgba(26,238,252,.25);
}

.mpt-secret-wrap{
    display:flex;
    gap:8px;
    align-items:stretch;
}

.mpt-secret-wrap input{
    flex:1;
}

.mpt-secret-toggle{
    min-width:76px;
    border:0;
    border-radius:8px;
    background:#001037;
    color:#fff;
    font-weight:800;
    cursor:pointer;
}

.mpt-secret-toggle:hover{
    background:#0050C6;
    color:#1AEEFC;
}

.mpt-webhook-box{
    margin-top:10px;
    padding:18px;
    border-radius:10px;
    background:#001037;
    color:#fff;
}

.mpt-webhook-box strong{
    display:block;
    color:#1AEEFC;
    margin-bottom:8px;
}

.mpt-webhook-box code{
    display:block;
    color:#fff;
    font-size:14px;
    word-break:break-all;
    margin-bottom:8px;
}

.mpt-webhook-box small{
    color:#d7e0ec;
}

.mpt-settings-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin:0 0 40px;
}

.mpt-save-settings{
    border:0!important;
    cursor:pointer;
    background:#0050C6!important;
    color:#fff!important;
    font-weight:800!important;
    padding:13px 22px!important;
    border-radius:8px;
}

.mpt-save-settings:hover{
    background:#001037!important;
    color:#1AEEFC!important;
}

.mpt-diagnostics-link{
    text-decoration:none!important;
    background:#001037!important;
    color:#fff!important;
    font-weight:800!important;
    padding:13px 22px!important;
    border-radius:8px;
}

.mpt-diagnostics-link:hover{
    background:#0050C6!important;
    color:#1AEEFC!important;
}

@media screen and (max-width:700px){
    .mpt-settings-form{
        width:100%;
    }

    .mpt-settings-panel{
        padding:18px!important;
    }

    .mpt-secret-wrap{
        flex-direction:column;
    }

    .mpt-secret-toggle{
        min-height:44px;
    }

    .mpt-settings-actions{
        flex-direction:column;
    }

    .mpt-save-settings,
    .mpt-diagnostics-link{
        width:100%;
        text-align:center;
        box-sizing:border-box;
    }
}


/* ============================================================
   MPT CAST ADMIN OVERVIEW COLOR FIX
   ============================================================ */

/* Make overview headings readable on the dark admin background */
.admin-section-head h2,
.admin-overview-grid .admin-panel-dark h3 {
    color:#ffffff !important;
}

/* Keep the small section labels gold */
.admin-section-head .admin-kicker,
.admin-overview-grid .admin-panel-dark .admin-panel-label {
    color:#ffd21a !important;
}

/* Quick Action links = MPT CAST GOLD */
.admin-quick-grid a {
    color:#ffd21a !important;
    font-weight:800 !important;
}

.admin-quick-grid a:hover {
    color:#ffffff !important;
    background:#0050C6 !important;
}

/* Settings Quick Action gets the same gold treatment */
.admin-quick-grid a[href="/admin/settings"] {
    color:#ffd21a !important;
}

/* Make the overview description readable */
.admin-section-head p {
    color:#d7e0ec !important;
}

/* Make the ADMIN TOOLS heading readable */
.admin-overview-grid > .admin-panel:not(.admin-panel-dark) h3 {
    color:#001037 !important;
}

/* MPT CAST ADMIN - QUICK ACTION LINKS GOLD */
.admin-quick-grid a {
    color:#ffd21a !important;
}

.admin-quick-grid a:visited {
    color:#ffd21a !important;
}

.admin-quick-grid a:hover,
.admin-quick-grid a:focus {
    color:#ffffff !important;
    background:#0050C6 !important;
}

/* ============================================================
   MPT CAST - FORCE UPLOAD OVERLAY ABOVE ALL MOBILE UI
   ============================================================ */

#mpt-upload-wait.mpt-upload-forced {
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;

    position:fixed !important;
    inset:0 !important;

    width:100vw !important;
    height:100vh !important;
    height:100dvh !important;

    margin:0 !important;
    padding:20px !important;

    box-sizing:border-box !important;

    align-items:center !important;
    justify-content:center !important;

    background:rgba(0,16,55,.94) !important;

    z-index:2147483647 !important;

    overflow-y:auto !important;
    overflow-x:hidden !important;
}

#mpt-upload-wait.mpt-upload-forced .mpt-upload-wait-inner {
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;

    position:relative !important;

    width:100% !important;
    max-width:780px !important;

    margin:auto !important;
    box-sizing:border-box !important;

    padding:32px 24px !important;

    background:#002057 !important;
    border:1px solid #1AEEFC !important;
    border-radius:22px !important;

    text-align:center !important;
}

@media screen and (max-width:700px) {

    #mpt-upload-wait.mpt-upload-forced {
        width:100vw !important;
        max-width:100vw !important;

        height:100dvh !important;
        min-height:100dvh !important;

        padding:16px !important;
    }

    #mpt-upload-wait.mpt-upload-forced .mpt-upload-wait-inner {
        width:100% !important;
        max-width:430px !important;

        padding:26px 16px !important;
        border-radius:20px !important;
    }

    #mpt-upload-wait.mpt-upload-forced h2 {
        font-size:25px !important;
    }

    #mpt-upload-wait.mpt-upload-forced p {
        font-size:16px !important;
    }

    #mpt-upload-wait.mpt-upload-forced .mpt-upload-warning {
        font-size:13px !important;
    }
}

/* ============================================================
   MPT CAST MOBILE - STATION LIST + MUSIC LIBRARY
   ============================================================ */

@media screen and (max-width:700px) {

    /* --------------------------------------------------------
       ADMIN STATIONS
       Turn the cramped desktop table into station cards.
       The table scrolls after roughly 10 stations.
       -------------------------------------------------------- */

    .admin-table-card .table-wrap {
        max-height:calc(100vh - 300px) !important;
        min-height:300px !important;
        overflow-y:auto !important;
        overflow-x:hidden !important;
        -webkit-overflow-scrolling:touch !important;
    }

    .admin-table {
        width:100% !important;
        border-collapse:separate !important;
        border-spacing:0 12px !important;
        display:block !important;
    }

    .admin-table tr {
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
        gap:0 !important;
        width:100% !important;
        box-sizing:border-box !important;
    }

    .admin-table tr:first-child {
        display:none !important;
    }

    .admin-table td {
        display:block !important;
        width:auto !important;
        min-width:0 !important;
        box-sizing:border-box !important;
        padding:14px 12px !important;
        border:0 !important;
        background:#fff !important;
        color:#001037 !important;
        overflow-wrap:anywhere !important;
    }

    .admin-table tr:not(:first-child) {
        background:#fff !important;
        border:1px solid #dbe2ea !important;
        border-radius:14px !important;
        overflow:hidden !important;
        box-shadow:0 4px 14px rgba(0,0,0,.08) !important;
        margin-bottom:2px !important;
    }

    /* Station name */
    .admin-table td:nth-child(1) {
        grid-column:1 / -1 !important;
        padding:16px 16px 12px !important;
        border-bottom:1px solid #edf0f4 !important;
    }

    .admin-table td:nth-child(1) b {
        display:block !important;
        font-size:18px !important;
        line-height:1.25 !important;
        color:#001037 !important;
    }

    .admin-table td:nth-child(1) small {
        display:block !important;
        margin-top:4px !important;
        color:#687586 !important;
    }

    /* Owner */
    .admin-table td:nth-child(2)::before {
        content:"OWNER" !important;
        display:block !important;
        margin-bottom:5px !important;
        color:#7a8490 !important;
        font-size:11px !important;
        font-weight:800 !important;
        letter-spacing:.08em !important;
    }

    /* Short name */
    .admin-table td:nth-child(3)::before {
        content:"SHORT NAME" !important;
        display:block !important;
        margin-bottom:5px !important;
        color:#7a8490 !important;
        font-size:11px !important;
        font-weight:800 !important;
        letter-spacing:.08em !important;
    }

    /* Quota */
    .admin-table td:nth-child(4)::before {
        content:"STORAGE QUOTA" !important;
        display:block !important;
        margin-bottom:7px !important;
        color:#7a8490 !important;
        font-size:11px !important;
        font-weight:800 !important;
        letter-spacing:.08em !important;
    }

    /* Controls */
    .admin-table td:nth-child(5) {
        grid-column:1 / -1 !important;
        border-top:1px solid #edf0f4 !important;
        padding:14px 12px 16px !important;
    }

    .admin-table td:nth-child(5)::before {
        content:"STATION CONTROLS" !important;
        display:block !important;
        margin-bottom:10px !important;
        color:#7a8490 !important;
        font-size:11px !important;
        font-weight:800 !important;
        letter-spacing:.08em !important;
    }

    .admin-table td:nth-child(5) form,
    .admin-table td:nth-child(5) a {
        margin:0 5px 7px 0 !important;
    }

    .admin-table td:nth-child(5) button,
    .admin-table td:nth-child(5) a {
        min-height:46px !important;
        box-sizing:border-box !important;
    }

    /* --------------------------------------------------------
       MAIN PLAYLIST
       First ~10 songs visible, then the list scrolls.
       -------------------------------------------------------- */

    .manage-song-list {
        max-height:700px !important;
        overflow-y:auto !important;
        overflow-x:hidden !important;
        -webkit-overflow-scrolling:touch !important;
        padding-right:3px !important;
        scroll-behavior:smooth !important;
    }

    .manage-song {
        display:grid !important;
        grid-template-columns:58px minmax(0,1fr) !important;
        grid-template-areas:
            "icon info"
            "actions actions"
            "edit edit" !important;
        gap:12px !important;

        padding:16px 0 !important;
        box-sizing:border-box !important;
    }

    .manage-song-icon {
        grid-area:icon !important;
        width:58px !important;
        height:58px !important;
        min-width:58px !important;
    }

    .manage-song-info {
        grid-area:info !important;
        min-width:0 !important;
        align-self:center !important;
    }

    .manage-song-info strong {
        display:block !important;
        font-size:18px !important;
        line-height:1.25 !important;
        white-space:nowrap !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
    }

    .manage-song-info small {
        display:block !important;
        margin-top:5px !important;
        white-space:nowrap !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
    }

    /* Large, easy-to-tap Edit/Remove buttons */
    .manage-song-actions {
        grid-area:actions !important;
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
        gap:10px !important;
        width:100% !important;
    }

    .manage-song-actions button {
        width:100% !important;
        min-height:52px !important;
        font-size:17px !important;
        box-sizing:border-box !important;
    }

    /* --------------------------------------------------------
       SONG EDITOR
       Full-width editor under the song.
       -------------------------------------------------------- */

    .manage-song-edit {
        grid-area:edit !important;

        width:100% !important;
        box-sizing:border-box !important;

        padding:18px !important;
        margin:4px 0 0 !important;

        background:#f4f6f9 !important;
        border:1px solid #dce2e9 !important;
        border-radius:14px !important;
    }

    .manage-song-edit label {
        display:block !important;
        width:100% !important;
        margin-bottom:15px !important;

        color:#001037 !important;
        font-size:14px !important;
        font-weight:800 !important;
    }

    .manage-song-edit input {
        display:block !important;
        width:100% !important;
        min-height:56px !important;
        box-sizing:border-box !important;

        margin-top:7px !important;
        padding:13px 14px !important;

        background:#fff !important;
        border:1px solid #cbd4df !important;
        border-radius:10px !important;

        color:#001037 !important;
        font-size:17px !important;
    }

    .manage-song-edit input:focus {
        border-color:#0050C6 !important;
        outline:3px solid rgba(26,238,252,.25) !important;
    }

    .manage-song-edit .accent {
        width:100% !important;
        min-height:54px !important;
        margin-top:2px !important;

        font-size:17px !important;
        font-weight:800 !important;
    }

    /* Scrollbar */
    .manage-song-list::-webkit-scrollbar,
    .admin-table-card .table-wrap::-webkit-scrollbar {
        width:7px !important;
    }

    .manage-song-list::-webkit-scrollbar-thumb,
    .admin-table-card .table-wrap::-webkit-scrollbar-thumb {
        background:#0050C6 !important;
        border-radius:10px !important;
    }
}

/* =========================================================
   MPT CAST — MOBILE ADMIN STATION CARDS
   5 stations visible, then vertical scroll
   ========================================================= */

.mpt-mobile-stations {
    display:none;
}

@media only screen and (max-width:700px) {

    .mpt-desktop-stations {
        display:none!important;
    }

    .mpt-mobile-stations {
        display:block!important;
        background:#fff;
        border:1px solid #e1e4e8;
        border-radius:15px;
        overflow:hidden;
        box-shadow:0 3px 12px rgba(0,0,0,.08);
    }

    .mpt-mobile-stations-head {
        padding:16px 17px;
        border-bottom:1px solid #e8eaed;
        background:#fff;
    }

    .mpt-mobile-stations-head strong {
        display:block;
        color:#111827;
        font-size:16px;
        font-weight:900;
    }

    .mpt-mobile-stations-head span {
        display:block;
        margin-top:3px;
        color:#7c848d;
        font-size:11px;
    }

    /*
     * Five station cards visible.
     * The sixth and later stations scroll inside this area.
     */
    .mpt-mobile-stations-scroll {
        height:760px;
        max-height:760px;
        overflow-y:auto;
        overflow-x:hidden;
        -webkit-overflow-scrolling:touch;
        padding:10px;
        box-sizing:border-box;
    }

    .mpt-mobile-stations-scroll::-webkit-scrollbar {
        width:7px;
    }

    .mpt-mobile-stations-scroll::-webkit-scrollbar-thumb {
        background:#0050C6;
        border-radius:10px;
    }

    .mpt-mobile-station-card {
        background:#fff;
        border:1px solid #dfe3e8;
        border-radius:13px;
        margin-bottom:10px;
        overflow:hidden;
        box-shadow:0 2px 7px rgba(0,0,0,.06);
    }

    .mpt-mobile-station-top {
        display:flex;
        align-items:flex-start;
        justify-content:space-between;
        gap:10px;
        padding:13px;
        background:#001037;
        color:#fff;
    }

    .mpt-mobile-station-top strong {
        display:block;
        font-size:15px;
        line-height:1.25;
        color:#fff;
    }

    .mpt-mobile-station-top small {
        display:block;
        margin-top:4px;
        color:#aebbd0;
        font-size:10px;
    }

    .mpt-station-live,
    .mpt-station-suspended {
        flex:none;
        padding:5px 7px;
        border-radius:99px;
        font-size:8px;
        font-weight:900;
        letter-spacing:.5px;
    }

    .mpt-station-live {
        background:#164e2a;
        color:#7bea9a;
    }

    .mpt-station-suspended {
        background:#641d25;
        color:#ff9fa8;
    }

    .mpt-mobile-station-info {
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:8px;
        padding:11px 13px;
        background:#f7f8fa;
        border-bottom:1px solid #e6e9ed;
    }

    .mpt-mobile-station-info span {
        display:block;
        color:#7b838c;
        font-size:8px;
        font-weight:900;
        letter-spacing:1px;
    }

    .mpt-mobile-station-info strong {
        display:block;
        color:#20252a;
        font-size:12px;
        margin-top:3px;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }

    .mpt-mobile-station-actions {
        display:grid;
        grid-template-columns:1.2fr 1fr 1fr;
        gap:7px;
        padding:10px 12px 7px;
    }

    .mpt-mobile-station-actions form {
        margin:0;
        min-width:0;
    }

    .mpt-mobile-station-actions a,
    .mpt-mobile-station-actions button {
        width:100%;
        min-height:42px;
        box-sizing:border-box;
        border:0;
        border-radius:8px;
        display:flex;
        align-items:center;
        justify-content:center;
        padding:7px 5px;
        font-size:10px;
        font-weight:900;
        text-decoration:none;
        cursor:pointer;
    }

    .mpt-mobile-manage {
        background:#0050C6;
        color:#fff!important;
    }

    .mpt-mobile-show {
        background:#198754;
        color:#fff;
    }

    .mpt-mobile-hide,
    .mpt-mobile-suspend {
        background:#a51d2d;
        color:#fff;
    }

    .mpt-mobile-station-bottom {
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:8px;
        padding:7px 12px 12px;
    }

    .mpt-mobile-quota,
    .mpt-mobile-control {
        display:grid;
        grid-template-columns:1fr auto;
        gap:5px;
        align-items:end;
        margin:0;
    }

    .mpt-mobile-quota label {
        color:#69717a;
        font-size:8px;
        font-weight:900;
        letter-spacing:.7px;
    }

    .mpt-mobile-quota input {
        width:100%;
        height:40px;
        box-sizing:border-box;
        padding:6px 8px;
        margin-top:4px;
        border:1px solid #ccd2da;
        border-radius:7px;
        background:#fff;
        color:#111;
    }

    .mpt-mobile-quota button,
    .mpt-mobile-control button {
        min-height:40px;
        border:0;
        border-radius:7px;
        padding:6px 8px;
        background:#111;
        color:#ffd21a;
        font-size:9px;
        font-weight:900;
        cursor:pointer;
    }

    .mpt-mobile-control {
        grid-template-columns:1fr 1fr;
    }

    .mpt-mobile-control button:first-of-type {
        background:#6b7280;
        color:#fff;
    }

    .mpt-mobile-control button:last-of-type {
        background:#0050C6;
        color:#fff;
    }

    .mpt-mobile-control button:disabled {
        opacity:.45;
        cursor:not-allowed;
    }
}


/* =========================================================
   MPT CAST — MOBILE MAIN PLAYLIST
   5 songs visible, then scroll
   ========================================================= */

@media only screen and (max-width:700px) {

    /* Main playlist song area */
    .manage-song-list {
        height:760px!important;
        max-height:760px!important;
        overflow-y:auto!important;
        overflow-x:hidden!important;
        -webkit-overflow-scrolling:touch!important;
        padding:4px 2px!important;
        box-sizing:border-box!important;
    }

    .manage-song-list::-webkit-scrollbar {
        width:7px;
    }

    .manage-song-list::-webkit-scrollbar-thumb {
        background:#0050C6;
        border-radius:10px;
    }

    /* Individual song card */
    .manage-song {
        display:grid!important;
        grid-template-columns:42px minmax(0,1fr)!important;
        gap:10px!important;
        padding:13px 5px!important;
        margin-bottom:8px!important;
        border:1px solid #e0e3e7!important;
        border-radius:12px!important;
        background:#fff!important;
        box-shadow:0 2px 7px rgba(0,0,0,.06)!important;
        box-sizing:border-box!important;
    }

    .manage-song-icon {
        width:42px!important;
        height:42px!important;
    }

    .manage-song-info {
        min-width:0!important;
        align-self:center!important;
    }

    .manage-song-info strong {
        display:block!important;
        color:#111827!important;
        font-size:13px!important;
        line-height:1.3!important;
        white-space:normal!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
        display:-webkit-box!important;
        -webkit-line-clamp:2!important;
        -webkit-box-orient:vertical!important;
    }

    .manage-song-info small {
        display:block!important;
        margin-top:4px!important;
        color:#7b838c!important;
        font-size:9px!important;
        white-space:nowrap!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
    }

    /* Edit / Remove buttons */
    .manage-song-actions {
        grid-column:1/-1!important;
        display:grid!important;
        grid-template-columns:1fr 1fr!important;
        gap:7px!important;
        width:100%!important;
    }

    .manage-song-actions button {
        width:100%!important;
        min-height:42px!important;
        margin:0!important;
        border-radius:8px!important;
        font-size:11px!important;
        font-weight:900!important;
    }

    .manage-song-actions .button {
        background:#0050C6!important;
        color:#fff!important;
        border:0!important;
    }

    .manage-song-actions .danger {
        background:#a51d2d!important;
        color:#fff!important;
        border:0!important;
    }

    /* Expanded Artist / Title editor */
    .manage-song-edit,
    .manage-song-edit.open {
        grid-column:1/-1!important;
        width:100%!important;
        box-sizing:border-box!important;
        background:#f4f6f8!important;
        border:1px solid #dce1e6!important;
        border-radius:10px!important;
        padding:12px!important;
    }

    .manage-song-edit.open {
        display:block!important;
    }

    .manage-song-edit label {
        display:block!important;
        width:100%!important;
        margin:0 0 11px!important;
        color:#27313b!important;
        font-size:11px!important;
        font-weight:900!important;
    }

    .manage-song-edit input {
        display:block!important;
        width:100%!important;
        min-height:48px!important;
        box-sizing:border-box!important;
        margin-top:5px!important;
        padding:10px 12px!important;
        border:1px solid #bfc7d0!important;
        border-radius:8px!important;
        background:#fff!important;
        color:#111!important;
        font-size:16px!important;
    }

    .manage-song-edit button {
        width:100%!important;
        min-height:46px!important;
        margin:3px 0 0!important;
        border:0!important;
        border-radius:8px!important;
        background:#0050C6!important;
        color:#fff!important;
        font-size:12px!important;
        font-weight:900!important;
    }

}

/* ============================================================
   MAIN PLAYLIST — MOBILE SONG INFO VISIBILITY FIX
   ============================================================ */
@media only screen and (max-width:700px) {

    .manage-song .manage-song-info {
        display:block!important;
        visibility:visible!important;
        opacity:1!important;
        min-width:0!important;
        width:100%!important;
        height:auto!important;
        min-height:42px!important;
        overflow:visible!important;
        align-self:center!important;
    }

    .manage-song .manage-song-info strong {
        display:block!important;
        visibility:visible!important;
        opacity:1!important;
        color:#001037!important;
        background:transparent!important;
        font-size:15px!important;
        font-weight:900!important;
        line-height:1.35!important;
        white-space:normal!important;
        overflow:visible!important;
        text-overflow:clip!important;
        -webkit-line-clamp:unset!important;
        -webkit-box-orient:initial!important;
    }

    .manage-song .manage-song-info small {
        display:block!important;
        visibility:visible!important;
        opacity:1!important;
        color:#667085!important;
        background:transparent!important;
        font-size:10px!important;
        line-height:1.3!important;
        margin-top:4px!important;
        white-space:nowrap!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
    }

    /* Make sure the song's first row has room for the text */
    .manage-song {
        grid-template-columns:42px minmax(0,1fr)!important;
        align-items:center!important;
    }

}

/* MAIN PLAYLIST — SHOW 3 SONGS BEFORE SCROLL */
@media only screen and (max-width:700px) {
    .manage-song-list {
        height:530px!important;
        max-height:530px!important;
        overflow-y:auto!important;
        overflow-x:hidden!important;
    }
}
