@font-face{font-family:Barlow;font-style:normal;font-weight:500;font-display:swap;src:url(../media/742f0fcf9aa5cfe6-s.1x39li9dshdhc.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b524e3bdcc8dfcd3-s.1qsgyx-tuq4mu.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Barlow;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a083361d37caf3d1-s.p.0s4utfvp8prsy.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b221c6d9681431a7-s.3f7g1nki62hoj.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-weight:600;font-display:swap;src:url(../media/af7efeee822b8a1b-s.3sup9rdq9grs5.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Barlow;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6c98c9fb873995d2-s.p.22ggkaf3lyu8c.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-weight:700;font-display:swap;src:url(../media/f1c5314e24238cfd-s.22gtx64q2ss2-.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-weight:700;font-display:swap;src:url(../media/7993b8d2abb72fea-s.3os00td4x4cmq.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Barlow;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0595f7052377a1a2-s.p.2lpos000q_nzo.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-weight:800;font-display:swap;src:url(../media/1dcc2d65ae47f153-s.0681r9lc3vypj.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-weight:800;font-display:swap;src:url(../media/6889cd8b8d2a316f-s.1xk9tz8z27zxu.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Barlow;font-style:normal;font-weight:800;font-display:swap;src:url(../media/efe66f9dab7e6ce7-s.p.1hhkevm56nbhg.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Fallback;src:local(Arial);ascent-override:103.43%;descent-override:20.69%;line-gap-override:0.0%;size-adjust:96.68%}.barlow_9f1b0d40-module__xZ7yga__className{font-family:Barlow,Barlow Fallback;font-style:normal}.barlow_9f1b0d40-module__xZ7yga__variable{--font-barlow:"Barlow", "Barlow Fallback"}
@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a342834df7752944-s.3hd2l7bm32o7k.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.1l2zhvq5eocqf.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.2vhvl9vrvk-va.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.173xwsdme27n8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.13hnt-xgp82zk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.1sj6eobyi31rd.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a342834df7752944-s.3hd2l7bm32o7k.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.1l2zhvq5eocqf.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.2vhvl9vrvk-va.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.173xwsdme27n8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.13hnt-xgp82zk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.1sj6eobyi31rd.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/a342834df7752944-s.3hd2l7bm32o7k.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.1l2zhvq5eocqf.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.2vhvl9vrvk-va.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.173xwsdme27n8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.13hnt-xgp82zk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.1sj6eobyi31rd.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(../media/a342834df7752944-s.3hd2l7bm32o7k.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.1l2zhvq5eocqf.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.2vhvl9vrvk-va.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.173xwsdme27n8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.13hnt-xgp82zk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.1sj6eobyi31rd.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Fallback;src:local(Arial);ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.0%;size-adjust:103.19%}.manrope_9d913e-module__l9GTqq__className{font-family:Manrope,Manrope Fallback;font-style:normal}.manrope_9d913e-module__l9GTqq__variable{--font-manrope:"Manrope", "Manrope Fallback"}
:root{--font-display:var(--font-barlow), system-ui, sans-serif;--font-body:var(--font-manrope), system-ui, -apple-system, sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;--navy:#0b2141;--navy-soft:#163a6e;--red:#e0301e;--ink:#16202e;--muted:#5c6b7f;--faint:#8b96a5;--bg:#f4f6f9;--surface:#fff;--line:#e3e8ef;--line-soft:#edf1f6;--link:#2457d1;--focus:#3b76e0;--sel:#e9f0fc;--ok-bg:#ddf3e6;--ok-fg:#156b3f;--warn-bg:#fcf0d4;--warn-fg:#8a5b0b;--bad-bg:#fbe3e1;--bad-fg:#a82416;--info-bg:#e3ebfa;--info-fg:#274f9e}*{box-sizing:border-box}body{font-family:var(--font-body);color:var(--ink);background:var(--bg);margin:0}a{color:var(--link)}.gps-id{font-family:var(--font-mono);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:.94em}.shell{min-height:100vh;display:flex}.sidebar{--sidebar-w:68px;z-index:20;height:100vh;width:var(--sidebar-w);background:var(--navy);color:#e5e7eb;flex-direction:column;flex:none;align-self:flex-start;gap:.15rem;padding:.9rem .6rem;transition:width .18s;display:flex;position:sticky;top:0}.sidebar.expanded{--sidebar-w:220px}.sidebar .spacer{flex:1}.sidebar-brand{align-items:center;gap:.6rem;padding:.3rem .45rem .9rem;display:flex}.sidebar-brand img{object-fit:contain;background:#fff;border-radius:6px;flex:none;width:30px;height:30px}.sidebar-brand-name{font-family:var(--font-barlow), inherit;letter-spacing:.08em;color:#fff;font-size:.95rem;font-weight:800}.sidebar:not(.expanded) .sidebar-brand-name{display:none}.sidebar-nav{flex-direction:column;gap:.15rem;display:flex}.nav-item{color:#b9c6da;white-space:nowrap;border-radius:8px;align-items:center;gap:.7rem;padding:.55rem .62rem;font-size:.9rem;line-height:1.2;text-decoration:none;display:flex;position:relative}.nav-item:hover{color:#fff;background:#ffffff14}.nav-item.active{color:#fff;box-shadow:inset 3px 0 0 var(--red);background:#ffffff1a}.nav-item:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.nav-icon{flex:none;width:21px;height:21px}button.nav-action{color:#cbd5e1;width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;margin:0;font-size:.9rem}.sidebar-toggle{border-top:1px solid #ffffff1f;border-radius:0 0 8px 8px;margin-top:.15rem}.sidebar-user{align-items:center;gap:.7rem;padding:.5rem .62rem;display:flex;position:relative}.sidebar-user-avatar{background:var(--navy-soft);color:#e5e7eb;border-radius:50%;flex:none;justify-content:center;align-items:center;width:26px;height:26px;font-size:.78rem;font-weight:700;display:flex}.sidebar-user-info{color:#8fa3c0;word-break:break-all;font-size:.75rem}.sidebar:not(.expanded) .nav-label{border:1px solid var(--navy-soft);background:var(--navy);color:#fff;white-space:nowrap;opacity:0;pointer-events:none;border-radius:8px;padding:.35rem .6rem;font-size:.8rem;transition:opacity .12s,transform .12s;position:absolute;top:50%;left:calc(100% + 12px);transform:translateY(-50%)translate(-4px);box-shadow:0 8px 20px #00000059}.sidebar:not(.expanded) .nav-item:hover .nav-label,.sidebar:not(.expanded) .nav-item:focus-visible .nav-label,.sidebar:not(.expanded) .sidebar-user:hover .nav-label{opacity:1;transform:translateY(-50%)translate(0)}@media (prefers-reduced-motion:reduce){.sidebar,.sidebar:not(.expanded) .nav-label{transition:none}}.content{flex:1;max-width:1100px;padding:1.5rem 2rem}.content h1{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);margin:0 0 1.1rem;font-size:1.45rem;font-weight:700}.section-title{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:1.4rem 0 .6rem;font-size:.76rem;font-weight:700}.toolbar{flex-wrap:wrap;gap:.6rem;margin-bottom:1rem;display:flex}.toolbar input,.toolbar select{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:.45rem .6rem;font-family:inherit;font-size:.9rem}.toolbar input{min-width:240px}.shell input:focus-visible,.shell select:focus-visible,.shell textarea:focus-visible{outline:2px solid var(--focus);outline-offset:1px}table.data{border-collapse:collapse;background:var(--surface);border:1px solid var(--line);font-variant-numeric:tabular-nums;border-radius:10px;width:100%;font-size:.9rem;overflow:hidden}table.data th{text-align:left;border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:#f8fafc;padding:.55rem .75rem;font-size:.72rem;font-weight:700}table.data td{border-bottom:1px solid var(--line-soft);padding:.55rem .75rem}table.data tr:last-child td{border-bottom:none}table.data tbody tr:hover td{background:#f8fafc}.badge{letter-spacing:.02em;border-radius:999px;padding:.16rem .55rem;font-size:.72rem;font-weight:700;display:inline-block}.badge.draft{background:var(--line-soft);color:#475467}.badge.active{background:var(--ok-bg);color:var(--ok-fg)}.badge.suspended{background:var(--warn-bg);color:var(--warn-fg)}.badge.retired{background:var(--bad-bg);color:var(--bad-fg)}.badge.pending{background:var(--info-bg);color:var(--info-fg)}.badge.synced{background:var(--ok-bg);color:var(--ok-fg)}.badge.error{background:var(--bad-bg);color:var(--bad-fg)}button.primary{background:var(--navy);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.5rem .95rem;font-family:inherit;font-size:.9rem;font-weight:600;transition:background .12s}button.primary:hover{background:var(--navy-soft)}button.primary:focus-visible{outline:2px solid var(--focus);outline-offset:2px}button.small{border:1px solid var(--line);background:var(--surface);cursor:pointer;color:var(--ink);border-radius:8px;margin-right:.3rem;padding:.25rem .6rem;font-family:inherit;font-size:.78rem}button.small:hover{background:var(--line-soft)}button.small:focus-visible{outline:2px solid var(--focus);outline-offset:1px}button:disabled{opacity:.5;cursor:not-allowed}.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;margin-bottom:1rem;padding:1rem 1.25rem}.panel form{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end;gap:.7rem;display:grid}.panel label{color:#374151;gap:.25rem;font-size:.82rem;display:grid}.panel input,.panel select{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:.45rem .6rem;font-family:inherit;font-size:.9rem}.combo,.combo-field{position:relative}.combo-field input{width:100%;padding-right:1.9rem}.combo-clear{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:22px;height:22px;font-size:.78rem;line-height:1;display:flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.combo-clear:hover{color:#111827;background:#f3f4f6}.combo-clear:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.combo-list{z-index:40;background:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;max-height:260px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 2px);left:0;overflow-y:auto;box-shadow:0 8px 24px #0f172a24}.combo-option{color:#111827;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:4px;padding:.4rem .55rem;font-size:.88rem;overflow:hidden}.combo-option.active{background:var(--sel)}.combo-option[aria-selected=true]{font-weight:600}.combo-empty{color:#6b7280;padding:.5rem .55rem;font-size:.85rem}.error-text{color:var(--bad-fg);font-size:.85rem}.empty{text-align:center;color:var(--muted);background:var(--surface);border:1px dashed var(--line);border-radius:10px;padding:2rem}.pager{gap:.5rem;margin-top:.8rem;display:flex}.cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.9rem;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:1rem}.card .num{font-family:var(--font-display);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:1.7rem;font-weight:700}.card .num.ok{color:var(--ok-fg)}.card .num.warn{color:var(--warn-fg)}.card .num.bad{color:var(--bad-fg)}.card .lbl{color:var(--muted);margin-top:.1rem;font-size:.8rem}.tabs{border-bottom:2px solid var(--line);gap:.25rem;margin-bottom:1.25rem;display:flex}.tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;margin-bottom:-2px;padding:.6rem 1rem;font-family:inherit;font-size:.95rem;font-weight:600}.tab:hover{color:var(--ink)}.tab.active{color:var(--ink);border-bottom-color:var(--red)}.tab:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.tab-actions{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.9rem;display:flex}.counter{color:#6b7280;font-size:.85rem;font-weight:600}a.primary{text-decoration:none;display:inline-block}.muted-text{color:var(--faint);font-size:.82rem}.cell-avatar{align-items:center;gap:.55rem;display:flex}.avatar{background:var(--navy);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:30px;height:30px;font-size:.78rem;font-weight:700;display:flex}.modal-overlay{z-index:50;background:#0b214180;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:14px;flex-direction:column;width:100%;max-width:820px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #0b214159}.modal-md{max-width:720px}.modal-lg{max-width:820px}.modal-head{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.modal-head h2{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:1.15rem;font-weight:700}.modal-x{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:6px;width:32px;height:32px;font-size:1.1rem}.modal-x:hover{color:#111827;background:#f3f4f6}.modal-body{flex:auto;padding:1.25rem;overflow-y:auto}.modal-foot{background:#f9fafb;border-top:1px solid #e5e7eb;flex:none;justify-content:flex-end;align-items:center;gap:.6rem;padding:.9rem 1.25rem;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:.85rem 1.1rem;display:grid}.form-grid label{color:#374151;gap:.3rem;font-size:.82rem;display:grid}.form-grid input,.form-grid select{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:.5rem .6rem;font-family:inherit;font-size:.9rem}.form-grid input:disabled{color:#6b7280;background:#f3f4f6}.form-grid .checkbox-row{flex-direction:row;grid-column:1/-1;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.form-grid .checkbox-row input{width:auto}.form-grid .full{grid-column:1/-1}.sync-conn{margin-top:.2rem}.form-grid .form-section{color:#374151;border-top:1px solid #e5e7eb;grid-column:1/-1;margin-top:.15rem;padding-top:.7rem;font-size:.8rem;font-weight:700}.field-with-btn{align-items:stretch;gap:.4rem;display:flex}.field-with-btn select{flex:1;min-width:0}.field-with-btn button{white-space:nowrap;flex:none}.form-grid .checkbox-box{cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-direction:row;grid-column:1/-1;align-items:center;gap:.55rem;padding:.7rem .85rem;font-size:.9rem;display:flex}.form-grid .checkbox-box input{width:16px;height:16px}.pw-wrap{display:block;position:relative}.pw-wrap input{box-sizing:border-box;width:100%;padding-right:62px}.pw-toggle{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:0 .5rem;font-size:.8rem;font-weight:700;position:absolute;top:4px;bottom:4px;right:4px}.pw-toggle:hover{color:#111827;background:#eef1f5}.panel-title{margin:0 0 .9rem;font-size:1rem}table.matrix th,table.matrix td{text-align:center}table.matrix th:first-child,table.matrix td:first-child{text-align:left}table.matrix input[type=checkbox]{cursor:pointer;width:16px;height:16px}table.matrix input:disabled{cursor:not-allowed;opacity:.4}.group-general .field{color:#374151;gap:.3rem;max-width:480px;font-size:.82rem;display:grid}.group-general .field input{border:1px solid #d1d5db;border-radius:6px;padding:.5rem .6rem;font-family:inherit;font-size:.9rem}.group-general .inline-check{color:#374151;cursor:pointer;align-items:center;gap:.5rem;margin-top:.75rem;font-size:.9rem;display:inline-flex}.group-general .inline-check input{width:16px;height:16px}.group-name{align-items:center;gap:.4rem;display:inline-flex}.group-branch{color:#9ca3af;font-weight:400}.group-sub-tag{text-transform:uppercase;letter-spacing:.04em;color:#6b7280;background:#eef2f7;border-radius:4px;padding:.05rem .35rem;font-size:.68rem}.row-actions{gap:.4rem;display:flex}.action-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.3rem .7rem;font-family:inherit;font-size:.78rem;font-weight:600;line-height:1.2}.action-btn:hover{background:#f3f4f6}.action-btn:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.action-btn.neutral:hover{border-color:#9ca3af}.action-btn.warn{color:#92400e;border-color:#f59e0b}.action-btn.warn:hover{background:#fef3c7}.action-btn.danger{color:#b91c1c;border-color:#ef4444}.action-btn.danger:hover{background:#fee2e2}.assign-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.device-panel{background:#fbfcfd;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:.5rem;padding:.8rem;display:flex}.device-panel-head{align-items:center;gap:.5rem;display:flex}.device-search{border:1px solid #d1d5db;border-radius:6px;padding:.4rem .55rem;font-size:.85rem}.select-all{color:#6b7280;align-items:center;gap:.45rem;font-size:.8rem;display:flex}.device-list{background:#fff;border:1px solid #e5e7eb;border-radius:6px;height:260px;overflow-y:auto}.device-row{cursor:pointer;border-bottom:1px solid #f1f5f9;align-items:center;gap:.55rem;padding:.4rem .55rem;font-size:.85rem;display:flex}.device-row:hover{background:#f8fafc}.form-footer{justify-content:flex-end;align-items:center;gap:.6rem;margin-top:1.25rem;display:flex}@media (max-width:720px){.form-grid,.assign-grid{grid-template-columns:1fr}}.content:has(.map-view){min-width:0;max-width:none;padding:0}.map-view{--monitor-panel-h:260px;--monitor-head-h:30px;flex-direction:column;height:100vh;display:flex;position:relative}.map-view.resizing{-webkit-user-select:none;user-select:none;cursor:row-resize}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.map-top{flex:auto;min-height:0;display:flex;position:relative;overflow:hidden}.map-canvas{background:#e5e7eb;flex:auto;min-width:0;min-height:0}.monitor-resizer{cursor:row-resize;touch-action:none;background:#f1f5f9;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;flex:none;justify-content:center;align-items:center;height:10px;display:flex}.monitor-resizer:hover{background:#e2e8f0}.monitor-resizer:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.monitor-resizer span{background:#94a3b8;border-radius:999px;width:42px;height:3px}.monitor-resizer:hover span{background:#64748b}.monitor-panel{flex:0 0 var(--monitor-panel-h);height:var(--monitor-panel-h);background:#fff;flex-direction:column;display:flex;overflow:hidden}.monitor-scroll{flex:auto;overflow:auto}table.monitor{border-collapse:separate;border-spacing:0;white-space:nowrap;min-width:1700px;font-size:.8rem}table.monitor th,table.monitor td{text-align:left;border-bottom:1px solid #f1f5f9;border-right:1px solid #f1f5f9;padding:.35rem .6rem}table.monitor{font-variant-numeric:tabular-nums}table.monitor thead th{z-index:2;height:var(--monitor-head-h);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--line);background:#f8fafc;font-size:.68rem;font-weight:700;position:sticky;top:0}table.monitor thead tr.filters th{top:var(--monitor-head-h);z-index:1;background:#fff;padding:.2rem .3rem}table.monitor thead tr.filters input{box-sizing:border-box;border:1px solid #d1d5db;border-radius:4px;width:100%;min-width:90px;padding:.2rem .35rem;font-size:.75rem}table.monitor tbody tr{cursor:pointer}table.monitor tbody tr:hover td{background:#f8fafc}table.monitor tbody tr.selected td{background:var(--sel)}table.monitor td.muted{color:#9ca3af}table.monitor td.gps-id{font-variant-numeric:tabular-nums}table.monitor th.cmd-col,table.monitor td.cmd-col{text-align:center;width:34px;padding-left:.3rem;padding-right:.3rem}.cmd-btn{border:1px solid var(--line);background:var(--surface);width:26px;height:26px;color:var(--navy-soft);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.cmd-btn:hover{background:var(--sel);border-color:#a9c0e8}.cmd-btn:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.monitor-foot{color:#6b7280;background:#f9fafb;border-top:1px solid #e5e7eb;flex:none;align-items:center;gap:.75rem;padding:.3rem .6rem;font-size:.75rem;display:flex}.content:has(.recon-view){min-width:0;max-width:none;padding:0}.recon-view{flex-direction:column;height:100vh;display:flex}.recon-map{flex:auto;min-height:0;position:relative}.recon-canvas{background:#e5e7eb;position:absolute;inset:0}.recon-panel{z-index:20;background:#fff;border:1px solid #e5e7eb;border-radius:14px;flex-direction:column;width:min(clamp(300px,24vw,380px),100% - 24px);max-height:calc(100% - 24px);display:flex;position:absolute;top:12px;left:12px;overflow:hidden;box-shadow:0 12px 32px #0f172a38}.recon-panel-head{border-bottom:1px solid #e5e7eb;align-items:center;gap:.6rem;padding:.7rem .8rem;display:flex}.recon-badge{color:#fff;background:#7c3aed;border-radius:999px;flex:none;justify-content:center;align-items:center;width:30px;height:30px;font-size:.85rem;font-weight:800;display:inline-flex}.recon-panel-title{flex-direction:column;min-width:0;display:flex}.recon-panel-title strong{color:#111827;font-size:.95rem}.recon-panel-sub{color:#6b7280;font-size:.75rem}.recon-refresh{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;flex:none;width:30px;height:30px;margin-left:auto;font-size:1rem}.recon-refresh:hover{background:#f3f4f6}.recon-refresh:disabled{opacity:.5;cursor:default}.recon-list{background:#f8fafc;flex-direction:column;flex:auto;gap:.4rem;min-height:0;padding:.5rem .6rem;display:flex;overflow-y:auto}.recon-item{text-align:left;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;gap:.1rem;padding:.5rem .6rem;display:flex}.recon-item:hover{background:#faf5ff;border-color:#c4b5fd}.recon-item:focus-visible{outline-offset:1px;outline:2px solid #7c3aed}.recon-item-name{color:#111827;font-size:.85rem;font-weight:700}.recon-item-meta{color:#6b7280;font-size:.74rem}.recon-panel-foot{color:#6b7280;background:#f9fafb;border-top:1px solid #e5e7eb;flex:none;padding:.4rem .8rem;font-size:.72rem}@media (max-width:720px){.recon-panel{width:min(92vw,380px);top:8px;left:8px}}.send-cmd-device{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;gap:1.5rem;padding:.7rem .85rem;display:flex}.send-cmd-device>div{gap:.15rem;display:grid}.send-cmd-label{color:#6b7280;text-transform:uppercase;letter-spacing:.03em;font-size:.72rem}.content:has(.rb-page){max-width:1280px}.rb-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.rb-head h1{margin-bottom:.3rem}.rb-lead{max-width:62ch;color:var(--muted);margin:0;font-size:.9rem}.rb-ghost{border:1px solid var(--line);background:var(--surface);color:var(--navy);font:inherit;cursor:pointer;border-radius:8px;flex:none;padding:.5rem .9rem;font-size:.85rem;font-weight:600}.rb-ghost:hover{border-color:var(--navy-soft);background:var(--sel)}.rb-alert{background:var(--bad-bg);border:1px solid #f3c4bf;border-radius:8px;margin:0 0 1rem;padding:.6rem .85rem}.rb-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:1rem;display:grid}.rb-main{min-width:0}.rb-side{gap:1rem;display:grid;position:sticky;top:1rem}@media (max-width:1000px){.rb-grid{grid-template-columns:1fr}.rb-side{position:static}}.rb-step{padding:1.1rem 1.35rem 1.25rem}.rb-step-head{align-items:flex-start;gap:.8rem;margin-bottom:.9rem;display:flex}.rb-step-head .panel-title{margin:0 0 .15rem}.rb-step-head .muted-text{margin:0}.rb-step-num{background:var(--navy);color:#fff;width:26px;height:26px;font-family:var(--font-display);border-radius:50%;flex:none;justify-content:center;align-items:center;margin-top:.05rem;font-size:.85rem;font-weight:700;display:flex}.rb-cat{margin-top:.9rem}.rb-cat-title{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:.45rem;font-size:.72rem;font-weight:700;display:block}.rb-cards{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.55rem;display:grid}.rb-card{text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;border-radius:10px;grid-template-rows:auto auto;grid-template-columns:26px 1fr;align-items:start;gap:.15rem .55rem;padding:.65rem .75rem;transition:border-color .12s,box-shadow .12s,transform .12s;display:grid}.rb-card:hover{border-color:#9fb3d1;transform:translateY(-1px);box-shadow:0 4px 14px #0b214114}.rb-card:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.rb-card.on{border-color:var(--navy);background:var(--sel);box-shadow:inset 0 0 0 1px var(--navy)}.rb-card-icon{width:22px;height:22px;color:var(--navy-soft);grid-row:1/span 2;margin-top:.1rem}.rb-card.on .rb-card-icon{color:var(--navy)}.rb-card-title{font-size:.88rem;font-weight:700;line-height:1.2}.rb-card-desc{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.74rem;line-height:1.3;display:-webkit-box;overflow:hidden}.rb-block{margin-top:1rem}.rb-block>.muted-text{margin:.35rem 0 0}.rb-block-title{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.45rem;font-size:.72rem;font-weight:700;display:block}.rb-dataset-desc{margin-top:.4rem!important}.rb-seg{border:1px solid var(--line);background:#f8fafc;border-radius:10px;flex-wrap:wrap;gap:.3rem;padding:.25rem;display:inline-flex}.rb-seg-btn{color:var(--ink);font:inherit;cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;align-items:flex-start;gap:.05rem;padding:.4rem .75rem;font-size:.86rem;font-weight:600;display:inline-flex}.rb-seg-btn small{color:var(--muted);font-size:.7rem;font-weight:500}.rb-seg-btn:hover{border-color:var(--line);background:#fff}.rb-seg-btn.on{background:var(--navy);color:#fff;border-color:var(--navy)}.rb-seg-btn.on small{color:#cbd5e1}.rb-seg-btn:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.rb-seg-btn:disabled{opacity:.55;cursor:not-allowed}.rb-group{grid-template-columns:110px 1fr;align-items:start;gap:.5rem;margin-top:.55rem;display:grid}.rb-group-title{color:#374151;padding-top:.3rem;font-size:.78rem;font-weight:600}@media (max-width:640px){.rb-group{grid-template-columns:1fr;gap:.2rem}}.rb-chips{flex-wrap:wrap;gap:.4rem;display:flex}.rb-chip{border:1px solid var(--line);font:inherit;cursor:pointer;background:var(--surface);color:var(--ink);border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .7rem;font-size:.84rem;transition:border-color .1s,background .1s;display:inline-flex}.rb-chip:hover{border-color:#9fb3d1}.rb-chip.on{border-color:var(--navy);background:var(--sel);color:var(--navy);font-weight:600}.rb-chip.small{padding:.2rem .6rem;font-size:.78rem}.rb-chip input{accent-color:var(--navy);margin:0}.rb-chip:has(input:disabled){cursor:not-allowed;opacity:.7}.rb-filters{gap:.5rem;margin-top:.5rem;display:grid}.rb-filter-row{grid-template-columns:110px 1fr;align-items:start;gap:.5rem;display:grid}.rb-filter-label{color:#374151;padding-top:.25rem;font-size:.78rem;font-weight:600}@media (max-width:640px){.rb-filter-row{grid-template-columns:1fr;gap:.2rem}}.rb-quick{flex-wrap:wrap;gap:.4rem;margin-bottom:.7rem;display:flex}.rb-range{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.7rem;display:grid}.rb-range label{color:#374151;gap:.3rem;font-size:.8rem;display:grid}.rb-range input,.rb-range select{border:1px solid var(--line);font:inherit;background:var(--surface);color:var(--ink);border-radius:8px;padding:.5rem .6rem;font-size:.9rem}.rb-devices{margin-top:.6rem}.rb-devices input[type=text],.rb-devices input:not([type]){border:1px solid var(--line);width:100%;font:inherit;border-radius:8px;padding:.45rem .6rem}.rb-device-list{border:1px solid var(--line);border-radius:8px;max-height:220px;margin-top:.4rem;padding:.25rem .5rem;overflow-y:auto}.rb-summary{border-color:#c9d6ea;box-shadow:0 6px 20px #0b21410f}.rb-name{color:#374151;gap:.3rem;margin-bottom:.8rem;font-size:.8rem;display:grid}.rb-name input{border:1px solid var(--line);font:inherit;border-radius:8px;padding:.5rem .6rem;font-size:.95rem;font-weight:600}.rb-summary-list{gap:.45rem;margin:0 0 .8rem;display:grid}.rb-summary-list>div{grid-template-columns:68px 1fr;gap:.5rem;font-size:.84rem;display:grid}.rb-summary-list dt{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding-top:.12rem;font-size:.72rem}.rb-summary-list dd{color:var(--ink);margin:0;line-height:1.35}.rb-run{border-radius:10px;width:100%;padding:.7rem 1rem;font-size:.95rem}.rb-hint{border-radius:8px;margin:.6rem 0 0;padding:.5rem .7rem;font-size:.8rem}.rb-hint.ok{background:var(--ok-bg);color:var(--ok-fg)}.rb-hint.warn{background:var(--warn-bg);color:var(--warn-fg)}.rb-save{border-top:1px solid var(--line-soft);gap:.6rem;margin-top:.9rem;padding-top:.8rem;display:grid}.rb-save .inline-check{color:#374151;cursor:pointer;align-items:center;gap:.45rem;font-size:.84rem;display:inline-flex}.rb-side-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.rb-side-head .panel-title{margin:0}.rb-list{gap:.25rem;max-height:40vh;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.rb-item{text-align:left;border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);font:inherit;cursor:pointer;border-radius:8px;gap:.1rem;padding:.45rem .6rem;display:grid}.rb-item:hover{border-color:#94a3b8}.rb-item.selected{border-color:var(--navy);background:var(--sel)}.rb-item small{font-size:.72rem}.rb-runs td{vertical-align:top}.rb-download{background:var(--navy);color:#fff;white-space:nowrap;border-radius:8px;padding:.35rem .8rem;font-size:.8rem;font-weight:600;text-decoration:none;display:inline-block}.rb-download:hover{background:var(--navy-soft)}.device-sms-config{border:1px solid var(--line);border-radius:8px;margin:0;padding:.7rem .85rem .4rem}.device-sms-config legend{color:#6b7280;text-transform:uppercase;letter-spacing:.03em;padding:0 .35rem;font-size:.72rem}.device-sms-config .muted-text{margin:.5rem 0 0;font-size:.78rem}.device-sms-config code{background:#f1f5f9;border-radius:4px;padding:.05rem .25rem;font-size:.78rem}.sms-warning{color:#92400e;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;margin:0 0 1rem;padding:.7rem .9rem;font-size:.88rem}.sms-unmatched{background:#fffbeb}.sms-badge{color:#92400e;white-space:nowrap;background:#fef3c7;border-radius:999px;padding:.1rem .45rem;font-size:.75rem;display:inline-block}.sms-body{max-width:28rem;font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;font-size:.8rem}.sms-filter{align-items:center;gap:.4rem;font-size:.9rem;display:inline-flex}.send-cmd-channel{border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;align-items:center;gap:1.25rem;margin:0;padding:.6rem .85rem;display:flex}.send-cmd-channel legend{color:#6b7280;text-transform:uppercase;letter-spacing:.03em;padding:0 .35rem;font-size:.72rem}.send-cmd-channel label{cursor:pointer;align-items:center;gap:.4rem;font-size:.9rem;display:inline-flex}.send-cmd-channel label:has(input:disabled){color:#9ca3af;cursor:not-allowed}.send-cmd-channel .muted-text{font-size:.78rem}.send-cmd-result{border:1px solid var(--line);font-size:.85rem;font-family:var(--font-mono);resize:vertical;white-space:pre-wrap;word-break:break-word;color:var(--ink);background:#f8fafc;border-radius:8px;padding:.5rem .6rem}.map-fit-all{z-index:2;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;border-radius:6px;padding:.4rem .8rem;font-size:.8rem;font-weight:600;position:absolute;top:10px;left:50%;transform:translate(-50%);box-shadow:0 1px 4px #00000040}.map-fit-all:hover{background:var(--sel)}.map-fit-all:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.gps-panel{z-index:20;background:#fff;border:1px solid #e5e7eb;border-radius:14px;flex-direction:column;width:min(clamp(340px,28vw,420px),100% - 24px);animation:.18s ease-out gps-panel-in;display:flex;position:absolute;top:12px;bottom:12px;left:12px;overflow:hidden;box-shadow:0 12px 32px #0f172a38}@keyframes gps-panel-in{0%{opacity:.4;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.gps-panel{animation:none}}.gps-panel-head{border-bottom:1px solid #e5e7eb;flex:none;align-items:flex-start;gap:.5rem;padding:.75rem .85rem;display:flex}.gps-panel-title{flex-direction:column;gap:.25rem;min-width:0;display:flex}.gps-panel-name{color:#111827;word-break:break-word;font-size:1rem;font-weight:700}.gps-panel-imei{color:#6b7280;font-size:.82rem}.gps-panel-status{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.gps-panel-cmd{flex:none;margin-right:0}.gps-panel-close{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;flex:none;width:30px;height:30px;margin-left:auto;font-size:.9rem}.gps-panel-close:hover{background:#f3f4f6}.gps-panel-close:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.gps-panel-tabs{margin:0;padding:0 .85rem}.gps-panel-body{background:#f8fafc;flex:auto;min-height:0;padding:.6rem .85rem 1rem;overflow-y:auto}.gps-section{border-bottom:1px solid #f1f5f9;padding:.5rem 0}.gps-section:last-child{border-bottom:none}.gps-section-title{text-transform:uppercase;letter-spacing:.03em;color:#374151;margin:0 0 .4rem;font-size:.8rem;font-weight:700}.gps-events{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.gps-event{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:.45rem .55rem}.gps-event-name{color:#111827;font-size:.9rem;font-weight:600}.gps-event-time{color:#6b7280;font-size:.8rem}.gps-event-loc,.gps-event-speed{color:#374151;font-size:.8rem}.gps-trip-btn{width:100%;margin-bottom:.4rem}.gps-trip-status{font-size:.82rem}.gps-range{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:.4rem;margin-bottom:.4rem;padding:.5rem;display:flex}.gps-range label{color:#374151;flex-direction:column;gap:.2rem;font-size:.8rem;display:flex}.gps-range input{border:1px solid #d1d5db;border-radius:6px;min-width:0;padding:.3rem .4rem;font-size:.82rem}.gps-range-actions{gap:.4rem;display:flex}.gps-range-actions button{flex:1;margin-right:0}button.gps-trip-alt{background:var(--surface);color:var(--navy);border:1px solid var(--navy);cursor:pointer;border-radius:8px;padding:.5rem .95rem;font-family:inherit;font-size:.9rem;font-weight:600;transition:background .12s}button.gps-trip-alt:hover{background:var(--line-soft)}button.gps-trip-alt:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.siccap-grid{grid-template-columns:1fr 1fr;gap:.25rem .9rem;display:grid}.siccap-field{gap:.35rem;min-width:0;font-size:.82rem;display:flex}.siccap-field.siccap-svc{grid-column:1/-1;margin-top:.4rem}.siccap-label{color:#6b7280;flex:none}.siccap-value{color:#111827;word-break:break-word;font-weight:600}.siccap-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:.7rem;padding:.8rem .9rem}.siccap-card-title{text-transform:uppercase;letter-spacing:.05em;color:#6b7280;margin:0 0 .6rem;font-size:.7rem;font-weight:700}.siccap-card-head{border-bottom:1px solid #f3f4f6;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.7rem;padding-bottom:.6rem;display:flex}.siccap-mission{white-space:nowrap;border-radius:999px;padding:.16rem .6rem;font-size:.72rem;font-weight:700}.siccap-mission.on{color:#166534;background:#dcfce7}.siccap-mission.off{color:#6b7280;background:#f3f4f6}.siccap-mission-dates{color:#6b7280;font-size:.72rem}.siccap-kv-grid{grid-template-columns:1fr 1fr;gap:.6rem 1rem;display:grid}.siccap-kv{flex-direction:column;gap:.12rem;min-width:0;display:flex}.siccap-kv.wide{grid-column:1/-1}.siccap-kv-label{text-transform:uppercase;letter-spacing:.04em;color:#9ca3af;font-size:.64rem;font-weight:600}.siccap-kv-value{color:#111827;word-break:break-word;font-size:.84rem;font-weight:600}.siccap-svc-row{border-top:1px solid #f3f4f6;flex-direction:column;gap:.35rem;margin-top:.7rem;padding-top:.6rem;display:flex}.siccap-svc-chips{flex-wrap:wrap;gap:.35rem;display:flex}.siccap-chip{color:#9ca3af;background:#f3f4f6;border-radius:999px;padding:.14rem .55rem;font-size:.7rem;font-weight:700}.siccap-chip.on{background:var(--info-bg);color:var(--info-fg)}.siccap-action-card{flex-direction:column;gap:.45rem;display:flex}.siccap-action-row{align-items:center;gap:.5rem;display:flex}.siccap-action-select{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:8px;flex:auto;min-width:0;padding:.38rem .45rem;font-size:.82rem}.siccap-action-btn{flex:none;padding:.38rem .85rem;font-size:.82rem}.siccap-action-msg{margin:0;font-size:.78rem}@media (max-width:720px){.gps-panel{width:min(92vw,420px);top:8px;bottom:8px;left:8px}.siccap-grid,.siccap-kv-grid{grid-template-columns:1fr}}.login-page{--comsi-red:#e0301e;--comsi-red-hover:#c8291a;--comsi-navy:#0b2141;--comsi-navy-deep:#081a34;--comsi-navy-soft:#163a6e;--comsi-ink:#12203a;--comsi-label:#3a4557;--comsi-muted:#6b7688;--comsi-border:#e2e6ec;--comsi-field-bg:#fbfcfd;--comsi-placeholder:#9aa3b2;width:100%;min-height:100vh;font-family:var(--font-manrope), system-ui, sans-serif;background:#f6f7f9;display:flex}.login-brand{background:radial-gradient(120% 120% at 15% 0%, var(--comsi-navy-soft) 0%, var(--comsi-navy) 55%, var(--comsi-navy-deep) 100%);flex-direction:column;flex:46%;justify-content:space-between;min-width:0;padding:56px 56px 48px;display:flex;position:relative;overflow:hidden}.login-brand-dots,.login-brand-glow{pointer-events:none;position:absolute}.login-brand-dots{opacity:.5;background-image:radial-gradient(#ffffff1a 1.4px,#0000 1.4px);background-size:26px 26px;inset:0}.login-brand-glow{background:radial-gradient(circle,#e0301e8c 0%,#e0301e00 70%);border-radius:50%;width:420px;height:420px;top:-120px;right:-120px}.login-brand>:not(.login-brand-dots):not(.login-brand-glow){position:relative}.login-brand-head{align-items:center;gap:14px;display:flex}.login-logo-chip{background:#fff;border-radius:14px;flex:none;width:72px;height:72px;padding:7px;box-shadow:0 12px 30px #00000047}.login-logo-chip img{object-fit:contain;border-radius:8px;width:100%;height:100%}.login-wordmark{color:#fff;font-family:var(--font-barlow), sans-serif;letter-spacing:.14em;font-size:16px;font-weight:800}.login-wordmark span{color:var(--comsi-red)}.login-brand-body{max-width:520px}.login-pill{color:#cfe0ff;letter-spacing:.12em;text-transform:uppercase;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:8px;margin-bottom:26px;padding:7px 14px;font-size:12px;font-weight:600;display:inline-flex}.login-pill i{background:var(--comsi-red);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #e0301e40}.login-headline{font-family:var(--font-barlow), sans-serif;letter-spacing:-.01em;color:#fff;text-wrap:balance;margin:0;font-size:46px;font-weight:800;line-height:1.04}.login-tagline{color:#aebfd6;max-width:440px;margin:18px 0 0;font-size:16px;line-height:1.6}.login-features{flex-direction:column;gap:14px;max-width:480px;margin:34px 0 0;padding:0;list-style:none;display:flex}.login-features li{color:#dbe6f7;align-items:center;gap:12px;font-size:15px;font-weight:500;display:flex}.login-features li:before{content:"";background:var(--comsi-red);border-radius:2px;flex:none;width:9px;height:9px}.login-brand-foot{color:#7f92ac;letter-spacing:.02em;font-size:12.5px}.login-form-panel{flex:54%;justify-content:center;align-items:center;min-width:0;padding:40px 32px;display:flex}.login-form-inner{width:100%;max-width:400px}.login-head{margin-bottom:30px}.login-head h1{font-family:var(--font-barlow), sans-serif;letter-spacing:-.01em;color:var(--comsi-ink);margin:0;font-size:30px;font-weight:700}.login-head p{color:var(--comsi-muted);margin:9px 0 0;font-size:15px}.login-head strong{color:var(--comsi-ink);font-weight:700}.login-form{flex-direction:column;gap:20px;display:flex}.login-field{flex-direction:column;gap:8px;display:flex}.login-field label{letter-spacing:.01em;color:var(--comsi-label);font-size:13px;font-weight:600}.login-input{border:1.5px solid var(--comsi-border);background:var(--comsi-field-bg);width:100%;height:48px;color:var(--comsi-ink);border-radius:11px;outline:none;padding:0 15px;font-family:inherit;font-size:15px;transition:border-color .15s,box-shadow .15s}.login-input::placeholder{color:var(--comsi-placeholder)}.login-input:focus{border-color:var(--comsi-navy);box-shadow:0 0 0 4px #0b21411a}.login-password{position:relative}.login-password .login-input{padding-right:46px}.login-toggle{color:#8791a1;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-family:inherit;font-size:13px;font-weight:700;display:flex;position:absolute;top:6px;right:6px}.login-toggle:hover{color:var(--comsi-ink);background:#eef1f5}.login-toggle:focus-visible{outline:2px solid var(--comsi-navy);outline-offset:1px}.login-error{border-left:3px solid var(--comsi-red);color:#a82416;background:#e0301e14;border-radius:8px;margin:0;padding:11px 14px;font-size:14px}.login-submit{background:var(--comsi-red);color:#fff;height:50px;font-family:var(--font-barlow), sans-serif;letter-spacing:.02em;cursor:pointer;border:none;border-radius:11px;margin-top:4px;font-size:16px;font-weight:700;transition:background .15s,transform 50ms;box-shadow:0 8px 20px #e0301e47}.login-submit:hover:not(:disabled){background:var(--comsi-red-hover)}.login-submit:active:not(:disabled){transform:translateY(1px)}.login-submit:focus-visible{outline-offset:2px;outline:3px solid #0b214159}@media (max-width:860px){.login-page{flex-direction:column}.login-brand{flex:none;gap:22px;padding:32px 28px}.login-brand-glow{width:300px;height:300px;top:-110px;right:-110px}.login-headline{font-size:32px}.login-tagline{margin-top:12px;font-size:15px}.login-features,.login-brand-foot{display:none}.login-form-panel{padding:32px 24px 48px}}@media (max-width:420px){.login-brand{padding:24px 20px}.login-headline{font-size:27px}.login-logo-chip{width:60px;height:60px}}.chip{background:var(--info-bg);color:var(--info-fg);border-radius:999px;align-items:center;gap:.3rem;margin:.1rem .25rem .1rem 0;padding:.14rem .55rem;font-size:.72rem;font-weight:600;display:inline-flex}.chip button{color:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:.7rem;line-height:1}.chip button:hover{opacity:.7}.geofence-editor{grid-template-columns:minmax(280px,340px) 1fr;gap:1rem;display:grid}.geofence-fields{flex-direction:column;gap:.75rem;display:flex}.geofence-fields>label{flex-direction:column;gap:.25rem;font-size:.82rem;font-weight:600;display:flex}.geofence-fields input[type=text],.geofence-fields input:not([type]),.geofence-fields select{border:1px solid var(--line);font:inherit;border-radius:8px;padding:.45rem .6rem}.geofence-geometry,.geofence-assignments{border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.6rem .75rem;display:flex}.geofence-geometry legend,.geofence-assignments legend{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:0 .25rem;font-size:.72rem;font-weight:700}.geofence-geometry label{align-items:center;gap:.3rem;font-size:.85rem;display:inline-flex}.geofence-check{align-items:center;gap:.4rem;font-size:.85rem;display:inline-flex}.geofence-suppressed{flex-direction:column;gap:.3rem;padding-left:1.4rem;display:flex}.geofence-assign-row{gap:.4rem;width:100%;display:flex}.geofence-assign-row select{border:1px solid var(--line);min-width:0;font:inherit;border-radius:8px;flex:1;padding:.4rem .5rem}.geofence-assign-list{flex-wrap:wrap;width:100%;display:flex}.geofence-map-wrap{flex-direction:column;gap:.4rem;min-width:0;display:flex}.geofence-map{border:1px solid var(--line);border-radius:10px;width:100%;height:420px}.geofence-hint{margin:0}@media (max-width:860px){.geofence-editor{grid-template-columns:1fr}.geofence-map{height:300px}}.rule-editor{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.rule-col{flex-direction:column;gap:.75rem;min-width:0;display:flex}.rule-col>label{flex-direction:column;gap:.25rem;font-size:.82rem;font-weight:600;display:flex}.rule-col input:not([type=checkbox]):not([type=radio]),.rule-col select{border:1px solid var(--line);font:inherit;border-radius:8px;padding:.45rem .6rem}.rule-fieldset{border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;gap:.5rem;padding:.6rem .75rem;display:flex}.rule-fieldset legend{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:0 .25rem;font-size:.72rem;font-weight:700}.rule-fieldset>label{width:100%}.rule-geofence-list{flex-direction:column;gap:.3rem;width:100%;max-height:220px;display:flex;overflow-y:auto}.rule-schedule-row{flex-wrap:wrap;align-items:center;gap:.35rem;width:100%;display:flex}.rule-schedule-row select,.rule-schedule-row input{border:1px solid var(--line);font:inherit;border-radius:6px;padding:.3rem .4rem;font-size:.82rem}@media (max-width:860px){.rule-editor{grid-template-columns:1fr}}.alert-section-title{align-items:center;gap:.6rem;margin:1.4rem 0 .6rem;font-size:1.02rem;display:flex}.alert-section-title.primary{color:var(--bad-fg)}.alert-primary-row td{background:var(--bad-bg)!important}@keyframes alert-blink{50%{opacity:.55}}.alert-primary-row{animation:1.5s step-end infinite alert-blink}.map-alerts-btn{z-index:3;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:8px;align-items:center;gap:.3rem;padding:.4rem .55rem;display:inline-flex;position:absolute;top:10px;right:60px;box-shadow:0 1px 4px #00000040}.map-alerts-btn:hover{background:var(--sel)}.map-alerts-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.map-alerts-btn.has-primary{color:#b91c1c;border-color:#ef4444;animation:1.5s step-end infinite alert-blink}.map-alerts-count{color:#fff;text-align:center;background:#ef4444;border-radius:999px;min-width:18px;height:18px;padding:0 4px;font-size:.7rem;font-weight:700;line-height:18px}.alerts-window{z-index:4;background:var(--surface);border:1px solid var(--line);border-radius:16px;flex-direction:column;width:min(1120px,100% - 28px);max-height:calc(100% - 36px);display:flex;position:absolute;top:18px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 24px 60px #0f172a59}.alerts-window-title{border-bottom:1px solid var(--line);align-items:center;gap:.7rem;padding:.8rem 1.1rem;display:flex}.alerts-window-bell{background:var(--line-soft);width:36px;height:36px;color:var(--muted);border-radius:10px;place-items:center;display:grid}.alerts-window-bell.hot{background:var(--bad-bg);color:var(--bad-fg);animation:1.5s step-end infinite alert-blink}.alerts-window-heading{flex-direction:column;line-height:1.25;display:flex}.alerts-window-heading strong{font-size:1rem}.alerts-window-heading span{color:var(--muted);font-size:.76rem}.alerts-sound-btn{border:1px solid var(--line);background:var(--surface);color:var(--muted);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .7rem;font-size:.78rem;font-weight:600;display:inline-flex}.alerts-sound-btn.on{border-color:var(--navy);color:var(--navy);background:var(--info-bg)}.alerts-sound-btn:hover{background:var(--line-soft)}.alerts-sound-btn.on:hover{background:var(--info-bg)}.alerts-window-toolbar{flex-wrap:wrap;align-items:center;gap:.55rem;padding:.7rem 1.1rem .55rem;display:flex}.alerts-window-toolbar input[type=search]{border:1px solid var(--line);min-width:220px;font:inherit;border-radius:10px;flex:1;padding:.48rem .75rem;font-size:.86rem}.alerts-window-toolbar input[type=search]:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.alerts-window-toolbar select{border:1px solid var(--line);font:inherit;background:var(--surface);border-radius:10px;padding:.44rem .55rem;font-size:.8rem}.alerts-window-count{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:.76rem;font-weight:700}.alerts-window-body{flex:1;padding:0 0 .2rem;overflow-y:auto}.alerts-window-table{border:none;border-radius:0}.alerts-window-table thead th{z-index:1;position:sticky;top:0}.alerts-window-table td{vertical-align:middle}.alerts-empty{text-align:center;padding:1.6rem 1rem!important}.alert-row{cursor:pointer}.alert-row:hover td{background:#f1f5f9}.alert-row.primary td{background:var(--bad-bg);box-shadow:inset 3px 0 #ef4444}.alert-row.primary:hover td{background:#fecaca}.alert-row.expanded td{border-bottom-color:#0000}.alert-chevron{background:var(--line-soft);width:24px;height:24px;color:var(--muted);border-radius:999px;place-items:center;transition:transform .15s;display:inline-grid}.alert-chevron.open{background:var(--navy);color:#fff;transform:rotate(90deg)}.alerts-imei{color:#b91c1c;white-space:nowrap;font-weight:700}.alerts-desc{max-width:260px}.alerts-when{white-space:nowrap}.alerts-when span{line-height:1.3;display:block}.alerts-when span:first-child{font-weight:600}.alerts-when .muted-text{font-size:.74rem}.alert-type-badge{letter-spacing:.01em;white-space:nowrap;border-radius:999px;padding:.2rem .6rem;font-size:.74rem;font-weight:700;display:inline-block}.alert-type-badge.primary{color:#fff;background:#dc2626}.alert-type-badge.secondary{background:var(--info-bg);color:var(--info-fg)}.alert-process-btn{border:1px solid var(--navy);background:var(--surface);color:var(--navy);font:inherit;cursor:pointer;white-space:nowrap;border-radius:8px;padding:.35rem .8rem;font-size:.78rem;font-weight:700;transition:background .12s,color .12s}.alert-process-btn:hover{background:var(--navy);color:#fff}.alert-process-btn:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.alert-detail-row td{background:#f8fafc;padding-top:0}.alert-detail{flex-direction:column;gap:.7rem;padding:.35rem .3rem .7rem;display:flex}.alert-detail-text{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--navy);border-radius:8px;margin:0;padding:.55rem .8rem;font-size:.86rem;line-height:1.45}.alert-row.primary+.alert-detail-row .alert-detail-text{border-left-color:#dc2626}.alert-detail-grid{grid-template-columns:minmax(0,1fr) 280px;align-items:stretch;gap:.9rem;display:grid}.alert-mini-map{border:1px solid var(--line);border-radius:12px;width:100%;height:250px}.alert-detail-actions{flex-direction:column;gap:.55rem;display:flex}.alert-phone{border-radius:10px;flex-direction:column;gap:.12rem;padding:.6rem .85rem;text-decoration:none;transition:transform .1s,box-shadow .1s;display:flex;box-shadow:0 1px 3px #0000001f}.alert-phone:not(.disabled):hover{transform:translateY(-1px);box-shadow:0 4px 10px #0000002e}.alert-phone-label{letter-spacing:.01em;font-size:.78rem;font-weight:700}.alert-phone-value{opacity:.92;font-variant-numeric:tabular-nums;font-size:.8rem}.alert-phone.pilot{color:#fff;background:#b91c1c}.alert-phone.custodian{color:#fff;background:#1d4ed8}.alert-phone.disabled{background:var(--line-soft);color:var(--muted);box-shadow:none}.alert-center-btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;border-radius:10px;margin-top:auto;padding:.55rem .8rem;font-size:.82rem;font-weight:600}.alert-center-btn:hover{background:var(--sel)}.alerts-window-foot{border-top:1px solid var(--line);background:#f8fafc;padding:.55rem 1.1rem;font-size:.78rem}.alerts-window-foot a{color:var(--muted)}.alerts-window-foot a:hover{color:var(--ink)}@media (max-width:760px){.alert-detail-grid{grid-template-columns:1fr}.alert-mini-map{height:190px}}.apply-toolbar{flex-wrap:wrap;align-items:flex-end;gap:.6rem;margin-bottom:.6rem;display:flex}.apply-search{color:#374151;flex-direction:column;flex:240px;gap:.2rem;min-width:0;font-size:.8rem;display:flex}.apply-search input{width:100%}.apply-actions{flex-wrap:wrap;gap:.4rem;display:flex}.apply-list{border:1px solid var(--line);border-radius:8px;max-height:45vh;margin:.4rem 0 0;padding:0;list-style:none;overflow-y:auto}.apply-list li{border-bottom:1px solid var(--line-soft)}.apply-list li:last-child{border-bottom:none}.apply-list label{cursor:pointer;align-items:center;gap:.6rem;padding:.45rem .6rem;display:flex}.apply-list label:hover{background:var(--line-soft)}.apply-list input[type=checkbox]{cursor:pointer;flex:none;width:1.05rem;height:1.05rem}.apply-list input[type=checkbox]:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.apply-device{flex-direction:column;min-width:0;display:flex}.apply-device strong{color:var(--ink);overflow-wrap:anywhere;font-size:.88rem}.apply-device .muted-text{overflow-wrap:anywhere;font-size:.78rem}@media (max-width:640px){.apply-toolbar{flex-direction:column;align-items:stretch}.apply-actions button{flex:1}.apply-list{max-height:40vh}}.rules-search{color:#374151;flex-direction:column;gap:.2rem;margin-bottom:.5rem;font-size:.8rem;display:flex}.rules-search input{width:100%}.rules-actions{flex-wrap:wrap;gap:.4rem;margin-bottom:.4rem;display:flex}.rules-actions button{flex:1;margin-right:0}.rules-list{border:1px solid var(--line);border-radius:8px;max-height:40vh;margin:.3rem 0 .6rem;padding:0;list-style:none;overflow-y:auto}.rules-list li{border-bottom:1px solid var(--line-soft)}.rules-list li:last-child{border-bottom:none}.rules-list label{cursor:pointer;align-items:flex-start;gap:.55rem;padding:.45rem .55rem;display:flex}.rules-list label:hover{background:var(--line-soft)}.rules-list label.disabled{cursor:not-allowed;opacity:.65}.rules-list input[type=checkbox]{cursor:pointer;flex:none;width:1.05rem;height:1.05rem;margin-top:.1rem}.rules-list input[type=checkbox]:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.rules-item{flex-direction:column;gap:.05rem;min-width:0;display:flex}.rules-item strong{color:var(--ink);overflow-wrap:anywhere;font-size:.86rem}.rules-item .muted-text{overflow-wrap:anywhere;font-size:.78rem}.rules-foot{display:flex}.rules-foot button{width:100%}.audit-filters{flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin:1rem 0;display:flex}.audit-filters label{color:#374151;flex-direction:column;gap:.2rem;font-size:.8rem;display:flex}.audit-filters .audit-search{flex:220px;min-width:0}.audit-filters .audit-search input{width:100%}.audit-table-wrap{overflow-x:auto}.pager{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.75rem;display:flex}@media (max-width:640px){.audit-filters{flex-direction:column;align-items:stretch}.audit-filters button{width:100%}}.geo-point-cell{text-overflow:ellipsis;white-space:nowrap;max-width:22ch;overflow:hidden}.pager-bar{border:1px solid var(--line);background:var(--surface);border-radius:10px;justify-content:space-between;padding:.55rem .75rem;font-size:.82rem}.pager-label{color:var(--muted);font-variant-numeric:tabular-nums}.pager-size{color:var(--muted);align-items:center;gap:.4rem;display:inline-flex}.pager-size select{border:1px solid var(--line);font:inherit;background:var(--surface);color:var(--ink);border-radius:6px;padding:.25rem .4rem;font-size:.8rem}.pager-nav{align-items:center;gap:.5rem;display:inline-flex}.pager-nav button.small{margin:0}.pager-page{color:var(--muted);font-variant-numeric:tabular-nums}
