:root{--surface:#0b0e0d;--sidebar:#101412;--panel:#151a18;--panel-hover:#1a201d;--input:#0f1312;--ink:#f4f6f2;--muted:#8d9690;--muted-2:#68716b;--line:#ffffff16;--line-strong:#ffffff24;--green:#c8f35f;--green-dark:#18220d;--blue:#66b9ff;--amber:#e6ad5f;--danger:#ff786c;--sidebar-width:236px}*{box-sizing:border-box}html{background:var(--surface);min-width:320px}body{background:radial-gradient(circle at 78% -20%, #c8f35f0d, transparent 36rem), var(--surface);color:var(--ink);margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;font-size:13px}button,input,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{color:inherit}.hidden{display:none!important}.app-layout{min-height:100vh}.sidebar{z-index:20;width:var(--sidebar-width);border-right:1px solid var(--line);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#101412f5;flex-direction:column;padding:26px 18px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:12px;min-height:54px;padding:0 8px;display:flex}.brand-mark{width:44px;height:44px;color:var(--green);letter-spacing:.1em;border:1px solid #c8f35f6b;border-radius:12px;flex:none;place-items:center;font-size:11px;font-weight:800;display:grid}.brand p,.brand strong{margin:0;display:block}.brand p{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;margin-bottom:4px;font-size:9px;font-weight:700}.brand strong{letter-spacing:-.015em;font-size:12px;font-weight:650}.nav{flex-direction:column;gap:5px;margin-top:42px;display:flex}.nav-item{width:100%;min-height:44px;color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:11px;padding:0 12px;font-size:12px;font-weight:590;transition:background .15s,color .15s;display:flex}.nav-icon{place-items:center;width:20px;font-size:16px;line-height:1;display:grid}.nav-count{min-width:22px;height:20px;color:var(--muted);background:#ffffff0e;border-radius:7px;place-items:center;margin-left:auto;font-size:9px;display:grid}.sidebar-status{border-top:1px solid var(--line);margin-top:auto;padding:19px 8px 0}.status-line{align-items:center;gap:10px;display:flex}.status-line div{min-width:0}.status-line strong,.status-line span{display:block}.status-line strong{margin-bottom:3px;font-size:10px;font-weight:650}.status-line span,.sidebar-status p{color:var(--muted);font-size:9px}.sidebar-status p{margin:14px 0 0;line-height:1.6}.status-dot{background:#56605a;border-radius:50%;flex:none;width:7px;height:7px;display:inline-block}.status-dot.online,#server-dot.online{background:var(--green);box-shadow:0 0 0 4px #c8f35f14}.status-dot.starting{background:var(--amber);box-shadow:0 0 0 4px #e6ad5f14}.main{min-height:100vh;margin-left:var(--sidebar-width);padding:31px clamp(24px,3.2vw,54px) 48px}.topbar{justify-content:space-between;align-items:flex-start;gap:24px;min-height:78px;margin-bottom:26px;display:flex}.eyebrow{color:var(--muted-2);letter-spacing:.17em;text-transform:uppercase;margin:0 0 7px;font-size:9px;font-weight:760}h1,h2,p{margin-top:0}h1{letter-spacing:-.045em;margin-bottom:7px;font-size:clamp(25px,2.5vw,34px);font-weight:660;line-height:1}h2{letter-spacing:-.025em;margin-bottom:0;font-size:17px;font-weight:640}.page-subtitle{color:var(--muted);margin-bottom:0;font-size:11px}.topbar-actions,.camera-heading-actions,.video-actions,.legend-row,.chart-legend{align-items:center;display:flex}.topbar-actions{gap:13px}.last-update{color:var(--muted-2);font-size:9px}.button{cursor:pointer;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:6px;min-height:40px;padding:0 14px;font-size:11px;font-weight:680;text-decoration:none;transition:transform .14s,background .14s,border-color .14s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.42}.button.primary{background:var(--green);color:var(--green-dark)}.button.small{min-height:34px;padding:0 11px;font-size:9px}.text-button{color:var(--green);cursor:pointer;background:0 0;border:0;padding:6px 0;font-size:10px;text-decoration:none}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:12px;display:grid}.metric-card,.panel,.device-card{border:1px solid var(--line);background:linear-gradient(145deg, #ffffff04, transparent 60%), var(--panel)}.metric-card{border-radius:14px;min-height:130px;padding:18px 19px}.metric-card>strong{letter-spacing:-.055em;margin:21px 0 7px;font-size:clamp(27px,3vw,37px);font-weight:660;line-height:.9;display:block}.metric-card>span,.metric-card small,.metric-top{color:var(--muted)}.metric-card>span,.metric-top{font-size:10px;font-weight:610}.metric-card small{font-size:9px}.metric-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.metric-indicator{background:var(--muted);border-radius:2px;width:7px;height:7px}.metric-indicator.green,.metric-indicator.lime{background:var(--green)}.metric-card.compact{min-height:108px;padding:16px 18px}.metric-card.compact>strong{margin:15px 0 6px;font-size:29px}.panel{border-radius:15px;padding:20px}.panel-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.device-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.device-card{border-radius:12px;min-height:190px;padding:16px;transition:transform .15s,border-color .15s,background .15s;position:relative;overflow:hidden}.device-card:hover{border-color:var(--line-strong);background:var(--panel-hover);transform:translateY(-2px)}.device-card-top,.device-card-actions,.device-live,.camera-heading,.section-toolbar,.video-footer{align-items:center;display:flex}.device-card-top{justify-content:space-between;gap:12px;margin-bottom:19px}.device-title{align-items:center;gap:11px;min-width:0;display:flex}.device-avatar{border:1px solid var(--line);width:36px;height:36px;color:var(--muted);background:#0f1312;border-radius:9px;flex:none;place-items:center;font-size:14px;display:grid}.device-title strong,.device-title span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.device-title strong{margin-bottom:4px;font-size:11px;font-weight:650}.device-title span{max-width:180px;color:var(--muted);font-size:9px}.status-chip{min-height:24px;color:var(--muted);letter-spacing:.045em;text-transform:uppercase;white-space:nowrap;background:#ffffff0b;border-radius:999px;align-items:center;gap:6px;padding:0 8px;font-size:8px;font-weight:700;display:inline-flex}.status-chip:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px}.status-chip.online{color:var(--green);background:#c8f35f17}.status-chip.starting{color:var(--amber);background:#e6ad5f17}.status-chip.error{color:var(--danger);background:#ff786c17}.device-live{background:#ffffff0e;border:1px solid #ffffff0f;border-radius:9px;gap:1px;min-height:57px;overflow:hidden}.device-live div{background:#131816;flex:1;align-self:stretch;padding:12px}.device-live span,.device-live strong{display:block}.device-live span{color:var(--muted-2);text-transform:uppercase;margin-bottom:7px;font-size:8px}.device-live strong{font-size:15px;font-weight:620}.device-card-actions{justify-content:space-between;gap:12px;margin-top:14px}.device-last{color:var(--muted-2);text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.device-open{color:var(--green);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:5px 0;font-size:9px}.empty-panel{border:1px dashed var(--line);min-height:170px;color:var(--muted);border-radius:12px;grid-column:1/-1;place-items:center;font-size:10px;display:grid}.section-toolbar{justify-content:space-between;gap:24px;margin-bottom:18px}.section-toolbar h2{margin-bottom:6px;font-size:19px}.section-toolbar p{color:var(--muted);margin-bottom:0;font-size:10px}.legend-row,.chart-legend{color:var(--muted);flex-wrap:wrap;gap:14px;font-size:8px}.legend-row .status-dot{margin-right:5px}.camera-heading{gap:13px;min-height:58px;margin-bottom:18px}.camera-heading>div:nth-child(2){min-width:0}.camera-heading h2{text-overflow:ellipsis;white-space:nowrap;font-size:21px;overflow:hidden}.camera-heading .eyebrow{margin-bottom:5px}.camera-heading-actions{gap:8px;margin-left:auto}.back-button{border:1px solid var(--line);width:38px;height:38px;color:var(--muted);cursor:pointer;background:0 0;border-radius:9px;place-items:center;display:grid}.camera-workspace{grid-template-columns:minmax(0,2fr) minmax(300px,.8fr);gap:11px;margin-bottom:12px;display:grid}.video-panel,.tracks-panel{min-height:580px}.stream-meta{color:var(--muted);gap:14px;font-size:8px;display:flex}.video-stage{aspect-ratio:16/9;background:#070a09;border:1px solid #ffffff12;border-radius:11px;place-items:center;min-height:390px;display:grid;position:relative;overflow:hidden}.video-stage img{object-fit:contain;width:100%;height:100%}.video-placeholder{background-color:#0a0e0c;background-image:linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:42px 42px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.focus-frame{width:98px;height:66px;box-shadow:-11px -11px 0 -10px var(--green), 11px -11px 0 -10px var(--green), -11px 11px 0 -10px var(--green), 11px 11px 0 -10px var(--green);border:1px solid #c8f35f61;border-radius:3px;margin-bottom:20px}.video-placeholder strong{margin-bottom:7px;font-size:12px}.video-placeholder span{color:var(--muted);font-size:9px}.privacy-badge{color:#9fa6a1;letter-spacing:.04em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080b0ac7;border:1px solid #ffffff14;border-radius:7px;padding:7px 9px;font-size:7px;position:absolute;bottom:12px;right:12px}.video-footer{justify-content:space-between;gap:16px;padding:15px 2px 0}.video-actions{gap:7px}.legend-dot,.chart-key{border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block}.tracks-panel{flex-direction:column;display:flex}.count-badge{width:28px;height:28px;color:var(--muted);background:#ffffff0e;border-radius:8px;place-items:center;font-size:9px;display:grid}.track-list{flex-direction:column;flex:1;gap:7px;max-height:405px;display:flex;overflow-y:auto}.empty-tracks{text-align:center;flex:1;place-content:center;min-height:250px;display:grid}.empty-tracks strong,.empty-tracks span{display:block}.empty-tracks strong{margin-bottom:7px;font-size:11px}.empty-tracks span{color:var(--muted);font-size:8px}.track-row{background:#ffffff04;border:1px solid #ffffff0f;border-radius:9px;gap:10px;padding:11px;display:flex}.track-id{width:32px;height:32px;color:var(--blue);background:#66b9ff17;border-radius:8px;flex:none;place-items:center;font-size:9px;font-weight:750;display:grid}.track-id.looking{color:var(--green);background:#c8f35f1a}.track-main{flex:1;min-width:0}.track-main>div{justify-content:space-between;gap:8px;display:flex}.track-main strong,.track-main span{font-size:8px}.track-main span{color:var(--muted)}.track-main .track-data{border-top:1px solid #ffffff0d;margin-top:7px;padding-top:7px}.track-data span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.session-strip{background:#ffffff0f;border:1px solid #ffffff0f;border-radius:9px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:14px;display:grid;overflow:hidden}.session-strip div{background:#141917;min-width:0;padding:11px 8px}.session-strip span,.session-strip strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.session-strip span{color:var(--muted-2);text-transform:uppercase;margin-bottom:5px;font-size:7px}.session-strip strong{font-size:8px}.recent-panel{margin-bottom:12px}.table-wrap{overflow-x:auto}.table-scroll{max-height:390px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:9px}th,td{text-align:left;white-space:nowrap;border-bottom:1px solid #ffffff0f;padding:11px 10px}th{z-index:1;background:var(--panel);color:var(--muted-2);letter-spacing:.055em;text-transform:uppercase;font-size:7px;font-weight:700;position:sticky;top:0}td{color:#c5cbc7}.table-empty{height:100px;color:var(--muted);text-align:center}.result{color:var(--muted);background:#ffffff0b;border-radius:999px;padding:4px 7px;font-size:7px;display:inline-flex}.result.viewed{color:var(--green);background:#c8f35f17}.filter-panel{margin-bottom:12px;padding:15px 17px}.filter-panel form{grid-template-columns:minmax(180px,1.3fr) repeat(3,minmax(130px,.8fr)) auto auto;align-items:end;gap:9px;display:grid}.field{flex-direction:column;gap:6px;display:flex}.field>span{color:#b7beb9;font-size:8px;font-weight:620}.field input,.field select{border:1px solid var(--line);background:var(--input);width:100%;height:39px;color:var(--ink);border-radius:8px;outline:none;padding:0 11px;font-size:9px}.field input:focus,.field select:focus{border-color:#c8f35f73}.field small{color:var(--muted-2);font-size:7px;line-height:1.5}.chart-panel{margin-bottom:12px}.chart-key{border-radius:2px}.chart{min-height:280px}.chart svg{width:100%;height:auto;display:block;overflow:visible}.chart-grid-line{stroke:#ffffff12;stroke-width:1px}.chart-axis-label{fill:#68716b;font-family:Inter,Segoe UI,Arial,sans-serif;font-size:9px}.chart-line-people{fill:none;stroke:var(--blue);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4px}.chart-line-viewers{fill:none;stroke:var(--green);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4px}.chart-area{fill:url(#chart-area-gradient);opacity:.38}.chart-point-people{fill:var(--panel);stroke:var(--blue);stroke-width:2px}.chart-point-viewers{fill:var(--panel);stroke:var(--green);stroke-width:2px}.empty-chart{min-height:250px;color:var(--muted);place-items:center;font-size:9px;display:grid}.analytics-tables{grid-template-columns:1fr 1fr;gap:11px;display:grid}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#040605c7;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow-y:auto}.modal{border:1px solid var(--line-strong);background:#151a18;border-radius:15px;width:min(690px,100%);padding:22px;box-shadow:0 30px 90px #00000075}.modal-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.modal-close{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:25px;line-height:1}.modal form{grid-template-columns:1fr 1fr;gap:13px;display:grid}.span-2{grid-column:1/-1}.toggle-field{border:1px solid var(--line);background:#ffffff05;border-radius:9px;align-items:flex-start;gap:10px;padding:12px;display:flex}.toggle-field input{width:15px;height:15px;accent-color:var(--green)}.toggle-field strong,.toggle-field small{display:block}.toggle-field strong{margin-bottom:4px;font-size:9px}.toggle-field small{color:var(--muted);font-size:7px}.modal-actions{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.toast{z-index:130;color:#e9ffd0;background:#1d2813;border:1px solid #c8f35f38;border-radius:10px;max-width:410px;padding:12px 14px;font-size:9px;position:fixed;bottom:24px;right:24px;box-shadow:0 18px 50px #00000059}.toast.error{color:#ffd3cf;background:#321714;border-color:#ff786c40}@media (width<=1260px){.device-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-panel form{grid-template-columns:repeat(4,minmax(120px,1fr))}.filter-panel .button{width:100%}}@media (width<=1060px){:root{--sidebar-width:78px}.sidebar{padding-inline:12px}.brand{justify-content:center;padding:0}.brand>div:last-child,.nav-item:not(.active) .nav-count,.nav-item{font-size:0}.nav-item{justify-content:center;padding:0}.nav-icon{font-size:17px}.nav-count,.sidebar-status p,.status-line div{display:none}.status-line{justify-content:center}.camera-workspace{grid-template-columns:1fr}.video-panel,.tracks-panel{min-height:auto}.track-list{max-height:360px}.analytics-tables{grid-template-columns:1fr}}@media (width<=780px){:root{--sidebar-width:0px}.sidebar{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;width:auto;height:auto;padding:10px 13px;position:static}.brand{justify-content:flex-start}.brand-mark{width:36px;height:36px}.nav{flex-direction:row;gap:3px;margin:0 0 0 auto}.nav-item{width:40px;min-height:38px}.sidebar-status{display:none}.main{margin-left:0;padding:23px 15px 36px}.topbar{flex-direction:column;min-height:auto;margin-bottom:20px}.topbar-actions{justify-content:space-between;width:100%}.metric-grid{grid-template-columns:1fr 1fr}.device-grid{grid-template-columns:1fr}.camera-heading{flex-wrap:wrap;align-items:flex-start}.camera-heading-actions{flex-wrap:wrap;width:100%;margin-left:51px}.stream-meta{display:none}.video-stage{min-height:240px}.filter-panel form{grid-template-columns:1fr 1fr}}@media (width<=520px){.metric-grid{grid-template-columns:1fr}.panel,.modal{padding:15px}.section-toolbar,.video-footer{flex-direction:column;align-items:flex-start}.filter-panel form,.modal form{grid-template-columns:1fr}.span-2{grid-column:auto}.modal-actions{flex-direction:column-reverse}.modal-actions .button{width:100%}}.overview-widgets{margin-bottom:22px}.overview-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.overview-toolbar h2{margin:0;font-size:18px}.period-switch{background:#ffffff08;border:1px solid #ffffff1a;border-radius:10px;padding:3px;display:inline-flex}.period-button{color:#9aa8a2;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:7px 13px;font-size:13px}.period-button.active{color:#0d1511;background:#d7ff5f;font-weight:600}.overview-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px;display:grid}.overview-grid-wide{grid-template-columns:1.1fr 1fr 1.35fr}.overview-card{min-height:116px;padding:15px 17px}.overview-card-top{color:#9aa8a2;justify-content:space-between;align-items:center;font-size:13px;display:flex}.overview-card>strong{margin-top:8px;font-size:30px;line-height:1.1;display:block}.overview-card>small{color:#7f8d87;margin-top:4px;font-size:12px;display:block}.overview-card-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.overview-card-head h3{margin:0;font-size:14px}.overview-card-head span{color:#7f8d87;font-size:11px}.gender-row{align-items:center;gap:12px;display:flex}.gender-stat strong{font-size:22px;display:block}.gender-stat span{color:#7f8d87;font-size:11px}.gender-stat.right{text-align:right}.gender-bar{background:#ffffff0f;border-radius:99px;flex:1;height:9px;display:flex;overflow:hidden}.gender-bar-fill{height:100%;transition:width .3s;display:block}.gender-row+small{color:#7f8d87;margin-top:8px;font-size:11px;display:block}.age-bars{gap:5px;display:grid}.age-row{color:#9aa8a2;grid-template-columns:48px 1fr 24px;align-items:center;gap:7px;font-size:11px;display:grid}.age-track{background:#ffffff0f;border-radius:99px;height:7px;overflow:hidden}.age-fill{border-radius:inherit;background:linear-gradient(90deg,#d7ff5f,#66b9ff);height:100%;display:block}.age-count{text-align:right;color:#d7ff5f}.overview-chart{min-height:104px}.traffic-chart{align-items:end;gap:4px;height:96px;display:flex;overflow:hidden}.traffic-column{flex-direction:column;flex:1;justify-content:end;align-items:center;gap:4px;min-width:0;height:100%;display:flex}.traffic-bars{align-items:end;gap:2px;width:100%;height:78px;display:flex}.traffic-bar{border-radius:3px 3px 0 0;flex:1;min-height:1px}.traffic-label{color:#7f8d87;white-space:nowrap;max-width:100%;font-size:9px;overflow:hidden}.traffic-legend{color:#7f8d87;gap:14px;margin-top:8px;font-size:11px;display:flex}@media (width<=1100px){.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-grid-wide{grid-template-columns:1fr}}@media (width<=640px){.overview-grid{grid-template-columns:1fr}.overview-toolbar{flex-direction:column;align-items:flex-start}}.overview-alerts{color:#e6c99f;background:#e6ad5f14;border:1px solid #e6ad5f4d;border-radius:9px;align-items:center;gap:8px;margin:0 0 10px;padding:9px 12px;font-size:12px;display:flex}.alert-dot{background:#e6ad5f;border-radius:99px;width:7px;height:7px}.overview-grid-two{grid-template-columns:1.6fr 1fr}.funnel{gap:9px;display:grid}.funnel-row{color:#9aa8a2;grid-template-columns:74px 1fr 44px;align-items:center;gap:8px;font-size:11px;display:grid}.funnel-row strong{text-align:right;color:#f4f6f2;font-size:12px}.funnel-track{background:#ffffff0f;border-radius:99px;height:8px;overflow:hidden}.funnel-fill{border-radius:inherit;height:100%;transition:width .3s;display:block}.dwell-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.dwell-grid strong{color:#d7ff5f;font-size:18px;display:block}.dwell-grid span{color:#7f8d87;margin-top:3px;font-size:10px;display:block}.delta-list{gap:8px;display:grid}.delta-row{color:#9aa8a2;justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.delta-row strong{color:#f4f6f2;font-size:13px}.heatmap{overflow-x:auto}.heat-head,.heat-row{grid-template-columns:26px 1fr;align-items:center;gap:5px;display:grid}.heat-head{margin-bottom:4px}.heat-cells{grid-template-columns:repeat(24,minmax(5px,1fr));gap:2px;display:grid}.heat-hour{color:#68716b;text-align:center;font-size:8px}.heat-day{color:#7f8d87;font-size:9px}.heat-row{margin-bottom:2px}.heat-cell{background:#d7ff5f;border-radius:2px;height:13px;display:block}.camera-compare{gap:10px;display:grid}.compare-row{gap:4px;display:grid}.compare-top{color:#c9d1cc;justify-content:space-between;align-items:center;gap:8px;font-size:11px;display:flex}.compare-top strong{color:#d7ff5f;white-space:nowrap;font-size:11px}.compare-track{background:#ffffff0f;border-radius:99px;height:6px;overflow:hidden}.compare-track span{border-radius:inherit;background:linear-gradient(90deg,#66b9ff,#d7ff5f);height:100%;display:block}.compare-row small{color:#68716b;font-size:10px}@media (width<=1100px){.overview-grid-two{grid-template-columns:1fr}.heat-cells{grid-template-columns:repeat(24,minmax(8px,1fr))}}@font-face{font-family:NovikovTV;src:url(/assets/NovikovTV-Regular-C0mmbI_t.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:NovikovTV;src:url(/assets/NovikovTV-Medium-BRBaQVhl.woff2)format("woff2");font-weight:500 700;font-style:normal;font-display:swap}:root{--surface:#fff;--sidebar:#fff;--panel:#fff;--panel-hover:#f4f4f4;--input:#fff;--ink:#030303;--muted:#8b8d92;--muted-2:#b0b0b0;--line:#0303031f;--line-strong:#0303033d;--green:#ff8562;--green-dark:#1a0d08;--blue:#8b8d92;--amber:#ff9c6e;--danger:#d92d20}html,body{color:var(--ink);background:#fff;font-family:NovikovTV,Arial,Segoe UI,sans-serif}body{background:#fff;font-size:13px}.sidebar{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff}.brand-mark{color:#030303;border-color:#0303033d}.nav-item{color:#8b8d92}.nav-item:hover{color:#030303;background:#f4f4f4}.nav-item.active{color:#fff;background:#030303}.nav-count{color:#030303;background:#f0f0f0}.nav-item.active .nav-count{color:#030303;background:#fff}.main{background:#fff}h1,h2,h3,strong{letter-spacing:-.02em;font-weight:500}#page-title{letter-spacing:-.04em}.topbar{border-bottom-color:var(--line)}.last-update{color:#8b8d92}.button.primary{color:#fff;background:#030303}.button.primary:hover{background:#1a1a1a}.button.secondary{color:#030303;background:#fff;border-color:#03030338}.button.ghost{border-color:var(--line);color:#030303;background:#fff}.button.danger{color:#d92d20;background:#fff5f4;border-color:#d92d2038}.text-button{color:#030303}.period-button{color:#8b8d92}.period-button.active{color:#fff;background:#030303}.period-switch,.metric-card,.panel,.device-card{border-color:var(--line);background:#fff}.metric-card.accent{background:#fff8f5;border-color:#ff856259}.metric-card>strong,.overview-card>strong{color:#030303}.metric-card small,.metric-card>span,.metric-top,.overview-card small,.overview-card-head span{color:#8b8d92}.metric-indicator.green,.status-dot.online{background:#00cd38}.metric-indicator.blue{background:#8b8d92}.metric-indicator.amber,.metric-indicator.lime{background:#ff8562}.status-dot{background:#b0b0b0}.status-dot.error{background:#d92d20}.status-chip.online{color:#087a2b;background:#effaf2;border-color:#00cd384d}.status-chip.error{color:#d92d20;background:#fff5f4;border-color:#d92d204d}.status-chip.offline,.status-chip.starting{color:#5f6266;background:#f4f4f4}input,select,textarea{border-color:var(--line);color:#030303;background:#fff}.field span{color:#8b8d92}.table-wrap,table{color:#030303}th{color:#8b8d92}td,th{border-bottom-color:var(--line)}tr:hover td{background:#f7f7f7}.empty-panel,.empty-tracks,.empty-chart,.table-empty{color:#8b8d92}.overview-alerts{color:#a14225;background:#fff7f3;border-color:#ff856273}.alert-dot{background:#ff8562}.gender-bar{background:#f0f0f0}.gender-bar-fill.male{background:#030303}.gender-bar-fill.female{background:#ff8562}.age-track,.funnel-track,.compare-track{background:#f0f0f0}.age-fill{background:#030303}.funnel-fill.passed{background:#d9d9d9}.funnel-fill.viewed{background:#ff8562}.funnel-fill.attention{background:#030303}.dwell-grid strong,.age-count,.compare-top strong{color:#030303}.dwell-grid span,.compare-row small{color:#8b8d92}.traffic-bar.people{background:#d9d9d9}.traffic-bar.viewers{background:#ff8562}.traffic-legend,.traffic-label,.heat-hour,.heat-day{color:#8b8d92}.heat-cell{background:#030303}.delta-row strong.positive{color:#087a2b}.delta-row strong.negative{color:#d92d20}.chart-key.people{background:#d9d9d9}.chart-key.viewers{background:#ff8562}.video-stage,.video-placeholder{background:#030303}.video-placeholder strong{color:#fff}.video-placeholder span{color:#8b8d92}.privacy-badge{color:#fff;background:#030303b8}.legend-row{color:#8b8d92}.legend-dot.person{background:#8b8d92}.legend-dot.face{background:#ff8562}.legend-dot.attention{background:#030303}.sidebar-status p,.sidebar-status span{color:#8b8d92}.sidebar-status strong{color:#030303}.modal-card{border-color:var(--line);background:#fff}.modal-backdrop{background:#0303036b}.toast{color:#fff;background:#030303}.toast.error{background:#d92d20}.edge-actions{align-items:center;gap:8px;display:flex}.edge-actions .button{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.edge-card{padding:16px}.edge-card .device-head{align-items:center;gap:10px;margin-bottom:12px;display:flex}.edge-card .device-icon{color:#030303;letter-spacing:.02em;background:#f1f1f1;border-radius:10px;place-items:center;width:38px;height:38px;font-size:10px;font-weight:600;display:grid}.edge-card .device-title h3{margin:0;font-size:14px}.edge-card .device-title p{color:#8b8d92;margin:2px 0 0;font-size:11px}.edge-card .status-chip{margin-left:auto}.edge-meta-grid{grid-template-columns:1fr 1fr 1.4fr;gap:8px;margin-bottom:12px;display:grid}.edge-meta-grid span{color:#8b8d92;margin-bottom:2px;font-size:10px;display:block}.edge-meta-grid strong{text-overflow:ellipsis;font-size:12px;font-weight:500;display:block;overflow:hidden}.edge-error{color:#a33127;background:#fff5f4;border-radius:7px;margin:0 0 10px;padding:7px 9px;font-size:11px}.edge-card .device-actions{align-items:center;gap:14px;display:flex}.edge-meta{color:#8b8d92;margin:0 0 10px;font-size:12px}.edge-logs{color:#d7ff5f;white-space:pre-wrap;word-break:break-word;background:#050505;border-radius:9px;max-height:420px;margin:0;padding:12px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;line-height:1.5;overflow:auto}@media (width<=900px){.edge-meta-grid{grid-template-columns:1fr 1fr}}.device-live span{color:#b9bdc0}.device-live strong{color:#fff}.session-strip span{color:#c3c8c5}.session-strip strong{color:#fff}#modal-delete{margin-right:auto}.login-gate{z-index:100;background:#fff;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.login-card{border:1px solid var(--line);background:#fff;border-radius:16px;gap:14px;width:min(380px,100%);padding:28px;display:grid}.login-card h1{letter-spacing:-.04em;margin:0;font-size:42px;line-height:.95}.login-card .button{justify-content:center;width:100%}.brand-login{padding:0 0 6px}.login-error{color:#a33127;background:#fff5f4;border-radius:8px;margin:0;padding:8px 10px;font-size:12px}.sidebar-user{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding:14px 8px;display:flex}.sidebar-user strong,.sidebar-user span{display:block}.sidebar-user strong{font-size:11px}.sidebar-user span{color:#8b8d92;margin-top:2px;font-size:10px}.sidebar-user .text-button{color:#8b8d92;font-size:10px}.settings-panel{margin-bottom:16px}.user-form{grid-template-columns:1.3fr 1.3fr 1fr auto;align-items:end;gap:12px;display:grid}.user-role-select{min-width:130px;padding:6px 8px}@media (width<=720px){.user-form{grid-template-columns:1fr}}
