@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');
:root{--ink:#14231d;--muted:#718078;--line:#dfe7e2;--paper:#f4f7f5;--white:#fff;--green:#153c2d;--green2:#1f5943;--amber:#e9a72f;--red:#c34343;--shadow:0 14px 40px rgba(23,53,41,.08);font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0;background:var(--paper)}h1,h2,h3,strong{font-family:Manrope,sans-serif}h1,h2,h3,p{margin-top:0}button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{background:var(--green);color:white;padding:26px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;padding:0 9px 28px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--amber);color:var(--green);font:800 15px Manrope}.brand strong,.brand small{display:block}.brand small{font-size:11px;color:#a9c0b6;margin-top:2px}.sidebar nav{display:grid;gap:5px}.sidebar nav a{display:flex;gap:13px;align-items:center;color:#b9cec5;text-decoration:none;padding:12px 13px;border-radius:10px;font-weight:600}.sidebar nav a:hover,.sidebar nav a.active{background:#23513e;color:white}.sidebar nav a span{width:20px;text-align:center;color:var(--amber)}.sidebar-user{margin-top:auto;border-top:1px solid #315b49;padding:20px 8px 0;display:flex;align-items:center;gap:10px}.sidebar-user .avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#315d4b}.sidebar-user div{min-width:0;flex:1}.sidebar-user strong,.sidebar-user small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user strong{font-size:13px}.sidebar-user small{font-size:10px;color:#9eb7ac;text-transform:uppercase}.sidebar-user form,.actions form{margin:0}.sidebar-user button,.actions button,.schedule-list button{background:none;border:0;color:inherit;cursor:pointer}.topbar{height:94px;padding:20px 34px;display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.76);backdrop-filter:blur(10px)}.topbar h1{font-size:20px;margin:2px 0}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.18em;color:#789087}.site-link{margin-left:auto;text-decoration:none;color:var(--green);font-weight:700}.menu-toggle{display:none}.content{padding:30px 34px;max-width:1500px;margin:auto}.alert{padding:13px 16px;border-radius:10px;margin-bottom:18px;font-weight:600}.alert.success{background:#dff4e9;color:#17633f}.alert.warning{background:#fff4d8;color:#76520a;border-left:4px solid #e7a91b}.alert.error{background:#fee5e5;color:#992f2f}.hero{border-radius:18px;padding:34px;background:linear-gradient(120deg,#183e30,#235d45);color:white;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow);margin-bottom:22px}.hero h2{font-size:28px;max-width:520px;margin:8px 0}.hero p{color:#bad0c6;margin:0}.onair{display:flex;gap:13px;align-items:center;padding:16px 20px;border:1px solid #49725f;border-radius:13px;background:#17392d}.onair>span{width:11px;height:11px;border-radius:50%;background:#718078}.onair.live>span{background:#f14c4c;box-shadow:0 0 0 6px #f14c4c22}.onair small,.onair strong,.onair em{display:block}.onair small{font-size:9px;letter-spacing:.15em;color:#a7c2b6}.onair strong{margin:3px 0}.onair em{font-size:11px;color:#9bb5aa;font-style:normal}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.stat-card,.panel{background:white;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.stat-card{padding:22px}.stat-card small,.stat-card span{display:block;color:var(--muted)}.stat-card strong{display:block;font-size:34px;margin:10px 0}.stat-card span{font-size:12px}.panel{padding:24px;margin-bottom:22px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.panel-head h2,.panel-head h3{margin:4px 0}.panel-head p{color:var(--muted);margin:4px 0}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;text-decoration:none;border-radius:9px;padding:11px 16px;font-weight:700;cursor:pointer}.btn.primary{background:var(--amber);color:#18392d}.btn.secondary{border:1px solid var(--line);background:white;color:var(--green)}.btn.ghost{color:var(--muted)}.btn.danger{background:#fff0f0;color:var(--red)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:10px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase}th,td{padding:14px 10px;border-bottom:1px solid #edf1ef}td{font-size:13px}.cell-sub{display:block;color:var(--muted);font-family:'DM Sans';margin-top:3px}.badge{display:inline-block;font-size:10px;font-weight:800;text-transform:uppercase;padding:5px 8px;border-radius:20px;background:#eef1ef}.badge.published,.badge.completed{background:#ddf4e8;color:#17633f}.badge.draft,.badge.failed{background:#fee6e6;color:#9a3434}.actions{display:flex;gap:12px;justify-content:flex-end}.actions a,.actions button{font-size:12px;color:var(--green);font-weight:700}.empty{text-align:center!important;color:var(--muted);padding:32px!important}.form-panel{max-width:1050px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid.one{grid-template-columns:1fr}.form-grid label,.form-stack label{font-size:12px;font-weight:700;color:#486057}.form-grid input,.form-grid select,.form-grid textarea,.form-stack input{display:block;width:100%;margin-top:7px;border:1px solid #d8e1dc;border-radius:9px;padding:12px;background:#fbfcfb;color:var(--ink);outline:none}.form-grid input:focus,.form-grid textarea:focus,.form-stack input:focus{border-color:var(--green2);box-shadow:0 0 0 3px #23513e16}.form-grid textarea{min-height:100px;resize:vertical}.form-grid textarea.editor{min-height:340px}.form-grid .full{grid-column:1/-1}.form-grid .check{display:flex;align-items:center;gap:8px}.form-grid .check input{width:auto;margin:0}.section-title{border-top:1px solid var(--line);padding-top:22px;margin:28px 0 16px}.grid-two{display:grid;grid-template-columns:390px 1fr;gap:22px}.time-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.schedule-list article,.backup-list article,.podcast-list article{display:flex;align-items:center;gap:16px;padding:15px 0;border-bottom:1px solid var(--line)}.schedule-list article>div:nth-child(2),.backup-list article>div,.podcast-list article>div:nth-child(2){flex:1}.schedule-list small,.schedule-list strong,.backup-list small{display:block}.schedule-list small,.backup-list small{color:var(--muted)}.schedule-list button{font-size:22px;color:var(--red)}.file-icon,.podcast-cover{display:grid;place-items:center;width:48px;height:48px;border-radius:10px;background:#ecf2ef;color:var(--green);font-weight:800}.podcast-list p{color:var(--muted);margin:4px 0}.podcast-list audio{height:28px;max-width:280px}.podcast-list button{border:0;background:none;color:var(--red);font-weight:700}.update-hero{display:flex;justify-content:space-between;align-items:center;background:var(--green);color:white}.update-hero p{color:#aec3ba}.version-box{text-align:right}.version-box strong{font-size:34px;display:block;margin:5px 0 12px}
.guest-body,.install-body{min-height:100vh;background:radial-gradient(circle at 20% 10%,#2b5c48 0,#153c2d 40%,#0d2b20 100%)}.auth-wrap{width:min(440px,calc(100% - 30px));margin:auto;padding-top:7vh}.auth-brand{display:flex;align-items:center;justify-content:center;gap:12px;color:white;margin-bottom:24px}.auth-card{background:white;border-radius:18px;padding:34px;box-shadow:0 24px 70px #071b1466}.auth-card h1{font-size:27px;margin:8px 0}.auth-card>p{color:var(--muted)}.form-stack{display:grid;gap:16px;margin:24px 0 18px}.muted-link{display:block;text-align:center;color:var(--muted);font-size:13px}.dev-link{font-size:12px;background:#fff8e8;padding:10px}.installer{width:min(1120px,calc(100% - 40px));min-height:680px;margin:5vh auto;background:white;border-radius:22px;display:grid;grid-template-columns:310px 1fr;overflow:hidden;box-shadow:0 30px 90px #071c1555}.installer>aside{background:#153c2d;color:white;padding:34px 25px}.installer ol{list-style:none;padding:25px 0 0;margin:0}.installer li{display:flex;align-items:center;gap:13px;padding:13px 8px;color:#7fa091}.installer li>span{display:grid;place-items:center;width:32px;height:32px;border:1px solid #416b59;border-radius:50%;font-size:12px}.installer li small,.installer li strong{display:block}.installer li small{font-size:8px;letter-spacing:.14em}.installer li.active,.installer li.done{color:white}.installer li.active>span,.installer li.done>span{background:var(--amber);border-color:var(--amber);color:var(--green)}.install-panel{position:relative;padding:55px 64px 30px;display:flex;flex-direction:column}.install-progress{height:4px;background:#e9eeeb;position:absolute;top:0;left:0;right:0}.install-progress span{display:block;height:100%;background:var(--amber)}.install-panel h1{font-size:34px;margin:10px 0}.install-panel>div>p{color:var(--muted);max-width:650px}.install-panel footer{margin-top:auto;border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:30px}.feature-grid div{border:1px solid var(--line);padding:20px;border-radius:13px}.feature-grid b,.feature-grid strong,.feature-grid small{display:block}.feature-grid b{color:var(--amber);font-size:22px}.feature-grid small{color:var(--muted);margin-top:5px}.requirements{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:25px}.requirements div{border:1px solid var(--line);border-radius:10px;padding:12px;display:grid;grid-template-columns:30px 1fr;align-items:center}.requirements div>span{grid-row:1/3;display:grid;place-items:center;width:24px;height:24px;border-radius:50%}.requirements .ok{background:#dff4e9;color:#17633f}.requirements .fail{background:#fee5e5;color:#992f2f}.requirements small{color:var(--muted)}.summary{display:grid;grid-template-columns:140px 1fr;gap:12px;padding:20px;background:var(--paper);border-radius:12px;margin-top:25px}.test-success{color:#17633f;margin-left:10px}.test-error{color:var(--red);margin-left:10px}.install-alert{position:fixed;z-index:3;top:12px;left:50%;transform:translateX(-50%)}
@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;z-index:5;transform:translateX(-100%);transition:.2s;width:260px}.sidebar.open{transform:none}.menu-toggle{display:block;border:0;background:none;font-size:20px}.stat-grid{grid-template-columns:1fr 1fr}.grid-two{grid-template-columns:1fr}.installer{grid-template-columns:1fr;margin:15px auto}.installer>aside{padding:20px}.installer ol{display:none}.install-panel{padding:40px 25px 25px;min-height:610px}}@media(max-width:600px){.content{padding:20px 15px}.topbar{padding:15px;height:78px}.topbar .eyebrow,.site-link{display:none}.hero{align-items:flex-start;flex-direction:column;gap:20px;padding:25px}.stat-grid,.form-grid,.requirements,.feature-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.panel{padding:17px}.panel-head{align-items:flex-start;flex-direction:column}.installer{width:calc(100% - 16px)}}
.update-status-grid{display:grid;grid-template-columns:1fr 310px;gap:20px}.update-status-grid .update-hero{margin-bottom:0}.update-health{display:flex;gap:20px;font-size:10px;color:#a9c0b6;margin-top:20px}.update-health span{display:flex;align-items:center;gap:7px}.status-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.status-dot.ok{background:#59db91;box-shadow:0 0 0 4px #59db9120}.status-dot.error{background:#f26b6b}.update-checklist{margin:0}.update-checklist h3{margin:7px 0 15px}.update-checklist ol{list-style:none;padding:0;margin:0;display:grid;gap:10px}.update-checklist li{display:flex;align-items:center;gap:9px;font-size:11px;color:var(--muted)}.update-checklist li span{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#edf3ef;color:var(--green);font-weight:800}.update-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.update-action-grid>.panel{margin:0}.channel-state,.history-count{font-size:8px;letter-spacing:.12em;padding:6px 9px;border-radius:20px;background:#eef1ef;color:var(--muted);font-weight:800}.channel-state.active{background:#ddf4e8;color:#17633f}.channel-form{display:flex;align-items:flex-end;gap:10px}.channel-form label{flex:1;font-size:11px;font-weight:700;color:#486057}.channel-form input{display:block;width:100%;margin-top:7px;border:1px solid #d8e1dc;border-radius:9px;padding:12px;background:#fbfcfb}.update-channel details{margin-top:18px;border-top:1px solid var(--line);padding-top:13px}.update-channel summary{font-size:10px;font-weight:700;color:var(--muted);cursor:pointer}.update-channel pre{font-size:9px;background:#17251f;color:#c8ddd3;border-radius:8px;padding:14px;overflow:auto;line-height:1.6}.update-upload form{display:grid;gap:13px}.drop-zone{min-height:155px;border:1px dashed #b8c7bf;background:#f8faf9;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer}.drop-zone:hover{border-color:var(--amber);background:#fffaf0}.drop-zone input{position:absolute;opacity:0;pointer-events:none}.upload-symbol{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#e8f0ec;color:var(--green);font-size:18px;margin-bottom:8px}.drop-zone strong{font-size:12px}.drop-zone small{font-size:9px;color:var(--muted);margin-top:5px}.update-upload .btn{width:100%}.update-history{margin-top:20px}.version-arrow{color:var(--amber);margin:0 5px}.badge.running{background:#fff1cf;color:#805c0d}.badge.rolled_back{background:#e9e5f8;color:#55418b}@media(max-width:900px){.update-status-grid,.update-action-grid{grid-template-columns:1fr}}@media(max-width:600px){.channel-form{align-items:stretch;flex-direction:column}}
.ad-validity-title{padding-top:18px;border-top:1px solid var(--line)}.ad-validity-title strong,.ad-validity-title small{display:block}.ad-validity-title small{margin-top:5px;color:var(--muted)}[data-ad-validity]{transition:opacity .2s}[data-ad-validity].is-disabled{opacity:.45}.ad-config-box{display:grid;gap:15px;padding:20px;border:1px solid #d8e1dc;border-radius:12px;background:#f8faf9}.ad-config-box>div>strong,.ad-config-box>div>small{display:block}.ad-config-box>div>strong{font:800 16px Manrope;color:var(--green)}.ad-config-box>div>small{margin-top:5px;color:var(--muted)}.ad-config-box label{font-size:12px;font-weight:700;color:#486057}.ad-config-box input[type=url],.ad-config-box input[type=datetime-local]{display:block;width:100%;margin-top:7px;border:1px solid #d8e1dc;border-radius:9px;padding:12px;background:#fff}.ad-config-box .check{display:flex;align-items:center;gap:8px}.ad-config-box .check input{width:auto;margin:0}.ad-date-grid{display:grid!important;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:700px){.ad-date-grid{grid-template-columns:1fr}}
.contact-inbox{display:grid;gap:14px}.contact-inbox article{padding:20px;border:1px solid var(--line);border-radius:12px;background:#fafcfb}.contact-inbox article.unread{border-left:5px solid var(--amber);background:#fff}.contact-inbox header,.contact-inbox footer{display:flex;justify-content:space-between;gap:20px}.contact-inbox header strong,.contact-inbox header small{display:block}.contact-inbox header small{margin-top:5px;color:var(--muted)}.contact-inbox article>p{margin:18px 0;line-height:1.6}.contact-inbox footer>div:first-child{display:flex;gap:15px;font-size:12px}.contact-inbox footer a{color:var(--green);font-weight:700}
