.owner-object-picker{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.owner-object-picker label{font-size:13px}.owner-object-picker select{min-width:0;max-width:100%;padding:8px 12px;border:1px solid #d5e3f4;border-radius:12px;color:#223759;background:#f9fcff}.owner-dashboard-layout{container-type:inline-size}.owner-dashboard-layout .owner-dashboard-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;align-items:start}.owner-dashboard-layout .owner-dashboard-grid>.owner-widget{grid-column:1 / -1;box-sizing:border-box;min-width:0;padding:20px 24px;border-radius:24px}.owner-dashboard-layout .owner-widget-header{flex-wrap:wrap;align-items:center;gap:12px}.owner-dashboard-layout .owner-widget-title{gap:10px;min-width:0;flex:0 1 auto}.owner-dashboard-layout .owner-widget-header h2{font-size:18px;line-height:1.25}.owner-dashboard-layout .owner-widget-title-icon{width:36px;height:36px;border-radius:11px}.owner-dashboard-layout .owner-widget-title-icon svg{width:23px;height:23px}.owner-dashboard-layout .owner-widget-info{flex-shrink:0;width:21px;height:21px;font-size:12px}.owner-dashboard-layout .owner-widget-period{padding:8px 10px;border-radius:12px;font-size:12px}.owner-dashboard-layout .owner-service-table{overflow-x:auto}.owner-dashboard-layout .owner-service-table-head,.owner-dashboard-layout .owner-service-row{min-width:740px;font-size:11px}.owner-dashboard-layout .owner-service-stage small,.owner-dashboard-layout .owner-health-device-copy b,.owner-dashboard-layout .owner-health-device small,.owner-dashboard-layout .owner-attention-summary small,.owner-dashboard-layout .owner-attention-copy strong,.owner-dashboard-layout .owner-attention-copy small,.owner-dashboard-layout .owner-attention-badge,.owner-dashboard-layout .owner-attention-row time{font-size:11px}@container (min-width: 1300px){.owner-dashboard-layout .owner-dashboard-grid>.owner-availability-widget,.owner-dashboard-layout .owner-dashboard-grid>.owner-object-status-widget,.owner-dashboard-layout .owner-dashboard-grid>.owner-open-incidents-widget,.owner-dashboard-layout .owner-dashboard-grid>.owner-availability-trend-widget{grid-column:span 6}}@container (min-width: 960px){.owner-business-dashboard .owner-dashboard-grid>.owner-business-card{grid-column:span 6}}@container (max-width: 600px){.owner-dashboard-layout .owner-dashboard-grid{gap:14px}.owner-dashboard-layout .owner-dashboard-grid>.owner-widget{padding:16px;border-radius:20px}.owner-dashboard-layout .owner-widget-header{align-items:flex-start}.owner-dashboard-layout .owner-widget-header h2{font-size:17px}.owner-dashboard-layout .owner-widget-info{display:none}.owner-dashboard-layout .owner-availability-main,.owner-dashboard-layout .owner-availability-kpis{grid-template-columns:1fr}.owner-dashboard-layout .owner-object-card-layout{grid-template-columns:1fr;gap:16px}.owner-dashboard-layout .owner-object-category{grid-template-columns:34px minmax(0,1fr) 52px minmax(60px,1fr)}.owner-dashboard-layout .owner-object-category-percent{display:none}.owner-dashboard-layout .owner-incidents-main,.owner-dashboard-layout .owner-incident-metrics{grid-template-columns:1fr}.owner-dashboard-layout .owner-incident-priority{grid-template-columns:30px minmax(0,1fr) 30px 34px 8px}.owner-dashboard-layout .owner-trend-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-dashboard-layout .owner-health-map{grid-template-columns:1fr}.owner-dashboard-layout .owner-health-scene,.owner-dashboard-layout .owner-health-device:after{display:none}.owner-dashboard-layout .owner-attention-layout{grid-template-columns:1fr}.owner-dashboard-layout .owner-attention-priorities{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-dashboard-layout .owner-attention-row{grid-template-columns:44px minmax(0,1fr) auto;gap:8px}.owner-dashboard-layout .owner-attention-device{width:44px}.owner-dashboard-layout .owner-attention-row time{grid-column:2}.owner-dashboard-layout .owner-attention-row>i:last-child{grid-column:3}.owner-dashboard-layout .owner-attention-badge{white-space:normal;max-width:92px}.owner-dashboard-layout .owner-service-stages{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.owner-dashboard-layout .owner-service-stage-arrow{display:none}}.owner-problem-devices-widget .owner-problem-title-icon{color:#ef5356;background:linear-gradient(145deg,#ffefee,#ffe0de)}.owner-problem-count{flex:0 0 auto;border-radius:12px;padding:6px 12px;color:#d83d46;background:#ffe9e9;font-weight:700}.owner-problem-list{margin-top:18px}.owner-problem-row{display:grid;grid-template-columns:92px minmax(0,1fr) auto 10px;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid #dce7f4;color:inherit;text-decoration:none}.owner-problem-row:hover{background:#edf5ff}.owner-problem-row:focus-visible{outline:2px solid #267de5;outline-offset:2px;border-radius:8px}.owner-problem-preview{position:relative;width:92px;height:68px;overflow:hidden;border-radius:12px;background:#eaf0f7;display:grid;place-items:center}.owner-problem-preview img{width:100%;height:100%;object-fit:cover}.owner-problem-no-photo{display:grid;justify-items:center;gap:3px;color:#7386a5}.owner-problem-no-photo svg{width:26px;fill:none;stroke:currentColor;stroke-width:1.5}.owner-problem-stale{position:absolute;bottom:0;width:100%;padding:3px 0;text-align:center;background:#fff0cb;color:#805b16;font-size:10px;font-weight:600}.owner-problem-loading{font-size:10px;text-align:center;color:#7386a5}.owner-problem-copy{display:grid;gap:5px;min-width:0;overflow-wrap:anywhere}.owner-problem-copy strong{display:flex;align-items:center;gap:6px;font-size:.87rem}.owner-problem-copy strong svg{flex:0 0 auto}.owner-problem-copy small,.owner-problem-duration small{color:#7282a0;font-size:.7rem}.owner-problem-issue{font-size:.75rem;color:#c13845}.owner-problem-issue--history,.owner-problem-issue--vendor{color:#a36a19}.owner-problem-duration{display:grid;gap:5px;text-align:right;max-width:105px}.owner-problem-duration b{font-size:.8rem}.owner-problem-arrow{color:#8095b5;font-size:24px}.owner-problem-message{margin:18px 0;color:#7282a0;font-size:.85rem}.owner-problem-all-link{display:flex;width:fit-content;margin:16px 0 0 auto;font-size:.78rem}@container (max-width: 430px){.owner-problem-row{grid-template-columns:72px minmax(0,1fr) 10px;gap:10px}.owner-problem-preview{width:72px;height:64px}.owner-problem-copy{grid-column:2;grid-row:1}.owner-problem-preview{grid-column:1;grid-row:1 / span 2}.owner-problem-duration{grid-column:2;grid-row:2;text-align:left;max-width:none;display:flex;align-items:center;gap:8px}.owner-problem-arrow{grid-column:3;grid-row:1 / span 2}.owner-problem-devices-widget .owner-widget-title h2{font-size:1.05rem}}.owner-checks-period-widget{grid-column:1 / -1}.owner-checks-period-widget .owner-widget-header{flex-wrap:wrap}.owner-checks-periods{display:flex;gap:2px;padding:3px;border-radius:12px;background:#eef5fe;border:1px solid #d8e8fc}.owner-checks-periods button{border:0;background:transparent;color:#223759;border-radius:8px;padding:8px 11px;font-size:12px;cursor:pointer}.owner-checks-periods button[aria-pressed=true]{background:#1685ed;color:#fff}.owner-checks-subtitle{margin:8px 0 12px;color:#7183a4;font-size:12px}.owner-checks-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.owner-checks-metric{min-width:0;display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid #e1edf9;border-radius:15px;background:#f9fcff}.owner-checks-metric strong{display:block;font-size:22px;font-variant-numeric:tabular-nums}.owner-checks-period-widget small{display:block;margin-top:4px;color:#7081a1;font-size:11px}.owner-checks-metric-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;flex-shrink:0;color:#1685ed;background:#e1efff}.owner-checks-metric-icon svg{width:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.owner-checks-metric--check .owner-checks-metric-icon{color:#09ad70;background:#dcf8ec}.owner-checks-metric--alert .owner-checks-metric-icon{color:#ed4c55;background:#ffe3e7}.owner-checks-main{display:grid;grid-template-columns:138px minmax(0,1fr);gap:24px;align-items:center;margin:14px 0 12px}.owner-checks-share{display:grid;justify-items:center;gap:12px;color:#607595;font-size:12px;text-align:center}.owner-checks-ring{width:124px;height:124px;border-radius:50%;display:grid;place-items:center}.owner-checks-ring>div{width:100px;height:100px;border-radius:50%;display:grid;align-content:center;justify-items:center;background:#f7fbff}.owner-checks-ring strong{font-size:24px;color:#0c153d}.owner-checks-chart{min-width:0}.owner-checks-chart-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.owner-checks-chart h3{margin:0;font-size:13px}.owner-checks-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:11px;color:#617694}.owner-checks-legend span{display:flex;align-items:center;gap:5px}.owner-checks-legend i{width:8px;height:8px;border-radius:50%}.owner-checks-dot--ok{background:#08ba7d}.owner-checks-dot--fail{background:#ee5962}.owner-checks-plot{display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px;margin:10px 0 8px}.owner-checks-axis{display:flex;flex-direction:column;justify-content:space-between;height:86px;color:#7183a4;font-size:11px;text-align:right}.owner-checks-bars{display:flex;align-items:end;gap:10px;height:108px;box-sizing:border-box;padding-bottom:22px;border-bottom:1px solid #d9e5f3;background:repeating-linear-gradient(to top,transparent 0 28px,#e7eff9 28px 29px)}.owner-checks-bar-button{position:relative;display:flex;flex-direction:column;justify-content:end;flex:1;min-width:0;padding:0;background:transparent;border:0;height:100%;cursor:pointer}.owner-checks-bar-button:disabled{cursor:default;opacity:.5}.owner-checks-bar-button[aria-pressed=true]{outline:2px solid #1685ed;outline-offset:3px;border-radius:5px}.owner-checks-bar{width:100%;display:flex;flex-direction:column;overflow:hidden;border-radius:5px 5px 0 0}.owner-checks-failed{background:#ee5962;flex-shrink:0}.owner-checks-successful{background:linear-gradient(#74dfbc,#08ba7d);flex:1}.owner-checks-bar-button>small{position:absolute;bottom:-21px;width:100%;text-align:center;white-space:nowrap}.owner-checks-detail{min-height:16px;color:#6a7f9f;font-size:11px}.owner-checks-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;border-top:1px solid #dfebf8;padding-top:10px;color:#7183a4;font-size:11px}.owner-checks-message{min-height:150px;display:grid;align-content:center;color:#7183a4;font-size:13px}@container (max-width: 450px){.owner-checks-metric{flex-direction:column;align-items:flex-start;padding:10px 7px}.owner-checks-metric strong{font-size:18px}.owner-checks-main{grid-template-columns:104px minmax(0,1fr);gap:14px}.owner-checks-ring{width:104px;height:104px}.owner-checks-ring>div{width:84px;height:84px}.owner-checks-ring strong{font-size:20px}.owner-checks-bars{gap:5px}}@container (max-width: 340px){.owner-checks-main{grid-template-columns:1fr}.owner-checks-share{grid-template-columns:104px 1fr;align-items:center;justify-items:start;text-align:left}.owner-checks-plot{grid-template-columns:32px minmax(0,1fr);gap:6px}.owner-checks-bar-button>small{font-size:11px}}.owner-service-activity-widget{grid-column:1 / -1}.owner-service-activity-widget .owner-widget-header{flex-wrap:wrap}.owner-activity-periods{display:flex;gap:2px;padding:3px;border-radius:12px;background:#eef5fe;border:1px solid #d8e8fc}.owner-activity-periods button{border:0;background:transparent;color:#223759;border-radius:8px;padding:8px 10px;font-size:12px;cursor:pointer}.owner-activity-periods button[aria-pressed=true]{background:#1685ed;color:#fff}.owner-activity-subtitle{margin:6px 0 10px;color:#7183a4;font-size:12px}.owner-activity-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.owner-activity-metrics>div{min-width:0;display:flex;align-items:center;gap:9px;padding:8px 12px;border:1px solid #e1edf9;border-radius:15px;background:#f9fcff}.owner-activity-metrics strong{display:block;font-size:22px;font-variant-numeric:tabular-nums}.owner-service-activity-widget small{display:block;margin-top:4px;color:#7081a1;font-size:11px}.owner-activity-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;flex-shrink:0;color:#7165dc;background:#ece9ff}.owner-activity-icon--created,.owner-activity-icon--updated{color:#1685ed;background:#e1efff}.owner-activity-icon--completed{color:#09ad70;background:#dcf8ec}.owner-activity-icon svg{width:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.owner-activity-list-head{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center;margin:12px 0 4px}.owner-activity-list-head h3{margin:0;font-size:13px}.owner-activity-list-head>span{font-size:11px;color:#7183a4}.owner-activity-row{width:100%;text-align:left;border:0;border-bottom:1px solid #e2edf8;background:transparent;padding:5px 0;display:grid;grid-template-columns:108px 24px minmax(0,1fr) 120px 12px;gap:8px;align-items:center;color:#223759;font-size:12px;cursor:pointer}.owner-activity-row time{color:#7183a4;font-size:11px;font-variant-numeric:tabular-nums}.owner-activity-row strong{font-weight:600}.owner-activity-row>span:nth-child(3){display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.owner-activity-row small{margin:0}.owner-activity-row .owner-activity-icon{width:24px;height:24px;border-radius:8px}.owner-activity-row .owner-activity-icon svg{width:16px}.owner-activity-person{color:#617694;overflow-wrap:anywhere}.owner-activity-row[aria-pressed=true]{background:#eaf4ff}.owner-activity-detail{margin:7px 0 8px;font-size:11px;color:#617694;min-height:16px}.owner-activity-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;border-top:1px solid #dfebf8;padding-top:10px;color:#7183a4;font-size:11px}.owner-activity-message{min-height:170px;display:grid;align-content:center;color:#7183a4;font-size:13px}@container (max-width: 520px){.owner-activity-row{grid-template-columns:100px 24px minmax(0,1fr) 12px}.owner-activity-person{grid-column:3;grid-row:2;font-size:11px}.owner-activity-metrics>div{padding:10px 7px;flex-direction:column;align-items:flex-start}}@container (max-width: 340px){.owner-activity-row{grid-template-columns:24px minmax(0,1fr) 12px}.owner-activity-row time{grid-column:1 / -1}.owner-activity-person{grid-column:2;grid-row:auto}}.owner-service-tasks-widget button.owner-service-stage{font:inherit;text-align:left;cursor:pointer}.owner-service-tasks-widget button.owner-service-stage[aria-pressed=true]{outline:2px solid #2286df;outline-offset:2px}.owner-service-tasks-widget .owner-service-status--unknown{background:#e8edf4;color:#71819b}.owner-service-tasks-widget .owner-service-row--readonly:hover{background:transparent}.owner-attention-widget button.owner-attention-summary{font:inherit;text-align:left;cursor:pointer}.owner-attention-widget button.owner-attention-summary[aria-pressed=true]{outline:2px solid #2286df;outline-offset:2px}.owner-device-health-map-widget .owner-health-device-state--unknown{background:#8b9bb0}.owner-device-health-map-widget .owner-health-detail{grid-column:2 / 4;color:#66758d;font-size:11px;line-height:1.35}.owner-device-health-map-widget .owner-health-device--unknown>small{color:#66758d}.owner-device-health-map-widget .owner-health-device--offline>small{color:#d44b50}.owner-reports-widget{grid-column:1 / -1}.owner-reports-subtitle{margin:6px 0 10px;color:#7183a4;font-size:12px}.owner-reports-demo{font-size:11px;color:#7183a4}.owner-reports-row{display:grid;grid-template-columns:38px minmax(0,1fr) 130px 84px 16px;gap:12px;align-items:center;width:100%;padding:10px 0;border:0;border-bottom:1px solid #e2edf8;text-align:left;background:transparent;color:#223759;font:inherit;font-size:12px;cursor:pointer}.owner-reports-row[aria-pressed=true]{background:#eaf4ff}.owner-reports-file{display:grid;justify-items:center;gap:1px;color:#1685ed}.owner-reports-file svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}.owner-reports-widget small{display:block;font-size:11px;color:#7081a1}.owner-reports-file small{color:#1685ed}.owner-reports-name{min-width:0;overflow-wrap:anywhere}.owner-reports-name strong{font-weight:600}.owner-reports-name small{margin-top:4px}.owner-reports-status{justify-self:start;padding:4px 8px;border-radius:8px;background:#dcf8ec;color:#078252;font-size:11px}.owner-reports-status--running{background:#fff0d9;color:#9b6510}.owner-reports-status--failed{background:#ffe3e7;color:#b32d38}.owner-reports-row time{color:#7183a4;font-size:11px;font-variant-numeric:tabular-nums}.owner-reports-detail{margin:9px 0;font-size:11px;color:#617694;min-height:16px}.owner-reports-footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:10px;border-top:1px solid #dfebf8;font-size:11px;color:#7183a4}.owner-reports-message{min-height:150px;display:grid;align-content:center;color:#7183a4;font-size:13px}@container (max-width: 520px){.owner-reports-row{grid-template-columns:32px minmax(0,1fr) 16px;gap:8px}.owner-reports-status{grid-column:2}.owner-reports-row time{grid-column:2}.owner-reports-row>span:last-child{grid-column:3;grid-row:1}}.owner-reports-form{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin:12px 0}.owner-reports-form label{min-width:0;display:grid;gap:5px;font-size:12px;color:#617694}.owner-reports-form input{box-sizing:border-box;width:100%;max-width:100%;border:1px solid #dfebf8;border-radius:8px;padding:8px;background:#fff;color:#223759;min-width:0}.owner-reports-form button,.owner-reports-download{padding:9px 12px;border:1px solid #1685ed;border-radius:8px;color:#1685ed;background:#eaf4ff;cursor:pointer}.owner-reports-form button:disabled,.owner-reports-download:disabled{opacity:.6;cursor:wait}@container (max-width: 480px){.owner-reports-form label{flex:1;min-width:125px}}.owner-business-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;color:#7183a4;font-size:13px}.owner-business-toolbar>div{display:flex;padding:3px;gap:2px;border-radius:12px;background:#eef5fe}.owner-business-toolbar button{border:0;border-radius:8px;background:transparent;color:#223759;padding:8px 12px;cursor:pointer}.owner-business-toolbar button[aria-pressed=true]{background:#1685ed;color:#fff}.owner-business-message{font-size:13px;color:#7183a4}.owner-business-dashboard .owner-business-message,.owner-widget .owner-business-message[role]{min-height:150px;display:grid;align-content:center}.owner-business-availability{display:grid;justify-items:center;gap:12px;padding-top:14px}.owner-business-counts{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;font-size:12px;color:#617694}.owner-business-counts strong{display:block;font-size:20px;color:#223759}.owner-business-card small{color:#7183a4;font-size:11px}.owner-business-objects{margin-top:12px}.owner-business-object{display:grid;grid-template-columns:minmax(0,1fr) auto 12px;gap:7px 10px;align-items:center;padding:12px 0;border-bottom:1px solid #dfebf8;color:#223759;text-decoration:none}.owner-business-object strong{overflow-wrap:anywhere;font-size:13px}.owner-business-object small{grid-column:1 / 3}.owner-business-object>span:last-child{grid-column:3;grid-row:1 / 3}.owner-business-status{color:#7081a1;font-size:11px}.owner-business-status--healthy{color:#078252}.owner-business-status--problem{color:#b32d38}.owner-business-total{display:block;margin-top:18px;font-size:38px;color:#223759}.owner-business-subtitle{margin:5px 0 14px;font-size:12px;color:#617694}.owner-business-incident{display:flex;justify-content:space-between;gap:10px;padding:10px 0;color:#223759;border-bottom:1px solid #dfebf8;text-decoration:none;font-size:13px}.owner-business-chart{margin-top:14px}.owner-business-chart svg{width:100%;height:auto;display:block}.owner-business-chart line{stroke:#dfebf8}.owner-business-chart text{fill:#7183a4;font-size:12px}@container (max-width: 340px){.owner-business-object{grid-template-columns:minmax(0,1fr) 12px}.owner-business-status,.owner-business-object small{grid-column:1}.owner-business-object>span:last-child{grid-column:2}}.agent-connect-modal{max-width:560px;width:95%}.agent-connect-modal h2{margin:0;font-size:1.15rem}.agent-platforms{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.agent-platforms legend{margin-bottom:10px}.agent-connect-modal .agent-platforms label{display:flex;flex-direction:row;align-items:flex-start;gap:10px;padding:16px;border:1px solid var(--border);border-radius:12px;cursor:pointer}.agent-platforms label.selected{border-color:var(--accent, #60a5fa);background:#60a5fa14}.agent-platforms input{margin:4px 0 0}.agent-platforms label>span{display:grid;gap:6px}.agent-platforms .muted{font-size:.85rem}.agent-connect-modal textarea{display:block;width:100%;margin-top:8px;resize:vertical}.agent-connect-steps{padding-left:24px;margin:0}.agent-connect-steps li+li{margin-top:10px}.agent-extra-install{padding-top:16px;border-top:1px solid var(--border)}.agent-extra-install summary,.agent-pending-keys summary,.agent-row-actions summary{cursor:pointer}.agent-pending-keys summary{font-weight:600}.agent-row-actions .btn{margin-top:8px}@media (max-width: 520px){.agent-platforms{grid-template-columns:1fr}}.agent-platforms strong{color:var(--text)}.port-socket-art{display:block;width:100%;height:auto;flex:none}.switch-chassis.switch-chassis--face.port-review-chassis{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:22px;flex-wrap:nowrap;overflow-x:auto;padding:18px 16px 14px}.port-review-group{display:flex;flex-direction:column;gap:8px;flex:none}.port-review-sfp{border-left:1px solid #46515c;padding-left:20px}.port-review-chassis .switch-port-row{display:flex;flex-wrap:nowrap;gap:5px;margin:0}.port-review-chassis .switch-port--socket{box-sizing:border-box;width:54px;height:66px;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:3px 2px 15px;background:transparent;border:1px solid transparent;border-radius:4px;box-shadow:none;flex:none}.port-review-chassis .switch-port--socket.has-link{box-shadow:none;border-color:transparent}.port-review-chassis .switch-port--socket.is-selected{background:#3b82f626;border-color:#60a5fa;outline:2px solid #60a5fa;outline-offset:1px}.port-review-chassis .switch-port--socket .switch-port-num{bottom:0;left:0;right:0;text-align:center;font-size:11px;line-height:15px;font-variant-numeric:tabular-nums}.port-review-chassis .switch-port-uplink-mark{left:-2px;top:-5px;color:#dbeafe;font-size:12px}.port-review-chassis .switch-port--socket:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}.port-review-chassis .switch-port-placeholder{width:54px;height:66px;flex:none}.port-review-chassis[data-dense=true] .switch-port--socket,.port-review-chassis[data-dense=true] .switch-port-placeholder{width:37px;height:51px}.port-review-chassis[data-dense=true] .switch-port-row{gap:3px}.port-review-chassis .switch-port.switch-port--socket.media-sfp{border-style:solid;background:transparent;border-color:transparent}.port-review-chassis .switch-port.switch-port--socket{box-shadow:none}.uplink-vertical .uplink-board{display:grid;grid-template-columns:minmax(0,1fr);gap:44px}.uplink-vertical .uplink-board-col{min-width:0}.uplink-vertical .uplink-cable{z-index:3;pointer-events:none}.port-unknown-label{color:#c4d6e6;font-weight:600}.port-review-chassis .switch-port.switch-port--socket:not(.is-selected):not(:focus-visible){outline:none}.uplink-numbering-rule{display:flex;align-items:center;gap:10px}.uplink-numbering-toggle{display:inline-flex;border:1px solid #435267;border-radius:7px;overflow:hidden}.uplink-numbering-toggle button{display:grid;place-items:center;min-width:38px;min-height:36px;padding:6px 12px;border:0;background:#202b38;color:#a6b6c7;font:inherit;cursor:pointer}.uplink-numbering-toggle button+button{border-left:1px solid #435267}.uplink-numbering-toggle button[aria-pressed=true]{background:#15504e;color:#6aeee0;box-shadow:inset 0 0 0 1px #24b6a8;font-weight:700}.uplink-numbering-toggle button:focus-visible{outline:2px solid #93c5fd;outline-offset:-3px}.modal.card.device-edit-wide{width:min(1320px,calc(100vw - 40px));max-width:calc(100vw - 40px)}.device-edit-wide .snmp-disclosure{padding:16px;border:1px solid var(--border,#344353);border-radius:10px}.snmp-disclosure>label{display:flex;align-items:center;gap:8px}.snmp-disclosure summary{cursor:pointer;padding:12px 0;color:var(--accent,#20bcb0)}.snmp-parameter-fields{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px}.snmp-parameter-fields>label{display:flex;flex-direction:column;gap:8px}.snmp-parameter-fields>div{grid-column:1/-1}@media (max-width:850px){.modal.card.device-edit-wide{width:calc(100vw - 16px);max-width:calc(100vw - 16px)}.snmp-parameter-fields{grid-template-columns:minmax(0,1fr)}}.airos-lan{--lan-color: var(--muted, #98a2b3);border-left:3px solid var(--lan-color)}.airos-lan--ok{--lan-color: var(--ok, #22c55e)}.airos-lan--warning,.airos-lan--stale{--lan-color: var(--warn, #a96500)}.airos-lan-heading{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--lan-color)}.airos-lan-symbol{font-weight:700}.airos-lan-meta{display:flex;gap:16px;flex-wrap:wrap;margin:8px 0}.airos-lan meter{width:min(100%,400px);height:16px}.airos-lan pre{white-space:pre-wrap;overflow-wrap:anywhere}.airos-lan--compact{padding-left:8px;margin-top:8px;font-size:.8rem}.airos-lan--compact svg{width:18px;height:18px}.dahua-camera-table{min-width:880px}.dahua-camera-table td{vertical-align:middle}.dahua-camera-table .service-camera-name{min-width:180px;max-width:320px}.dahua-camera-table .vendor-api-device-link{white-space:normal}.dahua-connection{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.dahua-connection .status-dot{flex:0 0 auto}.dahua-stream-picture{white-space:nowrap}.dahua-camera-model{font-size:11px;line-height:1.4;margin-top:3px;overflow-wrap:anywhere}.dahua-report .nvr-disk-hearts{display:flex;flex-wrap:wrap;gap:12px}@media (max-width: 760px){.dahua-camera-model{font-size:.82rem}}.availability-info{position:relative;display:inline-flex;vertical-align:middle;margin-left:8px;font-size:13px;font-weight:400}.availability-info-button{display:grid;place-items:center;width:21px;height:21px;padding:0;border:1px solid #8095a9;border-radius:50%;background:transparent;color:#a5b8cb;font:600 13px Georgia,serif;cursor:pointer}.availability-info-button:focus-visible{outline:2px solid #60a5fa;outline-offset:3px}.availability-info-tooltip{position:absolute;z-index:100;top:28px;left:-10px;display:grid;gap:12px;width:min(460px,70vw);padding:15px;background:#202c3a;border:1px solid #43556a;border-radius:9px;box-shadow:0 8px 30px #0008;color:#e1e8ef;line-height:1.5;white-space:normal;text-align:left}@media (max-width:600px){.availability-info-tooltip{position:fixed;top:auto;bottom:20px;left:16px;right:16px;width:auto}}.port-matching{min-width:0}.port-match-scroll{overflow:auto;max-height:48vh;border:1px solid var(--border);border-radius:8px}.port-match-table{min-width:700px;width:100%;font-size:.9rem}.port-match-table th{position:sticky;top:0;background:var(--card,#18212b);z-index:1}.port-match-table td{vertical-align:top;padding:.7rem}.port-match-table td:first-child{width:42px}.port-match-table code{font-size:.8rem;white-space:nowrap}.port-match-table ul{margin:0;padding-left:1.1rem}.port-match-table select,.port-match-table .input{max-width:240px;margin-bottom:.35rem}.port-match-note{color:var(--warning,#f59e0b);font-size:.85rem;margin-top:.3rem}.port-match-conflict{opacity:.7}.pay-page{min-width:0}.pay-topbar{flex-wrap:wrap;align-items:flex-start;gap:10px}.pay-title{display:grid;gap:4px;min-width:0}.pay-title h1{display:flex;align-items:center;gap:10px;flex-wrap:wrap;overflow-wrap:anywhere}.pay-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pay-row-between{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.pay-small{font-size:.8rem}.pay-tabs{display:flex;gap:6px;border-bottom:1px solid var(--border)}.pay-tabs button{background:none;border:0;color:var(--muted);padding:8px 14px;cursor:pointer;border-bottom:2px solid transparent}.pay-tabs button.active{color:var(--text);border-bottom-color:var(--accent)}.pay-table-wrap{overflow-x:auto}.pay-table{width:100%;border-collapse:collapse}.pay-table th,.pay-table td{padding:8px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}.pay-table th{font-size:.78rem;color:var(--muted);font-weight:600}.pay-table .num,.pay-items input.num{text-align:right;font-variant-numeric:tabular-nums}.pay-items tfoot td{border-bottom:0;padding-top:10px}.pay-items .input{width:100%;min-width:0}.pay-items .pay-w-unit{width:64px}.pay-items .pay-w-num{width:104px}.pay-add-row td{background:color-mix(in srgb,var(--panel) 70%,transparent)}.pay-badge{display:inline-flex;padding:2px 9px;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap}.pay-badge--neutral{background:#93a4b829;color:var(--muted)}.pay-badge--blue{background:#60a5fa29;color:#60a5fa}.pay-badge--orange{background:#f59e0b29;color:#f59e0b}.pay-badge--green{background:#22c55e29;color:var(--ok)}.pay-badge--red{background:color-mix(in srgb,var(--crit) 16%,transparent);color:var(--crit)}.pay-form{display:grid;gap:12px}.pay-form--row{grid-template-columns:minmax(160px,220px) 1fr}.pay-field{display:grid;gap:4px;min-width:0}.pay-field>span{font-size:.8rem;color:var(--muted)}.pay-fieldset{border:1px solid var(--border);border-radius:10px;padding:12px;display:grid;gap:12px}.pay-phones{display:grid;gap:8px}.pay-phone-row__line{display:flex;gap:8px}.pay-phone-row__line .input{flex:1;min-width:0}.pay-warn{padding:8px 12px;border-radius:10px;border:1px solid color-mix(in srgb,var(--warn) 50%,var(--border));background:color-mix(in srgb,var(--warn) 10%,transparent);font-size:.9rem}.pay-note{padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--panel)}.pay-note--ok{border-color:color-mix(in srgb,var(--ok) 50%,var(--border));background:color-mix(in srgb,var(--ok) 10%,transparent)}.pay-danger{color:var(--crit)}.pay-kvs{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px 20px;margin:0}.pay-kv dt{font-size:.75rem;color:var(--muted)}.pay-kv dd{margin:0;font-weight:600;overflow-wrap:anywhere}.pay-total{display:flex;justify-content:space-between;align-items:center;font-size:1.15rem}.pay-link{display:flex;gap:8px;flex-wrap:wrap}.pay-link .input{flex:1;min-width:220px}.pay-link-btn{background:none;border:0;color:var(--accent);cursor:pointer;padding:0;text-align:left}.pay-catalog{margin-top:8px;display:grid;gap:6px}.pay-catalog ul{list-style:none;margin:0;padding:0;max-height:220px;overflow:auto;display:grid;gap:4px}.pay-log{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:.9rem}.pay-modal{width:min(560px,100%);display:flex;flex-direction:column;padding:0;overflow:hidden;max-height:92vh}.pay-modal--wide{width:min(720px,100%)}.pay-modal__head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border)}.pay-modal__head h2{margin:0;font-size:1.1rem}.pay-modal__body{padding:16px;overflow:auto;min-height:0;flex:1}.pay-modal__foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--border)}@media (max-width: 640px){.pay-form--row{grid-template-columns:1fr}}.pay-crash{max-width:560px}.pay-textarea{min-height:96px;resize:vertical;font-family:inherit;line-height:1.4}.pay-signature-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.pay-signature-preview{width:220px;height:90px;border:1px dashed var(--border);border-radius:10px;background:#f5f2eb;display:flex;align-items:center;justify-content:center;overflow:hidden}.pay-signature-preview img{max-width:100%;max-height:100%}.pay-method-line{margin:0}.pay-mark{grid-template-columns:minmax(160px,220px) 1fr;align-items:end;padding:12px;border:1px solid var(--border, #ddd);border-radius:8px}.pay-mark label{display:grid;gap:4px}.pay-mark .pay-actions{grid-column:1 / -1}@media (max-width: 640px){.pay-mark{grid-template-columns:1fr}}.pay-warn-list{margin:4px 0 0;padding-left:18px}.pay-items-card{gap:6px}.pay-items-card h2{margin:0;font-size:1rem}.pay-items-wrap{overflow:visible}.pay-items2{width:100%;border-collapse:collapse;font-size:.9rem;table-layout:auto}.pay-items2 th{font-size:.75rem;font-weight:600;color:var(--muted);text-align:left;padding:4px 6px;border-bottom:1px solid var(--border);white-space:nowrap}.pay-items2 td{padding:1px 6px;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent);vertical-align:middle;height:34px}.pay-items2 .num{text-align:right;font-variant-numeric:tabular-nums}.pay-items2 .pay-c-n{width:28px;color:var(--muted);text-align:right;padding-right:8px;font-variant-numeric:tabular-nums}.pay-items2 .pay-c-name{width:auto;min-width:160px}.pay-items2 .pay-c-qty{width:150px}.pay-items2 .pay-c-price{width:120px}.pay-items2 .pay-c-sum{width:120px;white-space:nowrap}.pay-items2 .pay-c-del{width:30px;padding:0;text-align:center}.pay-irow:hover td{background:color-mix(in srgb,var(--accent) 6%,transparent)}.pay-ci{width:100%;min-width:0;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text);padding:4px 6px;font:inherit;line-height:1.3;min-height:28px}.pay-ci.num{text-align:right;font-variant-numeric:tabular-nums}.pay-irow:hover .pay-ci{border-color:color-mix(in srgb,var(--border) 70%,transparent)}.pay-ci:focus{outline:none;border-color:var(--accent);background:var(--panel-2);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent)}html[data-design=b] .pay-ci:focus{background:var(--panel);outline:none}html[data-design=b] .pay-ci:focus-visible{outline:none}.pay-qty{display:flex;align-items:center;gap:2px}.pay-qty .pay-ci--qty{flex:1 1 70px}.pay-qty .pay-ci--unit{flex:0 0 56px;color:var(--muted)}.pay-del{opacity:0;background:none;border:0;color:var(--muted);cursor:pointer;padding:4px;border-radius:6px;line-height:0}.pay-irow:hover .pay-del,.pay-irow:focus-within .pay-del,.pay-del:focus-visible{opacity:1}.pay-del:hover{color:var(--crit);background:color-mix(in srgb,var(--crit) 12%,transparent)}@media (hover: none){.pay-del{opacity:.7}}.pay-items2 tfoot td{border-bottom:0;padding-top:6px}.pay-foot-total{white-space:nowrap}.pay-foot-total strong{margin-left:6px}.pay-empty{padding:8px 6px}.pay-ac{position:relative}.pay-ac-plus{color:var(--accent);font-size:1.3rem;line-height:1}.pay-addrow td{border-bottom:0;padding-top:6px}.pay-addrow .pay-ci{border-color:color-mix(in srgb,var(--border) 80%,transparent)}.pay-addrow .pay-ci::placeholder{color:var(--muted)}.pay-ac-input{border-color:var(--border);border-radius:8px;padding:5px 10px}.pay-ac-input::placeholder{color:var(--muted)}.pay-ac-list{position:absolute;z-index:30;top:calc(100% + 4px);left:0;right:0;min-width:280px;max-height:300px;overflow:auto;list-style:none;margin:0;padding:4px;background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #00000047}html[data-design=b] .pay-ac-list{box-shadow:0 8px 24px #243b5324}.pay-ac-opt{display:flex;flex-direction:column;gap:1px;padding:6px 8px;border-radius:6px;cursor:pointer}.pay-ac-opt.active{background:color-mix(in srgb,var(--accent) 16%,transparent)}.pay-ac-opt--new,.pay-ac-opt--save{color:var(--accent);border-top:1px solid var(--border);border-radius:0}.pay-ac-opt--new+.pay-ac-opt--save{border-top:0}.pay-sg-name{overflow-wrap:anywhere}.pay-sg-meta{font-size:.75rem}.pay-ac-hint{padding:6px 8px;font-size:.85rem}.pay-ac-err{margin-top:2px;color:var(--crit);font-size:.8rem}.pay-ac-ok{margin-top:2px;color:var(--ok);font-size:.8rem}@media (max-width: 640px){.pay-items2 thead{display:none}.pay-items2,.pay-items2 tbody,.pay-items2 tfoot{display:block}.pay-irow{display:grid;grid-template-columns:22px 1fr 1fr 30px;grid-template-areas:"n name name del" ". qty price sum";padding:4px 0;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.pay-irow td{border:0;height:auto;padding:1px 2px;width:auto!important;min-width:0!important}.pay-irow .pay-c-n{grid-area:n;padding-top:6px}.pay-irow .pay-c-name{grid-area:name}.pay-irow .pay-c-qty{grid-area:qty}.pay-irow .pay-c-price{grid-area:price}.pay-irow .pay-c-sum{grid-area:sum;grid-column:4 / 5;justify-self:end;align-self:center}.pay-irow .pay-c-del{grid-area:del}.pay-irow{grid-template-areas:"n name name name del" ". qty price sum sum";grid-template-columns:22px 1fr 1fr auto 30px}.pay-irow .pay-c-sum{grid-column:4 / 6}.pay-addrow{display:grid;grid-template-areas:"n name name name del" ". qty price sum sum";grid-template-columns:22px 1fr 1fr auto 30px;padding:4px 0}.pay-addrow td{border:0;height:auto;padding:1px 2px;width:auto!important;min-width:0!important}.pay-addrow .pay-c-n{grid-area:n;padding-top:6px}.pay-addrow .pay-c-name{grid-area:name}.pay-addrow .pay-c-qty{grid-area:qty}.pay-addrow .pay-c-price{grid-area:price}.pay-addrow .pay-c-sum{grid-area:sum;justify-self:end;align-self:center}.pay-addrow .pay-c-del{grid-area:del}.pay-items2 tfoot tr,.pay-items2 tfoot td{display:block}.pay-ac-list{min-width:0}}.pay-ci--name{display:block;resize:none;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere;height:auto}.pay-stages{margin:-6px 0 2px;min-width:0;max-width:100%}.pay-stages-list{display:flex;flex-wrap:wrap;gap:4px 0;list-style:none;margin:0;padding:0;align-items:stretch}.pay-stages-item{display:flex}.pay-stages-item:last-child{margin-left:14px}.pay-stage{--stage-bg: color-mix(in srgb, var(--border) 55%, var(--panel));position:relative;display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 22px 6px 26px;border:0;background:var(--stage-bg);color:var(--muted);font:inherit;font-size:.9rem;font-weight:600;cursor:default;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%,14px 50%);margin-right:-6px;transition:background .15s,color .15s}.pay-stages-item:first-child .pay-stage{padding-left:16px;border-radius:8px 0 0 8px;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%)}.pay-stage.is-done{--stage-bg: color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent)}.pay-stage.is-current{--stage-bg: var(--accent);color:#fff}.pay-stage.is-available{cursor:pointer;color:var(--text)}.pay-stage.is-available:not(.is-done):not(.is-current){--stage-bg: color-mix(in srgb, var(--accent) 11%, var(--panel));color:var(--accent)}.pay-stage.is-available:hover,.pay-stage.is-available:focus-visible{--stage-bg: color-mix(in srgb, var(--accent) 26%, var(--panel));color:var(--text);outline:none}.pay-stage.is-done.is-available{color:var(--accent)}.pay-stage.is-locked:not(.is-current):not(.is-done){opacity:.7;cursor:not-allowed}.pay-stage-tick{font-size:.8rem}.pay-stage--cancel{border-radius:999px;clip-path:none;margin:0;padding:6px 16px}.pay-stage.pay-stage--cancel.is-available:not(.is-current){--stage-bg: color-mix(in srgb, var(--crit) 10%, var(--panel));color:var(--crit);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--crit) 45%,transparent)}.pay-stage--cancel.is-locked:not(.is-current){box-shadow:none}.pay-stage.pay-stage--cancel.is-available:hover,.pay-stage.pay-stage--cancel.is-available:focus-visible{--stage-bg: color-mix(in srgb, var(--crit) 20%, var(--panel));color:var(--crit)}.pay-stage--cancel.is-current{--stage-bg: var(--crit);color:#fff;opacity:1}.pay-stages--cancelled .pay-stage:not(.pay-stage--cancel){opacity:.45}.pay-stage-panel{border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}html[data-design=b] .pay-stage.is-current{color:#fff}@media (max-width: 640px){.pay-stages-list{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;max-width:calc(100vw - 32px)}.pay-stage{white-space:nowrap;font-size:.82rem;padding:6px 16px 6px 20px}}.pay-clink{gap:12px}.pay-clink h2{margin:0}.pay-clink-badge{font-size:.78rem;font-weight:600;color:var(--ok, #1e9e5a);background:color-mix(in srgb,var(--ok, #1e9e5a) 12%,transparent);border-radius:999px;padding:3px 10px}.pay-clink-row{display:flex;gap:8px;align-items:stretch}.pay-clink-url{flex:1 1 auto;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9rem}.pay-clink-row .btn{flex:0 0 auto;min-width:132px}.pay-clink-row .btn.is-copied{background:var(--ok, #1e9e5a);border-color:var(--ok, #1e9e5a)}.pay-clink-share .btn{display:inline-flex;align-items:center;gap:6px;text-decoration:none}.pay-clink-tg svg{color:#229ed9}.pay-clink-wa svg{color:#25d366}@media (max-width: 640px){.pay-clink-row{flex-direction:column}.pay-clink-row .btn{width:100%;min-height:44px}.pay-clink-share{display:grid;grid-template-columns:1fr 1fr}.pay-clink-share .btn{justify-content:center;min-height:44px}}.pay-sms-trigger{display:inline-flex}.pay-sms-check{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;align-items:center;min-height:40px;overflow-wrap:anywhere}.pay-sms-check small{grid-column:2}.pay-sms-check input{width:18px;height:18px;flex:0 0 auto;accent-color:var(--accent, #2e7ce6)}.pay-sms-phones{margin:0;padding:10px 14px;border:1px solid var(--border);border-radius:10px;display:grid;gap:4px}.pay-sms-phones legend{padding:0 5px}.pay-sms-state{display:inline-flex;align-items:center;gap:8px}.pay-sms-dot{width:11px;height:11px;border-radius:50%;flex:0 0 auto;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 10%,transparent)}.pay-sms-dot--orange{background:#e88918;color:#e88918}.pay-sms-dot--yellow{background:#cfad0a;color:#cfad0a}.pay-sms-dot--green{background:#23a96b;color:#23a96b}.pay-sms-dot--red{background:#d94b53;color:#d94b53}.pay-sms-dot--gray{background:#8994a3;color:#8994a3}.pay-sms-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}.pay-sms-entry{display:grid;gap:10px;padding:16px;border:1px solid var(--border);border-radius:12px;min-width:0}.pay-sms-entry p{margin:0}.pay-sms-text{white-space:pre-wrap;overflow-wrap:anywhere}.pay-sms-times{display:flex;gap:6px 18px;flex-wrap:wrap;font-size:.82rem}.pay-sms-number{overflow-wrap:anywhere;font-size:.9rem}.pay-sms-number summary{cursor:pointer;width:fit-content;padding:4px 0}.pay-sms-pair{border:1px solid var(--border);padding:16px;border-radius:12px}.pay-sms-qr{display:block;width:220px;max-width:100%;aspect-ratio:1;background:#fff;border-radius:8px}.pay-sms-code{letter-spacing:.1em;font-family:monospace}.pay-sms-settings textarea{width:100%;resize:vertical}.pay-sms-test{border-top:1px solid var(--border);padding-top:16px}.pay-sms-history h2,.pay-sms-settings h2{margin:0}@media (max-width: 640px){.pay-sms-entry{padding:12px}.pay-sms-history .pay-row-between,.pay-sms-settings>.pay-row-between{align-items:flex-start;flex-wrap:wrap;gap:10px}.pay-sms-times{flex-direction:column}.pay-sms-settings>.pay-sms-history{padding:10px}.pay-modal__foot{flex-wrap:wrap}.pay-sms-settings{scroll-margin-top:64px}}.tv-page{max-width:1600px;margin:0 auto}.tv-page h1,.tv-page h2,.tv-page h3{margin:0}.tv-page h2{font-size:1.05rem}.tv-header{align-items:end;gap:20px;flex-wrap:wrap}.tv-header p{margin:6px 0 0}.tv-actions,.tv-row,.tv-tabs{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tv-row{justify-content:space-between}.tv-field{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:.9rem}.tv-field>.input{width:100%}.tv-header .tv-field{min-width:220px}.tv-check{display:flex;gap:8px;align-items:center;font-size:.9rem}.tv-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.tv-stats .card{display:flex;justify-content:space-between;align-items:center;gap:12px}.tv-stats strong{font-size:1.8rem;font-variant-numeric:tabular-nums}.tv-workspace{display:grid;grid-template-columns:250px minmax(0,1fr);align-items:start;gap:16px}.tv-groups{padding:16px;min-width:0}.tv-groups nav{display:flex;flex-direction:column;margin-top:16px;max-height:50vh;overflow:auto}.tv-groups nav button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;border-radius:7px;padding:10px 12px;text-align:left;color:var(--text);cursor:pointer;overflow-wrap:anywhere}.tv-groups nav button:hover{background:var(--panel-2)}.tv-groups nav button.active{background:color-mix(in srgb,var(--accent) 17%,transparent);color:var(--accent);font-weight:650}.tv-group-actions{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}.tv-main{min-width:0;padding:20px}.tv-tabs{border-bottom:1px solid var(--border);padding-bottom:12px}.tv-tabs [aria-selected=true]{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.tv-settings-tabs{flex-wrap:nowrap;overflow-x:auto;padding:3px 3px 12px}.tv-settings-tabs .btn{flex:0 0 auto;white-space:nowrap}.tv-settings-tabs [aria-current=page]{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.tv-icon-button{width:40px;height:40px;padding:8px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.tv-filters{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tv-filters input[type=search]{flex:1;min-width:180px}.tv-filters select{max-width:230px}.tv-small{font-size:.8rem}.tv-empty{padding:44px 24px;text-align:center;border:1px dashed var(--border);border-radius:10px}.tv-empty p{max-width:520px;margin:12px auto 0;line-height:1.6}.tv-table-wrap{overflow-x:auto}.tv-table{width:100%;border-collapse:collapse;font-size:.9rem}.tv-table th{text-align:left;font-size:.8rem;font-weight:500;color:var(--muted);white-space:nowrap}.tv-table th,.tv-table td{padding:13px 10px;border-bottom:1px solid var(--border);vertical-align:top}.tv-table small{display:block;margin-top:6px;font-size:.75rem}.tv-table tbody tr:hover{background:var(--panel-2)}.tv-link{border:none;background:none;color:var(--accent);padding:0;cursor:pointer;text-align:left;font-weight:600}.tv-badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:.75rem;white-space:nowrap;background:var(--panel-2)}.tv-badge.ok{color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent)}.tv-badge.warning{color:var(--warn);background:color-mix(in srgb,var(--warn) 12%,transparent)}.tv-badge.neutral{color:var(--muted)}.tv-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1500;background:#0009;display:flex;align-items:center;justify-content:center;padding:20px}.tv-modal{width:min(960px,100%);max-height:calc(100dvh - 40px);overflow:auto;padding:24px;display:flex;flex-direction:column;gap:18px;box-shadow:0 24px 90px #0007}.tv-modal .stack{gap:14px}.tv-modal p{line-height:1.55;margin:0}.tv-modal .tv-tabs{flex-shrink:0}.tv-code,.tv-json{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.85rem;line-height:1.5}.tv-code{resize:vertical;min-height:100px}.tv-json{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:14px;max-height:280px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}.tv-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tv-facts{margin:0;display:grid;gap:12px}.tv-facts>div{display:grid;grid-template-columns:minmax(130px,1fr) minmax(0,1.5fr);gap:12px}.tv-facts dt{color:var(--muted)}.tv-facts dd{margin:0;overflow-wrap:anywhere}.tv-page summary{cursor:pointer;color:var(--muted)}.tv-page button:focus-visible,.tv-modal button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.tv-page button:disabled,.tv-modal button:disabled{opacity:.55;cursor:wait}@media (max-width: 950px){.tv-workspace{grid-template-columns:1fr}.tv-groups nav{max-height:220px}}@media (max-width: 580px){.tv-stats{grid-template-columns:1fr;gap:8px}.tv-stats .card{padding:12px 16px}.tv-stats strong{font-size:1.3rem}.tv-header .tv-actions,.tv-header .tv-field{width:100%}.tv-main{padding:12px}.tv-modal-backdrop{padding:10px}.tv-modal{padding:18px;max-height:calc(100dvh - 20px)}.tv-grid-two{grid-template-columns:1fr}.tv-tabs .btn{padding:7px 10px}}.tv-artwork-preview{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--panel-2)}.tv-artwork-preview img{width:100%;height:220px;object-fit:contain;display:block}.tv-logo-preview{background:repeating-conic-gradient(#c2c8d0,#c2c8d0 25%,#e8ebef 0%,#e8ebef 50%) 50% / 20px 20px}.tv-logo-preview img{height:150px;padding:20px;box-sizing:border-box}.tv-artwork-empty{min-height:90px;display:grid;place-items:center;padding:20px;border:1px dashed var(--border);border-radius:10px;color:var(--muted);text-align:center}.tv-file-input{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.tv-profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:14px}.tv-profile-card{border:1px solid var(--border);border-radius:12px;overflow:hidden;min-width:0}.tv-profile-card.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.tv-profile-card>img{width:100%;height:140px;object-fit:cover;display:block}.tv-profile-card>div{padding:14px}.tv-profile-editor h4{margin:8px 0 0}.tv-profile-rule{border-top:1px solid var(--border);padding-top:16px}.tv-app-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.tv-app-row{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--panel-2)}.tv-app-hidden .tv-app-icon,.tv-app-hidden .tv-app-name{opacity:.5}.tv-drag-handle{border:0;color:var(--muted);background:transparent;font-size:26px;cursor:grab;padding:3px}.tv-app-icon{width:42px;height:42px;object-fit:contain;flex:0 0 42px;border-radius:8px}.tv-app-placeholder{display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);font-weight:700}.tv-app-name{flex:1;min-width:0;overflow-wrap:anywhere}.tv-app-name small,.tv-app-choice small{display:block;margin-top:4px;font-size:.72rem;overflow-wrap:anywhere}.tv-app-arrows,.tv-visibility{display:flex;align-items:center;gap:6px;flex:0 0 auto}.tv-visibility{font-size:.8rem}.tv-app-catalog{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:8px;max-height:320px;overflow-y:auto}.tv-app-choice{display:flex;gap:10px;align-items:center;padding:10px;text-align:left;border:1px solid var(--border);border-radius:8px;background:var(--panel-2);color:var(--text);cursor:pointer}.tv-app-choice>span:nth-child(2){flex:1;min-width:0}@media (max-width: 680px){.tv-app-row{flex-wrap:wrap;gap:8px}.tv-app-name{min-width:calc(100% - 95px)}.tv-app-arrows{margin-left:auto}.tv-visibility{margin-left:26px}.tv-artwork-preview img{height:170px}}.tv-modal .tv-settings-tabs .btn[aria-current=page]{color:var(--accent);border-color:var(--accent);box-shadow:inset 0 -3px 0 var(--accent);font-weight:650}.tv-settings-footer{position:sticky;bottom:-24px;z-index:2;background:var(--panel);border-top:1px solid var(--border);padding:14px 0}@media (max-width: 580px){.tv-settings-footer{bottom:-18px}}.tv-source{gap:6px}.tv-source .tv-badge{margin-left:8px;padding:1px 8px;border-radius:10px;background:var(--muted-bg, #eef1f5);font-size:.85em}.tv-src-release_found,.tv-src-source_changed,.tv-src-imported{background:#e3f2e6!important}.tv-src-check_failed,.tv-src-download_failed,.tv-src-needs_asset_choice{background:#fdecea!important}.tv-notes{white-space:pre-wrap;max-height:240px;overflow:auto;font-size:.9em}.tv-signer{border-left:3px solid #e0a800;padding-left:8px}.tv-groups{padding:12px}.tv-groups h2{font-size:1rem;margin:0}.tv-groups nav{margin-top:8px;gap:1px;max-height:60vh}.tv-groups nav button{padding:4px 8px;font-size:.85rem;line-height:1.3;border-radius:6px}.tv-group-actions{display:flex;flex-direction:column;gap:4px;margin-top:10px;padding-top:10px}.tv-group-actions .btn{padding:4px 8px;font-size:.8rem;min-height:0}.tv-btn-sm{padding:4px 10px!important;font-size:.8rem!important;min-height:0}.tv-content{gap:10px}.tv-content>.tv-tabs .btn{padding:5px 12px;font-size:.85rem}.tv-content .tv-tabs{padding-bottom:8px}.tv-content>p{margin:0}.tv-content-bar{gap:8px}.tv-inline{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--muted)}.tv-inline .input{padding:4px 8px;font-size:.82rem;width:auto;min-height:0}.tv-push{margin-left:auto}.tv-table-compact{font-size:.82rem}.tv-table-compact th{font-size:.72rem}.tv-table-compact th,.tv-table-compact td{padding:5px 8px;vertical-align:middle}.tv-table-compact small{display:inline;margin:0 0 0 6px;font-size:.7rem}.tv-table .num{text-align:right;font-variant-numeric:tabular-nums;width:1%;white-space:nowrap}.tv-row-actions{width:1%;white-space:nowrap;text-align:right}.tv-tag{margin-left:6px;padding:0 6px;border-radius:6px;font-size:.68rem;display:inline-block}.tv-journal{padding:12px}.tv-journal .tv-table{font-size:.8rem}.tv-journal .tv-table th,.tv-journal .tv-table td{padding:5px 8px}.tv-hotel{padding:10px 12px;gap:6px}.tv-hotel-row{align-items:flex-end;gap:8px}.tv-hotel .tv-field,.tv-card-form .tv-field{gap:3px;font-size:.78rem;color:var(--muted)}.tv-hotel .input,.tv-card-form .input{padding:5px 8px;font-size:.85rem;min-height:0;color:var(--text)}.tv-modal.tv-modal-form{width:min(1180px,100%);padding:14px 18px 0;gap:8px;overflow:hidden;display:flex;flex-direction:column}.tv-modal-form>header h2{font-size:1.05rem;margin:0}.tv-modal-form>header .btn{padding:3px 9px}.tv-card-form{display:flex;flex-direction:column;min-height:0;flex:1}.tv-card-body{overflow-y:auto;min-height:0;flex:1;display:flex;flex-direction:column;gap:8px;padding-bottom:8px}.tv-card-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:16px;align-items:start}.tv-card-col{display:flex;flex-direction:column;gap:8px;min-width:0}.tv-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:end}.tv-price-row{display:grid;grid-template-columns:1fr 70px auto 1.3fr;gap:8px;align-items:end}.tv-card-form textarea.input{resize:vertical;line-height:1.35}.tv-card-form .tv-check{font-size:.8rem;padding-bottom:6px}.tv-check-pad{padding-bottom:6px}.tv-card-footer{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:8px;padding:10px 0 14px;border-top:1px solid var(--border);background:var(--panel)}.tv-card-footer .btn{padding:6px 16px}.tv-point{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end;border:1px solid var(--border);border-radius:8px;padding:4px 10px 8px;margin:0}.tv-point legend{font-size:.78rem;padding:0 4px}.tv-point .btn{padding:5px 10px;font-size:.8rem;white-space:nowrap}.tv-photos{gap:4px!important}.tv-photo-list{display:flex;flex-wrap:wrap;gap:6px}.tv-photo{margin:0;width:104px;display:flex;flex-direction:column;gap:2px}.tv-photo img,.tv-photo-empty{width:104px;height:104px;object-fit:contain;display:grid;place-items:center;text-align:center;color:#fff;border-radius:6px}.tv-photo figcaption{font-size:.68rem}.tv-photo-actions{display:flex;flex-wrap:wrap;gap:2px}.tv-photo-actions .btn{padding:1px 5px;font-size:.72rem;min-height:0;line-height:1.3}.tv-photo-add{width:104px;height:104px;border:1px dashed var(--border);border-radius:6px;display:grid;place-items:center;cursor:pointer;color:var(--accent);font-size:.8rem;position:relative}.tv-photo-add input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}@media (max-width: 860px){.tv-card-grid,.tv-price-row{grid-template-columns:1fr}}.tv-map-dialog{gap:8px!important}.tv-map{position:relative;overflow:hidden;max-width:100%;background:#dfe3e6;border-radius:8px;cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none}.tv-map>img{position:absolute;width:256px;height:256px;pointer-events:none}.tv-map-marker{position:absolute;width:18px;height:18px;margin:-18px 0 0 -9px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);border:2px solid #fff;box-shadow:0 1px 4px #0008}.tv-map-marker.pick{background:#e53935;cursor:grab;width:22px;height:22px;margin:-22px 0 0 -11px}.tv-map-marker.other{background:#1e88e5;pointer-events:none}.tv-map-marker b{position:absolute;left:18px;top:-4px;transform:rotate(45deg);background:#fff;color:#111;font-size:.68rem;padding:0 4px;border-radius:4px;white-space:nowrap}.tv-map-zoom{position:absolute;top:8px;left:8px;display:flex;flex-direction:column;gap:2px}.tv-map-zoom button{width:28px;height:28px;border:1px solid #999;background:#fff;color:#111;font-size:18px;border-radius:4px;cursor:pointer}.tv-map-attr{position:absolute;right:0;bottom:0;background:#fffc;color:#333;font-size:11px;padding:1px 5px}.tv-map-attr a{color:#0b63c5}.tv-modal.tv-modal-map{width:auto;max-width:calc(100vw - 40px);padding:16px 18px;gap:10px}.tv-modal-map>header h2{font-size:1.05rem;margin:0}.tv-channel-row{display:flex;gap:16px;align-items:flex-start}.tv-channel-logo{width:80px;min-width:80px;height:80px;display:grid;place-items:center;background:#293740;border-radius:12px}.tv-channel-logo img{max-width:72px;max-height:72px;object-fit:contain}.tv-channel-fields{display:grid;gap:8px;flex:1;min-width:0}.tv-channel-buttons{display:flex;gap:4px}.settings-page .settings-workspace{display:grid;grid-template-columns:230px minmax(0,1fr);gap:16px;align-items:start}.settings-page .settings-nav{position:sticky;top:12px}.settings-page .settings-content{min-width:0}.settings-section-head h2{margin:0 0 2px;font-size:1.15rem}.settings-section-head p{margin:0;font-size:.85rem}.settings-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}.settings-grid2 .span2{grid-column:1 / -1}.settings-compact label{display:grid;gap:4px;font-size:.8rem;color:var(--muted)}.settings-compact .input{font-size:.9rem;padding:7px 10px}.settings-compact textarea.input{field-sizing:content;min-height:64px;max-height:260px;resize:vertical}.settings-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.keys-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.keys-span{grid-column:1 / -1}.keys-card{padding:14px;display:grid;gap:8px}.keys-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.keys-head h3{margin:0;font-size:1rem}.keys-note{margin:0;font-size:.82rem}.keys-row{display:flex;gap:8px;align-items:center}.keys-row .input{flex:1;min-width:0;padding:7px 10px}.keys-status{font-size:.75rem;padding:2px 8px;border-radius:999px;white-space:nowrap;border:1px solid var(--border)}.keys-status.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 50%,transparent);background:color-mix(in srgb,var(--ok) 12%,transparent)}.keys-status.off{color:var(--muted)}.keys-card-wrap>.card{padding:14px;margin:0}.keys-card-wrap h2,.keys-card-wrap h3{font-size:1rem;margin:0}.keys-card-wrap .stack{gap:8px}.keys-card-wrap label{font-size:.82rem}.keys-card-wrap .input{padding:7px 10px}.account-grid{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:12px;align-items:start}.account-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.account-row:last-child{border-bottom:0}.account-row>div:first-child{display:grid;gap:2px}.account-row small{font-size:.78rem}.seg{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.seg button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--text);padding:6px 14px;cursor:pointer;font-size:.85rem}.seg button+button{border-left:1px solid var(--border)}.seg button.on{background:color-mix(in srgb,var(--accent) 20%,transparent);color:var(--accent);font-weight:650}.devtools-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.85rem}.devtools-row .btn{padding:4px 10px;font-size:.8rem;min-height:0}.htv-sections{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start}.htv-card{padding:12px 14px;display:grid;gap:8px;margin:0}.htv-card h4{margin:0;font-size:.95rem;display:flex;justify-content:space-between}.htv-card .htv-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.htv-card .htv-wide{grid-column:1 / -1}.pay-modal--client{width:min(860px,100%)}.pay-client-compact{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px 12px;align-items:start}.pay-client-compact>*{grid-column:span 3}.pay-client-compact>.span2{grid-column:1 / -1}.pay-client-compact>.third{grid-column:span 2}.pay-modal--client .pay-modal__head{padding:10px 16px}.pay-modal--client .pay-modal__body{padding:12px 16px}.pay-modal--client .pay-modal__foot{padding:10px 16px}.pay-client-compact .pay-field>span{font-size:.76rem;display:flex;gap:6px;align-items:baseline}.pay-client-compact .pay-hint:before{content:"· "}.pay-client-compact .pay-hint{font-size:.72rem;color:var(--muted);opacity:.8;font-weight:400}.pay-client-compact .input{padding:6px 10px;font-size:.9rem}.pay-client-compact .pay-fieldset{grid-column:1 / -1;padding:6px 12px 10px;margin:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px}.pay-client-compact .pay-fieldset legend{font-size:.8rem;color:var(--muted);padding:0 4px}.pay-client-compact .pay-field--rs-note{font-size:.72rem}@media (max-width: 900px){.pay-client-compact>*{grid-column:1 / -1!important}.settings-page .settings-workspace{grid-template-columns:1fr}.settings-page .settings-nav{position:static}.settings-page .settings-nav nav{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;max-height:none}.settings-page .settings-nav nav button{white-space:nowrap}.settings-grid2,.keys-grid,.account-grid,.htv-sections,.htv-card .htv-fields,.pay-client-compact>*,.pay-client-compact,.pay-client-compact .pay-fieldset{grid-template-columns:1fr}}.keys-card-wrap>*{max-width:none!important;width:100%;box-sizing:border-box}@media (max-width: 600px){.account-row{flex-direction:column;align-items:flex-start}.keys-row{flex-wrap:wrap}}.settings-content .pay-settings,.settings-content .pay-sms-settings{padding:14px 16px;gap:10px}.settings-content .pay-settings h2,.settings-content .pay-sms-settings h2{font-size:1.05rem;margin:0}.settings-content .pay-settings h3,.settings-content .pay-sms-settings h3{font-size:.95rem;margin:6px 0 0}.settings-content .pay-settings>p.muted,.settings-content .pay-sms-settings p.muted{margin:0;font-size:.82rem}.settings-content .pay-settings .pay-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}.settings-content .pay-settings .pay-field>span,.settings-content .pay-sms-settings .pay-field{font-size:.78rem}.settings-content .pay-settings .pay-field small{font-size:.72rem}.settings-content .pay-settings .input,.settings-content .pay-sms-settings .input{padding:6px 10px;font-size:.9rem}.settings-content .pay-settings .pay-field:has(textarea){grid-column:1 / -1}.settings-content .pay-sms-settings--templates form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}.settings-content .pay-sms-settings--templates form>:not(.pay-field){grid-column:1 / -1}.settings-content textarea.input{field-sizing:content;min-height:56px}@media (max-width: 900px){.settings-content .pay-settings .pay-form,.settings-content .pay-sms-settings--templates form{grid-template-columns:1fr}}.settings-content input.input:not([type=checkbox]):not([type=radio]):not([type=file]),.settings-content select.input{height:34px;min-height:34px;padding-top:0;padding-bottom:0;box-sizing:border-box}.settings-content .pay-form,.settings-content .settings-grid2,.settings-content .htv-fields,.settings-content .pay-sms-settings--templates form{align-items:start}.settings-content .pay-field,.settings-content .htv-fields>label,.settings-content .settings-grid2>label{align-content:start;align-self:start}.settings-content .pay-field>span,.settings-content .htv-fields>label{line-height:1.25}.account-stack{max-width:640px}.settings-nav nav .settings-nav-group{color:var(--muted);font-weight:600}.settings-nav nav .settings-nav-group.open{color:var(--text)}.settings-nav nav .settings-nav-sub{padding-left:22px;display:flex;align-items:center;gap:8px}.keys-icon{width:16px;height:16px;flex:0 0 16px;border-radius:3px;object-fit:contain}.keys-settings .keys-card-wrap>*{max-width:760px!important}.keys-settings .keys-card-wrap>.card{max-width:760px}.organization-tariff-plan{margin-top:16px;border-top:1px solid var(--border, #dce3ed);padding-top:12px}.organization-tariff-plan h4{margin:0 0 8px;font-size:16px}.org-tariff-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0;padding:12px;border:1px solid var(--border, #dce3ed);border-radius:8px}.org-tariff-modes label{display:block}.organization-tariff-plan small{display:block;margin-top:4px;opacity:.75;font-size:12px}.org-tariff-scope{min-width:0;margin:16px 0;padding:12px;border:1px solid var(--border, #dce3ed);border-radius:8px}.org-tariff-scope p{margin-top:0}.org-tariff-option{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:8px;align-items:start;padding:12px;margin-top:8px;border:1px solid var(--border, #dce3ed);border-radius:8px}.org-tariff-option:has(input:checked){border-color:#488aff}.org-tariff-option.unavailable{opacity:.65}.org-tariff-option strong{font-variant-numeric:tabular-nums}@media (max-width: 640px){.org-tariff-modes{grid-template-columns:1fr}.org-tariff-option{grid-template-columns:20px minmax(0,1fr)}.org-tariff-option strong{grid-column:2}}.partner-wallet{min-width:0}.partner-wallet h2,.partner-wallet h3,.partner-wallet h4{margin:0}.wallet-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.wallet-heading>div,.wallet-heading>h4{min-width:0}.wallet-total{font-size:clamp(28px,4vw,40px);line-height:1.25;margin:4px 0 8px!important;font-variant-numeric:tabular-nums}.wallet-note{padding:12px 14px;margin:0;border-radius:10px;background:var(--bg-soft, rgba(128,150,180,.08));color:var(--muted)}.wallet-organization>h3{margin:8px 0 12px;overflow-wrap:anywhere}.wallet-balances{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px}.wallet-balance{display:flex;flex-direction:column;gap:10px;padding:18px;border:1px solid var(--border);border-radius:12px;min-width:0;overflow-wrap:anywhere}.wallet-balance.selected{border-color:var(--accent, #3b82f6)}.wallet-amount{font-size:27px;font-variant-numeric:tabular-nums}.wallet-balance>button{align-self:flex-start;margin-top:auto}.wallet-balance .wallet-heading{align-items:flex-start;gap:6px}.wallet-form-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(160px,1fr);gap:16px}.wallet-form-grid label,.wallet-filter{display:grid;gap:6px;min-width:0}.wallet-filter{max-width:420px}.wallet-result{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.wallet-result>strong,.wallet-result>p{flex-basis:100%;margin:0}.wallet-result .btn{display:inline-flex;align-items:center;margin:0}.wallet-date{display:block;margin-top:4px}.wallet-money{white-space:nowrap;font-variant-numeric:tabular-nums}.wallet-debit{color:var(--crit)}.wallet-credit{color:var(--ok, #20b486)}.partner-wallet [aria-pressed=true]{border-color:var(--accent, #3b82f6)}@media (max-width: 640px){.wallet-form-grid{grid-template-columns:1fr}.wallet-filter{width:100%;max-width:none}.wallet-balance{padding:14px}}@media (max-width: 640px){.partner-wallet .wallet-history-table{display:block;width:100%;min-width:0!important}.wallet-history-table thead{display:none}.wallet-history-table tbody{display:grid;gap:12px}.wallet-history-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;border:1px solid var(--border);border-radius:10px;padding:14px}.wallet-history-table td{display:block;border:0;padding:0;min-width:0;white-space:normal;overflow-wrap:anywhere}.wallet-history-table td[data-label]:before{content:attr(data-label);display:block;color:var(--muted);font-size:12px;margin-bottom:5px}.wallet-invoices td:nth-child(1),.wallet-invoices td:nth-child(2),.wallet-invoices td:last-child,.wallet-operations td:nth-child(1),.wallet-operations td:nth-child(2){grid-column:1 / -1}.partner-wallet>section>small{min-width:0;white-space:normal;overflow-wrap:anywhere}}.fin-page{min-width:0}.fin-page>.card,.fin-page .card.stack{min-width:0;max-width:100%}.fin-topbar{flex-wrap:wrap;align-items:flex-start}.fin-title{display:grid;gap:4px;min-width:0}.fin-title h1{display:flex;align-items:center;gap:8px;flex-wrap:wrap;overflow-wrap:anywhere}.fin-sub{margin:0}.fin-small{font-size:.8rem}.fin-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.fin-check{display:inline-flex;gap:6px;align-items:center;font-size:.9rem}.fin-note{padding:10px 12px;border-radius:10px;border:1px solid color-mix(in srgb,var(--warn) 50%,var(--border));background:color-mix(in srgb,var(--warn) 10%,transparent)}.fin-project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.fin-project-card{display:grid;gap:10px;color:inherit;text-decoration:none;transition:border-color .15s}.fin-project-card:hover,.fin-project-card:focus-visible{border-color:var(--accent)}.fin-project-card.is-archived{opacity:.75}.fin-project-card__head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;overflow-wrap:anywhere}.fin-mini{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;margin:0}.fin-mini dt{font-size:.75rem;color:var(--muted)}.fin-mini dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}.fin-neg,.is-neg .fin-summary__value{color:var(--crit)}.fin-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.fin-summary__value{white-space:nowrap}@media (max-width: 1599px){.fin-summary__cell{padding:10px 12px}.fin-summary__value{font-size:1.1rem}}@media (max-width: 1399px){.fin-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}.fin-summary__cell{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;display:grid;gap:4px;min-width:0}.fin-summary__label{font-size:.78rem;color:var(--muted)}.fin-summary__value{font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.fin-summary__cell.is-neg{border-color:color-mix(in srgb,var(--crit) 55%,var(--border))}@media (max-width: 640px){.fin-summary{grid-template-columns:1fr 1fr}.fin-summary__value{font-size:1.05rem}}.fin-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);overflow-x:auto}.fin-tab{background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);padding:8px 14px;cursor:pointer;white-space:nowrap;font:inherit}.fin-tab.is-on{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.fin-items-wrap{max-width:100%;min-width:0;overflow-x:auto;scrollbar-width:thin}.fin-items-wrap::-webkit-scrollbar{height:10px}.fin-items-wrap::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px}table.fin-items{min-width:640px}table.fin-items th,table.fin-items td{padding:6px 5px;font-size:.78rem}table.fin-items thead th{white-space:nowrap}table.fin-items .fin-col-name{width:auto}table.fin-items .fin-col-status,table.fin-items .fin-col-inv{width:1%}table.fin-items td,table.fin-items th{vertical-align:top}.fin-num{text-align:right!important;font-variant-numeric:tabular-nums;white-space:nowrap}.fin-th-sub{font-weight:400;font-size:.72rem;color:var(--muted)}.fin-calc{color:var(--text)}.fin-paid{color:var(--warn);margin-top:4px;padding-top:4px;border-top:1px dashed var(--border)}.fin-order{color:var(--accent, #60a5fa);margin-top:4px;padding-top:4px;border-top:1px dashed var(--border)}table.fin-items .fin-calc,table.fin-items .fin-order,table.fin-items .fin-paid{min-height:28px;display:flex;align-items:center;justify-content:inherit}table.fin-items .fin-num .fin-calc,table.fin-items .fin-num .fin-order,table.fin-items .fin-num .fin-paid{justify-content:flex-end}.fin-legend .fin-calc,.fin-legend .fin-paid,.fin-legend .fin-order{border:0;padding:0;margin:0}.fin-manual{margin-left:6px;font-size:.7rem;padding:1px 5px;border-radius:6px;background:color-mix(in srgb,var(--warn) 18%,transparent)}.fin-name{min-width:120px;overflow-wrap:anywhere}.fin-group-row th{background:var(--panel-2);font-weight:600}table.fin-items .fin-group-row th{background:color-mix(in srgb,var(--accent, #60a5fa) 12%,var(--panel-2));border-left:4px solid var(--accent, #60a5fa);font-size:.95rem;padding-top:8px;padding-bottom:8px}.fin-group-toggle,.fin-group-band .fin-group-toggle{background:none;border:0;padding:0;color:inherit;font:inherit;font-weight:700;display:inline-flex;align-items:baseline;gap:6px;cursor:pointer;text-align:left}.fin-group-toggle:focus-visible{outline:2px solid var(--accent, #60a5fa);outline-offset:2px;border-radius:4px}.fin-chevron{display:inline-block;transition:transform .15s;width:1em}.fin-chevron.is-open{transform:rotate(90deg)}.fin-group-meta{font-weight:500;font-size:.82rem;color:var(--muted);font-variant-numeric:tabular-nums}.fin-group-band{margin:0;padding:8px 10px;border-radius:6px;font-size:1rem;background:color-mix(in srgb,var(--accent, #60a5fa) 12%,var(--panel-2));border-left:4px solid var(--accent, #60a5fa)}.fin-group-actions{margin-left:12px;display:inline-flex;gap:10px}.fin-row-actions{white-space:nowrap;text-align:right}.fin-row-actions .btn+.btn{margin-left:6px}.fin-btn-sm{padding:4px 10px;font-size:.82rem}.fin-link{background:none;border:0;padding:0;color:var(--accent);cursor:pointer;font:inherit;text-decoration:underline;text-underline-offset:2px}.fin-nowrap{white-space:nowrap}.fin-wrap{max-width:320px;overflow-wrap:anywhere}.fin-over{color:var(--warn);font-size:.75rem;font-weight:600}.fin-invoices{min-width:860px}.fin-invoices td,.fin-invoices th{padding:10px 6px}.fin-badge{display:inline-flex;align-items:center;gap:6px;padding:2px 9px;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap}.fin-dot{width:8px;height:8px;border-radius:50%;background:currentColor;flex:none}.fin-badge.orange,.fin-status-select.orange{background:#f59e0b29;color:#f59e0b}.fin-badge.green,.fin-status-select.green{background:#22c55e29;color:var(--ok)}.fin-badge.blue,.fin-status-select.blue{background:#60a5fa29;color:#60a5fa}.fin-badge.neutral,.fin-status-select.neutral{background:#93a4b829;color:var(--muted)}.fin-status-select{display:inline-flex;align-items:center;gap:6px;padding:2px 4px 2px 9px;border-radius:999px;font-size:.8rem;font-weight:600}.fin-status-select select{background:transparent;border:0;color:inherit;font:inherit;cursor:pointer;padding:2px 0}.fin-status-select select option{color:var(--text);background:var(--panel)}.fin-modal{width:min(560px,100%);display:flex;flex-direction:column;padding:0;overflow:hidden}.fin-modal--wide{width:min(860px,100%)}.fin-modal__head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border)}.fin-modal__head h2{margin:0;font-size:1.1rem;overflow-wrap:anywhere}.fin-modal__body{padding:16px;overflow:auto;min-height:0;flex:1}.fin-modal__foot{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.fin-field{display:grid;gap:5px;font-size:.88rem;min-width:0}.fin-fieldset{border:1px solid var(--border);border-radius:10px;padding:10px 12px 12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:0}.fin-fieldset legend{padding:0 6px;font-weight:600;font-size:.85rem}.fin-fieldset--paid{border-color:color-mix(in srgb,var(--warn) 45%,var(--border))}.fin-fieldset--paid>p,.fin-fieldset--paid>button{grid-column:1 / -1;justify-self:start;margin:0}.fin-plain{border:0;padding:0;margin:0;display:grid;gap:14px;min-width:0}.fin-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.fin-span2{grid-column:span 2}@media (max-width: 720px){.fin-grid3{grid-template-columns:1fr}.fin-span2{grid-column:auto}}.fin-cat-list{list-style:none;margin:0;padding:0;max-height:220px;overflow:auto;border:1px solid var(--border);border-radius:8px}.fin-cat-list li{border-bottom:1px solid var(--border)}.fin-cat-list li:last-child{border-bottom:0}.fin-cat-list>.muted{padding:8px 10px}.fin-cat-opt{width:100%;display:flex;justify-content:space-between;gap:10px;text-align:left;background:none;border:0;color:inherit;padding:8px 10px;cursor:pointer;font:inherit;flex-wrap:wrap}.fin-cat-opt:hover,.fin-cat-opt.is-on{background:var(--panel-2)}.fin-cat-opt.is-on{outline:2px solid var(--accent);outline-offset:-2px}.fin-check-list{list-style:none;margin:0;padding:0;display:grid;gap:4px;max-height:220px;overflow:auto}.fin-check-list label{display:flex;gap:8px;align-items:baseline}.fin-check-list li{display:grid;grid-template-columns:minmax(0,1.4fr) 1fr 1fr;gap:4px 12px;align-items:baseline}.fin-check-list li .fin-order,.fin-check-list li .fin-paid{border:0;margin:0;padding:0}@media (max-width: 720px){.fin-check-list li{grid-template-columns:1fr}}.fin-docs{list-style:none;margin:0;padding:0;display:grid;gap:6px}.fin-docs li{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;overflow-wrap:anywhere}.fin-upload{position:relative;overflow:hidden;justify-self:start;display:inline-block}.fin-upload input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.fin-photo-main{margin:0;display:grid;gap:6px;justify-items:center}.fin-photo-main img{max-width:100%;max-height:60vh;object-fit:contain;border-radius:8px;background:var(--panel-2)}.fin-photo-thumbs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.fin-photo-thumbs button{padding:0;border:2px solid transparent;border-radius:8px;background:none;cursor:pointer}.fin-photo-thumbs button.is-on{border-color:var(--accent)}.fin-photo-thumbs img{width:64px;height:64px;object-fit:cover;border-radius:6px;display:block}.fin-field>.fin-badge{justify-self:start}table.fin-items .fin-inv{width:80px;max-width:80px;white-space:nowrap}.fin-inv-link{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-hyphens:none;hyphens:none;vertical-align:bottom;text-align:left}.fin-item-cards{display:none}@media (max-width: 720px){.fin-items-wrap{display:none}.fin-item-cards{display:grid;gap:14px}.fin-item-cards__group{display:grid;gap:8px}.fin-item-cards__group h3{margin:0;font-size:.95rem}.fin-item-card{border:1px solid var(--border);border-radius:10px;padding:10px 12px;display:grid;gap:8px}.fin-item-card__head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;overflow-wrap:anywhere}.fin-item-card dl{margin:0;display:grid;gap:4px}.fin-item-card dl div{display:grid;grid-template-columns:110px 1fr;gap:8px;font-size:.85rem}.fin-item-card dt{color:var(--muted)}.fin-item-card dd{margin:0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.fin-item-card .fin-paid,.fin-item-card .fin-order{border-top:0;margin:0;padding:0}.fin-topbar .fin-actions .btn{flex:1 1 auto}}.fin-new-cat-link{margin-top:6px;align-self:flex-start}.fin-new-cat>p,.fin-new-cat>ul,.fin-new-cat>button{grid-column:1 / -1;justify-self:start;margin:0}.fin-new-cat>ul{justify-self:stretch}table.fin-items .fin-status-select{font-size:.76rem;padding:1px 2px 1px 7px;gap:4px;max-width:116px}table.fin-items .fin-status-select select{max-width:98px;text-overflow:ellipsis;overflow:hidden}table.fin-items .fin-badge{font-size:.72rem;padding:1px 7px;gap:4px;max-width:116px;overflow:hidden;text-overflow:ellipsis}table.fin-items .fin-row-actions{width:1%;padding-left:2px;padding-right:2px}table.fin-items .fin-row-actions .btn{display:block;padding:2px 7px;min-width:0}table.fin-items .fin-row-actions .btn+.btn{margin:4px 0 0}table.fin-items .fin-manual{margin-left:4px;padding:0 4px}@media (max-width: 1100px){table.fin-items .fin-dot{display:none}table.fin-items{min-width:600px}table.fin-items th,table.fin-items td{padding:5px 4px;font-size:.74rem}table.fin-items .fin-name{min-width:100px}table.fin-items .fin-inv{width:64px;max-width:64px}table.fin-items .fin-status-select{padding-left:5px;max-width:104px}table.fin-items .fin-status-select select{max-width:94px}table.fin-items .fin-badge{max-width:104px}table.fin-items .fin-manual{margin-left:1px;padding:0 1px;background:none}}table.fin-items .fin-line{height:26px;display:flex;align-items:center;gap:4px;white-space:nowrap;overflow:hidden;min-width:0}table.fin-items .fin-num .fin-line{justify-content:flex-end}table.fin-items .fin-line+.fin-line{border-top:1px dashed var(--border)}.fin-line--white{color:var(--text)}.fin-line--ordered{color:#60a5fa}.fin-line--paid{color:#f59e0b}.fin-line--received{color:var(--ok)}.fin-line--missing{color:var(--crit)}.fin-badge.red{background:color-mix(in srgb,var(--crit) 16%,transparent);color:var(--crit)}table.fin-items .fin-line .fin-inv-link{max-width:100%;flex:0 1 auto;min-width:0}table.fin-items .fin-line--multi{flex-direction:column;align-items:stretch;justify-content:space-around;gap:0}table.fin-items .fin-line--multi .fin-inv-link{max-width:100%;text-align:left;line-height:24px}table.fin-items .fin-status-select{padding-top:0;padding-bottom:0}table.fin-items .fin-status-select select{padding:0}table.fin-items .fin-inv{width:110px;max-width:110px}@media (max-width: 1100px){table.fin-items .fin-inv{width:84px;max-width:84px}}.fin-legend span{border:0}.fin-parts{grid-template-columns:1fr}.fin-parts__list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.fin-part{display:grid;grid-template-columns:1.1fr .8fr .9fr 1.4fr;gap:8px;align-items:end;padding:6px 8px;border-left:3px solid currentColor;border-radius:6px;background:var(--panel-2)}.fin-part .fin-field{color:var(--text)}.fin-part__sum{grid-column:1 / 3;align-self:center;font-variant-numeric:tabular-nums}.fin-part .fin-actions{grid-column:3 / -1;justify-content:flex-end;display:flex;gap:6px;flex-wrap:wrap;margin:0}.fin-part--add{border-left-color:var(--border)}@media (max-width: 720px){.fin-part{grid-template-columns:1fr 1fr}.fin-part__sum,.fin-part .fin-actions{grid-column:1 / -1}}.fin-check-list--parts{max-height:260px;overflow-y:auto}.fin-check-list--parts li{display:block}.fin-modal .fin-check-list--parts label{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:start}.fin-modal .fin-check-list--parts label>:not(input){grid-column:2}.fin-modal .fin-check-list--parts label.fin-line--paid{color:#f59e0b}.fin-modal .fin-check-list--parts label.fin-line--received{color:var(--ok)}.fin-modal .fin-check-list--parts label.fin-line--ordered{color:#60a5fa}.fin-modal .fin-check-list--parts .fin-inv-item-name{color:var(--text);font-weight:600}table.fin-items .fin-col-thumb,table.fin-items .fin-thumb-cell{width:46px;padding-left:4px;padding-right:2px}.fin-thumb{width:40px;height:40px;border-radius:6px;border:1px solid var(--border);background:var(--panel-2);display:inline-flex;align-items:center;justify-content:center;overflow:hidden;padding:0;cursor:pointer;color:var(--muted);font-size:16px;flex:0 0 auto}span.fin-thumb{cursor:default}.fin-thumb img{width:100%;height:100%;object-fit:cover;display:block}.fin-thumb--empty{opacity:.7}@media (max-width: 1100px){table.fin-items .fin-col-thumb,table.fin-items .fin-thumb-cell{width:38px}.fin-thumb{width:34px;height:34px}}.fin-item-card__head{display:flex;align-items:center;justify-content:flex-start;gap:10px}table.fin-items td.fin-thumb-cell{vertical-align:top}.fin-item-card,.fin-item-card dl,.fin-item-card dd,.fin-item-card__head strong{min-width:0;overflow-wrap:anywhere}.fin-item-card .fin-inv-link{max-width:100%}.fin-summary__cell{border-left-width:4px;--tone: var(--muted);border-left-color:var(--tone);background:color-mix(in srgb,var(--tone) 8%,var(--panel))}.fin-summary__cell .fin-summary__value{color:var(--tone)}.fin-tone--purple{--tone: #a78bfa}.fin-tone--green{--tone: #22c55e}.fin-tone--orange{--tone: #f59e0b}.fin-tone--lime{--tone: #a3e635}.fin-tone--gray{--tone: #9ca3af}.fin-tone--light{--tone: #e5e7eb}.fin-summary__cell.is-neg .fin-summary__value{color:var(--crit)}.landing-nav a[aria-current=page]{color:#93c5fd;font-weight:600}.tvh-hero{background:radial-gradient(120% 120% at 0% 0%,#1e3a5f,#0f1419 60%);color:#e2e8f0;padding:56px 0 64px}.tvh-hero-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:36px;align-items:center}.tvh-hero h1{margin:0 0 14px;font-size:clamp(1.7rem,3.6vw,2.6rem);line-height:1.15;color:#fff}.tvh-hero .landing-eyebrow{color:#93c5fd}.tvh-lead{margin:0 0 22px;color:#e2e8f0db;line-height:1.6;font-size:1.05rem;max-width:56ch}.tvh-btn-light{background:transparent;color:#e2e8f0;border:1px solid rgba(255,255,255,.3)}.tvh-btn-light:hover{border-color:#93c5fd;color:#93c5fd}.tvh-hero-pic{margin:0;border-radius:18px;overflow:hidden;box-shadow:0 30px 80px #00000073}.tvh-hero-pic img,.tvh-shot img{display:block;width:100%;height:auto}.tvh-chips{display:flex;gap:8px;overflow-x:auto;padding:16px 0 4px;scrollbar-width:none}.tvh-chips::-webkit-scrollbar{display:none}.tvh-chips a{flex:0 0 auto;padding:7px 14px;border-radius:999px;background:#fff;border:1px solid var(--l-border);color:var(--l-ink);text-decoration:none;font-size:.9rem}.tvh-chips a:hover{border-color:var(--l-accent);color:var(--l-accent)}.tvh-feature{scroll-margin-top:70px}.tvh-feature-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:40px;align-items:center}.tvh-rev .tvh-feature-grid>:first-child{order:2}.tvh-feature h2,.tvh-custom h2{line-height:1.2}.tvh-text{color:var(--l-muted);line-height:1.65;margin:0 0 14px}.tvh-bullets{margin:0;padding:0;list-style:none;display:grid;gap:8px}.tvh-bullets li{position:relative;padding-left:26px;line-height:1.45}.tvh-bullets li:before{content:"";position:absolute;left:0;top:.2em;width:16px;height:16px;border-radius:50%;background:var(--l-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.2l2.6 2.5L12 5.4' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}.tvh-shot{margin:0;background:#0f1419;border-radius:14px;overflow:hidden;border:1px solid var(--l-border);box-shadow:0 18px 44px #0f172a24}.tvh-shot figcaption{padding:8px 12px;font-size:.8rem;color:#94a3b8;background:#0f1419}.tvh-crop{aspect-ratio:16 / 7}.tvh-crop img{height:100%;object-fit:cover;object-position:0 18%;transform:scale(2);transform-origin:0 18%}.tvh-crop figcaption{position:relative}.tvh-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}.tvh-photo{border:0;background:none}.tvh-custom{background:linear-gradient(180deg,#f4f7fb,#e8eef8)}.tvh-note{margin:14px 0 0;font-size:.85rem;color:var(--l-muted)}.tvh-contact{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.tvh-contact .landing-section-lead{margin-bottom:0}@media (max-width: 900px){.tvh-hero{padding:28px 0 36px}.tvh-hero-grid,.tvh-feature-grid,.tvh-pair{grid-template-columns:1fr;gap:20px}.tvh-rev .tvh-feature-grid>:first-child{order:0}.tvh-feature-grid>figure{order:2}.landing-section.tvh-feature,.tvh-custom{padding:36px 0}.tvh-contact .landing-cta-row{width:100%}.tvh-contact .landing-cta-row>*{flex:1 1 100%;justify-content:center;text-align:center}}@media (max-width: 420px){.landing-header .landing-btn-ghost{padding:8px 10px;font-size:.82rem}.landing-header .landing-brand img{height:30px;width:auto}}.tvh-price{display:inline-block;margin:0 0 20px;padding:6px 14px;border-radius:999px;font-weight:700;font-size:1.05rem;background:#38bdf824;color:#7dd3fc;border:1px solid rgba(125,211,252,.35)}.tvh-contact .tvh-price{margin:12px 0 0;background:#2563eb14;color:#1d4ed8;border-color:#2563eb40}.tvh-slides-stage{position:relative;width:100%;background:#0f1419;touch-action:pan-y}.tvh-slide{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .6s ease}.tvh-slide.is-active{opacity:1}.tvh-slides .tvh-slide img{width:100%;height:100%;object-fit:contain}.tvh-slides-still .tvh-slide{transition:none}@media (prefers-reduced-motion: reduce){.tvh-slide{transition:none}}.tvh-slides-bar{display:flex;align-items:center;justify-content:space-between;gap:12px}.tvh-dots{display:inline-flex;gap:2px;flex:none}.tvh-dot{width:24px;height:24px;padding:0;border:0;background:transparent;cursor:pointer;position:relative}.tvh-dot:after{content:"";position:absolute;left:7px;top:7px;width:10px;height:10px;border-radius:50%;background:#94a3b873;transition:background .2s,transform .2s}.tvh-dot.is-active:after{background:#38bdf8;transform:scale(1.15)}.tvh-dot:focus-visible{outline:2px solid #38bdf8;outline-offset:-2px;border-radius:6px}.tvh-caps{display:grid;flex:1 1 auto;min-width:0}.tvh-caps>span{grid-area:1 / 1;visibility:hidden}.tvh-caps>span.is-active{visibility:visible}.tvh-inline-list{margin:0 0 16px}.tvh-lead-list{margin:-8px 0 22px;color:#e2e8f0e6}.tvh-contact>div:first-child{flex:1 1 640px;max-width:800px}.tvh-plans{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.tvh-plan{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#fff;border:1px solid var(--l-border, #dbe3ee);border-radius:14px;box-shadow:0 8px 24px #0f172a0f}.tvh-plan-pic{flex:none;width:56px;height:56px;background:none;border:0;outline:0;box-shadow:none;padding:0}.tvh-plan-pic img{width:56px;height:56px;display:block;border:0;outline:0;box-shadow:none;background:none}.tvh-plan p{margin:0}.tvh-plan-title{font-weight:700;color:#0f172a}.tvh-plan-price{font-weight:800;font-size:1.05rem;color:#1d4ed8;margin-top:2px!important}.tvh-plan-note{font-size:.85rem;color:var(--l-muted, #64748b);margin-top:2px!important}@media (max-width: 700px){.tvh-plans{grid-template-columns:1fr}}.pay-result{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px 16px;background:radial-gradient(1200px 500px at 50% -10%,color-mix(in srgb,var(--accent) 14%,transparent),transparent),var(--bg)}.pay-result__brand{font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.85rem}.pay-result__card{width:min(460px,100%);background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:28px 24px;text-align:center;box-shadow:0 18px 50px #00000059;display:grid;gap:14px;justify-items:center}.pay-result__card--ok{border-color:color-mix(in srgb,var(--ok) 55%,var(--border))}.pay-result__card--fail{border-color:color-mix(in srgb,var(--crit) 55%,var(--border))}.pay-result__icon{width:72px;height:72px;border-radius:50%;display:grid;place-items:center}.pay-result__icon svg{width:40px;height:40px}.pay-result__icon--ok{color:var(--ok);background:color-mix(in srgb,var(--ok) 14%,transparent)}.pay-result__icon--wait{color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.pay-result__icon--fail{color:var(--crit);background:color-mix(in srgb,var(--crit) 14%,transparent)}.pay-result__icon--off{color:var(--muted);background:#93a4b824}.pay-result__spin{animation:pay-result-spin 1.1s linear infinite;transform-origin:50% 50%}@keyframes pay-result-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.pay-result__spin{animation:none}}.pay-result__title{margin:0;font-size:1.45rem;line-height:1.25;overflow-wrap:anywhere}.pay-result__text{margin:0;color:var(--muted);line-height:1.5}.pay-result__muted{margin:0;color:var(--muted);font-size:.85rem}.pay-result__facts{width:100%;margin:6px 0 0;display:grid;gap:0;border-top:1px solid var(--border)}.pay-result__facts>div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--border);text-align:left}.pay-result__facts dt{color:var(--muted);font-size:.9rem}.pay-result__facts dd{margin:0;font-weight:600;text-align:right;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.pay-result__btn{background:var(--accent);color:#fff;border:0;border-radius:10px;padding:10px 18px;cursor:pointer;font-weight:600}.pay-result__btn:hover{filter:brightness(1.1)}@media (max-width: 420px){.pay-result__card{padding:22px 16px}.pay-result__title{font-size:1.25rem}}.cp{--cp-ink: #1c1c1e;--cp-body: #3a3a3c;--cp-muted: #8e8e93;--cp-blue: #0a84ff;--cp-band: #f4f7fb;--cp-line: #e8e8ed;--cp-green: #1e9e5a;min-height:100vh;background:var(--cp-band);color:var(--cp-body);font:15px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;max-width:880px;margin:0 auto;padding:0 16px 32px;display:grid;gap:14px;align-content:start;box-sizing:border-box;color-scheme:light}.cp *,.cp *:before,.cp *:after{box-sizing:border-box}.cp-top{padding:18px 2px 4px;border-bottom:2px solid var(--cp-blue)}.cp-brand{display:flex;align-items:center;gap:12px;padding-bottom:12px}.cp-brand strong{display:block;color:var(--cp-ink);font-size:1.05rem}.cp-brand span{display:block;color:var(--cp-muted);font-size:.78rem;letter-spacing:.06em}.cp-card{background:#fff;border:1px solid var(--cp-line);border-radius:14px;padding:18px}.cp-center{text-align:center;padding:40px 18px}.cp-h1{margin:0;color:var(--cp-ink);font-size:1.5rem;line-height:1.2}.cp-h2{margin:0 0 10px;color:var(--cp-ink);font-size:.82rem;text-transform:uppercase;letter-spacing:.07em}.cp-muted{margin:2px 0 0;color:var(--cp-muted);font-size:.9rem}.cp-hero{display:grid;gap:14px;grid-template-columns:1fr auto;align-items:start}.cp-total{text-align:right;display:grid;gap:2px}.cp-total span{color:var(--cp-muted);font-size:.85rem}.cp-total strong{color:var(--cp-ink);font-size:1.75rem;font-variant-numeric:tabular-nums;white-space:nowrap}.cp-total small{color:var(--cp-muted);font-size:.75rem}.cp-pay{display:grid;gap:10px}.cp-hint{margin:0;padding:0 2px}.cp-banner{display:flex;gap:8px;align-items:center;border-radius:10px;padding:10px 14px;font-weight:600}.cp-banner--ok{background:#effaf3;color:var(--cp-green);border:1px solid #bfe6cf}.cp-banner--off{background:#f2f2f5;color:#6b6b70;border:1px solid var(--cp-line)}.cp-banner--wait{background:#eef5ff;color:#0a5fc2;border:1px solid #cfe2ff}.cp-banner--fail{background:#fff1f0;color:#c4321f;border:1px solid #ffd2cc}.cp-actions{display:flex;gap:10px;flex-wrap:wrap}.cp-actions .cp-btn{flex:0 0 auto}.cp-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:12px;padding:13px 22px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;text-align:center;border:1px solid transparent;min-height:48px;display:inline-flex;align-items:center;justify-content:center}.cp-btn--primary{background:var(--cp-blue);color:#fff}.cp-btn--primary:hover{background:#0071e3}.cp-btn--primary:disabled{opacity:.6;cursor:progress}.cp-btn--ghost{background:#fff;color:var(--cp-blue);border-color:#b9d8ff}.cp-btn--ghost:hover{background:#f0f7ff}.cp-max{display:grid;gap:12px}.cp-max-row{display:grid;gap:6px;justify-items:start}.cp-max-btn{gap:10px;min-height:44px;padding:10px 18px}.cp-max-btn img,.cp-max-on img{display:block;flex:none}.cp-max-hint{margin:0;color:var(--cp-muted);font-size:.85rem;line-height:1.35}.cp-max-on{margin:0}.cp-max-on svg{flex:none}.cp-error{margin:0;color:#c4321f;font-size:.9rem}.cp-parties{display:grid;gap:14px;grid-template-columns:1fr 1fr}.cp-dl{margin:0;display:grid;gap:6px}.cp-dl>div{display:grid;grid-template-columns:118px 1fr;gap:10px}.cp-dl dt{color:var(--cp-muted);font-size:.85rem}.cp-dl dd{margin:0;color:var(--cp-ink);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.cp-items-head{display:flex;justify-content:space-between;align-items:baseline}.cp-sub{color:var(--cp-muted);font-variant-numeric:tabular-nums}.cp-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.cp-table th{text-align:left;color:var(--cp-muted);font-weight:500;font-size:.8rem;padding:6px 8px;border-bottom:1px solid var(--cp-line)}.cp-table td{padding:10px 8px;border-bottom:1px solid var(--cp-line);color:var(--cp-ink);vertical-align:top}.cp-table tr:last-child td{border-bottom:0}.cp-n{width:34px;color:var(--cp-muted)!important}.cp-r{text-align:right!important;white-space:nowrap}.cp-name{overflow-wrap:anywhere}.cp-qx{display:none}.cp-sum{display:grid;gap:6px}.cp-sum>div{display:flex;justify-content:space-between;font-variant-numeric:tabular-nums}.cp-sum-total{padding-top:8px;border-top:1px solid var(--cp-line);color:var(--cp-ink);font-size:1.1rem}.cp-sum-total strong{color:var(--cp-blue)}.cp-acc{all:unset;box-sizing:border-box;width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer;min-height:32px}.cp-acc:focus-visible{outline:2px solid var(--cp-blue);outline-offset:4px;border-radius:6px}.cp-acc .cp-h2{display:block;margin:0}.cp-acc-sum{display:block;color:var(--cp-ink);margin-top:2px;overflow-wrap:anywhere}.cp-acc-chev{flex:0 0 auto;color:var(--cp-muted);transition:transform .15s}.cp-party.is-open .cp-acc-chev{transform:rotate(180deg)}.cp-party.is-open .cp-acc+.cp-dl{margin-top:12px}.cp-foot{text-align:center;color:var(--cp-muted);font-size:.78rem;padding-top:4px}@media (max-width: 640px){.cp{padding:0 12px 24px;font-size:14.5px}.cp-hero{grid-template-columns:1fr}.cp-total{text-align:left}.cp-parties{grid-template-columns:1fr}.cp-dl>div{grid-template-columns:104px 1fr}.cp-card{padding:14px;border-radius:12px}.cp-max-row,.cp-max-btn{width:100%}.cp-table thead{display:none}.cp-table,.cp-table tbody,.cp-table tr,.cp-table td{display:block;width:100%}.cp-table tr{display:grid;grid-template-columns:26px 1fr auto;gap:2px 8px;padding:10px 0;border-bottom:1px solid var(--cp-line)}.cp-table tr:last-child{border-bottom:0}.cp-table td{border:0;padding:0}.cp-table .cp-n{grid-row:1 / span 2;width:auto}.cp-table .cp-name{grid-column:2 / 4}.cp-table .cp-qty{grid-column:2;text-align:left!important;color:var(--cp-muted);font-size:.88rem}.cp-table .cp-price{display:none}.cp-table .cp-qx{display:inline}.cp-table .cp-sum{grid-column:3;grid-row:2;font-weight:600}.cp-actions .cp-btn{flex:1 1 150px;padding:12px 10px}}.cp.lk-page{--cp-ink: #f2f2f7;--cp-body: #d1d1d6;--cp-muted: #8e8e93;--cp-band: #0d1117;--cp-line: #232c38;color-scheme:dark;padding:0 10px 20px;font-size:14px}.lk-page>*{box-sizing:border-box;width:100%;max-width:720px;margin-left:auto;margin-right:auto}.lk-page .cp-card{background:#151b23;border-color:var(--cp-line);padding:14px}.lk-page .cp-banner{padding:6px 10px;font-size:12px;margin:0 auto 8px}.lk-page .cp-banner--wait{background:#ff9f0a1f;color:#ffb340;border:1px solid rgba(255,159,10,.3)}.lk-page .cp-error{color:#ff6961}.lk-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 2px 8px;border-bottom:1px solid var(--cp-line);margin-bottom:8px}.lk-brand{display:flex;align-items:center;gap:8px;color:var(--cp-ink);font-size:15px}.lk-menu{display:flex;gap:6px}.lk-menu-item{padding:4px 10px;border-radius:999px;font-weight:600;font-size:12px;color:#9fb0c4;background:#ffffff0d}.lk-menu-item.is-active{color:#fff;background:#0a84ff}.lk-phones{margin:0 0 6px;font-size:12px;color:var(--cp-muted)}.lk-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.lk-row{color:var(--cp-body);background:#151b23;border:1px solid var(--cp-line);border-radius:10px;padding:8px 10px;display:grid;gap:4px}.lk-line{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:26px}.lk-num{color:var(--cp-ink);font-weight:700;white-space:nowrap}.lk-date{color:var(--cp-muted);font-weight:400;font-size:12px;margin-left:4px}.lk-amount{color:var(--cp-ink);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.lk-meta{display:flex;align-items:center;gap:2px;min-width:0}.lk-status{padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap}.lk-status--ok{background:#30d15829;color:#30d158}.lk-status--wait{background:#ff9f0a29;color:#ff9f0a}.lk-status--off{background:#8e8e932e;color:#aeaeb2}.lk-actions{display:flex;gap:6px;flex-shrink:0}.lk-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;font-size:12px;font-weight:600;padding:4px 10px;min-height:26px;border-radius:8px;cursor:pointer;background:transparent;color:#64b5ff;border:1px solid #2b4a6b}.lk-btn--primary{background:#0a84ff;color:#fff;border-color:#0a84ff}.lk-steps{margin:8px 0;padding-left:18px;line-height:1.45}.lk-center{text-align:center;margin-top:32px}@media (min-width: 641px){.cp.lk-page{padding:0 20px 28px}.lk-list{grid-template-columns:1fr 1fr}}:root{--bg: #0f1419;--panel: #171e26;--panel-2: #1e2732;--border: #2a3542;--text: #e7eef7;--muted: #93a4b8;--accent: #3b82f6;--teal: #14b8a6;--ok: #22c55e;--warn: #f59e0b;--crit: #ef4444;--radius: 12px;--sidebar-w: 230px;--sidebar-collapsed-w: 64px;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.layout{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100%;transition:grid-template-columns .2s ease}.layout.sidebar-collapsed{grid-template-columns:var(--sidebar-collapsed-w) minmax(0,1fr)}.sidebar{background:var(--panel);border-right:1px solid var(--border);padding:16px 12px;display:flex;flex-direction:column;gap:8px;position:sticky;top:0;height:100vh;overflow-x:hidden;overflow-y:auto;z-index:40}.brand-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;min-height:40px}.netmon-logo-text{font-weight:700;font-size:1.15rem;letter-spacing:.04em}.sidebar-toggle{padding:4px 8px;min-width:32px;flex-shrink:0}.layout.sidebar-collapsed .sidebar-toggle{margin:0 auto}.layout.sidebar-collapsed .brand-row{flex-direction:column}.layout.sidebar-collapsed .sidebar .netmon-logo-mark{margin:0 auto}.layout.sidebar-collapsed .nav-label,.layout.sidebar-collapsed .logout-btn .nav-label,.layout.sidebar-collapsed .app-footer{display:none}.layout.sidebar-collapsed .nav a{justify-content:center;padding:10px}.logout-glyph{display:none}.layout.sidebar-collapsed .logout-glyph{display:inline}.layout.sidebar-collapsed .logout-btn{padding:8px;display:flex;justify-content:center;align-items:center}.nav a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;color:var(--muted);white-space:nowrap}.nav a .nav-icon{flex-shrink:0;color:var(--muted)}.nav a.active .nav-icon,.nav a:hover .nav-icon{color:var(--teal)}.nav a.active,.nav a:hover{background:var(--panel-2);color:var(--text)}.nav-group{position:relative;display:flex;flex-direction:column;gap:2px}.nav-group-row{display:flex;align-items:center;gap:2px}.nav-group-row .nav-parent{flex:1;min-width:0}.nav-caret{padding:4px 6px;min-width:28px;line-height:1;flex-shrink:0}.nav-sub{display:flex;flex-direction:column;gap:2px;padding:2px 0 4px 28px}.nav-sub a{padding:7px 10px;font-size:.9rem}.nav-group.active-group>.nav-group-row .nav-parent{color:var(--text)}.nav-flyout{display:none;position:absolute;left:calc(100% + 6px);top:0;min-width:160px;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:6px;z-index:50;box-shadow:0 8px 24px #00000059}.layout.sidebar-collapsed .nav-group:hover .nav-flyout{display:flex;flex-direction:column;gap:2px}.layout.sidebar-collapsed .nav-flyout a{padding:8px 10px;border-radius:6px;color:var(--muted);white-space:nowrap}.layout.sidebar-collapsed .nav-flyout a:hover,.layout.sidebar-collapsed .nav-flyout a.active{background:var(--panel-2);color:var(--text)}.simple-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.simple-list li{display:flex;align-items:center;gap:8px}.content{padding:22px 24px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:12px}h1{margin:0;font-size:1.4rem}.muted{color:var(--muted)}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.tariff-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.tariff-card{display:flex;flex-direction:column;gap:16px;min-width:0}.tariff-card--basic{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.tariff-card__heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.tariff-card__heading h3{margin:2px 0 0;font-size:1.25rem}.tariff-card__price{color:var(--text);font-size:1.3rem;font-weight:700;text-align:right}.tariff-card__price small{display:block;color:var(--muted);font-size:.75rem;font-weight:400}.tariff-card__limits{display:grid;gap:6px;padding:12px;border-radius:10px;background:var(--bg)}.tariff-card__features{display:grid;gap:7px;margin:0;padding-left:20px}.tariff-card__note{margin-top:auto;font-size:.82rem}.tariff-admin-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--border);padding-top:12px}.tariff-admin-actions{display:flex;gap:8px;flex-wrap:wrap}.tariff-admin-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tariff-admin-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tariff-quote-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.tariff-quote-result{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--border);padding-top:10px}.tariff-usage-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}@media (max-width: 960px){.tariff-grid{grid-template-columns:1fr}}@media (max-width: 960px){.tariff-admin-fields,.tariff-admin-features,.tariff-quote-fields,.tariff-usage-grid{grid-template-columns:1fr}.tariff-admin-row,.tariff-quote-result{align-items:flex-start;flex-direction:column}}.grid{display:grid;gap:14px}.grid.kpi{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.kpi .value{font-size:1.8rem;font-weight:700;margin-top:6px}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.table{width:100%;border-collapse:collapse;min-width:520px}.table th,.table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--border);font-size:.92rem}.icon-cell{width:36px;vertical-align:middle}.clickable-row{cursor:pointer}.clickable-row:hover{background:var(--panel-2)}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:600}.badge.ok{background:#22c55e26;color:var(--ok)}.badge.off{background:#ef444426;color:var(--crit)}.badge.warn{background:#f59e0b26;color:var(--warn)}.badge.unk{background:#93a4b826;color:var(--muted)}.btn{background:var(--accent);color:#fff;border:0;border-radius:8px;padding:8px 14px;cursor:pointer}.btn.secondary{background:var(--panel-2);border:1px solid var(--border);color:var(--text)}.btn:disabled{opacity:.5;cursor:not-allowed}.input{width:100%;background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:10px 12px;resize:vertical}.form{display:grid;gap:12px;max-width:360px}.form label{display:grid;gap:6px;font-size:.9rem;color:var(--muted)}.form-actions{display:flex;gap:10px;flex-wrap:wrap}.checkbox-row{display:flex!important;flex-direction:row!important;align-items:center;gap:10px;color:var(--text)!important}.login-wrap{min-height:100%;display:grid;place-items:center;padding:24px}.login-card{width:100%;max-width:440px}.login-brand{display:flex;justify-content:center;margin-bottom:8px}.login-logo{width:320px;max-width:100%;height:auto;display:block}.sidebar .netmon-logo-wordmark,.sidebar .netmon-logo-full{width:152px;max-width:calc(100% - 40px);height:auto;max-height:42px;object-fit:contain;object-position:left center;flex:1;min-width:0}.sidebar .netmon-logo-mark{width:32px;height:32px;object-fit:contain;flex-shrink:0}.viewer-banner{font-size:.72rem;color:var(--muted);text-align:center;padding:2px 0 8px;letter-spacing:.02em}.layout.sidebar-collapsed .viewer-banner{display:none}img.netmon-logo{display:block}.login-footer,.app-footer{margin-top:8px;font-size:.78rem;color:var(--muted);text-align:center}.login-footer a,.app-footer a{color:var(--muted);border-bottom:1px dashed var(--border)}.login-footer a:hover,.app-footer a:hover{color:var(--teal)}.app-footer{padding:8px 4px 0}.port-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}.port{border:1px solid var(--border);border-radius:8px;padding:8px;cursor:pointer;background:var(--panel-2);text-align:center;font-size:.8rem}.port.up{border-color:#22c55e80}.port.down{border-color:#ef444466;opacity:.8}.port.selected{outline:2px solid var(--accent)}.error{color:var(--crit);font-size:.9rem}.stack{display:grid;gap:14px}.floating-panel{box-sizing:border-box;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);overflow:auto}.switch-port-menu.floating-panel{width:max-content;max-width:min(360px,calc(100vw - 16px))}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);display:grid;place-items:center;padding:16px;z-index:100}.modal{width:min(520px,100%);max-height:calc(100vh - 32px);overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px;color:var(--text);box-shadow:0 16px 48px #00000073;position:relative;z-index:1}.vendor-api-modal{width:min(1180px,96vw)}.vendor-api-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0}.vendor-api-raw-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto}.vendor-api-raw{max-height:68vh;overflow:auto;white-space:pre-wrap;word-break:break-word;background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:14px}.vendor-api-report{display:grid;gap:14px;min-width:0;max-width:100%}.vendor-api-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.vendor-api-summary-card{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:12px;min-width:0}.vendor-api-summary-value{font-size:1.3rem;font-weight:700;margin:5px 0 3px;overflow-wrap:anywhere}.vendor-api-summary-hint{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.vendor-api-summary-hint.ok{color:var(--ok)}.vendor-api-summary-hint.warning{color:var(--warn)}.vendor-api-summary-hint.error{color:var(--crit)}.vendor-api-section{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:14px;min-width:0;max-width:100%}.vendor-api-section h3{margin:0 0 12px;font-size:1rem}.vendor-api-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.vendor-api-attention{border-color:#f59e0b80;background:#f59e0b14;color:var(--text);display:grid;gap:6px}.vendor-api-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 18px;margin:0}.vendor-api-details div{min-width:0}.vendor-api-details dt{color:var(--muted);font-size:12px;margin-bottom:3px}.vendor-api-details dd{margin:0;overflow-wrap:anywhere}.vendor-api-note{color:var(--muted);font-size:12px;line-height:1.45;margin-top:12px}.vendor-api-camera-table{min-width:900px}.vendor-api-cell-note{font-size:11px;margin-top:3px;white-space:nowrap}.vendor-api-device-link{display:inline-flex;align-items:center;gap:7px;color:var(--teal);font-weight:700}.vendor-api-device-link:hover{text-decoration:underline}.vendor-camera-link-btn{display:block;margin-top:7px;padding:4px 9px;font-size:12px}.vendor-camera-picker{width:min(620px,96vw)}.vendor-camera-picker .topbar h2{margin:0 0 4px;font-size:1.15rem}.vendor-camera-picker-list{display:grid;gap:7px;max-height:min(55vh,520px);overflow-y:auto;margin:14px 0}.vendor-camera-picker-row{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:9px;cursor:pointer;background:var(--panel-2)}.vendor-camera-picker-row:hover,.vendor-camera-picker-row.selected{border-color:var(--accent)}.vendor-camera-picker-row>span{display:grid;gap:3px;min-width:0}.vendor-camera-picker-row .muted{font-size:12px}.vendor-camera-picker-actions{justify-content:flex-end;margin-top:14px}.vendor-api-row-warning{background:#f59e0b0f}.vendor-api-row-error{background:#ef444412}.vendor-api-empty{color:var(--muted);padding:24px 4px;text-align:center}.recorder-link-list{display:grid;gap:8px}.recorder-link-card{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--panel-2)}.recorder-link-card:hover{border-color:var(--accent)}.recorder-link-card>span{display:grid;gap:4px}.recorder-link-card .muted{font-size:12px}.vendor-api-inline-card{display:grid;gap:14px;min-width:0;max-width:100%;overflow:hidden}.vendor-api-inline-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.vendor-api-inline-head h2{margin:0 0 4px;font-size:1.15rem}.hikvision-camera-summary{display:flex;align-items:center;gap:24px;min-height:170px}.hikvision-camera-summary .kpi-donut{flex:0 0 auto}.hikvision-camera-legend{display:grid;gap:10px}.hikvision-camera-legend>div{display:flex;align-items:center;gap:7px}.hikvision-legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex:0 0 auto}.hikvision-legend-dot.online{background:var(--ok)}.hikvision-legend-dot.offline{background:var(--crit)}.hikvision-legend-dot.warn{background:var(--warn, #f59e0b)}.hikvision-legend-dot.matched{background:var(--accent)}@media (max-width: 760px){.vendor-api-summary-grid,.vendor-api-details{grid-template-columns:1fr}.vendor-api-report{font-size:1rem}.vendor-api-section{padding:12px}.vendor-api-section h3{font-size:1.08rem}.vendor-api-details dt{font-size:.8rem}.vendor-api-details dd{font-size:1rem;line-height:1.4}.vendor-api-note,.vendor-api-cell-note{font-size:.82rem;line-height:1.4}.vendor-api-inline-head{align-items:flex-start}.vendor-api-inline-head h2{font-size:1.2rem}.vendor-api-section .table-scroll{width:100%;max-width:100%;min-width:0}.vendor-api-raw-actions{width:100%;margin-left:0}.hikvision-camera-summary{align-items:flex-start;flex-direction:column;gap:12px}.device-detail-page .agent-meta{grid-template-columns:1fr;gap:14px}.device-detail-page .agent-meta .meta-label{font-size:.78rem}.device-detail-page .agent-meta .meta-value{font-size:1rem;line-height:1.4;margin-top:3px}.device-detail-page>.topbar{flex-direction:column;align-items:stretch;gap:12px}.device-detail-page .device-title{font-size:1.35rem;line-height:1.25}.device-detail-page .device-detail-top-right{align-items:stretch;flex-direction:column}.device-detail-page .device-detail-top-right .form-actions{width:100%}.device-detail-page .device-detail-top-right .form-actions .btn{min-height:44px;font-size:.95rem;flex:1 1 auto;justify-content:center}.device-detail-page .camera-shot{width:100%;max-width:none}.device-detail-page .camera-shot img{width:100%}.device-detail-page .camera-shot-meta,.device-detail-page .recorder-link-card .muted{font-size:.9rem}.device-detail-page .camera-shot-actions .btn{width:100%;min-height:44px;font-size:1rem}.device-detail-page{min-width:0;max-width:100%;overflow-x:hidden}.device-detail-page>.card{min-width:0;max-width:100%}.device-detail-page .hvr-stream-row{grid-template-columns:1fr;padding:12px}.device-detail-page .hvr-stream-row .form-actions{width:100%;flex-direction:row!important}.device-detail-page .hvr-stream-row .btn{min-height:44px;font-size:.95rem}}.device-card-bottom-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.device-delete-btn{margin-left:auto;color:var(--muted);border-color:transparent}.device-delete-btn:hover,.device-delete-btn:focus-visible{color:var(--crit);border-color:#ef44448c;background:#ef444414}.mobile-hamburger{display:none;position:fixed;top:12px;left:12px;z-index:60;width:42px;height:42px;padding:0;align-items:center;justify-content:center}.hamburger-lines,.hamburger-lines:before,.hamburger-lines:after{display:block;width:18px;height:2px;background:var(--text);border-radius:1px;position:relative}.hamburger-lines:before,.hamburger-lines:after{content:"";position:absolute;left:0}.hamburger-lines:before{top:-6px}.hamburger-lines:after{top:6px}.sidebar-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:35}@media (max-width: 860px){.layout,.layout.sidebar-collapsed{grid-template-columns:1fr}.mobile-hamburger{display:inline-flex}.sidebar{position:fixed;left:0;top:0;bottom:0;width:min(280px,86vw);transform:translate(-105%);transition:transform .2s ease;height:100vh;box-shadow:none}.layout.mobile-nav-open .sidebar{transform:translate(0);box-shadow:8px 0 32px #0006}.layout.mobile-nav-open .sidebar-backdrop,.layout.sidebar-collapsed .nav-label,.layout.sidebar-collapsed .logout-btn .nav-label,.layout.sidebar-collapsed .app-footer,.app-footer{display:block}.app-footer{flex-shrink:0}.app-version{display:block}.layout.mobile-nav-open .mobile-hamburger{left:calc(min(280px,86vw) - 54px);top:12px}.layout.sidebar-collapsed .nav a{justify-content:flex-start;padding:10px 12px}.layout.sidebar-collapsed .brand-row{flex-direction:row}.layout.sidebar-collapsed .sidebar .netmon-logo-text{display:inline}.sidebar-toggle,.layout.sidebar-collapsed .logout-glyph{display:none}.layout.sidebar-collapsed .logout-btn{justify-content:flex-start;padding:8px 14px}.content{padding:64px 14px 24px;width:100%}.login-card{max-width:none;width:100%}.form{max-width:none}.snmp-report .agent-meta{grid-template-columns:1fr 1fr;gap:10px 12px}.snmp-kpi-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;justify-items:center}.snmp-load-block{width:100%}.snmp-spark{width:100%;max-width:none}.snmp-kpi-hint{max-width:100%}.snmp-history-charts{grid-template-columns:1fr}.snmp-chart-box--sm{height:160px}.snmp-chart-box--traffic{height:200px}.snmp-chart-box--port{height:220px}.snmp-ports-table{display:none}.snmp-port-cards{display:flex;flex-direction:column;gap:10px}.snmp-desc-row{flex-direction:column;align-items:stretch}.snmp-desc-row .input{width:100%;min-width:0}.snmp-desc-row .btn{align-self:flex-start;min-height:44px;padding:8px 14px}.snmp-ports-head{flex-wrap:wrap}.devices-page .topbar{flex-direction:column;align-items:stretch;gap:10px}.devices-page .topbar .form-actions{width:100%;display:flex;flex-direction:row;flex-wrap:wrap;gap:8px}.devices-page .topbar .form-actions .btn{flex:1 1 auto;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:6px}.live-feed-tabs.agent-tabs,.agent-tabs.live-feed-tabs{flex-wrap:wrap;overflow-x:visible;white-space:normal}.live-feed-tabs .agent-tab{flex:1 1 auto;text-align:center;min-width:calc(33.33% - 6px)}.object-agents-section .agent-donuts--compact .kpi-donut,.object-agents-section .agent-donuts--compact .kpi-donut.compact{width:48px;height:48px}.object-agents-section .agent-donuts--compact .agent-donut-item{min-width:56px}.object-agents-section .agent-donuts--compact .kpi-donut-center{font-size:.55rem}.object-agents-section .agent-donuts--large .kpi-donut,.object-agents-section .agent-donuts--side .kpi-donut{width:80px;height:80px}.agent-detail .agent-meta,.agent-meta{grid-template-columns:1fr 1fr;gap:10px 12px}.agent-detail .agent-donuts,.agent-donuts{justify-content:center;gap:10px;flex-wrap:wrap}.agent-donut-item{min-width:72px}.agent-donuts .kpi-donut{width:72px;height:72px}.agent-detail .metrics-grid,.metrics-grid{grid-template-columns:1fr 1fr}.agent-detail .table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.desktop-only-table{display:none!important}.mobile-only-cards{display:flex!important;flex-direction:column;gap:10px}.agent-detail,.objects-table,.events-page,.partners-page{overflow-x:hidden;max-width:100%}}.grid.kpi{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.kpi-clickable{cursor:pointer;text-align:left;color:inherit;font:inherit;width:100%;transition:border-color .15s ease,background .15s ease}.kpi-clickable:hover{border-color:var(--teal);background:var(--panel-2)}.kpi-chart-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:88px}.kpi-donut{position:relative;width:84px;height:84px;flex-shrink:0}.kpi-donut.compact{width:52px;height:52px}.kpi-donut.compact .kpi-donut-center{font-size:.58rem}.object-donut-col{width:72px;vertical-align:middle;position:relative;overflow:visible}.object-donut-col .kpi-donut.compact{transition:transform .18s ease;transform-origin:center center;position:relative;z-index:1}.object-donut-col{width:84px}.kpi-donut.compact.object-donut{width:68px;height:68px;margin:0 auto}.kpi-donut.compact.object-donut.empty{box-sizing:border-box;border-width:2px}.kpi-donut-center.object-donut-label,.object-donut .object-donut-label{font-size:.8rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em;line-height:1;white-space:nowrap}.kpi-donut-center.object-donut-label--mid{font-size:.7rem}.kpi-donut-center.object-donut-label--long{font-size:.62rem;letter-spacing:-.02em}.kpi-donut.empty{display:grid;place-items:center;border:2px dashed var(--border);border-radius:50%}.kpi-donut-center{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none;font-size:.72rem;font-weight:700;color:var(--text);line-height:1}.agent-donuts{display:flex;flex-wrap:wrap;gap:16px 20px;align-items:flex-start}.agent-donut-item{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:88px}.agent-donut-note{font-size:.72rem;text-align:center;line-height:1.2;max-width:96px}.agent-donut-label{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.02em}.kpi-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;font-size:.75rem;color:var(--muted)}.kpi-legend .leg.ok{color:var(--ok)}.kpi-legend .leg.off{color:var(--crit)}.kpi-legend .leg.unk{color:var(--muted)}.modal-wide{width:min(720px,100%)}.app-version{display:block;margin-top:4px;font-size:.72rem;color:var(--muted);opacity:.85;letter-spacing:.02em;text-decoration:none;cursor:pointer}a.app-version:hover{color:var(--teal);text-decoration:underline;opacity:1}.status-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--muted);flex-shrink:0;vertical-align:middle}.status-dot.ok{background:var(--ok);box-shadow:0 0 6px #22c55e8c}.status-dot.off{background:var(--crit);box-shadow:0 0 6px #ef444473}.status-dot.warn{background:var(--warn);box-shadow:0 0 6px #f59e0b80}.status-dot.unk{background:var(--muted)}.status-dot.disabled{background:#4a5563;opacity:.75}.status-col{width:28px;text-align:center}.status-col .status-dot{width:12px;height:12px}.agent-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px 16px}.agent-meta .meta-label{font-size:.72rem;color:var(--muted);letter-spacing:.02em;text-transform:uppercase}.agent-meta .meta-value{font-size:.92rem;margin-top:2px;word-break:break-word}.agent-meta .meta-value a{color:var(--teal);text-decoration:none}.agent-meta .meta-value a:hover{text-decoration:underline}.agent-desc{margin:12px 0 0;color:var(--muted);font-size:.9rem}.device-chips{display:flex;flex-wrap:wrap;gap:8px}.device-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 12px 7px 10px;background:var(--panel-2);border:1px solid var(--border);border-radius:999px;color:inherit;max-width:100%}.device-chip:hover{border-color:var(--teal);background:var(--panel)}.device-chip-name{font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.device-title{display:flex;align-items:center;gap:10px}.btn-icon{padding:4px 8px;min-width:32px;line-height:1}.btn-svg-icon{flex-shrink:0;display:inline-block;vertical-align:middle}.topbar .form-actions .btn{display:inline-flex;align-items:center;gap:6px}.event-row-recovered{text-decoration:line-through;opacity:.55}.event-row-recovered td{text-decoration:line-through}.event-row-problem:not(.event-row-recovered) td:last-child{font-weight:600}.counts-ok{color:var(--ok);font-weight:600}.counts-off{color:var(--crit);font-weight:600}.table a{color:var(--teal)}.table a:hover{text-decoration:underline}.table a.device-uplink-sub{display:inline-block;margin-top:2px;font-size:.72rem;line-height:1.25;font-weight:400;color:var(--muted)}.table a.device-uplink-sub:hover{color:#b8c5d6;text-decoration:underline}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.metric{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.metric-label{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.02em}.metric-value{margin-top:4px;font-size:.98rem;font-weight:600;word-break:break-word}.metric-crit{border-color:#ef44448c;background:#ef44441a}.metric-crit .metric-value{color:var(--crit)}.metric-warn{border-color:#f59e0b80;background:#f59e0b14}.metric-warn .metric-value{color:var(--warn)}.groups-root{gap:12px}.group-block{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.group-block.group-indent{margin-left:0}.group-children .group-block{margin:8px 0 8px 12px;border-left:3px solid var(--teal);background:var(--panel-2)}.group-children .group-children .group-block{border-left-color:#14b8a68c}.group-header{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--panel-2);border-bottom:1px solid transparent}.group-block:not(:has(.group-children)) .group-header,.group-header:hover{background:#243040}.group-children{padding:8px 12px 12px;border-top:1px solid var(--border)}.group-toggle{color:var(--muted);font-size:.75rem;width:1rem;flex-shrink:0}.group-icon{display:inline-flex;align-items:center;flex-shrink:0;line-height:0}.icon-picker{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.icon-picker-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--border);border-radius:8px;background:var(--panel);cursor:pointer}.icon-picker-btn:hover{border-color:var(--accent, #38bdf8)}.icon-picker-btn.active{border-color:var(--accent, #38bdf8);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent, #38bdf8) 35%,transparent)}.group-name{font-weight:600;flex:1;min-width:0}.group-count{font-size:.85rem;background:var(--panel);border:1px solid var(--border);border-radius:999px;padding:1px 8px}.group-actions{display:flex;gap:4px;margin-left:4px}.group-empty{margin:8px 4px;font-size:.9rem}.group-ungrouped>.group-header{border-style:dashed}.group-indent.depth-2{margin-left:4px}.group-indent.depth-3{margin-left:8px}.agent-tabs{display:flex;overflow-x:auto;gap:4px;white-space:nowrap;-webkit-overflow-scrolling:touch;padding-bottom:4px;margin-bottom:4px;scrollbar-width:thin}.agent-tabs::-webkit-scrollbar{height:6px}.agent-tabs::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.agent-tab{flex:0 0 auto;padding:8px 14px;border:1px solid var(--border);border-radius:999px;background:var(--panel-2);color:var(--text);cursor:pointer;font-size:.9rem;line-height:1.2}.agent-tab:hover{background:#243040}.agent-tab.active{background:#14b8a62e;border-color:var(--teal);color:var(--teal);font-weight:600}.live-feed-tabs{margin:8px 0 12px}.live-feed-tabs .agent-tab{font-size:.88rem;padding:7px 12px}.agent-tab .tab-count{margin-left:6px;opacity:.75;font-size:.8rem}.scan-status{margin:0 0 8px;font-size:.9rem;color:var(--muted)}.btn.danger{background:#ef444426;border:1px solid rgba(239,68,68,.55);color:var(--crit)}.btn.danger:hover{background:#ef444447}.scan-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(20,184,166,.25);border-top-color:var(--teal);border-radius:50%;animation:scan-spin .7s linear infinite;vertical-align:middle;flex-shrink:0}@keyframes scan-spin{to{transform:rotate(360deg)}}.changelog-list{gap:12px}.changelog-entry{padding:16px 18px}.changelog-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.changelog-version{margin:0;font-size:1.05rem;color:var(--teal)}.changelog-date{font-size:.85rem;white-space:nowrap}.changelog-items{margin:0;padding-left:1.2rem;display:flex;flex-direction:column;gap:4px}.changelog-items li{line-height:1.4}.camera-shot{margin-top:8px;max-width:640px}.camera-shot img{display:block;max-width:100%;height:auto;border-radius:10px;border:1px solid var(--border, rgba(148, 163, 184, .25));background:#0b1220}.camera-shot-meta{margin-top:8px;font-size:.85rem;color:var(--muted);line-height:1.4}.camera-shot-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}.icon-cell-inner{display:inline-flex;align-items:center;gap:6px}.snap-thumb-wrap{position:relative;display:inline-flex;vertical-align:middle}.snap-thumb-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border-radius:6px;border:1px solid var(--border);background:var(--panel-2);color:var(--teal);cursor:pointer}.snap-thumb-btn:hover{border-color:var(--teal);color:#5eead4;background:#14b8a61f}.snap-hover-pop{z-index:90;max-width:320px;min-width:160px;padding:6px;background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 32px #00000073;pointer-events:none}.snap-hover-pop-fixed{position:fixed}.snap-hover-pop img{display:block;max-width:308px;max-height:220px;width:auto;height:auto;border-radius:6px;background:#0b1220}.snap-hover-status{padding:8px 10px;font-size:.85rem;white-space:nowrap}.snap-modal-backdrop{z-index:120}.snap-modal{max-width:min(92vw,720px);width:100%}.snap-modal-img{display:block;width:100%;height:auto;max-height:80vh;object-fit:contain;border-radius:10px;background:#0b1220;border:1px solid var(--border);margin-top:8px}.objects-table .table-scroll,.objects-table .table,.objects-table td.object-donut-col{overflow:visible}.snmp-report{max-width:100%;overflow-x:hidden}.snmp-report .card,.snmp-report .snmp-chart-box,.snmp-report .table-scroll{max-width:100%}.snmp-report .snmp-sysdescr{margin:10px 0 0;font-size:.82rem;line-height:1.35;word-break:break-word;max-height:3.2em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.snmp-minimal-notice{margin:0;padding:12px 14px;border-radius:8px;border:1px solid var(--border, #2a3542);background:#3b82f614}.snmp-minimal-notice p{margin:0 0 8px;line-height:1.4}.snmp-minimal-notice p:last-child{margin-bottom:0}.snmp-kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px 28px;align-items:flex-start;justify-items:center}.snmp-kpi-hint{font-size:.7rem;text-align:center;max-width:140px;line-height:1.25}.snmp-load-block{width:100%;margin-top:16px;padding-top:14px;border-top:1px solid var(--border, #2a3542)}.snmp-load-title{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:10px}.snmp-load-triples{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;text-align:center;margin-bottom:8px}.snmp-load-num{font-size:1.25rem;font-weight:600;color:var(--text);letter-spacing:.01em}.snmp-load-block .snmp-kpi-hint{max-width:none;margin-top:6px}.snmp-spark{width:100%;height:36px;margin-top:4px;max-width:none}.snmp-history-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.snmp-chart-title{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px}.snmp-chart-box{width:100%;height:200px}.snmp-chart-box--sm{height:200px}.snmp-chart-box--traffic{height:260px}.snmp-chart-box--port{height:320px}.snmp-ports-head{flex-wrap:wrap;gap:8px;align-items:center}.snmp-desc-row{display:flex;gap:6px;align-items:center;min-width:0;max-width:100%}.snmp-desc-row .input{margin:0;min-width:0;width:100%;max-width:100%;flex:1 1 auto}.snmp-port-cards{display:none}.snmp-port-card{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:12px 14px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.snmp-port-card--selected{border-color:var(--accent, #3b82f6);background:#3b82f61f;outline:2px solid rgba(59,130,246,.35)}.snmp-port-card-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;min-height:44px;padding:2px 0}.snmp-port-card-desc{display:flex;flex-direction:column;gap:6px;margin-top:4px}.snmp-port-card-desc>.muted{font-size:.75rem}.mobile-only-cards{display:none}.mobile-row-card{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:12px 14px}.mobile-row-card-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-bottom:6px;min-height:44px}.mobile-row-card-title{font-weight:600;flex:1 1 auto;min-width:0;word-break:break-word}.mobile-row-card-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;min-height:36px;padding:2px 0;font-size:.92rem}.mobile-row-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.mobile-row-card-actions .btn{min-height:44px}.mobile-row-card-msg{font-size:.92rem;line-height:1.4;word-break:break-word}.mobile-row-card.event-row-recovered .mobile-row-card-msg{text-decoration:line-through;opacity:.75}.mobile-row-card a{color:var(--teal)}.mobile-row-card a:hover{text-decoration:underline}.mobile-row-card a.device-uplink-sub{display:inline-block;margin-top:2px;font-size:.72rem;line-height:1.25;font-weight:400;color:var(--muted)}.mobile-row-card a.device-uplink-sub:hover{color:#b8c5d6;text-decoration:underline}.object-agents-list{gap:14px}.object-agent-card{display:flex;flex-direction:column;gap:10px;padding:12px 14px;background:var(--panel-2);border:1px solid var(--border);border-radius:10px}.object-agent-card-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.agent-health-empty{margin:0;font-size:.85rem}.agent-donuts--compact{gap:10px 12px}.agent-donuts--compact .agent-donut-item{min-width:64px}.agent-donuts--compact .kpi-donut{width:64px;height:64px}.agent-donuts--compact .kpi-donut.compact{width:52px;height:52px}.agent-donuts--compact .kpi-donut-center{font-size:.62rem}.host-disks-table .host-disk-row{cursor:pointer}.host-disks-table .host-disk-row:hover{background:var(--panel-2)}.smart-modal{width:min(920px,96vw)}.smart-output{max-height:60vh;overflow:auto;white-space:pre-wrap;word-break:break-word;background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:14px;font-size:.78rem;line-height:1.35;margin:0}.disk-heart{font-size:1.15rem;line-height:1;filter:drop-shadow(0 0 0 transparent)}.disk-heart-btn{border:none;background:transparent;padding:2px 4px;cursor:pointer;border-radius:8px}.disk-heart-btn:hover{background:var(--panel-2)}.host-disk-heart-cell{width:2.2rem;text-align:center}.host-smart-legend{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}.btn-sm{padding:4px 10px;font-size:.8rem}.smart-readable .smart-summary-head{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:baseline;margin-bottom:8px}.smart-risks{margin:0 0 10px;padding-left:1.2rem;font-size:.92rem}.smart-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.smart-gauges{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:4px}.smart-gauge{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.smart-gauge-label{font-size:.78rem;color:var(--muted, #8b93a7);margin-bottom:6px}.smart-gauge-track{height:8px;background:#7f7f7f40;border-radius:999px;overflow:hidden}.smart-gauge-fill{height:100%;border-radius:999px;background:#3ecf8e;transition:width .3s ease}.smart-gauge--warn .smart-gauge-fill{background:#f5a623}.smart-gauge--crit .smart-gauge-fill{background:#e25555}.smart-gauge-value{margin-top:6px;font-weight:600;font-size:.95rem}.smart-history-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:4px}.smart-attrs-table tr.smart-attr--warn td:first-child strong{color:#f5a623}.smart-attrs-table tr.smart-attr--crit td:first-child strong{color:#e25555}.smart-details summary{cursor:pointer;font-weight:600;-webkit-user-select:none;user-select:none}.smart-details .smart-output{margin-top:8px}.object-agent-card-body{display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px 24px}.object-agent-card-stats{flex:1 1 200px;min-width:180px}.object-agent-card-charts{flex:2 1 320px;min-width:260px}.agent-donuts--side{display:grid;grid-template-columns:repeat(2,minmax(140px,1fr));gap:12px 16px;align-items:stretch}.agent-donut-item--row{flex-direction:row;align-items:center;justify-content:space-between;gap:10px 12px;min-width:0;padding:8px 10px;background:var(--panel);border:1px solid var(--border);border-radius:10px}.agent-donut-text{display:flex;flex-direction:column;gap:2px;min-width:0}.agent-donut-stat{font-size:1.15rem;font-weight:700;line-height:1.2}.agent-donuts--large .kpi-donut{width:96px;height:96px}.agent-donuts--large .kpi-donut-center{font-size:.8rem}.agent-donuts--large .agent-donut-label{font-size:.78rem}.object-agents-section .agent-donuts--large .kpi-donut,.object-agents-section .agent-donuts--side .kpi-donut{width:96px;height:96px}@media (max-width: 700px){.agent-donuts--side{grid-template-columns:1fr}.object-agents-section .agent-donuts--large .kpi-donut,.object-agents-section .agent-donuts--side .kpi-donut{width:80px;height:80px}}.snapshot-calendar{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border, #2a3344)}.snapshot-calendar-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.snapshot-calendar-head h4{margin:0;font-size:1rem;font-weight:600}.snapshot-calendar-nav{display:flex;align-items:center;gap:.5rem}.snapshot-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;max-width:360px}.snapshot-cal-dow{text-align:center;font-size:.7rem;color:var(--muted, #8b97a8);padding:2px 0;text-transform:lowercase}.snapshot-cal-day{aspect-ratio:1;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--muted, #8b97a8);font-size:.85rem;cursor:default;padding:0}.snapshot-cal-day.empty{visibility:hidden}.snapshot-cal-day.has-photo{background:#3884ff26;color:var(--text, #e8eef7);border-color:#3884ff59;cursor:pointer}.snapshot-cal-day.has-photo:hover{background:#3884ff47}.snapshot-cal-day.selected{background:#3884ff73;border-color:var(--accent, #3884ff);font-weight:600}.snapshot-cal-day:disabled:not(.has-photo){opacity:.55}.switch-graphic-wrap{margin-top:8px}.switch-chassis{background:linear-gradient(180deg,#1a2330,#121820);border:1px solid var(--border);border-radius:10px;padding:14px 12px;display:flex;flex-direction:column;gap:10px}.switch-port-row{display:flex;flex-wrap:wrap;gap:8px}.switch-port{position:relative;width:44px;height:52px;border-radius:6px;border:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:default;transition:transform .12s ease,box-shadow .12s ease}.switch-port:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000059;z-index:2}.switch-port.spd-100{background:#f9731659;border-color:#f97316}.switch-port.spd-1g{background:#22c55e52;border-color:#22c55e}.switch-port.spd-2_5g{background:#9333ea61;border-color:#9333ea}.switch-port.spd-10g{background:#3b82f66b;border-color:#3b82f6}.switch-port.media-sfp{outline:1px dashed #94a3b8}.switch-port.media-wifi{outline:1px dashed #38bdf8;background:#38bdf838;border-color:#0ea5e9}.switch-port.has-link{box-shadow:inset 0 0 0 1px #3b82f68c}.switch-port-led{position:absolute;bottom:3px;left:50%;transform:translate(-50%);width:7px;height:7px;border-radius:50%;border:1px solid rgba(0,0,0,.35)}.switch-port-led.led-online{background:#16a34a;border-color:#14532d;box-shadow:0 0 8px #22c55e,0 0 3px #86efac,inset 0 0 2px #bbf7d0;opacity:1}.switch-port-led.led-offline{background:#64748b;opacity:.55;box-shadow:none}.switch-port-led.led-uplink{background:#f59e0b;border-color:#92400e;box-shadow:0 0 7px #f59e0bf2,0 0 2px #fcd34d;opacity:1}.switch-port.is-uplink-out{box-shadow:inset 0 0 0 1px #f59e0ba6}.switch-port-uplink-mark{position:absolute;top:2px;left:3px;font-size:.65rem;line-height:1;color:#fbbf24;font-weight:700;text-shadow:0 0 4px rgba(245,158,11,.5)}.lg-led.led-uplink{background:#f59e0b;box-shadow:0 0 5px #f59e0be6}.lg-led{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px;vertical-align:0;border:1px solid rgba(0,0,0,.3)}.lg-led.led-online{background:#22c55e;box-shadow:0 0 5px #22c55ee6}.port-link-status.online{color:#22c55e}.port-link-status.offline{color:var(--muted)}.switch-port-num{font-size:.78rem;font-weight:700}.switch-port-poe{position:absolute;top:2px;right:2px;font-size:.7rem;color:#ef4444;line-height:1;text-shadow:0 0 4px rgba(239,68,68,.6)}.switch-port-sfp{font-size:.55rem;color:var(--muted);letter-spacing:.02em}.switch-port-wifi{font-size:.5rem;color:#7dd3fc;letter-spacing:.02em;font-weight:700;text-shadow:0 0 4px rgba(14,165,233,.45)}.lg-swatch.media-wifi{background:#38bdf873;border-color:#0ea5e9}.switch-graphic-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px;font-size:.82rem;align-items:center}.lg-swatch{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:4px;vertical-align:-1px;border:1px solid transparent}.lg-swatch.spd-100{background:#f973168c;border-color:#f97316}.lg-swatch.spd-1g{background:#22c55e80;border-color:#22c55e}.lg-swatch.spd-2_5g{background:#9333ea99;border-color:#9333ea}.lg-swatch.spd-10g{background:#3b82f6a6;border-color:#3b82f6}.switch-port-popup{min-width:200px;max-width:280px;padding:10px 12px;pointer-events:none}.switch-port-popup-title{font-weight:600;margin-bottom:6px;font-size:.9rem}.switch-port-popup-link+.switch-port-popup-link{margin-top:8px}.switch-port-popup-shot{display:block;width:100%;max-height:140px;object-fit:cover;border-radius:6px;margin-top:6px;border:1px solid var(--border)}.switch-port-editor{display:flex;flex-direction:column;gap:10px;padding:10px 12px;background:var(--panel-2);border:1px solid var(--border);border-radius:8px}.hvr-streams-list{display:flex;flex-direction:column;gap:10px}.hvr-stream-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:start;padding:10px 12px;background:var(--panel-2);border:1px solid var(--border);border-radius:8px}.hvr-stream-meta{font-size:.85rem;color:var(--muted);word-break:break-all}.maintenance-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#0f1419e0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px}.maintenance-card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:32px 28px;max-width:420px;width:100%;text-align:center;box-shadow:0 12px 40px #0006}.maintenance-card h2{margin:16px 0 8px;font-size:1.15rem;font-weight:600}.maintenance-card .muted{margin:0;line-height:1.45}.maintenance-scene{width:120px;height:110px;margin:0 auto;position:relative}.maintenance-server{width:72px;height:88px;margin:12px auto 0;background:linear-gradient(180deg,#1e2732,#141a22);border:2px solid var(--border);border-radius:10px;position:relative}.maintenance-server:before,.maintenance-server:after{content:"";position:absolute;left:10px;right:10px;height:8px;border-radius:3px;background:#2a3542}.maintenance-server:before{top:14px}.maintenance-server:after{top:30px}.maintenance-led{position:absolute;left:12px;bottom:14px;width:8px;height:8px;border-radius:50%;background:var(--warn);box-shadow:0 0 10px var(--warn);animation:maint-blink 1.2s ease-in-out infinite}.maintenance-led.g{left:26px;background:var(--teal);box-shadow:0 0 10px var(--teal);animation-delay:.4s}.maintenance-gear{position:absolute;right:0;top:4px;animation:maint-spin 3s linear infinite}.maintenance-gear.small{right:24px;top:40px;animation-direction:reverse;animation-duration:2.2s}@keyframes maint-spin{to{transform:rotate(360deg)}}@keyframes maint-blink{0%,to{opacity:1}50%{opacity:.25}}.nav-wallet-balance{margin-left:6px;font-size:.78rem;font-weight:600;color:var(--teal);white-space:nowrap}.layout.sidebar-collapsed .nav-wallet-balance{display:none}.nav a.nav-wallet{flex-wrap:wrap}.install-cmd-block{max-height:200px;overflow:auto;font-size:12px;background:#00000047;padding:10px 12px;border-radius:8px;white-space:pre-wrap;word-break:break-word;-webkit-user-select:all;user-select:all;margin:0;border:1px solid var(--border, rgba(255,255,255,.08))}.scan-modal-status{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:.95rem}.btn.scanning{opacity:.95}.btn .scan-spinner{margin-right:2px}.settings-tabs{display:flex;gap:8px;flex-wrap:wrap}.settings-tabs .active-tab{border-color:var(--accent, #2563eb);color:var(--accent, #2563eb)}.device-detail-top-right{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;justify-content:flex-end}.device-qr-compact{position:relative;flex-shrink:0;width:88px}.device-qr-compact>img{display:block;width:88px;height:88px;border-radius:10px;background:#fff;border:1px solid var(--border, #e2e8f0);box-shadow:0 4px 14px #0f172a14}.device-qr-loading{display:inline-flex;align-items:center;justify-content:center;width:88px;height:88px;font-size:12px}.device-qr-hover{display:none;position:absolute;right:0;top:calc(100% + 8px);z-index:20;width:min(320px,78vw);padding:12px;border-radius:12px;border:1px solid var(--border, #e2e8f0);background:var(--panel, #fff);box-shadow:0 16px 40px #0f172a2e}.device-qr-compact:hover .device-qr-hover,.device-qr-compact:focus-within .device-qr-hover{display:grid;gap:10px}.device-qr-link{display:block;font-size:11px;word-break:break-all;background:#0f14190a;padding:8px 10px;border-radius:8px}.device-qr-actions{display:flex;flex-wrap:wrap;gap:8px}.device-qr-actions .btn{font-size:.85rem;padding:6px 10px}@media (max-width: 700px){.device-detail-top-right{width:100%;justify-content:space-between}.device-qr-compact{order:-1;margin-left:auto}}@media (min-width: 901px){.nav-scan-qr{display:none}}.net-schema{overflow:hidden}.net-schema-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin-bottom:10px}.net-schema-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;-webkit-overflow-scrolling:touch}.net-schema-tab{flex:0 0 auto;padding:7px 14px;border:1px solid var(--border);border-radius:999px;background:var(--panel-2);color:var(--text);cursor:pointer;font-size:.88rem;line-height:1.2}.net-schema-tab:hover{background:#243040}.net-schema-tab.active{background:#14b8a62e;border-color:var(--teal);color:var(--teal);font-weight:600}.net-schema-tab-panel{min-width:0}.net-schema-tab-panel .net-schema-legend{margin-bottom:12px}.net-schema-tab-panel--graph .net-schema-graph{margin-top:0;padding-top:0;border-top:none}@media (max-width: 600px){.net-schema-tabs{width:100%}.net-schema-tab{flex:1 1 auto;text-align:center;min-width:0}}.net-schema-legend{display:flex;flex-wrap:wrap;gap:10px 14px;font-size:.78rem;color:var(--muted)}.net-schema-legend-item{display:inline-flex;align-items:center;gap:6px}.net-schema-section-label{font-size:.8rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--muted);margin:4px 0 10px}.net-schema-hint{margin:0 0 12px}.net-schema-forest{display:flex;flex-direction:column;gap:14px}.net-schema-tree{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:12px}.net-schema-node{min-width:0}.net-schema-chip{display:flex;align-items:flex-start;gap:8px;min-width:0;padding:6px 8px;border-radius:8px;background:#0f141959;border:1px solid var(--border)}.net-schema-chip-flat{align-items:center;padding:6px 10px}.net-schema-chip-body{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.net-schema-name{color:var(--teal);font-weight:560;word-break:break-word}.net-schema-name:hover{text-decoration:underline}.net-schema-meta{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:.75rem;color:var(--muted)}.net-schema-port{font-variant-numeric:tabular-nums}.net-schema-external{color:var(--warn)}.net-schema-children{list-style:none;margin:8px 0 0;padding:0 0 0 14px;border-left:2px solid var(--border);display:flex;flex-direction:column;gap:10px}.net-schema-child{position:relative;padding-left:12px;min-width:0}.net-schema-child:before{content:"";position:absolute;left:-14px;top:16px;width:14px;height:2px;background:var(--border)}.net-schema-edge{margin-bottom:4px}.net-schema-edge-label{display:inline-block;font-size:.72rem;color:var(--muted);background:var(--panel);border:1px solid var(--border);border-radius:999px;padding:1px 8px;font-variant-numeric:tabular-nums}.net-schema-ungrouped{margin-top:16px}.net-schema-type-group{margin-bottom:12px}.net-schema-type-heading{font-size:.9rem;font-weight:600;margin-bottom:8px;color:var(--text)}.net-schema-chips{display:flex;flex-wrap:wrap;gap:8px}@media (max-width: 600px){.net-schema-children{padding-left:10px}.net-schema-child{padding-left:8px}.net-schema-tree{padding:10px}.net-schema-chips{flex-direction:column}.net-schema-chip-flat{width:100%}}.net-schema-graph{margin-top:0;padding-top:0;border-top:none}.net-schema-graph-scroll{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;max-width:100%;padding-bottom:8px}.net-schema-graph-stage{position:relative;min-width:160px}.net-schema-graph-svg{display:block;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;font-family:inherit;pointer-events:none}.net-schema-graph-html{position:relative;width:100%;height:100%;z-index:1}.net-schema-graph-edge-path{stroke:#64748b;stroke-width:1.75;opacity:.9}.net-schema-graph-edge-path--100m{stroke:#f97316}.net-schema-graph-edge-path--1g{stroke:#22c55e}.net-schema-graph-edge-path--2_5g{stroke:#9333ea}.net-schema-graph-edge-path--10g{stroke:#3b82f6}.net-schema-graph-edge-path--sfp{stroke:#a855f7}.net-schema-graph-edge-path--wifi{stroke:#38bdf8;stroke-dasharray:6 4;stroke-width:1.85}.net-schema-graph-arrow{fill:#64748b}.net-schema-graph-arrow--100m{fill:#f97316}.net-schema-graph-arrow--1g{fill:#22c55e}.net-schema-graph-arrow--2_5g{fill:#9333ea}.net-schema-graph-arrow--10g{fill:#3b82f6}.net-schema-graph-arrow--sfp{fill:#a855f7}.net-schema-graph-arrow--wifi{fill:#38bdf8}.net-schema-graph-arrow--default{fill:#64748b}.net-schema-graph-edge-bg{fill:var(--panel);stroke:var(--border);stroke-width:1}.net-schema-graph-edge-label{fill:var(--muted);font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;pointer-events:none}.net-schema-graph-edge-port-label{fill:var(--muted);font-size:10px;font-weight:600;font-variant-numeric:tabular-nums;pointer-events:none;paint-order:stroke;stroke:var(--panel, #0f172a);stroke-width:3px;stroke-linejoin:round}.net-schema-graph-edge-glow{stroke-width:6;opacity:.35;filter:blur(1.2px)}.net-schema-graph-edge-glow--sfp{stroke:#a855f7}.net-schema-graph-edge-glow--100m{stroke:#f97316}.net-schema-graph-edge-glow--1g{stroke:#22c55e}.net-schema-graph-edge-glow--2_5g{stroke:#9333ea}.net-schema-graph-edge-glow--10g{stroke:#3b82f6}.net-schema-graph-edge-glow--wifi{stroke:#38bdf8}.net-schema-graph-edge-glow--default{stroke:#64748b}.net-schema-graph-edge.is-optical .net-schema-graph-edge-path--sfp{filter:drop-shadow(0 0 3px rgba(168,85,247,.75))}.net-schema-graph-edge-poe-bg{fill:var(--panel, #0f172a);stroke:var(--border, #334155);stroke-width:1}.net-schema-graph-edge-poe-bolt{fill:#eab308}.net-schema-graph-edge-poe-bolt--sfp{fill:#a855f7}.net-schema-graph-edge-poe-bolt--wifi{fill:#38bdf8}.net-schema-graph-edge-poe-bolt--100m{fill:#f97316}.net-schema-graph-edge-poe-bolt--1g{fill:#22c55e}.net-schema-graph-edge-poe-bolt--2_5g{fill:#9333ea}.net-schema-graph-edge-poe-bolt--10g{fill:#3b82f6}.net-schema-graph-legend-poe{display:inline-flex;align-items:center;justify-content:center;width:22px;font-size:12px;line-height:1}.net-schema-graph-legend-line.is-optical{box-shadow:0 0 6px #a855f7b3}.net-schema-graph-node-chip{position:absolute;box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:0;border-radius:12px;border:2px solid #64748b;background:#0f1419d1;color:var(--text);cursor:pointer;z-index:2;-webkit-user-select:none;user-select:none}.net-schema-graph-node-chip:hover,.net-schema-graph-node-chip:focus,.net-schema-graph-node-chip.is-pinned{filter:brightness(1.12);outline:none;z-index:20}.net-schema-graph-node-chip.is-pinned{z-index:25}.net-schema-graph-node-chip--online{border-color:var(--ok);background:#22c55e1f}.net-schema-graph-node-chip--warning{border-color:var(--warn);background:#f59e0b1f}.net-schema-graph-node-chip--offline{border-color:var(--crit);background:#ef44441f}.net-schema-graph-node-chip--unknown{border-color:#64748b;background:#64748b24}.net-schema-graph-node-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:var(--panel-2);border:1px solid var(--border);flex-shrink:0;color:var(--text)}.net-schema-graph-node-dot{position:absolute;right:2px;bottom:2px;width:8px;height:8px;border-radius:50%;border:1px solid rgba(15,20,25,.85);background:#64748b;pointer-events:none}.net-schema-graph-node-dot--online{background:var(--ok)}.net-schema-graph-node-dot--warning{background:var(--warn)}.net-schema-graph-node-dot--offline{background:var(--crit)}.net-schema-graph-node-dot--unknown{background:#64748b}.net-schema-graph-popup-wrap{position:absolute;left:50%;top:100%;transform:translate(-50%);z-index:30;padding-top:8px;pointer-events:auto}.net-schema-graph-popup-wrap--chip{left:50%;top:100%}.net-schema-graph-popup-wrap--pinned{pointer-events:auto}.net-schema-graph-popup-wrap--portal{position:fixed;z-index:10000;transform:none;padding-top:0;pointer-events:auto}.net-schema-graph-popup{min-width:min(200px,calc(100vw - 16px));max-width:min(260px,calc(100vw - 16px));padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--panel);box-shadow:0 10px 28px #00000073;color:var(--text);font-size:.82rem;line-height:1.35;pointer-events:auto;cursor:default}.net-schema-graph-popup--expanded{min-width:min(280px,calc(100vw - 16px));max-width:min(340px,calc(100vw - 16px));max-height:min(420px,70vh);padding:0;display:flex;flex-direction:column}.net-schema-graph-popup-body{overflow:visible}.net-schema-graph-popup--expanded .net-schema-graph-popup-body{overflow-y:auto;overflow-x:hidden;max-height:min(420px,70vh);padding:12px 14px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.net-schema-graph-popup-title{display:flex;align-items:center;gap:8px;margin-bottom:4px;font-size:.9rem}.net-schema-graph-popup-row{margin-top:2px;word-break:break-word}.net-schema-graph-popup-hint{margin-top:6px;font-size:.72rem}.net-schema-graph-popup-open{display:inline-flex;margin-top:10px;padding:6px 12px;border-radius:8px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);font-size:.82rem;font-weight:600;cursor:pointer}.net-schema-graph-popup-open:hover{filter:brightness(1.1)}.net-schema-graph-popup-status{display:inline-block;margin-top:4px;padding:1px 7px;border-radius:999px;font-size:.72rem;font-weight:650;letter-spacing:.02em;border:1px solid var(--border)}.net-schema-graph-popup-status--online{color:var(--ok);border-color:var(--ok);background:#22c55e1f}.net-schema-graph-popup-status--warning{color:var(--warn);border-color:var(--warn);background:#f59e0b1f}.net-schema-graph-popup-status--offline{color:var(--crit);border-color:var(--crit);background:#ef44441f}.net-schema-graph-popup-status--unknown{color:var(--muted)}.net-schema-graph-popup-shot{display:block;width:100%;max-height:140px;object-fit:cover;border-radius:6px;margin-top:8px;border:1px solid var(--border)}.net-schema-graph-popup-shot--large{max-height:220px}.net-schema-graph-legend{display:flex;flex-wrap:wrap;gap:12px 18px;margin-top:8px;font-size:.78rem;color:var(--muted)}.net-schema-graph-legend-item{display:inline-flex;align-items:center;gap:8px}.net-schema-graph-legend-line{display:inline-block;width:28px;height:0;border-top:2.5px solid #64748b}.net-schema-graph-legend-line--100m{border-color:#f97316}.net-schema-graph-legend-line--1g{border-color:#22c55e}.net-schema-graph-legend-line--2_5g{border-color:#9333ea}.net-schema-graph-legend-line--10g{border-color:#3b82f6}.net-schema-graph-legend-line--sfp{border-color:#a855f7}.net-schema-graph-legend-line--wifi{border-color:#38bdf8;border-top-style:dashed}.net-schema-link-stats{margin:8px 0 4px;font-size:.9rem;color:var(--muted);font-variant-numeric:tabular-nums}.net-schema-graph-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px}.net-schema-graph-fs-btn{flex-shrink:0;font-size:.85rem;padding:6px 12px;min-height:36px}.net-schema-graph-fs-wrap{position:relative}.net-schema-graph-fs-wrap.is-fs-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9500;background:var(--bg, #0b1220);display:flex;flex-direction:column;padding:8px;box-sizing:border-box}.net-schema-graph-fs-wrap.is-fs-overlay .net-schema-graph-scroll,.net-schema-graph-fs-wrap:fullscreen .net-schema-graph-scroll,.net-schema-graph-fs-wrap.is-fs-native .net-schema-graph-scroll{flex:1 1 auto;overflow:auto;-webkit-overflow-scrolling:touch;max-width:none;min-height:0}.net-schema-graph-fs-wrap:fullscreen,.net-schema-graph-fs-wrap.is-fs-native:fullscreen{background:var(--bg, #0b1220);display:flex;flex-direction:column;padding:8px;box-sizing:border-box}.net-schema-graph-fs-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;flex-shrink:0}.net-schema-graph-fs-title{font-weight:600;font-size:1rem}@media (max-width: 640px){.net-schema-graph-fs-btn{width:100%}.net-schema-graph-toolbar{flex-direction:column;align-items:stretch}}.net-schema-graph-ungrouped{margin-top:14px}.net-schema-graph-type-group{margin-bottom:12px}.net-schema-graph-chips{display:flex;flex-wrap:wrap;gap:8px}.net-schema-graph-chip{position:relative;display:inline-flex;align-items:center;gap:8px;min-width:120px;min-height:36px;padding:6px 10px;border-radius:10px;border:1.5px solid var(--border);background:#0f14198c;color:var(--text);text-decoration:none;font-size:.85rem;font-weight:560;cursor:pointer;font-family:inherit}.net-schema-graph-chip--icon-only{min-width:40px;width:40px;height:40px;min-height:40px;padding:0;justify-content:center;border-radius:12px;border-width:2px}.net-schema-graph-chip:hover,.net-schema-graph-chip:focus,.net-schema-graph-chip.is-pinned{filter:brightness(1.1);text-decoration:none;z-index:20;outline:none}.net-schema-graph-chip.is-pinned{z-index:25}.net-schema-graph-chip--online{border-color:var(--ok);background:#22c55e1a}.net-schema-graph-chip--warning{border-color:var(--warn);background:#f59e0b1a}.net-schema-graph-chip--offline{border-color:var(--crit);background:#ef44441a}.net-schema-graph-chip--unknown{border-color:#64748b}.net-schema-graph-chip-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:8px;background:var(--panel-2);border:1px solid var(--border);flex-shrink:0;color:var(--text)}.net-schema-graph-chip--icon-only .net-schema-graph-chip-icon{width:28px;height:28px}.net-schema-graph-chip-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 600px){.net-schema-graph-chip:not(.net-schema-graph-chip--icon-only){min-width:0;width:100%}.net-schema-graph-chips{flex-direction:row;flex-wrap:wrap}}.wo-status-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid var(--border);background:var(--panel-2)}.wo-status-pending{color:#c9a227;border-color:#c9a22755}.wo-status-progress{color:#f59e0b;border-color:#f59e0b55}.wo-status-review{color:#3b82f6;border-color:#3b82f655}.wo-status-done{color:#22c55e;border-color:#22c55e55}.wo-status-row{display:flex;flex-wrap:wrap;gap:8px}.wo-roadmap{display:flex;gap:0;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:4px 0 8px;scrollbar-width:thin}.wo-roadmap-step{flex:1 1 0;min-width:72px;display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;padding:8px 6px 4px;border:0;background:transparent;color:var(--text);cursor:pointer}.wo-roadmap-step:disabled{cursor:default}.wo-roadmap-step:not(:last-child):after{content:"";position:absolute;top:18px;left:calc(50% + 12px);right:calc(-50% + 12px);height:3px;border-radius:2px;background:var(--border);z-index:0}.wo-roadmap-step.is-done:not(:last-child):after,.wo-roadmap-step.is-current:not(:last-child):after{background:var(--wo-step-color, #888);opacity:.55}.wo-roadmap-dot{width:22px;height:22px;border-radius:50%;border:2px solid var(--border);background:var(--panel-2);position:relative;z-index:1;box-sizing:border-box}.wo-roadmap-step.is-done .wo-roadmap-dot,.wo-roadmap-step.is-current .wo-roadmap-dot{border-color:var(--wo-step-color, #888);background:var(--wo-step-color, #888);box-shadow:0 0 0 3px color-mix(in srgb,var(--wo-step-color, #888) 25%,transparent)}.wo-roadmap-step.is-current .wo-roadmap-dot{transform:scale(1.12)}.wo-roadmap-step.is-future{opacity:.45}.wo-roadmap-step.is-done .wo-roadmap-label{opacity:.85}.wo-roadmap-step.is-current .wo-roadmap-label{font-weight:700;color:var(--wo-step-color, var(--text))}.wo-roadmap-label{font-size:11px;line-height:1.2;text-align:center;white-space:normal;max-width:100%}.wo-card-roadmap-wrap{margin-top:10px}.wo-card-roadmap-wrap .wo-roadmap-label{font-size:10px}.wo-card-roadmap-wrap .wo-roadmap-step{min-width:0;padding:4px 2px;pointer-events:none}.wo-typeahead{position:relative}.wo-typeahead-list{position:absolute;z-index:50;left:0;right:0;top:100%;background:var(--panel);border:1px solid var(--border);border-radius:8px;max-height:min(240px,50vh);overflow:auto;box-shadow:0 8px 24px #0005}.wo-typeahead-list--portal{right:auto;top:auto;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 12px 32px #00000073}.wo-typeahead-item{display:block;width:100%;text-align:left;padding:8px 12px;min-height:36px;background:transparent;border:0;color:var(--text);cursor:pointer}.wo-typeahead-item:hover{background:var(--panel-2)}.wo-media-section{min-width:0;max-width:100%}.wo-media-header{display:flex;flex-direction:column;gap:12px;min-width:0}.wo-media-title-row{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;justify-content:space-between;min-width:0}.wo-media-stats{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.wo-media-stat{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid var(--border);background:var(--panel-2);white-space:nowrap}.wo-badge-before{color:#c9a227;border-color:#c9a22755}.wo-badge-after{color:#22c55e;border-color:#22c55e55}.wo-media-upload-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-width:0;max-width:100%}.wo-media-upload-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:1 1 100%;width:100%;min-width:0}.wo-flag-chips{display:inline-flex;gap:0;border:1px solid var(--border);border-radius:999px;overflow:hidden;background:var(--panel-2);flex:0 0 auto}.wo-flag-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--muted, #888);font:inherit;font-size:13px;font-weight:600;padding:8px 16px;cursor:pointer;min-height:36px;line-height:1}.wo-flag-chip+.wo-flag-chip{border-left:1px solid var(--border)}.wo-flag-chip.is-on.wo-flag-before{background:color-mix(in srgb,#c9a227 28%,transparent);color:#e8c547}.wo-flag-chip.is-on.wo-flag-after{background:color-mix(in srgb,#22c55e 28%,transparent);color:#4ade80}.wo-flag-chip:disabled{opacity:.5;cursor:not-allowed}.wo-flag-chips--compact .wo-flag-chip{padding:6px 12px;min-height:30px;font-size:12px}.wo-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%;min-width:0;max-width:100%}@media (min-width: 480px){.wo-media-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}}@media (min-width: 900px){.wo-media-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}}.wo-album-add{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;aspect-ratio:1;border-radius:8px;min-width:0;max-width:100%;width:100%;height:auto;min-height:0;margin:0;padding:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;color:var(--muted, #888);background:transparent;border:2px dashed var(--border, #444);box-sizing:border-box;overflow:visible}.wo-album-add:hover:not(:disabled),.wo-album-add:focus-visible{color:var(--accent, #3b82f6);border-color:var(--accent, #3b82f6);background:color-mix(in srgb,var(--accent, #3b82f6) 8%,transparent);outline:none}.wo-album-add:disabled{opacity:.45;cursor:not-allowed}.wo-album-add-plus{font-size:36px;font-weight:300;line-height:1}.wo-album-add-label{font-size:12px;font-weight:600;letter-spacing:.02em}.wo-file-input-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;opacity:0;pointer-events:none}.wo-media-title-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-width:0}.wo-media-camera-btn{flex:0 0 auto}.wo-nom-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.wo-nom-card-actions{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto}.wo-nom-empty{margin:0}.wo-items-editor-toolbar{display:flex;align-items:center;gap:8px}.wo-nom-modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.wo-nom-modal-footer{margin-top:12px;display:flex;align-items:center;justify-content:flex-end;gap:8px}.wo-album-item{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;background:#111;border:1px solid var(--border);min-width:0;max-width:100%;display:flex;align-items:center;justify-content:center}.wo-album-hit{display:block;width:100%;height:100%;padding:0;margin:0;border:0;background:transparent;cursor:pointer;color:inherit}.wo-album-hit:disabled{cursor:default}.wo-album-thumb,.wo-album-item .wo-media-placeholder{width:100%;height:100%;aspect-ratio:auto;object-fit:contain;object-position:center;display:block;background:#111}.wo-album-item video.wo-album-thumb{object-fit:contain;object-position:center;max-height:none;pointer-events:none}.wo-album-badges{position:absolute;left:4px;top:4px;display:flex;flex-wrap:wrap;gap:3px;pointer-events:none;max-width:calc(100% - 8px)}.wo-album-badge{font-size:10px;font-weight:700;line-height:1;padding:3px 5px;border-radius:4px;background:#000000a6;color:#fff}.wo-album-badge-before{background:#c9a227cc;color:#1a1400}.wo-album-badge-after{background:#22c55ecc;color:#052e16}.wo-album-badge-video{background:#000000bf}.wo-album-actions{position:absolute;right:3px;bottom:3px;display:flex;gap:3px}.wo-album-mini{width:24px;height:24px;padding:0;border-radius:6px;border:1px solid rgba(255,255,255,.25);background:#0000008c;color:#fff;font-size:11px;font-weight:700;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.wo-album-mini.is-on.before{background:#c9a227;color:#1a1400;border-color:transparent}.wo-album-mini.is-on.after{background:#22c55e;color:#052e16;border-color:transparent}.wo-album-mini.wo-album-del{font-size:12px}.wo-album-mini:disabled{opacity:.45;cursor:not-allowed}.wo-media-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--muted, #888);font-size:13px;width:100%;height:100%;background:var(--panel-2, #1a1a1a)}.wo-media-loading{background:var(--panel-2)}.wo-media-error{background:#3a2020;color:#fca5a5}.wo-media-spinner{width:22px;height:22px;border:2px solid var(--border);border-top-color:var(--accent, #3b82f6);border-radius:50%;animation:wo-spin .8s linear infinite}@keyframes wo-spin{to{transform:rotate(360deg)}}.wo-ico{display:inline-flex;align-items:center;justify-content:center}.wo-media-retry{padding:4px 10px;font-size:12px;min-height:28px}.wo-lightbox-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#000000eb;display:flex;flex-direction:column;align-items:stretch;justify-content:stretch;padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0)}.wo-lightbox-close{position:absolute;top:10px;right:10px;z-index:3;width:40px;height:40px;border-radius:50%;border:0;background:#ffffff1f;color:#fff;font-size:20px;cursor:pointer}.wo-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:44px;height:44px;border-radius:50%;border:0;background:#ffffff1f;color:#fff;font-size:28px;line-height:1;cursor:pointer}.wo-lightbox-prev{left:8px}.wo-lightbox-next{right:8px}.wo-lightbox-nav:disabled{opacity:.25;cursor:default}.wo-lightbox-stage{flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;padding:52px 48px 8px;overflow:hidden;position:relative;z-index:1}.wo-lightbox-media{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;object-position:center;border-radius:4px}.wo-lightbox-footer{flex:0 0 auto;position:relative;z-index:20;padding:10px 14px 16px;display:flex;flex-direction:column;gap:10px;background:#000000eb;border-top:1px solid rgba(255,255,255,.08);pointer-events:auto}.wo-lightbox-meta{font-size:12px;color:#cbd5e1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wo-lightbox-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.wo-lightbox-del{flex:0 0 auto}.wo-log-list{list-style:none;margin:0;padding:0}.wo-log-list li{padding:8px 0;border-bottom:1px solid var(--border)}.wo-object-checks{display:flex;flex-direction:column;gap:6px;max-height:220px;overflow:auto}.wo-items-editor{gap:10px}.wo-nom-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.wo-nom-table{width:100%;min-width:480px;border-collapse:collapse;font-size:13px}.wo-nom-table th,.wo-nom-table td{padding:6px 8px;border-bottom:1px solid var(--border);vertical-align:middle;text-align:left}.wo-nom-table thead th{font-weight:600;font-size:12px;color:var(--muted, #888);white-space:nowrap}.wo-nom-table .wo-nom-num{text-align:right;white-space:nowrap;width:88px}.wo-nom-table .wo-nom-sum{font-variant-numeric:tabular-nums;font-weight:600}.wo-nom-table .wo-nom-del{width:36px;padding:4px;text-align:center}.wo-nom-table .wo-nom-name{min-width:160px}.wo-nom-table .wo-nom-name .wo-typeahead{width:100%}.wo-nom-table .wo-nom-name input,.wo-nom-table .wo-nom-num input{width:100%;box-sizing:border-box;min-width:0;padding:6px 8px}.wo-item-del{width:32px;height:32px;min-width:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:18px;line-height:1;border-radius:6px}.wo-nom-total-label{text-align:right!important;font-weight:700}.wo-nom-table tfoot td{border-bottom:0;padding-top:10px}.wo-items-display{list-style:none;margin:0;padding:0}.wo-item-times{font-weight:600;white-space:nowrap}.wo-catalog-add{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.wo-catalog-add input{flex:1 1 180px;min-width:0}.wo-modal{max-height:min(92vh,900px);overflow-y:auto;-webkit-overflow-scrolling:touch}.wo-nom-modal{display:flex;flex-direction:column;overflow:hidden;background:var(--panel);max-height:min(92vh,900px)}.wo-nom-modal .wo-items-editor{flex:1 1 auto;min-height:0;overflow:visible}.wo-nom-modal .wo-nom-scroll{max-height:min(55vh,480px);overflow:auto;-webkit-overflow-scrolling:touch}.wo-nom-modal-head,.wo-nom-modal-footer{flex:0 0 auto}@media (max-width: 860px){.wo-page,.emp-page,.wo-detail,.settings-page{overflow-x:hidden;max-width:100%;min-width:0;width:100%;box-sizing:border-box}.wo-page>.card,.wo-detail>.card,.emp-page>.card,.wo-page .mobile-row-card,.wo-detail .mobile-row-card{max-width:100%;min-width:0;box-sizing:border-box}.wo-page .topbar>div,.wo-detail .topbar>div,.emp-page .topbar>div{max-width:100%;min-width:0}.wo-page .topbar,.emp-page .topbar,.wo-detail .topbar{flex-direction:column;align-items:stretch}.wo-page .topbar .form-actions,.emp-page .topbar .form-actions,.wo-detail .topbar .form-actions{flex-wrap:wrap;width:100%}.wo-page .topbar .form-actions>*,.emp-page .topbar .form-actions>.btn,.wo-detail .form-actions>.btn{flex:1 1 140px;min-width:0}.wo-page select,.wo-page input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=button]):not([type=submit]),.wo-page textarea,.wo-detail select,.wo-detail input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=button]):not([type=submit]),.wo-detail textarea,.emp-page input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=button]):not([type=submit]),.emp-page select,.emp-page textarea{max-width:100%;width:100%;box-sizing:border-box}.wo-status-row .btn{flex:1 1 calc(50% - 8px);min-width:0}.wo-status-badge{white-space:normal;max-width:100%}.wo-roadmap{gap:0}.wo-roadmap-step{flex:1 1 0;min-width:0;padding:6px 2px 2px}.wo-roadmap-label{font-size:10px}.wo-media-upload-bar{flex-direction:column;align-items:stretch}.wo-media-upload-btn,.wo-flag-chips{width:100%}.wo-flag-chip{flex:1 1 0;text-align:center}.wo-lightbox-stage{padding:52px 12px 8px}.wo-lightbox-nav{width:36px;height:36px;font-size:24px}.wo-lightbox-prev{left:4px}.wo-lightbox-next{right:4px}.wo-nom-table{min-width:440px;font-size:12px}.wo-item-del{width:32px;height:32px}.wo-modal{width:calc(100vw - 24px);max-width:calc(100vw - 24px);margin:12px;max-height:calc(100vh - 24px)}.wo-catalog-add{flex-direction:column;align-items:stretch}.wo-catalog-add .btn{width:100%}.mobile-row-card-actions{flex-wrap:wrap}.mobile-row-card-actions .btn{flex:1 1 120px}}@media (max-width: 420px){.wo-media-stats{width:100%}.wo-media-stat{flex:1 1 calc(50% - 6px);justify-content:center}}.wo-icon-btn{width:40px;height:40px;min-width:40px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:8px}.wo-detail-actions{align-items:center;gap:8px}@media (max-width: 860px){.wo-detail .topbar .form-actions>.wo-icon-btn,.wo-nom-card-actions>.wo-icon-btn,.wo-nom-modal-footer>.wo-icon-btn,.wo-items-editor-toolbar>.wo-icon-btn,.wo-media-camera-btn{flex:0 0 40px;width:40px;min-width:40px}.wo-media-title-tools{width:100%;justify-content:space-between}}.wo-grand-total{display:flex;flex-direction:column;gap:4px;padding:12px 16px}.wo-grand-total-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-weight:700;font-size:1.05rem}.wo-grand-total-label{letter-spacing:.02em}.wo-grand-total-value{font-variant-numeric:tabular-nums}.wo-grand-total-hint{font-size:12px;margin:0}.wo-catalog-toolbar{display:flex;flex-wrap:wrap;gap:8px}.wo-catalog-add-panel{border:1px solid var(--border);border-radius:10px;padding:12px;background:var(--panel-2)}.wo-catalog-editor{gap:10px}.wo-catalog-editor-row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.wo-catalog-prices{align-items:flex-end}.wo-catalog-field{display:flex;flex-direction:column;gap:4px;font-size:13px;min-width:100px;flex:1 1 120px}.wo-catalog-check{flex-direction:row;align-items:center;gap:8px;min-width:auto;padding-bottom:8px}.wo-catalog-sale-wrap{display:flex;gap:6px;align-items:center}.wo-catalog-sale-wrap .input{flex:1 1 auto;min-width:0}.wo-catalog-plus5{flex:0 0 auto;white-space:nowrap;padding:6px 10px}.wo-catalog-editor-actions{display:flex;flex-wrap:wrap;gap:8px}.wo-catalog-table .wo-catalog-name{display:inline-block}.wo-catalog-table tr.wo-catalog-section td{font-weight:600;background:color-mix(in srgb,var(--panel-2) 70%,transparent)}.wo-catalog-table td.num{text-align:right;font-variant-numeric:tabular-nums}.wo-typeahead-path{font-size:11px;line-height:1.2;margin-top:2px}.wo-typeahead-unit{font-size:12px}.owner-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.owner-dashboard-grid .owner-widget{width:auto;max-width:none;margin-top:0}.owner-widget{position:relative;min-width:0;container-type:inline-size;overflow:hidden;border:1px solid rgba(203,221,244,.72);border-radius:24px;padding:20px 24px;background:linear-gradient(135deg,#fffffff7,#eff7ffe6);box-shadow:0 18px 48px #2a5b961f,inset 0 1px #fff;color:#0c153d}.owner-widget-header{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px}.owner-widget-title{display:flex;align-items:center;gap:12px}.owner-widget-title{min-width:0}.owner-widget-title h2{overflow-wrap:anywhere}.owner-widget-header h2{margin:0;font-size:clamp(1.15rem,1.7vw,1.55rem);letter-spacing:-.02em}.owner-widget-title-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border-radius:13px;background:linear-gradient(145deg,#e9fbf4,#d9f7eb);color:#08ad69}.owner-widget-title-icon svg{width:26px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.owner-widget-info{width:24px;height:24px;display:grid;place-items:center;border:2px solid #8192b2;border-radius:50%;color:#8192b2;font:700 .82rem/1 sans-serif;cursor:help}.owner-widget-period{display:flex;align-items:center;gap:9px;border:1px solid #d2e0f4;border-radius:15px;padding:10px 14px;background:#ffffffc2;box-shadow:0 5px 15px #4069a012;color:#1d294f;font-size:.82rem;white-space:nowrap}.owner-widget-period svg{width:19px;fill:none;stroke:#62769b;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.owner-widget-watermark{position:absolute;right:-10px;top:70px;width:min(43%,390px);opacity:.08;color:#388de9;pointer-events:none}.owner-widget-watermark svg{width:100%;height:auto;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.owner-availability-main{position:relative;z-index:1;display:grid;grid-template-columns:minmax(150px,.58fr) minmax(360px,2fr);gap:22px;align-items:center;margin-top:14px}.owner-availability-ring{--availability: 0;width:156px;aspect-ratio:1;display:grid;place-items:center;margin:auto;border-radius:50%;background:conic-gradient(from 0deg,#3be0a1,#02ae68 calc(var(--availability) * 1%),#22be801f 0);box-shadow:0 12px 28px #08ae6921}.owner-availability-ring:before{content:"";grid-area:1 / 1;width:120px;aspect-ratio:1;border-radius:50%;background:#fffffff0;box-shadow:inset 0 0 0 1px #19a66f12}.owner-availability-ring>div{grid-area:1 / 1;z-index:1;display:grid;text-align:center}.owner-availability-ring strong{font-size:1.75rem;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.owner-availability-ring span{margin-top:1px;color:#7b8ba7;font-size:.7rem}.owner-availability-ring .owner-availability-ring-label{margin-top:3px;color:#182448;font-size:.78rem;font-weight:600}.owner-availability-trend{position:relative;min-height:178px;display:flex;align-items:stretch}.owner-availability-trend svg{position:relative;z-index:1;display:block;width:100%;height:178px;overflow:visible}.owner-chart-gridline{stroke:#91acd2;stroke-width:1;opacity:.22}.owner-chart-label{fill:#7789aa;font-size:12px}.owner-availability-empty{min-height:150px;display:grid;place-items:center;color:#6b857e;text-align:center}.owner-availability-kpis{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}.owner-availability-kpis>div{display:flex;align-items:center;gap:12px;min-width:0;padding:12px 15px;border-radius:16px;background:#ffffffb8;border:1px solid rgba(194,213,239,.55);box-shadow:0 8px 22px #3962970f}.owner-availability-kpis>div>span:last-child{display:grid}.owner-availability-kpis strong{color:#0d173f;font-size:1.35rem;line-height:1}.owner-availability-kpis small{margin-top:5px;color:#283654;font-size:.8rem}.owner-kpi-icon{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border-radius:13px}.owner-kpi-icon svg{width:22px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.owner-kpi-icon--ok{color:#08ad69;background:#dff7ed}.owner-kpi-icon--off{color:#f04f48;background:#fde6e5}.owner-kpi-icon--unknown{color:#7f8da5;background:#e8edf4}.owner-object-status-widget{margin-top:18px;min-height:0}.owner-widget-title-icon--blue{color:#267de5;background:linear-gradient(145deg,#edf5ff,#deecff)}.owner-object-total{position:relative;z-index:1;padding:9px 13px;border:1px solid #d2e0f4;border-radius:14px;background:#ffffffb8;color:#66799a;font-size:.8rem}.owner-object-total b{color:#142041}.owner-object-watermark{position:absolute;right:1%;bottom:-18px;width:min(34%,330px);opacity:.055;color:#267de5;pointer-events:none}.owner-object-watermark svg{width:100%;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.owner-object-summary{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.owner-object-summary>div{display:flex;align-items:baseline;gap:9px;padding:13px 16px;border:1px solid rgba(194,213,239,.6);border-radius:16px;background:#ffffffb3}.owner-object-summary strong{font-size:1.45rem;line-height:1}.owner-object-summary span{color:#536582;font-size:.8rem}.owner-object-summary--ok strong{color:#08ad69}.owner-object-summary--off strong{color:#ef504b}.owner-object-summary--unknown strong{color:#8190aa}.owner-object-list{position:relative;z-index:1;display:grid;gap:9px;margin-top:12px}.owner-object-row{display:grid;grid-template-columns:10px minmax(160px,1.4fr) auto minmax(100px,.7fr) 18px;gap:12px;align-items:center;padding:13px 15px;border:1px solid rgba(194,213,239,.58);border-radius:16px;background:#ffffffc7;color:inherit;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.owner-object-row:hover{transform:translateY(-1px);border-color:#b6cfef;box-shadow:0 8px 22px #39629717}.owner-object-state{width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 5px #7d91aa1a}.owner-object-state--ok{background:#0bb875;box-shadow:0 0 0 5px #0bb8751f}.owner-object-state--off{background:#ef504b;box-shadow:0 0 0 5px #ef504b1c}.owner-object-state--unknown{background:#91a0b6}.owner-object-copy{display:grid;min-width:0}.owner-object-copy strong{overflow:hidden;color:#152144;font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}.owner-object-copy small{overflow:hidden;margin-top:3px;color:#8190aa;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.owner-object-badge{padding:6px 9px;border-radius:999px;font-size:.72rem;font-weight:650;white-space:nowrap}.owner-object-badge--ok{color:#078a58;background:#def7ec}.owner-object-badge--off{color:#cf3834;background:#fde5e4}.owner-object-badge--unknown{color:#687891;background:#e9eef5}.owner-object-devices{display:grid;color:#71819c;font-size:.72rem;text-align:right}.owner-object-devices b{color:#243453;font-size:.82rem}.owner-object-devices em{color:#df4742;font-style:normal}.owner-object-arrow{color:#8192b1;font-size:1.4rem}.owner-object-empty{padding:30px;color:#71819c;text-align:center}.owner-object-status-widget{max-width:1080px}.owner-object-all-link{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;color:#087af0;font-size:.82rem;font-weight:600;text-decoration:none}.owner-object-all-link:hover{text-decoration:underline}.owner-object-card-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(190px,.82fr) minmax(390px,1.9fr);gap:28px;margin-top:16px}.owner-object-profile{min-width:0}.owner-object-image{display:block;width:100%;height:178px;border-radius:16px;object-fit:cover;box-shadow:0 10px 24px #3a69a41a}.owner-object-image--placeholder{display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#eaf4ff,#d6e8f8);color:#6da1d8}.owner-object-image--placeholder svg{width:82%;height:82%;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.owner-object-profile-copy{display:grid;margin-top:13px}.owner-object-profile-copy a{color:#101a43;font-size:1rem;text-decoration:none}.owner-object-profile-copy a:hover{color:#087af0}.owner-object-profile-copy>span{overflow:hidden;margin-top:3px;color:#7283a3;font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}.owner-object-health{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:.73rem;font-weight:600}.owner-object-health i{width:10px;height:10px;border-radius:50%}.owner-object-health--healthy{color:#08a86a}.owner-object-health--healthy i{background:#0fbc79}.owner-object-health--problem{color:#e64c47}.owner-object-health--problem i{background:#ef514b}.owner-object-health--no_data{color:#7d8da8}.owner-object-health--no_data i{background:#91a0b6}.owner-object-categories{display:grid;align-content:center;gap:13px;min-width:0}.owner-object-category{display:grid;grid-template-columns:34px minmax(90px,.8fr) 58px minmax(110px,1.2fr) 54px;align-items:center;gap:10px;min-width:0}.owner-object-category-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:#087af0;background:#e8f3ff}.owner-object-category-icon--network,.owner-object-category-icon--recorders{color:#5267e9;background:#eeedff}.owner-object-category-icon--servers,.owner-object-category-icon--wifi{color:#168bc8;background:#e5f5ff}.owner-object-category-label{overflow:hidden;color:#121d45;font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.owner-object-category strong{color:#111b43;font-size:.8rem;text-align:right;font-variant-numeric:tabular-nums}.owner-object-category-track{height:11px;overflow:hidden;border-radius:999px;background:#52a9901c}.owner-object-category-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0db979,#3bd39c)}.owner-object-category-fill--warn{background:linear-gradient(90deg,#ffa600,#ffc126)}.owner-object-category-fill--bad{background:linear-gradient(90deg,#ef514b,#f47a70)}.owner-object-category-fill--empty{background:#dbe4ef}.owner-object-category-percent{color:#36557f;font-size:.74rem;text-align:right;font-variant-numeric:tabular-nums}.owner-open-incidents-widget{max-width:1080px;margin-top:18px}.owner-widget-title-icon--incident{color:#f04d4a;background:linear-gradient(145deg,#ffecec,#fdd)}.owner-incidents-all-link{padding:9px 13px;border-radius:13px;background:#ffffff7a}.owner-incidents-main{position:relative;z-index:1;display:grid;grid-template-columns:minmax(260px,.95fr) minmax(350px,1.35fr);gap:16px;margin-top:12px}.owner-incidents-total{position:relative;min-height:146px;overflow:hidden;border-radius:18px;background:linear-gradient(135deg,#f4faffbd,#ddedfdc7)}.owner-incidents-total>div:first-child{position:relative;z-index:2;display:grid;justify-items:start;padding:25px 0 14px 18px}.owner-incidents-total strong{color:#0c153d;font-size:2.15rem;line-height:1;letter-spacing:-.05em}.owner-incidents-total span{margin-top:4px;color:#192548;font-size:.72rem}.owner-incidents-total b{margin-top:7px;color:#ef4847;font-size:.9rem}.owner-incidents-total small{margin-top:2px;color:#8292af;font-size:.64rem}.owner-incidents-illustration{position:absolute;top:0;right:0;bottom:0;left:72px;opacity:.82}.owner-incidents-illustration svg{width:100%;height:100%}.owner-incidents-illustration path,.owner-incidents-illustration circle{fill:none;stroke-linecap:round;stroke-linejoin:round}.owner-incidents-illustration .building{stroke:#9fc7ed;stroke-width:3;opacity:.45}.owner-incidents-illustration .camera{stroke:#4b91cf;stroke-width:4;opacity:.55}.owner-incidents-illustration circle{stroke:#2377be;stroke-width:3;opacity:.62}.owner-incidents-illustration .warning{fill:#ff69693b;stroke:#ee6568;stroke-width:4}.owner-incident-priorities{display:grid;align-content:stretch;gap:4px}.owner-incident-priority{display:grid;grid-template-columns:34px minmax(150px,1fr) 34px 38px 10px;gap:9px;align-items:center;min-height:33px;padding:3px 9px;border:1px solid rgba(207,222,244,.55);border-radius:13px;background:#ffffffb0;box-shadow:0 4px 11px #3962970b}.owner-incident-priority>span:nth-child(2){color:#192548;font-size:.74rem}.owner-incident-priority>strong{color:#101942;font-size:.78rem;text-align:center}.owner-incident-priority-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:10px}.owner-incident-priority-icon svg{width:17px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}.owner-incident-priority-icon--critical{color:#f24852;background:#ffe2e4}.owner-incident-priority-icon--high{color:#f39a2b;background:#fff0d9}.owner-incident-priority-icon--medium{color:#2583ed;background:#dfedff}.owner-incident-priority-icon--low{color:#8797b0;background:#e8edf4}.owner-incident-priority-delta{font-size:.75rem;text-align:center}.owner-incident-priority-delta--critical{color:#ef454a}.owner-incident-priority-delta--high{color:#f08e25}.owner-incident-priority-delta--medium{color:#1b78e7}.owner-incident-priority-delta--low{color:#8492aa}.owner-incident-chevron{color:#8193b0;font-size:1.3rem;line-height:1}.owner-incident-metrics{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:10px}.owner-incident-metric{display:grid;grid-template-columns:42px minmax(86px,1fr) auto;gap:10px;align-items:center;min-width:0;padding:9px 12px;border:1px solid rgba(205,220,243,.58);border-radius:15px;background:#ffffffb8;box-shadow:0 7px 20px #3962970d}.owner-incident-metric-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:13px}.owner-incident-metric-icon svg{width:21px;fill:none;stroke:currentColor;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round}.owner-incident-metric-icon--ok{color:#09b570;background:#ddf8ed}.owner-incident-metric-icon--clock{color:#267fe9;background:#e5f0ff}.owner-incident-metric-icon--chart{color:#6c45de;background:#eee8ff}.owner-incident-metric-copy{display:grid;min-width:0}.owner-incident-metric-copy strong{overflow:hidden;color:#101942;font-size:1rem;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.owner-incident-metric-copy small{margin-top:4px;color:#263553;font-size:.66rem;white-space:nowrap}.owner-incident-metric-delta{display:grid;justify-items:end;text-align:right}.owner-incident-metric-delta b{font-size:.73rem}.owner-incident-metric-delta small{width:70px;margin-top:4px;color:#8292ad;font-size:.56rem;line-height:1.15}.owner-incident-metric-delta--up b,.owner-incident-metric-delta--down b{color:#05ae68}.owner-incident-metric:last-child .owner-incident-metric-delta--down b{color:#ef4948}.owner-incident-metric-delta--flat b{color:#8190aa}@container (max-width: 760px){.owner-widget{padding:18px}.owner-widget-header{gap:10px}.owner-widget-title{gap:8px}.owner-widget-header h2{font-size:1.16rem;line-height:1.12}.owner-widget-title-icon{width:38px;height:38px}.owner-widget-title-icon svg{width:23px}.owner-widget-info{width:21px;height:21px;flex:0 0 auto}.owner-widget-period,.owner-incidents-all-link{padding:8px 10px;font-size:.7rem}.owner-availability-main{grid-template-columns:minmax(120px,.48fr) minmax(0,1.52fr);gap:12px}.owner-availability-ring{width:126px}.owner-availability-ring:before{width:96px}.owner-availability-ring strong{font-size:1.45rem}.owner-availability-kpis{gap:7px}.owner-availability-kpis>div{gap:7px;padding:9px 8px}.owner-availability-kpis small{font-size:.68rem;line-height:1.15;overflow-wrap:anywhere}.owner-kpi-icon{width:32px;height:32px;border-radius:10px}.owner-object-card-layout{grid-template-columns:minmax(145px,.64fr) minmax(0,1.36fr);gap:16px}.owner-object-image{height:154px}.owner-object-categories{gap:10px}.owner-object-category{grid-template-columns:30px minmax(52px,.8fr) 48px minmax(58px,1.2fr) 42px;gap:6px}.owner-object-category-icon{width:30px;height:30px}.owner-object-category-label,.owner-object-category strong{font-size:.72rem}.owner-object-category-percent{font-size:.67rem}.owner-incidents-main{grid-template-columns:minmax(170px,.72fr) minmax(0,1.28fr);gap:10px}.owner-incidents-total>div:first-child{padding-left:14px}.owner-incident-priority{grid-template-columns:28px minmax(0,1fr) 28px 30px 8px;gap:6px;padding-inline:7px}.owner-incident-priority>span:nth-child(2){min-width:0;font-size:.68rem;overflow-wrap:anywhere}.owner-incident-metrics{gap:7px}.owner-incident-metric{grid-template-columns:32px minmax(0,1fr) minmax(45px,auto);gap:6px;padding:8px 7px}.owner-incident-metric-icon{width:32px;height:32px;border-radius:10px}.owner-incident-metric-copy strong{font-size:.82rem}.owner-incident-metric-copy small{font-size:.59rem;line-height:1.15;white-space:normal;overflow-wrap:anywhere}.owner-incident-metric-delta small{width:48px;font-size:.5rem;overflow-wrap:anywhere}}.owner-widget-title-icon--trend{color:#0aad67;background:linear-gradient(145deg,#e4f9f0,#d4f4e7)}.owner-availability-trend-widget{min-width:0}.owner-trend-periods{display:flex;padding:3px;border:1px solid #d8e3f2;border-radius:12px;background:#ffffffad}.owner-trend-periods button{border:0;border-radius:9px;padding:7px 11px;background:transparent;color:#1b2850;font:inherit;font-size:.66rem;cursor:pointer}.owner-trend-periods button.active{background:#1885ef;color:#fff;box-shadow:0 5px 12px #1885ef40}.owner-trend-chart{margin-top:10px}.owner-trend-chart svg{display:block;width:100%;overflow:visible}.owner-trend-chart line{stroke:#91acd2;stroke-width:1;opacity:.2}.owner-trend-chart text{fill:#6e82a6;font-size:9px}.owner-trend-legend{display:flex;justify-content:center;gap:20px;margin-top:2px;color:#253457;font-size:.64rem}.owner-trend-legend span{display:flex;align-items:center;gap:6px;white-space:nowrap}.owner-trend-legend i{width:8px;height:8px;border-radius:50%}.owner-trend-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}.owner-trend-kpis>div{display:grid;grid-template-columns:35px 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center;min-width:0;padding:9px 10px;border:1px solid rgba(205,220,243,.58);border-radius:13px;background:#ffffffb8}.owner-trend-kpis strong{align-self:end;overflow:hidden;color:#101942;font-size:.9rem;line-height:1;white-space:nowrap;text-overflow:ellipsis}.owner-trend-kpis strong.good{color:#08af69}.owner-trend-kpis small{align-self:start;margin-top:4px;color:#66799a;font-size:.53rem;line-height:1.25}.owner-trend-donut,.owner-trend-kpi-icon{grid-row:1 / 3;width:33px;height:33px;display:grid;place-items:center;border-radius:50%}.owner-trend-donut{background:conic-gradient(#10bd79 0,#10bd79 78%,#d9f5e9 78%)}.owner-trend-donut:after{content:"";width:23px;height:23px;border-radius:50%;background:#fff}.owner-trend-kpi-icon{border-radius:11px;font-size:1rem;font-weight:800}.owner-trend-kpi-icon svg{width:21px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.owner-trend-kpi-icon--up{color:#08ae68;background:#e0f8ee}.owner-trend-kpi-icon--pulse{color:#f04d4a;background:#fde6e5}.owner-trend-kpi-icon--clock{color:#2583eb;background:#e4f0ff}.owner-device-health-map-widget{min-width:0}.owner-device-health-map-widget:before{content:"";position:absolute;top:62px;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 54%,rgba(90,166,226,.2),transparent 34%),linear-gradient(150deg,transparent 35%,rgba(104,174,221,.08) 35% 37%,transparent 37% 62%,rgba(104,174,221,.08) 62% 64%,transparent 64%)}.owner-health-map{position:relative;z-index:1;display:grid;grid-template-columns:minmax(180px,1fr) minmax(160px,.9fr) minmax(180px,1fr);gap:10px;align-items:center;min-height:300px;margin-top:10px}.owner-health-column{display:grid;gap:16px}.owner-health-device{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr) 24px;grid-template-rows:auto auto;gap:2px 10px;align-items:center;min-width:0;padding:10px 11px;border:1px solid rgba(205,220,243,.62);border-radius:16px;background:#ffffffdb;box-shadow:0 9px 24px #2f60991a}.owner-health-device:after{content:"";position:absolute;top:50%;width:24px;height:2px;background:currentColor;opacity:.7}.owner-health-device--left:after{right:-24px}.owner-health-device--right:after{left:-24px}.owner-health-device:nth-child(1){color:#fb5957}.owner-health-device:nth-child(2){color:#12b978}.owner-health-device:nth-child(3){color:#f7a20c}.owner-health-device-visual{grid-row:1 / 3;width:64px;height:56px;display:grid;place-items:center;border-radius:13px;color:#294e7e;background:linear-gradient(145deg,#eff6fd,#dfeaf5)}.owner-health-device-visual svg{filter:drop-shadow(0 5px 5px rgba(34,63,98,.2))}.owner-health-device-copy{display:grid;min-width:0;color:#101942}.owner-health-device-copy b{overflow:hidden;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.owner-health-device-copy strong{margin-top:3px;font-size:.88rem}.owner-health-device-copy i{width:100%;height:6px;overflow:hidden;margin-top:5px;border-radius:999px;background:#e1edf0}.owner-health-device-copy i span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0dbb79,#42d6a2)}.owner-health-device-state{width:21px;height:21px;display:grid;place-items:center;align-self:start;border-radius:50%;color:#fff;font-size:.66rem;font-weight:800}.owner-health-device-state--ok{background:#0dbb78}.owner-health-device-state--problem{background:#fa4f50}.owner-health-device-state--warn{background:#f5a00d}.owner-health-device small{grid-column:3;color:#079d64;font-size:.62rem;text-align:right}.owner-health-scene{position:relative;align-self:stretch;min-height:270px;overflow:hidden;border-radius:24px;background:radial-gradient(ellipse at center,rgba(117,188,237,.22),rgba(223,241,252,.18) 58%,transparent 70%)}.owner-health-road{position:absolute;left:-15%;top:50%;width:130%;height:24px;border:solid rgba(124,174,211,.25);border-width:1px 0;background:#ffffff6b;transform:rotate(-28deg)}.owner-health-road--b{transform:rotate(31deg)}.owner-health-building{position:absolute;left:50%;top:50%;width:112px;height:116px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:20px 14px;border:2px solid rgba(47,125,190,.42);border-radius:6px 6px 14px 14px;background:linear-gradient(145deg,#def1fff5,#75b5e2c2);box-shadow:0 20px 30px #2b669a2e;transform:translate(-50%,-45%) skewY(-4deg)}.owner-health-building:before{content:"";position:absolute;left:20%;right:20%;top:-25px;height:27px;background:linear-gradient(145deg,#eff9ff,#83bbe4);clip-path:polygon(50% 0,100% 100%,0 100%)}.owner-health-building i{border-radius:2px;background:#2b7ebe73;box-shadow:inset 0 0 0 1px #ffffff73}.owner-attention-widget{min-width:0}.owner-widget-title-icon--attention{color:#ef4048;background:linear-gradient(145deg,#ffeded,#ffdde1)}.owner-attention-all-link{padding:9px 13px;border:1px solid rgba(214,228,246,.72);border-radius:13px;background:#ffffff9e}.owner-attention-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(155px,.72fr) minmax(0,1.8fr);gap:12px;margin-top:12px}.owner-attention-priorities{display:grid;gap:9px}.owner-attention-summary{display:grid;grid-template-columns:42px 1fr 12px;gap:9px;align-items:center;min-width:0;padding:9px 10px;border:1px solid rgba(207,222,244,.54);border-radius:14px;background:#ffffffb3;color:#111a42;text-decoration:none;box-shadow:0 6px 17px #3962970e}.owner-attention-summary:hover{border-color:#b9d0ef;box-shadow:0 8px 20px #39629717}.owner-attention-summary-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;color:#fff}.owner-attention-summary-icon svg{width:21px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.owner-attention-summary>span:nth-child(2){display:grid;min-width:0}.owner-attention-summary strong{font-size:1.05rem;line-height:1}.owner-attention-summary small{margin-top:5px;color:#253557;font-size:.66rem;line-height:1.15}.owner-attention-summary>i{color:#54739d;font-size:1.25rem;font-style:normal}.owner-attention-summary--critical{background:linear-gradient(135deg,#ffffffd6,#ffe9ebb8)}.owner-attention-summary--critical .owner-attention-summary-icon{background:linear-gradient(145deg,#ff6266,#ee303b);box-shadow:0 7px 16px #ef303b38}.owner-attention-summary--high .owner-attention-summary-icon{background:linear-gradient(145deg,#ffbd57,#ff901a);box-shadow:0 7px 16px #ff971e33}.owner-attention-summary--medium .owner-attention-summary-icon{background:linear-gradient(145deg,#5aa9ff,#1e7ce9);box-shadow:0 7px 16px #1e7ce933}.owner-attention-summary--low .owner-attention-summary-icon{background:linear-gradient(145deg,#a7b5ca,#7587a5);box-shadow:0 7px 16px #7587a52e}.owner-attention-list{min-width:0;overflow:hidden;border:1px solid rgba(207,222,244,.46);border-radius:15px;background:#ffffff91}.owner-attention-row{display:grid;grid-template-columns:62px minmax(0,1fr) auto 38px 10px;gap:10px;align-items:center;min-width:0;min-height:51px;padding:5px 9px;color:inherit;text-decoration:none}.owner-attention-row+.owner-attention-row{border-top:1px solid rgba(199,216,239,.65)}.owner-attention-row:hover{background:#ecf6ffc7}.owner-attention-device{width:62px;height:46px;display:grid;place-items:center;overflow:hidden;border-radius:9px;color:#264e79;background:linear-gradient(145deg,#e9f3fc,#ceddea)}.owner-attention-device svg{filter:drop-shadow(0 4px 4px rgba(33,57,85,.2))}.owner-attention-device--camera{background:linear-gradient(145deg,#ebf6ff,#d5e8f7)}.owner-attention-device--switch{background:linear-gradient(145deg,#e7edf3,#cbd7e2)}.owner-attention-device--server{background:linear-gradient(145deg,#e2eaf1,#becdda)}.owner-attention-copy{display:grid;min-width:0}.owner-attention-copy strong,.owner-attention-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.owner-attention-copy strong{color:#101a43;font-size:.72rem}.owner-attention-copy small{margin-top:2px;color:#60769b;font-size:.59rem}.owner-attention-badge{padding:5px 8px;border-radius:999px;font-size:.58rem;font-weight:650;white-space:nowrap}.owner-attention-badge--critical{color:#e83e43;background:#ffe1e2}.owner-attention-badge--high{color:#df7f13;background:#fff0d9}.owner-attention-badge--medium{color:#1877df;background:#dfedff}.owner-attention-badge--low{color:#71819b;background:#e8edf4}.owner-attention-row time{color:#45618d;font-size:.62rem;font-variant-numeric:tabular-nums}.owner-attention-row-arrow{color:#6f87ab;font-size:1.2rem;font-style:normal}.owner-service-tasks-widget{min-width:0}.owner-widget-title-icon--service{color:#1685ed;background:linear-gradient(145deg,#e7f5ff,#d5eaff)}.owner-service-all-link{padding:9px 13px;border:1px solid rgba(214,228,246,.72);border-radius:13px;background:#ffffff9e}.owner-service-stages{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-top:12px}.owner-service-stage{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);gap:9px;align-items:center;min-width:0;padding:10px;border:1px solid rgba(207,222,244,.54);border-radius:14px;background:#ffffffb3;box-shadow:0 6px 17px #3962970e}.owner-service-stage--open{background:linear-gradient(135deg,#ffffffd1,#ffe7eac7)}.owner-service-stage-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;color:#fff}.owner-service-stage-icon svg{width:21px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.owner-service-stage--open .owner-service-stage-icon{background:linear-gradient(145deg,#ff6266,#ed303a);box-shadow:0 7px 16px #ef303b38}.owner-service-stage--progress .owner-service-stage-icon{background:linear-gradient(145deg,#ffbd57,#ff901a);box-shadow:0 7px 16px #ff971e33}.owner-service-stage--review .owner-service-stage-icon{background:linear-gradient(145deg,#5aa9ff,#1e7ce9);box-shadow:0 7px 16px #1e7ce933}.owner-service-stage--closed .owner-service-stage-icon{background:linear-gradient(145deg,#38d195,#04a968);box-shadow:0 7px 16px #04a96833}.owner-service-stage>span:nth-child(2){display:grid;min-width:0}.owner-service-stage strong{color:#101942;font-size:1.08rem;line-height:1}.owner-service-stage small{margin-top:5px;color:#253557;font-size:.65rem;white-space:nowrap}.owner-service-stage-arrow{position:absolute;right:-18px;z-index:2;color:#182651;font-size:1.1rem;font-style:normal;font-weight:800}.owner-service-table{position:relative;z-index:1;min-width:0;overflow:hidden;margin-top:12px;border:1px solid rgba(207,222,244,.46);border-radius:14px;background:#ffffff91}.owner-service-table-head,.owner-service-row{display:grid;grid-template-columns:72px minmax(105px,1.18fr) minmax(105px,1.08fr) minmax(112px,1.15fr) 78px minmax(70px,.8fr) 8px;gap:8px;align-items:center;min-width:0}.owner-service-table-head{padding:7px 9px 6px;color:#536a91;font-size:.53rem}.owner-service-row{min-height:38px;padding:5px 9px;color:#415b87;font-size:.56rem;text-decoration:none}.owner-service-row+.owner-service-row{border-top:1px solid rgba(199,216,239,.65)}.owner-service-row:hover{background:#ecf6ffc7}.owner-service-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.owner-service-row time{color:#47638e;white-space:nowrap;font-variant-numeric:tabular-nums}.owner-service-row time span{margin-right:3px}.owner-service-device{display:flex;align-items:center;gap:7px;color:#101942}.owner-service-device b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.owner-service-device-icon{width:25px;height:25px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;color:#fff}.owner-service-device-icon--open{background:#ff565b}.owner-service-device-icon--progress{background:#ffa127}.owner-service-device-icon--review{background:#318dea}.owner-service-device-icon--closed{background:#0db978}.owner-service-status{display:inline-block;padding:4px 7px;border-radius:999px;font-style:normal;white-space:nowrap}.owner-service-status--open{color:#e83e43;background:#ffe1e2}.owner-service-status--progress{color:#df7f13;background:#fff0d9}.owner-service-status--review{color:#1877df;background:#dfedff}.owner-service-status--closed{color:#078c59;background:#dcf7ec}.owner-service-row-arrow{color:#6f87ab;font-size:1rem;font-style:normal}@container (max-width: 760px){.owner-health-map{grid-template-columns:minmax(150px,1fr) minmax(105px,.65fr) minmax(150px,1fr);gap:7px;min-height:270px}.owner-health-column{gap:10px}.owner-health-device{grid-template-columns:44px minmax(0,1fr) 20px;gap:2px 7px;padding:8px}.owner-health-device-visual{width:44px;height:48px}.owner-health-device-copy b{font-size:.64rem}.owner-health-device-copy strong{font-size:.76rem}.owner-health-building{width:84px;height:95px}.owner-attention-layout{grid-template-columns:minmax(136px,.62fr) minmax(0,1.7fr);gap:8px}.owner-attention-priorities{gap:7px}.owner-attention-summary{grid-template-columns:34px 1fr 9px;gap:7px;padding:8px 7px}.owner-attention-summary-icon{width:32px;height:32px;border-radius:10px}.owner-attention-summary strong{font-size:.9rem}.owner-attention-summary small{font-size:.57rem}.owner-attention-row{grid-template-columns:48px minmax(0,1fr) auto 30px 7px;gap:7px;min-height:48px;padding:4px 6px}.owner-attention-device{width:48px;height:42px}.owner-attention-copy strong{font-size:.64rem}.owner-attention-copy small{font-size:.52rem}.owner-attention-badge{padding:4px 6px;font-size:.51rem}.owner-attention-row time{font-size:.54rem}.owner-service-stages{gap:15px}.owner-service-stage{grid-template-columns:33px minmax(0,1fr);gap:6px;padding:8px 6px}.owner-service-stage-icon{width:31px;height:31px;border-radius:9px}.owner-service-stage strong{font-size:.9rem}.owner-service-stage small{font-size:.54rem}.owner-service-stage-arrow{right:-12px}.owner-service-table-head,.owner-service-row{grid-template-columns:62px minmax(90px,1.1fr) minmax(78px,.9fr) minmax(88px,1fr) 66px minmax(58px,.7fr) 7px;gap:5px}.owner-service-table-head{font-size:.46rem}.owner-service-row{padding:4px 6px;font-size:.49rem}.owner-service-device-icon{width:22px;height:22px}.owner-service-status{padding:3px 5px}}@media (max-width: 720px){.owner-dashboard-grid{grid-template-columns:1fr}.owner-widget{padding:16px;border-radius:20px}.owner-widget-header{align-items:flex-start}.owner-widget-title{gap:8px}.owner-widget-title-icon{width:36px;height:36px}.owner-widget-info{display:none}.owner-widget-period{padding:8px 10px;font-size:.72rem}.owner-availability-main,.owner-availability-kpis{grid-template-columns:1fr}.owner-widget-watermark{width:55%}.owner-object-summary{grid-template-columns:1fr}.owner-object-row{grid-template-columns:10px 1fr auto 18px}.owner-object-devices,.owner-object-total{display:none}.owner-object-card-layout{grid-template-columns:1fr;gap:20px}.owner-object-image{height:190px}.owner-object-category{grid-template-columns:34px minmax(76px,1fr) 52px minmax(80px,1.2fr)}.owner-object-category-percent{display:none}.owner-incidents-main{grid-template-columns:1fr}.owner-incident-priority{grid-template-columns:30px minmax(120px,1fr) 30px 34px 8px}.owner-incident-metrics{grid-template-columns:1fr}.owner-trend-periods{flex-wrap:wrap;justify-content:flex-end}.owner-trend-kpis{grid-template-columns:repeat(2,1fr)}.owner-trend-legend{flex-wrap:wrap;gap:8px 14px}.owner-health-map{grid-template-columns:1fr}.owner-health-scene{display:none}.owner-health-device:after{display:none}.owner-attention-layout{grid-template-columns:1fr}.owner-attention-priorities{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-attention-row{grid-template-columns:50px minmax(0,1fr) auto 34px 8px}.owner-service-stages{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.owner-service-stage-arrow{display:none}.owner-service-table{overflow-x:auto}.owner-service-table-head,.owner-service-row{min-width:680px}}@media (min-width: 721px) and (max-width: 1180px){.owner-dashboard-grid{grid-template-columns:1fr}}.object-dash-kpi{margin-top:8px}.object-dashboard-section .status-cat-donut{margin:0}.server-host-metrics h3{font-size:1.05rem}.host-hardware-logo{display:block;flex:0 0 auto;object-fit:contain;border-radius:8px}.host-hardware-logo--gpu{width:56px;height:56px;object-fit:cover;background:transparent}.host-hardware-logo--cpu{width:54px;height:54px}.host-hardware-metric{display:flex;align-items:center;gap:10px;min-width:0}.host-hardware-metric--cpu .meta-value{white-space:nowrap}.host-gpu-block{border-top:1px solid var(--border, rgba(127,127,127,.25));padding-top:10px}.host-gpu-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.host-gpu-status{font-size:.75rem;padding:2px 8px;border-radius:999px;background:#7f7f7f26}.host-gpu-status--ok{background:#22c55e2e;color:#16a34a}.host-gpu-list{display:flex;flex-direction:column;gap:10px}.host-gpu-card{border:1px solid var(--border, rgba(127,127,127,.22));border-radius:10px;padding:10px 12px;background:#0000000a}html[data-theme=dark] .host-gpu-card,html.theme-dark .host-gpu-card{background:#ffffff0a}.host-gpu-card-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.host-gpu-name{font-weight:600;font-size:.95rem}.host-gpu-temp{font-size:1.55rem;font-weight:700;line-height:1;letter-spacing:-.02em}.host-gpu-temp--ok{color:#16a34a}.host-gpu-temp--warn{color:#ca8a04}.host-gpu-temp--crit{color:#dc2626}.host-gpu-temp--muted{color:inherit;opacity:.55}.host-gpu-details-row{display:flex;align-items:flex-start;gap:12px}.host-gpu-metrics{flex:1 1 auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px 12px}.host-gpu-metrics .meta-label{font-size:.72rem;opacity:.7}.host-gpu-metrics .meta-value{font-size:.9rem;margin-top:2px}.gpu-test-panel{margin-top:12px;padding-top:12px;border-top:1px solid var(--border, rgba(127,127,127,.22))}.gpu-test-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.gpu-test-head>div:first-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.gpu-test-status{font-size:.72rem;padding:2px 7px;border-radius:999px;background:#7f7f7f24;color:var(--muted)}.gpu-test-panel--running .gpu-test-status{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.gpu-test-panel--completed .gpu-test-status{background:#22c55e2e;color:var(--ok, #16a34a)}.gpu-test-panel--overheat .gpu-test-status,.gpu-test-panel--error .gpu-test-status{background:#dc262629;color:var(--crit, #dc2626)}.gpu-test-progress{height:7px;margin-top:10px;overflow:hidden;border-radius:999px;background:var(--panel-2)}.gpu-test-progress-fill{height:100%;border-radius:inherit;background:var(--accent);transition:width .25s ease}.gpu-test-time{margin-top:4px;font-size:.72rem;text-align:right}.gpu-test-live-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px 12px;margin-top:10px}.gpu-test-live-grid .meta-value{margin-top:2px;font-size:.9rem}.gpu-test-charts{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px}.gpu-test-charts>div{display:grid;gap:4px}.gpu-test-result{display:flex;gap:22px;flex-wrap:wrap;margin-top:10px}.gpu-test-result>div{display:grid;gap:2px}.gpu-test-note{margin:8px 0 0;font-size:.75rem}.gpu-test-error{margin-top:8px;font-size:.8rem}@media (max-width: 600px){.host-gpu-details-row{align-items:flex-start}.gpu-test-head{align-items:stretch}.gpu-test-head .btn{width:100%}}.switch-peer-list{margin:8px 0 10px}.switch-peer-ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.switch-peer-item{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.switch-port--editable{cursor:pointer}.switch-port--editable:focus-visible{outline:2px solid var(--accent, #3b82f6);outline-offset:2px}.switch-port-menu{min-width:220px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.switch-port-menu-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.switch-port-editor-graphic{margin:10px 0 14px;padding:10px;border:1px solid var(--border, rgba(255,255,255,.08));border-radius:8px;background:#0000001f}.nvr-disk-heart-card{display:inline-flex;align-items:center}.object-dash-agents-stack,.object-dash-agents-row{display:flex;flex-direction:column;gap:14px}@media (min-width: 960px){.object-dash-agents-row--single{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.9fr);gap:14px;align-items:start}.object-dash-agents-row--single>.card{margin:0;height:100%}}.group-album-head{display:flex;flex-direction:column;gap:2px}.group-album--compact .wo-media-grid{max-height:280px;overflow:auto}.group-header-thumbs{display:flex;align-items:center;gap:4px;flex:0 1 auto;min-width:0;max-width:min(420px,46vw);overflow-x:auto;padding:0 2px}.group-header-thumb{flex:0 0 auto;width:32px;height:24px;padding:0;border:1px solid var(--border);border-radius:4px;overflow:hidden;background:var(--panel);cursor:pointer;line-height:0}.group-header-thumb img{width:100%;height:100%;object-fit:contain;object-position:center;display:block;background:#111}.group-header-thumb.is-empty span{display:block;width:100%;height:100%;background:var(--panel-2)}.group-header-thumbs-more{font-size:.75rem;padding:0 4px;white-space:nowrap}.wo-lightbox-photo-frame{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;max-width:100%;max-height:100%;min-width:0;min-height:0;align-self:stretch;background:#111;overflow:hidden;z-index:1}.wo-lightbox-photo-frame.is-placing{cursor:crosshair}.wo-lightbox-photo-frame .wo-lightbox-media{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;object-position:center;position:relative;z-index:1}.wo-lightbox-pin-layer{position:absolute;z-index:2;pointer-events:auto}.wo-album-pin{position:absolute;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;border:2px solid #fff;padding:0;cursor:pointer;box-shadow:0 0 0 1px #00000059;background:var(--muted)}.wo-album-pin--ok{background:var(--ok);box-shadow:0 0 0 1px #00000059,0 0 8px #22c55e8c}.wo-album-pin--off{background:var(--crit);box-shadow:0 0 0 1px #00000059,0 0 8px #ef444473}.wo-album-pin--warn{background:var(--warn);box-shadow:0 0 0 1px #00000059,0 0 8px #f59e0b80}.wo-album-pin--unk{background:var(--muted)}.wo-album-pin--disabled{background:#4a5563}.wo-album-pin.is-active{transform:scale(1.2);z-index:3}.wo-album-cluster{position:absolute;min-width:22px;height:22px;margin:-11px 0 0 -11px;padding:0 6px;border-radius:999px;border:2px solid #fff;background:#0f172a;color:#fff;font-size:11px;font-weight:700;cursor:pointer;box-shadow:0 0 0 1px #0006}.wo-album-pin-pop{position:absolute;z-index:4;min-width:200px;max-width:260px;margin:12px 0 0 10px;padding:10px 12px;border-radius:8px;background:#0f172af0;border:1px solid rgba(255,255,255,.12);color:#fff;display:grid;gap:6px;box-shadow:0 8px 24px #0006}.wo-album-pin-pop-title{display:flex;align-items:center;gap:8px}.wo-album-pin-pop-status{font-size:.85rem}.wo-album-pin-pop-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px}.wo-album-pin-pop-actions .btn-icon{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.wo-album-pin-pop-snap{display:flex;align-items:center}.wo-album-place-hint{position:absolute;left:50%;bottom:8px;transform:translate(-50%);z-index:5;display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:8px;background:#0f172ae0;color:#fff;font-size:13px;white-space:nowrap}.wo-album-pin-error{position:absolute;left:12px;top:12px;z-index:5;color:#fecaca;background:#7f1d1dbf;padding:4px 8px;border-radius:6px;font-size:12px}.wo-album-pin-tools{flex:1 1 auto;min-width:0}.wo-album-device-pick{display:grid;gap:8px}.wo-album-device-pick-list{display:flex;flex-direction:column;gap:4px;max-height:180px;overflow:auto;min-width:min(420px,80vw)}.wo-album-device-pick-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:6px 8px;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:#ffffff0a;color:#fff;cursor:pointer}.wo-album-device-pick-item:hover{background:#ffffff1a}.avail-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:4px}.avail-card-head h3{margin:0}.avail-card-note{font-size:.8rem}.avail-bars-stack{display:grid;gap:18px;margin-top:8px}.avail-bar-block{min-width:0}.avail-bar-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}.avail-bar-title{margin:0;font-size:.95rem;font-weight:650;color:var(--text)}.avail-bar-caption{font-size:.75rem;white-space:nowrap}.avail-bar-track{display:flex;align-items:stretch;gap:1px;height:22px;width:100%;border-radius:6px;overflow:hidden;background:transparent}.avail-bar-empty{flex:1;display:flex;align-items:center;justify-content:center;font-size:.8rem;background:var(--panel-2);border-radius:6px}.avail-seg{flex:1 1 0;min-width:2px;border-radius:2px;height:100%}.avail-seg--up{background:var(--ok)}.avail-seg--down{background:var(--crit)}.avail-seg--unknown{background:var(--muted);opacity:.45}.avail-bar-ticks{position:relative;height:1.1rem;margin-top:4px;font-size:.72rem;color:var(--muted)}.avail-tick{position:absolute;transform:translate(-50%);white-space:nowrap}.avail-tick:first-child{transform:translate(0)}.avail-tick:last-child{transform:translate(-100%)}@media (max-width: 600px){.avail-bar-track{height:18px;gap:1px}.avail-bar-caption,.avail-card-note{display:none}.avail-bar-ticks{font-size:.65rem}}.camera-archive-layout{display:flex;flex-direction:column;gap:1.25rem}.camera-archive-main{min-width:0}.camera-archive-layout .snapshot-calendar{margin-top:0;padding-top:0;border-top:none}@media (min-width: 861px){.camera-archive-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:20px;align-items:start}.camera-archive-layout .snapshot-calendar{order:-1}.camera-archive-layout .camera-shot,.camera-archive-layout .snapshot-calendar-grid{max-width:none}}.avail-problems-btn{position:relative;color:var(--warn, #f59e0b)}.avail-problems-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--crit, #ef4444);color:#fff;font-size:.68rem;font-weight:700;line-height:18px;text-align:center}.avail-range-tabs{margin:10px 0 4px}.avail-problems-modal{width:min(720px,96vw);max-height:min(86vh,900px)}.snmp-enable-inline{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.snmp-enable-inline .snmp-icon-mark{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:#38bdf826;color:#38bdf8;font-size:.72rem;font-weight:700;letter-spacing:.02em}.snmp-enable-inline .checkbox-row{margin:0;gap:6px}.device-edit-form-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.device-edit-form-actions .form-actions-main{display:flex;gap:8px;flex-wrap:wrap}.device-assign-modal{max-width:420px;width:min(420px,92vw)}.device-assign-summary{font-size:.85rem;color:var(--muted);margin:0 0 4px}.event-incident-group{display:grid;gap:10px}.ai-diagnostic-panel{padding:20px;border:1px solid color-mix(in srgb,var(--accent, #7564dc) 38%,var(--border, #ddd));border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent, #7564dc) 9%,var(--panel)),var(--panel));color:var(--text, #202331);text-decoration:none;opacity:1}.ai-diagnostic-heading{display:flex;align-items:center;gap:12px;margin-bottom:16px}.ai-diagnostic-heading h3{margin:0 0 4px}.ai-diagnostic-mark{font-size:30px;color:var(--accent, #7564dc)}.ai-diagnostic-button{background:linear-gradient(120deg,#705bd5,#477bd1);color:#fff;border:0;padding:12px 20px;font-weight:700;border-radius:12px}.ai-diagnostic-button:hover{filter:brightness(1.08)}.ai-diagnostic-button:disabled{opacity:.65}.ai-diagnostic-result{border-top:1px solid var(--border, #ddd);padding-top:16px;margin-top:16px;line-height:1.6}.ai-diagnostic-history{border-top:1px solid var(--border, #ddd);margin-top:20px;padding-top:12px}.ai-diagnostic-history-list{padding:0;list-style:none}.ai-diagnostic-history-list>li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--border, #ddd)}.ai-diagnostic-journal{margin-top:12px}.ai-diagnostic-saved{display:inline-block;border-radius:8px;padding:6px 10px;background:color-mix(in srgb,var(--ok, #24855e) 12%,transparent);color:var(--ok, #24855e);font-size:.88rem}.devices-toolbar{display:flex;flex-direction:column;gap:10px;min-width:0;max-width:100%}.devices-toolbar-row{display:flex;align-items:center;gap:10px 12px;flex-wrap:wrap;min-width:0}.devices-toolbar-head h1{margin:0;font-size:1.35rem;flex:0 0 auto}.devices-object-picker{display:inline-flex;align-items:center;gap:8px;min-width:0;flex:0 1 300px;margin:0}.devices-object-picker-label{font-size:.82rem;white-space:nowrap}.devices-object-picker select{min-width:0;width:100%;height:38px;padding:6px 10px}.devices-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}.devices-toolbar-actions .btn{height:38px;padding:0 14px;white-space:nowrap}.device-list-filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;min-width:0}.device-search{display:block;flex:1 1 260px;min-width:0;max-width:520px;margin:0}.device-search .input{width:100%;height:38px;box-sizing:border-box}.device-filter-menu{position:relative}.device-filter-trigger{cursor:pointer;height:38px;box-sizing:border-box;display:flex;align-items:center;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text);font:inherit;white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis}.device-filter-trigger:after{content:"▾";margin-left:6px;color:var(--muted)}.device-filter-menu.is-open .device-filter-trigger:after{content:"▴"}.device-filter-menu.is-active .device-filter-trigger{border-color:var(--accent, #3b82f6)}.device-filter-trigger:focus-visible{outline:2px solid var(--accent, #3b82f6);outline-offset:1px}.device-filter-reset{height:38px;padding:0 14px}.device-filter-count{font-size:.85rem;white-space:nowrap;margin-left:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 760px){.devices-object-picker{flex:1 1 100%}.devices-toolbar-actions{margin-left:0;width:100%}.devices-toolbar-actions .btn{flex:1 1 auto;justify-content:center}.device-filter-count{margin-left:0;white-space:normal;flex-basis:100%}.device-search{flex-basis:100%;max-width:none}.device-filter-menu{flex:1 1 calc(50% - 5px);min-width:0}.device-filter-trigger{width:100%;max-width:none;justify-content:space-between}.device-filter-reset{flex:1 1 100%}}.device-filter-options{box-sizing:border-box;width:min(310px,calc(100vw - 16px));max-height:360px;overflow-y:auto;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--panel);box-shadow:0 8px 24px #0004}.device-filter-options label{display:flex;align-items:center;gap:8px;padding:7px 0;cursor:pointer}.device-mac-sub{display:block;font-size:.78rem;color:var(--muted);margin-top:4px}.device-type-badge{position:relative;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;outline:none}.device-type-badge:focus-visible{box-shadow:0 0 0 2px var(--accent)}.device-type-tooltip{position:fixed;z-index:1000;width:max-content;max-width:min(280px,calc(100vw - 16px));padding:6px 10px;border-radius:8px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);font-size:.78rem;line-height:1.3;white-space:normal;overflow-wrap:break-word;text-align:left;pointer-events:none;box-shadow:0 6px 18px #0005}.device-type-tooltip[hidden]{display:none!important}.device-icmp-col{width:118px;min-width:96px;max-width:140px;vertical-align:middle}.device-icmp-compact{min-width:0;width:100%;display:flex;flex-direction:column;gap:2px}.device-icmp-compact .device-icmp-track,.device-icmp-compact .avail-bar-track.device-icmp-track{height:12px;gap:1px;border-radius:3px;overflow:hidden;width:100%;min-width:0;flex:1 1 auto}.device-icmp-compact .avail-bar-empty{font-size:.68rem;line-height:12px;padding:0 4px}.device-icmp-compact--loading,.device-icmp-compact--error{font-size:.85rem;text-align:center;min-height:12px}.device-icmp-compact--stale .device-icmp-track{outline:1px dashed color-mix(in srgb,var(--warn, #c9a227) 70%,transparent);outline-offset:1px;opacity:.85}.device-icmp-stale-hint{font-size:.62rem;line-height:1.1;letter-spacing:.01em}.device-addr-inline{display:none}.device-addr-inline .device-addr-host{display:block;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.device-addr-inline .device-mac-sub{margin-top:2px;white-space:nowrap;font-variant-numeric:tabular-nums}.device-icmp-inline{display:none}@media (max-width: 720px){html:not([data-design=b]) .service-device-table{min-width:0;table-layout:auto;width:100%}html:not([data-design=b]) .service-device-table .device-addr-cell{display:none}html:not([data-design=b]) .service-device-table .device-addr-inline{display:block;margin-top:4px;font-size:.86rem}html:not([data-design=b]) .service-device-table .service-device-name{overflow-wrap:anywhere;min-width:0}html:not([data-design=b]) .service-device-table .device-icmp-col{display:none}html:not([data-design=b]) .service-device-table .device-icmp-inline{display:block;margin-top:6px;width:100%;max-width:100%;min-width:0}html:not([data-design=b]) .service-device-table .device-icmp-inline .device-icmp-compact{width:100%;max-width:220px}html:not([data-design=b]) .service-device-table .service-device-edit{width:40px;min-width:40px;padding-inline:2px;vertical-align:middle}html:not([data-design=b]) .service-device-table th,html:not([data-design=b]) .service-device-table td{padding-inline:6px}}@media (max-width: 360px){html:not([data-design=b]) .group-children{padding-left:8px;padding-right:8px}html:not([data-design=b]) .service-device-table{width:100%}html:not([data-design=b]) .service-device-table .device-addr-inline .device-mac-sub{font-size:.72rem;letter-spacing:-.01em;white-space:normal;overflow-wrap:anywhere}html:not([data-design=b]) .service-device-table th,html:not([data-design=b]) .service-device-table td{padding-inline:2px}html:not([data-design=b]) .service-device-table .device-select-col{width:24px;min-width:24px;padding-inline:1px}html:not([data-design=b]) .service-device-table .status-col{width:18px;min-width:18px;padding-inline:1px}html:not([data-design=b]) .service-device-table .icon-cell{width:28px;min-width:28px;max-width:28px;padding-inline:1px;overflow:hidden}html:not([data-design=b]) .service-device-table .icon-cell-inner{flex-direction:column;align-items:center;gap:2px}html:not([data-design=b]) .service-device-table .snap-thumb-btn{width:22px;height:22px}html:not([data-design=b]) .service-device-table .service-device-edit{width:34px;min-width:34px;max-width:34px;padding-inline:1px}html:not([data-design=b]) .service-device-table .service-device-edit .btn-icon{padding:4px 6px}html:not([data-design=b]) .service-device-table .device-icmp-inline .device-icmp-compact{max-width:100%}}@media (max-width: 860px){html[data-design=b] .service-device-table td.device-addr-cell>div{text-align:right;min-width:0;overflow-wrap:anywhere}html[data-design=b] .service-device-table td.device-icmp-col{min-width:0;align-items:center}html[data-design=b] .service-device-table td.device-icmp-col .device-icmp-compact{flex:1 1 auto;min-width:72px;width:auto;max-width:100%}html[data-design=b] .service-device-table td.device-icmp-col .device-icmp-track{width:100%;min-width:72px;max-width:100%;flex:1 1 auto}}.group-select-all{display:inline-flex;align-items:center;flex-shrink:0}.device-select-col{width:36px;text-align:center;vertical-align:middle}.device-select-checkbox{width:16px;height:16px;accent-color:var(--teal);cursor:pointer}.device-row-selected{background:#14b8a614}.bulk-assign-bar{display:grid;gap:10px;padding:12px 14px;margin-bottom:12px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);border-left:3px solid var(--teal)}.bulk-assign-bar-main{display:flex;flex-wrap:wrap;align-items:end;gap:12px 16px}.bulk-assign-count{font-size:.95rem;min-width:7rem}.bulk-assign-group{display:grid;gap:4px;flex:1 1 220px;min-width:0;font-size:.85rem}.bulk-assign-group .input{max-width:360px}.bulk-assign-actions{display:flex;flex-wrap:wrap;gap:8px}.bulk-assign-report{display:grid;gap:6px;font-size:.9rem}.bulk-assign-ok{color:var(--ok)}.bulk-assign-fail{color:var(--crit)}.bulk-assign-fail-list{margin:4px 0 0;padding-left:1.2rem;color:var(--muted);font-size:.85rem}@media (max-width: 860px){.bulk-assign-bar-main{flex-direction:column;align-items:stretch}.bulk-assign-count{min-width:0}.bulk-assign-group{flex:1 1 auto;width:100%}.bulk-assign-group .input{max-width:none;width:100%}.bulk-assign-actions{width:100%}.bulk-assign-actions .btn{flex:1 1 auto}html:not([data-design=b]) .service-device-table .device-select-col{width:28px;padding-inline:2px}}.device-linear-topology h3{margin-top:0;margin-bottom:10px}.device-linear-topology--embedded{margin-top:14px;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--border, #334155) 80%,transparent)}.device-linear-topo-embedded-title{margin:0 0 10px;font-size:1rem;font-weight:600}.device-linear-topo-msg{margin:0 0 10px;font-size:.9rem;line-height:1.4}.device-linear-topo-msg--warn{color:var(--warn, #f59e0b)}.device-linear-topo-bindings{margin:0 0 12px;padding-left:1.1rem;font-size:.9rem}.device-linear-topo-scroll-wrap{position:relative;margin:0 -2px;padding:0 2px 2px}.device-linear-topo-scroll{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;padding:8px 0 10px;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--muted, #94a3b8) 55%,transparent) transparent}.device-linear-topo-scroll::-webkit-scrollbar{height:6px}.device-linear-topo-scroll::-webkit-scrollbar-track{background:transparent}.device-linear-topo-scroll::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--muted, #94a3b8) 55%,transparent);border-radius:999px}.device-linear-topo-scroll-rail{position:relative;height:4px;margin:0 2px 4px;border-radius:999px;background:color-mix(in srgb,var(--muted, #94a3b8) 22%,transparent);overflow:hidden}.device-linear-topo-scroll-thumb{position:absolute;top:0;height:100%;min-width:24px;border-radius:999px;background:color-mix(in srgb,var(--muted, #94a3b8) 70%,var(--accent, #3b82f6) 15%);transition:left .05s linear}html[data-design=b] .device-linear-topo-scroll-thumb{background:color-mix(in srgb,#64748b 55%,var(--accent, #2563eb) 25%)}.device-linear-topo-chain{--topo-node-w: 96px;--topo-chip-size: 40px;--topo-gap: 48px;--topo-overhang: calc((var(--topo-node-w) - var(--topo-chip-size)) / 2);display:flex;flex-wrap:nowrap;align-items:flex-start;gap:0;width:max-content;min-width:100%;margin:0;padding:0}.device-linear-topo-seg{display:inline-flex;flex-wrap:nowrap;align-items:flex-start}.device-linear-topo-node{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;width:var(--topo-node-w);flex:0 0 auto;text-align:center}.device-linear-topo-chip{position:relative;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:var(--topo-chip-size);height:var(--topo-chip-size);border-radius:12px;cursor:pointer;-webkit-user-select:none;user-select:none;z-index:2}.device-linear-topo-node.is-current .device-linear-topo-chip{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent, #3b82f6) 55%,transparent)}.device-linear-topo-chip:hover,.device-linear-topo-chip:focus{filter:brightness(1.12);outline:none;z-index:20}.device-linear-topo-caption{display:flex;flex-direction:column;gap:2px;max-width:var(--topo-node-w);min-width:0}.device-linear-topo-name{font-size:.78rem;font-weight:600;line-height:1.25;color:var(--text);text-decoration:none;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;word-break:break-word}a.device-linear-topo-name:hover{text-decoration:underline;color:var(--accent, #3b82f6)}.device-linear-topo-role{font-size:.68rem;line-height:1.2;overflow-wrap:normal;word-break:normal}.device-conn-edge{position:relative;flex:0 0 var(--topo-gap);width:var(--topo-gap);height:var(--topo-chip-size);margin:0;padding:0;z-index:1}.device-conn-edge-hit{position:absolute;left:calc(-1 * var(--topo-overhang));right:calc(-1 * var(--topo-overhang));top:0;height:100%;display:flex;align-items:center;justify-content:center;margin:0;padding:0;border:0;background:transparent;cursor:pointer;border-radius:6px;box-sizing:border-box}.device-conn-edge-hit:hover .device-conn-edge-line,.device-conn-edge-hit:focus-visible .device-conn-edge-line{filter:brightness(1.15);outline:none}.device-conn-edge-hit:focus-visible{outline:2px solid color-mix(in srgb,var(--accent, #3b82f6) 70%,transparent);outline-offset:2px}.device-conn-edge-line{display:block;width:100%;height:3px;border-radius:999px;background:var(--conn-edge-color, #64748b);transition:filter .12s ease,box-shadow .12s ease;pointer-events:none}.device-conn-edge-line--wifi{height:0;border-top:2px dashed var(--conn-edge-color, #38bdf8);background:transparent!important}.device-conn-edge-line.is-optical{box-shadow:0 0 6px color-mix(in srgb,var(--conn-edge-color, #a855f7) 70%,transparent),0 0 12px color-mix(in srgb,var(--conn-edge-color, #a855f7) 35%,transparent)}.device-conn-edge-port{position:absolute;top:50%;transform:translateY(calc(-50% - 11px));font-size:.65rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--muted);line-height:1;max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;z-index:2}.device-conn-edge-port--from{left:2px;text-align:left}.device-conn-edge-port--to{right:2px;text-align:right}.device-conn-edge-mid{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:color-mix(in srgb,var(--panel, #0f172a) 88%,transparent);pointer-events:none;z-index:2}.device-conn-edge-poe{display:block}.connection-type-selector{min-width:200px;max-width:min(280px,calc(100vw - 24px));padding:10px 12px;border-radius:10px;border:1px solid var(--border, #334155);background:var(--panel, #0f172a);box-shadow:0 10px 28px #00000059;display:flex;flex-direction:column;gap:8px;box-sizing:border-box}.connection-type-selector--portal{max-width:min(280px,calc(100vw - 16px))}.connection-type-selector-title{font-size:.8rem;font-weight:600}.connection-type-selector-label{display:flex;flex-direction:column;gap:4px;font-size:.78rem}.connection-type-selector-error{font-size:.78rem;margin:0}.connection-type-selector-status{font-size:.75rem}.connection-type-selector-readonly{font-size:.85rem}.connection-type-selector-hint{font-size:.75rem}.connection-type-selector-retry{align-self:stretch;padding:4px 10px;font-size:.78rem}.connection-type-selector-close{align-self:flex-end;padding:4px 10px;font-size:.78rem}html[data-design=b] .device-linear-topo-name{font-size:.86rem}html[data-design=b] .device-linear-topo-role{font-size:.74rem}html[data-design=b] .device-linear-topo-chain{--topo-node-w: 108px}html[data-design=b] .device-linear-topo-caption{max-width:108px}@media (max-width: 640px){.device-linear-topo-chain{--topo-node-w: 84px;--topo-gap: 40px}.device-linear-topo-caption{max-width:84px}.device-linear-topo-name{font-size:.72rem}html:not([data-design=b]) .device-linear-topo-role{font-size:.62rem}}.device-linear-topo-popup-portal{max-width:calc(100vw - 16px)}.device-linear-topo-popup-portal .net-schema-graph-popup{min-width:min(200px,calc(100vw - 16px));max-width:min(260px,calc(100vw - 16px));box-sizing:border-box}.device-linear-topo-popup-portal .net-schema-graph-popup--expanded{min-width:min(280px,calc(100vw - 16px));max-width:min(340px,calc(100vw - 16px))}.device-linear-topo-popup-portal .net-schema-graph-popup-title>:first-child{flex-shrink:0}.device-linear-topo-popup-portal .net-schema-graph-popup-title strong{white-space:normal;overflow-wrap:anywhere}.device-icon-img{display:inline-block;flex-shrink:0;box-sizing:border-box}.device-icon-img--plate{background:#f1f5f9;border-radius:6px;box-shadow:0 0 0 1px #0f172a40}.brand-create{display:flex;gap:8px;flex-wrap:wrap}.brand-create .input{flex:1 1 220px;min-width:0}.brand-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.brand-row{display:flex;gap:12px;align-items:flex-start;padding:10px;border:1px solid var(--border, rgba(148, 163, 184, .25));border-radius:10px}.brand-row-main{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}.brand-row-name{display:flex;gap:8px;flex-wrap:wrap}.brand-row-name .input{flex:1 1 180px;min-width:0}.brand-row-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.brand-plate-toggle{display:inline-flex;gap:6px;align-items:center}.icon-preview-pair{display:inline-flex;gap:4px;flex-shrink:0}.icon-preview{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:8px}.icon-preview--dark{background:#0f172a;color:#e2e8f0}.icon-preview--light{background:#f8fafc;color:#0f172a;border:1px solid rgba(15,23,42,.12)}.device-brand-picker{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.device-brand-picker select{width:auto;min-width:240px;max-width:min(100%,360px)}.scan-mode-row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-bottom:8px}.scan-mode-row label{display:flex;flex-direction:column;gap:4px}.scan-mode-row .scan-extra{flex:1 1 260px;min-width:0}.scan-mode-row .scan-check{flex-direction:row;align-items:center;gap:6px}.scan-mac-hint{font-size:.85rem;margin:0 0 8px}.mac-scan{margin-top:12px;display:flex;flex-direction:column;gap:6px}.mac-scan-table td{vertical-align:top}.mac-scan-table .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;white-space:nowrap}.mac-row--warn td{background:#f59e0b14}.mac-flags{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.mac-flag{font-size:.75rem;padding:1px 6px;border-radius:999px;border:1px solid rgba(148,163,184,.35)}.mac-flag--warn{border-color:#f59e0bb3;color:#f59e0b}.mac-flag--info{border-color:#38bdf899;color:#38bdf8}.mac-flag--muted{opacity:.8}.object-expand-col{width:64px}.object-agents-toggle{display:inline-flex;align-items:center;gap:4px;min-width:48px;height:30px;padding:0 8px;font-size:.85rem}.object-agents-toggle .object-agents-count{font-variant-numeric:tabular-nums;color:var(--muted)}.object-agents-toggle.is-open{border-color:var(--accent, #3b82f6)}.object-row.is-expanded>td{border-bottom-color:transparent}.object-agents-row>td{padding:0 12px 14px;background:#ffffff05}.object-agents-panel{min-width:0;max-width:100%;border-left:2px solid var(--border);padding-left:12px}.object-agents-panel .table-scroll{overflow-x:auto;max-width:100%}.object-agents-empty{margin:8px 0}.object-agents-table th,.object-agents-table td{font-size:.88rem}.mobile-row-card{min-width:0;max-width:100%}.agent-schema-col{width:44px;text-align:center}.agent-schema-link{display:inline-flex;align-items:center;justify-content:center;width:32px;height:30px;padding:0}.agents-table{position:relative}.camera-snapshot-status{margin-top:12px;display:flex;flex-direction:column;gap:8px;font-size:.92rem}.camera-snapshot-facts{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;margin:0}.camera-snapshot-facts dt{color:var(--muted, #8a94a6)}.camera-snapshot-facts dd{margin:0;overflow-wrap:anywhere}.camera-snapshot-status .text-danger{color:var(--danger, #e5484d)}.camera-snapshot-status details ul{margin:4px 0 0 18px;padding:0}.camera-snapshot-onvif{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:flex-end}.camera-snapshot-onvif form{display:flex;gap:8px;align-items:flex-end}.camera-snapshot-onvif label{display:flex;flex-direction:column;gap:4px}.camera-snapshot-onvif input{width:7rem}.camera-snapshot-history table{width:100%;margin-top:4px}.camera-snapshot-history td{padding:2px 6px;vertical-align:top}.vendor-ahd-toggle{display:inline-flex;flex-direction:column;align-items:center;gap:2px}.vendor-ahd-toggle label{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.vendor-ahd-toggle input:disabled{cursor:not-allowed}.device-ahd-addr{white-space:nowrap;font-size:.9em;color:var(--muted, #64748b)}.partner-workspace{min-width:0;width:100%}.partners-page{min-width:0;max-width:100%}.workspace-layout{display:grid;grid-template-columns:205px minmax(0,1fr);gap:20px;align-items:start}.workspace-partners{display:grid;gap:8px;min-width:0}.workspace-partner{width:100%;padding:14px;text-align:left;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text);overflow-wrap:anywhere;cursor:pointer}.workspace-partner.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--panel))}.workspace-partner small{display:block;margin-top:5px;color:var(--muted)}.workspace-content,.workspace-title{min-width:0;overflow-wrap:anywhere}.workspace-heading h2{margin:0}.workspace-line,.workspace-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.workspace-line{justify-content:space-between;gap:12px}.workspace-title{display:grid;gap:3px}.workspace-label,.workspace-uid,.workspace-status{font-size:.85rem}.workspace-title h3{margin:0}.workspace-organization{margin-top:16px;padding:16px;border:1px solid var(--border);border-radius:10px;background:var(--panel);min-width:0}.workspace-object{margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.workspace-agents{display:grid;gap:7px;margin-top:12px}.workspace-agent{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:10px;border-radius:6px;background:var(--bg)}.workspace-status.online{color:var(--ok)}.workspace-billing{margin-top:20px;padding-top:15px;border-top:1px solid var(--border)}.workspace-billing summary{cursor:pointer}.workspace-modal{width:min(540px,calc(100vw - 32px));min-width:0;max-width:calc(100vw - 32px)}.workspace-modal form,.workspace-modal label{display:grid;gap:12px;min-width:0}.workspace-modal input,.workspace-modal select{width:100%;min-width:0}@media (max-width: 800px){.workspace-layout{grid-template-columns:minmax(0,1fr);gap:14px}.workspace-partners{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 520px){.workspace-organization{padding:12px}.workspace-agent{grid-template-columns:minmax(0,1fr) auto}.workspace-agent .workspace-actions{grid-column:1 / -1}.workspace-line{align-items:flex-start}.workspace-actions .btn{white-space:normal}}.switch-chassis--face{background:linear-gradient(180deg,#1c2430,#121820);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:16px 14px 12px;box-shadow:inset 0 1px #ffffff0a}.switch-port--socket{width:46px;height:58px;background:#1a1f27;border:1px solid rgba(255,255,255,.14);border-radius:6px;box-shadow:inset 0 0 0 1px #0006}.switch-port--socket .switch-port-jack{width:22px;height:16px;border-radius:2px 2px 3px 3px;background:#0b0e13;border:1px solid rgba(255,255,255,.18);box-shadow:inset 0 2px #ffffff0f;margin-top:2px}.switch-port--socket .switch-port-led{top:4px;bottom:auto}.switch-port--socket .switch-port-num{position:absolute;bottom:3px;font-size:.68rem}.switch-port.is-selected{outline:2px solid #3b82f6;outline-offset:1px;box-shadow:0 0 0 3px #3b82f640}.switch-port-card{min-width:280px;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.switch-port-card-title{font-weight:650;font-size:1rem}.switch-port-card-row{display:flex;flex-direction:column;gap:6px}.switch-port-pills{display:flex;flex-wrap:wrap;gap:6px}.switch-port-pill{border:1px solid rgba(255,255,255,.14);background:transparent;color:inherit;border-radius:999px;padding:4px 10px;font-size:.82rem;cursor:pointer}.switch-port-pill.is-on{background:#2563eb;border-color:#2563eb;color:#fff}.switch-port-poe-row{display:flex;align-items:center;gap:8px}.switch-port-count{display:flex;flex-direction:column;gap:10px}.switch-port-stepper{display:flex;align-items:center;gap:0;width:fit-content}.switch-port-stepper button{width:36px;height:36px;border:1px solid var(--border);background:var(--panel, #1a2330);color:inherit;cursor:pointer}.switch-port-stepper button:first-child{border-radius:8px 0 0 8px}.switch-port-stepper button:last-child{border-radius:0 8px 8px 0}.switch-port-stepper input{width:72px;height:36px;text-align:center;border-top:1px solid var(--border);border-bottom:1px solid var(--border);border-left:0;border-right:0;background:var(--panel-2, #121820);color:inherit}.uplink-board{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 860px){.uplink-board{grid-template-columns:1fr}}.uplink-board-col{border:1px solid var(--border);border-radius:10px;padding:10px;min-height:160px}.uplink-empty{border:1px dashed rgba(255,255,255,.2);border-radius:10px;min-height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:16px}.uplink-pick-list{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow:auto}.uplink-pick-group{font-size:.78rem;color:var(--muted);margin-top:6px}.uplink-pick-row{display:flex;justify-content:space-between;gap:8px;width:100%;text-align:left;padding:8px 10px;border-radius:8px;border:1px solid transparent;background:#ffffff08;color:inherit;cursor:pointer}.uplink-pick-row.is-on{border-color:#2563eb;background:#2563eb2e}.uplink-summary{margin-top:10px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-size:.9rem}.switch-port--socket.spd-100,.switch-port--socket.spd-1g,.switch-port--socket.spd-2_5g,.switch-port--socket.spd-10g{background:#1a1f27;border-color:#ffffff24}.switch-port--socket{width:40px;height:48px;background:#1a1f27}.switch-port--socket .switch-port-jack{width:18px;height:13px;margin-top:4px;border-radius:1px 1px 2px 2px;background:#0c1016;border:1px solid #4b5568;box-shadow:inset 0 2px #ffffff14;position:relative}.switch-port--socket .switch-port-jack:after{content:"";position:absolute;left:2px;right:2px;top:3px;height:3px;background:#2c3544;border-radius:1px}.switch-port--socket .switch-port-jack.is-sfp{width:12px;height:18px;border-radius:1px}.switch-port--socket .switch-port-radio{font-size:.9rem;color:#7dd3fc;margin-top:4px}.switch-port--socket .switch-port-led{top:3px;bottom:auto;width:5px;height:5px}.switch-port--socket .switch-port-num{position:absolute;bottom:2px;font-size:.62rem}.uplink-stage{position:relative}.uplink-cable{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}.uplink-count-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px}.landing{--l-bg: #f4f7fb;--l-surface: #ffffff;--l-ink: #0f172a;--l-muted: #5b6b7c;--l-accent: #2563eb;--l-accent-2: #1d4ed8;--l-border: #e2e8f0;--l-dark: #0f1419;min-height:100%;background:var(--l-bg);color:var(--l-ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.landing *{box-sizing:border-box}.landing-wrap{width:min(1120px,calc(100% - 32px));margin:0 auto}.landing-header{position:sticky;top:0;z-index:20;background:#0f1419;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 8px 24px #00000040}.landing-header-inner{display:flex;align-items:center;gap:16px;padding:12px 0}.landing-brand img{display:block}.landing-nav{display:flex;gap:16px;margin-left:auto;flex-wrap:wrap}.landing-nav a{color:#e2e8f0e0;text-decoration:none;font-size:.95rem}.landing-nav a:hover{color:#93c5fd}.landing-header .landing-btn-ghost{background:transparent;border-color:#ffffff38;color:#e2e8f0}.landing-header .landing-btn-ghost:hover{border-color:#60a5fa;color:#93c5fd}.landing-header .landing-brand img{filter:brightness(1.05)}.landing-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;padding:10px 16px;font-weight:600;border:1px solid transparent;cursor:pointer;text-decoration:none;font:inherit}.landing-btn-primary{background:var(--l-accent);color:#fff}.landing-btn-primary:hover{background:var(--l-accent-2)}.landing-btn-primary:disabled{opacity:.6;cursor:not-allowed}.landing-btn-ghost{background:#fff;border-color:var(--l-border);color:var(--l-ink)}.landing-btn-ghost:hover{border-color:var(--l-accent);color:var(--l-accent)}.landing-hero{padding:48px 0 28px;background:radial-gradient(900px 400px at 10% -10%,rgba(37,99,235,.18),transparent 60%),radial-gradient(700px 300px at 90% 0%,rgba(20,184,166,.12),transparent 55%),var(--l-bg)}.landing-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:center}.landing-eyebrow{color:var(--l-accent);font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:.8rem;margin:0 0 10px}.landing-hero h1{font-size:clamp(1.7rem,3.2vw,2.55rem);line-height:1.15;margin:0 0 14px}.landing-lead{color:var(--l-muted);font-size:1.05rem;line-height:1.55;margin:0 0 22px}.landing-cta-row{display:flex;flex-wrap:wrap;gap:10px}.landing-hero-visual{border-radius:16px;overflow:hidden;box-shadow:0 24px 60px #0f172a2e;border:1px solid var(--l-border);background:var(--l-dark)}.landing-hero-visual img{display:block;width:100%;height:auto}.landing-live-banner{position:relative;background:radial-gradient(1200px 200px at 10% 0%,rgba(56,189,248,.35),transparent 55%),radial-gradient(900px 220px at 90% 100%,rgba(45,212,191,.28),transparent 50%),linear-gradient(105deg,#0b1f4a,#1d4ed8 48%,#0f766e);color:#fff;padding:28px 0 32px;overflow:hidden}.landing-live-banner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 85%);mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 85%);pointer-events:none}.landing-live-banner .landing-wrap{position:relative;z-index:1}.landing-live-head{display:flex;align-items:center;gap:10px;margin-bottom:16px}.landing-live-pulse{width:10px;height:10px;border-radius:50%;background:#4ade80;box-shadow:0 0 #4ade80b3;animation:landing-pulse 1.8s ease-out infinite;flex-shrink:0}@keyframes landing-pulse{0%{box-shadow:0 0 #4ade80a6}70%{box-shadow:0 0 0 12px #4ade8000}to{box-shadow:0 0 #4ade8000}}.landing-live-title{margin:0;font-size:.95rem;font-weight:600;letter-spacing:.02em;opacity:.92}.landing-live-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.landing-live-grid-4{grid-template-columns:repeat(4,1fr)}.landing-stat-health .landing-stat-bar{background:linear-gradient(90deg,#ef4444,transparent)}.landing-donut{flex-shrink:0}.landing-stat-card{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:16px;background:#ffffff1f;border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 12px 32px #0000002e;position:relative;overflow:hidden;transition:transform .2s ease,background .2s ease}.landing-stat-card:hover{transform:translateY(-2px);background:#ffffff29}.landing-stat-icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;flex-shrink:0;color:#fff}.landing-stat-icon svg{width:30px;height:30px}.landing-stat-cam .landing-stat-icon{background:linear-gradient(145deg,#38bdf8,#2563eb)}.landing-stat-net .landing-stat-icon{background:linear-gradient(145deg,#2dd4bf,#0d9488)}.landing-stat-other .landing-stat-icon{background:linear-gradient(145deg,#a78bfa,#7c3aed)}.landing-stat-body{min-width:0}.landing-stat-value{font-size:clamp(1.75rem,3.5vw,2.35rem);font-weight:800;font-variant-numeric:tabular-nums;line-height:1;letter-spacing:-.02em}.landing-stat-label{margin-top:6px;font-size:.88rem;opacity:.88;line-height:1.25}.landing-stat-bar{position:absolute;left:0;right:0;bottom:0;height:3px;opacity:.9}.landing-stat-cam .landing-stat-bar{background:linear-gradient(90deg,#38bdf8,transparent)}.landing-stat-net .landing-stat-bar{background:linear-gradient(90deg,#2dd4bf,transparent)}.landing-stat-other .landing-stat-bar{background:linear-gradient(90deg,#a78bfa,transparent)}@media (max-width: 1100px){.landing-live-grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width: 800px){.landing-live-grid,.landing-live-grid-4{grid-template-columns:1fr}.landing-live-banner{padding:22px 0 24px}.landing-max-qr{display:none}}.landing-section{padding:56px 0}.landing-section-alt{background:#eef3f9}.landing-section h2{margin:0 0 8px;font-size:clamp(1.4rem,2.4vw,1.9rem)}.landing-section-lead{color:var(--l-muted);margin:0 0 24px;max-width:62ch;line-height:1.5}.landing-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.landing-card{background:var(--l-surface);border:1px solid var(--l-border);border-radius:14px;padding:20px;box-shadow:0 8px 24px #0f172a0a}.landing-card h3{margin:0 0 8px;font-size:1.05rem}.landing-card p{margin:0;color:var(--l-muted);line-height:1.5}.landing-shots{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.landing-shots figure{margin:0;background:var(--l-surface);border:1px solid var(--l-border);border-radius:14px;overflow:hidden}.landing-shots img{display:block;width:100%;height:auto}.landing-shots figcaption{padding:10px 12px;color:var(--l-muted);font-size:.9rem}.landing-lead-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}.landing-bullets{margin:0;padding-left:18px;color:var(--l-muted);line-height:1.7}.landing-form{background:var(--l-surface);border:1px solid var(--l-border);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:12px;box-shadow:0 12px 32px #0f172a0f}.landing-form label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:.92rem}.landing-form input{border:1px solid var(--l-border);border-radius:10px;padding:12px 14px;font:inherit;background:#fff;color:var(--l-ink)}.landing-form input:focus{outline:2px solid rgba(37,99,235,.35);border-color:var(--l-accent)}.landing-form-error{color:#b91c1c;font-size:.92rem}.landing-form-ok{color:#15803d;font-size:.92rem}.landing-form-note{margin:0;color:var(--l-muted);font-size:.8rem;line-height:1.4}.landing-tariff-note{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:baseline;margin:0 0 22px;padding:14px 16px;border-radius:12px;border:1px solid rgba(37,99,235,.25);background:linear-gradient(135deg,#2563eb14,#0ea5e90f);color:var(--l-ink)}.landing-tariff-note strong{font-size:1.02rem}.landing-tariff-note span{color:var(--l-muted);font-size:.92rem}.landing-tariff-cards{align-items:stretch}.landing-tariff-card{display:flex;flex-direction:column;gap:10px;position:relative;min-height:220px}.landing-tariff-featured{border-color:#2563eb73;box-shadow:0 12px 32px #2563eb1f}.landing-tariff-badge{position:absolute;top:12px;right:12px;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#1d4ed8;background:#2563eb1f;border-radius:999px;padding:4px 10px}.landing-tariff-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 8px;margin:4px 0 2px}.landing-tariff-amount{font-size:1.75rem;font-weight:800;color:var(--l-ink);letter-spacing:-.02em}.landing-tariff-per{color:var(--l-muted);font-size:.92rem}.landing-tariff-features{margin:0;padding-left:18px;color:var(--l-muted);line-height:1.65;flex:1}.landing-tariff-features strong{color:var(--l-ink)}.landing-footer{border-top:1px solid var(--l-border);background:#fff;padding:28px 0 32px}.landing-footer-inner,.landing-footer-grid{display:flex;flex-wrap:wrap;gap:18px 28px;align-items:flex-start;justify-content:space-between;color:var(--l-muted)}.landing-footer-brand{display:flex;align-items:center;gap:10px;color:var(--l-ink);font-weight:600}.landing-footer-links{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;max-width:520px}.landing-footer a{color:var(--l-muted);text-decoration:none}.landing-footer a:hover{color:var(--l-accent)}.landing-footer-max{display:flex;align-items:center;gap:14px}.landing-max-btn{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;background:#00c853;color:#fff!important;font-weight:700;text-decoration:none;box-shadow:0 8px 20px #00c85340}.landing-max-btn:hover{filter:brightness(1.05);color:#fff!important}.landing-max-qr{border-radius:12px;border:1px solid var(--l-border);background:#fff;width:120px;height:120px;object-fit:cover;flex-shrink:0}.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:50;padding:12px;pointer-events:none}.cookie-banner-inner{pointer-events:auto;width:min(1120px,100%);margin:0 auto;display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:#0f1419;color:#e2e8f0;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:14px 16px;box-shadow:0 16px 40px #00000059}.cookie-banner-inner p{margin:0;max-width:72ch;line-height:1.45;font-size:.92rem}.cookie-banner-inner a{color:#93c5fd}.landing-legal{padding:36px 0 64px;max-width:760px}.landing-legal h1{margin:0 0 18px}.landing-legal p{color:var(--l-muted);line-height:1.6}.landing-legal-nav{margin-top:28px}@media (max-width: 900px){.landing-nav{display:none}.landing-hero-grid,.landing-cards,.landing-tariff-cards,.landing-shots,.landing-lead-grid{grid-template-columns:1fr}.landing-header-inner{justify-content:space-between}.landing-hero{padding-top:28px}}.landing-requisites-name{margin:0 0 18px;font-size:1.15rem;font-weight:700;color:var(--l-ink);letter-spacing:.01em}.landing-requisites-bank{margin:28px 0 14px;font-size:1.05rem;font-weight:700;color:var(--l-ink)}.landing-requisites-list{margin:0;padding:0;display:grid;gap:10px 0}.landing-requisites-row{display:grid;grid-template-columns:minmax(140px,200px) 1fr;gap:8px 16px;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--l-border)}.landing-requisites-row dt{margin:0;color:var(--l-muted);font-size:.92rem}.landing-requisites-row dd{margin:0;color:var(--l-ink);font-weight:600;font-variant-numeric:tabular-nums;word-break:break-all}.landing-requisites-tel{color:var(--l-ink);text-decoration:none;border-bottom:1px dashed rgba(37,99,235,.35)}.landing-requisites-tel:hover{color:var(--l-accent)}@media (max-width: 600px){.landing-requisites-row{grid-template-columns:1fr;gap:4px}}.landing-requisites-empty{display:inline-block;min-width:12ch;min-height:1.1em;border-bottom:1px dotted var(--l-border);vertical-align:baseline}.landing-nav-mobile{display:none;color:#e2e8f0;text-decoration:none;font-weight:600;padding:6px 10px;border:1px solid rgba(255,255,255,.22);border-radius:10px}@media (max-width: 900px){.landing-nav-mobile{display:inline-block;margin-left:auto;white-space:nowrap}}.design-settings h2{margin-top:0}.design-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.design-option{display:flex;align-items:flex-start;gap:12px;padding:18px;border:2px solid var(--border);border-radius:12px;cursor:pointer}.design-option.selected{border-color:var(--accent)}.design-option input{margin-top:4px;accent-color:var(--accent);width:20px;height:20px;flex-shrink:0}.design-option span span{display:block;margin-top:6px;line-height:1.5}.service-bottom-nav{display:none}html[data-design=b] .service-device-filters{display:flex;align-items:end;gap:18px;flex-wrap:wrap}html[data-design=b] .service-device-filters>label:first-child{display:grid;gap:8px;flex:1 1 240px}html[data-design=b] .service-problems-toggle{display:flex;align-items:center;gap:10px;min-height:48px;cursor:pointer}html[data-design=b] .service-problems-toggle input{width:20px;height:20px;accent-color:var(--accent)}html[data-design=b] .service-work-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:start}html[data-design=b] .service-work-column{min-width:0}html[data-design=b] .service-work-column h2{font-size:17px;display:flex;justify-content:space-between;gap:8px}html[data-design=b] .service-work-card{display:grid;gap:12px;margin-bottom:14px;overflow-wrap:anywhere;font-size:14px}html[data-design=b] .service-work-card strong{font-size:17px}html[data-design=b] .service-work-card:hover{border-color:var(--accent)}@media (max-width: 1200px){html[data-design=b] .service-work-board{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 600px){html[data-design=b] .service-work-board{grid-template-columns:1fr}}.service-only{display:none}html[data-design=b] span.service-only{display:inline}html[data-design=b] .service-attention{display:flex;align-items:center;justify-content:space-between;gap:20px;border-left:4px solid var(--accent)}html[data-design=b] .service-attention p{margin-bottom:0}html[data-design=b] th.service-only,html[data-design=b] td.service-only{display:table-cell}html[data-design=b]{color-scheme:light;--bg: #f2f5f8;--panel: #fff;--panel-2: #edf2f7;--border: #d7e1e9;--text: #182a3d;--muted: #52677e;--accent: #165ac4;--teal: #165ac4;--ok: #137a42;--warn: #946000;--crit: #bd283b;--radius: 18px}html[data-design=b] .content{min-width:0;padding:28px}html[data-design=b] .stack{gap:20px}html[data-design=b] .card{box-shadow:0 3px 14px #243b5310;padding:22px}html[data-design=b] .topbar{gap:16px;flex-wrap:wrap}html[data-design=b] h1{font-size:clamp(24px,2.2vw,32px);letter-spacing:-.025em}html[data-design=b] h2{letter-spacing:-.015em}html[data-design=b] .btn{min-height:44px;padding:10px 16px;border-radius:10px;font-weight:600}html[data-design=b] .btn-icon{min-width:44px}html[data-design=b] .btn.secondary{background:var(--panel)}html[data-design=b] .btn:disabled{opacity:.65;cursor:not-allowed}html[data-design=b] :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--accent);outline-offset:3px}html[data-design=b] :is(input,select,textarea).input{background:var(--panel);min-height:44px}html[data-design=b] .nav a{min-height:44px}html[data-design=b] .sidebar{background:#171e26;border-right-color:#2a3542;color:#e7eef7}html[data-design=b] .sidebar .netmon-logo-text,html[data-design=b] .sidebar .brand-row{color:#e7eef7}html[data-design=b] .sidebar .viewer-banner,html[data-design=b] .sidebar .app-footer,html[data-design=b] .sidebar .app-footer a,html[data-design=b] .sidebar .app-version{color:#93a4b8}html[data-design=b] .sidebar .app-footer a:hover{color:#14b8a6}html[data-design=b] .sidebar .nav a,html[data-design=b] .sidebar .nav a .nav-icon{color:#93a4b8}html[data-design=b] .sidebar .nav a.active .nav-icon,html[data-design=b] .sidebar .nav a:hover .nav-icon{color:#14b8a6}html[data-design=b] .sidebar .nav a.active,html[data-design=b] .sidebar .nav a:hover{background:#1e2732;color:#e7eef7;font-weight:650}html[data-design=b] .sidebar .nav-group.active-group>.nav-group-row .nav-parent{color:#e7eef7}html[data-design=b] .sidebar .nav-flyout{background:#171e26;border-color:#2a3542;box-shadow:0 8px 24px #00000073}html[data-design=b] .sidebar .nav-flyout a{color:#93a4b8}html[data-design=b] .sidebar .nav-flyout a:hover,html[data-design=b] .sidebar .nav-flyout a.active{background:#1e2732;color:#e7eef7}html[data-design=b] .sidebar .btn.secondary,html[data-design=b] .sidebar .nav-caret,html[data-design=b] .sidebar .sidebar-toggle,html[data-design=b] .sidebar .logout-btn{background:transparent;color:#93a4b8;border-color:#2a3542}html[data-design=b] .sidebar .btn.secondary:hover,html[data-design=b] .sidebar .nav-caret:hover,html[data-design=b] .sidebar .sidebar-toggle:hover,html[data-design=b] .sidebar .logout-btn:hover{background:#1e2732;color:#e7eef7}html[data-design=b] .sidebar-backdrop{background:#00000073}html[data-design=b] .table{font-size:14px}html[data-design=b] .table th{color:var(--muted);background:var(--panel-2)}html[data-design=b] .table :is(th,td){padding:14px 12px;line-height:1.5}html[data-design=b] .table-scroll{max-width:100%}html[data-design=b] .vendor-api-section{background:var(--panel)}html[data-design=b] .vendor-api-attention{background:#fff8e9;border-left:4px solid var(--warn)}html[data-design=b] :is(.vendor-api-note,.vendor-api-cell-note,.vendor-api-summary-hint,.recorder-link-card .muted){font-size:14px;line-height:1.5}html[data-design=b] .vendor-api-details dt{font-size:14px}html[data-design=b] .vendor-api-details dd{font-size:16px}html[data-design=b] .error{line-height:1.5}html[data-design=b] .camera-shot{background:var(--panel-2);border-radius:14px;overflow:hidden}html[data-design=b] .camera-shot img{object-fit:contain}html[data-design=b] .camera-shot-meta{font-size:14px;line-height:1.5;padding:10px}html[data-design=b] .recorder-link-card{background:#edf4ff}html[data-design=b] .modal{max-height:90dvh}html[data-design=b] .vendor-api-raw{font-size:14px}@media (max-width: 860px){html[data-design=b] .service-attention{align-items:stretch;flex-direction:column}html[data-design=b] .vendor-api-camera-table{display:block;width:100%;min-width:0}html[data-design=b] .vendor-api-camera-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}html[data-design=b] .vendor-api-camera-table tbody{display:grid;gap:16px}html[data-design=b] .vendor-api-camera-table tr{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:14px;padding:14px;gap:12px}html[data-design=b] .vendor-api-camera-table td{display:block;width:auto;min-width:0;padding:0;border:0;white-space:normal;overflow-wrap:anywhere;font-size:16px}html[data-design=b] .vendor-api-camera-table td[data-label]:before{content:attr(data-label);display:block;font-size:14px;color:var(--muted);margin-bottom:4px}html[data-design=b] .vendor-api-camera-table .service-camera-name{order:-1}.design-options{grid-template-columns:1fr}html[data-design=b] .content{padding:72px 16px calc(90px + env(safe-area-inset-bottom));font-size:16px}html[data-design=b] .card{padding:16px}html[data-design=b] .topbar{align-items:stretch}html[data-design=b] .topbar h1{overflow-wrap:anywhere}html[data-design=b] :is(input,select,textarea).input{font-size:16px}html[data-design=b] .form-actions{flex-wrap:wrap;gap:10px}html[data-design=b] .btn{min-height:48px;font-size:16px}html[data-design=b] .mobile-hamburger{width:48px;height:48px}html[data-design=b] .service-bottom-nav{display:flex;position:fixed;bottom:0;inset-inline:0;z-index:30;background:var(--panel);border-top:1px solid var(--border);padding:6px 8px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -4px 20px #243b5310}html[data-design=b] .service-bottom-nav a{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:52px;font-size:12px;color:var(--muted);border-radius:10px}html[data-design=b] .service-bottom-nav a.active{color:var(--accent);background:#e8f0ff;font-weight:700}html[data-design=b] .service-device-table{display:block;min-width:0;width:100%}html[data-design=b] .service-device-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}html[data-design=b] .service-device-table tbody{display:grid;gap:14px}html[data-design=b] .service-device-table tr{display:grid;grid-template-columns:28px 1fr auto;gap:8px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--panel)}html[data-design=b] .service-device-table td{padding:0;border:0;min-width:0;white-space:normal;overflow-wrap:anywhere}html[data-design=b] .service-device-table .status-col{grid-column:1;grid-row:1;width:auto;align-self:center}html[data-design=b] .service-device-table .icon-cell{grid-column:3;grid-row:1}html[data-design=b] .service-device-table .service-device-name{grid-column:2;grid-row:1;font-size:16px;font-weight:650}html[data-design=b] .service-device-table .service-device-name a{display:inline-block;padding-block:8px}html[data-design=b] .service-device-table td[data-label]{grid-column:1 / -1;display:flex;justify-content:space-between;gap:12px;font-size:14px}html[data-design=b] .service-device-table td[data-label]:before{content:attr(data-label);color:var(--muted);flex-shrink:0}html[data-design=b] .service-device-edit{grid-column:3;justify-self:end}html[data-design=b] .device-detail-page .agent-meta{grid-template-columns:1fr}html[data-design=b] .device-detail-page .agent-meta .meta-label{font-size:14px}html[data-design=b] .device-detail-page .agent-meta .meta-value{font-size:16px;overflow-wrap:anywhere}html[data-design=b] .device-detail-page .camera-shot{width:100%;max-width:100%}html[data-design=b] .device-detail-page .camera-shot-actions .btn{width:100%}}html[data-design=b] .bulk-assign-bar{border-radius:14px}html[data-design=b] .device-select-checkbox{width:18px;height:18px}@media (max-width: 860px){html[data-design=b] .service-device-table tr:has(.device-select-col){grid-template-columns:28px 28px 1fr auto}html[data-design=b] .service-device-table .device-select-col{grid-column:1;grid-row:1;width:auto;align-self:center}html[data-design=b] .service-device-table tr:has(.device-select-col) .status-col{grid-column:2}html[data-design=b] .service-device-table tr:has(.device-select-col) .service-device-name{grid-column:3}html[data-design=b] .service-device-table tr:has(.device-select-col) .icon-cell{grid-column:4}html[data-design=b] .service-device-table tr:has(.device-select-col) .service-device-edit{grid-column:4}html[data-design=b] .service-device-table tr.device-row-selected{border-color:var(--teal);background:#14b8a61a}}
