:root{--brand-yellow:#f2b33d;--brand-orange:#e2762d;--brand-indigo:#423f9c;--brand-indigo-dark:#34317e;--bg:#f7f7fa;--surface:#fff;--surface-2:#f0f0f5;--border:#e2e2ea;--text:#1d1d2b;--text-muted:#6b6b7e;--primary:var(--brand-indigo);--primary-contrast:#fff;--accent:var(--brand-orange);--danger:#d5393f;--ok:#2b9e5f;--block-live:#d5393f;--block-live-bg:#fdecec;--block-vod:var(--brand-indigo);--block-vod-bg:#ecebf8;--block-ad:var(--brand-orange);--block-ad-bg:#fdf1e6;--radius:8px;--shadow:0 4px 16px #1d1d2b1a;--shadow-pop:0 8px 32px #1d1d2b2e;color:var(--text);background:var(--bg);font-family:Segoe UI,system-ui,-apple-system,sans-serif}[data-theme=dark]{--bg:#16161e;--surface:#1f1f2a;--surface-2:#262633;--border:#33334a;--text:#ececf4;--text-muted:#9a9ab0;--block-live-bg:#3a2224;--block-vod-bg:#262544;--block-ad-bg:#3a2d1e}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg)}button{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius);cursor:pointer;padding:6px 14px}button:hover{background:var(--surface-2)}button.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-contrast)}button.primary:hover{background:var(--brand-indigo-dark)}button.danger{color:var(--danger);border-color:var(--danger)}button:disabled{opacity:.5;cursor:default}input,select,textarea{font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);width:100%;padding:6px 10px}input:focus,select:focus,textarea:focus{outline:2px solid var(--primary);outline-offset:-1px}label{color:var(--text-muted);margin-bottom:2px;font-size:.82rem;display:block}.field{margin-bottom:10px}.row{gap:10px;display:flex}.row>*{flex:1}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.app-shell{flex-direction:column;height:100%;display:flex}.app-header{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:24px;height:56px;padding:0 20px;display:flex}.app-header img.logo{height:30px}.app-header .product{color:var(--brand-indigo);letter-spacing:.5px;font-weight:600}.app-nav{flex:1;gap:4px;display:flex}.app-nav a{border-radius:var(--radius);color:var(--text-muted);padding:6px 14px;font-weight:500;text-decoration:none}.app-nav a.active{background:var(--surface-2);color:var(--text)}.app-nav a:hover{color:var(--text)}.app-main{flex:1;padding:16px 20px;overflow:auto}.fc{--fc-border-color:var(--border);--fc-page-bg-color:var(--surface)}.fc .fc-timegrid-slot{height:var(--fc-slot-height,1.6em)}.fc .fc-button-primary{background:var(--surface);border-color:var(--border);color:var(--text)}.fc .fc-button-primary:not(:disabled):hover,.fc .fc-button-primary:not(:disabled).fc-button-active{background:var(--primary);border-color:var(--primary);color:var(--primary-contrast)}.fc .fc-toolbar-title{font-size:1.15rem}.fc-event{cursor:pointer}.block-chip{text-transform:uppercase;border-radius:4px;padding:1px 6px;font-size:.72rem;font-weight:700;display:inline-block}.block-chip.live{background:var(--block-live-bg);color:var(--block-live)}.block-chip.vod{background:var(--block-vod-bg);color:var(--block-vod)}.block-chip.ad{background:var(--block-ad-bg);color:var(--block-ad)}.popover{z-index:60;background:var(--surface);border:1px solid var(--border);width:380px;max-height:80vh;box-shadow:var(--shadow-pop);border-radius:12px;padding:16px;position:fixed;overflow:auto}.popover h3{margin:0 0 10px;font-size:1rem}.popover .type-tabs{gap:6px;margin-bottom:12px;display:flex}.popover .type-tabs button{flex:1;padding:8px 4px;font-weight:600}.popover .type-tabs button.sel-live{background:var(--block-live);border-color:var(--block-live);color:#fff}.popover .type-tabs button.sel-vod{background:var(--block-vod);border-color:var(--block-vod);color:#fff}.popover .type-tabs button.sel-ad{background:var(--block-ad);border-color:var(--block-ad);color:#fff}.popover .actions{justify-content:space-between;margin-top:14px;display:flex}.popover-backdrop{z-index:50;position:fixed;inset:0}.pick-list{border:1px solid var(--border);border-radius:var(--radius);max-height:220px;overflow:auto}.pick-list .pick-item{cursor:pointer;border-bottom:1px solid var(--border);padding:8px 10px}.pick-list .pick-item:last-child{border-bottom:none}.pick-list .pick-item:hover{background:var(--surface-2)}.pick-list .pick-item.selected{background:var(--block-vod-bg)}.pick-item .sub{color:var(--text-muted);font-size:.8rem}table.data{border-collapse:collapse;width:100%}table.data th,table.data td{text-align:left;border-bottom:1px solid var(--border);padding:8px 10px}table.data th{text-transform:uppercase;color:var(--text-muted);font-size:.8rem}table.data tr:hover td{background:var(--surface-2)}.login-wrap{place-items:center;height:100%;display:grid}.login-card{text-align:center;width:360px;padding:32px}.login-card img{height:42px;margin-bottom:6px}.login-card .product{color:var(--brand-indigo);letter-spacing:1px;margin-bottom:24px;font-weight:700}.login-card form{text-align:left}.login-card .divider{color:var(--text-muted);align-items:center;gap:10px;margin:16px 0;font-size:.8rem;display:flex}.login-card .divider:before,.login-card .divider:after{content:"";background:var(--border);flex:1;height:1px}.error-text{color:var(--danger);margin-top:8px;font-size:.85rem}.page-title{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.page-title h2{margin:0;font-size:1.25rem}.muted{color:var(--text-muted)}.mono{font-family:Consolas,monospace;font-size:.85em}
