:root{--background:0 0% 100%;--foreground:240 10% 3.9%;--canvas:240 5% 97%;--card:0 0% 100%;--muted:240 4.8% 95.9%;--muted-foreground:240 3.8% 46.1%;--accent:240 4.8% 95.9%;--accent-foreground:240 5.9% 10%;--primary:162 54% 26%;--primary-foreground:0 0% 100%;--destructive:0 72% 45%;--border:240 5.9% 90%;--input:240 5.9% 90%;--ring:162 54% 26%;--radius:.65rem;color:hsl(var(--foreground));background:hsl(var(--canvas));-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:hsl(var(--canvas));margin:0}button,input,select{font:inherit}h1,h2,h3,p{margin:0}h1{letter-spacing:-.02em;font-size:clamp(20px,2.4vw,26px);font-weight:650}h2{letter-spacing:-.01em;font-size:16px;font-weight:650}h3{font-size:15px;font-weight:650}.muted{color:hsl(var(--muted-foreground));font-size:13px}.appLayout{grid-template-columns:256px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:hsl(var(--background));border-right:1px solid hsl(var(--border));flex-direction:column;gap:4px;height:100vh;padding:18px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{letter-spacing:-.01em;color:hsl(var(--foreground));align-items:center;gap:10px;padding:8px 10px 18px;font-size:16px;font-weight:750;display:flex}.brand svg{color:hsl(var(--primary))}.nav{flex-direction:column;gap:2px;display:flex}.navItem{border-radius:calc(var(--radius) - 2px);width:100%;color:hsl(var(--muted-foreground));text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:11px;padding:9px 11px;font-size:14px;font-weight:550;transition:background .12s,color .12s;display:flex}.navItem:hover{background:hsl(var(--accent));color:hsl(var(--accent-foreground))}.navItem.active{background:hsl(var(--primary) / .1);color:hsl(var(--primary));font-weight:650}.navLogout{margin-top:auto}.navLogout:hover{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.navBackdrop{display:none}.content{min-width:0;padding:22px clamp(16px,3vw,36px) 56px}.topbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.topbarLeft{align-items:center;gap:12px;min-width:0;display:flex}.eyebrow{color:hsl(var(--primary));text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px;font-size:12px;font-weight:700}.navToggle{display:none}.topbarActions{gap:8px;display:flex}.viewSection{flex-direction:column;margin-top:20px;display:flex}.statusBand,.panel,.cameraCard,.scheduleRow,.statCard{border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:var(--radius);box-shadow:0 1px 2px #18181b0a}.statusBand{grid-template-columns:repeat(4,minmax(0,1fr));padding:4px;display:grid}.status{border-right:1px solid hsl(var(--border));flex-direction:column;gap:5px;min-width:0;padding:14px 16px;display:flex}.statusBand .status:last-child{border-right:0}.status>span{color:hsl(var(--muted-foreground));font-size:12.5px;font-weight:550}.statusLabel{align-items:center;gap:6px;display:inline-flex}.status strong{color:hsl(var(--foreground));font-size:18px;font-weight:700}.status strong.ok{color:hsl(var(--primary))}.status strong.danger{color:hsl(var(--destructive))}.statGrid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin-top:16px;display:grid}.statCard{text-align:left;align-items:center;gap:14px;width:100%;padding:18px;display:flex}.statCard.clickable{cursor:pointer;transition:border-color .15s,box-shadow .15s,transform 50ms}.statCard.clickable:hover{border-color:hsl(var(--primary) / .5);box-shadow:0 2px 8px #18181b12}.statCard.clickable:active{transform:translateY(1px)}.statIcon{border-radius:calc(var(--radius) - 2px);background:hsl(var(--primary) / .1);width:44px;height:44px;color:hsl(var(--primary));flex-shrink:0;place-items:center;display:grid}.statBody{flex-direction:column;gap:2px;min-width:0;display:flex}.statLabel{color:hsl(var(--muted-foreground));font-size:13px;font-weight:550}.statValue{letter-spacing:-.02em;color:hsl(var(--foreground));font-size:23px;font-weight:750;line-height:1.1}.statValue.ok{color:hsl(var(--primary))}.statValue.danger{color:hsl(var(--destructive))}.statHint{color:hsl(var(--muted-foreground));font-size:12px}.panel{flex-direction:column;gap:16px;padding:20px;display:flex}.panelTitle{color:hsl(var(--foreground));align-items:center;gap:9px;display:flex}.panelTitle svg{color:hsl(var(--primary))}.panelSubtitle{border-top:1px solid hsl(var(--border));text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground));margin-top:4px;padding-top:14px;font-size:12px;font-weight:700}.formGrid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.checkRow{flex-wrap:wrap;gap:18px;display:flex}.field{color:hsl(var(--foreground));flex-direction:column;gap:7px;font-size:13px;font-weight:550;display:flex}input,select{border:1px solid hsl(var(--input));border-radius:calc(var(--radius) - 2px);width:100%;height:40px;color:hsl(var(--foreground));background:hsl(var(--background));padding:0 12px;font-size:14px;transition:border-color .12s,box-shadow .12s}input::placeholder{color:hsl(var(--muted-foreground))}input:focus,select:focus{border-color:hsl(var(--ring));box-shadow:0 0 0 3px hsl(var(--ring) / .18);outline:none}.check{color:hsl(var(--foreground));cursor:pointer;align-items:center;gap:9px;font-size:14px;display:flex}.check input{width:17px;height:17px;accent-color:hsl(var(--primary));cursor:pointer}.primary,.ghost,.iconButton{cursor:pointer;transition:background .12s,border-color .12s,color .12s,opacity .12s}.formActions{align-items:center;gap:8px;display:flex}.formActions .primary{flex:1}.primary{border-radius:calc(var(--radius) - 2px);background:hsl(var(--primary));color:hsl(var(--primary-foreground));border:0;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:10px 16px;font-size:14px;font-weight:600;display:inline-flex}.primary:hover{background:hsl(var(--primary) / .9)}.ghost{border-radius:calc(var(--radius) - 2px);border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground));justify-content:center;align-items:center;gap:8px;min-height:40px;padding:10px 16px;font-size:14px;font-weight:600;display:inline-flex}.ghost:hover{background:hsl(var(--accent))}.primary:disabled,.ghost:disabled,.iconButton:disabled{cursor:not-allowed;opacity:.5}.iconButton{border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);background:hsl(var(--background));width:38px;height:38px;color:hsl(var(--foreground));place-items:center;text-decoration:none;display:inline-grid}.iconButton:hover{background:hsl(var(--accent))}.danger{color:hsl(var(--destructive))}.iconButton.danger:hover{background:hsl(var(--destructive) / .1);border-color:hsl(var(--destructive) / .4)}.duration{color:hsl(var(--muted-foreground));align-items:center;gap:8px;font-size:13px;display:flex}.duration input{width:72px}.sectionTitle{color:hsl(var(--foreground));align-items:center;gap:9px;margin:26px 0 14px;display:flex}.sectionTitle svg{color:hsl(var(--primary))}.sectionTitle .duration{margin-left:auto}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.cameraCard{grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:18px;display:grid}.cardHead{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.cardMeta{color:hsl(var(--muted-foreground));align-items:center;gap:6px;margin-top:8px;font-size:12.5px;display:flex}.cardMeta svg{vertical-align:-2px}.dotSep{opacity:.5;margin:0 2px}.actions{align-self:start;align-items:center;gap:7px;display:flex}.badge{background:hsl(var(--muted));color:hsl(var(--muted-foreground));white-space:nowrap;border-radius:999px;align-items:center;padding:3px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.badge.live{background:hsl(var(--primary) / .12);color:hsl(var(--primary))}.badge.yt{color:#b12525;background:#d926261f}.badge.yt.live{color:#fff;background:red}a.badge.yt.live{text-decoration:none}.badge.danger{background:hsl(var(--destructive) / .12);color:hsl(var(--destructive))}.player{margin-top:12px}.video{aspect-ratio:16/9;border-radius:calc(var(--radius) - 2px);background:#000;width:100%;display:block}.mono{overflow-wrap:anywhere;color:hsl(var(--muted-foreground));margin-top:8px;font-family:SFMono-Regular,Consolas,monospace;font-size:12px}.error{color:hsl(var(--destructive));margin-top:8px;font-size:13px}.scheduleTable{gap:8px;display:grid}.scheduleHead{text-transform:uppercase;letter-spacing:.04em;color:hsl(var(--muted-foreground));grid-template-columns:1.1fr .8fr 1.3fr auto auto;align-items:center;gap:12px;padding:4px 14px;font-size:11.5px;font-weight:650;display:grid}.scheduleRow{grid-template-columns:1.1fr .8fr 1.3fr auto auto;align-items:center;gap:12px;padding:13px 14px;font-size:14px;display:grid}.scheduleHead.pathHead,.scheduleRow.pathRow{grid-template-columns:1.6fr .8fr 1fr 1fr auto}.scheduleActions{justify-content:flex-end;gap:6px;display:flex}.alignEnd{text-align:right;justify-self:end}.emptyState{color:hsl(var(--muted-foreground));text-align:center;border:1px dashed hsl(var(--border));border-radius:var(--radius);background:hsl(var(--card));padding:32px;font-size:14px}.notice{border-radius:var(--radius);color:#733f11;background:#fef3c880;border:1px solid #f59f0a59;margin-top:18px;padding:12px 15px;font-size:14px}.loginShell{background:hsl(var(--canvas));place-items:center;min-height:100vh;padding:24px;display:grid}.loginPanel{width:100%;max-width:380px}@media (width<=960px){.appLayout{grid-template-columns:1fr}.sidebar{z-index:30;width:256px;transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:0 8px 30px #18181b1f}.appLayout.navOpen .sidebar{transform:translate(0)}.appLayout.navOpen .navBackdrop{z-index:20;background:#09090b73;display:block;position:fixed;inset:0}.navToggle{display:inline-grid}}@media (width<=800px){.statusBand{grid-template-columns:repeat(2,minmax(0,1fr))}.status{border-right:0;border-bottom:1px solid hsl(var(--border))}.cards,.scheduleRow{grid-template-columns:1fr}.scheduleHead{display:none}.cameraCard{grid-template-columns:1fr}.actions{justify-content:flex-end}}
