*{box-sizing:border-box} :root{--bg:#0b1118;--panel:#111923;--panel2:#151f2b;--line:#243140;--text:#eef4fb;--muted:#8fa0b5;--blue:#1687ff;--green:#42db76;--red:#ff5666} body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:linear-gradient(135deg,#071018,#111923);color:var(--text)}button,input,select{font:inherit}.app-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{background:#111923;border-right:1px solid var(--line);padding:24px 18px;display:flex;flex-direction:column}.brand,.brand-large{font-size:25px;font-weight:800;letter-spacing:1px}.brand-large{font-size:34px;text-align:center}.accent,.eyebrow{color:var(--blue)}nav{margin-top:35px;display:grid;gap:8px}nav a{color:#b8c4d3;text-decoration:none;padding:13px 15px;border-radius:8px}nav a.active,nav a:hover{background:linear-gradient(90deg,#1175e9,#1c91ff);color:white}.sidebar-bottom{margin-top:auto;border:1px solid var(--line);padding:14px;border-radius:10px;display:grid;gap:8px}.sidebar-bottom a{color:#8ebfff}.dot{display:inline-block;width:9px;height:9px;background:#7d8795;border-radius:50%;margin-right:6px}.dot.online{background:var(--green);box-shadow:0 0 12px var(--green)}.content{padding:18px;overflow:auto}.top-grid,.middle-grid,.bottom-grid{display:grid;gap:14px;margin-bottom:14px}.top-grid{grid-template-columns:2fr 1fr}.middle-grid{grid-template-columns:1.4fr 1fr}.bottom-grid{grid-template-columns:1.4fr 1fr}.card{background:linear-gradient(145deg,var(--panel),#0e161f);border:1px solid #1b2836;border-radius:12px;padding:18px;box-shadow:0 12px 35px rgba(0,0,0,.18)}.now-playing{display:grid;grid-template-columns:1fr 180px;gap:22px;align-items:center}.cover{height:180px;border-radius:10px;background:radial-gradient(circle at center,#1239a4,#04101d 70%);display:grid;place-items:center;text-align:center;font-size:34px;color:#3cf;box-shadow:inset 0 0 45px #077}.cover span{color:#ff51ed}.eyebrow{font-size:14px;font-weight:700}.now-playing h1{margin:12px 0 4px}.now-playing p,.muted{color:var(--muted)}.progress{height:8px;background:#24303c;border-radius:10px;overflow:hidden;margin:20px 0}.progress span{display:block;height:100%;background:var(--blue)}.controls{display:flex;gap:10px}.icon-btn,.small-btn,button{border:1px solid #2a3949;background:#182330;color:white;padding:11px 15px;border-radius:7px;cursor:pointer}.primary{background:linear-gradient(180deg,#2196ff,#0874e6);border-color:#258ff4}.danger{background:#21171b;border-color:#4f2b34;color:#ff9aa5}.danger-text{color:#ff7785;background:transparent}.full{width:100%}.status-card h2{margin:12px 0}.green{color:var(--green)}.stats{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.stats div{border-bottom:1px solid var(--line);padding-bottom:12px}.stats small,.stats strong{display:block}.stats small{color:var(--muted);margin-bottom:5px}.section-head{display:flex;justify-content:space-between}.table-wrap{overflow:auto;max-height:420px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line)}th{color:#aeb9c7;font-size:13px}tbody tr:hover{background:#162333}.empty{text-align:center;color:var(--muted)}.inline-form{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.inline-form input,.inline-form select{flex:1;min-width:130px}.stack{display:grid;gap:14px}.next-list{padding-left:25px}.next-list li{padding:10px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:15px}.button-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.settings-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.settings-grid label,label{display:grid;gap:6px;color:#c7d0db;font-size:14px}.settings-grid button{align-self:end}input,select{background:#121c27;border:1px solid #2a3949;color:white;border-radius:7px;padding:11px}.log-output{background:#071018;color:#48e56e;padding:14px;border-radius:8px;height:260px;overflow:auto;font:13px Consolas,monospace}.users-card{margin-bottom:20px}.auth-body{min-height:100vh;display:grid;place-items:center;padding:20px}.auth-card{width:min(420px,100%);background:#111923;border:1px solid var(--line);border-radius:15px;padding:30px;box-shadow:0 30px 80px rgba(0,0,0,.35)}.auth-card form{display:grid;gap:15px;margin-top:20px}.alert{padding:12px;border-radius:7px;margin:12px 0}.alert.error{background:#351a20;color:#ffacb4}.alert.success{background:#12351d;color:#9dffb3}@media(max-width:1050px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative}.top-grid,.middle-grid,.bottom-grid{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.now-playing{grid-template-columns:1fr}.cover{height:130px}.settings-grid{grid-template-columns:1fr}.content{padding:10px}.sidebar nav{grid-template-columns:1fr 1fr}.app-shell{display:block}}

.shoutcast-note{margin:14px 0 0;font-size:13px;line-height:1.5}

.music-upload{margin-top:18px;display:grid;gap:12px}.upload-drop{border:2px dashed #2f79bd;border-radius:12px;padding:24px;text-align:center;background:#0c1722;cursor:pointer;transition:.2s}.upload-drop:hover{border-color:#53a9ff;background:#102132}.upload-drop strong,.upload-drop span,.upload-drop small{display:block}.upload-drop strong{font-size:20px;margin-bottom:7px}.upload-drop span{color:#c8d8e9}.upload-drop small{color:var(--muted);margin-top:7px}.upload-drop input{margin-top:15px;width:100%;background:#111e2b}.upload-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.auto-upload-check{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:8px}.auto-upload-check input{width:auto}.upload-status{min-height:22px;padding:0 4px;white-space:pre-line}.upload-status.working{color:#77bfff}.upload-status.success{color:#75e996}.upload-status.error{color:#ff8c99}.upload-actions button:disabled{opacity:.55;cursor:not-allowed}

/* Normaler, manueller Musik-Upload */
.music-upload{margin-top:18px;display:grid;gap:10px}
.normal-upload-box{display:grid;gap:12px;padding:18px;border:1px solid #26394c;border-radius:12px;background:#0c1722}
.normal-upload-box input[type=file]{width:100%;padding:12px;background:#111e2b;border:1px solid #31485f;border-radius:8px;color:#e9f2fb}
.normal-upload-box button{width:max-content;min-width:180px}
.upload-help{margin:0}
.upload-status{min-height:22px;padding:0 4px;white-space:pre-line}
.upload-status.working{color:#77bfff}.upload-status.success{color:#75e996}.upload-status.error{color:#ff8c99}
.normal-upload-box button:disabled{opacity:.55;cursor:not-allowed}

.playback-time{display:flex;justify-content:space-between;color:var(--muted);font-size:13px;margin-top:-12px;margin-bottom:16px}.track-play-link{padding:0;border:0;background:transparent;color:#eaf4ff;text-align:left}.track-play-link:hover{color:#58aaff;text-decoration:underline}.track-row.active{background:#112b43}.progress span{transition:width .2s linear}


/* Eigener Musik-Upload und Hilfeseite */
.auth-links{margin-top:18px;text-align:center}.auth-links a{color:#7dbdff;text-decoration:none}.auth-links a:hover{text-decoration:underline}.upload-page{display:grid;gap:14px;align-content:start}.upload-hero h1{margin:8px 0}.upload-summary{display:flex;align-items:center;gap:12px;margin-top:18px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#0c1722}.upload-summary strong{font-size:28px;color:var(--blue)}.upload-summary span{color:var(--muted)}.upload-main-card{max-width:900px}.help-mini-card{max-width:900px}.help-body{min-height:100vh;padding:24px}.help-wrap{width:min(1050px,100%);margin:0 auto}.help-head{text-align:center;margin:15px 0 25px}.help-head h1{margin-bottom:8px}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.help-card{line-height:1.65}.help-card h2{margin-top:0}.help-card code{background:#08121c;padding:2px 6px;border-radius:5px;color:#8fc7ff}.help-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:20px}.button-link{display:inline-block;text-decoration:none;border:1px solid #2a3949;background:#182330;color:#fff;padding:11px 15px;border-radius:7px}.button-link.primary{background:linear-gradient(180deg,#2196ff,#0874e6);border-color:#258ff4}@media(max-width:700px){.help-grid{grid-template-columns:1fr}}

.stream-status-actions{display:grid;gap:10px;margin-top:14px}.restart{background:#25203b;border-color:#51458a;color:#d9d2ff}.restart:hover{background:#302851}

.delete-form{margin:0}.delete-form button{white-space:nowrap}
/* Professional v2.0: feste Bereiche */
.sidebar{position:fixed;inset:0 auto 0 0;width:250px;z-index:50;overflow-y:auto}.content{margin-left:250px;min-height:100vh;padding-top:86px}.fixed-topbar{position:fixed;left:250px;right:0;top:0;height:68px;z-index:40;background:rgba(11,17,24,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 22px}.fixed-topbar div{display:grid;gap:3px}.fixed-topbar small{color:var(--muted)}.service-pill{border:1px solid #27567e;border-radius:999px;padding:8px 12px;background:#102236;color:#8dccff}.worker-access{grid-column:1/-1;border:1px solid #24415e;background:#0b1824;border-radius:10px;padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.worker-access h3,.worker-access p{grid-column:1/-1;margin:0}.worker-access p{color:var(--muted)}
@media(max-width:1050px){.sidebar{position:sticky;width:auto;inset:auto;top:0}.content{margin-left:0;padding-top:82px}.fixed-topbar{left:0}.app-shell{display:block}}
@media(max-width:620px){.fixed-topbar{height:auto;min-height:68px;gap:8px}.service-pill{font-size:12px}.worker-access{grid-template-columns:1fr}}
