@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2) format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2) format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2) format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2) format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2) format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2) format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2) format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Material Symbols Outlined;font-style:normal;font-weight:100 700;font-display:block;src:url(/assets/material-symbols-outlined-DzTrJqFk.woff2) format("woff2")}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}:root{--gray-900: #0b1a36;--gray-700: #12264a;--gray-600: #1f3a6b;--gray-300: #c9ced6;--gray-100: #eef0f3;--blue: #5bc0eb;--blue-dark: #1f3a6b;--blue-soft: #e4e9f4;--red: #e63946;--red-soft: #fde8ea;--green: #3fb67a;--white: #fff;--sidebar-w: 240px;--nav-h: 60px;--primary: #12264a;--primary-hover: #1f3a6b;--bg: #eef0f3;--card: #fff;--text: #2b303b;--muted: #4c5464;--line: #eef0f3;--th: #eef0f3;--hover: #e8ecf5;--input-bg: #fff;--input-border: #c9ced6}:root[data-theme=dark]{--gray-900: #070f20;--gray-700: #0d1b38;--gray-600: #17305a;--blue-soft: #1d3a4a;--red-soft: #3d2025;--bg: #14171c;--card: #1f242d;--text: #e6e9ee;--muted: #9aa3b2;--line: #2c323d;--th: #272d37;--hover: #263a46;--input-bg: #171b21;--input-border: #3a4150;--blue-dark: #6ea8ea;--primary: #2f5aa8;--primary-hover: #3a6ac2;--ring: 0 0 0 3px rgba(110, 168, 234, .4);color-scheme:dark}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:22px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;-webkit-user-select:none;user-select:none;vertical-align:middle}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,system-ui,sans-serif;background:var(--bg);color:var(--text);transition:background .2s,color .2s}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}.shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);background:var(--gray-700);color:var(--gray-100);display:flex;flex-direction:column;z-index:20;border-right:3px solid var(--red);transform:translate(-100%);transition:transform .2s}.shell.menu-open .sidebar{transform:none}.backdrop{display:none}.brand{height:var(--nav-h);display:flex;align-items:center;gap:10px;padding:0 20px;font-weight:700;font-size:18px;border-bottom:1px solid var(--gray-600)}.brand .dot{width:12px;height:12px;border-radius:50%;background:var(--red);box-shadow:0 0 8px var(--red)}.brand b{color:var(--blue)}.menu{padding:12px 10px;display:flex;flex-direction:column;gap:4px;flex:1;min-height:0;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.menu::-webkit-scrollbar{display:none}.menu-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-300);opacity:.7;padding:10px 12px 4px}.menu a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;color:var(--gray-100);border-left:3px solid transparent}.menu a:hover{background:var(--gray-600)}.menu a.active{background:var(--gray-900);color:var(--blue);border-left-color:var(--blue)}.menu .ico{width:20px;text-align:center}.group-btn{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:0;border-left:3px solid transparent;border-radius:8px;background:none;color:var(--gray-100);text-align:left;font-weight:600}.group-btn:hover{background:var(--gray-600)}.group-btn.current{color:var(--blue)}.group-btn .chev{margin-left:auto;transition:transform .2s}.group.open .chev{transform:rotate(180deg)}.sub{display:none;flex-direction:column;gap:2px;margin:2px 0 6px 22px;padding-left:10px;border-left:1px solid var(--gray-600)}.group.open .sub{display:flex}.sub a{padding:8px 12px;font-size:14px}.menu .badge{margin-left:auto;background:var(--red);color:#fff;font-size:11px;border-radius:10px;padding:1px 7px}.sidebar-foot{padding:14px 20px;font-size:12px;color:var(--gray-300);border-top:1px solid var(--gray-600)}.navbar{position:fixed;top:0;left:0;right:0;transition:left .2s;height:var(--nav-h);background:var(--gray-700);color:var(--white);display:flex;align-items:center;gap:16px;padding:0 24px;border-bottom:3px solid var(--red);z-index:10}.navbar .title{font-size:18px;font-weight:600}.navbar .spacer{flex:1}.clock{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2;white-space:nowrap}.clock-time{font-weight:600;font-variant-numeric:tabular-nums}.clock-date{font-size:11px;color:var(--gray-300)}.icon-btn{background:var(--gray-600);border:0;color:#fff;border-radius:8px;width:34px;height:34px;font-size:16px}.icon-btn:hover{background:var(--gray-900)}.user-menu{position:relative}.user-menu .user-chip{background:none;border:0;color:#fff;padding:4px 6px;border-radius:8px}.user-menu .user-chip:hover{background:var(--gray-600)}.caret{font-size:20px;color:var(--gray-300)}.dropdown{position:absolute;right:0;top:calc(100% + 10px);min-width:190px;background:var(--card);color:var(--text);border-radius:10px;box-shadow:0 8px 24px #00000040;border-top:3px solid var(--blue);overflow:hidden}.dropdown-head{padding:12px 16px;display:flex;flex-direction:column;border-bottom:1px solid var(--line)}.dropdown-head small{color:var(--muted);text-transform:capitalize}.dropdown button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px 16px;border:0;background:none;color:var(--text)}.dropdown button:hover{background:var(--hover)}.dropdown button.danger{color:var(--red)}.bell-wrap{position:relative}.dropdown.notif{width:340px;max-width:calc(100vw - 24px);right:-60px}.dropdown-head.row{flex-direction:row;justify-content:space-between;align-items:center}.dropdown .link{width:auto;padding:0;color:var(--blue-dark);font-size:13px}.dropdown .link:hover{background:none;text-decoration:underline}.notif-list{max-height:360px;overflow-y:auto}.notif-item{display:flex;gap:10px;align-items:flex-start;padding:10px 16px;border-bottom:1px solid var(--line);font-size:14px}.notif-item small{color:var(--muted)}.notif-item.unread{background:var(--hover);border-left:3px solid var(--red)}.dropdown .notif-all{text-align:center;color:var(--blue-dark);font-weight:600;border-top:1px solid var(--line)}.profile-row{display:flex;align-items:center;gap:16px;padding:18px}.avatar.big{width:56px;height:56px;font-size:24px}.live-pill{display:flex;align-items:center;gap:6px;font-size:12px;background:var(--gray-900);padding:5px 10px;border-radius:20px}.live-pill i{width:8px;height:8px;border-radius:50%;background:var(--red);animation:pulse 1.4s infinite}.bell{position:relative;background:none;border:0;color:#fff;font-size:18px}.menu a.active .ico{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.stat{position:relative}.stat-ico{position:absolute;top:16px;right:16px;font-size:30px;color:var(--blue-dark);opacity:.55}.bell .count{position:absolute;top:-6px;right:-8px;background:var(--red);font-size:10px;border-radius:10px;padding:1px 5px}.user-chip{display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;border-radius:50%;background:var(--blue);color:var(--gray-900);display:grid;place-items:center;font-weight:700;text-transform:uppercase}.menu-btn{background:none;border:0;color:#fff;font-size:22px}.content{margin-left:0;padding:calc(var(--nav-h) + 24px) 24px 24px;transition:margin-left .2s}.shell.menu-open .navbar{left:var(--sidebar-w)}.shell.menu-open .content{margin-left:var(--sidebar-w)}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.page-head h2{margin:0}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-bottom:24px}.card{background:var(--card);border-radius:12px;padding:18px;box-shadow:0 1px 3px #00000014}.stat{border-top:4px solid var(--blue)}.stat .label{color:var(--muted);font-size:13px}.stat .value{font-size:32px;font-weight:700;margin-top:6px}.panel{background:var(--card);border-radius:12px;box-shadow:0 1px 3px #00000014;overflow-x:auto;margin-bottom:24px}.panel h3{margin:0;padding:14px 18px;border-bottom:1px solid var(--line);font-size:15px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 18px;font-size:14px}th{background:var(--th);color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em}tbody tr{border-top:1px solid var(--line)}tbody tr:hover{background:var(--hover)}.empty{padding:24px;color:var(--muted);text-align:center}.tag{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600}.tag.online,.tag.info,.tag.ok{background:var(--blue-soft);color:var(--blue-dark)}.tag.offline,.tag.critical,.tag.rec{background:var(--red-soft);color:var(--red)}.tag.warning{background:#fff2d6;color:#b57800}.btn{border:0;border-radius:8px;padding:8px 14px;font-weight:600;background:var(--blue);color:var(--gray-900)}.btn:hover{background:var(--blue-dark);color:#fff}.btn.danger{background:var(--red);color:#fff}.btn.sm{padding:4px 10px;font-size:13px}.form-row{display:flex;flex-wrap:wrap;gap:10px;padding:16px 18px;border-bottom:1px solid var(--line)}input,select{padding:8px 10px;border:1px solid var(--input-border);background:var(--input-bg);color:var(--text);border-radius:8px;font:inherit}input:focus,select:focus{outline:2px solid var(--blue);border-color:transparent}.error{color:var(--red);font-size:14px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.tile{background:var(--gray-900);border-radius:12px;overflow:hidden;color:#fff}.tile .screen{aspect-ratio:16/9;display:grid;place-items:center;position:relative;background:repeating-linear-gradient(45deg,#2b303b,#2b303b 12px,#323845 12px,#323845 24px);color:var(--gray-300);font-size:13px}.tile .rec{position:absolute;top:10px;left:10px;background:var(--red);font-size:11px;font-weight:700;padding:2px 8px;border-radius:4px}.tile .rec:before{content:"● ";animation:pulse 1.4s infinite}.tile .off{color:var(--red);font-weight:700}.tile .meta{padding:10px 14px;display:flex;justify-content:space-between;background:var(--gray-700)}.tile .meta small{color:var(--gray-300)}.center-screen{min-height:100vh;display:grid;place-items:center;background:var(--gray-700)}.login-box{background:var(--card);color:var(--text);border-radius:14px;padding:32px;width:340px;border-top:5px solid var(--blue);display:flex;flex-direction:column;gap:12px}.login-box h2{margin:0 0 4px}.login-box .hint{font-size:12px;color:var(--muted)}@keyframes pulse{50%{opacity:.3}}@media (max-width: 860px){.shell.menu-open .navbar{left:0}.shell.menu-open .content{margin-left:0}.shell.menu-open .backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:15}.navbar{padding:0 12px;gap:10px}.content{padding:calc(var(--nav-h) + 16px) 12px 16px}.user-chip .name,.caret,.live-pill{display:none}.page-head{flex-wrap:wrap;gap:8px}.form-row input,.form-row select{flex:1 1 140px;min-width:0}.grid{grid-template-columns:1fr}.dropdown.notif{position:fixed;top:calc(var(--nav-h) + 6px);left:12px;right:12px;width:auto;max-width:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn .material-symbols-outlined{font-size:18px}.btn:disabled{opacity:.5;cursor:not-allowed}.section-title{margin:0 0 12px;font-size:16px}.dt-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line)}.dt-group{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.dt-size{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}.dt-size select{padding:6px 8px}.dt-search{position:relative}.dt-search .material-symbols-outlined{position:absolute;left:9px;top:50%;transform:translateY(-50%);font-size:18px;color:var(--muted)}.dt-search input{padding-left:34px;width:210px}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}th.sortable:hover{color:var(--blue-dark)}.th-in{display:inline-flex;align-items:center;gap:4px}.th-in .material-symbols-outlined{font-size:15px}.actions-col{text-align:right;white-space:nowrap}.actions-col .btn{margin-right:6px}.row-btn{border:0;background:none;border-radius:8px;width:32px;height:32px;color:var(--muted)}.row-btn .material-symbols-outlined{font-size:20px}.row-btn.edit:hover{background:var(--blue-soft);color:var(--blue-dark)}.row-btn.del:hover{background:var(--red-soft);color:var(--red)}.dt-foot{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:12px 18px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.pager{display:flex;align-items:center;gap:8px}.pager button{border:1px solid var(--input-border);background:var(--input-bg);color:var(--text);border-radius:8px;width:32px;height:32px;display:grid;place-items:center}.pager button:disabled{opacity:.4;cursor:not-allowed}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#050c1c99;display:grid;place-items:center;padding:16px}.modal{background:var(--card);color:var(--text);width:min(480px,100%);max-height:92vh;overflow-y:auto;border-radius:12px;border-top:4px solid var(--blue);box-shadow:0 20px 50px #0006}.modal.danger{border-top-color:var(--red)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line)}.modal-head h3{margin:0;font-size:16px}.icon-x{border:0;background:none;color:var(--muted);border-radius:8px;width:32px;height:32px}.icon-x:hover{background:var(--th);color:var(--text)}.modal-body{padding:18px}.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 18px;border-top:1px solid var(--line)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:13px;color:var(--muted)}.field input:not([type=checkbox]),.field select{width:100%}.field input:disabled{opacity:.6}.field small{color:var(--muted);font-size:12px}.field.check label{display:flex;align-items:center;gap:8px;color:var(--text);font-size:14px}.req{color:var(--red)}@media (max-width: 860px){.dt-search input{width:100%}.dt-search{flex:1 1 160px}}:root{--border: #dfe3ea;--radius: 10px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);--shadow-md: 0 4px 14px rgba(16, 24, 40, .08);--ring: 0 0 0 3px rgba(31, 58, 107, .28)}:root[data-theme=dark]{--border: #2c323d;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 14px rgba(0, 0, 0, .35)}body{font-family:Inter,Segoe UI,system-ui,sans-serif;font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}h2{letter-spacing:-.01em}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:var(--border);border-radius:8px}.navbar{box-shadow:0 2px 8px #08122840}.sidebar{box-shadow:2px 0 10px #08122833}.brand{font-size:19px;letter-spacing:.01em}.group-btn,.sub a{transition:background .15s,color .15s}.sub a:hover{background:var(--gray-600)}.sub a.active{background:var(--gray-900);color:var(--blue)}.crumbs{display:flex;align-items:center;gap:4px;margin-bottom:6px;font-size:13px;color:var(--muted)}.crumbs .material-symbols-outlined{font-size:17px}.crumbs b{color:var(--text);font-weight:600}.page-head{margin-bottom:16px}.page-head h2{font-size:22px;font-weight:700}.card,.panel{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.panel{margin-bottom:20px}.stat{border-top-width:3px;padding:16px 18px}.stat .label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.stat .value{font-size:30px;letter-spacing:-.02em}.stat-ico{top:14px;right:14px;width:40px;height:40px;display:grid;place-items:center;font-size:22px;opacity:1;border-radius:10px;background:var(--blue-soft)}.stat.red .stat-ico{background:var(--red-soft)}.stat.green .stat-ico{background:#3fb67a26}table{font-variant-numeric:tabular-nums}th{padding:11px 16px;border-bottom:1px solid var(--border);font-size:11.5px;letter-spacing:.06em}td{padding:12px 16px;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}td:first-child{font-weight:500}tbody tr{border-top:1px solid var(--line);transition:background .12s}tbody tr:first-child{border-top:0}.dt-toolbar{padding:12px 16px}.dt-foot{padding:10px 16px}.empty{padding:36px 24px}.tag{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;text-transform:capitalize}.tag:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.tag.rec:before{display:none}.tag.online{background:#3fb67a26;color:#23895a}.tag.inactive{background:#7882912e;color:#667085}:root[data-theme=dark] .tag.online{color:#5fd29b}.tag.info,.tag.ok{background:var(--blue-soft);color:var(--blue-dark)}.btn{height:36px;padding:0 14px;font-size:14px;border-radius:8px;box-shadow:var(--shadow-sm);transition:background .15s,box-shadow .15s}.btn.sm{height:28px;padding:0 10px;font-size:13px;box-shadow:none}.btn.ghost{border:1px solid var(--border);box-shadow:none}input,select,textarea{height:36px;padding:0 11px;border:1px solid var(--input-border);border-radius:8px;background:var(--input-bg);color:var(--text);font:inherit;transition:border-color .15s,box-shadow .15s}textarea{height:auto;padding:9px 11px;resize:vertical;width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue-dark);box-shadow:var(--ring)}input[type=checkbox]{height:auto;accent-color:var(--blue-dark);width:16px;height:16px}.dt-search input{padding-left:34px}.modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{border-radius:14px;border-top-width:4px;width:min(460px,100%)}.modal.wide{width:min(680px,100%)}.modal-head{padding:16px 20px}.modal-head h3{font-size:17px}.modal-body{padding:20px}.modal-foot{padding:14px 20px;background:var(--th);border-radius:0 0 14px 14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.field.full,.field.check{grid-column:1 / -1}.field label{font-size:12.5px;font-weight:600;color:var(--muted)}.form-error{margin-top:4px;padding:10px 12px;border-radius:8px;background:var(--red-soft);color:var(--red);font-size:13px;font-weight:500}.center-screen{background:radial-gradient(circle at 20% 15%,#1f3a6b,#0b1a36 60%);padding:16px}.login-box{width:380px;max-width:100%;padding:34px 32px;border-radius:16px;border-top-width:4px;border-top-color:var(--red);box-shadow:0 24px 60px #00000073}.login-brand{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:700;color:var(--text)}.login-brand b{color:var(--blue-dark)}.login-brand .dot{width:12px;height:12px;border-radius:50%;background:var(--red);box-shadow:0 0 8px var(--red)}.login-sub{margin:-4px 0 8px;color:var(--muted);font-size:13px}.login-box .btn{height:40px;margin-top:4px}@media (max-width: 600px){.form-grid{grid-template-columns:1fr}.stat .value{font-size:26px}}.panel table{border-collapse:collapse;font-size:12.5px;border-left:0;border-right:0}.panel th,.panel td{border:1px solid var(--border);padding:6px 10px}.panel tr>:first-child{border-left:0}.panel tr>:last-child{border-right:0}.panel thead th{border-top:0;font-size:11px;padding:7px 10px}.panel tbody tr{border-top:0}.panel tbody tr:nth-child(2n){background:color-mix(in srgb,var(--th) 45%,transparent)}.panel tbody tr:hover{background:var(--hover)}th.sortable .th-in{gap:2px}th.sortable .material-symbols-outlined{font-size:14px}.sort-off{opacity:.35}.sort-on{color:var(--blue-dark)}th.sortable:hover .sort-off{opacity:.8}.panel .tag{padding:1px 8px;font-size:11px}.panel .tag:before{width:5px;height:5px}.panel .btn.sm{height:24px;font-size:12px;padding:0 8px}.row-btn{width:24px;height:24px;border-radius:6px}.row-btn .material-symbols-outlined{font-size:17px}.actions-col{padding:3px 8px}.dt-toolbar{padding:8px 10px;gap:8px}.dt-toolbar .btn{height:30px;padding:0 10px;font-size:12.5px}.dt-toolbar .btn .material-symbols-outlined{font-size:16px}.dt-toolbar input,.dt-toolbar select{height:30px;font-size:12.5px}.dt-search .material-symbols-outlined{font-size:16px}.dt-search input{width:190px;padding-left:30px}.dt-size{font-size:12px}.dt-foot{padding:6px 10px;font-size:12px}.pager button{width:26px;height:26px;border-radius:6px}.pager button .material-symbols-outlined{font-size:18px}.empty{font-size:13px;padding:24px}.btn.icon{width:32px;height:32px;padding:0;border:0;border-radius:8px;color:#fff;box-shadow:var(--shadow-sm)}.dt-toolbar .btn.icon{width:32px;height:32px;padding:0}.btn.icon .material-symbols-outlined{font-size:19px}.btn.icon.new{background:var(--blue-dark)}.btn.icon.new:hover{background:#247fa8}.btn.icon.csv{background:#2f9e6b}.btn.icon.csv:hover{background:#25805a}.btn.icon.pdf{background:var(--red)}.btn.icon.pdf:hover{background:#c42a36}.btn.icon.print{background:#5b6b8c}.btn.icon.print:hover{background:#46557a}.btn.icon:focus-visible{outline:none;box-shadow:var(--ring)}.btn.icon:disabled{opacity:.45;box-shadow:none}.panel thead th{background:var(--gray-700);color:#fff;border-color:var(--gray-600);border-bottom:2px solid var(--blue);font-size:11.5px;letter-spacing:.05em}.panel th.sortable:hover{background:var(--gray-600);color:#fff}.panel th .sort-off{color:#fff;opacity:.4}.panel th.sortable:hover .sort-off{opacity:.85}.panel th .sort-on{color:var(--blue);opacity:1}.btn{background:var(--primary);color:#fff}.btn:hover{background:var(--primary-hover);color:#fff}.btn.danger{background:var(--red)}.btn.danger:hover{background:#c42a36}.btn.ghost{background:var(--th);color:var(--text)}.btn.ghost:hover{background:var(--hover);color:var(--text)}.btn.icon.new{background:var(--primary)}.btn.icon.new:hover{background:var(--primary-hover)}.stat{border-top-color:var(--primary)}.stat.red{border-top-color:var(--red)}.stat.green{border-top-color:var(--green)}.stat-ico{color:var(--primary)}.stat.red .stat-ico{color:var(--red)}.stat.green .stat-ico{color:var(--green)}:root[data-theme=dark] .stat{border-top-color:var(--primary-hover)}:root[data-theme=dark] .stat-ico{color:var(--blue-dark)}.modal,.dropdown,.login-box{border-top-color:var(--primary)}.modal.danger,.login-box{border-top-color:var(--red)}.login-brand b{color:var(--primary)}:root[data-theme=dark] .login-brand b{color:var(--blue-dark)}.avatar.big{background:var(--primary);color:#fff}.row-btn.lock{color:#b57800}.row-btn.lock:hover{background:#fff2d6;color:#8a5c00}.row-btn.unlock:hover{background:#3fb67a2e;color:#1a6e48}:root[data-theme=dark] .row-btn.lock:hover{background:#3d3216;color:#f0c25a}:root[data-theme=dark] .row-btn.unlock{color:#5fd29b}.helper-box{margin-top:6px;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--th)}.helper-box hr{border:0;border-top:1px solid var(--border);margin:14px 0}.helper-title{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:10px;font-size:13px}.helper-title .material-symbols-outlined{font-size:18px;color:var(--blue-dark)}.helper-title>span:not(.warn-pill):not(.material-symbols-outlined){color:var(--muted);font-size:12px}.warn-pill{background:#fcc419;color:#4a3500;font-size:11px;font-weight:700;padding:1px 9px;border-radius:10px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid var(--input-border);background:var(--card);color:var(--text);border-radius:8px;padding:4px 11px;font-size:12px;transition:background .12s,border-color .12s}.chip:hover{background:var(--hover);border-color:var(--blue-dark)}.onvif-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.onvif-actions .range{flex:1 1 180px;min-width:0;height:36px}.scan-msg{margin-top:10px;font-size:12.5px;color:var(--muted)}.scan-msg.busy{color:var(--blue-dark);font-weight:600}.scan-list{margin-top:10px;display:flex;flex-direction:column;gap:6px;max-height:190px;overflow-y:auto}.scan-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;background:var(--card);border:1px solid var(--border);border-radius:8px}.scan-row div{display:flex;flex-direction:column;min-width:0}.scan-row small{color:var(--muted);font-size:11.5px}.field select{width:100%}.modal.wide .field.full{grid-column:1 / -1}.tabs{display:flex;gap:4px;padding:10px 20px 0;border-bottom:1px solid var(--line);background:var(--th)}.tab{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border:0;border-bottom:3px solid transparent;background:none;color:var(--muted);font-weight:600;font-size:13.5px;border-radius:8px 8px 0 0}.tab .material-symbols-outlined{font-size:19px}.tab:hover{color:var(--text);background:var(--hover)}.tab.on{color:var(--text);background:var(--card);border-bottom-color:var(--primary)}:root[data-theme=dark] .tab.on{border-bottom-color:var(--blue-dark)}.muted{color:var(--muted);font-size:12px;line-height:1.5}[hidden]{display:none!important}.warn-box{display:flex;gap:12px;margin-top:14px;padding:12px 14px;border:1px solid #f0c24a;border-radius:10px;background:#fff6d8;color:#5c4300}.warn-box .material-symbols-outlined{color:#c98a00;font-size:26px;flex:none}.warn-box p{margin:4px 0 0;font-size:13px;line-height:1.45}:root[data-theme=dark] .warn-box{background:#3a3014;border-color:#7a6320;color:#f3dc9a}:root[data-theme=dark] .warn-box .material-symbols-outlined{color:#f0c25a}.ok-box{display:flex;gap:12px;margin-top:14px;padding:12px 14px;border:1px solid #5cc08f;border-radius:10px;background:#e6f7ee;color:#14573a}.ok-box .material-symbols-outlined{color:#23895a;font-size:26px;flex:none}.ok-box p{margin:4px 0 0;font-size:13px;line-height:1.45}:root[data-theme=dark] .ok-box{background:#12301f;border-color:#2e7a53;color:#a8e6c4}:root[data-theme=dark] .ok-box .material-symbols-outlined{color:#5fd29b}.actions-col.mid{text-align:left}.row-btn.play{color:#23895a}.row-btn.play .material-symbols-outlined{font-size:22px}.row-btn.play:hover{background:#3fb67a2e;color:#1a6e48}.row-btn:disabled{opacity:.35;cursor:not-allowed}.row-btn.play:disabled:hover{background:none;color:#23895a}:root[data-theme=dark] .row-btn.play{color:#5fd29b}.player-box{position:relative;aspect-ratio:16 / 9;background:#05070d;border-radius:10px;overflow:hidden;display:grid;place-items:center}.player-box .connecting{position:absolute;color:#b8c2d6;font-size:13px;animation:pulse 1.4s infinite}.player-box .off{color:#ff7a85;font-weight:600;font-size:13px}.player-meta{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin-top:10px;font-size:12.5px;color:var(--muted)}.res-note{display:block;margin-top:4px;font-weight:500;line-height:1.35}.res-note.busy{color:var(--muted, #6b7a90)}.res-note.ok{color:#23895a}.res-note.warn{color:#b45309}:root[data-theme=dark] .res-note.ok{color:#5cc08f}:root[data-theme=dark] .res-note.warn{color:#f0b254}.chip.ch-pick{display:inline-flex;align-items:center;gap:4px;font-weight:600}.chip.ch-pick .material-symbols-outlined{font-size:16px}.chip.ch-pick.on{border-color:var(--blue-dark);background:var(--blue-soft);color:var(--blue-dark)}.chip.ch-pick.del{border-color:var(--red);color:var(--red)}.ch-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}.ch-tools input{width:110px;padding:5px 8px}.btn.sm{padding:4px 10px;font-size:12px}.cselect{position:relative}.cselect>input{width:100%;padding-right:30px}.cselect-clear{position:absolute;right:4px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--muted);padding:2px;cursor:pointer;display:flex}.cselect-clear .material-symbols-outlined{font-size:18px}.cselect-list{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 3px);margin:0;padding:4px;list-style:none;max-height:210px;overflow-y:auto;background:var(--card);border:1px solid var(--input-border);border-radius:8px;box-shadow:0 8px 24px #0000002e}.cselect-list li{padding:7px 10px;border-radius:6px;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:6px}.cselect-list li:hover{background:var(--hover)}.cselect-list li.on{font-weight:600;color:var(--blue-dark)}.cselect-list li.add{color:var(--blue-dark);font-weight:600}.cselect-list li.none{color:var(--muted);cursor:default}.cselect-list li.none.err{color:var(--red)}.cselect-list .material-symbols-outlined{font-size:18px}.col-menu{position:relative}.col-pop{position:absolute;z-index:40;top:calc(100% + 4px);left:0;min-width:190px;max-height:320px;overflow-y:auto;padding:6px;background:var(--card);border:1px solid var(--input-border);border-radius:8px;box-shadow:0 8px 24px #0000002e}.col-pop-head{display:flex;justify-content:space-between;align-items:center;padding:4px 8px 6px;font-size:12px;color:var(--muted);border-bottom:1px solid var(--line);margin-bottom:4px}.col-pop-head b{color:var(--text)}.col-pop-head .link{border:0;background:none;color:var(--blue-dark);font-size:12px;cursor:pointer;padding:0}.col-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;font-size:13px;cursor:pointer;white-space:nowrap}.col-item:hover{background:var(--hover)}.col-item input{width:15px;height:15px;margin:0}.dt-toolbar .btn.icon.cols{background:var(--card);color:var(--text);border:1px solid var(--input-border)}.ch-item{display:inline-flex;align-items:center;gap:4px}.chip.ch-rec{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:700;padding:4px 8px}.chip.ch-rec .material-symbols-outlined{font-size:12px}.chip.ch-rec.on{color:var(--red);border-color:var(--red);background:var(--red-soft)}.chip.ch-rec:disabled{opacity:.5;cursor:not-allowed}.page-tabs{margin-bottom:12px}.split-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.split-2 .dt-search input{width:130px}@media (max-width: 900px){.split-2{grid-template-columns:minmax(0,1fr)}}.stack{display:flex;flex-direction:column;gap:14px}.map-page{display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:12px;height:calc(100vh - var(--nav-h) - 52px);min-height:520px}.map-main{display:flex;flex-direction:column;gap:8px;min-width:0;min-height:0}.map-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.map-bar .dt-search input{width:240px}.map-note{margin-left:auto;font-size:12px}.map-box{position:relative;flex:1;min-height:0;border:1px solid var(--line);border-radius:10px;overflow:hidden}.map-canvas{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:var(--th)}.map-box.placing .map-canvas{cursor:crosshair}.map-hint{position:absolute;z-index:500;top:10px;left:50%;transform:translate(-50%);background:var(--navy, #14284b);color:#fff;padding:8px 14px;border-radius:8px;font-size:13px;box-shadow:0 4px 14px #0000004d}.map-hint button{margin-left:10px;border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;border-radius:6px;padding:2px 8px;cursor:pointer}.map-side{overflow-y:auto;background:var(--card);border:1px solid var(--line);border-radius:10px;min-height:0}.map-side-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding:12px 14px 6px}.map-side-sub{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;font-size:12px}.map-side-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 14px 10px;border-bottom:1px solid var(--line);font-size:12px}.map-player{margin:10px 14px 0;aspect-ratio:16 / 9;height:auto}.map-side .modal-body{padding:12px 14px}.map-side .modal-foot{padding:10px 14px}.map-side .form-grid{grid-template-columns:1fr}.map-side-empty{padding:28px 18px;text-align:center}.map-side-empty .big{font-size:42px;color:var(--muted)}.map-side-title{margin-top:16px;text-align:left;font-size:12px;font-weight:700;text-transform:uppercase;color:var(--muted)}.map-list{list-style:none;margin:6px 0;padding:0;text-align:left;max-height:240px;overflow-y:auto}.map-list button{width:100%;text-align:left;border:0;background:transparent;padding:6px 8px;border-radius:6px;cursor:pointer;font-size:13px;color:var(--text)}.map-list button:hover{background:var(--hover)}.map-list .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;background:#6b7280}.map-list .dot.online{background:#23895a}.map-list .dot.offline{background:var(--red)}.map-facts{margin:0;padding:12px 14px}.map-facts div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--line);font-size:13px}.map-facts dt{color:var(--muted)}.map-facts dd{margin:0;text-align:right}.cam-pin{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;color:#fff;border:2px solid #fff;box-shadow:0 1px 6px #00000073;transition:transform .12s}.cam-pin .material-symbols-outlined{font-size:18px}.cam-pin.online{background:#23895a}.cam-pin.offline{background:#d93a3a}.cam-pin.inactive{background:#6b7280}.cam-pin.sel{transform:scale(1.25);outline:3px solid #2f6fd6}:root[data-theme=dark] .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(.9) contrast(.9)}@media (max-width: 1000px){.map-page{grid-template-columns:minmax(0,1fr);height:auto}.map-box{height:55vh;flex:none}.map-side{max-height:none}}.map-side-title-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:12px 14px 8px;border-bottom:1px solid var(--line);font-size:12px}.map-side-title-row b{font-size:14px}.map-cams{list-style:none;margin:0;padding:4px 6px 8px}.map-cams li{display:flex;align-items:center;gap:4px;border-radius:8px;border:1px solid transparent}.map-cams li:hover{background:var(--hover)}.map-cams li.on{background:var(--blue-soft);border-color:var(--blue-dark)}.map-cam{flex:1;min-width:0;display:flex;align-items:center;gap:9px;padding:8px;border:0;background:transparent;text-align:left;cursor:pointer;color:var(--text)}.map-cam .dot{flex:none;width:9px;height:9px;border-radius:50%;background:#6b7280}.map-cam .dot.online{background:#23895a}.map-cam .dot.offline{background:var(--red)}.map-cam-main{flex:1;min-width:0;display:flex;flex-direction:column}.map-cam-main b{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-cam-main small{color:var(--muted);font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-cam-actions{flex:none;display:flex;gap:2px;padding-right:4px}.map-cam-actions button{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:0;border-radius:6px;background:transparent;color:var(--blue-dark);cursor:pointer}.map-cam-actions button:hover:not(:disabled){background:var(--card);box-shadow:inset 0 0 0 1px var(--input-border)}.map-cam-actions button:disabled{color:var(--muted);opacity:.45;cursor:not-allowed}.map-cam-actions .material-symbols-outlined{font-size:20px}.tag.nolocation{flex:none;background:#fff2d6;color:#b57800;font-size:11px;padding:2px 8px;text-transform:none}.tag.nolocation:before{display:none}:root[data-theme=dark] .tag.nolocation{background:#f0b25429;color:#f0b254}.map-back{display:inline-flex;align-items:center;gap:4px;border:0;background:none;padding:0 0 4px;color:var(--blue-dark);font-size:12px;cursor:pointer}.map-back .material-symbols-outlined{font-size:16px}.map-side-name{display:block}.map-pop{min-width:210px;font-family:inherit}.map-pop-name{font-size:14px;font-weight:700;margin-bottom:4px}.map-pop-sub{font-size:12px;color:#55616f;margin:2px 0;display:flex;align-items:center;gap:4px;flex-wrap:wrap}.map-pop-actions{display:flex;gap:6px;margin-top:10px}.map-pop-actions button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:3px;padding:6px 4px;border:1px solid #b9c4d2;border-radius:6px;background:#f4f7fb;color:#14284b;font-size:12px;font-weight:600;cursor:pointer}.map-pop-actions button:hover:not(:disabled){background:#e4ecf7}.map-pop-actions button:disabled{opacity:.45;cursor:not-allowed}.map-pop-actions .material-symbols-outlined{font-size:16px}.kb-page .page-tabs{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.kb-note{margin-left:auto;font-size:12px;max-width:520px;text-align:right}.kb-msg{color:var(--red)}.kb-board{display:flex;gap:12px;align-items:flex-start;overflow-x:auto;padding-bottom:12px;min-height:calc(100vh - var(--nav-h) - 160px)}.kb-col{flex:0 0 290px;display:flex;flex-direction:column;background:var(--th);border:1px solid var(--line);border-radius:10px;max-height:calc(100vh - var(--nav-h) - 150px);transition:border-color .12s,background .12s}.kb-col.pool{background:var(--card);position:sticky;left:0;z-index:2}.kb-col.over{border-color:var(--blue-dark);background:var(--blue-soft)}.kb-col.off{opacity:.65}.kb-col>header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line)}.kb-col>header small{display:block;font-size:11.5px}.kb-count{background:var(--blue-soft);color:var(--blue-dark);font-weight:700;font-size:13px;padding:2px 9px;border-radius:12px;white-space:nowrap}.kb-count small{display:inline;font-weight:600}.kb-tools{display:flex;flex-direction:column;gap:6px;padding:8px 10px 0}.kb-tools .dt-search input,.kb-tools select{width:100%}.kb-cards{flex:1;overflow-y:auto;padding:8px 10px;display:flex;flex-direction:column;gap:6px;min-height:90px}.kb-card{display:flex;align-items:center;gap:6px;padding:8px 8px 8px 4px;background:var(--card);border:1px solid var(--line);border-left:3px solid var(--blue-dark);border-radius:8px;cursor:grab}.kb-card.cameras{border-left-color:#23895a}.kb-card:active{cursor:grabbing}.kb-card:hover{box-shadow:0 2px 8px #0000001f}.kb-card.via{cursor:default;opacity:.75;border-left-style:dashed;padding-left:10px}.kb-card.via:hover{box-shadow:none}.kb-grip{font-size:18px;color:var(--muted);flex:none}.kb-card-main{flex:1;min-width:0;display:flex;flex-direction:column}.kb-card-main b{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kb-card-main small{color:var(--muted);font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kb-x{flex:none;display:flex;border:0;background:transparent;color:var(--muted);border-radius:6px;padding:3px;cursor:pointer}.kb-x:hover{color:var(--red);background:var(--red-soft)}.kb-x .material-symbols-outlined{font-size:18px}.kb-empty{text-align:center;color:var(--muted);font-size:12.5px;padding:18px 8px;border:1px dashed var(--input-border);border-radius:8px}.kb-inherited button{width:100%;border:0;background:transparent;color:var(--blue-dark);font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:4px;padding:4px 2px}.kb-inherited{display:flex;flex-direction:column;gap:6px}.kb-col>footer{padding:8px 10px;border-top:1px solid var(--line);font-size:11.5px}.kb-col>footer select{width:100%}@media (max-width: 800px){.kb-note{margin-left:0;text-align:left}.kb-col{flex-basis:260px}}.kb-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px}.kb-picker{position:relative}.kb-picker .dt-search input{width:300px}.kb-picker-list{position:absolute;z-index:40;top:calc(100% + 4px);left:0;width:340px;max-height:320px;overflow-y:auto;margin:0;padding:4px;list-style:none;background:var(--card);border:1px solid var(--input-border);border-radius:8px;box-shadow:0 8px 24px #0000002e}.kb-picker-list button{width:100%;text-align:left;display:flex;flex-direction:column;border:0;background:transparent;padding:7px 10px;border-radius:6px;cursor:pointer;color:var(--text)}.kb-picker-list button:hover{background:var(--hover)}.kb-picker-list button small{color:var(--muted);font-size:11.5px}.kb-picker-list .more{padding:8px 10px;color:var(--muted);font-size:12px}.kb-none{flex:0 0 290px;padding:24px 16px;text-align:center;color:var(--muted);font-size:13px;border:1px dashed var(--input-border);border-radius:10px}.kb-col>header .kb-x{margin-left:2px}.kb-page .page-tabs .kb-bar{margin:0 0 0 auto;padding-bottom:6px}.kb-page .page-tabs{align-items:flex-end}.lv-stats{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px}.lv-spacer{flex:1}.lv-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;border-radius:999px;padding:5px 13px;font-size:13px;font-weight:600;cursor:pointer;color:#fff;opacity:.72}.lv-chip.on,.lv-chip.static,.lv-chip:hover{opacity:1}.lv-chip.static{cursor:default}.lv-chip .material-symbols-outlined{font-size:18px}.lv-chip.blue{background:var(--blue-dark)}.lv-chip.green{background:var(--green)}.lv-chip.red{background:var(--red)}.lv-chip.amber{background:#e8962e}.lv-pager{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}.tile{border-top:4px solid var(--green);transition:transform .12s,box-shadow .12s}.tile.down{border-top-color:var(--red)}.tile:hover{transform:translateY(-2px);box-shadow:0 6px 18px #00000040}.tile .meta{background:linear-gradient(90deg,var(--blue-dark),var(--gray-700));align-items:center}.tile .meta span{display:inline-flex;align-items:center;gap:7px;font-weight:600}.tile .dot{width:9px;height:9px;border-radius:50%;background:var(--red)}.tile .dot.on{background:var(--green);box-shadow:0 0 6px var(--green)}.tile .paused{color:var(--gray-300);display:inline-flex;align-items:center;gap:6px;font-size:13px}.tile.down .screen{background:repeating-linear-gradient(45deg,#1a1d29,#1a1d29 10px,#22263a 10px,#22263a 20px)}html.lv-snap{scroll-snap-type:y mandatory;scroll-padding-top:calc(var(--nav-h) + 24px + 52px)}.lv-stats{position:sticky;top:var(--nav-h);z-index:9;background:var(--bg);padding:8px 0;margin:-8px 0 0;height:52px;box-sizing:border-box}.lv-block{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:12px;height:calc(100vh - var(--nav-h) - 24px - 24px - 52px);min-height:360px;scroll-snap-align:start;margin-bottom:12px}.lv-block .tile{display:flex;flex-direction:column;min-height:0}.lv-block .tile .screen{aspect-ratio:auto;flex:1;min-height:0}.lv-block .tile video{object-fit:contain!important;background:#000}.tile.spare{border-top-color:var(--input-border);opacity:.55}.tile.spare:hover{transform:none;box-shadow:none}.tile.spare .dot{background:var(--gray-300)}html.lv-snap{scrollbar-width:none;-ms-overflow-style:none}html.lv-snap::-webkit-scrollbar{display:none}.lv-more{position:fixed;left:50%;bottom:12px;transform:translate(-50%);z-index:9;display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:999px;background:#1f3a6beb;color:#fff;font-size:12.5px;font-weight:600;pointer-events:none;animation:lvnudge 1.6s ease-in-out infinite}.lv-more .material-symbols-outlined{font-size:18px}@keyframes lvnudge{50%{transform:translate(-50%,4px)}}.lv-block{gap:0;margin-bottom:0}.lv-block .tile{border-radius:0;box-shadow:inset 0 0 0 1px #000}.lv-block .tile:hover{transform:none;box-shadow:inset 0 0 0 1px #000}.lv-block .tile,.lv-block .tile.down,.lv-block .tile.spare{border-top:0}.lv-block .tile{position:relative}.lv-block .tile .meta{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:8px 14px;background:linear-gradient(180deg,#ffffff1a,#ffffff0a);backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%);border-top:1px solid rgba(255,255,255,.22);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6);pointer-events:none}.lv-block .tile .meta small{color:#fffc}.lv-block .tile .meta{background:linear-gradient(180deg,#ffffff0a,#fff0);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border-top-color:#ffffff1f}.lv-block .tile .meta{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-top:0;text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 8px rgba(0,0,0,.6)}@media (max-width: 900px){.lv-stats{height:auto;min-height:52px;gap:6px;padding:6px 0;margin:0}.lv-stats .lv-spacer{display:none}.lv-stats .dt-search{flex:1 1 140px}.lv-stats .dt-search input{width:100%}.lv-chip{padding:4px 10px;font-size:12px}.lv-block .tile .meta{padding:6px 10px;font-size:12.5px}}@media (max-width: 640px){html.lv-snap{scroll-snap-type:none}.lv-block{grid-template-columns:1fr;grid-template-rows:none;grid-auto-rows:auto;height:auto;min-height:0}.lv-block .tile .screen{flex:none;aspect-ratio:16 / 9}.lv-more{display:none}}@media (max-height: 520px) and (orientation: landscape){.lv-block{min-height:300px}}@media (max-width: 900px){.lv-stats{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:5px}.lv-stats::-webkit-scrollbar{display:none}.lv-stats>*{flex:0 0 auto}.lv-chip{gap:3px;padding:3px 8px}.lv-chip .lbl{display:none}.lv-chip .material-symbols-outlined{font-size:16px}.lv-stats .dt-search{flex:1 1 90px;min-width:90px}.lv-stats .dt-search input{padding:4px 6px 4px 28px;font-size:12px;height:28px}.lv-stats .dt-search .material-symbols-outlined{left:6px;font-size:16px}.lv-stats select{height:28px;font-size:12px;padding:0 4px;max-width:110px}}html.lv-snap .content{padding-top:var(--nav-h);padding-bottom:0}html.lv-snap{scroll-padding-top:calc(var(--nav-h) + 52px)}.lv-stats{margin:0;padding:8px 0;background:var(--bg)}.lv-block{height:calc(100vh - var(--nav-h) - 52px)}@media (max-width: 900px){html.lv-snap{scroll-padding-top:0}.lv-stats{min-height:52px}}@media (max-width: 640px){.lv-block{height:auto}}.af-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0}.af-bar select,.af-table select,.af-bar input[type=date],.af-bar input[type=time],.af-table input[type=time]{width:auto}.af-sum{color:var(--muted);font-size:13px}.af-sum b{color:var(--text)}.af-err{background:var(--red-soft);color:var(--red);border-radius:8px;padding:8px 12px;margin-bottom:10px;font-size:13px}.af-cam{padding:12px 16px 8px;border-left:4px solid var(--red)}.af-head{display:flex;align-items:center;gap:10px;cursor:pointer;flex-wrap:wrap}.af-strip{position:relative;height:12px;margin:10px 0 2px;border-radius:6px;background:linear-gradient(90deg,var(--green),#2f9e68);overflow:hidden}.af-strip i{position:absolute;top:0;bottom:0;background:var(--red)}.af-strip i.running,.af-strip i.queued{background:#e8962e}.af-strip i.done{background:var(--blue)}.af-scale{display:flex;justify-content:space-between;font-size:10.5px;color:var(--muted)}.af-gaps{list-style:none;margin:8px 0 4px;padding:0;border-top:1px solid var(--line)}.af-gap{display:flex;align-items:center;gap:10px;padding:7px 2px;border-bottom:1px solid var(--line);font-size:13px;flex-wrap:wrap}.af-gap .material-symbols-outlined{font-size:18px;color:var(--red);vertical-align:middle}.af-gap.done .material-symbols-outlined:first-child{color:var(--green)}.af-state{flex:1;min-width:160px;font-size:12.5px;color:var(--muted)}.af-state .ok{color:var(--green)}.af-state .bad{color:var(--red)}.af-spin{display:inline-block;width:12px;height:12px;border:2px solid var(--blue);border-top-color:transparent;border-radius:50%;animation:afspin .8s linear infinite;vertical-align:-2px}@keyframes afspin{to{transform:rotate(360deg)}}.af-bulk{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px}.af-table{width:100%;border-collapse:collapse}.af-table th,.af-table td{padding:8px 14px;text-align:left;border-bottom:1px solid var(--line)}.af-sw{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.af-sw input{width:16px;height:16px;accent-color:var(--green)}@media (max-width: 640px){.af-table th:nth-child(2),.af-table td:nth-child(2){display:none}}.dh-pad{padding:14px 18px 16px}.dh-h{margin:0 0 12px!important;padding:0!important;border:0!important;font-size:15px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.dh-h small{font-weight:400;font-size:12px}.dh-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin:14px 0}.dh-card{position:relative;background:var(--card);border-radius:12px;padding:14px 16px;border-top:4px solid var(--green);box-shadow:0 1px 3px #00000014}.dh-card.mid{border-top-color:#e8962e}.dh-card.bad{border-top-color:var(--red)}.dh-ico{position:absolute;top:12px;right:14px;opacity:.55;color:var(--green)}.dh-card.mid .dh-ico{color:#e8962e}.dh-card.bad .dh-ico{color:var(--red)}.dh-ico .material-symbols-outlined{font-size:28px}.dh-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.dh-value{font-size:30px;font-weight:700;margin:4px 0 6px}.dh-value small{font-size:16px;font-weight:600;margin-left:2px}.dh-value.dh-text{font-size:22px;padding:5px 0 11px}.dh-meter{height:7px;border-radius:4px;background:var(--th);overflow:hidden;margin-bottom:6px}.dh-meter i{display:block;height:100%;background:var(--green);border-radius:4px}.dh-card.mid .dh-meter i{background:#e8962e}.dh-card.bad .dh-meter i{background:var(--red)}.dh-stack{display:flex;height:26px;border-radius:8px;overflow:hidden;background:var(--th)}.dh-stack i,.dh-legend i{display:inline-block}.dh-legend i{width:11px;height:11px;border-radius:3px;margin-right:4px;vertical-align:-1px}.dh-rec{background:var(--red)}.dh-app{background:var(--blue)}.dh-oth{background:#7a8bb5}.dh-free{background:var(--green);opacity:.55}.dh-legend{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:10px;font-size:13px}.dh-note{margin:10px 0 0;font-size:13px;color:var(--muted)}.dh-note b{color:var(--text)}.dh-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px;margin-bottom:20px}.dh-two .panel{margin-bottom:0}.dh-chart{display:grid;grid-template-columns:62px 1fr;align-items:center;gap:8px;margin-bottom:8px;font-size:12px;color:var(--muted)}.dh-spark{width:100%;height:60px;background:var(--th);border-radius:6px}.dh-warnline{stroke:var(--red);stroke-dasharray:4 3;stroke-width:1;opacity:.7;vector-effect:non-scaling-stroke}.dh-wait{font-size:12px;padding:20px 0}.dh-facts{list-style:none;margin:0 0 12px;padding:0;font-size:13px}.dh-facts li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--line)}.dh-facts span{color:var(--muted)}.dh-facts .ok{color:var(--green)}.dh-facts .bad{color:var(--red)}.dh-mini{width:100%;font-size:12.5px;border-collapse:collapse}.dh-mini th,.dh-mini td{text-align:left;padding:4px 6px;border-bottom:1px solid var(--line)}.dh-mini th{color:var(--muted);font-weight:600}.dh-bars{display:grid;gap:7px}.dh-bar{display:grid;grid-template-columns:minmax(80px,150px) 1fr 70px;align-items:center;gap:8px;font-size:12.5px}.dh-bar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dh-bar i{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,var(--blue-dark),var(--blue));min-width:3px}.dh-bar i.cam{background:linear-gradient(90deg,var(--red),#f08a93)}.dh-bar b{text-align:right}.dh-now{display:flex;flex-wrap:wrap;gap:8px}.dh-chipnow{display:inline-flex;align-items:center;gap:6px;background:var(--blue-soft);color:var(--text);border-radius:999px;padding:4px 12px;font-size:13px}.dh-chipnow i{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 6px var(--green);animation:pulse 1.4s infinite}.dh-act{display:inline-flex;align-items:center;gap:5px;font-weight:600;font-size:12.5px}.dh-act .material-symbols-outlined{font-size:18px}.dh-act.live{color:var(--green)}.dh-act.view{color:var(--blue-dark)}.dh-act.download{color:#e8962e}.dh-form{display:grid;gap:16px;max-width:560px}.dh-form label{display:grid;gap:4px;font-size:14px;font-weight:600}.dh-form label.af-sw{display:inline-flex}.dh-form small{font-weight:400}.dh-range{display:flex;align-items:center;gap:12px}.dh-range input[type=range]{flex:1;accent-color:var(--red)}.dh-range input[type=number]{width:90px}.dh-page .af-table td,.dh-page .af-table th{white-space:nowrap}.dh-page .panel:has(.af-table){overflow-x:auto}.dh-card.clickable{text-align:left;border:0;border-top:4px solid var(--green);cursor:pointer;font:inherit;color:inherit}.dh-card.clickable.blue{border-top-color:var(--blue-dark)}.dh-card.clickable.blue .dh-ico{color:var(--blue-dark)}.dh-card.clickable.mid{border-top-color:#e8962e}.dh-card.clickable.bad{border-top-color:var(--red)}.dh-card.clickable.sel{outline:2px solid var(--blue);outline-offset:1px}.ms-ok{background:var(--green)}.ms-miss{background:var(--red)}.ms-meter{height:8px;width:160px;max-width:100%;border-radius:4px;background:var(--th);overflow:hidden;margin-bottom:3px}.ms-meter i{display:block;height:100%;border-radius:4px;background:var(--green)}.ms-meter.mid i{background:#e8962e}.ms-meter.bad i{background:var(--red)}.ms-table b.bad{color:var(--red)}.ms-page .af-table td,.ms-page .af-table th{white-space:nowrap}.ms-page .panel:has(.af-table){overflow-x:auto}.tk-code{display:inline-flex;align-items:center;gap:2px;font-weight:700;font-variant-numeric:tabular-nums;border-radius:6px;padding:2px 8px 2px 2px}.tk-code.open{color:var(--red);background:var(--red-soft)}.tk-code.closed{color:var(--green);background:#e1f5ec}.tk-code .material-symbols-outlined{font-size:18px}.tk-row{cursor:pointer}.tk-row:hover{background:var(--hover)}.tk-detail>td{background:var(--th)}.tk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;padding:6px 4px}.tk-grid h4{margin:0 0 8px;font-size:13px}.tk-hours{display:grid;grid-template-columns:repeat(24,1fr);gap:2px;align-items:end;height:64px}.tk-hours i{background:var(--blue);border-radius:2px 2px 0 0;opacity:.75}.tk-hours i.top{background:var(--red);opacity:1}.tk-drops{font-weight:700}.tk-drops.hot,.tk-table b.bad{color:var(--red)}.tk-table b.ok{color:var(--green)}.tk-page .af-table td,.tk-page .af-table th{white-space:nowrap}.tk-page .panel:has(.af-table){overflow-x:auto}.tk-date{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}.tk-date input,.tk-page .af-bar select,.dh-form select{width:auto}.dh-form select{max-width:260px}.tk-histh{margin:14px 0 6px;font-size:13px}.tk-hist b.bad{color:var(--red)}.mon-top{display:flex;align-items:center;gap:10px;margin:12px 0}.mon-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:14px;align-items:start}.mon-grid .panel{margin-bottom:14px}.mon-side{display:grid;gap:0}.dh-card.blue2{border-top-color:var(--blue-dark)}.dh-card.blue2 .dh-ico{color:var(--blue-dark)}.mon-alert{animation:monglow 1.8s ease-in-out infinite}@keyframes monglow{50%{box-shadow:0 0 0 3px #e6394640}}.mon-legend{display:flex;gap:14px;font-size:12px;color:var(--muted);margin-bottom:8px}.mon-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px}.mon-legend .online,.mon-tile.online{background:var(--green)}.mon-legend .offline,.mon-tile.offline{background:var(--red)}.mon-legend .inactive,.mon-tile.inactive{background:#98a2b3}.mon-group{margin-bottom:12px}.mon-gname{font-size:12.5px;font-weight:700;margin-bottom:5px}.mon-tiles{display:flex;flex-wrap:wrap;gap:4px}.mon-tile{width:22px;height:22px;border:0;border-radius:5px;padding:0;cursor:pointer;opacity:.88;transition:transform .1s}.mon-tile:hover{transform:scale(1.25);opacity:1}.mon-tile.sel{outline:2px solid var(--blue-dark);outline-offset:2px;opacity:1}.mon-tile.offline{animation:monpulse 1.4s ease-in-out infinite}@keyframes monpulse{50%{opacity:.45}}.mon-pick{margin-top:12px;padding:10px 14px;border-radius:10px;border-left:4px solid var(--green);background:var(--th);display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center}.mon-pick.offline{border-left-color:var(--red)}.mon-pick.inactive{border-left-color:#98a2b3}.mon-actions{margin-left:auto;display:flex;gap:6px}.mon-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--line);font-size:13px;flex-wrap:wrap}.mon-feed{list-style:none;margin:0;padding:0;max-height:340px;overflow-y:auto;font-size:13px}.mon-feed li{display:flex;gap:10px;padding:7px 0;border-bottom:1px solid var(--line)}.mon-feed li .material-symbols-outlined{font-size:20px}.mon-feed li.offline .material-symbols-outlined{color:var(--red)}.mon-feed li.online .material-symbols-outlined{color:var(--green)}@media (max-width: 900px){.mon-grid{grid-template-columns:1fr}}.kpi-hero{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin:12px 0 14px}.kpi-hero-text h3{margin:0 0 4px;font-size:16px;padding:0;border:0}.kpi-hero-text p{margin:0;color:var(--muted);font-size:14px}.kpi-ring{position:relative;width:120px;height:120px;flex:none}.kpi-ring svg{width:100%;height:100%}.kpi-ring circle{fill:none;stroke-width:10}.kpi-ring .bg{stroke:var(--th)}.kpi-ring .fg{stroke:var(--green);stroke-linecap:round;transition:stroke-dasharray .6s}.kpi-ring.mid .fg{stroke:#e8962e}.kpi-ring.bad .fg{stroke:var(--red)}.kpi-ring>div{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;text-align:center}.kpi-ring b{font-size:28px;line-height:1}.kpi-ring small{color:var(--muted);font-size:11.5px}.kpi-how ul{margin:0;padding-left:18px;font-size:13px;display:grid;gap:6px}.kpi-bar{grid-template-columns:minmax(80px,160px) 1fr 50px}.kpi-fill{background:var(--green)!important}.kpi-fill.mid{background:#e8962e!important}.kpi-fill.bad{background:var(--red)!important}.kpi-table b.bad,.kpi-page b.bad,.mon-page b.bad{color:var(--red)}.kpi-page b.ok{color:var(--green)}.kpi-page .af-table td,.kpi-page .af-table th{white-space:nowrap}.kpi-page .panel:has(.af-table){overflow-x:auto}.kpi-set{align-items:start}.kpi-set .dh-form{max-width:none}.mon-top .live-pill{color:var(--red);background:var(--red-soft);font-weight:700;padding:3px 12px;border-radius:999px;font-size:12px;display:inline-flex;align-items:center;gap:6px}.mon-top .live-pill i{width:8px;height:8px;border-radius:50%;background:var(--red);animation:pulse 1.4s infinite}.kpi-page .page-tabs{align-items:flex-end}.kpi-page .page-tabs .kpi-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 0 auto;padding-bottom:6px}.kpi-filter .tk-date input{width:auto}.kpi-page .dh-cards{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.kpi-page .dh-card{padding:12px}.kpi-page .dh-value{font-size:24px}.kpi-page .dh-ico{top:10px;right:10px}.kpi-page .dh-ico .material-symbols-outlined{font-size:22px}@media (max-width: 1200px){.kpi-page .dh-cards{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}.tk-page .page-tabs{align-items:flex-end}.tk-page .page-tabs .tk-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 0 auto;padding-bottom:6px}.tk-filter .dt-search input{width:190px}.tk-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;background:var(--card);border-radius:12px;padding:10px 14px;margin:14px 0;box-shadow:0 1px 3px #00000014;border-left:4px solid var(--blue-dark)}.tk-cards{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width: 760px){.tk-cards{grid-template-columns:1fr}}.tk-table tbody tr.tk-row td{padding-top:11px;padding-bottom:11px}.af-page .page-tabs{align-items:flex-end}.af-page .page-tabs .af-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 0 auto;padding-bottom:6px}.af-filter .dt-search input{width:180px}.af-filter .lv-spacer{display:none}.af-filter .af-bulk{gap:6px}.af-page .page-tabs .tab{white-space:nowrap;flex:none}.af-filter{flex:1 1 auto;justify-content:flex-end}.af-filter input[type=time]{width:112px;padding-left:8px;padding-right:4px}.af-filter input[type=date]{width:138px}.af-filter .btn{white-space:nowrap}.af-filter .af-bulk>span:first-child{display:none}.af-filter input[type=time]{width:100px}.af-filter select{max-width:132px}.af-filter .dt-search input{width:130px}.af-filter select{max-width:150px}.af-filter .dt-search input{width:150px}.del-cam{display:grid;gap:12px}.del-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.del-list li{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;padding:8px 10px;border-radius:8px;background:var(--th)}.del-list li.warn{background:var(--red-soft)}.del-list li .material-symbols-outlined{font-size:20px;color:var(--muted);flex:none}.del-list li.warn .material-symbols-outlined{color:var(--red)}@keyframes hd-rise{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}@keyframes hd-float{0%,to{transform:translate(0)}50%{transform:translate(18px,-14px)}}@keyframes hd-glow{50%{box-shadow:0 0 0 6px #ffffff1f}}@keyframes hd-beat{50%{transform:scale(1.08)}}.hd-page{display:grid;gap:16px}.hd-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:auto minmax(220px,1fr) minmax(300px,420px);gap:24px;align-items:center;padding:22px 26px;border-radius:18px;color:#fff;background:linear-gradient(120deg,#12264a,#1f3a6b 45%,#1c8f78);box-shadow:0 10px 30px #12264a40;animation:hd-rise .6s both}.hd-hero.mid{background:linear-gradient(120deg,#12264a,#1f3a6b 40%,#e8962e)}.hd-hero.bad{background:linear-gradient(120deg,#12264a,#1f3a6b 38%,#e63946)}.hd-hero.ticket.good{background:linear-gradient(120deg,#12264a,#1f3a6b 45%,#3fb67a)}.hd-hero:before,.hd-hero:after{content:"";position:absolute;border-radius:50%;background:#ffffff14;animation:hd-float 9s ease-in-out infinite;pointer-events:none}.hd-hero:before{width:260px;height:260px;right:-60px;top:-110px}.hd-hero:after{width:160px;height:160px;left:38%;bottom:-80px;animation-delay:-4s}.hd-hero>*{position:relative;z-index:1}.hd-hero .ch-track{stroke:#ffffff38}.hd-hero .ch-donut-mid b{font-size:25px;line-height:1}.hd-hero .ch-donut-mid small{color:#fffc;font-size:11px}.hd-hero h2{margin:6px 0 12px;font-size:26px;letter-spacing:-.01em}.hd-status{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:#ffffff2e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:13px;font-weight:600;animation:hd-glow 2.4s ease-in-out infinite}.hd-status .material-symbols-outlined{font-size:18px}.hd-actions{display:flex;flex-wrap:wrap;gap:8px}.hd-actions button{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.35);background:#ffffff1f;color:#fff;padding:6px 12px;border-radius:999px;font-size:12.5px;font-weight:600;cursor:pointer;transition:background .15s,transform .15s}.hd-actions button:hover{background:#ffffff47;transform:translateY(-2px)}.hd-actions .material-symbols-outlined{font-size:17px}.hd-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hd-tile{position:relative;display:grid;gap:2px;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.22);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:hd-rise .6s both;animation-delay:calc(var(--i) * 90ms + .25s);transition:transform .2s}.hd-tile:hover{transform:translateY(-3px) scale(1.02)}.hd-tile .material-symbols-outlined{position:absolute;top:10px;right:12px;font-size:26px;opacity:.55}.hd-tile b{font-size:28px;line-height:1.1;font-variant-numeric:tabular-nums}.hd-tile span:last-child{font-size:12px;opacity:.9}.t-blue{background:#5bc0eb4d}.t-green{background:#3fb67a57}.t-red{background:#e6394661}.t-amber{background:#f7900957}.hd-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px}.hd-card{position:relative;background:var(--card);border-radius:16px;padding:16px 18px 18px;box-shadow:0 1px 3px #00000014;overflow:hidden;animation:hd-rise .55s both;animation-delay:calc(var(--i) * 70ms + .2s);transition:transform .2s,box-shadow .2s}.hd-card:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--blue),#7a5af8,var(--red));opacity:.85}.hd-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #12264a24}.hd-card.hd-wide{grid-column:span 2}.hd-card.warm:before{background:linear-gradient(90deg,#f79009,var(--red))}.hd-card>header{display:flex;align-items:center;gap:9px;margin-bottom:14px;flex-wrap:wrap}.hd-card h3{margin:0;padding:0;border:0;font-size:15px}.hd-card>header small{color:var(--muted);font-size:12px;margin-left:auto}.hd-ico{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--blue-dark),#5b7bd6);color:#fff}.hd-ico .material-symbols-outlined{font-size:18px}.hd-card:nth-child(3n+2) .hd-ico{background:linear-gradient(135deg,#7a5af8,#b39bff)}.hd-card:nth-child(3n) .hd-ico{background:linear-gradient(135deg,#e8962e,#f5c542)}.hd-foot{display:block;margin-top:6px}.hd-split{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.hd-big{font-size:26px;line-height:1}.hd-sm{font-size:17px;line-height:1}.hd-legend{list-style:none;margin:0;padding:0;display:grid;gap:7px;font-size:13px;flex:1;min-width:110px}.hd-legend li{display:flex;align-items:center;gap:8px}.hd-legend li b{margin-left:auto;font-variant-numeric:tabular-nums}.hd-legend i{width:11px;height:11px;border-radius:4px;flex:none}.hd-legend.row{display:flex;gap:16px;margin-top:8px}.hd-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.hd-pair>div{background:var(--th);border-radius:12px;padding:10px 12px;display:grid}.hd-pair b{font-size:30px;line-height:1.1}.hd-pair span{font-size:12px;color:var(--muted)}.hd-pair .hot{background:var(--red-soft)}.hd-pair .hot b{color:var(--red);animation:hd-beat 1.6s ease-in-out infinite;transform-origin:left}.hd-list{list-style:none;margin:0;padding:0;font-size:13px}.hd-list li{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.hd-list li:last-child{border-bottom:0}.hd-list small{color:var(--muted);margin-left:auto;font-size:12px}.hd-list .material-symbols-outlined{font-size:18px;color:var(--blue-dark)}.hd-feed{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:13px}.hd-feed li{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:10px;background:var(--th);border-left:3px solid var(--green)}.hd-feed li.offline{border-left-color:var(--red);background:var(--red-soft)}.hd-feed li .material-symbols-outlined{font-size:20px;color:var(--green)}.hd-feed li.offline .material-symbols-outlined{color:var(--red)}.hd-feed small{display:block;color:var(--muted);font-size:12px}.hd-rings{display:flex;justify-content:space-around;gap:8px;flex-wrap:wrap}.hd-tickets{list-style:none;margin:0;padding:0;display:grid;gap:8px}.hd-tickets li{display:grid;grid-template-columns:auto 1fr auto;gap:10px 14px;align-items:center;padding:10px 12px;border-radius:12px;background:var(--th);border-left:3px solid var(--red)}.hd-tickets li small{display:block;color:var(--muted);font-size:12px}.hd-tickets li .ms-meter{grid-column:1 / -1;width:100%;margin:0}.hd-timer{text-align:right}.hd-timer b{color:var(--red);font-variant-numeric:tabular-nums}.ch-donut{position:relative;flex:none}.ch-donut svg{width:100%;height:100%;display:block}.ch-track{fill:none;stroke:var(--th)}.ch-donut-mid{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;text-align:center;gap:2px}.ch-donut-mid small{color:var(--muted);font-size:11px}.ch-empty{display:grid;place-items:center;color:var(--muted);font-size:13px;padding:18px 0}.ch-rows{display:grid;gap:10px}.ch-row{display:grid;grid-template-columns:minmax(70px,130px) 1fr auto;gap:10px;align-items:center;font-size:12.5px}.ch-row-l{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ch-row-bar{display:flex;height:12px;border-radius:6px;background:var(--th);overflow:hidden}.ch-row-bar i{display:block;height:100%;min-width:0;transition:width .9s cubic-bezier(.2,.8,.2,1)}.ch-row-v{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.ch-cols{display:flex;align-items:stretch;gap:6px}.ch-col{flex:1;display:flex;flex-direction:column;min-width:0}.ch-col-bars{flex:1;display:flex;align-items:flex-end;justify-content:center;gap:3px;border-bottom:1px solid var(--line)}.ch-col-bars i{width:100%;max-width:22px;border-radius:5px 5px 0 0;transition:height .9s cubic-bezier(.2,.8,.2,1)}.ch-col small{text-align:center;font-size:10.5px;color:var(--muted);padding-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ch-area{position:relative}.ch-area svg{width:100%;height:calc(100% - 18px);display:block}.ch-grid{stroke:var(--line);stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.ch-area-x{display:flex;justify-content:space-between;font-size:10.5px;color:var(--muted);padding-top:3px}.ch-area-low{position:absolute;right:6px;top:4px;font-size:11px;background:var(--red-soft);color:var(--red);padding:2px 8px;border-radius:999px;font-weight:600}.ch-heat{display:grid;gap:3px}.ch-heat-hours,.ch-heat-row{display:grid;grid-template-columns:30px repeat(24,minmax(0,1fr));gap:3px;align-items:center}.ch-heat small{font-size:10px;color:var(--muted);text-align:center}.ch-heat-row i{display:block;aspect-ratio:1;max-height:22px;border-radius:4px;background:var(--th);transition:transform .45s cubic-bezier(.2,.9,.3,1.4),opacity .45s}.ch-heat-row i:hover{outline:2px solid var(--blue-dark)}@media (max-width: 1100px){.hd-hero{grid-template-columns:auto 1fr}.hd-tiles{grid-column:1 / -1;grid-template-columns:repeat(4,1fr)}}@media (max-width: 760px){.hd-hero{grid-template-columns:1fr;text-align:center;justify-items:center;padding:18px}.hd-actions{justify-content:center}.hd-tiles{grid-template-columns:1fr 1fr;width:100%}.hd-card.hd-wide{grid-column:auto}.hd-grid{grid-template-columns:1fr}.hd-tickets li{grid-template-columns:1fr auto}.hd-tickets li>:first-child{grid-column:1 / -1}}@media (prefers-reduced-motion: reduce){.hd-hero,.hd-hero:before,.hd-hero:after,.hd-card,.hd-tile,.hd-status,.hd-pair .hot b{animation:none!important}.ch-row-bar i,.ch-col-bars i,.ch-heat-row i{transition:none!important}}.load-bar{position:fixed;left:0;right:0;top:calc(var(--nav-h) - 3px);height:3px;z-index:60;pointer-events:none;opacity:0;transition:opacity .3s}.shell.menu-open .load-bar{left:var(--sidebar-w)}.load-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--blue),#7a5af8,var(--red));box-shadow:0 0 8px #5bc0ebcc;border-radius:0 3px 3px 0;position:relative}.load-bar i:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);animation:lb-shine 1.1s linear infinite}.load-bar.run{opacity:1}.load-bar.run i{width:88%;transition:width 9s cubic-bezier(.1,.8,.2,1)}.load-bar.done{opacity:0;transition:opacity .4s .15s}.load-bar.done i{width:100%;transition:width .25s ease-out}@keyframes lb-shine{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (prefers-reduced-motion: reduce){.load-bar i:after{animation:none}}.hd-actions span{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:#ffffffd9}.hd-dot{width:8px;height:8px;border-radius:50%;background:#7dffb0;box-shadow:0 0 8px #7dffb0;animation:hd-beat 1.6s ease-in-out infinite}.hd-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:dense}.hd-card.hd-full{grid-column:1 / -1}.hd-cols2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));column-gap:28px}@media (max-width: 1000px){.hd-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.hd-grid{grid-template-columns:1fr}.hd-card.hd-wide,.hd-card.hd-full{grid-column:auto}}.hd-legend i{display:inline-block}.hd-legend.row span{display:inline-flex;align-items:center;gap:6px;font-size:12.5px}.mon-main{min-width:0}.mon-main .panel{margin-bottom:14px}.mon-cal-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}.mon-cal-head h3{display:flex;align-items:center;gap:6px}.mon-cal-nav{display:flex;gap:4px}.mon-cal-key{margin-left:auto;display:flex;gap:12px;font-size:11.5px;color:var(--muted)}.mon-cal-key i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:4px}.mon-cal i.r,.mon-day-stats .r{--c: var(--red)}.mon-cal i.a,.mon-day-stats .a{--c: #e8962e}.mon-cal i.g,.mon-day-stats .g{--c: var(--green)}.mon-day-stats .b{--c: var(--blue-dark)}.mon-cal-key i.r{background:var(--red)}.mon-cal-key i.a{background:#e8962e}.mon-cal-key i.g{background:var(--green)}.mon-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.mon-cal-w{text-align:center;color:var(--muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.mon-cal-day{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:62px;padding:6px 8px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--text);cursor:pointer;text-align:left;font:inherit;transition:transform .12s,box-shadow .12s,border-color .12s}.mon-cal-day:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 14px #12264a24;border-color:var(--blue-dark)}.mon-cal-day:disabled{cursor:default;opacity:.45;background:var(--th)}.mon-cal-day.today b{color:#fff;background:var(--blue-dark);border-radius:6px;padding:0 6px}.mon-cal-day.sel{outline:2px solid var(--blue-dark);outline-offset:1px;border-color:transparent}.mon-cal-day b{font-size:12.5px}.mon-cal-b{display:flex;flex-wrap:wrap;gap:3px}.mon-cal-b i{font-style:normal;font-size:11px;font-weight:700;color:#fff;background:var(--c, var(--muted));border-radius:999px;padding:0 7px;min-width:20px;text-align:center}.mon-cal-b i.z{background:transparent;color:var(--green);padding:0}.mon-day{position:sticky;top:calc(var(--nav-h) + 14px)}.mon-day-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.mon-day-head h3{display:flex;align-items:center;gap:6px;font-size:14.5px}.mon-day-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:8px}.mon-day-stats>div{border-radius:10px;padding:8px 10px;background:color-mix(in srgb,var(--c) 14%,var(--card));border-top:3px solid var(--c);display:grid}.mon-day-stats b{font-size:22px;line-height:1.1;color:var(--c)}.mon-day-stats span{font-size:11px;color:var(--muted)}.mon-hours{display:flex;align-items:flex-end;gap:3px;height:60px;border-bottom:1px solid var(--line)}.mon-hours i{flex:1;background:linear-gradient(180deg,#f08a93,var(--red));border-radius:3px 3px 0 0;min-height:3px;transition:height .5s}.mon-hours i.none{background:var(--th)}.mon-day-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px;max-height:340px;overflow-y:auto;font-size:13px}.mon-day-list li{display:flex;gap:10px;padding:8px 10px;border-radius:10px;background:var(--th);border-left:3px solid var(--muted)}.mon-day-list li.bad{border-left-color:var(--red);background:var(--red-soft)}.mon-day-list li.ok{border-left-color:var(--green)}.mon-day-list li.mid{border-left-color:#e8962e}.mon-day-list li .material-symbols-outlined{font-size:20px;color:var(--muted)}.mon-day-list li.bad .material-symbols-outlined{color:var(--red)}.mon-day-list li.ok .material-symbols-outlined{color:var(--green)}.mon-day-list li.mid .material-symbols-outlined{color:#e8962e}.mon-day-list small{display:block;color:var(--muted);font-size:12px;margin-top:2px}@media (max-width: 600px){.mon-cal-day{min-height:52px;padding:4px 5px}.mon-cal-key{margin-left:0}.mon-day-stats{grid-template-columns:1fr 1fr}}.mon-two{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:16px;align-items:start;margin-top:4px}.mon-two .mon-day{position:sticky;top:calc(var(--nav-h) + 14px);margin-bottom:0}.mon-two .mon-cal{margin-bottom:0}.mon-two .mon-cal-day{min-height:84px;padding:8px 10px}.mon-two .mon-cal-day b{font-size:14px}.mon-two .mon-cal-b i{font-size:12px;min-width:24px;padding:1px 8px}.mon-hint{display:grid;place-items:center;text-align:center;gap:6px;color:var(--muted);min-height:200px}.mon-hint .material-symbols-outlined{font-size:38px;opacity:.6}@media (max-width: 1000px){.mon-two{grid-template-columns:1fr}.mon-two .mon-day{position:static}}.mon-solo{margin-top:4px}.mon-solo .mon-cal{margin-bottom:0}.mon-cal-b i .w{display:none;font-weight:600}.mon-cal.wide .mon-cal-b i .w{display:inline}.mon-cal.wide .mon-cal-grid{gap:10px}.mon-cal.wide .mon-cal-day{min-height:108px;padding:10px 12px;border-radius:12px}.mon-cal.wide .mon-cal-day b{font-size:16px}.mon-cal.wide .mon-cal-b{gap:5px}.mon-cal.wide .mon-cal-b i{font-size:12.5px;padding:2px 10px}.mon-cal.wide .mon-cal-head h3{font-size:18px}.mon-cal-day .mon-cal-b i.z .w{color:var(--green)}.mon-rel{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--blue-dark);border-radius:999px;padding:1px 9px;margin-bottom:4px}.mon-summary{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:12px;margin-bottom:10px;font-size:13.5px}.mon-summary p{margin:0}.mon-summary .material-symbols-outlined{font-size:24px}.mon-summary.ok{background:#e1f5ec;color:#1c6b49}.mon-summary.bad{background:var(--red-soft);color:#8d1d28}.mon-sub{margin:14px 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.mon-day-list li{display:grid;gap:7px;border-left-width:4px}.mon-t-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mon-t-top .tag{margin-left:auto}.mon-t-line{display:grid;gap:3px;font-size:12.5px;color:var(--muted)}.mon-t-line span{display:flex;align-items:center;gap:6px}.mon-t-line b{color:var(--text)}.mon-t-line .material-symbols-outlined{font-size:16px;color:var(--muted)}.mon-dbar{position:relative;height:8px;border-radius:4px;background:color-mix(in srgb,var(--green) 28%,var(--th));overflow:hidden}.mon-dbar i{position:absolute;top:0;bottom:0;background:var(--red);border-radius:4px}.mon-day-list li .material-symbols-outlined{color:inherit}.hd-people{display:grid;grid-template-columns:1fr 1fr;gap:14px 22px}.hd-people .mon-sub{margin-top:0}.hd-role{text-transform:capitalize;margin-left:4px}@media (max-width: 700px){.hd-people{grid-template-columns:1fr}}.pf-page{display:grid;gap:16px;width:100%}.pf-card{--c1: #14335f;--c2: #2b6cb0;position:relative;overflow:hidden;border-radius:18px;color:#fff;padding:18px 22px 0;background:linear-gradient(120deg,var(--c1),var(--c2));box-shadow:0 14px 34px #0b1f3a47}.pf-card.t-red{--c1: #7a1320;--c2: #e63946}.pf-card.t-blue{--c1: #14335f;--c2: #2b6cb0}.pf-card.t-teal{--c1: #0b5d63;--c2: #2aa7a0}.pf-card.t-gold{--c1: #6b4a0b;--c2: #d9a21b}.pf-card:before,.pf-card:after{content:"";position:absolute;border-radius:50%;background:#ffffff17;pointer-events:none}.pf-card:before{width:260px;height:260px;right:-70px;top:-110px}.pf-card:after{width:180px;height:180px;left:38%;bottom:-120px}.pf-top{position:relative;display:flex;justify-content:space-between;align-items:center;z-index:1}.pf-brand{display:inline-flex;align-items:center;gap:6px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:13px;opacity:.95}.pf-role{background:#fff3;border:1px solid rgba(255,255,255,.35);padding:3px 12px;border-radius:99px;font-size:12px;font-weight:600}.pf-body{position:relative;z-index:1;display:flex;align-items:center;gap:20px;padding:18px 0 20px}.pf-photo{position:relative;flex:none;width:96px;height:96px;border-radius:20px;display:grid;place-items:center;font-size:34px;font-weight:700;background:#ffffff2e;border:2px solid rgba(255,255,255,.55)}.pf-photo i{position:absolute;right:-4px;bottom:-4px;width:16px;height:16px;border-radius:50%;background:#98a2b3;border:3px solid var(--c1)}.pf-photo i.on{background:#3fb67a}.pf-who{flex:1;min-width:0}.pf-who h2{margin:0;font-size:24px;line-height:1.15;overflow-wrap:anywhere}.pf-who p{margin:2px 0 10px;opacity:.8}.pf-chips{display:flex;flex-wrap:wrap;gap:8px}.pf-chips span{display:inline-flex;align-items:center;gap:5px;font-size:12px;background:#0003;padding:3px 10px;border-radius:99px}.pf-chips .material-symbols-outlined{font-size:15px}.pf-qr{flex:none;display:grid;grid-template-columns:repeat(7,1fr);gap:2px;width:74px;height:74px;padding:6px;background:#fff;border-radius:10px}.pf-qr i{background:transparent;border-radius:1px}.pf-qr i.on{background:#14335f}.pf-foot{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 -22px;padding:12px 22px;background:#0000003d}.pf-foot small{display:block;opacity:.7;font-size:11px;text-transform:uppercase;letter-spacing:.05em}.pf-foot b{font-size:14px;letter-spacing:.03em}.pf-wait{display:flex;align-items:center;gap:8px;padding:40px 22px}.pf-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.pf-stats>div{--a: #2b6cb0;display:grid;gap:2px;padding:14px;border-radius:14px;background:var(--panel, #fff);border:1px solid var(--line, #e3e8ef);border-top:3px solid var(--a)}.pf-stats .r{--a: #e63946}.pf-stats .b{--a: #2b6cb0}.pf-stats .a{--a: #f79009}.pf-stats .g{--a: #3fb67a}.pf-stats .v{--a: #7a5af8}.pf-stats .material-symbols-outlined{color:var(--a);font-size:22px}.pf-stats b{font-size:22px}.pf-stats span:last-child{font-size:12px;color:var(--muted)}.pf-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch}.pf-cols .panel{margin:0}.pf-dl{margin:0;display:grid;align-content:space-between}.pf-dl>div{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px dashed var(--line, #e3e8ef)}.pf-dl>div:last-child{border:0}.pf-dl dt{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:13px;white-space:nowrap}.pf-dl dt .material-symbols-outlined{font-size:17px}.pf-dl dd{margin:0;font-weight:600;text-align:right;overflow-wrap:anywhere}@media (max-width: 860px){.pf-stats{grid-template-columns:repeat(2,1fr)}.pf-cols{grid-template-columns:1fr}}@media (max-width: 560px){.pf-body{flex-wrap:wrap}.pf-qr{display:none}.pf-photo{width:76px;height:76px;font-size:26px}.pf-who h2{font-size:20px}}.pf-cols .panel{display:flex;flex-direction:column}.pf-cols .pf-dl{flex:1}.hd-page .hd-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.hd-card.hd-w2{grid-column:span 2}.hd-card.hd-w3{grid-column:span 3}.hd-card{padding:14px 16px 16px}.hd-card>header{margin-bottom:10px}.hd-scroll{max-height:168px;overflow-y:auto;scrollbar-width:none}.hd-scroll::-webkit-scrollbar{display:none}.hd-tabs{display:inline-flex;gap:2px;padding:2px;border-radius:99px;background:var(--bg, #eef1f6)}.hd-tabs button{border:0;background:transparent;color:var(--muted);font:inherit;font-size:12px;padding:2px 10px;border-radius:99px;cursor:pointer}.hd-tabs button.on{background:var(--card, #fff);color:var(--text, #14335f);font-weight:600;box-shadow:0 1px 2px #0000001f}.hd-card>header small:has(.hd-tabs){font-size:inherit}@media (max-width: 1200px) and (min-width: 761px){.hd-page .hd-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hd-card.hd-w3{grid-column:span 2}}@media (max-width: 760px){.hd-page .hd-grid{grid-template-columns:1fr}.hd-card.hd-w2,.hd-card.hd-w3{grid-column:auto}}.ua-page .page-tabs{display:flex;align-items:flex-end;flex-wrap:wrap;gap:4px}.ua-page .page-tabs .ua-filter{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 0 auto;padding-bottom:6px}.ua-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.ua-tiles .hd-tile{color:#fff;padding:14px 16px;border:0}.ua-tiles .hd-tile.t-blue{background:linear-gradient(135deg,#14335f,#2b6cb0)}.ua-tiles .hd-tile.t-red{background:linear-gradient(135deg,#a8202e,#e63946)}.ua-tiles .hd-tile.t-green{background:linear-gradient(135deg,#1f7a4f,#3fb67a)}.ua-tiles .hd-tile.t-amber{background:linear-gradient(135deg,#c9740a,#f5a524)}.ua-tiles .hd-tile small{font-size:11.5px;opacity:.85}.ua-charts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px}.ua-user{display:inline-flex;align-items:center;gap:7px}.ua-user i{width:9px;height:9px;border-radius:50%;background:#98a2b3;flex:none}.ua-user i.on{background:#3fb67a;box-shadow:0 0 0 3px #3fb67a40}@media (max-width: 1100px){.ua-charts{grid-template-columns:1fr 1fr}.ua-charts>:last-child{grid-column:1 / -1}}@media (max-width: 760px){.ua-tiles{grid-template-columns:1fr 1fr}.ua-charts{grid-template-columns:1fr}}.ua-charts .ch-col small{overflow:visible;white-space:nowrap;text-align:left}.nc-page{display:grid;gap:14px;padding-bottom:70px}.nc-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.nc-tiles>div{position:relative;display:grid;gap:2px;padding:14px 16px;border-radius:14px;color:#fff}.nc-tiles .material-symbols-outlined{position:absolute;top:12px;right:14px;font-size:26px;opacity:.55}.nc-tiles b{font-size:26px;line-height:1.1}.nc-tiles span:last-child{font-size:12px;opacity:.9}.nc-tiles .t-blue{background:linear-gradient(135deg,#14335f,#2b6cb0)}.nc-tiles .t-green{background:linear-gradient(135deg,#1f7a4f,#3fb67a)}.nc-tiles .t-amber{background:linear-gradient(135deg,#c9740a,#f5a524)}.nc-tiles .t-red{background:linear-gradient(135deg,#a8202e,#e63946)}.nc-panel{padding:0;overflow:hidden}.nc-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:space-between;padding:12px 14px}.nc-filter{display:flex;gap:6px;flex-wrap:wrap}.nc-search{min-width:220px}.nc-bulk{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:9px 14px;background:#5bc0eb24;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px}.nc-bulk>span{color:var(--muted);margin-left:8px}.nc-scroll{overflow-x:auto}.nc-table{min-width:760px}.nc-ck{width:34px;text-align:center}.nc-table tr.nc-changed td{background:#f7900917}.nc-act{text-align:right;white-space:nowrap}.nc-seg{display:inline-flex;padding:2px;border-radius:99px;background:var(--bg, #eef1f6);border:1px solid var(--line)}.nc-seg button{display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;color:var(--muted);font:inherit;font-size:12.5px;padding:3px 11px;border-radius:99px;cursor:pointer}.nc-seg button .material-symbols-outlined{font-size:16px}.nc-seg button:disabled{opacity:.4;cursor:not-allowed}.nc-seg button.on{color:#fff;font-weight:600;background:var(--blue-dark, #14335f)}.nc-seg button.on.cloud{background:#2b6cb0}.nc-seg button.on.nvr{background:#c9740a}.nc-test .nc-seg button.on{background:var(--blue-dark, #14335f)}.nc-switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:12.5px}.nc-switch input{position:absolute;opacity:0;pointer-events:none}.nc-switch i{position:relative;width:34px;height:19px;border-radius:99px;background:#c4cbd6;transition:background .2s;flex:none}.nc-switch i:after{content:"";position:absolute;top:2px;left:2px;width:15px;height:15px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 2px #0000004d}.nc-switch input:checked+i{background:#3fb67a}.nc-switch input:checked+i:after{transform:translate(15px)}.nc-switch input:focus-visible+i{outline:2px solid var(--blue);outline-offset:2px}.nc-save{position:fixed;left:50%;bottom:18px;transform:translate(-50%,140%);z-index:40;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;border-radius:14px;background:var(--card);box-shadow:0 10px 30px #0b1f3a4d;border:1px solid var(--line);transition:transform .3s;max-width:calc(100vw - 24px)}.nc-save.on{transform:translate(-50%)}.nc-save>span{display:inline-flex;align-items:center;gap:6px;font-size:13px}.nc-test-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.nc-test-bar .btn{margin-left:auto}.nc-hint{margin:0 0 10px;font-size:12.5px;color:var(--muted)}.nc-video{aspect-ratio:16 / 9;background:#0b1424;border-radius:12px;overflow:hidden;display:grid;place-items:center}.nc-video video{width:100%;height:100%;object-fit:contain;background:#000}.nc-empty{display:grid;justify-items:center;gap:6px;color:#9fb2cc;padding:20px;text-align:center;font-size:13px}.nc-empty .material-symbols-outlined{font-size:44px;opacity:.6}.nc-played{margin-top:8px;font-size:13px;display:flex;align-items:center;gap:8px}.nc-steps{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}.nc-steps li{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;border-radius:10px;background:var(--bg, #eef1f6);border-left:4px solid #98a2b3;font-size:13px}.nc-steps li.ok{border-color:#3fb67a}.nc-steps li.ok .material-symbols-outlined{color:#3fb67a}.nc-steps li.bad{border-color:#e63946}.nc-steps li.bad .material-symbols-outlined{color:#e63946}.nc-steps li.mid{border-color:#f79009}.nc-steps li.mid .material-symbols-outlined{color:#f79009}.nc-steps li .nc-row span{color:var(--muted)}.nc-steps li em{font-style:normal;font-size:11px;color:#c9740a;font-weight:600;text-transform:uppercase}.nc-sum{margin:0 0 4px}.nc-bar{height:4px;border-radius:4px;background:#5bc0eb40;overflow:hidden;margin-top:10px}.nc-bar i{display:block;height:100%;width:35%;background:var(--blue);animation:nc-slide 1.1s ease-in-out infinite}@keyframes nc-slide{0%{transform:translate(-100%)}to{transform:translate(300%)}}@media (max-width: 900px){.nc-tiles{grid-template-columns:1fr 1fr}}@media (max-width: 560px){.nc-test-bar .btn{margin-left:0;width:100%}}.nc-steps li{justify-content:flex-start;text-align:left}.nc-steps li .material-symbols-outlined{flex:none;font-size:22px}.nc-row{display:grid;gap:1px;flex:1;min-width:0;text-align:left}.nc-row b{margin:0}.nc-row span{flex:none;min-width:0;font-size:12.5px}.nc-steps li em{margin-left:auto}.nc-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.nc-sum{margin:0 0 12px}.nc-test-bar{flex-wrap:nowrap;gap:6px;margin-bottom:12px}.nc-test-bar .nc-seg button{padding:3px 9px}.nc-test-bar .tk-date{display:inline-flex;align-items:center;gap:5px;font-size:13px;white-space:nowrap}.nc-test-bar input[type=datetime-local]{font-size:12px;padding:5px 4px;width:150px;min-width:0}.nc-test-bar .nc-seg{flex:none}.nc-test-bar .btn{margin-left:auto;flex:none;white-space:nowrap}.nc-steps li .material-symbols-outlined{width:24px;overflow:hidden}@media (max-width: 720px){.nc-test-bar{flex-wrap:wrap}.nc-test-bar .btn{margin-left:0}}.lc-page{display:grid;gap:14px}.lc-hero{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:18px 22px;border-radius:16px;color:#fff;box-shadow:0 10px 26px #0b1f3a38;background:linear-gradient(120deg,#14335f,#2b6cb0)}.lc-hero.ok{background:linear-gradient(120deg,#14503a,#2f9e6b)}.lc-hero.mid{background:linear-gradient(120deg,#7a4a07,#e8962e)}.lc-hero.bad{background:linear-gradient(120deg,#6e1320,#e63946)}.lc-seal{flex:none;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#ffffff2e;border:2px solid rgba(255,255,255,.5)}.lc-seal .material-symbols-outlined{font-size:34px}.lc-hero-text{flex:1;min-width:220px}.lc-hero h2{margin:0 0 2px;font-size:22px}.lc-hero p{margin:2px 0 0;opacity:.92;font-size:13.5px}.lc-hero .lc-warn{font-weight:600;opacity:1}.lc-switch{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;padding:10px 16px;border-radius:12px;background:#00000038;font-size:12px}.lc-switch .material-symbols-outlined{grid-row:span 2;font-size:30px}.lc-switch b{font-size:18px;letter-spacing:.06em}.lc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.lc-card{--a: #3fb67a;display:grid;gap:6px;padding:14px 16px;border-radius:14px;background:var(--card);border-top:4px solid var(--a);box-shadow:0 1px 3px #00000014}.lc-card.mid{--a: #f79009}.lc-card.bad{--a: #e63946}.lc-card-top{display:flex;align-items:center;gap:8px;font-weight:600;font-size:13.5px}.lc-ico{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:#fff;background:var(--a)}.lc-ico .material-symbols-outlined{font-size:19px}.lc-num b{font-size:26px;line-height:1}.lc-num small{color:var(--muted);font-size:14px}.lc-meter{height:7px;border-radius:7px;background:#78829633;overflow:hidden}.lc-meter i{display:block;height:100%;background:var(--a);border-radius:7px;transition:width .6s}.lc-cols{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:14px;align-items:stretch}.lc-cols .panel{margin:0}.lc-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:10px 0}.lc-field{display:grid;gap:3px;font-size:12px;color:var(--muted)}.lc-field input{width:100%;min-width:0}.lc-wide{margin-bottom:4px}.lc-dates{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.lc-dates .lc-field{flex:1;min-width:130px}.lc-dates .btn{margin-left:auto}.lc-key{width:100%;resize:vertical;font-family:ui-monospace,Consolas,monospace;font-size:12px;line-height:1.4;padding:10px;border-radius:10px;border:1px solid var(--line);background:var(--bg, #f4f6fa);color:inherit;word-break:break-all}.lc-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.lc-msg{display:flex;align-items:center;gap:6px;margin:10px 0 0;font-size:13px}.lc-msg.ok{color:#2f9e6b}.lc-msg.bad{color:#e63946}.lc-banner{display:flex;align-items:center;gap:8px;padding:8px 14px;margin:0 0 12px;border-radius:10px;font-size:13px;background:#e639461f;color:#b3202e;border:1px solid rgba(230,57,70,.35)}.lc-banner.soon{background:#f7900921;color:#9a5b05;border-color:#f7900966}@media (max-width: 1100px){.lc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lc-cols{grid-template-columns:1fr}.lc-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.lc-grid{grid-template-columns:1fr}.lc-dates .btn{margin-left:0;width:100%}}.lc-banner-link{margin-left:auto;font-weight:600;color:inherit;text-decoration:underline}.ag-page{display:grid;grid-template-columns:210px minmax(0,1fr);gap:18px;align-items:start}.ag-nav{position:sticky;top:calc(var(--nav-h) + 14px);display:grid;gap:2px;padding:12px;border-radius:14px;background:var(--card);box-shadow:0 1px 3px #00000014}.ag-nav b{padding:4px 8px 8px;font-size:14px}.ag-nav a{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:9px;color:inherit;text-decoration:none;font-size:13px}.ag-nav a:hover{background:#5bc0eb29}.ag-nav a .material-symbols-outlined{font-size:18px;color:var(--blue-dark, #2b6cb0)}.ag-base{margin-top:8px;padding:8px 10px;border-radius:9px;background:var(--bg, #eef1f6);display:grid;gap:2px;word-break:break-all}.ag-base small{color:var(--muted)}.ag-base code{font-size:12px}.ag-main{display:grid;gap:18px;min-width:0}.ag-sec{scroll-margin-top:calc(var(--nav-h) + 14px)}.ag-sec h2{display:flex;align-items:center;gap:10px;margin:0 0 4px;font-size:19px}.ag-sec h2>span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#2b6cb0,#5bc0eb)}.ag-intro{margin:0 0 12px;color:var(--muted);font-size:13.5px;max-width:90ch}.ag-ep{margin-bottom:12px;padding:14px 16px;border-radius:14px;background:var(--card);box-shadow:0 1px 3px #00000014}.ag-ep header{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}.ag-m{min-width:56px;text-align:center;padding:3px 9px;border-radius:7px;font-size:12px;font-weight:700;color:#fff;letter-spacing:.03em;background:#2b6cb0}.ag-m.post{background:#2f9e6b}.ag-m.put{background:#c9740a}.ag-m.del{background:#e63946}.ag-m.rtsp{background:#7a5af8}.ag-path{font-size:13.5px;font-weight:600;word-break:break-all}.ag-proto,.ag-status{padding:2px 9px;border-radius:99px;font-size:11.5px;font-weight:600;background:#7a5af826;color:#6b4ae0}.ag-status{background:#f7900929;color:#b36505}.ag-who{margin-left:auto;display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--muted)}.ag-who .material-symbols-outlined{font-size:15px}.ag-ep>p{margin:0 0 10px;font-size:13.5px}.ag-params{width:100%;border-collapse:collapse;margin-bottom:10px;font-size:12.5px}.ag-params th{text-align:left;padding:5px 8px;background:var(--bg, #eef1f6);font-weight:600}.ag-params td{padding:5px 8px;border-bottom:1px dashed var(--line);vertical-align:top}.ag-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.ag-cols small{color:var(--muted);display:block;margin-bottom:3px}.ag-code{position:relative}.ag-code pre{margin:0;padding:10px 12px;border-radius:10px;background:#0f1b2e;color:#d6e4f7;font:12px/1.5 ui-monospace,Consolas,monospace;overflow-x:auto;white-space:pre;min-height:44px}.ag-code button{position:absolute;top:6px;right:6px;display:inline-flex;align-items:center;gap:3px;border:0;border-radius:7px;padding:2px 8px;font:inherit;font-size:11px;color:#d6e4f7;background:#ffffff1f;cursor:pointer}.ag-code button .material-symbols-outlined{font-size:14px}.ag-try{margin-top:10px}.ag-out{margin:8px 0 0;max-height:260px;overflow:auto;padding:10px 12px;border-radius:10px;background:var(--bg, #eef1f6);font:12px/1.45 ui-monospace,Consolas,monospace}.ag-notes{list-style:none;margin:0;padding:0;display:grid;gap:6px}.ag-notes li{display:flex;gap:8px;align-items:flex-start;padding:8px 12px;border-radius:10px;background:#5bc0eb21;font-size:13px}.ag-notes .material-symbols-outlined{font-size:18px;color:#2b6cb0;flex:none}@media (max-width: 1000px){.ag-page{grid-template-columns:1fr}.ag-nav{position:static;grid-auto-flow:column;overflow-x:auto}.ag-nav b,.ag-base{display:none}.ag-nav a{white-space:nowrap}}@media (max-width: 760px){.ag-cols{grid-template-columns:1fr}.ag-who{margin-left:0}}.ag-code pre{padding-right:82px}.ag-console{padding:14px 16px;border-radius:14px;background:var(--card);box-shadow:0 1px 3px #00000014;border-top:3px solid #5bc0eb}.ag-bar{display:flex;gap:8px}.ag-bar select{flex:none;width:96px}.ag-bar input{flex:1;min-width:0;font-family:ui-monospace,Consolas,monospace;font-size:13px}.ag-body{width:100%;margin-top:8px;font:12.5px/1.45 ui-monospace,Consolas,monospace;padding:10px;border-radius:10px;border:1px solid var(--line);background:var(--bg, #f4f6fa);color:inherit;resize:vertical}.ag-risk{display:flex;align-items:center;gap:6px;margin:8px 0 0;font-size:12.5px;color:#b36505}.ag-risk .material-symbols-outlined{font-size:17px}.ag-res{margin-top:10px}.ag-res-bar{display:flex;gap:10px;align-items:center;font-size:13px;margin-bottom:4px}.ag-res-bar b{padding:2px 10px;border-radius:99px;color:#fff;background:#3fb67a}.ag-res-bar b.bad{background:#e63946}.ag-res pre{margin:0;max-height:320px;overflow:auto;padding:10px 12px;border-radius:10px;background:#0f1b2e;color:#d6e4f7;font:12px/1.5 ui-monospace,Consolas,monospace}.ag-try{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ag-try .ag-out{flex-basis:100%}.sa-page{display:grid;gap:16px}.sa-card{padding:16px 20px 18px;border-radius:14px;background:var(--card);box-shadow:0 1px 3px #0000001a;border:1px solid var(--line)}.sa-card>header{display:flex;align-items:center;gap:12px;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--line)}.sa-card>header h3{margin:0;padding:0;border:0;font-size:16px;flex:1}.sa-ok{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#fff;background:#1f9d55}.sa-ok .material-symbols-outlined{font-size:19px}.sa-auth,.sa-count{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:6px;font-size:11.5px;font-weight:700;color:#fff;background:#1f9d55}.sa-count{background:#12b5cb}.sa-auth .material-symbols-outlined{font-size:14px}.sa-who{display:flex;align-items:center;gap:8px;font-size:16px}.sa-who .material-symbols-outlined{color:#1f9d55}.sa-meta{display:flex;align-items:center;gap:6px 18px;flex-wrap:wrap;margin:4px 0 14px;font-size:12.5px;color:var(--muted)}.sa-meta .material-symbols-outlined{font-size:15px;vertical-align:-3px}.warn{color:#d99100}.sa-out{display:inline-flex;align-items:center;gap:5px;border:1px solid #e63946;color:#e63946;background:transparent;padding:5px 12px;border-radius:7px;font:inherit;font-size:13px;cursor:pointer}.sa-out .material-symbols-outlined{font-size:17px}.sa-token{display:grid;gap:6px;padding:14px 16px;border-radius:10px;border:1px solid #2f6fd6;background:#2f6fd60f}.sa-token h4{margin:0 0 4px;display:flex;align-items:center;gap:8px;font-size:14px}.sa-token h4 .material-symbols-outlined{font-size:18px;color:#e8a317}.sa-token small{color:var(--muted)}.sa-valid{margin-top:2px}.sa-tag{padding:2px 9px;border-radius:99px;font-size:11px;font-weight:700;color:#3a2a00;background:#f5b82e}.sa-url-box{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;border:1px solid var(--line);background:var(--bg, #f4f6fa)}.sa-url-box code{flex:1;min-width:0;font:12px/1.5 ui-monospace,Consolas,monospace;word-break:break-all}.sa-copy{flex:none;display:inline-flex;align-items:center;gap:4px;padding:5px 11px;border-radius:7px;border:1px solid var(--line);background:var(--card);color:inherit;font:inherit;font-size:12.5px;cursor:pointer}.sa-copy .material-symbols-outlined{font-size:15px}.sa-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}.sa-search{display:flex;align-items:center;gap:6px;flex:1;min-width:220px;max-width:360px;padding:0 10px;border-radius:8px;border:1px solid var(--line);background:var(--bg, #f4f6fa)}.sa-search input{flex:1;border:0;background:transparent;padding:8px 0;outline:0;color:inherit;font:inherit;font-size:13px}.sa-gen{margin-left:auto;font-size:12.5px;color:var(--muted)}.sa-refresh{width:36px;height:36px;border-radius:8px;border:1px solid var(--line);background:var(--card);color:inherit;cursor:pointer}.sa-scroll{overflow-x:auto}.sa-table{width:100%;border-collapse:collapse;font-size:13px;min-width:640px}.sa-table th{text-align:left;padding:9px 10px;font-weight:600;border-bottom:1px solid var(--line)}.sa-table td{padding:11px 10px;border-bottom:1px solid var(--line)}.sa-table tbody tr:not(.sa-open){cursor:pointer}.sa-table tbody tr:not(.sa-open):hover,.sa-table tr.on{background:#5bc0eb1a}.sa-zone{display:inline-block;padding:1px 8px;border-radius:5px;font-size:11.5px;font-weight:700;background:#78829640}.sa-chev{text-align:right;color:var(--muted)}.sa-open>td{padding:6px 10px 16px;border-bottom:1px solid var(--line);background:#7882960d}.sa-urls{display:grid;gap:12px}.sa-url-head{display:flex;align-items:center;gap:10px;margin-bottom:5px;font-size:12.5px;color:var(--muted)}.sa-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:6px;font-size:11.5px;font-weight:700;color:#fff;background:#2f6fd6}.sa-badge .material-symbols-outlined{font-size:14px}.sa-badge.rtsp{background:#1f9d55}.sa-badge.flv{background:#c9740a}.sa-badge.rtc{background:#7a5af8}.sa-start{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sa-more{margin-top:12px}.sa-steps{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:12px;counter-reset:s}.sa-steps li{display:flex;gap:14px;align-items:flex-start}.sa-steps li>span{flex:none;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#2b6cb0,#5bc0eb)}.sa-steps p{margin:2px 0 0;color:var(--muted);font-size:13.5px}@media (max-width: 760px){.sa-gen{margin-left:0}.sa-url-box{flex-wrap:wrap}}.sa-open>td{max-width:0}.sa-url-box code{overflow-wrap:anywhere}.sa-urls{min-width:0}.sa-chev{white-space:nowrap;text-align:right}.sa-chev .material-symbols-outlined{vertical-align:middle}.sa-ico{display:inline-grid;place-items:center;width:30px;height:30px;margin-right:4px;border-radius:8px;border:1px solid var(--line);background:var(--card);color:inherit;cursor:pointer;vertical-align:middle}.sa-ico .material-symbols-outlined{font-size:17px}.sa-ico:hover{background:#5bc0eb2e}.sa-ico.done{color:#fff;background:#1f9d55;border-color:#1f9d55}.sa-open>td>.sa-urls{width:0;min-width:100%}.sa-url-box{align-items:flex-start}.sa-url-box code{flex:1 1 0;min-width:0;white-space:normal;word-break:break-all}.sa-url-box .sa-copy{align-self:center}.stream-swap{position:absolute;left:6px;bottom:6px;z-index:2;max-width:calc(100% - 12px);padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;color:#fff;background:#e63946e0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:auto}.map-canvas{background:#e5e3df}.map-box{border-radius:12px}.map-float{position:absolute;z-index:600;top:12px;left:12px;right:12px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;pointer-events:none}.map-float>*{pointer-events:auto}.map-float .dt-search{background:#fff;color:#3c4043;border:0;border-radius:24px;box-shadow:0 1px 2px #3c40434d,0 2px 6px 2px #3c404326;padding:3px 14px}.map-float .dt-search input{width:280px;max-width:60vw;background:transparent;color:#202124;border:0;font-size:14px}.map-float .dt-search input::placeholder{color:#70757a}.map-float .chips{display:flex;flex-wrap:wrap;gap:6px}.map-float .chip{background:#fff;color:#3c4043;border:0;border-radius:16px;padding:5px 12px;font-size:13px;box-shadow:0 1px 2px #3c40434d}.map-float .chip.on{background:#e8f0fe;color:#1a73e8;font-weight:600}.map-float .map-note{margin-left:auto;background:#ffffffeb;color:#5f6368;padding:4px 10px;border-radius:12px;font-size:12px;box-shadow:0 1px 2px #3c404340}.map-hint{top:64px}.map-canvas .leaflet-bar{border:0;border-radius:8px;overflow:hidden;box-shadow:0 1px 4px #0000004d;margin-bottom:14px}.map-canvas .leaflet-bar a{width:40px;height:40px;line-height:40px;font-size:22px;color:#666;background:#fff;border-bottom:1px solid #e6e6e6}.map-canvas .leaflet-bar a:hover{background:#f1f3f4;color:#000}.map-canvas .leaflet-control-zoom{margin-right:12px}.map-canvas .leaflet-control-attribution{background:#fffc;font-size:10px;color:#555}.map-canvas .leaflet-control-scale-line{background:#fffc;color:#333;border-color:#555}.g-btn{position:absolute;z-index:600;right:12px;bottom:116px;width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:8px;background:#fff;color:#666;cursor:pointer;box-shadow:0 1px 4px #0000004d}.g-btn:hover{background:#f1f3f4;color:#000}.g-layers{position:absolute;z-index:600;left:12px;bottom:34px;display:flex;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 4px #0000004d}.g-layers button{border:0;background:#fff;color:#3c4043;padding:9px 14px;font-size:13px;font-weight:500;cursor:pointer}.g-layers button+button{border-left:1px solid #e6e6e6}.g-layers button.on{background:#e8f0fe;color:#1a73e8;font-weight:700}.g-pin{position:relative;display:block;width:30px;height:30px;margin:4px 0 0 2px;background:#ea4335;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 2px 5px #0006;border:2px solid #b31412}.g-pin .material-symbols-outlined{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;transform:rotate(45deg);color:#fff;font-size:17px}.g-pin.online{background:#1e8e3e;border-color:#0d652d}.g-pin.offline{background:#ea4335;border-color:#b31412}.g-pin.inactive{background:#80868b;border-color:#5f6368}.g-pin.sel{transform:rotate(-45deg) scale(1.2);box-shadow:0 0 0 4px #1a73e859,0 2px 6px #00000080}.map-canvas .marker-cluster-small,.map-canvas .marker-cluster-medium,.map-canvas .marker-cluster-large{background:#1a73e840}.map-canvas .marker-cluster-small div,.map-canvas .marker-cluster-medium div,.map-canvas .marker-cluster-large div{background:#1a73e8;color:#fff;font-weight:700}.map-canvas .leaflet-popup-content-wrapper{border-radius:10px;box-shadow:0 2px 10px #0000004d}@media (max-width: 700px){.map-float .map-note{display:none}.g-layers{bottom:28px}}.ptz-page{display:grid;grid-template-columns:220px minmax(0,1fr) 340px;gap:12px;align-items:start}.ptz-cams,.ptz-card,.ptz-view{background:var(--card);border:1px solid var(--line);border-radius:10px}.ptz-cams{padding:10px;position:sticky;top:8px;max-height:calc(100vh - var(--nav-h) - 40px);overflow-y:auto}.ptz-cams ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:4px}.ptz-cams li button{width:100%;display:flex;align-items:center;gap:8px;text-align:left;border:0;background:transparent;color:inherit;padding:7px 8px;border-radius:8px;cursor:pointer}.ptz-cams li button:hover{background:var(--hover)}.ptz-cams li button.on{background:#5bc0eb2e;box-shadow:inset 3px 0 0 var(--red, #e63946)}.ptz-cams li span{display:grid;min-width:0}.ptz-cams li small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ptz-none{padding:8px}.ptz-view{padding:10px}.ptz-screen{position:relative;aspect-ratio:16 / 9;background:#0b1a30;border-radius:8px;overflow:hidden;display:grid;place-items:center;color:#9fb3d4}.ptz-screen video{width:100%;height:100%}.ptz-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;padding:8px 2px 0}.ptz-pos{margin-left:auto;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.ptz-ctl{display:grid;gap:10px}.ptz-card{padding:12px;display:grid;gap:10px}.ptz-card h4{margin:0;display:flex;align-items:center;gap:8px;font-size:14px}.ptz-card h4 small{color:var(--muted);font-weight:500}.ptz-msg{padding:14px;border:1px dashed var(--line);border-radius:10px;color:var(--muted)}.ptz-msg.bad{color:var(--red, #e63946);border-color:var(--red, #e63946)}.ptz-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;max-width:220px;margin:0 auto}.ptz-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:46px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:inherit;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none}.ptz-btn:hover{background:#5bc0eb2e}.ptz-btn:active{background:#2b6cb0;color:#fff}.ptz-btn.stop{background:#e639461f;color:var(--red, #e63946)}.ptz-btn.wide{flex:1;height:40px;font-size:13px}.ptz-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.ptz-speed{display:flex;align-items:center;gap:8px;font-size:13px}.ptz-speed input{flex:1}.ptz-keys{margin:0;font-size:12px}.ptz-add{display:flex;gap:6px}.ptz-add input{flex:1;min-width:0}.ptz-presets{list-style:none;margin:0;padding:0;display:grid;gap:4px;max-height:220px;overflow-y:auto}.ptz-presets li{display:flex;align-items:center;gap:4px;border-radius:8px}.ptz-presets li.on{background:#5bc0eb2e}.ptz-presets li>button:first-child{flex:1;text-align:left;border:0;background:transparent;color:inherit;padding:6px 8px;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:6px}.ptz-presets li>button:first-child:hover{background:var(--hover)}.ptz-abs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.ptz-abs label{display:grid;gap:3px;font-size:12px;color:var(--muted)}.ptz-abs input{width:100%}.ptz-note{position:sticky;bottom:8px;padding:8px 12px;border-radius:8px;background:var(--navy, #14284b);color:#fff;font-size:13px}@media (max-width: 1200px){.ptz-page{grid-template-columns:200px minmax(0,1fr)}.ptz-ctl{grid-column:1 / -1;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}@media (max-width: 760px){.ptz-page{grid-template-columns:1fr}.ptz-cams{position:static;max-height:180px}}.ptz-screen{touch-action:none}.ptz-screen.zoomed{cursor:grab}.ptz-screen.zoomed:active{cursor:grabbing}.ptz-layer{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:0 0;will-change:transform}.ptz-zoombar{position:absolute;z-index:5;right:10px;bottom:10px;display:flex;align-items:center;gap:4px;padding:4px 6px;border-radius:999px;background:#0b1a30c7;color:#fff;font-size:13px}.ptz-zoombar button{display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:50%;background:transparent;color:#fff;cursor:pointer}.ptz-zoombar button:hover:not(:disabled){background:#ffffff2e}.ptz-zoombar button:disabled{opacity:.35;cursor:default}.ptz-zoombar span{min-width:34px;text-align:center;font-variant-numeric:tabular-nums}.ptz-page{height:calc(100vh - var(--nav-h) - 52px);min-height:520px;align-items:stretch}.ptz-cams{position:static;max-height:none;height:100%}.ptz-view{display:flex;flex-direction:column;height:100%;min-height:0}.ptz-screen{flex:1;aspect-ratio:auto;min-height:0}.ptz-screen video{object-fit:contain!important}.ptz-ctl{height:100%;overflow-y:auto;align-content:start;padding-right:2px}@media (max-width: 1200px){.ptz-page,.ptz-view{height:auto}.ptz-screen{flex:none;aspect-ratio:16 / 9}.ptz-ctl{height:auto;overflow:visible}}@media (max-width: 760px){.ptz-cams{height:180px}}.map-box,.ptz-page,.ptz-view{isolation:isolate}.ag-rtc{margin-top:12px;display:grid;gap:8px;max-width:520px}.ag-rtc-bar{display:flex;gap:8px;flex-wrap:wrap}.ag-rtc-bar select{min-width:200px}.ag-rtc-video{width:100%;aspect-ratio:16 / 9;background:#0b1a30;border-radius:8px}.lc-wm{display:flex;align-items:center;gap:12px;margin:6px 0 10px;padding:10px 12px;border:1px solid var(--line, #3a4150);border-radius:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.lc-wm input{position:absolute;opacity:0;pointer-events:none}.lc-wm-switch{position:relative;flex:none;width:40px;height:22px;border-radius:999px;background:#6b7380;transition:background .2s}.lc-wm-switch:before{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s}.lc-wm.on .lc-wm-switch{background:#34c759}.lc-wm.on .lc-wm-switch:before{transform:translate(18px)}.lc-wm-text{flex:1;display:flex;flex-direction:column;gap:2px}.lc-wm-text small{color:var(--muted, #8b93a1)}.lc-wm-state{font-weight:700;font-size:12px;min-width:24px;text-align:right}.lc-wm input:focus-visible+.lc-wm-switch{outline:2px solid #4f8cff;outline-offset:2px}.lgx{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:24px;overflow:hidden;background:var(--lg-page)}.lgx-rings{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none}.lgx-rings i{position:absolute;width:90vmin;height:90vmin;border:1px solid var(--lg-ring);border-radius:50%;opacity:0;animation:lgxring 14s linear infinite}.lgx-rings i:nth-child(2){animation-delay:-3.5s}.lgx-rings i:nth-child(3){animation-delay:-7s}.lgx-rings i:nth-child(4){animation-delay:-10.5s}@keyframes lgxring{0%{transform:scale(.15);opacity:.9}to{transform:scale(1.5);opacity:0}}.lgx-card{position:relative;width:100%;max-width:360px;display:grid;gap:14px;padding:30px 30px 26px;background:var(--lg-card);color:var(--lg-text);border-radius:6px;border-top:3px solid var(--lg-accent);box-shadow:0 12px 36px #00000059;animation:lgxin .5s ease-out both}@keyframes lgxin{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.lgx-logo{display:flex;align-items:center;gap:12px;font-size:26px;font-weight:700;letter-spacing:.01em}.lgx-logo b{color:var(--lg-accent)}.lgx-lens{flex:none;width:40px;height:40px}.lgx-lens .a{fill:#1f242b;stroke:#6b7480;stroke-width:3}.lgx-lens .b{fill:none;stroke:var(--lg-accent);stroke-width:5;stroke-dasharray:22 12;transform-origin:50px 50px;animation:lgxspin 16s linear infinite}.lgx-lens .c{fill:#07090d}.lgx-lens .d{fill:#ffffffa6}@keyframes lgxspin{to{transform:rotate(360deg)}}.lgx-sub{margin:-6px 0 6px;color:var(--lg-muted);font-size:13px}.lgx-card label{display:grid;gap:5px;font-size:13px;color:var(--lg-label)}.lgx-pass{position:relative;display:block}.lgx-card input[type=text],.lgx-card input[type=password]{width:100%;height:40px;padding:0 12px;font-size:14px;color:var(--lg-text);background:var(--lg-input);border:1px solid var(--lg-line);border-radius:4px;outline:0;transition:border-color .15s}.lgx-pass input{padding-right:58px!important}.lgx-card input:focus{border-color:var(--lg-accent)}.lgx-show{position:absolute;right:6px;top:50%;transform:translateY(-50%);padding:4px 8px;font-size:12px;color:var(--lg-accent);background:transparent;border:0;cursor:pointer}.lgx-remember{display:flex!important;flex-direction:row;align-items:center;gap:8px!important;cursor:pointer;-webkit-user-select:none;user-select:none}.lgx-remember input{width:15px;height:15px;margin:0;accent-color:var(--lg-accent)}.lgx-error{padding:8px 10px;font-size:13px;color:#c0392b;background:#e5484d1f;border-left:3px solid #e5484d}.lgx-go{height:42px;border:0;border-radius:4px;font-size:14px;font-weight:600;color:#fff;cursor:pointer;background:var(--lg-btn);transition:filter .15s,transform .1s}.lgx-go:hover:not(:disabled){filter:brightness(1.12)}.lgx-go:active:not(:disabled){transform:translateY(1px)}.lgx-go:disabled{opacity:.55;cursor:default}.lgx-foot{position:relative;font-size:12px;color:var(--lg-foot)}.lgx-foot b{font-weight:600}.lgx{--lg-page: #12264a;--lg-ring: rgba(91,192,235,.32);--lg-card: var(--card, #fff);--lg-text: var(--text, #1d2330);--lg-muted: var(--muted, #6b7380);--lg-label: var(--text, #1d2330);--lg-input: var(--input-bg, #fff);--lg-line: var(--input-border, #c9ced6);--lg-accent: #e5484d;--lg-btn: #1f3a6b;--lg-foot: rgba(255,255,255,.6)}:root[data-theme=dark] .lgx{--lg-page: #0b1630;--lg-btn: #2d5aa6}.sl-page{display:flex;flex-direction:column;gap:12px}.sl-tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.sl-ok{padding:8px 12px;border-radius:6px;background:#34c75924;color:#34c759;font-size:13px}.sl-cats{display:flex;flex-wrap:wrap;gap:6px}.sl-cats .btn{display:inline-flex;align-items:center;gap:5px}.sl-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.sl-chip{padding:3px 10px;border-radius:6px;border:1px solid var(--line, #3a4150);font-size:12px;font-variant-numeric:tabular-nums}.sl-chip small{margin-left:8px;color:var(--muted, #8b93a1)}.sl-add{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.sl-add>b{flex-basis:100%}.sl-grow{flex:1;min-width:180px}.sl-form{display:flex;flex-direction:column;gap:12px;max-width:860px}.sl-form h3{margin:0 0 4px;font-size:15px}.sl-form p{margin:0 0 10px}.sl-days{display:flex;flex-wrap:wrap;gap:8px}.sl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:8px 0}.sl-grid.off{opacity:.45;pointer-events:none}.sl-allow{display:block}.sl-allow input{width:100%}.sl-save{display:flex;justify-content:flex-end}.sl-page select{padding:7px 8px;border-radius:6px;border:1px solid var(--line, #3a4150);background:transparent;color:inherit}.sl-web{display:block;margin-top:8px;max-width:460px}.sl-web select{width:100%}.sl-web small{display:block;margin-top:4px}.sl-dim{opacity:.45;pointer-events:none}.sl-test{margin-top:12px}.sl-veil{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:900;animation:slFade .15s ease}.sl-drawer{position:fixed;top:0;right:0;bottom:0;width:min(460px,100vw);z-index:901;display:flex;flex-direction:column;background:var(--card, #fff);color:var(--text, inherit);box-shadow:-6px 0 24px #00000059;animation:slIn .2s ease}@keyframes slIn{0%{transform:translate(40px);opacity:0}to{transform:none;opacity:1}}@keyframes slFade{0%{opacity:0}to{opacity:1}}.sl-dh{display:flex;align-items:center;gap:12px;padding:16px 18px;background:#0b1f3a;color:#fff;border-bottom:3px solid #4f8cff}.sl-dh.critical{border-bottom-color:#e63946}.sl-dh.warning{border-bottom-color:#f79009}.sl-dh.info{border-bottom-color:#34c759}.sl-dh div{flex:1;min-width:0}.sl-dh small{opacity:.7;text-transform:uppercase;letter-spacing:.06em;font-size:11px}.sl-dh h3{margin:2px 0 0;font-size:17px;overflow-wrap:anywhere}.sl-dico{width:38px;height:38px;border-radius:8px;background:#ffffff1f;display:grid;place-items:center}.sl-x{border:0;background:transparent;color:#fff;width:34px;height:34px;border-radius:6px;display:grid;place-items:center;cursor:pointer}.sl-x:hover{background:#ffffff26}.sl-db{flex:1;overflow:auto;padding:16px 18px;display:flex;flex-direction:column;gap:14px;align-items:flex-start}.sl-when{display:flex;flex-direction:column;gap:2px}.sl-when b{font-size:15px}.sl-when span{color:var(--muted, #8b93a1);font-size:12px}.sl-facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;width:100%;margin:0;background:var(--line, #3a4150);border:1px solid var(--line, #3a4150);border-radius:8px;overflow:hidden}.sl-facts div{background:var(--card, #fff);padding:9px 12px;min-width:0}.sl-facts dt{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted, #8b93a1)}.sl-facts dd{margin:3px 0 0;font-weight:600;overflow-wrap:anywhere}.sl-db section{width:100%}.sl-db h4{margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted, #8b93a1)}.sl-db pre{margin:0;padding:10px 12px;border-radius:8px;border:1px solid var(--line, #3a4150);background:#7f7f7f1a;font:12.5px/1.5 ui-monospace,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;overflow:auto}.sl-db pre.hot{border-color:#e63946;background:#e639461a}.sl-db p{margin:0;line-height:1.5;overflow-wrap:anywhere}.sl-df{display:flex;gap:8px;flex-wrap:wrap;padding:12px 18px;border-top:1px solid var(--line, #3a4150)}.sl-df .btn{display:inline-flex;align-items:center;gap:6px}.lgx-note{margin:0 0 12px;font-size:13px;line-height:1.5;color:inherit;opacity:.85}.lgx-back{margin-top:8px;width:100%;border:0;background:transparent;color:inherit;opacity:.75;cursor:pointer;padding:8px;border-radius:6px}.lgx-back:hover{opacity:1;text-decoration:underline}h1{font-size:1.4rem;margin:0}.muted{color:var(--muted)}.ok{color:var(--green);font-size:14px}.button{border:0;border-radius:8px;padding:8px 14px;font-weight:600;background:var(--blue);color:var(--gray-900);display:inline-block;cursor:pointer}.button:hover{background:var(--blue-dark);color:#fff}.button:disabled{opacity:.6;cursor:default}.btn:disabled{opacity:.6;cursor:default}.btn .material-symbols-outlined{font-size:18px;margin-right:4px}.split{display:grid;grid-template-columns:300px 1fr;gap:16px;align-items:start}.split-even{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}.card h2{margin:0 0 12px;font-size:1.05rem}.card h3{margin:16px 0 8px;font-size:.95rem}.form{max-width:460px;display:flex;flex-direction:column;gap:12px}.field{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}.field input{width:100%}.actions{display:flex;gap:8px;flex-wrap:wrap}.help ul{margin:0;padding-left:18px;display:grid;gap:8px;font-size:14px;color:var(--muted)}.notice{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px}.list{list-style:none;margin:0;padding:0}.list li{display:flex;align-items:center;gap:8px;padding:6px 4px;border-radius:6px}.list li.active{background:var(--hover)}.list .link{flex:1;text-align:left;background:none;border:0;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list .icon{background:none;border:0;color:var(--muted)}.badge{font-size:11px;padding:2px 8px;border-radius:10px;border:1px solid currentColor}.badge.done{color:var(--green)}.badge.processing{color:#b57800}.badge.failed{color:var(--red)}.player{width:100%;max-height:360px;background:#000;border-radius:8px}.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-top:14px}.stats .stat{padding:10px 12px;border-radius:10px;background:var(--th);box-shadow:none}.stat-value{display:block;font-size:1.2rem;font-weight:700}.stat-label{font-size:12px;color:var(--muted)}.chart{width:100%;height:auto}.chart .axis{stroke:var(--line)}.chart .line{fill:none;stroke:var(--blue-dark);stroke-width:2}.chart .tick{fill:var(--muted);font-size:10px}.cams{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.cams figure{margin:0;background:var(--gray-900);border-radius:12px;overflow:hidden;border-top:4px solid var(--green)}.cams img{width:100%;display:block;background:#000}.cams figcaption{padding:8px 12px;color:#fff;background:linear-gradient(90deg,var(--blue-dark),var(--gray-700));font-weight:600}.events{margin-top:16px}.events .list li{padding:8px 4px;border-bottom:1px solid var(--line)}.thumb{width:64px;height:36px;object-fit:cover;border-radius:4px}@media (max-width: 860px){.split,.split-even{grid-template-columns:1fr}}.subline{display:block;color:var(--muted);font-weight:400;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chips{display:inline-flex;flex-wrap:wrap;gap:4px}.chip{padding:1px 9px;border-radius:999px;background:var(--blue-soft);color:var(--blue-dark);font-size:12px;font-weight:600}.chip.off{opacity:.5;text-decoration:line-through}.chip.more{background:var(--th);color:var(--muted)}textarea{padding:8px 10px;border:1px solid var(--input-border);background:var(--input-bg);color:var(--text);border-radius:8px;font:inherit;width:100%;resize:vertical}.field.check span{display:flex;align-items:center;gap:8px}.class-table input[type=number]{width:80px}.class-table input:not([type]),.class-table input[type=text]{width:100%}.paste-box{display:grid;gap:8px;margin-top:10px;max-width:520px}.small{font-size:12.5px}.assign-layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:16px;align-items:start}.assign-cams{position:sticky;top:calc(var(--nav-h) + 12px);max-height:calc(100vh - var(--nav-h) - 36px);overflow-y:auto}.cam-list{list-style:none;margin:0;padding:0}.cam-list li{display:flex;align-items:center;gap:8px;padding:6px 4px;border-radius:8px}.cam-list li.active{background:var(--blue-soft)}.cam-list li .material-symbols-outlined{font-size:18px;color:var(--blue-dark)}.cam-name{flex:1;min-width:0;display:grid;text-align:left;background:none;border:0;color:var(--text);padding:2px 0}.cam-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.cam-name small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assign-title{margin:0 0 10px}.assign-title small{color:var(--muted);font-weight:400}.model-card{margin-bottom:12px}.model-card.on{border-left:4px solid var(--blue-dark)}.model-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;cursor:pointer}.class-picks{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 8px}.pick-class{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--input-border);border-radius:999px;cursor:pointer;font-size:13.5px}.pick-class.on{background:var(--blue-soft);border-color:var(--blue-dark);font-weight:600}.assign-opts{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:8px}.check-inline{display:inline-flex;align-items:center;gap:6px;font-size:13.5px}@media (max-width: 860px){.assign-layout{grid-template-columns:1fr}.assign-cams{position:static;max-height:320px}}.orig{display:inline-flex;align-items:center;gap:8px;color:var(--muted)}.link-btn{background:none;border:0;padding:0;color:var(--blue-dark);font-size:12.5px;text-decoration:underline}.lv-static{position:static;height:auto;margin:0 0 14px;padding:0}.det-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:14px}.det-grid .tile .screen{aspect-ratio:4 / 3}.det-frame{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;background:#000}.tile.hit{border-top-color:var(--red);box-shadow:0 0 0 2px var(--red)}.det-hud{position:absolute;top:10px;right:10px;z-index:2;display:flex;flex-direction:column;align-items:flex-end;gap:4px;max-width:calc(100% - 20px)}.det-chip{padding:3px 10px;border-radius:8px;background:#e63946eb;color:#fff;font-size:12.5px;font-weight:700}.det-events{margin-top:20px}@media (max-width: 520px){.det-grid{grid-template-columns:1fr}}.conf-preview{margin-bottom:12px;overflow:hidden}.conf-preview .tile .screen{aspect-ratio:16 / 9;max-height:340px;width:100%}.conf-state{font-size:13px;color:var(--muted)}.conf-state.ok{color:var(--green)}.conf-state.error{color:var(--red)}.conf-row{display:grid;grid-template-columns:minmax(90px,160px) minmax(120px,1fr) 52px minmax(0,190px);align-items:center;gap:12px;padding:8px 0;border-top:1px solid var(--line)}.conf-row.conf-all{border-top:0;background:var(--th);border-radius:8px;padding:8px 10px;margin:8px 0 4px}.conf-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conf-val{text-align:right;font-variant-numeric:tabular-nums}.conf-side{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:24px}.conf-row input[type=range]{width:100%;accent-color:var(--blue-dark);padding:0}@media (max-width: 700px){.conf-row{grid-template-columns:1fr 52px}.conf-row input[type=range]{grid-column:1 / -1;order:3}.conf-side{grid-column:1 / -1;order:4}}.fence-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px}.fence-stage{position:relative;line-height:0;background:#000;border-radius:10px;overflow:hidden;min-height:200px;-webkit-user-select:none;user-select:none;touch-action:none}.fence-stage img{width:100%;display:block}.fence-stage.drawing{cursor:crosshair;outline:2px dashed var(--blue)}.fence-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.fence-dot{position:absolute;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;border:2px solid #fff;padding:0;cursor:grab;box-shadow:0 0 0 1px #00000080;touch-action:none}.fence-dot.first{width:20px;height:20px;margin:-10px 0 0 -10px}.fence-dot:active{cursor:grabbing}.fence-label{position:absolute;transform:translate(6px,-130%);padding:1px 8px;border-radius:6px;color:#fff;font-size:12px;font-weight:700;line-height:1.5;pointer-events:none;white-space:nowrap}.fence-note{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#cfd8ea;font-size:14px;line-height:1.4;text-align:center;padding:16px;pointer-events:none}.fence-note.err{color:#ff8e97}.fence-row{display:grid;grid-template-columns:14px minmax(120px,1fr) 170px 200px auto auto auto;align-items:center;gap:10px;padding:8px 6px;border-top:1px solid var(--line);border-radius:8px}.fence-row.on{background:var(--blue-soft)}.swatch{width:12px;height:12px;border-radius:3px}@media (max-width: 1100px){.fence-row{grid-template-columns:14px 1fr 1fr}.fence-row select{grid-column:span 1}}.conv-note{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:8px;background:var(--blue-soft);color:var(--blue-dark);font-size:13px;margin:10px 0 0}.conv-note .material-symbols-outlined{font-size:18px}.row-btn.convert{color:#b57800}.row-btn.convert:hover{background:#fff2d6}.tag.high{background:#ffe3cc;color:#c24e00}.tag.low{background:var(--blue-soft);color:var(--blue-dark)}.lvl-legend{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13px;color:var(--muted)}.lvl-key b{padding:1px 8px;border-radius:10px;margin-right:4px;color:#fff}.lvl-key.critical b{background:var(--red)}.lvl-key.high b{background:#e8710a}.lvl-key.low b{background:var(--blue-dark)}.lvl-key.never b{background:#8a8f98}.lvl-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--line);flex-wrap:wrap}.lvl-row .conf-name{min-width:140px;font-weight:600}.lvl-all{border-top:0;background:var(--hover);padding:8px 10px;border-radius:8px;margin-bottom:4px}.lvl-seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.lvl-seg button{border:0;background:transparent;color:var(--muted);padding:6px 14px;font-size:13px;font-weight:600;border-left:1px solid var(--line)}.lvl-seg button:first-child{border-left:0}.lvl-seg button:hover{background:var(--hover);color:inherit}.lvl-seg button.on.critical{background:var(--red);color:#fff}.lvl-seg button.on.high{background:#e8710a;color:#fff}.lvl-seg button.on.low{background:var(--blue-dark);color:#fff}.lvl-seg button.on.never{background:#8a8f98;color:#fff}@media (max-width: 600px){.lvl-seg{width:100%}.lvl-seg button{flex:1;padding:6px 4px;font-size:12px}}.lvl-more{display:flex;align-items:center;gap:14px;flex-wrap:wrap;width:100%;font-size:13px;color:var(--muted)}.lvl-quiet{display:inline-flex;align-items:center;gap:6px}.lvl-quiet select{padding:4px 8px;border:1px solid var(--line);border-radius:6px;background:var(--card, transparent);color:inherit}.lvl-check{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.lvl-all .lvl-quiet{margin-left:auto}.va-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}.va-side{position:sticky;top:calc(var(--nav-h) + 12px);max-height:calc(100vh - var(--nav-h) - 36px);overflow-y:auto}.va-list{list-style:none;margin:0;padding:0}.va-list li button{display:flex;align-items:center;gap:10px;width:100%;padding:6px 8px;border:0;background:transparent;color:inherit;border-radius:8px;text-align:left}.va-list li button:hover{background:var(--hover)}.va-list li.active button{background:var(--blue-soft)}.va-ico{width:48px;height:30px;flex:none;border-radius:4px;object-fit:cover;display:grid;place-items:center;background:var(--hover);color:var(--muted)}.va-name{flex:1;min-width:0;font-weight:600;display:flex;flex-direction:column;overflow:hidden;text-overflow:ellipsis}.va-name small{font-weight:400;color:var(--muted);font-size:12px}.va-all{margin-left:auto}.va-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.va-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;padding:0;background:var(--card, transparent);color:inherit;text-align:left}.va-card:hover{border-color:var(--blue-dark)}.va-card img,.va-none{display:grid;place-items:center;width:100%;aspect-ratio:16 / 9;object-fit:cover;background:var(--hover);color:var(--muted)}.va-cap{display:flex;flex-direction:column;padding:8px 10px}.va-cap small{color:var(--muted)}.thumb-btn{border:0;padding:0;background:transparent;display:block}.lb{display:grid;gap:12px}.lb-img{width:100%;max-height:70vh;object-fit:contain;border-radius:8px;background:#000}.lb-none{padding:40px;text-align:center}.lb-info{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;font-size:14px}.lb-nav{display:flex;justify-content:space-between;align-items:center}@media (max-width: 860px){.va-layout{grid-template-columns:1fr}.va-side{position:static;max-height:360px;order:-1}}.page-head{justify-content:flex-end;gap:12px;flex-wrap:wrap}.as-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.as-head .assign-title{margin:0}.as-head .conf-state{margin-left:auto}.as-card{transition:border-color .15s}.as-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.as-title{display:flex;flex-direction:column;flex:1;min-width:0}.as-count{font-size:13px}.as-switch{position:relative;display:inline-block;width:42px;height:24px;flex:none;cursor:pointer}.as-switch input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;margin:0;cursor:pointer;z-index:1}.as-track{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;background:var(--line);transition:background .15s}.as-track:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 2px #0000004d}.as-switch input:checked+.as-track{background:var(--blue-dark)}.as-switch input:checked+.as-track:after{transform:translate(18px)}.as-switch input:focus-visible+.as-track{outline:2px solid var(--blue-dark);outline-offset:2px}.as-switch.disabled{opacity:.5;cursor:not-allowed}.as-classes{margin-top:12px}.as-bulk{display:flex;gap:14px;margin-bottom:8px;font-size:13px}.link-btn{border:0;background:transparent;padding:0;color:var(--blue-dark);font-weight:600;cursor:pointer}.link-btn:hover{text-decoration:underline}.as-copy{max-height:50vh;overflow-y:auto}.sp-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#050c1c00;transition:background .22s ease}.sp-backdrop.on{background:#050c1c73}.sp{position:absolute;top:0;right:0;bottom:0;width:min(480px,100%);display:flex;flex-direction:column;background:var(--card);color:var(--text);border-left:4px solid var(--blue);box-shadow:-12px 0 40px #00000059;transform:translate(100%);transition:transform .22s ease}.sp.on{transform:none}.sp-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}.sp-head h3{margin:0;padding:0;border:0;font-size:17px}.sp-body{flex:1;min-height:0;display:flex;flex-direction:column}.sp-body>form{display:flex;flex-direction:column;flex:1;min-height:0}.sp .modal-body{flex:1;overflow-y:auto}.sp .modal-foot{border-top:1px solid var(--line)}.sp .form-grid{grid-template-columns:1fr}@media (prefers-reduced-motion: reduce){.sp,.sp-backdrop{transition:none}}.dash{--surface: var(--card);--ink: var(--text);--ink-2: var(--muted);--s1: #2a78d6;--s2: #eb6834;--s3: #1baf7a;--s4: #eda100;--s5: #e87ba4;--s6: #008300;--s7: #6250d6;--s-other: #9aa3b2;--grid: var(--line);--accent: #2a78d6}:root[data-theme=dark] .dash{--s1: #3987e5;--s2: #d95926;--s3: #199e70;--s4: #c98500;--s5: #d55181;--s6: #008300;--s7: #9085e9;--s-other: #6b7383;--accent: #3987e5}.dc-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.dc-status{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--muted)}.dc-status.ok{color:var(--green)}.dc-status.bad{color:var(--red)}.dc-pulse{display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor;margin-left:6px;position:relative}.dc-status .dc-pulse{margin-left:0}.dc-pulse:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid currentColor;opacity:0;animation:dc-ping 1.8s ease-out infinite}@keyframes dc-ping{0%{transform:scale(.4);opacity:.7}to{transform:scale(1.4);opacity:0}}.dc-loading{display:flex;align-items:center;gap:10px;padding:40px;color:var(--muted);justify-content:center}.dc-spin{width:18px;height:18px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--accent);animation:dc-rot .8s linear infinite}@keyframes dc-rot{to{transform:rotate(360deg)}}.dc-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-bottom:16px}.dc-kpi{position:relative;overflow:hidden;display:flex;align-items:center;gap:14px;padding:18px;border-radius:14px;background:var(--card);box-shadow:var(--shadow-sm);border:1px solid var(--line);animation:dc-rise .5s ease both}.dc-kpi.t2{animation-delay:.06s}.dc-kpi.t3{animation-delay:.12s}.dc-kpi.t4{animation-delay:.18s}.dc-kpi:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--k, var(--s1))}.dc-kpi.t1{--k: var(--s1)}.dc-kpi.t2{--k: var(--s2)}.dc-kpi.t3{--k: var(--s3)}.dc-kpi.t4{--k: var(--s7)}.dc-kpi-ico{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;flex:none;color:var(--k);background:color-mix(in srgb,var(--k) 16%,transparent)}.dc-kpi-ico .material-symbols-outlined{font-size:26px}.dc-kpi-body{display:flex;flex-direction:column;min-width:0;z-index:1}.dc-kpi-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);display:flex;align-items:center}.dc-kpi-label .dc-pulse{color:var(--green)}.dc-kpi-num{font-size:34px;line-height:1.1;font-weight:800;font-variant-numeric:tabular-nums}.dc-kpi-sub{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:4px}.dc-delta{display:inline-flex;align-items:center;gap:2px;font-weight:700;color:var(--text)}.dc-delta .material-symbols-outlined{font-size:16px}.dc-spark{position:absolute;right:0;bottom:0;width:46%;height:52px;opacity:.9}.dc-spark-fill{fill:color-mix(in srgb,var(--k) 14%,transparent)}.dc-spark-line{fill:none;stroke:var(--k);stroke-width:2;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;animation:dc-draw 1.2s .3s ease forwards;stroke-linejoin:round}@keyframes dc-draw{to{stroke-dashoffset:0}}@keyframes dc-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.dc-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px 18px;box-shadow:var(--shadow-sm);margin-bottom:16px;min-width:0;animation:dc-rise .5s .1s ease both}.dc-card header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:12px}.dc-card h3{margin:0;padding:0;border:0;font-size:15px}.dc-card header small{color:var(--muted);font-size:12px}.dc-empty{display:flex;align-items:center;gap:10px;color:var(--muted)}.dc-row{display:grid;gap:16px}.dc-row.r-main{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.dc-row.r-3{grid-template-columns:repeat(3,minmax(0,1fr))}.dc-row .dc-card{margin-bottom:0}.dc-row{margin-bottom:16px}.dc-chart{display:grid;grid-template-columns:38px minmax(0,1fr);gap:6px}.dc-y{position:relative;height:220px;font-size:11px;color:var(--muted)}.dc-y span{position:absolute;right:0;transform:translateY(50%);font-variant-numeric:tabular-nums}.dc-plot{position:relative}.dc-grid{position:absolute;left:0;right:0;height:0;border-top:1px dashed var(--grid);pointer-events:none}.dc-plot:before{content:"";position:absolute;left:0;right:0;top:220px;border-top:1px solid var(--grid)}.dc-cols{display:flex;align-items:flex-end;gap:4px;height:220px;position:relative}.dc-col{flex:1;min-width:0;height:100%;display:flex;align-items:flex-end;cursor:default;border-radius:4px}.dc-col:hover{background:color-mix(in srgb,var(--accent) 9%,transparent)}.dc-stack{width:100%;display:flex;flex-direction:column-reverse;gap:2px;transform-origin:bottom;transform:scaleY(0);transition:transform .7s cubic-bezier(.2,.8,.2,1)}.in .dc-stack{transform:scaleY(1)}.dc-stack span{min-height:2px}.dc-stack span:last-child{border-radius:4px 4px 0 0}.dc-x{display:flex;gap:4px;margin-top:6px;font-size:11px;color:var(--muted)}.dc-x span{flex:1;min-width:0;text-align:center;white-space:nowrap;overflow:visible}.dc-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:12px;font-size:12px;color:var(--muted)}.dc-legend span,.dc-list li{display:inline-flex;align-items:center;gap:6px}.dc-legend i,.dc-list i,.dc-tip i{width:10px;height:10px;border-radius:3px;display:inline-block;flex:none}.dc-donut-wrap{position:relative;width:min(220px,100%);margin:0 auto 12px}.dc-donut{width:100%;display:block}.dc-donut-bg{fill:none;stroke:var(--grid);stroke-width:14;opacity:.5}.dc-slice{fill:none;stroke-width:14;transition:stroke-dasharray .9s cubic-bezier(.2,.8,.2,1);cursor:default}.dc-slice:hover{stroke-width:17}.dc-donut-mid{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.dc-donut-mid b{font-size:28px;font-weight:800;font-variant-numeric:tabular-nums}.dc-donut-mid span{font-size:12px;color:var(--muted)}.dc-list{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:13px}.dc-list li{display:grid;grid-template-columns:12px 1fr auto 40px;align-items:center;gap:8px}.dc-list small{color:var(--muted);text-align:right}.dc-tree{position:relative;width:100%;padding-top:46%;min-height:260px}.dc-tree>.dc-block{position:absolute;padding:2px;box-sizing:border-box;opacity:0;transform:scale(.94);transition:opacity .5s ease,transform .5s ease}.in .dc-tree>.dc-block{opacity:1;transform:none}.dc-block:before{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:10px;background:color-mix(in srgb,var(--c) 20%,var(--card));border:2px solid var(--c)}.dc-block:hover:before{background:color-mix(in srgb,var(--c) 30%,var(--card))}.dc-block-head{position:absolute;left:12px;top:8px;right:8px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:1;pointer-events:none}.dc-block-head b{font-weight:700;margin-right:4px}.dc-kid{position:absolute;padding:1.5px;box-sizing:border-box;z-index:1}.dc-kid:before{content:"";position:absolute;top:1.5px;right:1.5px;bottom:1.5px;left:1.5px;border-radius:6px;background:color-mix(in srgb,var(--c, var(--s1)) 42%,var(--card))}.dc-block .dc-kid:before{background:color-mix(in srgb,var(--c) 42%,var(--card))}.dc-kid:hover:before{background:color-mix(in srgb,var(--c) 60%,var(--card))}.dc-kid span{position:relative;display:flex;flex-direction:column;padding:4px 8px;font-size:12px;line-height:1.2;overflow:hidden;pointer-events:none}.dc-kid em{font-style:normal;font-weight:700}.dc-bars,.dc-sev{list-style:none;margin:0;padding:0;display:grid;gap:10px}.dc-bars li,.dc-sev li{display:grid;grid-template-columns:minmax(70px,34%) 1fr auto;align-items:center;gap:10px;font-size:13px}.dc-bar-name,.dc-sev-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:6px}.dc-sev-name .material-symbols-outlined{font-size:18px}.dc-bar-track{height:10px;border-radius:5px;background:color-mix(in srgb,var(--grid) 70%,transparent);overflow:hidden}.dc-bar-track span{display:block;height:100%;border-radius:5px;background:var(--s1);transition:width .9s cubic-bezier(.2,.8,.2,1)}.dc-sev li.critical .dc-bar-track span,.dc-sev li.critical .dc-sev-name .material-symbols-outlined{background:transparent;color:#e34948}.dc-sev li.critical .dc-bar-track span{background:#e34948}.dc-sev li.high .dc-bar-track span{background:#eb6834}.dc-sev li.high .dc-sev-name .material-symbols-outlined{color:#eb6834}.dc-sev li.low .dc-bar-track span{background:var(--s1)}.dc-sev li.low .dc-sev-name .material-symbols-outlined{color:var(--s1)}.dc-sev li.other .dc-bar-track span{background:var(--s-other)}.dc-link{margin-top:14px}.dc-hours{display:grid;grid-template-columns:repeat(24,1fr);gap:3px}.dc-hours span{height:46px;border-radius:4px;background:color-mix(in srgb,var(--s1) calc(var(--k) * 90% + 6%),transparent);transform:scaleY(0);transform-origin:bottom;transition:transform .5s ease}.in .dc-hours span{transform:none}.dc-hours span.peak{outline:2px solid var(--ink);outline-offset:1px}.dc-hours-x{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:6px}.dc-note{font-size:12px;margin:10px 0 0}.dc-recent{display:flex;gap:12px;overflow-x:auto;padding-bottom:4px}.dc-recent button{flex:none;width:200px;border:1px solid var(--line);border-radius:10px;overflow:hidden;padding:0;background:transparent;color:inherit;text-align:left;transition:transform .2s,border-color .2s}.dc-recent button:hover{transform:translateY(-3px);border-color:var(--accent)}.dc-recent img{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;background:var(--hover)}.dc-recent span{display:flex;flex-direction:column;padding:8px 10px}.dc-recent small{color:var(--muted)}.dc-tip{position:fixed;z-index:2000;pointer-events:none;min-width:150px;padding:8px 12px;border-radius:10px;background:var(--card);color:var(--text);border:1px solid var(--line);box-shadow:0 8px 24px #00000040;font-size:12px}.dc-tip b{display:block;margin-bottom:4px;font-size:13px}.dc-tip div{display:flex;align-items:center;gap:6px;line-height:1.7}.dc-tip div span{flex:1;color:var(--muted)}.dc-tip em{font-style:normal;font-weight:600;font-variant-numeric:tabular-nums}.dc-tip em.bold{font-weight:800}.dc-table{margin-bottom:16px;font-size:13px}.dc-table summary{cursor:pointer;color:var(--muted);padding:6px 0}.dc-table table{margin-top:8px;background:var(--card);border-radius:10px;overflow:hidden}@media (max-width: 1100px){.dc-row.r-main,.dc-row.r-3{grid-template-columns:1fr}}@media (max-width: 600px){.dc-tree{padding-top:110%}.dc-kpi-num{font-size:28px}}@media (prefers-reduced-motion: reduce){.dc-kpi,.dc-card{animation:none}.dc-stack,.dc-block,.dc-hours span,.dc-slice,.dc-bar-track span{transition:none}.dc-pulse:after,.dc-spark-line{animation:none}.dc-spark-line{stroke-dashoffset:0}}.mx-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.mx-bar .conf-state{margin-left:auto}.mx-sum{font-size:12px}.mx-wrap{padding:0;overflow-x:auto}.mx{border-collapse:separate;border-spacing:0;min-width:100%}.mx th,.mx td{white-space:normal;max-width:none}.mx .mx-cam{position:sticky;left:0;z-index:1;background:var(--card);min-width:170px;text-align:left}.mx thead th{background:var(--th);position:sticky;top:0;z-index:2;vertical-align:bottom}.mx thead .mx-cam{z-index:3;background:var(--th)}.mx tbody tr:hover .mx-cam{background:var(--hover)}.mx tbody tr.open .mx-cam,.mx tbody tr.open{background:var(--blue-soft)}.mx .mx-cam b,.mx .mx-cam small{display:block}.mx .mx-cam small{color:var(--muted);font-weight:400;font-size:11.5px;text-transform:none;letter-spacing:0}.mx-model{min-width:130px;text-align:center!important}.mx-model b{display:block;max-width:150px;margin:0 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);text-transform:none;letter-spacing:0;font-size:12.5px}.mx-model small{display:block;font-weight:400;text-transform:none;letter-spacing:0}.mx-bulk{display:flex;justify-content:center;gap:10px;margin-top:2px}.mx-bulk .link-btn{font-size:11.5px;text-transform:none;letter-spacing:0}.mx-cell{text-align:center}.mx-cell .as-switch{vertical-align:middle}.mx-n{display:block;color:var(--muted);font-size:11px;margin-top:2px}.mx-open{width:44px;text-align:center}.mx-detail>td{background:var(--bg);padding:12px 16px;border-bottom:1px solid var(--line)}.mx-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}.mx-card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px}.mx-card-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px}.mx-picks{max-height:180px;overflow-y:auto}.mx-find{margin-left:auto;height:26px;width:150px;font-size:12px}.btn.icon.read{background:#2f9e6b}.btn.icon.read:hover{background:#25805a}.btn{height:30px;padding:0 12px;font-size:12.5px;border-radius:7px;gap:5px}.btn .material-symbols-outlined{font-size:16px;margin-right:0}.btn.sm,.panel .btn.sm{height:24px;padding:0 9px;font-size:12px}.btn.icon,.dt-toolbar .btn.icon{width:28px;height:28px;padding:0;border-radius:7px}.btn.icon .material-symbols-outlined{font-size:17px}.dt-toolbar .btn{height:28px;font-size:12px}.dt-group{gap:6px}.row-btn{width:22px;height:22px;border-radius:6px}.row-btn .material-symbols-outlined{font-size:16px}.lvl-seg button{padding:4px 10px;font-size:12px}table th,table td{padding:7px 12px;font-size:12.5px}table th{font-size:11px;padding-top:7px;padding-bottom:7px}.tag{padding:1px 8px;font-size:11px}.chip{font-size:11.5px}.dt-foot,.dt-foot .pager{font-size:12px}.pager button{width:26px;height:26px}.thumb{width:52px;height:30px}.mx thead th,.mx thead th small{color:var(--muted)}.mx thead th .mx-bulk .link-btn{color:var(--blue-dark)}:root[data-theme=dark] .mx thead th .mx-bulk .link-btn{color:var(--blue)}.lb-faulty{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 12px;border-radius:10px;border:1px dashed var(--line);font-size:13px}.lb-faulty.on{border-style:solid;border-color:#eda100;background:color-mix(in srgb,#eda100 12%,transparent)}.lb-faulty>span{display:inline-flex;align-items:center;gap:6px;flex:1;min-width:200px}.lb-faulty .btn{flex:none}.lb-note{flex-basis:100%;color:var(--green);font-weight:600}.lb-help{display:flex;gap:12px;align-items:flex-start}.lb-help p{margin:0}.lb-help .material-symbols-outlined{color:var(--blue-dark)}.field.check{flex-direction:row;align-items:center;justify-content:flex-start;margin-bottom:4px}.field.check span{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:500;color:var(--text);cursor:pointer}.field.check input[type=checkbox],.field input[type=checkbox]{width:16px;height:16px;min-width:16px;margin:0;padding:0;flex:none;accent-color:var(--blue-dark);cursor:pointer}.pf{max-width:720px;margin:0 auto}.pf-card{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-md);overflow:hidden}.pf-banner{height:110px;background:linear-gradient(120deg,var(--gray-700),var(--blue-dark) 60%,var(--blue))}.pf-head{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap;padding:0 24px 18px;margin-top:-44px}.pf-avatar{width:92px;height:92px;border-radius:50%;border:4px solid var(--card);background:var(--blue);color:var(--gray-900);display:grid;place-items:center;font-size:32px;font-weight:800;flex:none;box-shadow:var(--shadow-sm)}.pf-who{flex:1;min-width:180px;display:flex;flex-direction:column;gap:2px;padding-top:48px}.pf-who h2{margin:0;font-size:22px}.pf-sub{color:var(--muted);font-size:13px}.pf-role{display:inline-flex;align-items:center;gap:4px;margin-top:4px;width:fit-content;padding:2px 10px;border-radius:12px;background:var(--blue-soft);color:var(--blue-dark);font-size:12px;font-weight:700}.pf-role .material-symbols-outlined{font-size:15px}:root[data-theme=dark] .pf-role{color:var(--blue)}.pf-actions{display:flex;gap:8px;flex-wrap:wrap;padding-top:48px}.pf-msg{margin:0 24px 12px}.pf-list{margin:0;padding:4px 24px 20px;border-top:1px solid var(--line)}.pf-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.pf-row:last-child{border-bottom:0}.pf-row dt{display:flex;align-items:center;gap:8px;color:var(--muted)}.pf-row dt .material-symbols-outlined{font-size:19px}.pf-row dd{margin:0;font-weight:600;text-align:right;overflow-wrap:anywhere}.pf-tag{margin-left:8px}.pf-form{padding:16px 24px 22px;border-top:1px solid var(--line)}.pf-form-actions{display:flex;justify-content:flex-end;gap:8px}@media (max-width: 600px){.pf-head{justify-content:center;text-align:center}.pf-who{align-items:center;padding-top:0}.pf-actions{padding-top:0;justify-content:center}}.pw-force{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:8px;margin-bottom:12px;background:color-mix(in srgb,#eda100 14%,transparent);border:1px solid #eda100;font-size:13px;font-weight:600}.pw-show{margin:0 0 8px}.pw-rules{list-style:none;margin:0;padding:10px 12px;border-radius:8px;background:var(--th);display:grid;gap:4px;font-size:12.5px;color:var(--muted)}.pw-rules li{display:flex;align-items:center;gap:6px}.pw-rules li .material-symbols-outlined{font-size:16px}.pw-rules li.met{color:var(--green)}.tag.sev-critical{background:var(--red-soft);color:var(--red)}.tag.sev-high{background:#ffe3cc;color:#c24e00}.tag.sev-medium{background:#fff2d6;color:#b57800}.tag.sev-low{background:var(--blue-soft);color:var(--blue-dark)}.tag.sev-info{background:var(--th);color:var(--muted)}.tag.st-open{background:var(--red-soft);color:var(--red)}.tag.st-investigating{background:#fff2d6;color:#b57800}.tag.st-resolved{background:#3fb67a2e;color:#23895a}.tag.st-false_positive{background:var(--th);color:var(--muted)}.tag.medium{background:#fff2d6;color:#b57800}:root[data-theme=dark] .tag.sev-low,:root[data-theme=dark] .tag.low{color:var(--blue)}:root[data-theme=dark] .tag.sev-high,:root[data-theme=dark] .tag.high{background:#4a2a13;color:#ffb27a}:root[data-theme=dark] .tag.sev-medium,:root[data-theme=dark] .tag.st-investigating,:root[data-theme=dark] .tag.medium{background:#43350d;color:#f0c04a}:root[data-theme=dark] .tag.st-resolved{color:#5fd29b}.nowrap{white-space:nowrap}.sc-gap{margin-left:6px}.sc .dc-row.r-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sc-live{display:inline-flex;align-items:center;gap:14px;flex-wrap:wrap}.sc-note{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;background:var(--blue-soft);color:var(--blue-dark);font-size:13px;margin-bottom:12px}.sc-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin-bottom:16px}.sc-card{padding:14px 16px}.sc-card .dc-kpi-num{font-size:28px}.sc-card .dc-kpi-label{font-size:11px}.sc-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.sc-list li>button,.sc-row{display:flex;align-items:center;gap:10px;width:100%;padding:7px 8px;border:0;background:transparent;color:inherit;border-radius:8px;text-align:left;font-size:13px}.sc-list li>button:hover{background:var(--hover)}.sc-main{flex:1;min-width:0;display:flex;flex-direction:column}.sc-main b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sc-main small,.sc-when{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sc-mini{width:100%;font-size:12.5px}.sc-mini td,.sc-mini th{padding:6px 8px;max-width:320px}.sc-mini th{background:transparent}.sc-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}.sc-filters input,.sc-filters select{height:30px;font-size:12.5px}.sc-small{width:130px}.sc-table{padding:0}.sc-scroll{overflow-x:auto}.sc-hint{font-size:12px}.sc-wrap{white-space:normal;min-width:220px}.sc-clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sc-inline{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}.sc-check{display:flex;margin:6px 0}.sc-savebar{position:sticky;top:calc(var(--nav-h, 56px) + 6px);z-index:5;display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-bottom:12px}.sc-num{width:80px}.sc-actions{white-space:nowrap}.sc-actions .btn+.btn,.sc-actions .btn+small{margin-left:6px}tr.clickable{cursor:pointer}.sc table code{font-size:12px}.rp{display:inline-flex;align-items:center;gap:12px;flex-wrap:wrap}.rp-dates{display:inline-flex;gap:10px;flex-wrap:wrap;font-size:12.5px;color:var(--muted)}.rp-dates input{height:30px;font-size:12.5px;margin-left:4px}.donut-box{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:center}.donut-box .dc-list{flex:1;min-width:150px}.bars{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);gap:6px}.bars-y{position:relative;height:var(--h);font-size:11px;color:var(--muted)}.bars-y span{position:absolute;right:0;transform:translateY(50%)}.bars-plot{position:relative}.bars-plot:before{content:"";position:absolute;left:0;right:0;top:var(--h);border-top:1px solid var(--grid)}.bars-cols{display:flex;align-items:flex-end;gap:3px;height:var(--h);position:relative}.bars-col{flex:1;min-width:0;height:100%;display:flex;align-items:flex-end;border-radius:4px}.bars-col:hover{background:color-mix(in srgb,var(--accent) 9%,transparent)}.bars-stack{width:100%;display:flex;flex-direction:column-reverse;gap:2px;transform-origin:bottom;animation:bars-in .6s cubic-bezier(.2,.8,.2,1) both}.bars-stack span{min-height:2px}.bars-stack span:last-child{border-radius:3px 3px 0 0}@keyframes bars-in{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.bars-x{display:flex;gap:3px;margin-top:6px;font-size:11px;color:var(--muted)}.bars-x span{flex:1;min-width:0;text-align:center;white-space:nowrap;overflow:visible}.bars>.dc-legend{grid-column:1 / -1}.ev-detail dl,dl.ev-detail{margin:0}.ev-row{display:grid;grid-template-columns:120px 1fr;gap:10px;padding:7px 0;border-bottom:1px solid var(--line);font-size:13px}.ev-row dt{color:var(--muted)}.ev-row dd{margin:0;overflow-wrap:anywhere}.ev-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.ev-code{display:block;margin:0;padding:6px 8px;border-radius:6px;background:var(--th);font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.inc h4{margin:18px 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.inc-sum{margin:4px 0 10px;font-weight:600}.inc-reco{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:8px;background:var(--blue-soft);color:var(--text);font-size:13px;margin-top:10px}.inc-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:8px}.inc-assign{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted)}.inc-assign select{height:28px;font-size:12.5px}.inc-notes{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:6px}.inc-notes li{display:flex;flex-direction:column;padding:8px 10px;border-radius:8px;background:var(--th);font-size:13px;overflow-wrap:anywhere}.inc-notes li small{color:var(--muted);font-size:11.5px}.inc-notes li.note{border-left:3px solid var(--blue)}.inc-note-form{display:grid;gap:6px;justify-items:end}.inc-note-form textarea{width:100%}.tl-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;align-items:start}.tl-side{position:sticky;top:calc(var(--nav-h, 56px) + 12px);max-height:calc(100vh - 100px);overflow-y:auto}.tl-side .dt-search{margin-bottom:10px}.tl-head{display:grid;gap:14px}.tl-id{display:flex;align-items:center;gap:14px}.tl-id h3{margin:0;padding:0;border:0}.tl-avatar{width:56px;height:56px;font-size:22px;margin:0}.tl-dates{display:block}.tl-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}.tl-tile{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;border-radius:10px;background:var(--th);text-align:center}.tl-tile b{font-size:20px}.tl-tile small{color:var(--muted);font-size:11.5px}.tl-tile.warn{background:color-mix(in srgb,#eda100 16%,transparent)}.tl-groups{margin-bottom:12px;flex-wrap:wrap}.tl{list-style:none;margin:0;padding:0 0 0 8px;position:relative}.tl:before{content:"";position:absolute;left:22px;top:8px;bottom:8px;border-left:2px solid var(--line)}.tl li{display:flex;gap:14px;padding:8px 0;position:relative}.tl-dot{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--card);border:2px solid var(--line);z-index:1}.tl-dot .material-symbols-outlined{font-size:17px}.tl li.sev-critical .tl-dot,.tl li.sev-high .tl-dot{border-color:#e34948;color:#e34948}.tl li.sev-medium .tl-dot{border-color:#eda100;color:#b57800}.tl-body{min-width:0;flex:1}.tl-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tl-detail{font-size:13px;overflow-wrap:anywhere}.posture{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:8px}.posture li{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:10px;background:var(--th);font-size:13px}.posture li span{display:flex;flex-direction:column}.posture li small{color:var(--muted);font-size:12px}.posture li.ok .material-symbols-outlined{color:var(--green)}.posture li.warn .material-symbols-outlined{color:#eda100}.posture li.bad .material-symbols-outlined{color:var(--red)}.cfg .field{margin-bottom:10px}.cfg .field input[type=number],.cfg .field select{max-width:260px}.cfg .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rules td,.rules th{vertical-align:middle}.rules select,.rules input{height:28px;font-size:12.5px}.um-sum{margin:0 0 10px;font-size:13px}.um-ok{font-size:16px;color:var(--green);vertical-align:middle;margin-left:4px}.row-btn.unlock{color:#23895a}.lic-head{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center}.lic-head h3{margin:6px 0 2px;padding:0;border:0;font-size:20px}.lic-key{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.lic-key code{padding:6px 10px;border-radius:8px;background:var(--th);font-size:14px;letter-spacing:.04em}.lic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.lic-item{padding:12px 14px;border-radius:12px;background:var(--th);display:grid;gap:6px}.lic-item b{font-size:22px}.lic-item b small{color:var(--muted);font-size:13px;font-weight:500}.lic-top{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12.5px}.lic-top .material-symbols-outlined{font-size:18px}.lic-item.near .dc-bar-track span{background:#eda100}.lic-item.full .dc-bar-track span{background:#e34948}.lic-h{margin:14px 0 6px;font-size:13px}.dash .dc-row{margin-bottom:16px}@media (max-width: 1100px){.sc .dc-row.r-2,.cfg .form-grid,.tl-layout{grid-template-columns:1fr}.tl-side{position:static;max-height:260px}.lic-head{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.bars-stack{animation:none}}.api-code{margin:12px 0;border:1px solid var(--border);border-radius:8px;overflow:hidden}.api-code-head{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:var(--th);font-size:12px;font-weight:600}.api-code pre{margin:0;padding:12px;overflow-x:auto;font-size:12.5px;line-height:1.5;background:var(--card);color:var(--text)}.api-fresh{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0}.api-fresh code{padding:6px 10px;border-radius:8px;background:var(--th);word-break:break-all}
