:root{--bg:#f7f7f8;--ink:#261719;--muted:#74666a;--brand:#c91f2c;--brand-dark:#8f111d;--brand-soft:#fff0f1;--line:#eadadd;--white:#fff;--danger:#b31320;--success:#267a46;--shadow:0 10px 30px rgba(91,16,24,.07)}
*{box-sizing:border-box}
html{min-width:320px}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
.topbar{min-height:72px;padding:12px max(24px,calc((100% - 1180px)/2));display:flex;align-items:center;justify-content:space-between;gap:28px;background:var(--white);border-bottom:3px solid var(--brand);color:var(--ink)}
.brand{flex:0 0 auto;font-size:21px;font-weight:850;color:var(--brand-dark);text-decoration:none}.brand span{color:var(--brand)}
nav{display:flex;align-items:center;justify-content:flex-end;gap:8px 22px;flex-wrap:wrap}nav a,.topbar .link{color:var(--ink);text-decoration:none;font-weight:650;white-space:nowrap}nav a:hover,.topbar .link:hover{color:var(--brand)}.topbar form{margin:0}
.container{max-width:1180px;margin:0 auto;padding:48px 24px 80px}h1{font-size:clamp(34px,5vw,58px);line-height:1.05;letter-spacing:-.04em;margin:8px 0 14px}h2{font-size:25px}h3{margin:8px 0}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:850;color:var(--brand)}.muted,p{color:var(--muted)}
.hero,.page-head,.section-title{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}.hero{padding:34px 0 42px}.actions,.card-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.actions form,.card-actions form{margin:0;display:flex;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border:1px solid var(--brand);border-radius:9px;padding:10px 17px;background:var(--brand);color:white!important;text-decoration:none;font-weight:750;line-height:1.2;white-space:nowrap;cursor:pointer}.btn:hover{background:var(--brand-dark);border-color:var(--brand-dark)}.btn.secondary{background:white;color:var(--brand-dark)!important;border-color:#d9aeb4}.btn.secondary:hover{background:var(--brand-soft)}.wide{width:100%}
.stats{display:grid;grid-template-columns:repeat(3,1fr);background:var(--brand);color:white;border-radius:16px;margin-bottom:48px;overflow:hidden;box-shadow:var(--shadow)}.stats div{padding:25px 30px;border-right:1px solid rgba(255,255,255,.26)}.stats div:last-child{border:0}.stats strong{font-size:30px;display:block}.stats span{color:#ffe5e8}
.cards,.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card,.form-card,.video-card{min-width:0;background:white;border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:var(--shadow)}.card-actions{margin-top:25px}.card-actions a:not(.btn),.section-title a,table a{color:var(--brand-dark);font-weight:750}.status{color:var(--brand);font-size:12px;font-weight:700}.section-title{margin-top:40px}
.table-wrap{width:100%;overflow-x:auto;background:white;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}table{border-collapse:collapse;width:100%;min-width:850px}th,td{padding:16px 18px;text-align:left;vertical-align:middle;border-bottom:1px solid #f3e7e9}th{font-size:12px;text-transform:uppercase;color:var(--muted);white-space:nowrap}td small{display:block;color:var(--muted)}td .actions{flex-wrap:nowrap;min-width:max-content}td .danger{margin-top:0}.pill{display:inline-block;padding:4px 9px;border-radius:12px;background:#f2e9ea;white-space:nowrap}.pill.green{background:#e2f4e8;color:var(--success)}
.page-head{margin-bottom:28px}.page-head h1{font-size:46px}.page-head>.actions{justify-content:flex-end}.video-preview{position:relative;aspect-ratio:16/9;background:#2b1115;border-radius:9px;overflow:hidden}.video-preview video{width:100%;height:100%;object-fit:cover}.badge{position:absolute;top:10px;left:10px;background:var(--brand);color:white;padding:3px 8px;border-radius:5px;font-size:11px;font-weight:800}.video-card{padding:10px}.video-info{padding:8px}.video-info p{margin:0}.video-info .card-actions{justify-content:space-between}.link{border:0;background:none;padding:0;cursor:pointer}.danger{color:var(--danger);margin-top:12px;font-weight:700;white-space:nowrap}
.form-card{max-width:680px;margin:30px auto;padding:32px}.wide-card{max-width:none}.stack>div{margin-bottom:18px}.stack label{display:block;font-weight:700;margin-bottom:5px}.stack input:not([type=checkbox]),.stack select,.filter select{width:100%;padding:11px;border:1px solid #d8c4c7;border-radius:7px;background:white;color:var(--ink)}.stack input:focus,.stack select:focus,.filter select:focus{outline:3px solid #f8cdd1;border-color:var(--brand)}.stack ul{list-style:none;padding:0;display:flex;gap:14px;flex-wrap:wrap}.errorlist,.error{color:var(--danger)}
.queue-head,.queue-row{display:grid;grid-template-columns:minmax(220px,1fr) 110px 80px 70px;gap:12px;align-items:center;padding:10px}.queue-head{font-size:12px;color:var(--muted);text-transform:uppercase}.queue-row select,.queue-row input[type=number]{width:100%;padding:9px;border:1px solid var(--line);border-radius:7px}.message{background:var(--brand-soft);color:var(--brand-dark);border-left:4px solid var(--brand);border-radius:8px;padding:12px 16px}.empty{padding:30px;color:var(--muted)}.auth-card{max-width:430px;margin:9vh auto;background:white;padding:38px;border-radius:18px;border:1px solid var(--line);box-shadow:var(--shadow)}.auth-card h1{font-size:40px}.auth-title{text-align:center;color:var(--brand)}.filter{min-width:210px}
@media(max-width:900px){.topbar{align-items:flex-start;flex-direction:column;gap:10px}.topbar nav{justify-content:flex-start;width:100%}.cards,.video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.container{padding-top:34px}}
@media(max-width:640px){.topbar{padding:13px 16px}.topbar nav{gap:7px 14px}.container{padding:26px 14px 64px}.hero,.page-head,.section-title{align-items:flex-start;flex-direction:column}.hero{padding-top:18px}.page-head>.actions,.page-head>.filter{width:100%;justify-content:flex-start}.page-head .btn{flex:1 1 auto}.stats,.cards,.video-grid{grid-template-columns:1fr}.stats div{border-right:0;border-bottom:1px solid rgba(255,255,255,.26)}.queue-head{display:none}.queue-row{grid-template-columns:minmax(140px,1fr) 64px 42px 42px;padding:10px 0}.form-card{padding:22px 16px}.auth-card{margin:4vh auto;padding:28px 22px}h1,.page-head h1{font-size:36px}.section-title{gap:8px}}
.status{font-size:12px;font-weight:800}.status-live{color:#15803d}.status-ready{color:#9a6700}.status-empty{color:#7b6d70}.status-off{color:#9b1c27}.now-playing{margin:16px 0;padding:11px 13px;background:var(--brand-soft);border-radius:9px;min-height:66px}.now-playing span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.now-playing strong{display:block;color:var(--ink);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.schedule-actions-cell{min-width:196px}.schedule-actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.schedule-actions form{display:block;margin:0}.action-btn{display:inline-flex;align-items:center;justify-content:center;min-width:86px;height:36px;margin:0;padding:7px 12px;border-radius:7px;font:700 13px/1 system-ui,-apple-system,"Segoe UI",sans-serif;text-decoration:none!important;white-space:nowrap;cursor:pointer}.action-edit{color:var(--brand-dark)!important;background:var(--white);border:1px solid #d9aeb4}.action-edit:hover{background:var(--brand-soft)}.action-delete{color:#fff;background:var(--brand);border:1px solid var(--brand)}.action-delete:hover{background:var(--brand-dark);border-color:var(--brand-dark)}
.upload-toolbar{margin:22px 0;padding:16px;background:var(--brand-soft);border:1px solid #f1c5ca;border-radius:10px}.upload-status{display:flex;justify-content:space-between;gap:16px;color:var(--brand-dark)}.upload-track{height:12px;margin:10px 0 8px;overflow:hidden;background:#efdadd;border-radius:999px}.upload-progress{width:0;height:100%;background:var(--brand);border-radius:inherit;transition:width .2s ease}.upload-toolbar p{margin:0;font-size:13px}.upload-toolbar.processing .upload-progress{width:35%;animation:upload-processing 1.4s ease-in-out infinite}.upload-toolbar.error{background:#fff1f2;border-color:var(--danger)}.upload-toolbar.error .upload-progress{background:var(--danger)}@keyframes upload-processing{0%{transform:translateX(-110%)}100%{transform:translateX(300%)}}
.weekday-presets{display:flex;align-items:center;gap:8px;margin:4px 0 10px}.weekday-presets span{margin-right:3px;color:var(--muted);font-size:13px}.weekday-presets button{min-height:34px;padding:6px 13px;border:1px solid #d9aeb4;border-radius:8px;background:var(--white);color:var(--brand-dark);font-weight:750;cursor:pointer}.weekday-presets button:hover,.weekday-presets button.active{border-color:var(--brand);background:var(--brand);color:#fff}
.log-filter{display:flex;align-items:flex-end;justify-content:flex-end;gap:10px;flex-wrap:wrap}.log-filter label{display:grid;gap:5px;color:var(--muted);font-size:12px;font-weight:700}.log-filter select,.log-filter input{min-width:145px;min-height:42px;padding:9px;border:1px solid #d8c4c7;border-radius:8px;background:#fff;color:var(--ink)}.pagination{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:24px;flex-wrap:wrap}.pagination a,.pagination strong,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:38px;padding:7px 11px;border-radius:8px}.pagination a{border:1px solid #d9aeb4;background:#fff;color:var(--brand-dark);text-decoration:none;font-weight:750}.pagination a:hover,.pagination strong{border:1px solid var(--brand);background:var(--brand);color:#fff}
.log-page-head{display:block}.log-page-head>div{margin-bottom:18px}.log-page-head .log-filter{justify-content:flex-start;flex-wrap:nowrap;width:100%}.log-page-head .log-filter label:first-child{flex:1 1 280px}.log-page-head .log-filter label:nth-child(2){flex:0 0 180px}.log-page-head .log-filter label:nth-child(3){flex:0 0 145px}.log-page-head .log-filter select,.log-page-head .log-filter input{width:100%;min-width:0}.log-page-head .log-filter .btn{flex:0 0 auto;min-width:112px}
