:root{--bg:#f1f5f9;--panel:#fff;--sidebar:#0f172a;--fg:#0f172a;--muted:#64748b;--border:#e2e8f0;--accent:#0284c7;--accent-soft:#e0f2fe;--danger:#dc2626;--ok:#16a34a;--radius:12px;--font:"Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{letter-spacing:-.02em;margin:0 0 .25rem;font-size:1.75rem}h2{margin:0 0 1rem;font-size:1.15rem}.shell{grid-template-columns:250px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--sidebar);color:#cbd5e1;flex-direction:column;gap:2rem;height:100vh;padding:1.5rem 1rem;display:flex;position:sticky;top:0}.brand{color:#fff;align-items:center;gap:.75rem;display:flex}.brand strong{font-size:1.05rem;line-height:1.2;display:block}.brand small{color:#64748b;font-size:.75rem;display:block}.brand-mark{background:linear-gradient(135deg,#38bdf8,#0369a1);border-radius:8px;flex:none;width:30px;height:30px}.sidebar nav{flex-direction:column;gap:.25rem;display:flex}.nav-link{color:#cbd5e1;border-radius:8px;padding:.55rem .75rem;font-size:.95rem}.nav-link:hover{background:#ffffff0f;text-decoration:none}.nav-link.active{background:var(--accent);color:#fff;font-weight:600}.sidebar-footer{border-top:1px solid #ffffff1a;justify-content:space-between;align-items:center;margin-top:auto;padding-top:1rem;font-size:.85rem;display:flex}.content{padding:2rem 2.5rem 4rem;overflow-x:hidden}.page{max-width:1080px}.page-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.page-header p{color:var(--muted);max-width:60ch;margin:0}.back-link{color:var(--muted);margin-bottom:.35rem;font-size:.85rem;display:inline-block}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1.25rem;padding:1.25rem 1.5rem}.card.empty{color:var(--muted);text-align:center;padding:2.5rem}.grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem;display:grid}.grid .card{margin-bottom:0}.playlist-card,.asset-card{flex-direction:column;gap:.75rem;display:flex}.playlist-card{flex-direction:row;justify-content:space-between;align-items:center}.muted{color:var(--muted);font-size:.9rem}.hint{color:var(--muted);margin:.25rem 0 0;font-size:.85rem}label{color:#334155;flex-direction:column;flex:200px;gap:.35rem;font-size:.85rem;font-weight:600;display:flex}label.checkbox{flex-direction:row;align-items:center;gap:.5rem;font-weight:500}input,select,textarea{font:inherit;border:1px solid var(--border);color:var(--fg);background:#fff;border-radius:8px;outline:none;min-width:0;padding:.5rem .65rem;font-weight:400}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0284c71f}input[type=color]{width:64px;height:38px;padding:2px}textarea{resize:vertical}.inline-form{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.inline-form input{flex:220px}.row{flex-wrap:wrap;align-items:flex-end;gap:1rem;display:flex}.inline-field{flex-direction:row;align-items:center;gap:.6rem}button,.button{font:inherit;background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:8px;padding:.5rem .95rem;font-weight:600;display:inline-block}button:hover,.button:hover{filter:brightness(1.07);text-decoration:none}button:disabled{opacity:.5;cursor:not-allowed}button.ghost,.button.ghost{color:var(--fg);border-color:var(--border);background:#fff}button.ghost:hover{background:#f8fafc}button.ghost.danger,button.danger{color:var(--danger);border-color:#fecaca}button.small{padding:.25rem .55rem;font-size:.8rem}.link-button{color:var(--accent);background:0 0;border:0;padding:0;font-weight:600}.link-button:hover{filter:none;text-decoration:underline}.label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.75rem;font-weight:700}.alert{border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem}.alert.error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.alert.warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.badge{text-transform:uppercase;letter-spacing:.04em;vertical-align:middle;border-radius:999px;padding:.1rem .55rem;font-size:.72rem;font-weight:700;display:inline-block}.screen-card{flex-direction:column;gap:1rem;display:flex}.screen-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.screen-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.screen-body{border-top:1px solid var(--border);flex-wrap:wrap;align-items:flex-end;gap:1.5rem;padding-top:1rem;display:flex}.screen-clock{border-top:1px dashed var(--border);flex-direction:column;flex:100%;gap:.6rem;padding-top:.85rem;display:flex}.screen-clock-head{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.screen-clock-head .label{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.85rem;font-weight:600}.screen-clock .overlay-checkbox{flex-direction:row;align-items:center;gap:.4rem;font-size:.9rem}.screen-clock .row label{font-weight:500}.screen-clock .hint{margin:0}.pairing{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.pairing code{letter-spacing:.12em;background:var(--accent-soft);color:#075985;border-radius:6px;padding:.25rem .7rem;font-family:Consolas,ui-monospace,monospace;font-size:1.15rem;font-weight:700}.item-list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.item{border:1px solid var(--border);background:#fbfdff;border-radius:10px;align-items:center;gap:.75rem;padding:.5rem .7rem;display:flex}.item.disabled{opacity:.55}.item-index{background:var(--accent-soft);color:#075985;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:.78rem;font-weight:700;display:grid}.item-type{white-space:nowrap;text-overflow:ellipsis;flex:0 0 8.5rem;font-size:.85rem;font-weight:700;overflow:hidden}.item-main{flex:1;min-width:0}.item-summary{color:#334155;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.item-meta{color:var(--muted);white-space:nowrap;font-size:.78rem}.item-duration{font-variant-numeric:tabular-nums;flex:none;font-weight:600}.item-actions{flex-wrap:nowrap;flex:none;gap:.25rem;display:flex}.dropzone{border:2px dashed var(--border);border-radius:var(--radius);background:var(--panel);text-align:center;margin-bottom:1.25rem;padding:2rem;transition:border-color .15s,background .15s}.dropzone.active{border-color:var(--accent);background:var(--accent-soft)}.asset-thumb{background:#f1f5f9;border-radius:8px;place-items:center;height:130px;display:grid;overflow:hidden}.asset-thumb img{object-fit:contain;width:100%;height:100%}.asset-icon{font-size:2.5rem}.asset-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.modal-backdrop{z-index:100;background:#0f172a8c;justify-content:center;align-items:flex-start;padding:2rem 1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--panel);border-radius:var(--radius);flex-direction:column;gap:1rem;width:min(680px,100%);padding:1.75rem;display:flex;box-shadow:0 25px 60px #0f172a4d}.modal hr{border:0;border-top:1px solid var(--border);width:100%;margin:.5rem 0}.modal-actions{justify-content:flex-end;gap:.6rem;display:flex}.preview-thumb{border:1px solid var(--border);border-radius:8px;align-self:flex-start;max-height:180px}.preview-frame{aspect-ratio:16/9;border:1px solid var(--border);background:#000;border-radius:10px;width:100%}.page-split{grid-template-columns:minmax(0,1fr) minmax(420px,640px);align-items:start;gap:1.5rem;max-width:1500px;display:grid}.page-split.without-preview{grid-template-columns:minmax(0,1fr)}.page-column{min-width:0}.page-aside{min-width:0;position:sticky;top:1rem}.page-aside .card{margin-bottom:0}.live-preview{flex-direction:column;gap:.75rem;display:flex}.live-preview-toolbar{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.live-preview-controls,.live-preview-tools{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.live-preview-resolution{flex:none;min-width:190px}.live-preview-stage{border:1px solid var(--border);background:#0b1220;border-radius:10px;justify-content:center;align-items:center;height:420px;display:flex;overflow:hidden}.live-preview-frame{background:#000;position:relative;overflow:hidden}.live-preview-iframe{transform-origin:0 0;background:#000;border:0;position:absolute;top:0;left:0}.live-preview-status{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.85rem;display:flex}.live-preview-now strong{color:var(--fg)}.live-preview-error{color:var(--danger)}.dot{background:var(--muted);border-radius:50%;width:8px;height:8px;display:inline-block}.dot.online{background:var(--ok)}.item.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.search-results{border:1px solid var(--border);background:#fff;border-radius:8px;flex-direction:column;gap:.25rem;padding:.35rem;display:flex}.search-result{text-align:left;color:var(--fg);background:0 0;border:0;border-radius:6px;padding:.4rem .6rem;font-weight:500}.day-picker{gap:.35rem;margin-top:.35rem;display:flex}.day{border:1px solid var(--border);width:38px;height:34px;color:var(--muted);background:#fff;border-radius:8px;padding:0;font-size:.85rem}.day.active{background:var(--accent);border-color:var(--accent);color:#fff}.login-page{background:linear-gradient(160deg,#0f172a,#1e293b);place-items:center;min-height:100vh;padding:1rem;display:grid}.login-card{background:#fff;border-radius:16px;flex-direction:column;gap:1rem;width:min(400px,100%);padding:2.25rem;display:flex;box-shadow:0 30px 70px #02061773}.boot{place-items:center;min-height:100vh;display:grid}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.table{border-collapse:collapse;width:100%;margin-top:12px}.table th,.table td{text-align:left;vertical-align:top;border-bottom:1px solid #94a3b833;padding:8px 6px}pre.hint{white-space:pre-wrap;max-height:240px;overflow:auto}:root{--bg:#f5f7f3;--panel:#fff;--sidebar:#123e32;--fg:#16392f;--muted:#62736d;--border:#dce6df;--accent:#176b54;--accent-soft:#e8f1eb;--danger:#9c3434;--ok:#23815c;--font:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}body{font-size:14px;line-height:1.6}a{text-underline-offset:4px}h1{letter-spacing:-1px;overflow-wrap:anywhere;margin:0 0 8px;font-size:32px;font-weight:650;line-height:1.2}h2{margin:0 0 16px;font-size:18px;font-weight:650;line-height:1.4}h3{font-size:15px}p{margin:0 0 16px}.icon{vertical-align:middle;flex:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.skip-link{z-index:200;background:#fff;border-radius:6px;padding:12px 20px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:12px}.shell{display:flex}.sidebar{color:#dbe8e0;flex:0 0 240px;gap:0;width:240px;height:100dvh;padding:30px 18px 22px}.brand{color:#fff;padding:0 12px;text-decoration:none;display:block}.brand:hover{text-decoration:none}.brand strong{letter-spacing:-1px;font-size:25px;font-weight:750;line-height:1.3}.brand strong span{color:#a8d4bc}.brand small{color:#a8c3b6;letter-spacing:2.5px;text-transform:uppercase;margin-top:5px;font-size:11px}.sidebar nav{gap:4px;margin-top:28px;overflow-y:auto}.nav-label{color:#a8c3b6;letter-spacing:1.2px;text-transform:uppercase;margin:22px 12px 7px;font-size:10px;font-weight:650}.nav-label:first-child{margin-top:0}.nav-link{color:#dbe8e0;border:1px solid #0000;border-radius:7px;align-items:center;gap:12px;padding:11px 13px;font-size:14px;display:flex}.nav-link:hover{color:#fff;background:#245648}.nav-link.active{color:var(--sidebar);background:#fff;font-weight:650;box-shadow:inset 3px 0 #e9b949}.sidebar :focus-visible{outline-color:#a8d4bc}.sidebar-footer{border-top-color:#ffffff24;flex-direction:column;align-items:flex-start;gap:14px;padding:20px 12px 0}.user{overflow-wrap:anywhere;align-items:center;gap:10px;display:flex}.user strong{color:#f0f4ee;font-size:13px;font-weight:550;display:block}.user small{color:#a8c3b6;font-size:11px;display:block}.sidebar-footer .link-button{color:#dbe8e0;text-align:left;min-height:28px;font-size:12px;font-weight:500}.workspace{flex-direction:column;flex:1;min-width:0;display:flex}.workspace-header{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;gap:20px;min-height:70px;padding:16px 38px;display:flex}.breadcrumb{color:var(--muted);font-size:13px}.breadcrumb span{color:#a0afa6;margin:0 12px}.breadcrumb strong{color:var(--fg);font-weight:550}.player-link{white-space:nowrap;align-items:center;gap:7px;font-size:12px;font-weight:600;display:inline-flex}.content{flex:1;min-width:0;padding:36px 38px 48px;overflow-x:visible}.content:focus{outline:none}.page{max-width:1240px;margin:0 auto}.page-header{gap:24px;margin-bottom:28px}.page-header p{max-width:72ch;font-size:14px}.page-header>button{flex:none}.back-link{color:var(--accent);margin-bottom:10px;font-size:12px;font-weight:600}.workspace-footer{color:var(--muted);justify-content:space-between;gap:12px;padding:0 38px 20px;font-size:11px;display:flex}.mobile-menu{display:none}.card{min-width:0;margin-bottom:20px;padding:24px}.card.empty{border-style:dashed;padding:44px 24px}.grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:20px}.muted{font-size:13px}.hint{overflow-wrap:anywhere;margin:6px 0 0;font-size:12px}.optional{color:var(--muted);font-size:11px;font-weight:400}.label{text-transform:none;letter-spacing:0;font-size:11px;font-weight:650}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin:26px 0 14px;display:flex}.section-heading h2{margin:0}.section-heading .muted{font-size:11px}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 24px;display:grid}.stat{border:1px solid var(--border);background:#fff;border-radius:12px;flex-direction:column;padding:18px 22px;display:flex}.stat>span{color:var(--muted);align-items:center;gap:7px;font-size:12px;display:flex}.stat strong{font-variant-numeric:tabular-nums;font-size:30px;font-weight:650;line-height:1.45}.stat small{color:var(--muted);font-size:11px}.badge{letter-spacing:0;text-transform:none;white-space:nowrap;align-items:center;gap:6px;padding:3px 9px;font-size:11px;font-weight:550;display:inline-flex}.badge.online{color:#1d6a46;background:#e3f3e8}.badge.offline{color:#62736d;background:#f0f2ef}.status-dot{background:#98a59e;border-radius:50%;flex:none;width:7px;height:7px;display:inline-block}.status-dot.online{background:var(--ok)}.alert{color:var(--fg);overflow-wrap:anywhere;background:#edf5ef;border:1px solid #c9dfd2;margin:0 0 20px;padding:12px 16px;font-size:13px}.alert.error{color:var(--danger);background:#fff0ef;border-color:#efd0cc}.alert.warning{color:#796024;background:#fff8e7;border-color:#ebdbac}label{color:var(--fg);gap:6px;min-width:0;font-size:12px;font-weight:550}input,select,textarea{width:100%;min-height:42px;font:400 14px/1.5 var(--font);border-color:#b9cbc0;border-radius:6px;padding:9px 11px}input::placeholder,textarea::placeholder{color:#7c8c83}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline-offset:1px;box-shadow:none;outline:2px solid #73ac9666}input[type=checkbox],input[type=radio]{width:17px;height:17px;min-height:17px;accent-color:var(--accent);flex:none;margin:0}input[hidden]{display:none}.inline-form,.row{gap:16px}.inline-form>label{flex:220px}.inline-form label input,.inline-form label select,.inline-form>button,.row>button{flex:none}.weather-search{flex-wrap:nowrap;gap:8px}.weather-search input{flex:1;min-width:0}.weather-search button{flex:none}button,.button{min-height:42px;font:600 13px/1.4 var(--font);border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:10px 16px;display:inline-flex}button:hover,.button:hover{filter:none;background:#0c523e}button.ghost:hover,.button.ghost:hover{background:#eef4ef;border-color:#b9cbc0}button.danger{background:var(--danger);color:#fff}button.ghost.danger{color:var(--danger);background:#fff;border-color:#efd0cc}button.ghost.danger:hover{background:#fff0ef}button.small,.button.small{min-height:30px;padding:5px 9px;font-size:11px}.link-button{background:0 0;min-height:24px;padding:0}.link-button:hover{background:0 0}details{min-width:0}summary{cursor:pointer;color:var(--accent);padding:4px 0;font-size:12px;font-weight:550}details[open]>summary{margin-bottom:14px}.screen-card{gap:18px}.screen-head{gap:20px}.screen-head h2{margin:0 0 5px;font-size:18px}.screen-head h2 .badge{margin-left:6px}.screen-head .muted{margin:0}.screen-actions{gap:8px}.screen-actions .button,.screen-actions button{min-height:34px;padding:7px 11px;font-size:12px}.screen-body{align-items:center;gap:14px 24px;padding-top:18px}.screen-playlist{flex:220px;max-width:320px}.screen-connection{flex:250px}.screen-connection[open]{flex-basis:100%;order:3}.connection-fields{border:1px solid var(--border);background:#f7faf7;border-radius:8px;flex-direction:column;gap:16px;padding:16px;display:flex}.pairing{gap:8px;min-width:0}.pairing .label{flex:0 0 90px}.pairing code{letter-spacing:0;color:var(--accent);overflow-wrap:anywhere;border-radius:5px;min-width:0;max-width:100%;padding:5px 9px;font-size:13px}.screen-settings{flex:0 auto}.screen-settings[open]{flex-basis:100%;order:4}.screen-clock{border:1px solid var(--border);background:#f7faf7;border-radius:8px;gap:16px;padding:16px}.screen-clock-head .label{text-transform:none;letter-spacing:0;font-size:12px}.playlist-grid{grid-template-columns:1fr}.playlist-card{gap:20px}.playlist-card h2{margin:0 0 4px;font-size:17px}.playlist-card .muted{margin:0}.item-list{gap:8px}.item{background:#fff;border-radius:8px;gap:12px;padding:12px}.item-index{width:26px;height:26px;color:var(--accent);border-radius:6px;font-size:12px}.item-type{flex-basis:80px;font-size:12px;font-weight:600}.item-summary{color:var(--fg);font-size:13px}.item-meta{font-size:11px}.item select.item-every{flex:none;width:auto;min-height:30px;padding:3px 6px;font-size:11px}.page-split{grid-template-columns:minmax(0,1fr) minmax(360px,.85fr);gap:24px;max-width:1600px}.page-aside{top:24px}.live-preview{gap:14px}.live-preview-stage{background:#132c24;border-radius:8px;height:360px}.live-preview-status{font-size:12px}.dropzone{border:1px dashed #a9c2b3;margin-bottom:24px;padding:30px 24px}.dropzone p{margin:0 0 6px}.dropzone .muted{margin:0;font-size:12px}.upload-icon{background:var(--accent-soft);width:48px;height:48px;color:var(--accent);border-radius:12px;place-items:center;margin:0 auto 12px;display:grid}.media-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))}.asset-card{gap:14px;padding:14px}.asset-thumb{background:#f2f5f1;border:1px solid #eaf0eb;height:160px}.asset-icon{color:#668774;flex-direction:column;align-items:center;gap:10px;font-size:14px;display:flex}.asset-icon span{font-size:11px;font-weight:550}.asset-name{font-size:13px}.asset-info .muted{font-size:11px}.asset-card .screen-actions{justify-content:flex-end;margin-top:auto}.modal-backdrop{overscroll-behavior:contain;background:#102f2666;padding:40px 20px}.modal{border:1px solid var(--border);gap:18px;width:min(700px,100%);padding:28px;box-shadow:0 20px 70px #123e3226}.modal label{flex:none}.modal h2{margin:0;font-size:22px}.modal-actions{border-top:1px solid var(--border);flex-wrap:wrap;gap:10px;padding-top:18px}.preview-thumb{max-width:100%}.search-result:hover{background:var(--accent-soft)}.day{min-height:36px}.table{margin-top:16px;font-size:12px}.table th,.table td{border-bottom-color:var(--border);overflow-wrap:anywhere;padding:12px 10px}.table th{letter-spacing:.5px;color:var(--muted);background:#f7faf7;font-size:10px;font-weight:600}.table tbody tr:hover{background:#f7faf7}.card:has(.table){overflow-x:auto}code{overflow-wrap:anywhere;font-size:12px}.login-page{background:var(--bg);padding:32px 20px}.login-card{border:1px solid var(--border);border-radius:14px;gap:20px;width:min(440px,100%);padding:38px;box-shadow:0 12px 40px #1e483308}.login-card .brand{border-bottom:1px solid var(--border);color:var(--sidebar);padding:0 0 16px}.login-card .brand strong span{color:var(--accent)}.login-card .brand small{color:var(--muted)}.login-card h1{margin:0 0 -12px;font-size:29px}.login-card p{margin:0}.login-card label{flex:none}.login-card .alert{margin:0}.content .boot{min-height:240px}@media (width<=1400px){.page-split{grid-template-columns:minmax(0,1fr)}.page-aside{position:static}}@media (width<=1100px){.content{padding:28px}.workspace-header{padding:16px 28px}.screen-head{flex-direction:column;gap:14px}.workspace-footer{padding-left:28px;padding-right:28px}}@media (width<=850px){.shell{display:block}.sidebar{z-index:50;flex-direction:row;justify-content:space-between;align-items:center;width:100%;height:64px;padding:0 20px;position:sticky}.sidebar .brand{align-items:baseline;gap:12px;padding:0;display:flex}.sidebar .brand strong{font-size:21px}.sidebar .brand small{letter-spacing:1.5px;margin:0;font-size:10px}.mobile-menu{color:#fff;background:0 0;border:1px solid #ffffff40;min-height:36px;padding:6px 10px;font-size:12px;display:inline-flex}.sidebar nav{background:var(--sidebar);margin:0;padding:24px 20px 140px;display:none;position:fixed;inset:64px 0 0;overflow-y:auto}.menu-open .sidebar nav{display:flex}.sidebar-footer{display:none}.menu-open .sidebar-footer{background:var(--sidebar);padding:16px 32px;display:flex;position:fixed;bottom:0;left:0;right:0}.content{padding:26px 20px 36px}.workspace-header{min-height:56px;padding:12px 20px}.workspace-footer{padding:0 20px 18px}h1{font-size:28px}.page-header{gap:16px;margin-bottom:24px}.item{flex-wrap:wrap}.item-type{flex-basis:auto}.item-actions{margin-left:auto}.screen-connection[open]{order:initial}}@media (width<=560px){.page-header{flex-direction:column}.page-header>button{align-self:start}.card{padding:18px}.stats-grid{gap:8px}.stat{padding:12px}.stat strong{font-size:26px}.stat small{display:none}.stat>span{font-size:11px}.screen-body{align-items:stretch;gap:16px}.screen-playlist,.screen-connection,.screen-settings{flex-basis:100%;max-width:none}.screen-head h2 .badge{margin-left:0}.pairing .label{flex-basis:100%}.playlist-card{flex-direction:column;align-items:flex-start;gap:16px}.section-heading{flex-direction:column;align-items:flex-start;gap:4px}.modal-backdrop{padding:16px 10px}.modal{padding:22px 18px}.live-preview-stage{height:280px}.table{min-width:520px}.login-card{padding:28px 24px}.workspace-footer span{display:none}.player-link{font-size:11px}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2s}}.expiry-notice{flex-wrap:wrap;align-items:flex-start;gap:8px 16px;display:flex}.expiry-notice>span{flex:240px;min-width:0}.expiry-notice>a{flex:none;max-width:100%}.row>label.feed-min{flex:0 0 7.5rem;min-width:0}.season-choices{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:8px 0;display:grid}.season-choices fieldset{border:1px solid var(--border);border-radius:8px;margin:0;padding:8px 12px}.season-choices legend{padding:0 4px;font-size:12px;font-weight:600}.season-choices .checkbox{font-size:13px}.season-choices .muted{margin-left:4px;font-size:11px}.season-choices.disabled{opacity:.55}.season-event{border:1px solid var(--border);border-radius:10px;margin:0 0 12px;padding:12px 14px}.season-event.selected{border-color:var(--accent);box-shadow:0 0 0 2px #1f7a3d26}.season-event-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.season-event-head h3{margin:0}.season-event-actions{gap:6px;margin-left:auto;display:flex}.season-event .row>label{flex:180px}.season-event .row>label.season-position{flex:0 140px}.season-preview-frame{aspect-ratio:16/9;background:#132c24;border-radius:8px;overflow:hidden}.season-preview-frame iframe{border:0;width:100%;height:100%;display:block}@media (width>=1100px){.page-split.season-page{grid-template-columns:minmax(0,1fr) 380px}.season-page .page-aside{position:sticky;top:24px}}.layout-thumb{aspect-ratio:16/9;border-radius:6px;position:relative;overflow:hidden}.layout-thumb span{box-sizing:border-box;color:#fff;white-space:nowrap;text-overflow:ellipsis;background:#ffffff1f;border:1px solid #ffffffb3;padding:2px 4px;font-size:10px;position:absolute;overflow:hidden}.layout-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.layout-card h2{margin:10px 0 2px;font-size:16px}.layout-templates{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin:6px 0 14px;display:grid}.layout-template{color:var(--fg);border:2px solid var(--border);text-align:left;background:#fff;border-radius:10px;flex-direction:column;gap:6px;padding:8px;font-weight:500;display:flex}.layout-template.selected{border-color:var(--accent)}.layout-editor{max-width:1600px}.layout-workspace{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:20px;display:grid}@media (width<=1150px){.layout-workspace{grid-template-columns:minmax(0,1fr)}}.layout-stage-column .row>label{flex:200px}.layout-stage-column .row>label.layout-bg{flex:0 0 110px}.layout-stage-column .row>.layout-grid-toggle{flex:none;align-self:end}.layout-canvas{aspect-ratio:16/9;-webkit-user-select:none;user-select:none;touch-action:none;background:#000;border-radius:8px;outline:none;position:relative;overflow:hidden}.layout-canvas:focus-visible{box-shadow:0 0 0 3px #1f7a3d73}.layout-canvas iframe{pointer-events:none;border:0;width:100%;height:100%;position:absolute;inset:0}.layout-overlay{position:absolute;inset:0}.layout-canvas.with-grid .layout-overlay{background-image:linear-gradient(#ffffff12 1px,#0000 1px),linear-gradient(90deg,#ffffff12 1px,#0000 1px);background-size:5% 5%}.layout-box{box-sizing:border-box;cursor:move;border:1px dashed #ffffffbf;position:absolute}.layout-box:hover{background:#ffffff0f}.layout-box.selected{background:#4ade8014;border:2px solid #4ade80}.layout-box-label{color:#fff;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;background:#000000a6;border-radius:4px;max-width:calc(100% - 8px);padding:2px 6px;font-size:11px;position:absolute;top:4px;left:4px;overflow:hidden}.layout-handle{background:#fff;border:2px solid #16a34a;border-radius:3px;width:12px;height:12px;margin:-6px;position:absolute}.layout-handle.h-n{cursor:ns-resize;top:0;left:50%}.layout-handle.h-s{cursor:ns-resize;top:100%;left:50%}.layout-handle.h-e{cursor:ew-resize;top:50%;left:100%}.layout-handle.h-w{cursor:ew-resize;top:50%;left:0}.layout-handle.h-ne{cursor:nesw-resize;top:0;left:100%}.layout-handle.h-sw{cursor:nesw-resize;top:100%;left:0}.layout-handle.h-nw{cursor:nwse-resize;top:0;left:0}.layout-handle.h-se{cursor:nwse-resize;top:100%;left:100%}.layout-layers{flex-direction:column-reverse;gap:4px;margin:0 0 12px;padding:0;list-style:none;display:flex}.layout-layers li{border-radius:6px;align-items:center;gap:8px;padding:4px 6px;display:flex}.layout-layers li.selected{background:#e3f3e8}.layout-layers li .muted{margin-left:auto;font-size:11px}.layout-layers button.link{color:var(--fg);text-align:left;cursor:pointer;background:0 0;border:0;min-height:0;padding:0;font-weight:600}.layout-panel .row>label{flex:140px}.layout-geometry>label{flex:80px}.screen-qr{border:1px solid var(--border);background:#fff;border-radius:10px;flex-wrap:wrap;align-items:flex-start;gap:18px;margin:10px 0 4px;padding:14px;display:flex}.screen-qr svg{width:220px;height:220px;image-rendering:pixelated;flex:none}.screen-qr>div{flex:260px;min-width:0}.screen-qr p{margin:0 0 10px}.layout-stage-column .row>label.layout-format{flex:260px}.layout-stage-column .row>label.layout-fit{flex:0 210px}.layout-canvas{margin:0 auto}button.item-state{border:1px solid #0000;min-width:104px;font-weight:600}button.item-state.on{color:#166534;background:#dcfce7;border-color:#86efac}button.item-state.off{color:#991b1b;background:#fee2e2;border-color:#fca5a5}button.item-state:hover{filter:brightness(.96)}details.release-note{border-top:1px solid var(--border);padding:8px 0}details.release-note>summary{cursor:pointer}details.release-note ul{margin:8px 0 0}.users-table{border-collapse:collapse;width:100%}.users-table th,.users-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:8px 6px}.users-table td input,.users-table td select{max-width:260px;min-height:34px;padding:4px 8px}.users-table .badge{margin-left:6px}.users-actions{white-space:nowrap}.users-actions button{margin-right:4px}.users-reset{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.users-reset input{max-width:160px}.setup-notice{color:#16392f;text-align:left;background:#fff6e0;border:1px solid #f0dca8;border-radius:6px;flex-basis:100%;padding:12px 16px;font-size:13px;line-height:1.55}.setup-notice p{margin:6px 0}.setup-notice ul{margin:6px 0;padding-left:20px}.setup-notice li{margin:4px 0}.eyebrow{text-transform:uppercase;letter-spacing:1.5px;color:var(--accent);font-size:10px;font-weight:700;display:block}.overlay-fields{gap:10px;display:grid}.overlay-fields>.hint{margin:0}.overlay-row{border:1px solid var(--border);border-radius:8px;gap:8px;padding:10px 12px;display:grid}.overlay-row-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.overlay-row-buttons{gap:6px;margin-left:auto;display:inline-flex}.overlay-add{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.overlay-color input[type=color]{width:56px;min-width:56px;height:38px;padding:2px}
