:root{color-scheme:dark light;--surface-0: #121211;--surface-1: #1a1a19;--surface-2: #232322;--border: #34342f;--border-strong: #4a4a44;--text-primary: #ffffff;--text-secondary: #c3c2b7;--text-muted: #8a8a80;--series-1: #3987e5;--series-2: #199e70;--good: #0ca30c;--warning: #fab219;--critical: #d03b3b;--radius: 10px;--radius-sm: 6px}:root[data-theme=light]{color-scheme:light;--surface-0: #f4f4f1;--surface-1: #fcfcfb;--surface-2: #efeeea;--border: #dedcd4;--border-strong: #bfbdb2;--text-primary: #0b0b0b;--text-secondary: #52514e;--text-muted: #77756e;--series-1: #2a78d6;--series-2: #1baf7a}*{box-sizing:border-box}body{margin:0;background:var(--surface-0);color:var(--text-primary);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--series-1)}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:20px;padding:12px 20px;background:var(--surface-1);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20;flex-wrap:wrap}.brand{font-weight:700;font-size:16px;letter-spacing:-.01em;display:flex;align-items:center;gap:8px}.nav{display:flex;gap:4px}.nav a{padding:6px 12px;border-radius:var(--radius-sm);color:var(--text-secondary);text-decoration:none;font-weight:500;font-size:14px}.nav a:hover,.nav a.active{background:var(--surface-2);color:var(--text-primary)}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:10px}main{flex:1;padding:24px 20px 64px;max-width:1200px;width:100%;margin:0 auto}.page-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:20px}.page-head h1{margin:0;font-size:22px;letter-spacing:-.02em}.page-head .sub{color:var(--text-muted);font-size:14px}.page-head .spacer{margin-left:auto}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.card h2{margin:0 0 4px;font-size:15px;font-weight:600}.card .card-sub{margin:0 0 16px;color:var(--text-muted);font-size:13px}.grid{display:grid;gap:14px}.grid.stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.grid.charts{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.stat{display:flex;flex-direction:column;gap:2px}.stat .label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:600}.stat .value{font-size:30px;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.stat .delta{font-size:13px;font-variant-numeric:tabular-nums}.delta.up{color:var(--good)}.delta.down{color:var(--critical)}.delta.flat{color:var(--text-muted)}input[type=text],input[type=password],input[type=url],textarea,select{width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);padding:9px 11px;font:inherit;font-size:14px}input:focus,textarea:focus,select:focus{outline:2px solid var(--series-1);outline-offset:-1px;border-color:transparent}textarea{resize:vertical;min-height:76px;line-height:1.45}label.field{display:block;margin-bottom:14px}label.field>span{display:block;font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:5px}button{font:inherit;font-size:14px;font-weight:600;padding:8px 14px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-primary);cursor:pointer}button:hover:not(:disabled){border-color:var(--text-muted)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--series-1);border-color:var(--series-1);color:#fff}button.danger{color:var(--critical);border-color:var(--critical);background:transparent}button.ghost{background:transparent;border-color:transparent;color:var(--text-secondary)}button.ghost:hover:not(:disabled){background:var(--surface-2)}button.small{padding:5px 10px;font-size:13px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.video-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.video-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}.video-card .media{position:relative;background:#000;aspect-ratio:9 / 16;max-height:380px}.video-card .media video,.video-card .media img{width:100%;height:100%;object-fit:contain;display:block}.video-card .media .placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:13px;text-align:center;padding:20px;background:var(--surface-2)}.video-card .body{padding:12px;display:flex;flex-direction:column;gap:10px;flex:1}.video-card .meta{font-size:12px;color:var(--text-muted)}.video-card .title{font-size:13px;font-weight:600;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.video-card .actions{margin-top:auto;display:flex;gap:8px}.video-card .actions button{flex:1}.char-count{font-size:11px;color:var(--text-muted);text-align:right}.badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3px 8px;border-radius:999px;border:1px solid var(--border-strong);color:var(--text-secondary);white-space:nowrap}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.badge.queued,.badge.downloading{color:var(--warning);border-color:var(--warning)}.badge.ready{color:var(--series-1);border-color:var(--series-1)}.badge.published{color:var(--good);border-color:var(--good)}.badge.failed{color:var(--critical);border-color:var(--critical)}.badge.publishing{color:var(--warning);border-color:var(--warning)}.badge.rejected{color:var(--text-muted)}.notice{padding:11px 14px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-2);font-size:14px;margin-bottom:16px;display:flex;gap:10px;align-items:flex-start}.notice.error{border-color:var(--critical);color:var(--critical)}.notice.success{border-color:var(--good);color:var(--good)}.notice.info{border-color:var(--series-1)}.notice .close{margin-left:auto}.empty{text-align:center;padding:56px 20px;color:var(--text-muted)}.empty .big{font-size:34px;margin-bottom:10px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--border)}th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:600}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:100%;max-width:360px}.login-card h1{margin:0 0 4px;font-size:20px}.login-card .sub{color:var(--text-muted);font-size:14px;margin-bottom:20px}.chart-tooltip{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:8px 10px;font-size:13px}.chart-tooltip .t-label{color:var(--text-muted);font-size:12px;margin-bottom:2px}.chart-tooltip .t-value{font-weight:700;font-variant-numeric:tabular-nums}.spinner{width:15px;height:15px;border:2px solid var(--border-strong);border-top-color:var(--series-1);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}
