:root{color-scheme:dark;--accent:#ffa200;--bg:#050b18;--surface:#0c172c;--surface-hi:#12223d;--border:rgba(255,174,46,.45);--text:#fff8eb;--sub:#d3dbe8;--muted:#acbbd0;--blue:#586dfb;--uploaded-bg:none;--round:17px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--text);background:radial-gradient(ellipse at 50% -15%,#1a3158 0%,transparent 42%),linear-gradient(140deg,#050c1e 0%,#101d37 55%,#060d1d 100%);background-attachment:fixed;font:600 16px/1.55 system-ui,-apple-system,'Segoe UI',sans-serif}body:before{content:"";position:fixed;inset:0;z-index:-1;background-image:linear-gradient(#071023ae,#071023be),var(--uploaded-bg);background-position:center;background-size:cover;pointer-events:none}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{line-height:1.19}h1{font-weight:900;letter-spacing:-.05em}h2{font-weight:850;letter-spacing:-.025em}p{color:var(--sub)}.site-width{width:min(1700px,calc(100% - 48px));margin:0 auto}.masthead{position:relative;border-bottom:1px solid #ffa20046;background:rgba(6,13,29,.93);box-shadow:0 5px 28px #0007;z-index:20}.masthead-glow{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,162,0,.10),transparent 35%,rgba(86,101,251,.08));pointer-events:none}.topbar{position:relative;min-height:105px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:14px;min-width:240px}.brand-icon{width:67px;height:67px;border:2px solid #ffb239aa;border-radius:15px;background:linear-gradient(145deg,#384977,#121b3b);box-shadow:0 0 20px #d99b2040;display:grid;place-items:center;overflow:hidden}.brand-icon .brand-logo{width:100%;height:100%;object-fit:contain}.brand-icon .logo-symbol{font-size:42px;color:#ffd57b;text-shadow:0 0 21px #ff9800}.brand-copy{display:flex;flex-direction:column;gap:2px}.brand-copy b{font-size:clamp(19px,1.5vw,27px);font-weight:900;letter-spacing:-.035em;text-transform:uppercase}.brand-copy small{color:var(--accent);font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:800}.nav-links{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}.nav-links a{padding:10px 12px;border-radius:10px;color:#f3f6ff;font-size:13px;font-weight:800;transition:background .18s,transform .18s}.nav-links a:hover,.nav-links a.current{background:rgba(255,162,0,.14);color:#ffd18e;transform:translateY(-1px)}.nav-links a.nav-admin{border:1px solid #faa72565;background:#bb7c2118}.menu-toggle{display:none;border:1px solid #ffb42c66;background:#122342;color:#fff;border-radius:10px;padding:9px 13px}.main-frame{padding-top:24px;padding-bottom:78px;min-height:65vh}.eyebrow{font-weight:900;font-size:10px;color:var(--accent);letter-spacing:.20em;text-transform:uppercase;display:block;margin-bottom:9px}.home-layout{display:grid;grid-template-columns:minmax(265px,305px) minmax(310px,1fr) minmax(285px,335px);align-items:start;gap:18px}.column-left,.column-right,.column-center{display:flex;flex-direction:column;gap:19px;min-width:0}.panel{position:relative;background:linear-gradient(145deg,rgba(15,31,58,.98),rgba(7,17,34,.98));border:1px solid var(--border);border-radius:var(--round);box-shadow:0 12px 35px #0005,inset 0 1px #ffffff0b;overflow:hidden}.panel-heading{padding:17px 18px 13px;border-bottom:1px solid #ffa20040;background:linear-gradient(90deg,#182740d9,#0f1a30);display:flex;align-items:center;justify-content:space-between;gap:10px}.panel-heading h2{font-size:17px;margin:0;color:#fff;line-height:1.22}.panel-heading .eyebrow{margin-bottom:5px}.panel-body{padding:18px}.current-panel{border-color:#ffb2248c}.current-panel:before{content:"";height:3px;background:linear-gradient(90deg,#ff9c00,#f25245,#ffcf80);position:absolute;inset:0 0 auto}.live-indicator{color:#fff;font-size:11px;letter-spacing:.12em;font-weight:900;background:#cf2d32;padding:8px 13px;border-radius:999px;display:inline-flex;align-items:center;gap:8px;margin-bottom:17px;box-shadow:0 5px 19px #ff242244}.onair-dot{display:inline-block;flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px #ffffff30;animation:glow 2s infinite}@keyframes glow{50%{box-shadow:0 0 0 8px #ffffff03}}.dj-card-layout{display:flex;gap:12px;align-items:flex-start}.portrait{height:166px;min-width:100px;width:40%;border:1px solid #ffbe5144;border-radius:13px;overflow:hidden;background:linear-gradient(145deg,#3f3553,#142342)}.portrait img,.portrait .image-placeholder{height:100%;width:100%;object-fit:cover;display:grid;place-items:center}.image-placeholder{background:radial-gradient(circle at 30% 20%,#8260b4,#26375f 45%,#111d35);color:#ffba54;font-size:48px;text-align:center;display:grid;place-items:center;min-height:70px}.dj-facts{display:flex;flex-direction:column;min-width:0;gap:2px;overflow-wrap:anywhere;font-size:13px}.dj-facts strong{color:#fff}.dj-facts .gold{color:#ffd17e}.detail-label{font-size:11px;color:var(--muted);margin-top:6px;font-weight:700}.detail-label:first-child{margin-top:0}.track-row{padding:8px 0;font-size:12px;border-top:1px solid #ffffff16;margin-top:8px;overflow-wrap:anywhere}.track-row span{color:#dbe6f7}.player-controls{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.player-controls button:first-child{grid-column:1/-1}.btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;gap:7px;background:#263758;color:#fff;border:1px solid #fff3;border-radius:11px;font-size:13px;font-weight:850;padding:11px 14px;min-height:41px;transition:filter .2s,transform .2s}.btn:hover{filter:brightness(1.16);transform:translateY(-1px)}.btn-primary{background:linear-gradient(115deg,#ffbc4e,#f29a09);border-color:#ffd080;color:#10182b;box-shadow:0 4px 22px #f5a62b31}.btn-secondary{background:#23324e;border-color:#52658a}.btn-outline{border-color:#ffb54a93;background:#ffa20013;color:#ffd08a}.btn-glass{background:#fff2;border:1px solid #fff5}.btn-full{width:100%;margin-top:8px}.btn-small{min-height:33px;padding:7px 10px;font-size:12px}.btn-danger{color:#fff;background:#922e3a;border-color:#f05870}.listening-panel .panel-body{background:radial-gradient(circle at 100% 10%,#dc8c2b4a,transparent 55%),linear-gradient(150deg,#3b2551,#0d1f3e)}.listening-panel h3{font-size:19px;margin:0 0 8px}.listening-panel p{font-size:13px}.empty-state{text-align:center;padding:20px 10px;color:var(--muted);border:1px dashed #7584a14d;border-radius:11px;font-size:13px}.hero-visual{position:relative;min-height:720px;display:flex;flex-direction:column;justify-content:space-between;isolation:isolate;overflow:hidden;border:1px solid #ffb12688;border-radius:20px;box-shadow:0 18px 55px #0007,0 0 45px #f59a1620;background:radial-gradient(ellipse at 50% 45%,#58408b 0%,#1d2957 34%,#101c37 57%,#081124 95%)}.hero-visual:before{position:absolute;content:"";inset:0;background:linear-gradient(135deg,#ffbd2252,transparent 24%,#f55b4f13 67%,#2957ff22),repeating-linear-gradient(0deg,transparent 0,transparent 37px,#ffffff05 38px),repeating-linear-gradient(90deg,transparent 0,transparent 37px,#ffffff05 38px);z-index:-2}.hero-stars{position:absolute;inset:0;z-index:-1;opacity:.65;background-image:radial-gradient(circle,#fff 1px,transparent 1.5px),radial-gradient(circle,#ffbd4b 1.2px,transparent 2px);background-size:71px 113px,129px 177px;background-position:0 0,51px 28px}.hero-sheen{position:absolute;width:140%;height:300px;background:#ffa20025;filter:blur(140px);top:30%;left:-20%;z-index:-1}.hero-topline,.hero-bottomline{padding:22px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;letter-spacing:.13em;font-weight:900;color:#ffe0a0}.broadcast{display:inline-flex;gap:11px;align-items:center}.broadcast .onair-dot{background:#ff536d}.hero-core{text-align:center;padding:27px 19px 34px;display:flex;align-items:center;flex-direction:column;justify-content:center;flex:1}.hero-tag{font-size:11px;font-weight:900;color:#ffcf7b;letter-spacing:.28em;margin-bottom:15px}.hero-core h1{font-size:clamp(35px,4.4vw,67px);line-height:1.04;max-width:680px;margin:0 0 14px;text-shadow:0 5px 30px #000a;background:linear-gradient(#fff,#fff3d2);color:transparent;background-clip:text}.hero-core p{max-width:500px;font-size:clamp(14px,1.25vw,18px);font-weight:650;color:#f4ecff;margin:0}.hero-art{position:relative;width:min(100%,460px);height:295px;margin:14px auto 8px;display:grid;place-items:center;overflow:hidden}.orbit{position:absolute;border-radius:50%;border:2px solid #ffc15c85;box-shadow:inset 0 0 40px #faae1e3b,0 0 70px #faae1e3d}.orbit-one{width:240px;height:240px}.orbit-two{width:315px;height:315px;opacity:.35}.headphone{font-size:123px;font-weight:900;color:#ffba44;text-shadow:0 0 28px #ffc05c,0 0 100px #f19c52;transform:rotate(-9deg);z-index:1;line-height:1}.equalizer{position:absolute;display:flex;align-items:center;justify-content:center;gap:5px;width:100%;height:160px;bottom:4px;opacity:.70}.equalizer i{height:calc(16px + var(--i) * 2px);width:5px;border-radius:9px;background:linear-gradient(#fff9c5,#ff9641,#dd4da9);box-shadow:0 0 11px #efae60aa;animation:equalize 1.3s ease-in-out infinite alternate;animation-delay:calc(var(--i) * -56ms)}@keyframes equalize{to{transform:scaleY(.45)}}.hero-buttons{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.hero-bottomline{border-top:1px solid #ffa20050}.hero-bottomline span{color:#ffddaf}.center-image-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.center-poster{height:185px;border-radius:13px;overflow:hidden;border:1px solid #ffb83a8a;background:#1e2944}.center-image{width:100%;height:100%;object-fit:contain}.center-feature{padding:31px 29px;border:1px solid #ffffff20;border-radius:17px;text-align:center;background:linear-gradient(150deg,#192a4dc9,#0c172bdc)}.feature-icon{font-size:38px;color:#ffc86d}.center-feature h2{font-size:27px;margin:5px 0 11px}.center-feature p{font-size:14px}.feature-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.feature-links a{color:#ffd28b;text-decoration:underline;text-underline-offset:5px;font-size:13px}.tile-subtitle{font-size:13px;margin-bottom:13px}.tile-link{display:block;border-radius:11px;overflow:hidden;border:1px solid #ffc47638}.tile-picture{display:block;width:100%;max-height:185px;object-fit:contain}.tile-art{height:100px;background:radial-gradient(circle at 73% 20%,#ee7783 0%,transparent 37%),linear-gradient(120deg,#34265e,#713d88,#1b3b69);display:flex;align-items:center;justify-content:center;flex-direction:column;color:#ffe4af;font-size:42px;font-weight:900}.tile-art span{font-size:10px;letter-spacing:.15em;margin-top:-6px}.text-link{display:inline-block;margin-top:12px;font-weight:850;color:#ffc978;font-size:13px}.partner-stack{display:flex;flex-direction:column;gap:10px}.partner-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid #ffffff24;border-radius:10px;font-size:13px;background:#ffffff06}.partner-item>*:last-child{margin-left:auto;color:#ffca74}.partner-img{width:48px;height:40px;object-fit:contain}.partner-icon{width:44px;height:40px;display:grid;place-items:center;background:#54375c;border-radius:7px;color:#ffce7f}.small-chip{font-size:10px;white-space:nowrap;border-radius:20px;background:#ffffff15;border:1px solid #ffffff30;padding:5px 8px;color:var(--muted);font-weight:850}.small-chip.green{background:#1b955a44;color:#b7ffd7;border-color:#25e68a70}.muted{color:var(--muted);font-size:13px}.shout-list{display:flex;flex-direction:column;gap:10px;max-height:390px;overflow-y:auto}.shout{padding:11px;background:#ffffff08;border:1px solid #ffffff20;border-radius:10px;overflow-wrap:anywhere;font-size:12px;white-space:normal}.shout-meta{display:flex;gap:7px;justify-content:space-between;align-items:center;margin-bottom:5px;color:#ffcf86}.shout-meta small{white-space:nowrap;color:#aabbd1}.shout-form{display:flex;flex-direction:column;gap:7px;margin-top:13px}.status-summary{display:flex;gap:8px;margin-bottom:12px}.status-summary span{flex:1;padding:10px 7px;text-align:center;background:#ffffff0d;border:1px solid #ffffff20;border-radius:10px;font-size:10px;color:#d4e2ee}.status-summary b{display:block;font-size:24px;color:#fbd186}.person-line{display:flex;align-items:center;gap:9px;margin:8px 0;padding:6px 0;border-bottom:1px solid #ffffff0e}.person-avatar{width:39px;height:39px;min-height:0;flex-shrink:0;border-radius:50%;object-fit:cover;font-size:20px}.person-avatar.big{width:78px;height:78px}.person-line strong{font-size:12px}.person-line small{display:block;color:#99aac2;font-size:10px}.presence{margin-left:auto;width:9px;height:9px;border-radius:50%;background:#54617a}.presence.online{background:#38d988;box-shadow:0 0 12px #48f9a777}.content-hero{padding:49px 30px;margin-bottom:24px;border:1px solid #ffb32863;border-radius:19px;text-align:center;background:radial-gradient(ellipse at center,#7748863b,transparent 65%),linear-gradient(115deg,#1b2850,#0b162b)}.content-hero h1{font-size:clamp(33px,4.2vw,54px);margin-bottom:12px}.content-hero p{max-width:640px;margin:0 auto;font-size:16px}.schedule-list{display:grid;gap:14px}.schedule-item{display:grid;grid-template-columns:90px 110px 1fr;gap:22px;align-items:center;padding:18px;border:1px solid var(--border);border-radius:16px;background:#102039e8}.schedule-date{text-align:center;display:flex;flex-direction:column}.schedule-date strong{font-size:22px;color:#ffd089}.schedule-date small{color:var(--muted)}.schedule-picture img,.schedule-picture .image-placeholder{width:105px;height:92px;object-fit:cover;border-radius:12px}.schedule-copy h2{margin:0 0 6px}.schedule-copy p{margin:7px 0 0;font-size:13px}.people-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:17px}.member-card{text-align:center}.member-picture{height:220px;background:#283458}.member-img,.member-picture .image-placeholder{width:100%;height:100%;object-fit:contain}.member-card h2{margin:8px 0 13px}.member-card p{font-size:13px}.form-page{max-width:800px;margin:0 auto;padding:28px}.auth-frame{max-width:490px;margin:65px auto;padding:35px}.auth-frame h1{font-size:34px}.form-stack{display:flex;flex-direction:column;gap:17px}.form-stack label{display:flex;flex-direction:column;gap:7px;color:#f0f6ff;font-size:13px;font-weight:800}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-stack input:not([type=checkbox]):not([type=file]),.form-stack select,.form-stack textarea,.shout-form textarea,.action-row select{width:100%;min-width:0;border-radius:10px;border:1px solid #596b8f;background:#09152b;color:#fff7e9;padding:12px 13px;outline:none}.form-stack input:focus,.form-stack select:focus,.form-stack textarea:focus,.shout-form textarea:focus{border-color:#ffc269;box-shadow:0 0 0 3px #ffb13d24}.form-stack textarea,.shout-form textarea{resize:vertical}.form-stack input[type=file]{border:1px dashed #ffffff44;border-radius:9px;padding:13px;width:100%;font-size:12px}.check-row,.permission-grid{display:flex;gap:14px;flex-wrap:wrap}.check-row label,.permission-grid label{flex-direction:row;align-items:center;gap:8px}.form-stack input[type=checkbox]{accent-color:var(--accent);width:17px;height:17px}.honeypot{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;left:-9999px!important}.profile-preview{display:flex;align-items:center;gap:15px}.profile-preview span{color:#ffc16e}.panel-pad{padding:23px}.legal-copy{white-space:normal;line-height:1.8}.alert{border-radius:12px;padding:13px 17px;margin-bottom:18px;font-size:14px;border:1px solid #ffd68b55;background:#a56d1630;color:#fff}.alert.ok{border-color:#44dd9955;background:#14644655}.alert.error{border-color:#ef6f6f8f;background:#6d162b8a}.footer{background:#050e20;border-top:1px solid #ffc36b55}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;min-height:88px;color:#c1d0e1;font-size:12px}.footer nav{display:flex;gap:22px}.footer nav a:hover{color:#ffc96e}.mini-player{position:fixed;z-index:40;left:50%;transform:translateX(-50%);bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 16px;background:#0b1932ee;border:1px solid var(--accent);border-radius:17px;box-shadow:0 10px 50px #000c;max-width:calc(100% - 22px);width:580px;backdrop-filter:blur(20px)}.mini-player[hidden]{display:none!important}.mini-player-label{min-width:108px;display:flex;flex-direction:column;gap:1px}.mini-player-label .onair-dot{position:absolute}.mini-player-label strong{margin-left:18px;font-size:13px}.mini-player-label small{color:#c8d3e0;font-size:10px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-player audio{height:44px;flex:1;min-width:0}.icon-btn{border:0;background:#ffffff20;color:#fff;border-radius:50%;font-size:22px;width:34px;height:34px}.admin-layout{display:grid;grid-template-columns:225px minmax(0,1fr);gap:20px;align-items:start}.admin-sidebar{border:1px solid var(--border);border-radius:16px;background:#0b172b;position:sticky;top:18px;padding:12px;display:flex;flex-direction:column;gap:5px}.admin-sidebar a{padding:11px 13px;font-size:13px;border-radius:9px;font-weight:800;color:#c9d9ed}.admin-sidebar a:hover,.admin-sidebar a.selected{background:#ffb72c1b;color:#ffd390}.admin-main{min-width:0;display:flex;flex-direction:column;gap:18px}.admin-main .panel h2{font-size:23px}.admin-main h3{margin:9px 0 0}.admin-main .panel-pad{overflow:hidden}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.stat-card{border:1px solid #ffa20065;padding:20px;border-radius:13px;background:linear-gradient(130deg,#1c3151,#0c1a34)}.stat-card span{display:block;font-size:12px;color:#cbd8e9}.stat-card strong{font-size:33px;color:#ffcf80}.admin-image-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.current-image{display:block;border:1px solid #ffffff40;border-radius:9px;padding:6px;max-width:180px}.preview-img{width:100%;height:110px;object-fit:contain}.record-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 0;border-bottom:1px solid #ffffff23}.record-row:last-child{border-bottom:0}.record-row>div:first-child{min-width:0;overflow-wrap:anywhere}.record-row strong{display:block;font-size:14px}.record-row small{display:block;font-size:11px;color:var(--muted)}.action-row{display:flex;gap:7px;flex-wrap:wrap;align-items:center;justify-content:flex-end}.inline-form{display:inline-block}.action-row select{width:auto;padding:8px}.user-editor{border:1px solid #ffffff22;border-radius:11px;margin:11px 0;padding:13px}.user-editor summary{display:flex;align-items:center;justify-content:space-between;gap:9px;cursor:pointer}.user-editor summary small{display:block;color:var(--muted)}.user-editor>.form-stack{padding:20px 0 5px}.user-editor summary::marker{content:''}.permission-grid label{background:#ffffff08;padding:9px 12px;border-radius:9px}.admin-message{padding:15px 0;border-bottom:1px solid #ffffff27}.admin-message>p{font-size:13px;padding:7px;background:#0002;border-radius:8px}.admin-message form{margin-bottom:8px}.status-pill{border-radius:20px;background:#ffffff18;color:#ffd597;font-size:11px;padding:5px 9px}.install-page{display:grid;place-items:center;padding:30px 10px}.install-shell{width:min(850px,100%);background:#0c182dcc;border:1px solid var(--border);border-radius:20px;padding:35px;box-shadow:0 25px 60px #0009}.install-shell h1{font-size:38px}.install-shell h2{margin-bottom:0}.setup-checks{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.setup-checks span{font-size:12px;padding:7px 10px;border-radius:8px;background:#ffffff18}.setup-checks .good{color:#b9f2d3}.setup-checks .bad{color:#ff9c9c}@media(max-width:1380px){.home-layout{grid-template-columns:minmax(230px,275px) minmax(330px,1fr) minmax(250px,288px);gap:13px}.site-width{width:min(1600px,calc(100% - 24px))}.brand{min-width:unset}.nav-links a{font-size:12px;padding:9px}.hero-visual{min-height:665px}.hero-core h1{font-size:42px}}@media(max-width:1080px){.topbar{flex-wrap:wrap;padding:15px 0}.nav-links{width:100%;justify-content:center}.home-layout{grid-template-columns:minmax(230px,34%) minmax(300px,1fr)}.column-right{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.column-center{grid-column:2;grid-row:1}.hero-visual{min-height:690px}.hero-core h1{font-size:clamp(36px,4vw,50px)}}@media(max-width:720px){body{font-size:15px}.site-width{width:calc(100% - 24px)}.topbar{min-height:75px;padding:9px 0;flex-wrap:nowrap}.brand-icon{width:48px;height:48px}.brand-copy b{font-size:18px}.brand-copy small{font-size:9px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;left:0;right:0;top:100%;background:#0b192e;border:1px solid #f5b44b67;box-shadow:0 12px 40px #0009;border-radius:0 0 12px 12px;padding:13px;flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.nav-links a{text-align:center;font-size:14px}.home-layout{display:flex;flex-direction:column}.column-center{order:0}.column-left{order:1}.column-right{order:2;display:flex;width:100%}.column-center,.column-left,.column-right{width:100%}.hero-visual{min-height:620px}.hero-core h1{font-size:42px}.hero-art{height:220px}.orbit-one{height:180px;width:180px}.orbit-two{width:250px;height:250px}.headphone{font-size:92px}.equalizer{height:120px}.panel-heading h2{font-size:17px}.form-grid,.admin-image-grid{grid-template-columns:1fr}.admin-layout{grid-template-columns:1fr}.admin-sidebar{position:static;display:flex;flex-direction:row;overflow:auto;white-space:nowrap}.admin-sidebar a{flex-shrink:0}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-hero{padding:40px 18px}.schedule-item{grid-template-columns:75px 1fr;gap:12px}.schedule-picture{grid-column:1}.schedule-copy{grid-column:2;grid-row:1/3}.schedule-copy h2{font-size:19px}.auth-frame{margin:25px auto;padding:22px}.install-shell{padding:22px}.center-poster{height:130px}.footer-inner{flex-direction:column;justify-content:center;text-align:center;padding:20px}.mini-player{bottom:5px}.mini-player-label{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


/* V1.1 PITBULL PARTY: header and matching backdrop are loaded on every page */
body{background-color:#030711;background-image:radial-gradient(ellipse at 10% 10%,rgba(0,139,242,.15),transparent 44%),radial-gradient(ellipse at 88% 62%,rgba(243,149,14,.09),transparent 45%),linear-gradient(140deg,#030714,#070d19 55%,#02050d);background-attachment:fixed}
body:before{background-image:linear-gradient(90deg,rgba(0,4,11,.60),rgba(1,4,13,.48) 50%,rgba(0,3,10,.60)),var(--uploaded-bg),url('../images/pitbull-hintergrund.webp');background-position:center,center,center top;background-size:cover,cover,cover;background-repeat:no-repeat;background-attachment:fixed}
.masthead{background:rgba(2,6,13,.97);border-bottom:2px solid #de8d20;box-shadow:0 9px 25px #000c,0 0 15px #eaa22045}
.banner-shell{position:relative;width:100%;max-width:1920px;margin:0 auto;overflow:hidden;height:clamp(165px,19.1vw,365px);border-bottom:2px solid #edb04e;background:#030716}
.banner-shell:after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 -19px 22px -20px #ffb437,inset 0 0 24px #0509149c}
.banner-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
.masthead .masthead-glow{top:auto;bottom:0;height:60px}
.masthead .topbar{min-height:56px;justify-content:center;gap:0}
.masthead .topbar .brand{display:none}
.masthead .nav-links{justify-content:center;width:100%;flex-wrap:wrap;gap:0}
.masthead .nav-links a{border-radius:0;font-size:13px;text-transform:uppercase;letter-spacing:.025em;padding:15px 18px;border-left:1px solid #6482a52d;text-shadow:0 1px 4px #000}
.masthead .nav-links a:last-child{border-right:1px solid #6482a52d}
.masthead .nav-links a:hover,.masthead .nav-links a.current{background:linear-gradient(#3e280d,#100a04);box-shadow:inset 0 -2px #ffb23f,0 0 13px #f7a42a7a;color:#ffe09e}
.main-frame{padding-top:17px}
.panel{border-color:rgba(255,174,54,.58);background:linear-gradient(145deg,rgba(2,14,27,.96),rgba(2,6,14,.97));box-shadow:0 3px 15px #0009,0 0 12px rgba(255,151,27,.12),inset 0 1px #ffffff10}
.panel-heading{background:linear-gradient(180deg,rgba(11,38,61,.98),rgba(2,10,21,.98));border-bottom:1px solid rgba(255,174,38,.7);box-shadow:inset 0 -2px 8px #ff991020}
.panel-heading h2{color:#80e9ff;text-shadow:0 0 8px #008edb80}
.btn-primary{background:linear-gradient(105deg,#f8bc4a,#e78806);color:#111;border-color:#ffc76c;box-shadow:0 0 13px rgba(255,150,26,.43)}
.hero-visual{min-height:clamp(330px,29vw,480px);border-radius:12px;border-color:#ffc169;box-shadow:0 0 17px rgba(251,158,36,.27),0 16px 40px #000c;background-image:linear-gradient(180deg,#02061110 0%,#05060a05 48%,#020713d1 100%),url('../images/pitbull-startseite.webp');background-size:cover;background-position:center;}
.hero-visual:before,.hero-stars,.hero-sheen,.hero-art{display:none!important}
.hero-topline{padding:10px 15px;color:#fff9cc;background:linear-gradient(#01020aab,transparent)}
.hero-core{justify-content:flex-end;padding:12px 20px 15px;gap:6px}
.hero-core h1,.hero-tag{display:none}
.hero-core p{color:#ffefc9;background:#000b;padding:7px 13px;border:1px solid #d68c3572;border-radius:8px;font-size:13px;max-width:95%;margin:0}
.hero-bottomline{padding:9px 15px;background:#020712c5}
.hero-buttons{margin-top:7px}
.content-hero{background:linear-gradient(135deg,rgba(7,18,35,.93),rgba(1,5,14,.95)),url('../images/pitbull-startseite.webp') center/cover;border:1px solid rgba(255,181,70,.8);box-shadow:0 0 20px rgba(250,162,39,.18)}
.footer{background:rgba(1,6,14,.95);border-top-color:#e2a04288}
@media(max-width:1090px){.masthead .nav-links a{padding:12px 10px;font-size:11px}}
@media(max-width:720px){
 .banner-shell{height:clamp(135px,28vw,210px)}
 .banner-image{object-position:47% center}
 .masthead .topbar{min-height:58px;justify-content:space-between;padding:7px 0}
 .masthead .topbar .brand{display:flex;gap:8px;min-width:0}
 .masthead .topbar .brand-icon{height:40px;width:40px;flex-shrink:0}
 .masthead .topbar .brand-copy b{font-size:14px}
 .masthead .topbar .brand-copy small{display:none}
 .masthead .nav-links{position:absolute;z-index:21;top:100%;left:0;right:0;width:100%;background:#041124;flex-direction:column;align-items:stretch}
 .masthead .nav-links a{padding:11px 14px;border:0;border-bottom:1px solid #5e708955;font-size:13px}
 .hero-visual{min-height:340px}
 .hero-core{padding:6px 11px 13px}
 .hero-topline,.hero-bottomline{padding:10px 12px;font-size:9px}
 .hero-core p{font-size:11px}
 body:before{background-attachment:scroll;}
}


/* V1.2 – NEON CITY: automatically active on every page after installation. */
:root{--accent:#36eaff;--border:rgba(99,221,255,.58);--surface:#080b23;--surface-hi:#19133b;--text:#f4f6ff;--sub:#e2dff8;--muted:#b9b5d6;--blue:#20d6ff}
body{background-color:#020512;background-image:linear-gradient(110deg,rgba(1,3,17,.84),rgba(7,3,27,.71) 45%,rgba(1,5,18,.83)),var(--uploaded-bg),url('../images/pitbull-hintergrund.webp');background-size:cover,cover,cover;background-position:center center,center center,center center;background-repeat:no-repeat;background-attachment:fixed}
body:before{display:none!important}
.banner-shell{height:clamp(230px,31.5vw,610px);max-width:1920px;background:#04051c;border-bottom:2px solid #43dfff;box-shadow:0 5px 27px rgba(204,38,255,.33)}
.banner-image{object-fit:cover;object-position:center 30%}
.banner-shell:after{box-shadow:inset 0 -32px 28px -30px #15dbf9,inset 0 0 20px #070216b5}
.masthead{border-bottom:2px solid #36eaff;background:rgba(3,6,20,.96);box-shadow:0 10px 30px #000c,0 0 21px rgba(200,37,255,.18)}
.masthead .nav-links a{border-color:#55ccf433}
.masthead .nav-links a:hover,.masthead .nav-links a.current{background:linear-gradient(135deg,rgba(24,108,162,.8),rgba(87,13,136,.7));color:white;box-shadow:inset 0 -2px #47f4ff,0 0 13px #8f42ff80}
.panel{background:linear-gradient(145deg,rgba(8,14,36,.97),rgba(5,7,22,.96));border:1px solid rgba(70,199,252,.55);box-shadow:0 9px 28px #000b,0 0 16px #b620ff16}
.panel-heading{background:linear-gradient(90deg,rgba(13,38,76,.97),rgba(28,9,57,.98));border-bottom:1px solid #37dfff8c;box-shadow:inset 0 -2px 8px #a319fa22}
.panel-heading h2{color:#8eeeff;text-shadow:0 0 12px #009ce08a}
.current-panel{border-color:#bb4efbc2}
.current-panel:before{background:linear-gradient(90deg,#df37f9,#36efff,#7b4fff)}
.btn-primary{background:linear-gradient(115deg,#24e5f6,#7774ff 55%,#ad38fc);border-color:#84e9ff;color:#fff;box-shadow:0 0 17px #468aff6c}
.btn-outline{color:#98f2ff;background:#15bdff0f;border-color:#43daff8f}
.live-indicator{background:linear-gradient(100deg,#bd20c8,#e03f81);box-shadow:0 0 16px #de29f35e}
.hero-visual{background-image:linear-gradient(180deg,rgba(1,7,24,.1),rgba(2,5,17,.12) 45%,rgba(1,6,17,.85) 100%),url('../images/pitbull-startseite.webp');background-position:center center;background-size:cover;border:1px solid #4bdcffe0;min-height:clamp(340px,34vw,510px);box-shadow:0 0 24px #8a2af950,0 18px 40px #000b}
.hero-topline,.hero-bottomline{background:rgba(3,7,27,.64)}
.hero-core p{background:rgba(1,8,27,.85);border:1px solid #58dcffad;color:#f1f6ff}
.content-hero{border-color:#52e1ff;background:linear-gradient(125deg,rgba(9,19,50,.91),rgba(11,4,41,.94)),url('../images/pitbull-startseite.webp') center/cover;box-shadow:0 0 20px #9c37ef48}
.footer{background:rgba(2,5,17,.96);border-top-color:#53e6ffc0}
@media(max-width:720px){
 .banner-shell{height:clamp(180px,46vw,330px)}
 .banner-image{object-position:center 31%}
 body{background-attachment:scroll}
 .masthead .nav-links a{border-bottom:1px solid #56a8d859}
}
.install-preview{display:block;width:100%;height:auto;aspect-ratio:16/9;max-height:220px;object-fit:cover;object-position:center 31%;border-radius:13px;border:1px solid #68e6ff90;margin-bottom:18px}


/* ============================================================
   V1.3 · GLASS EDITION
   Transparent areas retain the vivid background, with frosted
   glass only behind text so the entire site remains readable.
   Applies to the homepage, schedule, team, forms and admin area.
   ============================================================ */
:root{
  --glass-surface:rgba(3,9,29,.46);
  --glass-head:rgba(3,12,34,.34);
  --glass-strong:rgba(3,10,29,.64);
  --glass-edge:rgba(115,229,255,.60);
  --glass-glow:rgba(135,61,250,.18);
  --text:#ffffff;
  --sub:#eff4ff;
  --muted:#dae3fb;
}
body{
  background-color:#050716;
  background-image:
    linear-gradient(110deg,rgba(1,4,17,.22),rgba(7,2,23,.16) 50%,rgba(0,6,18,.28)),
    var(--uploaded-bg),url('../images/pitbull-hintergrund.webp');
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center center;
  background-attachment:fixed;
  color:var(--text);
  text-shadow:0 1px 2px rgba(0,0,0,.9);
}
body:before{display:none!important}
.main-frame,.column-left,.column-center,.column-right{background:transparent}
/* Smaller true-alpha header artwork floats over the page background. */
.masthead{
  background:rgba(2,8,23,.16);
  border-bottom:1px solid rgba(87,228,255,.61);
  box-shadow:0 8px 26px rgba(0,0,0,.42);
  -webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);
}
.masthead-glow{opacity:.3}
.banner-shell{
  height:clamp(200px,23vw,370px);
  display:flex;align-items:center;justify-content:center;
  padding:0 18px;
  border-bottom:1px solid rgba(81,218,255,.34);
  background:transparent;
  box-shadow:none;
}
.banner-shell:after{box-shadow:none;background:none}
.banner-image{
  width:min(1080px,100%);
  height:100%;
  object-fit:contain;
  object-position:center center;
  filter:drop-shadow(0 10px 16px rgba(0,0,0,.55)) drop-shadow(0 0 17px rgba(91,32,231,.27));
}
.masthead .topbar{background:rgba(1,6,22,.14);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}
.masthead .nav-links a{
  color:#fff;
  text-shadow:0 2px 5px #000;
  background:rgba(1,11,27,.19);
  border-color:rgba(100,204,249,.26)
}
.masthead .nav-links a:hover,.masthead .nav-links a.current{
  background:rgba(18,43,88,.56);
  box-shadow:inset 0 -2px #65eafa,0 0 14px rgba(61,197,252,.24);
}
.panel,.auth-frame.panel{
  background:var(--glass-surface);
  -webkit-backdrop-filter:blur(16px) saturate(120%);
  backdrop-filter:blur(16px) saturate(120%);
  border:1px solid var(--glass-edge);
  box-shadow:0 12px 28px rgba(0,0,0,.35),inset 0 1px rgba(235,252,255,.20),0 0 15px var(--glass-glow);
}
.panel-heading{
  background:var(--glass-head);
  border-bottom:1px solid rgba(109,226,255,.54);
  box-shadow:inset 0 -1px 9px rgba(0,206,255,.10);
  -webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);
}
.panel-heading h2,.content-hero h1,.panel h1,.panel h2,.panel h3,.center-feature h2{
  color:#fff;text-shadow:0 2px 7px rgba(0,0,0,.99),0 0 12px rgba(0,188,255,.2);
}
.panel-heading h2{color:#b4f5ff}
.panel-body{background:transparent}
.panel-body p,.panel-body span,.panel-body strong,.panel-body label,.panel-body small,
.schedule-copy p,.content-hero p,.center-feature p,.record-row,.user-editor{
  text-shadow:0 1px 3px rgba(0,0,0,.96);
}
.panel .muted,.muted,.detail-label,.tile-subtitle,.record-row small,.user-editor summary small,
.person-line small,.schedule-date small{color:#e3ebff}
.listening-panel .panel-body{
  background:linear-gradient(120deg,rgba(55,32,111,.20),rgba(6,28,62,.24));
}
/* Main promo area is still recognisable but the rest of the page stays translucent. */
.hero-visual{
  background-image:linear-gradient(180deg,rgba(1,7,26,.02),rgba(2,7,23,.08) 52%,rgba(0,6,18,.61)),url('../images/pitbull-startseite.webp');
  background-position:center;
  background-size:cover;
  border:1px solid rgba(112,231,255,.77);
  box-shadow:0 15px 37px rgba(0,0,0,.37),0 0 19px rgba(91,34,236,.19);
}
.hero-topline,.hero-bottomline{background:rgba(2,8,22,.28)}
.hero-core p{
  background:rgba(2,9,26,.60);
  color:white;
  border:1px solid rgba(112,232,255,.7);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  text-shadow:0 2px 4px #000;
}
.center-feature,.stat-card,.admin-sidebar,.install-shell{
  background:rgba(2,10,27,.44);
  border:1px solid rgba(115,229,255,.58);
  -webkit-backdrop-filter:blur(16px) saturate(125%);backdrop-filter:blur(16px) saturate(125%);
  box-shadow:0 9px 24px rgba(0,0,0,.32);
}
.center-feature p,.center-feature span{color:#f6f7ff}
.content-hero{
  background:linear-gradient(130deg,rgba(3,10,34,.35),rgba(10,5,42,.40));
  border:1px solid rgba(111,225,255,.60);
  -webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);
  box-shadow:0 12px 28px rgba(0,0,0,.30);
}
.content-hero p{color:#fff}
.schedule-item,.user-editor,.shout,.partner-item,.status-summary span,.permission-grid label{
  background:rgba(2,10,29,.42);
  border-color:rgba(156,221,255,.38);
  -webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);
}
.track-row,.person-line,.record-row{border-color:rgba(214,239,255,.21)}
.empty-state{color:#fff;background:rgba(2,9,27,.31);border-color:rgba(177,227,255,.5)}
.shout-meta small,.status-summary span,.person-line small,.schedule-date small{color:#edf5ff}
.tile-art,.image-placeholder{background:linear-gradient(135deg,rgba(42,9,78,.45),rgba(9,47,90,.32))}
.member-picture,.center-poster,.portrait{background:rgba(4,13,35,.22)}
/* Form fields need a slightly denser backdrop than decorative panels for contrast. */
.form-stack label{color:#fff;font-size:14px}
.form-stack input:not([type=checkbox]):not([type=file]),
.form-stack select,.form-stack textarea,.shout-form textarea,.action-row select{
  background:var(--glass-strong);
  color:#fff;
  border:1px solid rgba(167,226,255,.69);
  -webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);
}
.form-stack input::placeholder,.form-stack textarea::placeholder,.shout-form textarea::placeholder{color:#dae5f4;opacity:1}
.form-stack input:focus,.form-stack select:focus,.form-stack textarea:focus,.shout-form textarea:focus{
  border-color:#a1f5ff;box-shadow:0 0 0 3px rgba(100,214,255,.33);outline:none
}
.btn,.btn-secondary,.btn-glass,.icon-btn,.btn-outline{background:rgba(5,20,44,.52);color:white;border-color:rgba(150,229,255,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.btn-primary{background:linear-gradient(115deg,rgba(10,141,190,.91),rgba(101,44,210,.9));color:#fff;border-color:#b5f8ff}
.btn-danger{background:rgba(145,31,70,.82);border-color:#ff85a4}
.btn:hover,.btn:focus-visible,.masthead a:focus-visible{outline:2px solid #baf5ff;outline-offset:2px}
.admin-sidebar a{color:#effaff;text-shadow:0 1px 3px #000}
.admin-sidebar a:hover,.admin-sidebar a.selected{background:rgba(91,29,172,.36);color:#fff}
.stat-card span,.stat-card strong{color:#f1f7ff}
.stat-card strong,.status-summary b{color:#b6f7ff}
.footer{
  background:rgba(2,8,25,.30);
  border-top:1px solid rgba(111,229,255,.54);
  -webkit-backdrop-filter:blur(11px);backdrop-filter:blur(11px);
}
.footer-inner,.footer a{color:#f5faff}
.mini-player{background:rgba(2,10,30,.77)}
.alert{background:rgba(58,40,9,.50)}
.alert.ok{background:rgba(10,92,65,.6)}
.alert.error{background:rgba(108,10,35,.72)}
.install-preview{object-fit:contain;object-position:center;background:transparent;border:0;max-height:200px}
/* Smaller screens: readable translucent navigation, a compact centered header. */
@media(max-width:720px){
  body{background-attachment:scroll;background-position:center top}
  .banner-shell{height:clamp(155px,40vw,245px);padding:0 8px}
  .banner-image{width:100%;height:100%;object-fit:contain;object-position:center}
  .masthead .nav-links{background:rgba(2,11,30,.76);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}
  .masthead .nav-links a{background:rgba(2,14,34,.25)}
  .panel{background:rgba(2,8,27,.57)}
  .admin-sidebar{background:rgba(2,9,28,.65)}
  .column-right{align-items:stretch}
  .column-right>.panel{width:100%}
}
@media(prefers-reduced-transparency:reduce){
  .panel,.auth-frame.panel,.center-feature,.content-hero,.stat-card,.admin-sidebar,.install-shell{background:rgba(2,8,23,.88)}
  .footer,.masthead{background:rgba(2,7,23,.88)}
}


/* ========================================================================
   V1.4 · TRANSPARENT HEADER + NAVIGATION · 18.10.2026
   Entire logo/navigation/header backdrop is fully clear and DOES NOT BLUR.
   Only high-contrast lettering, fine separators and a focus indicator remain.
   Applies on ALL routes because navigation is created by render_header().
   ======================================================================== */
:root{--nav-readable-shadow:0 2px 5px #000,0 0 12px #000,0 0 22px rgba(0,0,0,.90)}
/* No solid panel, dark overlay or frosted glass obscures the wallpaper. */
header.masthead,header.masthead .topbar,header.masthead .nav-links,
header.masthead .masthead-glow,header.masthead .brand,
header.masthead .brand-icon,header.masthead .brand-copy,
header.masthead .nav-links a,header.masthead .menu-toggle,
header.masthead .banner-shell,header.masthead .banner-shell::after{
  background:transparent!important;
  background-image:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  box-shadow:none!important;
}
header.masthead{border:0!important;isolation:isolate}
header.masthead .masthead-glow{display:none!important}
header.masthead .banner-shell{border:0!important}
header.masthead .banner-shell::after{display:none!important}
header.masthead .topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  min-height:64px;
  gap:12px;
  padding:8px 0 12px;
  border:0!important;
}
/* Display the logo/brand alongside the transparent menu. */
header.masthead .topbar .brand{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
  flex:0 0 auto;
  color:#fff;
  text-decoration:none;
}
header.masthead .brand-icon{
  border:1px solid rgba(146,241,255,.45);
  border-radius:13px;
  width:47px;
  height:47px;
  text-shadow:var(--nav-readable-shadow);
}
header.masthead .brand-copy b{
  display:block;
  color:#fff;
  font-size:clamp(16px,1.35vw,22px);
  letter-spacing:.025em;
  text-shadow:var(--nav-readable-shadow);
}
header.masthead .brand-copy small{
  display:block;
  color:#ecfaff;
  font-size:10px;
  line-height:1.3;
  text-shadow:var(--nav-readable-shadow);
}
header.masthead .nav-links{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex:1 1 700px;
  width:auto;
  gap:1px;
  border:0!important;
  padding:0;
}
header.masthead .nav-links a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:11px 9px;
  border:0!important;
  border-radius:8px;
  color:#fff!important;
  text-align:center;
  font-size:clamp(10px,.85vw,13px);
  font-weight:850;
  line-height:1.3;
  text-shadow:var(--nav-readable-shadow);
  -webkit-text-stroke:.12px rgba(255,255,255,.7);
  text-decoration:none;
  transition:color .2s ease,transform .2s ease;
}
header.masthead .nav-links a.current,
header.masthead .nav-links a:hover{
  color:#98f4ff!important;
  text-shadow:var(--nav-readable-shadow),0 0 7px rgba(64,226,255,.7);
  transform:none;
  text-decoration:underline;
  text-decoration-color:#7cecff;
  text-underline-offset:6px;
  text-decoration-thickness:2px;
}
header.masthead .nav-links a:focus-visible,
header.masthead .brand:focus-visible,
header.masthead .menu-toggle:focus-visible{
  outline:2px solid #a9f6ff;
  outline-offset:3px;
}
header.masthead .menu-toggle{
  color:#fff;
  border:1px solid rgba(142,241,255,.6)!important;
  text-shadow:var(--nav-readable-shadow);
}
/* At reduced desktop widths the menu wraps below the brand, still clear. */
@media (min-width:721px) and (max-width:1300px){
  header.masthead .topbar{justify-content:center;gap:5px;padding:7px 0 12px}
  header.masthead .topbar .brand{justify-content:center;width:100%}
  header.masthead .nav-links{flex:1 1 100%;width:100%;justify-content:center}
  header.masthead .nav-links a{font-size:12px;padding:11px 12px}
}
/* Dropdown is also transparent rather than using the old solid rectangle. */
@media (max-width:720px){
  header.masthead .topbar{justify-content:space-between;flex-wrap:nowrap;gap:8px;min-height:62px}
  header.masthead .topbar .brand{width:auto;flex:0 1 auto}
  header.masthead .brand-icon{height:40px;width:40px}
  header.masthead .brand-copy b{font-size:15px}
  header.masthead .brand-copy small{display:block;font-size:9px}
  header.masthead .menu-toggle{display:block;flex:0 0 auto}
  header.masthead .nav-links{
    display:none;
    position:absolute;
    left:0;right:0;top:100%;z-index:25;
    width:100%;
    flex-direction:column;
    justify-content:initial;
    align-items:stretch;
    gap:0;
    padding:10px 9px 13px;
    border:1px solid rgba(132,230,255,.38)!important;
    border-top:0!important;
    border-radius:0 0 14px 14px;
  }
  header.masthead .nav-links.open{display:flex}
  header.masthead .nav-links a{
    display:block;
    width:100%;
    padding:12px 10px;
    font-size:14px;
    border-bottom:1px solid rgba(135,223,255,.25)!important;
  }
  header.masthead .nav-links a:last-child{border-bottom:0!important}
}


/* ========================================================================
   PITBULL-PARTY 1.5 · HEADER ETWAS BREITER · 18.10.2026
   Enlarges ONLY the floating transparent header motif to the left and right.
   The navigation, topbar, menu links and typography stay unchanged from v1.4.
   Dedicated free space below the artwork prevents touching the navigation.
   ======================================================================== */
header.masthead .banner-shell{
  /* Original: clamp(200px,23vw,370px), new: modestly larger at every width */
  height:clamp(230px,28vw,465px);
  width:100%;
  max-width:1920px;
  margin:0 auto;
  padding:0 18px 18px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
header.masthead .banner-shell .banner-image{
  display:block;
  width:min(1260px,100%);
  height:100%;
  max-width:100%;
  object-fit:contain;
  object-position:center center;
  flex:0 1 auto;
  /* Keep original drop shadows: transparency, no box behind banner. */
}
@media (max-width:720px){
  header.masthead .banner-shell{
    height:clamp(178px,45vw,265px);
    padding:0 8px 12px;
  }
  header.masthead .banner-shell .banner-image{width:100%;height:100%;object-fit:contain}
}

/* v1.6 · Startseiten-Kachel-Editor / granular permission controls */
.permission-group{padding:16px;border:1px solid rgba(97,223,255,.36);border-radius:13px;margin:12px 0;background:rgba(5,9,24,.23)}
.permission-group legend{font-size:15px;font-weight:900;color:#b9f5ff;padding:0 9px;text-shadow:0 2px 5px #000}
.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(230px,1fr));gap:10px}
.permission-grid .permission-item{display:flex;align-items:center;flex-direction:row;gap:12px;min-height:48px;padding:12px 14px;background:rgba(8,12,33,.43);border:1px solid rgba(115,196,255,.38);border-radius:10px;color:#fff;line-height:1.45;font-size:14px;font-weight:700;text-shadow:0 2px 4px #000}
.permission-item input{flex:0 0 auto;width:20px;height:20px;accent-color:#32e8ff}
.permission-locked{opacity:.63}
.user-editor{background:rgba(3,9,28,.22);backdrop-filter:blur(5px);border:1px solid rgba(128,225,255,.43)}
.user-editor summary{padding:7px;color:#fff;font-size:15px;text-shadow:0 2px 5px #000}
.user-editor[open] summary{padding-bottom:16px;border-bottom:1px solid rgba(192,210,255,.3)}
.user-editor>.form-stack{padding:17px 6px 8px}
.home-custom-image{display:block;max-width:100%;width:min(100%,480px);max-height:230px;object-fit:contain;margin:10px auto 14px;border-radius:12px}
.home-custom-text{font-weight:700;color:#fff;text-shadow:0 2px 6px #000,0 0 15px #020818;margin:10px 0 16px}
.home-media-head{margin:15px 0 8px;text-align:center}
.home-media-head h2{color:#f3fbff;text-shadow:0 2px 8px #000;font-size:21px}
@media(max-width:850px){.permission-grid{grid-template-columns:1fr}.permission-group{padding:12px}.permission-grid .permission-item{font-size:13px}}


/* PITBULL-PARTY 1.7 – öffentliche Wartungsseite, angepasst ans transparente Neon-Design */
body.maintenance-page {min-height:100dvh;display:grid;place-items:center;padding:clamp(18px,4vw,45px) 14px;color:#fff;}
.maintenance-wrap {position:relative;z-index:1;width:min(1050px,100%);margin:auto;text-align:center;display:flex;align-items:center;flex-direction:column;gap:clamp(8px,2vw,20px);}
.maintenance-banner {width:min(780px,96vw);height:auto;max-height:38vh;object-fit:contain;filter:drop-shadow(0 14px 30px rgba(0,0,0,.6));}
.maintenance-content {width:min(780px,100%);background:linear-gradient(130deg,rgba(3,10,33,.62),rgba(22,6,45,.55));border:1px solid rgba(124,231,255,.53);border-radius:24px;padding:clamp(26px,5vw,55px);box-shadow:0 18px 60px rgba(0,0,0,.52),inset 0 1px rgba(255,255,255,.18);-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);}
.maintenance-eyebrow {color:#9ff7ff;letter-spacing:.2em;font-size:12px;font-weight:900;display:inline-flex;align-items:center;gap:12px;margin-bottom:18px;text-shadow:0 2px 10px #000;}
.maintenance-pulse {height:10px;width:10px;border-radius:50%;background:#ff74db;box-shadow:0 0 0 5px rgba(255,82,225,.1),0 0 18px #e544eb;}
.maintenance-content h1 {color:#fff;font-size:clamp(27px,4vw,53px);line-height:1.17;text-shadow:0 3px 16px #000,0 0 22px rgba(35,220,255,.28);margin:0 0 22px;overflow-wrap:anywhere;}
.maintenance-content p {color:#f7f5ff;text-shadow:0 2px 6px #000;font-size:clamp(16px,1.7vw,19px);line-height:1.7;margin:0;white-space:normal;overflow-wrap:anywhere;}
.maintenance-signal{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:26px;border-top:1px solid #ffffff33;padding-top:19px;font-size:clamp(11px,1.5vw,13px);font-weight:800;letter-spacing:.04em;color:#d0f9ff;text-shadow:0 2px 7px #000;}
.maintenance-signal span:first-child{font-size:23px;color:#fc8bfc;}
.maintenance-login{color:#f0fdff;text-shadow:0 2px 10px #000;background:rgba(5,11,29,.35);border:1px solid rgba(124,231,255,.4);border-radius:999px;padding:11px 22px;font-size:13px;font-weight:800;}
.maintenance-login:hover,.maintenance-login:focus-visible{border-color:#d6fcff;background:rgba(10,20,50,.55);outline:2px solid #5edaff;outline-offset:3px;}
.maintenance-admin-state {padding:18px;border-radius:13px;margin:20px 0;background:rgba(3,16,34,.34);border:1px solid rgba(89,216,247,.38);}
.maintenance-admin-state strong {font-size:17px;display:block;margin-bottom:8px;}
.maintenance-admin-state p {margin:0;}
.maintenance-admin-active{border-color:rgba(255,123,150,.8);background:rgba(100,15,34,.26);}
.maintenance-admin-inactive{border-color:rgba(77,233,180,.8);}
.maintenance-admin-switch {display:flex;gap:14px;align-items:center;background:rgba(8,24,49,.5);border:1px solid rgba(124,231,255,.35);border-radius:12px;padding:16px 20px;font-weight:800;}
.maintenance-admin-switch input {height:22px;width:22px;accent-color:#54e5ff;flex-shrink:0;}
.maintenance-admin-note{font-size:13px;background:rgba(9,18,42,.48);border:1px dashed rgba(134,232,255,.36);border-radius:11px;padding:15px 17px;line-height:1.7;margin:16px 0;}
.maintenance-admin-note code{color:#c8edff;white-space:normal;overflow-wrap:anywhere;}
.maintenance-quick-status{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;padding:15px 18px;border:1px solid rgba(124,231,255,.52);border-radius:12px;background:rgba(6,13,34,.54);margin-bottom:18px;}
@media(max-width:720px){.maintenance-banner{max-height:33vh}.maintenance-content{padding:24px 17px}.maintenance-content h1{font-size:clamp(26px,6vw,36px)}.maintenance-signal{gap:6px}.maintenance-admin-switch{padding:12px}}


/* Pitbull-Party v1.8 – separater 14-Tage-Lernplan mit anklickbaren 2-Stunden-Feldern */
.learning-area{max-width:100%;overflow:hidden;color:#fff}
.learning-area h2,.learning-area h3,.learning-area p{color:#fff;text-shadow:0 2px 8px #000}
.learning-period-nav{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin:18px 0;padding:12px;border:1px solid #8eeeff77;border-radius:14px;background:#06142b55;text-align:center}
.learning-period-nav strong{font-size:clamp(14px,1.6vw,18px);color:#e3fcff;text-shadow:0 2px 9px #000}
.learning-week-switch{display:flex;gap:12px;margin:18px 0;flex-wrap:wrap}
.learning-week-button{cursor:pointer;border:1px solid #8edbff88;border-radius:11px;background:#050e2680;color:#fff;padding:12px 18px;font-weight:800;box-shadow:0 2px 9px #0008}
.learning-week-button.is-selected{border-color:#50f3ff;box-shadow:0 0 15px #28cfff75;outline:1px solid #50f3ff;background:#122856ac}
.learning-week[hidden],.learning-editor[hidden]{display:none!important}
.learning-day-grid{display:grid;grid-template-columns:repeat(7,minmax(145px,1fr));gap:8px;max-width:100%}
.learning-day{padding:7px;border:1px solid #53d8f665;border-radius:12px;background:rgba(1,6,23,.28);min-width:0}
.learning-day h3{font-size:14px;margin:2px 0 10px;padding:9px 4px;text-align:center;background:rgba(6,14,40,.37);border-radius:9px}
.learning-slot{width:100%;min-height:94px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left;gap:5px;padding:10px 8px;margin:0 0 7px;border-radius:10px;border:1px solid #8feaff66;background:rgba(3,11,37,.28);color:#effaff;cursor:pointer;text-shadow:0 2px 6px #000;font:inherit;overflow-wrap:anywhere}
.learning-slot:hover:not(:disabled),.learning-slot:focus-visible{outline:2px solid #8ceeff;outline-offset:1px;background:#122f6488;box-shadow:0 0 14px #2bdcfb80}
.learning-slot strong{font-size:12px;line-height:1.3;color:#fff}
.learning-slot small{font-size:11px;color:#dbf6ff}
.learning-time{font-size:12px;color:#96f6ff;font-weight:900}
.learning-slot.learning-booked{background:rgba(35,18,78,.53);border-color:#f29bff9c}
.learning-slot.learning-done{background:rgba(5,71,53,.55);border-color:#6bffd0}
.learning-slot:disabled{cursor:default;opacity:.85}
.learning-editor{scroll-margin-top:12px;margin-top:24px;padding:20px;border:1px solid #8cf7ff;border-radius:16px;background:rgba(5,10,32,.78);box-shadow:0 10px 40px #0009,0 0 18px #62dfff45;backdrop-filter:blur(12px)}
.learning-editor h3{margin:0 0 8px;font-size:22px}.learning-selected-label{font-weight:900;color:#fff;font-size:17px}
.learning-editor-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.learning-editor-actions .btn{min-height:44px}
.learning-readonly{padding:16px;margin-top:18px;border-radius:10px;border:1px solid #9aefff8c;background:#06183175}
@media(max-width:1500px){.learning-day-grid{grid-template-columns:repeat(4,minmax(165px,1fr))}}
@media(max-width:900px){.learning-day-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}}
@media(max-width:540px){.learning-day-grid{grid-template-columns:1fr}.learning-day{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.learning-day h3{grid-column:1/-1}.learning-slot{margin:0;min-height:93px}.learning-period-nav{flex-direction:column}.learning-period-nav .btn{width:100%}.learning-editor{padding:13px}.learning-editor-actions .btn{width:100%}}

/* v1.9 · Broadcast calendar editor. Glass/transparent surfaces match all subpages. */
.broadcast-manager,.broadcast-editor,.broadcast-overview,.public-broadcasts{color:#fff;background:rgba(2,10,30,.24)!important;border:1px solid #83eafa8f!important;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.broadcast-manager [hidden],.public-broadcasts [hidden]{display:none!important}
.broadcast-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.broadcast-head h2,.broadcast-editor h2{color:#effaff;font-size:clamp(24px,2.2vw,32px);text-shadow:0 2px 10px #000}
.broadcast-head p,.broadcast-editor p{color:#f3f7ff;font-size:15px;line-height:1.5}
.broadcast-period-nav{display:flex;gap:13px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin:20px 0}
.broadcast-period-nav strong{font-size:17px;color:#fff;text-align:center;text-shadow:0 3px 8px #000}
.broadcast-switch{display:flex;gap:10px;flex-wrap:wrap;margin:13px 0 18px}
.broadcast-switch .btn.is-selected{background:linear-gradient(110deg,#4a26ae,#128cad);box-shadow:0 0 12px #38d8ff75;border-color:#7cf2ff;color:#fff}
.broadcast-key{display:flex;gap:17px;flex-wrap:wrap;padding:6px 0 18px;font-size:12px;font-weight:700;color:#e7f9ff}
.broadcast-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.broadcast-day{min-width:0;border:1px solid #58deff83;border-radius:12px;background:rgba(1,7,23,.3);padding:7px}
.broadcast-today{border-color:#fbcc7e;box-shadow:0 0 13px #ffe28755}
.broadcast-day h3{font-size:14px;text-align:center;margin:0 0 9px;padding:9px 5px;color:#eff9ff;border-radius:8px;background:rgba(20,35,80,.48)}
.broadcast-slot{min-height:97px;border:1px solid #57e4ff55;border-radius:9px;padding:8px 6px;margin-bottom:8px;background:rgba(6,15,38,.38);display:flex;flex-direction:column;justify-content:center;gap:6px;overflow-wrap:anywhere;box-shadow:inset 0 1px #ffffff19}
.broadcast-slot-time{font-size:12px;font-weight:900;color:#a8f7ff;white-space:nowrap}
.broadcast-free{color:#e0f9ffbd;font-size:12px}
.broadcast-select{font-size:11px;color:#fff;background:#027b9c8a;border:1px solid #5df3ff99;border-radius:8px;padding:9px 3px;cursor:pointer;font-weight:800}
.broadcast-select:hover,.broadcast-select:focus-visible{background:#0b8abe;outline:2px solid #91ffff;outline-offset:2px}
.broadcast-occupied{background:rgba(67,13,103,.44);border-color:#e3a2ff8a}
.broadcast-booking{display:flex;flex-direction:column;gap:4px;align-items:center;text-align:center}
.broadcast-avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;border:2px solid #94eaff}
.broadcast-topic-mini{width:100%;max-height:56px;object-fit:cover;border-radius:6px}
.broadcast-booking-text{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:11px;color:#fff;overflow-wrap:anywhere}
.broadcast-booking-text strong{font-size:12px;color:#fff}.broadcast-booking-text small{color:#acf8ff;font-size:10px}
.broadcast-edit{color:#fff;background:rgba(19,102,140,.72);text-align:center;border-radius:7px;font-size:11px;font-weight:800;padding:7px 2px}
.broadcast-editor{scroll-margin-top:14px;margin-top:18px}.broadcast-editor h3{font-size:19px;margin:18px 0 10px}
.broadcast-quick-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:8px 0 15px}
.broadcast-quick-actions span{font-size:13px;font-weight:700}
.broadcast-dj-grid,.broadcast-topic-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(116px,1fr));gap:11px;margin:12px 0 18px}
.broadcast-dj-choice,.broadcast-topic-choice{position:relative;cursor:pointer;border:1px solid #65e6ff8c;background:rgba(2,12,38,.49);padding:7px;border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;color:#fff;min-width:0}
.broadcast-dj-choice:hover,.broadcast-topic-choice:hover,.broadcast-dj-choice:focus-within,.broadcast-topic-choice:focus-within{border-color:#fff;box-shadow:0 0 16px #a949ff88;outline-offset:1px}
.broadcast-dj-choice:has(input:checked),.broadcast-topic-choice:has(input:checked),.broadcast-dj-choice.is-selected,.broadcast-topic-choice.is-selected{background:rgba(74,30,128,.61);border:2px solid #93efff;box-shadow:0 0 12px #2defff5c}
.broadcast-dj-choice input,.broadcast-topic-choice input{position:absolute;top:8px;right:8px;width:18px;height:18px;accent-color:#71efff;cursor:pointer}
.broadcast-dj-choice-image{width:72px;height:72px;object-fit:cover;border-radius:50%;margin-top:6px}
.broadcast-topic-thumb{width:100%;height:80px;object-fit:cover;border-radius:7px;margin-top:6px}
.broadcast-dj-choice strong,.broadcast-topic-choice strong{font-size:12px;color:#fff;line-height:1.3;overflow-wrap:anywhere}
.broadcast-preview-images{display:flex;flex-wrap:wrap;gap:20px;padding:12px 0}.broadcast-preview-images>div{display:flex;flex-direction:column;font-size:13px;font-weight:700;gap:8px}
.broadcast-preview{height:105px;width:170px;object-fit:contain;background:#0006;border-radius:8px;border:1px solid #60ddfb78}
.broadcast-clear{display:flex;align-items:center;gap:10px;font-weight:600;font-size:13px}
.broadcast-clear input{width:18px;height:18px}
.broadcast-form-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.broadcast-overview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:13px}
.broadcast-overview-card{display:grid;grid-template-columns:60px minmax(0,1fr);grid-auto-rows:auto;gap:6px 10px;align-items:center;padding:11px;border-radius:11px;background:rgba(4,17,39,.55);border:1px solid #50d2fb67}
.broadcast-overview-avatar{width:58px;height:58px;object-fit:cover;border-radius:10px;grid-row:span 2}
.broadcast-overview-card>div{display:flex;flex-direction:column;min-width:0;gap:2px}.broadcast-overview-card>div span{font-size:11px;color:#a5edfa}.broadcast-overview-card>div b{font-size:13px}
.broadcast-overview-topic{width:100%;height:75px;object-fit:cover;border-radius:8px;grid-column:2}
.broadcast-overview-card>a{grid-column:1/-1;text-align:center}
.broadcast-public-days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.broadcast-public-day{min-width:0;background:rgba(3,12,36,.35);border:1px solid #65d9f283;border-radius:13px;padding:14px}
.broadcast-public-day h2{font-size:19px;border-bottom:1px solid #65ddff77;padding-bottom:10px}
.broadcast-public-empty{font-size:14px;color:#eef5ff}
.broadcast-public-card{display:grid;grid-template-columns:78px minmax(0,1fr) 110px;gap:12px;align-items:center;margin:12px 0;padding:9px;border:1px solid #a66bff8c;border-radius:10px;background:rgba(5,10,33,.52)}
.broadcast-public-dj{width:75px;height:75px;object-fit:cover;border-radius:12px}
.broadcast-public-topic{width:110px;height:75px;object-fit:cover;border-radius:9px}
.broadcast-public-copy h3{font-size:16px;color:#fff;margin:4px 0}.broadcast-public-copy strong{font-size:13px}.broadcast-public-copy p{margin:5px 0 0;font-size:12px;color:#e6f5ff}
@media(max-width:1500px){.broadcast-days{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1050px){.broadcast-days{grid-template-columns:repeat(2,minmax(0,1fr))}.broadcast-public-days{grid-template-columns:1fr}}
@media(max-width:580px){.broadcast-days{grid-template-columns:1fr}.broadcast-day{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.broadcast-day h3{grid-column:1/-1}.broadcast-slot{margin:0}.broadcast-period-nav{flex-direction:column}.broadcast-period-nav .btn,.broadcast-period-nav strong{width:100%}.broadcast-switch .btn{flex:1}.broadcast-dj-grid,.broadcast-topic-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.broadcast-public-card{grid-template-columns:55px minmax(0,1fr)}.broadcast-public-dj{width:54px;height:54px}.broadcast-public-topic{grid-column:1/-1;width:100%;height:95px}.broadcast-form-actions>*{width:100%}}

/* v2.0 AzuraCast Player */
.azura-nowplaying{display:flex;align-items:center;gap:11px;min-width:0;padding:9px 0}
.azura-meta{min-width:0;flex:1}.azura-meta .track-row{overflow-wrap:anywhere;margin:4px 0}
.azura-cover{width:68px;height:68px;flex:0 0 auto;border-radius:10px;object-fit:cover;border:1px solid #8ae9ff7c;background:#051024aa}
.azura-cover[hidden],.player-status[hidden]{display:none!important}
.player-status{flex-basis:100%;padding:7px 9px;border-radius:8px;background:#3b1426dd;color:#fff;font-size:12px;line-height:1.45}
.mini-player{flex-wrap:wrap}.mini-player audio{max-width:100%}
.radio-admin-box{border:1px solid #7fe8ff77;border-radius:13px;background:rgba(6,18,36,.35);padding:15px;margin:5px 0 20px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.radio-admin-box strong,.radio-admin-box p{flex:1 0 100%}.radio-admin-box p{font-size:13px;line-height:1.65;margin:2px 0}.radio-admin-box code{overflow-wrap:anywhere;color:#befaff}
.radio-admin-box #azuraTestResult{flex:1 1 100%;font-size:13px;color:#b9fbff}
@media(max-width:600px){.azura-cover{width:54px;height:54px}.mini-player{gap:8px}.mini-player audio{width:100%;flex-basis:70%}}


/* v2.1: 14-Tage DJ- und Sendethemen-Kalender, transparent über dem Seitenhintergrund */
.show-home-board,.public-broadcasts{color:#fff;background:rgba(3,11,35,.32)!important;border:1px solid rgba(95,232,255,.45)!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.show-home-board{margin-top:28px;overflow:hidden}
.show-home-board [hidden],.public-broadcasts [hidden],.broadcast-manager [hidden]{display:none!important}
.show-home-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.show-home-heading h2{font-size:clamp(22px,2.4vw,34px);margin:3px 0 8px;color:#fff;text-shadow:0 2px 12px #000}
.show-home-heading p{margin:0;color:#eef8ff}
.show-home-topline{margin-top:18px;display:flex;gap:10px;flex-wrap:wrap}
.show-home-topline .small-chip{border:1px solid #53dbf477;border-radius:100px;padding:7px 12px;background:#06234c77;color:#d7faff}
.show-home-weeks{display:flex;gap:12px;margin:22px 0 14px;flex-wrap:wrap}
.show-home-week{background:rgba(10,31,62,.62);border:1px solid #7dcaff90;color:#fff;border-radius:12px;padding:11px 19px;font-size:15px;font-weight:900;min-width:148px;box-shadow:0 5px 15px #0004;text-align:left}
.show-home-week small{display:block;color:#c4e5f8;font-weight:650;font-size:11px;margin-top:3px}
.show-home-week.is-selected,.show-home-week:focus-visible{background:linear-gradient(125deg,#0a98c4a8,#9631c89f);border-color:#b0f5ff;outline:2px solid #1ef0ff60;outline-offset:2px}
.show-home-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;margin:10px 0 18px}
.show-home-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:68px;min-width:0;border:1px solid #70c6f37c;border-radius:12px;background:#051a38ac;color:#fff;padding:8px 4px;text-align:center;transition:transform .15s,background .15s}
.show-home-day span{font-weight:900;color:#66e6ff;letter-spacing:.07em;font-size:11px;text-transform:uppercase}
.show-home-day strong{font-size:clamp(11px,1.2vw,17px);line-height:1.25}
.show-home-day small{font-size:10px;color:#deeeff}
.show-home-day.is-selected{border-color:#ffc876;background:linear-gradient(150deg,#6c2786bb,#1267a2c9);box-shadow:0 0 12px #f879ff4a;transform:translateY(-2px)}
.show-home-day:focus-visible{outline:2px solid #fcdb75;outline-offset:2px}
.show-home-day-title{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:5px 0 15px}
.show-home-day-title h3,.show-home-day-title h2{font-size:clamp(17px,1.8vw,24px);margin:0;color:#fff;text-shadow:0 3px 9px #000}
.show-home-day-title>span{font-size:12px;font-weight:850;color:#99e9ff;border:1px solid #66cfe874;border-radius:16px;padding:5px 10px;background:#02172b99}
.show-home-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,245px),1fr));gap:16px}
.show-home-card{display:flex;flex-direction:column;min-width:0;background:linear-gradient(155deg,rgba(14,36,68,.69),rgba(14,9,40,.63));border:1px solid #66cfff90;border-radius:15px;overflow:hidden;box-shadow:0 14px 28px #0103118a;transition:transform .18s,border-color .18s}
.show-home-card:hover{transform:translateY(-3px);border-color:#f99bff}
.show-home-picture{position:relative;height:155px;overflow:hidden;background:linear-gradient(140deg,#171052,#044c79)}
.show-home-topic-art{width:100%;height:100%;object-fit:cover;display:block}
.show-home-clock{position:absolute;bottom:9px;left:9px;padding:6px 10px;border-radius:9px;color:#fff;background:#041022ed;font-weight:900;font-size:12px;border:1px solid #65ddf39c;text-shadow:0 2px 5px #000}
.show-home-card-body{padding:13px 15px 17px;flex:1}
.show-home-dj{display:flex;align-items:center;gap:10px;min-width:0}
.show-home-avatar{width:60px;height:60px;flex:0 0 60px;object-fit:cover;border-radius:50%;border:2px solid #ffbf76;background:#151d49;box-shadow:0 0 12px #e88aff66}
.show-home-dj div{min-width:0;display:flex;flex-direction:column;line-height:1.25;gap:4px;overflow-wrap:anywhere}
.show-home-dj small{color:#a4ebff;font-size:10px;font-weight:850;letter-spacing:.1em}
.show-home-dj strong{font-size:16px;color:#fff}
.show-home-card-body h4,.show-home-card-body h3{color:#ffe199;margin:13px 0 0;font-size:clamp(16px,1.2vw,20px);line-height:1.25;overflow-wrap:anywhere}
.show-home-details{margin-top:12px;border-top:1px solid #acc9ee59;padding-top:8px;font-size:13px}
.show-home-details summary{cursor:pointer;font-weight:800;color:#97f7ff;list-style:none}
.show-home-details summary::-webkit-details-marker{display:none}
.show-home-details summary span{float:right}
.show-home-details p{margin:8px 0 0;color:#fff;line-height:1.55;overflow-wrap:anywhere}
.show-home-empty{min-height:140px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:6px;border-radius:14px;background:rgba(2,13,33,.47);border:1px dashed #63bbde72;padding:22px}
.show-home-empty>span{font-size:40px;color:#6ae6ff}
.show-home-empty strong{color:#fff;font-size:18px}
.show-home-empty p{margin:0;color:#d4e8f9;font-size:13px}
.show-home-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-top:18px;padding:12px 0 0;border-top:1px solid #74e8ff60;color:#fff;font-weight:850}
.show-home-bottom a{color:#96ecff;text-decoration:underline;text-underline-offset:3px}
.broadcast-new-link{margin:0 0 16px}
.broadcast-day-select{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 15px}
.broadcast-day-select button{font-size:12px;font-weight:800;border-radius:9px;padding:8px 10px;border:1px solid #66ceef70;background:#021733a8;color:#fff;cursor:pointer}
.broadcast-day-select button.is-selected,.broadcast-day-select button:focus-visible{background:#3c43baaf;border-color:#aff7ff;color:#fff}
.broadcast-days.single-day{display:grid;grid-template-columns:minmax(0,1fr)}
.broadcast-days.single-day .broadcast-day{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px}
.broadcast-days.single-day .broadcast-day h3{grid-column:1/-1;text-align:left}
.broadcast-days.single-day .broadcast-slot{margin:0}
.broadcast-select{display:block;text-decoration:none;text-align:center}
@media(max-width:700px){.show-home-board{margin-top:17px}.show-home-days{gap:4px}.show-home-day{padding:6px 2px;min-height:62px}.show-home-day small{display:none}.show-home-weeks{gap:7px}.show-home-week{flex:1;min-width:0;text-align:center;padding:10px 5px}.show-home-cards{grid-template-columns:1fr}.show-home-card{display:grid;grid-template-columns:116px minmax(0,1fr)}.show-home-picture{height:100%;min-height:152px}.show-home-clock{left:5px;bottom:5px;font-size:10px;padding:4px 5px}.show-home-card-body{padding:12px}.show-home-avatar{width:42px;height:42px;flex-basis:42px}.show-home-card-body h3,.show-home-card-body h4{font-size:16px}.broadcast-day-select{overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px}.broadcast-day-select button{flex:0 0 auto}}
@media(max-width:380px){.show-home-card{grid-template-columns:1fr}.show-home-picture{height:150px}.show-home-day span{font-size:10px}.show-home-day strong{font-size:10px}}

/* v2.2: sichtbare freie Sendezeiten, 100% aus Datenbank statt Hartkodierung */
.free-overview {margin:1.4rem 0;padding:1.15rem;border:1px solid rgba(53,233,255,.34);border-radius:18px;background:rgba(4,9,27,.18)}
.free-overview h3 {margin:.1rem 0 .45rem;color:#86faff}
.free-overview>p{color:#fff;margin:.3rem 0 .9rem}
.free-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:10px}
.free-day-card{display:flex;flex-direction:column;gap:10px;min-width:0;padding:11px;border:1px solid rgba(103,230,255,.38);border-radius:12px;background:rgba(2,14,36,.23)}
.free-day-card>strong{color:white;font-size:1rem;text-shadow:0 2px 3px #000}
.free-day-times{display:flex;flex-direction:column;gap:5px}
.free-time-entry{display:flex;align-items:center;justify-content:space-between;gap:4px;flex-wrap:wrap;padding:4px 0;border-bottom:1px dashed rgba(255,255,255,.17);font-size:.82rem}
.free-time-entry span{color:#aafddb;font-weight:700}
.free-time-entry a{padding:3px 6px;color:#fff;text-decoration:none;border-radius:7px;background:rgba(0,168,190,.25);border:1px solid rgba(135,255,255,.35)}
.free-time-entry a:hover,.free-time-entry a:focus-visible{background:rgba(15,171,202,.55)}
.show-free-inline{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:10px 0;margin-bottom:12px;color:#d2ffee}
.show-free-chip{padding:5px 8px;color:#ddfff1;background:rgba(4,74,70,.5);border:1px solid rgba(46,243,192,.4);border-radius:9px;font-weight:700}
.topic-manager a,.broadcast-editor>p a{color:#8df1ff;text-decoration:underline}
.topic-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}
.topic-list-card{display:flex;gap:10px;padding:10px;border:1px solid rgba(95,222,255,.42);border-radius:14px;background:rgba(5,9,31,.25);align-items:center;flex-wrap:wrap}
.topic-list-card>.broadcast-topic-thumb{height:90px;width:105px;object-fit:cover;border-radius:9px}
.topic-list-card>div:nth-child(2){flex:1;min-width:120px;display:grid;gap:5px}
.topic-list-card small{display:block;color:#e3e9fa}
.topic-list-card p{margin:0;overflow-wrap:anywhere}
.topic-list-actions{display:flex;flex-direction:column;gap:7px}
.topic-list-actions form{margin:0}
.topic-edit-preview .broadcast-topic-thumb{width:185px;max-height:110px;object-fit:cover;border-radius:8px}
@media(max-width:650px){.free-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.free-time-entry{font-size:.75rem}.topic-list{grid-template-columns:1fr}}
@media(max-width:370px){.free-overview-grid{grid-template-columns:1fr}}

/* v2.3 – kompakter Team-Sendeplan ohne 168 Stunden-Rasterkacheln */
.broadcast-manager .free-overview { margin-top: 1rem; }
.broadcast-manager .free-overview-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,235px),1fr)); gap:12px; }
.broadcast-manager .free-day-card { min-width:0; }
.broadcast-manager .free-time-entry { display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; }
.broadcast-compact-info { display:flex; flex-wrap:wrap; gap:12px; margin:18px 0; color:#e8faff; font-weight:700; text-shadow:0 2px 6px #02040c; }
.broadcast-compact-info span { border:1px solid rgba(91,205,250,.4); background:rgba(4,13,33,.28); padding:7px 12px; border-radius:20px; }

/* v2.6 – Startseite: NUR „DEIN RADIOSENDER / Aktueller Moderator“.
   Hochformat (3:4), mittig in der schmalen Kachel, das ganze DJ-Bild
   sichtbar ohne Beschnitt. Next-DJ, Sendeplan und alle anderen Fotos bleiben gleich. */
.current-panel .dj-card-layout {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 13px;
}
.current-panel .dj-card-layout .portrait {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: min(100%, 228px);
  min-width: 0;
  max-width: 228px;
  height: auto;
  aspect-ratio: 3 / 4;
  margin-inline: auto;
  overflow: hidden;
  border: 1px solid rgba(117, 218, 255, .45);
  border-radius: 13px;
  background: rgba(5, 14, 35, .26);
}
.current-panel .dj-card-layout .portrait img,
.current-panel .dj-card-layout .portrait .image-placeholder {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
  object-position: center center;
}
.current-panel .dj-card-layout .portrait .image-placeholder {
  display: grid;
  place-items: center;
}
.current-panel .dj-card-layout .dj-facts {
  width: 100%;
  min-width: 0;
}
@media (max-width: 420px) {
  .current-panel .dj-card-layout .portrait {
    width: min(100%, 228px);
    height: auto;
    aspect-ratio: 3 / 4;
  }
}

/* v2.7: Admin DJ portrait upload: 3:4 preview, respects existing transparent panels */
.dj-portrait-admin { border:1px solid rgba(79,216,255,.42);border-radius:14px;padding:16px;margin:16px 0;background:rgba(5,16,35,.19); }
.dj-portrait-admin .current-image,.user-editor .current-image {display:block;max-width:190px;margin:10px 0;}
.dj-portrait-admin img.preview-img,.user-editor .current-image img.preview-img { display:block;max-width:100%;width:150px;height:200px;object-fit:contain;border:1px solid rgba(123,224,255,.5);border-radius:10px; }

/* v2.8 – Geschützte Verwaltung dedizierter DJ-Bilder */
.dj-manager-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,275px),1fr));gap:1rem;margin-top:1rem}
.dj-manager-card{padding:1rem;border:1px solid rgba(95,222,255,.42);border-radius:15px;background:rgba(1,10,28,.27);backdrop-filter:blur(2px)}
.dj-manager-top{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;min-width:0}
.dj-manager-top>div:last-child{display:flex;flex-direction:column;gap:.3rem;min-width:0;overflow-wrap:anywhere}
.dj-manager-top small{color:#dcf5ff}
.dj-manager-portrait{width:90px;flex:0 0 90px;aspect-ratio:3/4;border-radius:9px;overflow:hidden;border:1px solid #52dbff;background:rgba(2,8,30,.25);display:flex;align-items:center;justify-content:center}
.dj-manager-img{display:block;width:100%;height:100%;object-fit:contain}
.dj-manager-card input[type=file]{max-width:100%;min-width:0}
@media(max-width:480px){.dj-manager-card{padding:.75rem}.dj-manager-top{gap:.6rem}.dj-manager-portrait{width:72px;flex-basis:72px}}


/* v2.9 – kompakte, transparente Teamlisten-Verwaltung, auf dem Neon-Hintergrund gut lesbar. */
.teamlist-editor{margin-top:22px;padding:19px;border:1px solid rgba(75,209,255,.48);border-radius:15px;background:rgba(5,15,40,.35)}
.teamlist-editor h3{margin:0 0 17px;color:#fff;text-shadow:0 2px 8px #000}
.teamlist-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:16px}
.teamlist-admin-card{border:1px solid rgba(117,211,255,.39);border-radius:14px;background:rgba(4,12,32,.35);overflow:hidden;box-shadow:0 3px 18px #0005}
.teamlist-admin-photo{display:grid;place-items:center;min-height:220px;max-height:300px;background:rgba(4,8,24,.25);padding:10px}
.teamlist-preview-img,.teamlist-admin-photo .image-placeholder{display:block;width:auto;max-width:100%;height:230px;object-fit:contain;border-radius:9px}
.teamlist-admin-info{padding:15px;min-width:0}
.teamlist-admin-info strong{display:block;font-size:19px;color:#fff}
.teamlist-admin-info span{display:block;margin:5px 0;color:#bff2ff;font-weight:800}
.teamlist-admin-info small{display:block;color:#e0e8ff}
.teamlist-admin-info p{font-size:13px;color:#fff;overflow-wrap:anywhere;line-height:1.5;min-height:25px}
.teamlist-admin-info .action-row{margin-top:10px}
.member-picture{height:280px!important;display:grid;place-items:center;background:rgba(4,13,35,.19)!important}
.member-img,.member-picture .image-placeholder{width:100%;height:100%;object-fit:contain!important}
.member-card .eyebrow{overflow-wrap:anywhere;color:#aff3ff}
@media(max-width:720px){.teamlist-admin-grid{grid-template-columns:1fr}.teamlist-editor{padding:13px}.member-picture{height:260px!important}}

/* v3.0 – Eigenes Titelbild pro Teammitglied, ohne Teamfoto oder Schrift abzuschneiden. */
.member-card{overflow:hidden}
.member-cover{width:100%;aspect-ratio:16/9;max-height:190px;overflow:hidden;border-bottom:1px solid rgba(66,215,255,.5);background:rgba(6,16,43,.25)}
.member-cover-img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.member-card .member-picture{min-height:0}
.teamlist-admin-cover{aspect-ratio:16/9;max-height:170px;overflow:hidden;border-bottom:1px solid rgba(66,215,255,.3)}
.teamlist-preview-cover{width:100%;height:100%;display:block;object-fit:cover}
.team-cover-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin:8px 0 20px}
.team-cover-option{position:relative;cursor:pointer;display:block}
.team-cover-option input{position:absolute;top:10px;left:10px;z-index:1;accent-color:#34dfff;width:18px;height:18px}
.team-cover-option>span{display:block;overflow:hidden;border:2px solid rgba(93,209,255,.42);border-radius:12px;background:rgba(6,15,33,.56);padding:6px;min-height:120px}
.team-cover-option input:checked+span{border-color:#f6be57;box-shadow:0 0 0 2px rgba(246,190,87,.25)}
.team-topic-cover-img{width:100%;height:80px;object-fit:cover;border-radius:7px}
.team-cover-option strong{display:block;padding:7px 2px 3px;color:white;font-size:12px;line-height:1.3;overflow-wrap:anywhere}
@media(max-width:720px){.member-cover{max-height:200px}.team-cover-choices{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v3.1 – irreversible user deletion: clear warning, same transparent team design. */
.user-delete-manager .user-delete-entry { margin-block: .65rem; }
.user-delete-manager .user-delete-entry[open] { border-color: rgba(255,90,116,.45); }
.user-delete-manager .user-delete-entry .btn-danger { margin-top: .65rem; }
.user-delete-manager .check-row { display:flex; align-items:flex-start; gap:.6rem; margin-top:.65rem; }
.user-delete-manager .check-row input { width:1.1rem; height:1.1rem; flex:none; margin-top:.15rem; }

/* v3.2 – Oberes Kategorie-Titelbild + darunter nur die zugeordneten Teammitglieder */
.team-category-toolbar{border:1px solid rgba(95,225,255,.46);background:rgba(3,13,36,.22);border-radius:16px;padding:18px;margin:22px 0;backdrop-filter:blur(2px)}
.team-category-toolbar>h3{color:#fff;text-shadow:0 2px 12px #000}
.team-category-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px;margin:15px 0 22px}
.team-category-admin-card{min-width:0;overflow:hidden;border:1px solid rgba(90,209,255,.48);border-radius:13px;background:rgba(0,9,28,.25)}
.team-category-admin-banner{position:relative;aspect-ratio:16/9;display:grid;align-items:end;overflow:hidden;background:linear-gradient(115deg,rgba(0,220,255,.28),rgba(246,14,250,.28))}
.team-category-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.team-category-admin-banner:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,10,.88))}
.team-category-admin-banner strong{z-index:1;position:relative;padding:12px;color:#fff;text-shadow:0 2px 8px #000;font-size:1.15rem;overflow-wrap:anywhere}
.team-category-admin-meta{padding:12px;color:#e2f7ff}
.team-category-admin-meta .action-row{margin-top:10px;justify-content:flex-start;flex-wrap:wrap}
.team-category-section{margin:22px 0 36px}
.team-category-public-banner{position:relative;display:flex;align-items:flex-end;min-height:clamp(165px,22vw,300px);border-radius:16px;border:1px solid rgba(109,216,255,.58);overflow:hidden;background:linear-gradient(100deg,rgba(8,17,43,.45),rgba(122,14,133,.28));box-shadow:0 7px 24px rgba(0,0,0,.28)}
.team-category-public-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.team-category-public-banner:after{content:"";position:absolute;inset:20% 0 0;background:linear-gradient(transparent,rgba(1,8,23,.85))}
.team-category-public-name{position:relative;z-index:1;padding:clamp(15px,3vw,30px);color:#fff}
.team-category-public-name h2{font-weight:900;letter-spacing:.04em;text-shadow:0 3px 8px #000,0 0 18px #000;font-size:clamp(1.45rem,3.2vw,2.8rem);text-transform:uppercase;margin:0 0 4px}
.team-category-public-name span{color:#e7faff;text-shadow:0 2px 8px #000}
.team-category-section>.people-grid{margin-top:16px}
.team-category-no-banner{min-height:90px}
@media(max-width:670px){.team-category-toolbar{padding:12px}.team-category-admin-grid{grid-template-columns:1fr}.team-category-public-banner{min-height:168px}.team-category-public-name{padding:16px}}


/* v3.4 - öffentliche Teamseite: keinen großen Start-Banner, kompakte Kategorie-Bilder,
   klar lesbare Bezeichnung und mittig angeordnete Teammitglieder. */
.team-public-page{width:100%;min-width:0;padding-top:8px}
.team-public-page .team-category-section{margin:12px auto 34px;max-width:1160px}
.team-public-page .team-category-public-banner{
  box-sizing:border-box;
  width:min(100%,740px);max-width:740px;
  min-height:0;height:auto;
  margin:0 auto;
  padding:14px 18px 12px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  background:rgba(2,9,27,.24);
  border:1px solid rgba(93,223,255,.48);
  border-radius:15px;
  box-shadow:0 6px 18px rgba(0,0,0,.19);
}
.team-public-page .team-category-public-banner:after{display:none}
.team-public-page .team-category-public-img{
  position:static;inset:auto;
  display:block;width:100%;max-width:570px;
  height:auto;max-height:220px;
  object-fit:contain;object-position:center;
  border-radius:9px;
}
.team-public-page .team-category-public-name{
  padding:0 10px 4px;
  text-align:center;max-width:100%;
  overflow-wrap:anywhere;
}
.team-public-page .team-category-public-name h2{
  margin:0 0 4px;
  font-size:clamp(1.12rem,2vw,1.55rem);
  line-height:1.25;letter-spacing:.015em;
  font-weight:850;color:#fff;
  text-shadow:0 2px 6px rgba(0,0,0,.95),0 0 12px rgba(0,0,0,.65);
}
.team-public-page .team-category-public-name span{
  display:block;font-size:13px;font-weight:700;
  color:#e8f9ff;text-shadow:0 2px 5px #000;
}
.team-public-page .team-category-section>.people-grid{
  width:100%;max-width:1080px;margin:16px auto 0;
  display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;
  gap:17px;
}
.team-public-page .team-category-section>.people-grid>.member-card{
  flex:0 1 260px;width:260px;min-width:0;max-width:100%;
  margin:0;text-align:center;
}
.team-public-page .team-category-section>.muted{text-align:center}
.team-public-page .team-category-section>.people-grid>.member-card .panel-body{overflow-wrap:anywhere}
@media(max-width:720px){
  .team-public-page .team-category-public-banner{width:100%;padding:10px 12px}
  .team-public-page .team-category-public-img{max-height:170px}
  .team-public-page .team-category-public-name h2{font-size:1.15rem}
  .team-public-page .team-category-section>.people-grid>.member-card{flex:0 1 300px;width:min(100%,300px)}
}

/* v3.5 – Schmalerer Kategorienrahmen, über die volle Breite gezogenes Banner.
   Die Darstellung ist nur auf der öffentlichen Teamseite geändert.
   Bilder bleiben im Seitenverhältnis erhalten; in der flachen Leiste werden
   obere/untere Bildteile je nach Ausgangsformat bewusst beschnitten. */
.team-public-page .team-category-section{
  max-width:1140px;
  margin:12px auto 30px;
}
.team-public-page .team-category-public-banner{
  width:100%;
  max-width:1080px;
  min-height:0;
  padding:5px 5px 8px;
  gap:4px;
  border-radius:11px;
  border:1px solid rgba(93,223,255,.42);
  box-shadow:0 4px 14px rgba(0,0,0,.16);
  background:rgba(2,9,27,.14);
}
.team-public-page .team-category-public-img{
  display:block;
  position:static;
  width:100%;
  max-width:none;
  height:clamp(126px,14vw,184px);
  max-height:none;
  object-fit:cover;
  object-position:center 66%;
  border-radius:7px;
}
.team-public-page .team-category-public-name{
  width:100%;
  padding:2px 8px;
  text-align:center;
}
.team-public-page .team-category-public-name h2{
  font-size:clamp(1rem,1.8vw,1.35rem);
  line-height:1.2;
  margin:0 0 2px;
}
.team-public-page .team-category-public-name span{
  font-size:12px;
}
@media(max-width:720px){
  .team-public-page .team-category-public-banner{width:100%;padding:4px 4px 7px}
  .team-public-page .team-category-public-img{
    height:clamp(104px,24vw,145px);
    max-height:none;
    object-position:center 66%;
  }
  .team-public-page .team-category-public-name h2{font-size:1.06rem}
}


/* v3.6 – Kategorie-Banner vollständig anzeigen (ohne Ausschnitt).
   Das neue LEITUNG-Motiv ist 3:1 und bleibt samt Text ganz sichtbar. */
.team-public-page .team-category-public-banner {
  width:100%; max-width:1080px;
  padding:4px 4px 7px; gap:5px;
  height:auto; min-height:0;
  overflow:hidden;
}
.team-public-page .team-category-public-img {
  width:100%; max-width:100%;
  height:auto; max-height:none;
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center;
  display:block;
  border-radius:6px;
}
.team-public-page .team-category-public-name {
  padding:2px 8px 3px;
}
@media (max-width:720px) {
  .team-public-page .team-category-public-banner {padding:3px 3px 6px}
  .team-public-page .team-category-public-img {height:auto;max-height:none;object-fit:contain}
}

/* v3.7 – Benutzer mit einem Klick einer selbst angelegten Team-Kategorie zuordnen */
.team-user-assignments{margin:26px 0;padding:clamp(13px,2vw,22px);border:1px solid rgba(90,217,255,.55);background:rgba(0,12,36,.19);border-radius:17px}
.team-user-assignments h3{margin:0 0 8px;color:#fff;text-shadow:0 2px 9px #000}
.team-user-assignments p{max-width:950px;color:#e8f6ff;text-shadow:0 2px 5px #000}
.team-user-filter-label{display:block;max-width:400px;margin:15px 0;color:#fff;font-weight:700}
.team-user-filter-label input{display:block;width:100%;margin-top:7px}
.team-user-assignment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:14px;margin:13px 0}
.team-user-assignment-card{min-width:0;padding:14px;border:1px solid rgba(94,212,255,.48);border-radius:13px;background:rgba(1,10,30,.37);box-shadow:0 5px 14px #0003}
.team-user-assignment-head{display:flex;gap:12px;align-items:center;margin-bottom:14px}
.team-user-assignment-photo,.team-user-assignment-head .image-placeholder{width:65px;height:76px;flex:0 0 65px;object-fit:contain;border-radius:9px;border:1px solid rgba(132,220,255,.45);background:rgba(2,15,38,.4)}
.team-user-assignment-head strong{display:block;color:#fff;font-size:1.08rem;overflow-wrap:anywhere}
.team-user-assignment-head small{display:block;color:#ddf5ff;margin-top:3px;overflow-wrap:anywhere}
.team-user-category-options{border:0;margin:0 0 12px;padding:0;display:flex;flex-wrap:wrap;gap:7px}
.team-user-category-options legend{font-size:.89rem;font-weight:700;color:#dcf8ff;margin-bottom:9px}
.team-user-category-choice{display:inline-flex;align-items:center;gap:5px;cursor:pointer;border:1px solid rgba(110,211,255,.5);border-radius:12px;background:rgba(0,20,48,.44);padding:8px 10px;color:#fff;font-size:.91rem;min-height:39px;line-height:1.25}
.team-user-category-choice:has(input:checked){border-color:#13f6fa;background:rgba(0,154,201,.32);box-shadow:0 0 11px rgba(15,232,255,.28)}
.team-user-category-choice input{accent-color:#23eaff;margin:0;flex-shrink:0}
.team-user-category-choice:hover{border-color:#fff}
.team-user-category-choice:focus-within{outline:2px solid #fff;outline-offset:2px}
.team-user-assignment-form .btn{min-height:38px}
@media(max-width:680px){.team-user-assignment-grid{grid-template-columns:1fr}.team-user-assignment-card{padding:11px}}


/* v3.9 – Teamkategorien: schmaler, sanft gerundeter Bilderrahmen.
   Die Rahmenkante liegt DIREKT am gesamten Bild (auch am Schriftzug),
   ohne Cover-Cropping, ohne künstliche Bannerhöhe. Der Kategoriename
   bleibt separat, mittig und gut lesbar unter der Bildkante. */
.team-public-page .team-category-section {
  max-width:1080px;
  margin:12px auto 28px;
}
.team-public-page .team-category-public-banner {
  box-sizing:border-box;
  width:min(100%, 1000px);
  max-width:1000px;
  min-width:0;
  min-height:0;
  height:auto;
  margin-inline:auto;
  padding:0;
  gap:7px;
  display:flex;
  flex-direction:column;
  align-items:center;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  overflow:visible;
}
.team-public-page .team-category-public-banner::after {
  display:none;
}
.team-public-page .team-category-public-img {
  display:block;
  position:static;
  inset:auto;
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  height:auto;
  max-height:none;
  aspect-ratio:auto;
  padding:2px;
  border:1px solid rgba(110,225,255,.76);
  border-radius:15px;
  background:rgba(4,13,36,.18);
  box-shadow:0 4px 14px rgba(0,0,0,.22), 0 0 10px rgba(48,215,255,.13);
  object-fit:contain;
  object-position:center;
}
.team-public-page .team-category-public-name {
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  padding:1px 6px 2px;
  margin:0;
  text-align:center;
  overflow-wrap:anywhere;
}
.team-public-page .team-category-public-name h2 {
  font-size:clamp(1rem,1.7vw,1.26rem);
  margin:0 0 2px;
  line-height:1.2;
  text-shadow:0 2px 8px #000,0 0 12px rgba(0,0,0,.7);
}
.team-public-page .team-category-public-name span {
  font-size:12px;
  text-shadow:0 2px 7px #000;
}
@media(max-width:720px) {
  .team-public-page .team-category-section {margin:10px auto 23px}
  .team-public-page .team-category-public-banner {width:100%;padding:0;gap:5px}
  .team-public-page .team-category-public-img {
    width:100%;height:auto;max-height:none;
    padding:1px;
    border-radius:11px;
    object-fit:contain;
  }
}


/* v3.10 – ALLE Team-Kategorien identische Bannergröße wie LEITUNG (3:1).
   Seitenverhältnis immer durch einen eigenen Rahmen festlegen; natürliche
   Bildproportionen dürfen die Bannerhöhe nicht mehr verändern.
   contain statt cover: keine Gesichter, Schrift oder Grafiken abschneiden. */
.team-public-page .team-category-section .team-category-public-banner {
  width:min(100%,1000px);
  max-width:1000px;
  padding:0;
  gap:7px;
  align-items:center;
  overflow:visible;
}
.team-public-page .team-category-public-imageframe {
  box-sizing:border-box;
  display:grid;
  place-items:center;
  position:relative;
  width:100%;
  max-width:100%;
  aspect-ratio:3 / 1;
  min-height:0;
  padding:2px;
  overflow:hidden;
  border:1px solid rgba(110,225,255,.76);
  border-radius:15px;
  background:radial-gradient(ellipse at 50% 50%,rgba(34,22,70,.65),rgba(3,9,27,.9) 78%);
  box-shadow:0 4px 14px rgba(0,0,0,.22),0 0 10px rgba(48,215,255,.13);
}
.team-public-page .team-category-public-imageframe .team-category-public-img {
  position:absolute;
  inset:2px;
  display:block;
  box-sizing:border-box;
  width:calc(100% - 4px);
  height:calc(100% - 4px);
  max-width:none;
  max-height:none;
  min-width:0;
  min-height:0;
  object-fit:contain;
  object-position:center;
  aspect-ratio:auto;
  margin:0;
  padding:0;
  border:0;
  border-radius:12px;
  box-shadow:none;
  background:transparent;
}
.team-public-page .team-category-image-placeholder {
  padding:10px;
  color:#d2ebff;
  font-size:clamp(.75rem,1.6vw,1rem);
  font-weight:700;
  text-align:center;
  text-shadow:0 2px 5px #000;
}
@media (max-width:720px) {
  .team-public-page .team-category-public-imageframe {border-radius:11px;padding:1px}
  .team-public-page .team-category-public-imageframe .team-category-public-img {
     inset:1px;width:calc(100% - 2px);height:calc(100% - 2px);border-radius:9px
  }
}


/* v3.12 – Teamliste: alle Kategoriebilder 1:1 wie das Leitungsbanner.
   Einheitliche 3:1-Rahmen, grauer Rahmen direkt auf dem Bild, keine Innenabstände.
   Gleich breite Banner für alle Kategorien; Motiv vollständig sichtbar. */
.team-public-page .team-category-section {
  max-width:1080px;
  margin:12px auto 28px;
}
.team-public-page .team-category-section .team-category-public-banner {
  width:min(100%,1000px);
  max-width:1000px;
  margin-inline:auto;
  padding:0;
  gap:8px;
  align-items:center;
  overflow:visible;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.team-public-page .team-category-public-imageframe {
  isolation:isolate;
  box-sizing:border-box;
  display:block;
  position:relative;
  width:100%;
  max-width:100%;
  aspect-ratio:3 / 1;
  min-height:0;
  padding:0;
  overflow:hidden;
  border:2px solid rgba(184, 192, 210, 0.92);
  border-radius:14px;
  background:#080d24;
  box-shadow:0 6px 18px rgba(0,0,0,.22),0 0 12px rgba(48,215,255,.10);
}
.team-public-page .team-category-public-backdrop {
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
  border-radius:inherit;
}
.team-public-page .team-category-public-backdrop-img {
  position:absolute;
  inset:-8%;
  width:116%;
  height:116%;
  display:block;
  object-fit:cover;
  object-position:center;
  filter:blur(18px) brightness(.48) saturate(1.08);
  opacity:.95;
  transform:scale(1.03);
}
.team-public-page .team-category-public-backdrop::after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(1,7,21,.22),transparent 27%,transparent 73%,rgba(1,7,21,.22));
}
.team-public-page .team-category-public-imageframe > .team-category-public-img {
  position:absolute;
  inset:0;
  z-index:1;
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:transparent;
  object-fit:contain;
  object-position:center;
}
.team-public-page .team-category-public-name {
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  padding:1px 6px 2px;
  margin:0;
  text-align:center;
  overflow-wrap:anywhere;
}
.team-public-page .team-category-public-name h2 {
  font-size:clamp(1rem,1.7vw,1.26rem);
  margin:0 0 2px;
  line-height:1.2;
  text-shadow:0 2px 8px #000,0 0 12px rgba(0,0,0,.7);
}
.team-public-page .team-category-public-name span {
  font-size:12px;
  text-shadow:0 2px 7px #000;
}
.team-public-page .team-category-image-placeholder {
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  padding:10px;
  color:#d2ebff;
  font-size:clamp(.75rem,1.6vw,1rem);
  font-weight:700;
  text-align:center;
  text-shadow:0 2px 5px #000;
}
@media (max-width:720px) {
  .team-public-page .team-category-section {margin:10px auto 23px}
  .team-public-page .team-category-section .team-category-public-banner {width:100%;gap:5px}
  .team-public-page .team-category-public-imageframe {
    border-width:1px;
    border-radius:11px;
  }
}


/* v3.13: Alle Teamkategorie-Banner exakt im Format des LEITUNG-Bildes
   (2048 x 682). Der GRAUE Rahmen sitzt auf dem äußersten Bildrand,
   ohne Polsterung. Unterschiedliche Originalformate werden vollständig
   gezeigt, die freie Fläche erhält eine farbige Hintergrundkopie. */
.team-public-page .team-category-section {
  width:100%;
  max-width:1080px;
  margin:12px auto 30px;
}
.team-public-page .team-category-section .team-category-public-banner {
  display:flex;
  flex-direction:column;
  align-items:center;
  width:min(100%,1000px);
  max-width:1000px;
  min-height:0;
  margin:0 auto;
  padding:0;
  gap:7px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
.team-public-page .team-category-public-imageframe {
  position:relative;
  display:block;
  box-sizing:border-box;
  isolation:isolate;
  width:100%;
  max-width:100%;
  min-width:0;
  min-height:0;
  height:auto;
  aspect-ratio:2048 / 682;
  margin:0;
  padding:0;
  border:0;
  border-radius:13px;
  overflow:hidden;
  background:#06091d;
  box-shadow:0 4px 15px rgba(0,0,0,.32), 0 0 12px rgba(67,197,249,.1);
}
/* Graue Kontur direkt auf dem äußeren Rand des Bildes, ohne Lücke. */
.team-public-page .team-category-public-imageframe::after {
  position:absolute;
  content:'';
  inset:0;
  z-index:3;
  border:2px solid rgba(182,191,205,.95);
  border-radius:inherit;
  box-sizing:border-box;
  pointer-events:none;
}
.team-public-page .team-category-public-backdrop {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:hidden;
  border:0;
  border-radius:inherit;
  z-index:0;
  pointer-events:none;
}
.team-public-page .team-category-public-backdrop-img {
  position:absolute;
  display:block;
  inset:-8%;
  width:116%;
  height:116%;
  max-width:none;
  max-height:none;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  object-fit:cover;
  object-position:center;
  filter:blur(14px) brightness(.54) saturate(1.15);
  opacity:1;
  transform:scale(1.025);
}
.team-public-page .team-category-public-backdrop::after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.14),transparent 25%,transparent 75%,rgba(0,0,0,.14));
}
.team-public-page .team-category-public-imageframe > .team-category-public-img {
  position:absolute;
  display:block;
  inset:0;
  z-index:2;
  box-sizing:border-box;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  min-width:0;
  min-height:0;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  object-fit:contain;
  object-position:center;
  image-rendering:auto;
}
.team-public-page .team-category-public-name {
  display:block;
  box-sizing:border-box;
  width:100%;
  padding:0 8px 3px;
  margin:0;
  text-align:center;
}
.team-public-page .team-category-section > .people-grid {
  justify-content:center;
}
@media(max-width:720px) {
  .team-public-page .team-category-section {margin:10px auto 24px}
  .team-public-page .team-category-section .team-category-public-banner {width:100%;gap:5px}
  .team-public-page .team-category-public-imageframe {border-radius:9px}
  .team-public-page .team-category-public-imageframe::after {border-width:1px}
}


/* v3.14 – nur die öffentliche Teamliste: Kategorie-Banner auf beiden
   Seiten etwas verbreitern; Bild und grauer Rahmen liegen bündig.
   Die Team-Bearbeitung / Team-Admin-Oberfläche bleibt unverändert. */
.team-public-page .team-category-section {
  width:100%;
  max-width:1140px;
  margin-inline:auto;
}
.team-public-page .team-category-section .team-category-public-banner {
  box-sizing:border-box;
  width:min(100%,1080px);
  max-width:1080px;
  padding:0;
  margin-inline:auto;
}
.team-public-page .team-category-public-imageframe {
  display:block;
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  padding:0;
  aspect-ratio:2048 / 682;
  overflow:hidden;
  border:0;
  border-radius:13px;
}
.team-public-page .team-category-public-imageframe::after {
  inset:0;
  border:2px solid rgba(182,191,205,.95);
  border-radius:inherit;
}
.team-public-page .team-category-public-imageframe > .team-category-public-img {
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  object-fit:contain;
}
@media (max-width:720px) {
  .team-public-page .team-category-section {max-width:100%}
  .team-public-page .team-category-section .team-category-public-banner {width:100%;max-width:100%}
  .team-public-page .team-category-public-imageframe::after {border-width:1px}
}


/* v3.15: Größenregler in Team-Bereich → Teamliste bearbeiten.
   Die gespeicherten Werte wirken nur auf der öffentlichen Teamseite. */
.team-public-page .team-category-section {
  width:100%;
  max-width:1140px;
}
.team-public-page .team-category-section .team-category-public-banner {
  width:min(100%,var(--team-banner-width,1080px)) !important;
  max-width:100% !important;
  margin-inline:auto;
}
.team-public-page .team-category-public-imageframe {
  width:100%;
  aspect-ratio:var(--team-banner-ratio,3 / 1) !important;
  height:auto !important;
  padding:0 !important;
  overflow:hidden;
}
.team-public-page .team-category-public-imageframe > .team-category-public-img {
  inset:0;
  width:100%;height:100%;
  object-fit:contain;
  padding:0;
}
.team-public-page .team-category-section > .people-grid > .member-card {
  flex:0 1 var(--team-member-width,260px) !important;
  width:min(100%,var(--team-member-width,260px)) !important;
  max-width:100%;
}
.team-public-page .team-category-section > .people-grid > .member-card .member-picture {
  height:var(--team-member-photo-height,280px) !important;
}
.teamlist-size-settings {
  margin:20px 0 22px;
  padding:clamp(14px,2.5vw,22px);
  border:1px solid rgba(98,217,255,.6);
  border-radius:16px;
  background:rgba(3,14,35,.35);
}
.teamlist-size-settings h3 {font-size:clamp(1.1rem,2vw,1.4rem); margin:0 0 9px; color:#fff}
.teamlist-size-settings p {margin-bottom:16px}
.teamlist-size-settings .form-grid input[type=number] {width:100%; min-width:0}
.teamlist-size-actions {display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 18px}
.teamlist-size-preview {width:100%; max-width:100%; padding:12px; border-radius:13px; border:1px solid rgba(135,212,255,.3); background:rgba(1,8,20,.32); margin:0 0 15px}
.teamlist-size-preview-banner {
  display:grid;place-items:center;
  position:relative;
  width:min(100%,var(--preview-banner-width,1080px));
  margin-inline:auto;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  padding:0;
}
.teamlist-size-preview-image {
  display:block;
  position:static;
  inset:auto;
  width:100%;
  max-width:100%;
  height:auto;
  object-fit:contain;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.teamlist-size-preview-placeholder {font-weight:750;text-align:center;color:#e4f7ff;padding:10px}
.teamlist-size-preview-hint {display:block;margin-top:8px;font-size:12px;color:#d8eeff}
@media(max-width:720px) {
 .team-public-page .team-category-section .team-category-public-banner{width:100% !important}
 .team-public-page .team-category-section > .people-grid > .member-card{max-width:100%}
 .teamlist-size-settings{padding:12px}
}

/* v3.16: Individuelle Kachelgrößen – Formulare sind nur im Team-Bereich sichtbar.
   Die öffentliche Teamseite nutzt je Kachel die CSS-Variablen aus validierten Pixelwerten. */
.team-tile-individual-form {
  display:block;
  margin-top:12px;
  padding:12px;
  border:1px solid rgba(122,215,255,.35);
  border-radius:12px;
  background:rgba(2,12,32,.26);
}
.team-tile-individual-form>strong {display:block;color:#f4fbff;margin-bottom:9px;font-size:.93rem}
.team-tile-individual-fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.team-tile-individual-fields label {display:block;font-size:.82rem;font-weight:700;color:#dcefff}
.team-tile-individual-fields input[type=number] {
 display:block;width:100%;min-width:0;box-sizing:border-box;margin-top:5px;
 padding:8px;border:1px solid rgba(124,213,255,.42);border-radius:8px;
 color:#fff;background:rgba(1,11,30,.65);
}
.team-tile-individual-actions {display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}
.team-tile-individual-actions .btn {white-space:normal}
@media(max-width:420px){.team-tile-individual-fields{grid-template-columns:1fr}}


/* v3.17 – Separat regelbare Kachel- und Bildgrößen, für jede Team-Kategorie
   und jeden Teameintrag. Bilder bleiben unverzerrt und innerhalb des Rahmens. */
.team-public-page .team-category-public-imageframe > .team-category-public-img {
    inset:auto !important;
    left:50% !important;
    top:50% !important;
    transform:translate(-50%,-50%);
    width:min(100%,var(--team-category-image-width,100%)) !important;
    height:min(100%,var(--team-category-image-height,100%)) !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    object-position:center;
}
.team-public-page .team-category-section > .people-grid > .member-card {
    min-height:var(--team-member-tile-height,440px);
    height:auto;
}
.team-public-page .team-category-section > .people-grid > .member-card .member-picture {
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:0;
    overflow:hidden;
}
.team-public-page .team-category-section > .people-grid > .member-card .member-img {
    display:block;
    width:min(100%,var(--team-member-image-width,100%)) !important;
    height:100% !important;
    max-height:100%;
    margin-inline:auto;
    object-fit:contain !important;
}
.team-size-value-pair {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin:10px 0 13px;
}
.team-size-value-pair span {
    display:block;
    padding:8px 9px;
    color:#e8faff;
    background:rgba(14,37,67,.7);
    border:1px solid rgba(115,214,255,.36);
    border-radius:9px;
    font-size:.83rem;
    overflow-wrap:anywhere;
}
.team-size-value-pair b {display:block;font-size:.99rem;color:#fff;white-space:nowrap}
.team-tile-dimension-group {
    margin:8px 0 10px;
    min-width:0;
    padding:10px;
    border:1px solid rgba(115,214,255,.31);
    border-radius:10px;
}
.team-tile-dimension-group legend {
    padding:0 5px;
    color:#ccf5ff;
    font-weight:800;
    font-size:.89rem;
}
@media(max-width:650px){.team-size-value-pair{grid-template-columns:1fr}}


/* v3.18: Normierte BILDDATEIEN in der öffentlichen Teamliste.
   Größenänderung ausschließlich der Fotos; Kachelrahmen bleiben individuell.
   2048:682 = 3:1 Banner, 750:1000 = 3:4 Hochformat.
   Bestehende unterschiedliche Quellen werden ohne Beschnitt eingepasst. */
.team-public-page .team-category-public-imageframe > img.team-category-public-img {
  position:absolute!important;
  inset:auto!important;
  top:50%!important;
  left:50%!important;
  transform:translate(-50%,-50%)!important;
  display:block!important;
  width:min(100%,1080px)!important;
  height:min(100%,360px)!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  box-shadow:none!important;
}
.team-public-page .team-category-section > .people-grid > .member-card .member-picture > img.member-img {
  display:block!important;
  width:min(100%,300px)!important;
  height:min(100%,400px)!important;
  max-width:100%!important;
  max-height:100%!important;
  margin:auto!important;
  object-fit:contain!important;
  object-position:center!important;
}
.teamlist-image-standard-panel {
  margin:20px 0;
  padding:clamp(14px,2.5vw,22px);
  border:1px solid rgba(100,212,255,.46);
  border-radius:14px;
  background:rgba(2,13,34,.32);
}
.teamlist-image-standard-panel h3 {color:#fff;margin:0 0 9px}
.teamlist-image-standard-panel p,.teamlist-image-standard-panel small {color:#e2f3ff}
.teamlist-image-standard-panel form {margin:12px 0}


/* === v3.19: Teamliste ohne sichtbare Kachelrahmen === */
.team-public-page .team-category-section{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
}
.team-public-page .team-category-section .team-category-public-banner{
  width:min(100%, var(--team-category-image-width, var(--team-banner-width, 1080px)));
  max-width:100%;
  min-height:0;
  padding:0;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  background:none !important;
  border:none !important;
  border-radius:0;
  box-shadow:none !important;
  overflow:visible;
}
.team-public-page .team-category-public-banner::after,
.team-public-page .team-category-public-imageframe::after,
.team-public-page .team-category-public-backdrop{display:none !important;}
.team-public-page .team-category-public-imageframe{
  width:min(100%, var(--team-category-image-width, var(--team-banner-width, 1080px)));
  max-width:100%;
  aspect-ratio:var(--team-category-image-width, 1080) / var(--team-category-image-height, 360);
  padding:0 !important;
  margin:0 auto;
  background:none !important;
  border:none !important;
  border-radius:0;
  box-shadow:none !important;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}
.team-public-page .team-category-public-imageframe > .team-category-public-img,
.team-public-page .team-category-public-imageframe > img.team-category-public-img{
  width:min(100%, var(--team-category-image-width, var(--team-banner-width, 1080px))) !important;
  height:var(--team-category-image-height, auto) !important;
  max-width:100%;
  max-height:none;
  display:block;
  object-fit:contain;
  object-position:center center;
  border-radius:0;
  margin:0 auto;
  box-shadow:none !important;
}
.team-public-page .team-category-public-name{
  position:static !important;
  inset:auto !important;
  width:min(100%, var(--team-category-image-width, var(--team-banner-width, 1080px)));
  padding:0 4px !important;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  text-align:center;
  background:none !important;
  border:none !important;
  box-shadow:none !important;
}
.team-public-page .team-category-public-name h2{margin:0;font-size:clamp(24px,2.4vw,42px)}
.team-public-page .team-category-public-name span{color:var(--sub)}

.team-public-page .team-category-section > .people-grid{
  width:100%;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:flex-start;
  gap:22px;
}
.team-public-page .team-category-section > .people-grid > .member-card{
  width:min(100%, var(--team-member-image-width, var(--team-member-width, 260px)));
  max-width:100%;
  min-height:0 !important;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  background:none !important;
  border:none !important;
  border-radius:0;
  box-shadow:none !important;
  overflow:visible;
}
.team-public-page .team-category-section > .people-grid > .member-card::before,
.team-public-page .team-category-section > .people-grid > .member-card::after{display:none !important;}
.team-public-page .team-category-section > .people-grid > .member-card .member-cover,
.team-public-page .team-category-section > .people-grid > .member-card .member-picture{
  width:min(100%, var(--team-member-image-width, var(--team-member-width, 260px)));
  max-width:100%;
  padding:0;
  margin:0 auto;
  background:none !important;
  border:none !important;
  border-radius:0;
  box-shadow:none !important;
  overflow:hidden;
}
.team-public-page .team-category-section > .people-grid > .member-card .member-cover img,
.team-public-page .team-category-section > .people-grid > .member-card .member-picture > img.member-img{
  display:block;
  width:100% !important;
  height:auto !important;
  max-width:100%;
  object-fit:contain;
  object-position:center center;
  margin:0 auto;
  border:none !important;
  border-radius:0;
  box-shadow:none !important;
}
.team-public-page .team-category-section > .people-grid > .member-card .member-picture > img.member-img{
  max-height:var(--team-member-photo-height, 280px);
}
.team-public-page .team-category-section > .people-grid > .member-card .panel-body{
  width:min(100%, var(--team-member-image-width, var(--team-member-width, 260px)));
  padding:12px 4px 0;
  text-align:center;
  background:none !important;
  border:none !important;
  box-shadow:none !important;
}
.team-public-page .team-category-section > .people-grid > .member-card .panel-body p,
.team-public-page .team-category-section > .people-grid > .member-card .panel-body h3,
.team-public-page .team-category-section > .people-grid > .member-card .panel-body .eyebrow{margin-left:auto;margin-right:auto}

@media(max-width:900px){
  .team-public-page .team-category-public-name h2{font-size:clamp(22px,5vw,34px)}
}
@media(max-width:670px){
  .team-public-page .team-category-section .team-category-public-banner,
  .team-public-page .team-category-public-imageframe,
  .team-public-page .team-category-public-name,
  .team-public-page .team-category-section > .people-grid > .member-card,
  .team-public-page .team-category-section > .people-grid > .member-card .member-cover,
  .team-public-page .team-category-section > .people-grid > .member-card .member-picture,
  .team-public-page .team-category-section > .people-grid > .member-card .panel-body{width:100%}
}


/* v3.20: Teamliste zeigt das Originalbild ohne Bildkachel, Rahmen oder Blur.
   Die alten Regeln für .team-category-public-imageframe greifen hier nicht mehr,
   weil das Bild direkt im .team-category-public-banner steht. */
.team-public-page .team-category-section .team-category-public-banner {
  box-sizing: border-box;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: center !important;
  width: min(100%, var(--team-category-image-width, 1080px)) !important;
  max-width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 auto !important;
  gap: 0 !important;
  overflow: visible !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  filter: none !important;
  backdrop-filter: none !important;
}
.team-public-page .team-category-section .team-category-public-banner::before,
.team-public-page .team-category-section .team-category-public-banner::after {
  content: none !important;
  display: none !important;
}
.team-public-page .team-category-public-banner > img.team-category-clean-image {
  position: static !important;
  inset: auto !important;
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  outline: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  backdrop-filter: none !important;
}
.team-public-page .team-category-clean-empty {
  padding: 16px;
  color: #d2ebff;
  text-align: center;
  background: transparent !important;
  border: 0 !important;
}
/* Teamfotos ohne sichtbaren Kachelrahmen; Namen und Texte bleiben lesbar. */
.team-public-page .team-category-section > .people-grid > .member-card,
.team-public-page .team-category-section > .people-grid > .member-card .member-picture,
.team-public-page .team-category-section > .people-grid > .member-card .member-cover {
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  backdrop-filter: none !important;
}
.team-public-page .team-category-section > .people-grid > .member-card {
  flex: 0 1 var(--team-member-image-width, var(--team-member-width, 260px)) !important;
  width: min(100%, var(--team-member-image-width, var(--team-member-width, 260px))) !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
.team-public-page .team-category-section > .people-grid > .member-card .member-picture > img.member-img {
  position: static !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  transform: none !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
}
@media (max-width: 670px) {
  .team-public-page .team-category-section .team-category-public-banner {
    width: 100% !important;
  }
}


.team-category-individual-form{margin-top:12px}
.team-category-individual-form .team-size-value-pair{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:.84rem;color:#dceeff;margin:0 0 10px}
.team-category-individual-form .team-tile-individual-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:700px){.team-category-individual-form .team-tile-individual-fields{grid-template-columns:1fr}}

/* v3.23: mobiler Radio-Player und manueller Direktlink */
.player-direct{font-size:11px;font-weight:700;color:#8ee9ff;white-space:nowrap;text-decoration:underline;text-underline-offset:3px}
.player-direct[hidden]{display:none!important}
.player-status{flex-basis:100%;font-size:12px;line-height:1.5}
@media(max-width:700px){.mini-player{box-sizing:border-box;bottom:max(6px,env(safe-area-inset-bottom));flex-wrap:wrap;gap:7px;padding:10px;width:calc(100% - 16px)}.mini-player audio{order:0;min-width:0;width:calc(100% - 45px);flex:1 1 calc(100% - 45px);max-width:100%}.mini-player .icon-btn{order:1;flex:0 0 34px}.mini-player .player-direct{order:2;flex:1 1 auto}.mini-player .player-status{order:3}.mini-player-label{display:none!important}}

/* Titelanzeige im schmalen Mobil-Player sichtbar statt ausgeblendet. */
@media(max-width:700px){.mini-player .mini-player-label{display:flex!important;position:relative;order:-1;flex:1 1 100%;min-width:0;max-width:100%;gap:3px}.mini-player .mini-player-label strong{margin-left:18px}.mini-player .mini-player-label small{display:block;max-width:100%;margin:0;font-size:12px;color:#e2f8ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}

/* v3.24 – verständliche, getrennte Stream- und JSON-API-Einstellungen */
.radio-settings-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.radio-settings-fields label{min-width:0;display:flex;flex-direction:column;gap:7px;font-weight:750}
.radio-settings-fields label input{width:100%;min-width:0}
.radio-settings-fields small,.radio-admin-box small{display:block;color:#d8e6f9;font-size:.81rem;line-height:1.5;font-weight:400}
.radio-admin-box code{overflow-wrap:anywhere;word-break:break-word}
.radio-admin-box #azuraTestResult{min-height:1.35rem;overflow-wrap:anywhere}
@media(max-width:720px){.radio-settings-fields{grid-template-columns:minmax(0,1fr)}}

/* v3.25: mobiler Radio-Player mit sichtbarem Wiederholungs-/Alternativknopf */
.mini-player #streamAlternateButton[hidden]{display:none!important}
.mini-player #streamAlternateButton{font-size:12px;max-width:100%;white-space:normal;min-height:38px}
.mini-player .player-direct{overflow-wrap:anywhere;text-align:center}
@media(max-width:700px){
 .mini-player #streamAlternateButton{order:2;flex:1 1 auto}
 .mini-player .player-direct{order:3;flex:1 1 auto}
 .mini-player .player-status{order:4}
}

/* v3.29: Auto-DJ als dynamische Standardbelegung des 14-Tage-Sendeplans. */
.broadcast-program-day {margin:20px 0 25px;padding-top:10px;border-top:1px solid rgba(124,234,255,.35)}
.broadcast-program-day>h3 {margin:0 0 12px;font-size:clamp(16px,1.7vw,20px);color:#d9f8ff}
.broadcast-autodj-card {border-color:rgba(137,202,255,.55);background:rgba(5,25,45,.52)}
.broadcast-autodj-card>div strong {color:#b5f2ff}
.show-home-card.show-home-auto {border-color:rgba(124,206,255,.55);background:linear-gradient(150deg,rgba(8,30,50,.72),rgba(9,15,40,.65))}
.show-home-card.show-home-auto .show-home-dj small {color:#a0f4ff}
.show-home-card.show-home-auto .show-home-card-body h3,.show-home-card.show-home-auto .show-home-card-body h4 {color:#c0f4ff}


/* v3.30 – Sendeplan-Editor mit anklickbarer Überschrift und 14-Tage-Auswahl */
.broadcast-editor-summary{display:flex;gap:9px;align-items:flex-start;flex-direction:column;cursor:pointer;list-style:none;padding:4px 34px 10px 0;position:relative;color:#effaff}
.broadcast-editor-summary::-webkit-details-marker{display:none}
.broadcast-editor-summary>span{font-size:clamp(22px,2.2vw,30px);line-height:1.3;font-weight:850}
.broadcast-editor-summary>small{color:#b6edff;font-size:14px;line-height:1.4}
.broadcast-editor-summary::after{content:'▾';font-size:26px;position:absolute;right:3px;top:5px;transition:transform .15s ease}
.broadcast-editor[open]>.broadcast-editor-summary::after{transform:rotate(180deg)}
.broadcast-editor-summary:hover,.broadcast-editor-summary:focus-visible{color:#ffffff;text-shadow:0 0 13px #5af2ff87}
.broadcast-editor-summary:focus-visible{outline:2px solid #92efff;outline-offset:4px}
.broadcast-date-selection{margin:15px 0;padding:14px;border:1px solid #72dfffa3;border-radius:12px;background:rgba(3,16,43,.45)}
.broadcast-date-selection>strong{display:block;font-size:16px;color:#fff;margin-bottom:12px}
.broadcast-date-selection>small{display:block;color:#b6eefa;margin-top:10px;font-size:12px}
.broadcast-date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}
.broadcast-date-choice{display:flex;flex-direction:column;align-items:center;gap:4px;border:1px solid #6cdaffaf;border-radius:9px;background:rgba(8,24,57,.65);color:white;padding:9px 4px;cursor:pointer;min-height:58px}
.broadcast-date-choice span{font-size:12px;color:#c5eaff}
.broadcast-date-choice strong{font-size:14px;color:white}
.broadcast-date-choice:hover,.broadcast-date-choice:focus-visible,.broadcast-date-choice.is-selected{background:rgba(99,39,164,.85);border-color:#fff;box-shadow:0 0 12px #52e2ff80}
.broadcast-repeat-control{display:flex;gap:12px;align-items:flex-start;padding:15px;border:1px solid #a3dcff99;border-radius:12px;background:rgba(5,21,52,.55);cursor:pointer;margin:8px 0 16px}
.broadcast-repeat-control input{flex:0 0 20px;width:20px;height:20px;accent-color:#67e8f9;margin-top:3px}
.broadcast-repeat-control span{display:flex;flex-direction:column;gap:5px}
.broadcast-repeat-control strong{color:#fff;font-size:15px}
.broadcast-repeat-control small{color:#daedff;font-size:12px;line-height:1.5}
@media(max-width:750px){.broadcast-date-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:420px){.broadcast-date-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v3.31: Alle Interaktionen im Team-Bereich auch mit Touch/Tastatur erreichbar. */
.admin-quicklinks{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:16px 0}
.admin-quicklinks .btn{display:flex;align-items:center;justify-content:center;min-height:46px;text-align:center;white-space:normal}
.admin-sidebar a{display:flex;align-items:center;min-height:43px;cursor:pointer}
.stat-card-link{display:block;text-decoration:none;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}
.stat-card-link:hover,.stat-card-link:focus-visible{border-color:#91f5ff;box-shadow:0 0 0 2px #91f5ff99;text-decoration:none}
.admin-main button:not(:disabled),.admin-main summary,.admin-main a[href]{cursor:pointer}
.admin-main a:focus-visible,.admin-main button:focus-visible,.admin-sidebar a:focus-visible{outline:2px solid #94ecff;outline-offset:3px}
.broadcast-editor:not([open]) > :not(summary){display:none}
.schedule-now-badge{font-style:normal;color:#90ffce;font-size:.86em;font-weight:900;margin-right:4px}
.broadcast-now-nav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:center}
.broadcast-now-nav strong{color:#b3f9e0}
.broadcast-date-choice,.broadcast-editor-summary,.show-home-week,.show-home-day{touch-action:manipulation}
@media(max-width:680px){.admin-quicklinks{grid-template-columns:1fr 1fr}.broadcast-now-nav{flex-direction:column;align-items:stretch;text-align:center}.admin-sidebar a{min-height:46px}}
@media(max-width:390px){.admin-quicklinks{grid-template-columns:1fr}}

/* live time filters have precedence over card display rules */
[data-schedule-start-ms][hidden],.schedule-now-badge[hidden]{display:none!important}
.schedule-now-badge{font-style:normal;color:#90ffce;font-weight:900;display:inline}


/* v3.32: Klickbarer Sendungsplaner für PC, Handy und Tablet. */
.broadcast-editor-summary{display:flex;cursor:pointer;min-height:64px;align-items:flex-start;border:1px solid #71eaff79;background:rgba(10,32,65,.55);border-radius:12px;padding:13px 47px 13px 15px;touch-action:manipulation}
.broadcast-editor-summary:hover,.broadcast-editor-summary:focus-visible{background:rgba(28,67,104,.75)}
.broadcast-editor .broadcast-date-choice{min-height:68px;touch-action:manipulation;transition:background-color .12s,box-shadow .12s}
.broadcast-editor .broadcast-date-choice.is-selected{background:#58339c;outline:2px solid #a6f6ff;outline-offset:1px}
.broadcast-datetime-grid{align-items:end;margin:14px 0 4px}
.broadcast-datetime-field{min-width:0}
.broadcast-datetime-field>label{display:block;margin-bottom:7px;color:#e7f7ff;font-size:14px;font-weight:800;cursor:pointer}
.broadcast-datetime-input-row{display:flex;gap:8px;align-items:stretch;min-width:0}
.broadcast-datetime-input-row input[type="datetime-local"]{flex:1;min-width:0;width:100%;min-height:48px;color-scheme:dark;cursor:pointer;border:1px solid #78e6ff9c;border-radius:11px;background:#071b38;color:white;padding:9px 10px;font-size:15px}
.broadcast-datetime-input-row input:focus-visible{outline:2px solid #a1f5ff;outline-offset:2px}
.broadcast-open-picker{flex:0 0 auto;min-height:48px;white-space:nowrap}
.broadcast-date-feedback{font-size:13px;color:#aef3d1;margin:3px 0 16px;min-height:20px}
.broadcast-date-feedback.is-error{color:#ffb1ab}
@media(max-width:1000px){.broadcast-datetime-input-row{flex-wrap:wrap}.broadcast-open-picker{width:100%}}
@media(max-width:500px){.broadcast-editor-summary>span{font-size:21px}.broadcast-date-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.broadcast-editor .broadcast-date-choice{padding:8px 2px;min-height:66px}}


/* v3.33: Direkte, klickbare Start-/Enduhrzeit mit 24-Stunden-/Minutenauswahl. */
.broadcast-time-click{margin:10px 0 4px;padding:12px;background:rgba(5,22,48,.6);border:1px solid rgba(105,223,255,.5);border-radius:12px}
.broadcast-time-click>strong{display:block;color:#eafaff;font-size:14px;margin-bottom:10px}
.broadcast-time-click-controls{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.broadcast-time-click-controls label{display:flex;flex-direction:column;gap:6px;flex:1 1 95px;max-width:200px;font-size:13px;font-weight:750;color:#d8f5ff;cursor:pointer}
.broadcast-time-click-controls select{display:block;box-sizing:border-box;width:100%;min-width:0;min-height:52px;border:1px solid rgba(134,242,255,.75);border-radius:10px;background:#071b38;color:#fff;padding:10px 12px;font-size:17px;font-weight:800;cursor:pointer;touch-action:manipulation;color-scheme:dark}
.broadcast-time-click-controls select:hover{border-color:#fff}
.broadcast-time-click-controls select:focus-visible{outline:3px solid #a4f6ff;outline-offset:2px}
.broadcast-time-separator{align-self:flex-end;display:block;color:#bdf1ff;font-size:24px;font-weight:900;line-height:52px}
@media(max-width:480px){.broadcast-time-click{padding:10px}.broadcast-time-click-controls{gap:6px}.broadcast-time-click-controls label{flex:1 1 105px;max-width:none}.broadcast-time-separator{font-size:20px}}


/* v3.34: Datum UND Uhrzeit auf PC, Tablet und Handy anklickbar */
.broadcast-datetime-heading {
  appearance:none;display:flex;align-items:center;justify-content:space-between;
  gap:10px;width:100%;min-height:49px;margin-bottom:8px;padding:10px 13px;
  border:1px solid rgba(129,223,255,.65);border-radius:11px;
  background:rgba(20,41,79,.85);color:#e7f7ff;font-size:15px;font-weight:850;
  text-align:left;cursor:pointer;touch-action:manipulation;
}
.broadcast-datetime-heading:hover,.broadcast-datetime-heading:focus-visible,
.broadcast-datetime-heading.is-expanded{background:#264e79;border-color:#c3faff;outline-offset:2px}
.broadcast-datetime-heading span{font-size:18px;transition:transform .16s}
.broadcast-datetime-heading.is-expanded span{transform:rotate(180deg)}
.broadcast-open-picker.is-expanded{border-color:#fff;background:#385583}
.broadcast-datetime-chooser[hidden]{display:none!important}
.broadcast-datetime-chooser{
  margin-top:10px;padding:14px;border:1px solid rgba(105,225,255,.6);
  border-radius:12px;background:rgba(7,24,55,.96);
}
.broadcast-datetime-chooser>label{display:block;color:#eefaff;font-size:14px;font-weight:800;margin-bottom:8px}
.broadcast-datetime-chooser>input[type=date]{
  box-sizing:border-box;display:block;width:100%;min-width:0;min-height:54px;
  padding:11px 14px;border:1px solid #b4eeff;border-radius:10px;
  background:#071b38;color:white;color-scheme:dark;
  font-size:16px;cursor:pointer;touch-action:manipulation;
}
.broadcast-datetime-chooser>input[type=date]:focus-visible{outline:3px solid #b1f1ff;outline-offset:2px}
.broadcast-datetime-chooser .broadcast-time-click{margin:12px 0 0}
@media(max-width:720px){
 .broadcast-datetime-heading,.broadcast-open-picker{min-height:54px;font-size:16px}
 .broadcast-datetime-chooser{padding:11px}
}

/* v3.35 – Kacheln in der Mitte, DJ-Themen und auswählbare Sendungsarten */
.column-center > .link-tile {margin-top:16px;max-width:100%}
.column-left > .link-tile {margin-top:16px}
.pp-tile-admin-row {display:flex;align-items:center;gap:12px;min-width:0}
.pp-tile-admin-thumb {width:78px;height:58px;object-fit:contain;border-radius:8px;flex-shrink:0}
.pp-dj-topic-panel {margin:18px 0 24px;padding:16px;border-radius:14px;border:1px solid rgba(82,213,255,.25)}
.pp-dj-picker,.pp-topic-assign-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin:12px 0 20px}
.pp-dj-picker-item,.pp-topic-assign-choice {display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;background:rgba(15,27,56,.65);border:1px solid rgba(128,212,255,.3);border-radius:12px;padding:12px;cursor:pointer;color:inherit;text-decoration:none}
.pp-dj-picker-item.is-selected,.pp-topic-assign-choice:has(input:checked) {border-color:#59e9f5;box-shadow:inset 0 0 0 1px #59e9f5}
.pp-dj-topic-photo {height:96px;max-width:100%;object-fit:contain}
.pp-topic-assign-choice img {width:100%;max-height:85px;object-fit:contain}
.pp-topic-assign-choice input {width:20px;height:20px}
.pp-broadcast-options{border:1px solid rgba(93,225,255,.38);padding:16px;border-radius:14px;margin:14px 0;background:rgba(7,19,45,.3)}
.pp-broadcast-options h3{margin:0 0 12px}
.pp-radio-option-group{display:flex;flex-wrap:wrap;gap:10px;padding:12px;margin:0 0 12px;border:1px solid rgba(147,205,235,.25);border-radius:12px}
.pp-radio-option-group legend {font-weight:800;padding:0 6px}
.pp-broadcast-radio{display:flex;gap:9px;align-items:center;padding:9px 13px;border-radius:10px;cursor:pointer;background:rgba(15,36,69,.7);border:1px solid rgba(147,205,235,.35);flex:1 1 200px}
.pp-broadcast-radio:has(input:checked){border-color:#59e9f5;background:rgba(37,104,116,.23)}
.pp-broadcast-radio input{accent-color:#59e9f5;flex-shrink:0}
@media(max-width:700px){.pp-dj-picker,.pp-topic-assign-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-radio-option-group{display:grid}.pp-dj-topic-panel{padding:10px}}

.pp-program-flags{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0;color:#bff7ff;font-size:.75rem;font-weight:700}.pp-program-flags span{border:1px solid rgba(117,213,255,.3);border-radius:15px;padding:3px 7px}

/* v3.36 – Alle Homepage-Kacheln in einer gemeinsamen, anklickbaren Übersicht */
.pp-tile-overview-counts{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 18px}
.pp-tile-overview-counts span{padding:9px 14px;border:1px solid rgba(102,215,249,.45);border-radius:12px;background:rgba(6,22,47,.45);color:#e6f8ff}
.pp-tile-overview-counts strong{font-size:1.3rem;color:#fff;margin-right:5px}
.pp-tile-top-actions{margin:0 0 22px}
.pp-all-tiles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,268px),1fr));gap:16px;margin:12px 0 27px}
.pp-all-tile-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid rgba(106,214,249,.63);border-radius:15px;background:rgba(5,17,41,.76);box-shadow:0 6px 22px rgba(0,0,0,.22)}
.pp-all-tile-card.is-hidden{border-color:rgba(168,173,193,.5)}
.pp-all-tile-card.is-hidden .pp-all-tile-image{opacity:.57}
.pp-all-tile-image{height:154px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(115deg,rgba(22,54,108,.8),rgba(75,20,94,.7))}
.pp-all-tile-photo{display:block;max-width:100%;width:100%;height:100%;object-fit:contain}
.pp-all-tile-placeholder{display:flex;flex-direction:column;align-items:center;gap:6px;color:#c2eaff;font-size:37px;text-align:center}
.pp-all-tile-placeholder small{font-size:12px;font-weight:700;color:#d8ebff}
.pp-all-tile-body{flex:1;display:flex;flex-direction:column;padding:15px;min-width:0}
.pp-all-tile-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:9px}
.pp-all-tile-badges span{border:1px solid rgba(106,221,248,.5);border-radius:50px;padding:3px 9px;font-size:11px;font-weight:750;color:#c6eeff}
.pp-all-tile-body h4{font-size:18px;color:#fff;margin:1px 0 5px;overflow-wrap:anywhere}
.pp-all-tile-state{color:#e0eaff;font-weight:700}
.pp-all-tile-body p{font-size:13px;color:#d8eaff;margin:9px 0;line-height:1.45;overflow-wrap:anywhere}
.pp-all-tile-link{display:block;color:#ade9fa;overflow-wrap:anywhere;margin-top:7px}
.pp-all-tile-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:16px}
.pp-all-tile-actions form{margin:0}
.pp-all-tile-actions .btn{white-space:normal;min-height:40px;touch-action:manipulation}
.pp-fixed-tile-editor{scroll-margin-top:12px;margin-bottom:12px}
.pp-fixed-tile-editor summary{cursor:pointer;touch-action:manipulation}
#ppAddTile{scroll-margin-top:10px}
@media(max-width:600px){.pp-all-tiles-grid{grid-template-columns:1fr}.pp-all-tile-image{height:180px}.pp-all-tile-actions .btn{min-height:44px}}


/* v3.37: Drei-Spalten-Showroom für alle Homepage-Kacheln */
.pp-showroom{margin:22px 0 30px;padding:16px;border:1px solid rgba(71,209,255,.62);border-radius:16px;background:rgba(5,15,36,.5)}
.pp-showroom h3{margin:0 0 10px}
.pp-showroom p{color:#deefff}
.pp-showroom-zones{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}
.pp-showroom-zone{min-width:0;padding:11px;border:2px dashed rgba(89,202,250,.42);border-radius:14px;background:rgba(4,20,43,.5)}
.pp-showroom-zone.is-drop-target{border-color:#fb67ed;background:rgba(88,25,113,.35)}
.pp-showroom-zone h4{margin:0 0 11px;color:#fff}
.pp-showroom-zone-items{min-height:105px;display:flex;flex-direction:column;gap:9px}
.pp-showroom-tile{display:flex;flex-direction:column;gap:7px;border:1px solid rgba(117,218,245,.6);border-radius:11px;padding:10px;background:rgba(13,45,78,.92);min-width:0;cursor:grab}
.pp-showroom-tile.is-dragging{opacity:.52}
.pp-showroom-grip{color:#ff85e8;font-size:22px;line-height:1}
.pp-showroom-tile-name{overflow-wrap:anywhere}
.pp-showroom-tile-name strong{display:block;font-size:.88rem;color:#fff}
.pp-showroom-tile-name small{font-size:.73rem;color:#cce9ff}
.pp-showroom-tile label{display:flex;flex-direction:column;gap:4px;font-size:.77rem;font-weight:700;color:#d8efff}
.pp-showroom-tile select{width:100%;min-width:0;font-size:.84rem;cursor:pointer;touch-action:manipulation}
.pp-showroom-drop-label{display:block;margin:10px 0 0;text-align:center;font-size:.71rem;color:#badaee}
.home-bottom-tiles{width:100%;display:flex;flex-direction:column;gap:14px;margin:20px 0}
.home-bottom-tiles:empty{display:none}
.home-center-image-group{min-width:0;width:100%}
.home-layout .column-left > .hero-visual,.home-layout .column-right > .hero-visual{min-height:360px}
.home-layout .column-left > .hero-visual .hero-core h1,.home-layout .column-right > .hero-visual .hero-core h1{font-size:clamp(1.4rem,2.3vw,2rem)}
.home-layout .column-left > .hero-visual .hero-art,.home-layout .column-right > .hero-visual .hero-art{height:125px;overflow:hidden}
.home-layout .column-left > .show-home-board .show-home-weeks,.home-layout .column-right > .show-home-board .show-home-weeks,
.home-layout .column-left > .show-home-board .show-home-days,.home-layout .column-right > .show-home-board .show-home-days{overflow-x:auto;flex-wrap:nowrap}
@media(max-width:1100px){.pp-showroom-zones{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.pp-showroom{padding:10px}.pp-showroom-zones{grid-template-columns:1fr}.pp-showroom-zone-items{min-height:64px}}

.pp-showroom-thumb{display:block;width:100%;max-height:80px;object-fit:contain;background:rgba(1,10,24,.44);border-radius:7px}

/* v3.38: Anlegen/Entfernen direkt im Team-Kachel-Showroom. */
.pp-showroom-top-actions {display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 18px}
.pp-showroom-tile-actions {display:flex;flex-wrap:wrap;gap:7px;margin-top:5px;cursor:default}
.pp-showroom-tile-actions .btn {flex:1 1 108px;min-width:0;min-height:38px;text-align:center;white-space:normal;touch-action:manipulation}
.pp-showroom-tile.is-hidden {opacity:.7;border-style:dashed}
.pp-showroom-action-form {display:none!important}
.pp-showroom-create-panel {margin:14px 0 28px;border:1px solid rgba(116,211,255,.52);border-radius:14px;padding:16px;background:rgba(7,19,43,.73)}
.pp-showroom-create-panel > summary {cursor:pointer;color:#fff;font-size:1.1rem;font-weight:800;padding:8px;list-style-position:inside;touch-action:manipulation}
.pp-showroom-create-panel > p {color:#cce9ff}
.pp-showroom-create-panel .form-stack {margin-top:14px}
@media(max-width:640px){.pp-showroom-tile-actions .btn{min-height:44px}.pp-showroom-create-panel{padding:10px}}

/* v3.40: freundlicher Hinweis statt störender Alertbox; Eingaben/Player bleiben nutzbar. */
.site-copy-protected img:not([data-copy-allow]) { -webkit-user-drag:none; user-drag:none; }
.pp-copy-warning {position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);z-index:9999;max-width:min(92vw,580px);width:max-content;padding:13px 20px;border-radius:12px;border:1px solid rgba(255,80,183,.6);background:rgba(10,15,40,.97);box-shadow:0 6px 30px rgba(0,0,0,.45);color:white;text-align:center;font-weight:750;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,transform .2s,visibility .2s;}
.pp-copy-warning.is-visible {opacity:1;visibility:visible;transform:translate(-50%,0);}
.site-copyright {font-weight:600;}

/* v3.41 – Aktuell sendender DJ: NUR das originale Foto, ohne Kachelrahmen.
   Gilt für den DJ und für den Auto-DJ auf der Startseite; der restliche Player
   sowie die Moderatoreninfos und die nächste DJ-Kachel bleiben unverändert. */
.current-panel .dj-card-layout .portrait {
  display: block;
  width: min(100%, 228px);
  max-width: 228px;
  min-width: 0;
  height: auto;
  aspect-ratio: auto;
  margin-inline: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  outline: 0;
  overflow: visible;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}
.current-panel .dj-card-layout .portrait img.portrait-image {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  min-height: 0;
  max-height: none;
  object-fit: contain;
  object-position: center center;
  padding: 0;
  border: 0;
  border-radius: 0;
  outline: 0;
  background: transparent;
  box-shadow: none;
  filter: none;
}
.current-panel .dj-card-layout .portrait .image-placeholder {
  width: 100%;
  height: auto;
  min-height: 0;
  border: 0;
  border-radius: 0;
  outline: 0;
  box-shadow: none;
  background: transparent;
}


/* v3.42 – Öffentliche Startseite: Mittelbereich ohne Kachelhintergründe.
   Gilt NICHT für den Admin-Showroom oder die Seitenbereiche links/rechts. */
.home-layout .column-center > .panel {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  overflow: visible !important;
}
.home-layout .column-center > .panel > .panel-heading {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 4px 0 12px;
}
/* Eigene Bildkacheln in der Mitte: kein Bildrahmen und keine seitlichen Polster. */
.home-layout .column-center > .link-tile {
  width: 100%;
  max-width: 100%;
  margin-top: 0;
}
.home-layout .column-center > .link-tile > .panel-body {
  padding: 0 !important;
  background: transparent !important;
}
.home-layout .column-center > .link-tile .tile-link {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.home-layout .column-center > .link-tile .tile-picture {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
/* Die bisherigen drei Startseitenbilder: statt 3 kleiner Kacheln nun
   3 große Originalbilder untereinander – Schrift bleibt besser lesbar. */
.home-layout .home-center-image-group {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.home-layout .home-center-image-group .center-image-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: clamp(12px, 2.4vw, 22px);
  width: 100%;
  padding: 0 !important;
  background: transparent !important;
}
.home-layout .home-center-image-group .center-poster {
  display: block !important;
  width: 100%;
  max-width: 100%;
  min-height: 0 !important;
  height: auto !important;
  aspect-ratio: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.home-layout .home-center-image-group .center-poster > img.center-image {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
/* Im Team-Bereich hochgeladene Bilder der festen Mittelbereich-Sektionen. */
.home-layout .column-center .home-custom-image {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  margin: 10px auto 16px;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.home-layout .column-center > .center-feature {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  padding: 12px 0;
}
/* Der große Homepage-Banner behält sein eigentliches HintergrundBILD;
   es wird nur der zusätzliche dekorative Kachelrand entfernt. */
.home-layout .column-center > .hero-visual {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
@media (min-width: 1081px) {
  .home-layout {
    grid-template-columns: minmax(230px, 275px) minmax(0, 1fr) minmax(230px, 280px);
  }
}
@media (max-width: 720px) {
  .home-layout .home-center-image-group .center-image-grid {gap: 14px;}
  .home-layout .column-center > .center-feature {padding: 12px 0;}
}

/* ========================================================================
   PITBULL-PARTY v3.45 · NAVIGATION ETWAS KLEINER
   Die transparenten Desktop-Menüpunkte werden unabhängig von der Logo-Breite
   mittig angeordnet. Lange Menüs dürfen mehrzeilig umbrechen. Mobil bleibt
   der vorhandene Menü-Knopf mit großformatigen Links erhalten.
   ======================================================================== */
@media (min-width: 721px) {
  header.masthead .topbar {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 8px;
    min-height: 0;
    padding: 10px 0 16px;
  }
  header.masthead .topbar .brand {
    display: flex;
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
    justify-content: center;
    margin: 0 auto;
  }
  header.masthead .nav-links {
    display: flex;
    position: static;
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
    justify-content: center !important;
    align-items: center;
    flex-wrap: wrap;
    column-gap: clamp(4px, .6vw, 12px);
    row-gap: 3px;
    margin: 0 auto;
    padding: 0;
  }
  header.masthead .nav-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-height: 42px;
    padding: 9px clamp(8px, .85vw, 14px);
    color: #fff !important;
    font-size: clamp(14px, 1.05vw, 16px) !important;
    font-weight: 850;
    line-height: 1.4;
    letter-spacing: .015em;
    text-transform: none;
    white-space: nowrap;
    text-align: center;
    text-shadow: 0 2px 3px #000, 0 0 9px #000, 0 0 20px #000;
    -webkit-text-stroke: .16px rgba(255,255,255,.5);
  }
}
/* Groessere Beschriftung und deutlicher aktiver Menuepunkt auch mobil. */
@media (max-width: 720px) {
  header.masthead .menu-toggle {
    min-height: 44px;
    padding: 10px 14px;
    font-size: 15px;
    font-weight: 850;
  }
  header.masthead .nav-links.open {
    background: rgba(3, 10, 29, .94) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
  header.masthead .nav-links a {
    min-height: 45px;
    padding: 12px 15px;
    font-size: 15px !important;
    font-weight: 850;
    line-height: 1.4;
    text-transform: none;
    text-shadow: 0 2px 5px #000, 0 0 10px #000;
  }
}


/* v3.46: Für Hörer lesbare Sendethemen (öffentlicher + Team-Sendeplan). */
.pp-topic-eyebrow{display:block!important;color:#9ef3ff!important;font-size:12px!important;font-weight:850!important;letter-spacing:.045em;text-transform:uppercase;line-height:1.45;margin-top:10px}
.show-home-card-body h3.pp-program-theme-name,
.show-home-card-body h4.pp-program-theme-name{display:block;font-size:clamp(20px,2vw,26px)!important;line-height:1.23!important;color:#fff!important;font-weight:900!important;letter-spacing:.01em;text-shadow:0 2px 8px rgba(0,0,0,.85),0 0 16px rgba(78,223,255,.32);overflow-wrap:anywhere;word-break:normal;margin:6px 0 6px!important}
.show-home-auto .show-home-card-body h3.pp-program-theme-name,
.show-home-auto .show-home-card-body h4.pp-program-theme-name{color:#ffffff!important}
.pp-program-show-subtitle{color:#d9f4ff!important;font-size:14px!important;line-height:1.45!important;margin:4px 0 7px;overflow-wrap:anywhere}
.pp-program-theme-description{color:#f4deff!important;font-size:13px!important;line-height:1.5!important;overflow-wrap:anywhere;margin:4px 0 8px}
.broadcast-overview-card .pp-topic-eyebrow{font-size:11px!important;margin:4px 0 0}
.broadcast-overview-card b.pp-program-theme-name{font-size:clamp(16px,1.4vw,19px)!important;color:#fff!important;line-height:1.32!important;font-weight:850!important;text-shadow:0 2px 6px #000;overflow-wrap:anywhere}
.broadcast-overview-card .pp-program-show-subtitle{font-size:12px!important;color:#ccecff!important}
.broadcast-overview-card .pp-program-theme-description{font-size:12px!important;color:#ecdfff!important}
.current-panel .dj-facts strong.pp-current-topic{display:block!important;font-size:clamp(16px,1.3vw,20px)!important;line-height:1.3!important;font-weight:900!important;color:#fff3a4!important;text-shadow:0 2px 6px #000,0 0 13px #b84fff55;overflow-wrap:anywhere;white-space:normal!important}
.current-panel .dj-facts .pp-current-show-title{display:block;color:#d5f4ff;font-size:12px;line-height:1.45;margin-top:5px;overflow-wrap:anywhere}
.pp-autodj-current-cover{margin:12px auto 2px;max-width:100%;background:transparent;border:0;box-shadow:none}
.pp-autodj-cover-image{display:block;width:100%;height:auto;object-fit:contain;border:none;border-radius:0;box-shadow:none}
.pp-autodj-theme-panel{margin-bottom:18px}
.pp-autodj-preview{display:grid;grid-template-columns:minmax(180px,36%) 1fr;align-items:center;gap:16px;padding:13px;margin:16px 0;background:rgba(11,29,55,.65);border:1px solid rgba(73,220,254,.53);border-radius:12px;min-width:0}
.pp-autodj-theme-preview{display:block;max-width:100%;width:100%;height:auto;object-fit:contain}
.pp-autodj-preview>div{min-width:0;overflow-wrap:anywhere}
.pp-autodj-preview small{color:#b7efff;display:block;font-weight:800}
.pp-autodj-preview strong{color:#fff;display:block;font-size:clamp(18px,2vw,25px);margin-top:6px}
.pp-autodj-preview p{color:#e5dcff;font-size:14px;line-height:1.5}
@media(max-width:700px){
  .show-home-card-body h3.pp-program-theme-name,.show-home-card-body h4.pp-program-theme-name{font-size:19px!important}
  .pp-autodj-preview{grid-template-columns:minmax(0,1fr)}
  .broadcast-overview-card b.pp-program-theme-name{font-size:16px!important}
}

/* Pitbull-Party v3.47: Alle eingetragenen Sendethemen pro Sendung lesbar. */
.pp-show-extra-topics {display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:10px 0 10px;max-width:100%;min-width:0;}
.pp-show-extra-heading {width:100%;font-size:13px;letter-spacing:.02em;color:#d1f4ff;font-weight:800;line-height:1.4;}
.pp-show-topic-pill {display:inline-flex;align-items:center;max-width:100%;padding:6px 11px;border:1px solid rgba(87,229,255,.7);border-radius:8px;background:rgba(8,15,35,.85);color:#fff!important;font-size:clamp(13px,1.1vw,16px)!important;line-height:1.35!important;font-weight:800!important;text-shadow:0 1px 3px #000;overflow-wrap:anywhere;white-space:normal;}
.broadcast-overview-card .pp-show-extra-topics {grid-column:auto;gap:5px;margin-top:7px;margin-bottom:7px;}
.broadcast-topic-choice:has(input[type="checkbox"]:checked){outline:2px solid #39e9ff;outline-offset:2px;background:rgba(34,63,111,.47)}
.broadcast-topic-choice input[type="checkbox"]{accent-color:#26e2fa;width:19px;height:19px;}
.current-panel .pp-show-topic-pill {font-size:14px!important;}
.show-home-card .pp-show-topic-pill {font-size:15px!important;}
@media(max-width:600px){.pp-show-topic-pill{font-size:14px!important;padding:6px 9px}.pp-show-extra-topics{gap:5px}}

.pp-show-topic-mini {width:46px!important;height:36px!important;object-fit:cover;border-radius:5px;flex:none;border:1px solid rgba(233,251,255,.45);background:#111a34;}

/* v3.48 – Quadratische Moderatorenbilder, Sendethema daneben. */
.public-broadcast-grid,.show-home-cards{grid-template-columns:minmax(0,1fr)}
.show-home-card{display:grid;grid-template-columns:160px minmax(0,1fr);align-items:start}
.show-home-card .show-home-picture{width:100%;height:auto;aspect-ratio:auto;background:transparent;overflow:visible}
.show-home-card .show-home-picture .show-home-topic-art{display:block;width:100%;height:auto!important;aspect-ratio:1/1;object-fit:contain;border-radius:0!important}
.show-home-card .show-home-clock{position:static;display:block;width:100%;box-sizing:border-box;font-size:12px;text-align:center;padding:8px 3px;background:#071124;color:#fff}
.show-home-card .show-home-card-body{min-width:0;padding:14px}
.pp-schedule-topic-image{display:block;width:min(100%,280px);height:auto;object-fit:contain;border-radius:0;margin:10px 0}
.broadcast-overview-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.broadcast-overview-card{grid-template-columns:120px minmax(0,1fr);align-items:start}
.broadcast-overview-card .broadcast-overview-avatar{width:120px;height:120px;aspect-ratio:1;object-fit:contain;border-radius:0;grid-row:1;grid-column:1}
.broadcast-overview-card>div{grid-column:2;grid-row:1}
.broadcast-overview-card .broadcast-overview-topic{grid-column:2;width:min(100%,280px);height:auto;object-fit:contain;border-radius:0}
@media(max-width:540px){
.show-home-card{grid-template-columns:100px minmax(0,1fr)}
.show-home-card .show-home-card-body{padding:10px}
.broadcast-overview-card{grid-template-columns:90px minmax(0,1fr)}
.broadcast-overview-card .broadcast-overview-avatar{width:90px;height:90px}
}
