.deviceDetailPage{display:flex;flex-direction:column;gap:16px}.deviceDetailHeader{align-items:flex-start;display:flex;gap:18px;justify-content:space-between;padding:8px 0 2px}.deviceBreadcrumb{align-items:center;color:#64748b;display:flex;font-size:13px;font-weight:700;gap:10px;margin-bottom:12px}.deviceBreadcrumb a{color:#1d4ed8;text-decoration:none}.deviceTitleRow{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.deviceTitleRow h1{font-size:30px;line-height:1.1;margin:0}.deviceDetailHeader p{color:#64748b;font-size:14px;margin-top:8px}.deviceHeaderActions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;max-width:620px}.deviceDetailTabs{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;gap:26px;min-height:46px;overflow-x:auto}.deviceDetailTabs button{background:transparent;border:0;border-bottom:2px solid transparent;color:#42526e;cursor:pointer;font-size:14px;font-weight:760;min-height:46px;padding:0 2px;white-space:nowrap}.deviceDetailTabs button.active,.deviceDetailTabs button[aria-selected=true]{border-bottom-color:#059669;color:#071b3a}.deviceAccessLayout,.deviceDiagnosticsLayout,.deviceEventsLayout,.deviceNetworkLayout,.deviceOverviewGrid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(12,minmax(0,1fr))}.deviceDetailPanel,.deviceIdentityCard,.deviceStatusCard{background:#ffffff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 16px 34px rgba(15,23,42,.055)}.deviceStatusCard{display:grid;grid-gap:8px;gap:8px;grid-column:span 3;min-height:112px;padding:18px 20px 18px 64px;position:relative}.deviceStatusCard:before{align-items:center;background:#eef6ff;border-radius:16px;color:#2563eb;content:"";display:flex;height:38px;justify-content:center;left:18px;position:absolute;top:20px;width:38px}.deviceStatusCard.ok:before{background:#dcfce7;box-shadow:inset 0 0 0 12px #16a34a}.deviceStatusCard.warning:before{background:#fef3c7;box-shadow:inset 0 0 0 12px #f59e0b}.deviceStatusCard.danger:before{background:#ffe4e6;box-shadow:inset 0 0 0 12px #ef4444}.deviceStatusCard.neutral:before{background:#e0f2fe;box-shadow:inset 0 0 0 12px #0ea5e9}.deviceStatusCard span{color:#475569;font-size:13px;font-weight:760}.deviceStatusCard strong{color:#061936;font-size:22px;line-height:1.1}.deviceStatusCard small{color:#059669;font-size:12px;font-weight:700}.deviceIdentityCard{gap:11px;grid-column:span 3;padding:28px 18px 18px}.deviceIdentityCard,.deviceMockImage{align-items:center;display:flex;flex-direction:column}.deviceMockImage{background:linear-gradient(180deg,#111827,#273549);border:1px solid #334155;border-radius:10px;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 18px 30px rgba(15,23,42,.18);gap:9px;height:170px;justify-content:center;margin-bottom:4px;width:92px}.deviceMockImage span:first-child{background:#0f172a;border:1px solid #475569;border-radius:999px;height:30px;width:30px}.deviceMockImage span:nth-child(2){background:radial-gradient(circle,#94a3b8 2px,transparent 3px) 0 0 /15px 15px;height:54px;opacity:.8;width:54px}.deviceMockImage strong{color:#ffffff;font-size:12px;letter-spacing:.08em}.deviceIdentityCard h2{font-size:20px;text-align:center}.deviceCenterStack,.deviceSideStack{display:flex;flex-direction:column;gap:16px}.deviceCenterStack{grid-column:span 6}.deviceSideStack{grid-column:span 3}.deviceLiveOverviewPanel,.deviceRecentEvents{grid-column:1/-1}.deviceDetailPanel{padding:18px}.deviceDetailPanelHeader{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.deviceDetailPanelHeader h2{font-size:16px;margin:0}.deviceInfoGrid{display:grid;grid-gap:10px 24px;gap:10px 24px;grid-template-columns:repeat(2,minmax(0,1fr))}.deviceInfoRow{align-items:baseline;border-bottom:1px solid #eef2f7;display:flex;gap:12px;justify-content:space-between;min-height:30px;padding:5px 0}.deviceInfoRow span{color:#64748b;font-size:13px;font-weight:700}.deviceInfoRow strong{color:#10223f;font-size:13px;font-weight:760;max-width:62%;overflow-wrap:anywhere;text-align:right}.deviceLinkedList{display:grid;grid-gap:10px;gap:10px}.deviceLinkedRow{align-items:center;border:1px solid #edf2f7;border-radius:8px;display:flex;gap:12px;justify-content:space-between;padding:10px 12px}.deviceLinkedRow strong{color:#10223f;display:block;font-size:13px}.deviceLinkedRow span{color:#64748b;font-size:12px}.deviceActionGrid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.deviceProgress{display:grid;grid-gap:8px;gap:8px;margin-bottom:14px}.deviceProgress>div:first-child{align-items:center;display:flex;justify-content:space-between}.deviceProgress span{color:#64748b;font-size:13px;font-weight:700}.deviceProgress strong{color:#10223f;font-size:13px}.deviceProgressTrack{background:#eaf0f7;border-radius:999px;height:8px;overflow:hidden}.deviceProgressTrack span{background:linear-gradient(90deg,#059669,#5eead4);border-radius:inherit;display:block;height:100%}.deviceLiveVideo{display:grid;grid-gap:12px;gap:12px}.liveViewport{align-items:center;background:linear-gradient(135deg,rgba(15,23,42,.96),rgba(30,41,59,.94)),repeating-linear-gradient(90deg,rgba(255,255,255,.06) 0 1px,transparent 1px 14px);border:1px solid #1e293b;border-radius:10px;color:#e2e8f0;display:flex;justify-content:center;min-height:360px;overflow:hidden;position:relative}.liveViewport.isPlayable{background:#020617;min-height:0}.liveViewport:after{background:rgba(22,163,74,.9);border-radius:999px;content:"";height:9px;position:absolute;right:14px;top:14px;width:9px}.liveViewport.isPlayable:after{display:none}.liveVideoSurface{align-items:center;aspect-ratio:16/9;background:#020617;display:flex;height:auto;justify-content:center;max-height:min(72vh,760px);min-height:0;position:relative;width:100%}.liveViewport iframe,.liveViewport img,.liveViewport video{background:#020617;border:0;height:100%;min-height:0;object-fit:contain;width:100%}.liveVideoSurface.fit-contain iframe,.liveVideoSurface.fit-contain img,.liveVideoSurface.fit-contain video{object-fit:contain}.webrtcPlayerFrame{display:block}.liveVideoSurface.isLiveMode video{cursor:default;pointer-events:auto}.liveHud{align-items:center;background:rgba(2,6,23,.72);border:1px solid rgba(226,232,240,.18);border-radius:999px;color:#f8fafc;display:inline-flex;font-size:11px;font-weight:900;gap:7px;letter-spacing:.04em;padding:6px 10px;position:absolute;right:12px;top:12px;z-index:2}.liveHud span{background:#22c55e;border-radius:999px;box-shadow:0 0 0 4px rgba(34,197,94,.18);height:8px;width:8px}.liveFrameMeta{background:rgba(15,23,42,.72);border:1px solid rgba(226,232,240,.18);border-radius:999px;bottom:12px;color:#e2e8f0;font-size:12px;font-weight:800;left:12px;padding:6px 10px;position:absolute}.liveFrameMeta.warning{background:rgba(146,64,14,.82);border-color:rgba(253,230,138,.4)}.livePlaceholder{display:grid;grid-gap:8px;gap:8px;max-width:420px;padding:20px;text-align:center}.livePlaceholder strong{color:#f8fafc;font-size:15px}.livePlaceholder span{color:#cbd5e1;font-size:12px;line-height:1.45}.liveControls{display:flex;flex-wrap:wrap;gap:8px}.localCameraCredentialBox{align-items:end;background:#f8fbff;border:1px solid #d9e7f5;border-radius:9px;display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(220px,1.35fr) minmax(120px,.7fr) minmax(150px,.9fr) auto;padding:12px}.localCameraCredentialBox>div{display:grid;grid-gap:4px;gap:4px}.localCameraCredentialBox strong{color:#10223f;font-size:13px}.localCameraCredentialBox span{color:#64748b;font-size:12px;line-height:1.4}.localCameraCredentialBox label{margin:0}.checkboxLine.compact{align-items:center;align-self:center;font-size:12px;margin:0;white-space:nowrap}.liveTuningBar{align-items:flex-end;display:flex;flex-wrap:wrap;gap:10px}.liveAdvancedSettings{border:1px solid #e2e8f0;border-radius:9px;background:#f8fafc;padding:0}.liveAdvancedSettings summary{color:#42526e;cursor:pointer;font-size:12px;font-weight:850;list-style:none;padding:10px 12px}.liveAdvancedSettings summary::-webkit-details-marker{display:none}.liveAdvancedSettings summary:after{content:"▾";float:right}.liveAdvancedSettings[open] summary:after{content:"▴"}.liveAdvancedSettings .liveTuningBar{border-top:1px solid #e2e8f0;padding:12px}.liveTuningBar label{display:grid;grid-gap:5px;gap:5px;min-width:220px}.liveTuningBar label span{color:#42526e;font-size:12px;font-weight:800}.liveTuningBar select{background:#ffffff;border:1px solid #cbd5e1;border-radius:8px;color:#10223f;font-size:13px;font-weight:760;min-height:38px;padding:8px 10px}.liveAdvancedHint{color:#64748b;font-size:12px;font-weight:700;line-height:1.35;max-width:360px}.liveTheaterOverlay{background:rgba(2,6,23,.88);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;inset:0;padding:18px;position:fixed;z-index:1200}.liveTheaterShell{background:#020617;border:1px solid rgba(148,163,184,.35);border-radius:14px;box-shadow:0 28px 80px rgba(0,0,0,.45);display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:0;overflow:hidden}.liveTheaterFooter,.liveTheaterHeader{align-items:center;display:flex;gap:14px;justify-content:space-between;padding:14px 18px}.liveTheaterHeader{border-bottom:1px solid rgba(148,163,184,.24)}.liveTheaterHeader div:first-child{display:grid;grid-gap:3px;gap:3px}.liveTheaterFooter span,.liveTheaterHeader span{color:#94a3b8;font-size:12px;font-weight:800}.liveTheaterHeader strong{color:#f8fafc;font-size:16px}.liveTheaterActions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.liveTheaterBody{align-items:center;display:flex;justify-content:center;min-height:0;padding:0}.liveTheaterBody .liveViewport{border:0;border-radius:0;height:100%;min-height:0;width:100%}.liveTheaterBody .liveVideoSurface{aspect-ratio:auto!important;height:100%;max-height:none;width:100%}.liveTheaterBody .liveViewport video{height:100%;object-fit:contain;width:100%}.liveTheaterFooter{border-top:1px solid rgba(148,163,184,.24)}.liveDescriptorGrid{display:grid;grid-gap:8px 16px;gap:8px 16px;grid-template-columns:repeat(2,minmax(0,1fr))}.rtspCandidateList{display:grid;grid-gap:6px;gap:6px}.rtspCandidateList span{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#334155;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;overflow-wrap:anywhere;padding:8px 10px}.deviceDiagnosticsLayout .deviceDetailPanel:first-child,.deviceDiagnosticsLayout .deviceDetailPanel:nth-child(2),.deviceNetworkLayout .deviceDetailPanel:first-child,.deviceNetworkLayout .deviceDetailPanel:nth-child(2){grid-column:span 8}.deviceDiagnosticsLayout .deviceDetailPanel:nth-child(3),.deviceDiagnosticsLayout .deviceDetailPanel:nth-child(4),.deviceNetworkLayout .deviceDetailPanel:nth-child(3){grid-column:span 4}.deviceNetworkSettingsCard,.deviceSettingsLayout{grid-column:1/-1}.deviceNetworkSettingsCard>.panel,.deviceSettingsLayout>.panel{border:0;box-shadow:none;padding:0}.deviceNetworkSettingsCard>.panel>.panelHeader,.deviceSettingsLayout>.panel>.panelHeader{display:none}.deviceNetworkSettingsCard .formPanel,.deviceSettingsLayout .formPanel{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.deviceNetworkSettingsCard .formPanel button,.deviceSettingsLayout .formPanel button{align-self:end}.deviceFormGrid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.deviceReadonlyField{display:grid;grid-gap:7px;gap:7px}.deviceReadonlyField span{color:#42526e;font-size:12px;font-weight:760}.deviceEventToolbar input,.deviceEventToolbar select,.deviceReadonlyField input{background:#ffffff;border:1px solid #d6e0ec;border-radius:8px;color:#10223f;font-size:13px;min-height:38px;padding:8px 11px}.deviceEventsLayout{align-items:start}.deviceEventStats{display:contents}.deviceEventTablePanel{grid-column:span 9}.deviceEventInspector{grid-column:span 3;min-height:460px}.deviceEventInspector h3{color:#10223f;font-size:18px;margin:12px 0}.deviceEventToolbar{display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(240px,1fr) 180px 180px;margin-bottom:14px}.deviceAccessLayout .deviceDetailPanel:first-child,.deviceDiagnosticsLayout .deviceDetailPanel:nth-child(2){grid-column:span 8}.deviceAccessLayout .deviceDetailPanel:not(:first-child){grid-column:span 4}.deviceDoorCards{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.deviceDoorCard{border:1px solid #e2e8f0;border-radius:9px;display:grid;grid-gap:8px;gap:8px;min-height:120px;padding:14px}.deviceDoorCard strong{color:#10223f}.deviceDoorCard span{color:#64748b;font-size:12px}.deviceMiniTableWrap{overflow-x:auto}.deviceMiniTable{border-collapse:collapse;min-width:100%;width:100%}.deviceMiniTable td,.deviceMiniTable th{border-bottom:1px solid #e9eef5;color:#233755;font-size:13px;padding:11px 12px;text-align:left;vertical-align:top}.deviceMiniTable th{background:#f8fafc;color:#526178;font-size:11px;font-weight:820;text-transform:uppercase}.deviceMiniTable tr:hover td{background:#f8fbff}.deviceEmptyText{color:#64748b;display:block;font-size:13px;padding:12px 0}@media (max-width:1280px){.deviceAccessLayout .deviceDetailPanel,.deviceAccessLayout .deviceDetailPanel:first-child,.deviceCenterStack,.deviceDiagnosticsLayout .deviceDetailPanel,.deviceEventInspector,.deviceEventTablePanel,.deviceIdentityCard,.deviceNetworkLayout .deviceDetailPanel,.deviceSideStack,.deviceStatusCard{grid-column:1/-1}.deviceFormGrid,.deviceNetworkSettingsCard .formPanel,.deviceSettingsLayout .formPanel{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.deviceDetailHeader{flex-direction:column}.deviceActionGrid,.deviceDoorCards,.deviceEventToolbar,.deviceFormGrid,.deviceHeaderActions,.deviceInfoGrid,.deviceNetworkSettingsCard .formPanel,.deviceSettingsLayout .formPanel{grid-template-columns:1fr;width:100%}.deviceHeaderActions{justify-content:stretch}.deviceHeaderActions .dangerButton,.deviceHeaderActions .ghostButton{flex:1 1 100%}.deviceTitleRow h1{font-size:24px}}.deviceKindCards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:10px;gap:10px;margin-bottom:14px}.deviceKindCard{min-height:86px;border:1px solid var(--line);background:#fff;border-radius:8px;padding:14px;text-align:left;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.deviceKindCard.active,.deviceKindCard:hover{border-color:var(--accent);background:#eefdfa;transform:translateY(-1px)}.deviceKindCard span,.deviceKindCard strong{display:block}.deviceKindCard strong{color:var(--text);font-size:15px;margin-bottom:8px}.deviceKindCard span{color:var(--muted);font-size:12px;line-height:1.35}.localCameraGrid{grid-template-columns:minmax(0,1.45fr) minmax(360px,.75fr);align-items:start}.localCameraAside,.localCameraGrid,.localCameraMain{display:grid;grid-gap:14px;gap:14px}.deviceAddFields.three{grid-template-columns:repeat(3,minmax(0,1fr))}.checkboxLine{display:flex!important;align-items:center;gap:8px;justify-content:flex-start;min-height:54px}.checkboxLine input{width:auto}.localDiscoveryList,.networkInterfaceList{display:grid;grid-gap:8px;gap:8px;margin:12px 0}.networkInterfaceList{grid-template-columns:repeat(2,minmax(0,1fr))}.localDiscoveryItem,.networkInterfaceCard{border:1px solid var(--line);border-radius:8px;background:#fff;padding:12px;text-align:left;cursor:pointer}.localDiscoveryItem:hover,.networkInterfaceCard.selected{border-color:var(--accent);background:#f0fdfa}.networkInterfaceCard.routeHint{border-color:#0f766e;background:linear-gradient(180deg,#ecfeff,#ffffff)}.networkInterfaceCard.routeHint strong:after{content:" рекомендовано";color:#0f766e;font-size:10px;font-weight:800;letter-spacing:.04em;margin-left:6px;text-transform:uppercase}.localDiscoveryItem span,.localDiscoveryItem strong,.networkInterfaceCard small,.networkInterfaceCard span,.networkInterfaceCard strong{display:block}.localDiscoveryItem span,.networkInterfaceCard span{color:var(--muted);font-size:12px;margin-top:4px}.networkInterfaceCard small{color:#64748b;font-size:11px;margin-top:6px}.localDiscoveryItem{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px}.localDiscoveryItem.alreadyAdded{opacity:.65}.localCameraPlaceholder,.localCameraPreviewCard,.localCameraStatusCard{border:1px solid var(--line);background:#fff;border-radius:8px;padding:16px}.localCameraPlaceholder{min-height:240px;display:grid;align-content:center;justify-items:start;grid-gap:12px;gap:12px}.localCameraViewport{border:1px solid #dbe4ef;background:#020617;border-radius:8px;min-height:250px;display:grid;place-items:center;overflow:hidden}.localCameraViewport img{width:100%;height:100%;max-height:420px;object-fit:contain}.localCameraPreviewCard>small{display:block;color:var(--muted);font-size:12px;margin-top:8px;overflow-wrap:anywhere}.cameraCheckGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;margin-bottom:12px}.cameraCheck{border:1px solid var(--line);background:#f8fafc;border-radius:8px;padding:10px;display:flex;gap:8px;align-items:center}.cameraCheck span{width:22px;height:22px;border-radius:50%;display:inline-grid;place-items:center;background:#e2e8f0;color:#475569;font-weight:800;flex:0 0 auto}.cameraCheck.ok{border-color:#99f6e4;background:#ecfdf5}.cameraCheck.ok span{background:#14b8a6;color:#fff}.cameraCheck.bad{border-color:#fecdd3;background:#fff1f2}.cameraCheck.bad span{background:#e11d48;color:#fff}@media (max-width:1100px){.agentPairingCard,.deviceAddFields.three,.deviceAddGrid,.deviceKindCards,.localCameraGrid,.networkInterfaceList,.scanActionRow{grid-template-columns:1fr}.deviceAddAside{position:static}}@media (max-width:640px){.deviceAddFlow{max-width:100%;overflow-x:hidden}.deviceAddStepper{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.deviceAddStep:not(:last-child):after{display:none}.deviceAddStep strong{overflow-wrap:anywhere}.deviceAddSection,.devicePreviewCard,.deviceTipsCard{padding:14px}.devicePreviewCard dl{grid-template-columns:1fr}.devicePreviewCard dd{overflow-wrap:anywhere;text-align:left;white-space:normal}}.residentsPanel{align-items:start;grid-template-areas:"header header header" "filter list detail";grid-template-columns:minmax(220px,280px) minmax(520px,1fr) minmax(280px,340px);grid-template-rows:auto auto;overflow:visible}.residentsPanel>.panelHeader{grid-area:header}.residentsPanel .residentAccessFilterOnly,.residentsPanel .residentTreeSelector{grid-area:filter}.residentListPanel{align-self:start;display:grid;grid-gap:0;gap:0;grid-area:list;min-width:0}.residentsPanel .residentToolbar{margin:0}.residentListPanel .residentsTableWrap,.residentListPanel>.stateBlock,.residentsPanel .residentToolbar{align-self:start;grid-area:auto;grid-column:auto;grid-row:auto}.residentsPanel .residentDetailPanel{align-self:start;grid-area:detail;min-height:0}.residentDetailPanel{min-height:0}.residentAccessFilter button{position:relative}.residentAccessFilter button.accessNode:before,.residentAccessFilter button.folderNode:before{border-left:1px dotted #cbd5e1;content:"";height:100%;left:calc(8px + (var(--tree-depth, 0) * 18px));position:absolute;top:-50%}.residentAccessFilter button.accessNode:after,.residentAccessFilter button.folderNode:after{border-top:1px dotted #cbd5e1;content:"";left:calc(8px + (var(--tree-depth, 0) * 18px));position:absolute;top:50%;width:14px}.residentAccessFilter button[style*="--tree-depth: 0"]:after,.residentAccessFilter button[style*="--tree-depth: 0"]:before{display:none}.deviceAddFields.two{align-items:start;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.deviceAddFields.two>.accessTreeSelector{grid-column:1/-1}.deviceAddFields.two>.accessTreeSelector .accessTreeSelectorList{max-height:260px}@media (max-width:1380px){.residentsPanel{grid-template-columns:minmax(210px,260px) minmax(420px,1fr) minmax(260px,320px)}}@media (max-width:1180px){.residentsPanel{grid-template-areas:"header" "filter" "list" "detail";grid-template-columns:minmax(0,1fr)}.residentsPanel .residentAccessFilterOnly,.residentsPanel .residentTreeSelector{border-right:0;border-bottom:1px solid #e7edf5;max-height:340px}.residentsPanel .residentDetailPanel{border-left:0;border-top:1px solid #e7edf5}}@media (max-width:720px){.deviceAddFields.two,.residentToolbar{grid-template-columns:1fr}}