:root{--navy:#143a7e;--navy-dark:#0f2c61;--ink:#222;--muted:#6b7280;--line:#e3e5ea;--bg:#f5f6f8;--panel:#fff;--soft:#f7f8fa;--field:#cfd3da;--red:#d93025;--yellow:#e0b000;--yellow-ink:#8a6a00;--orange:#f07800;--green:#1e8e3e;--off:#9aa0a6;--select:#e8eef9;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{height:100%;margin:0}body{color:var(--ink);background:var(--bg);word-break:keep-all;font-family:Pretendard,Noto Sans KR,Malgun Gothic,Apple SD Gothic Neo,sans-serif;font-size:14px}a{color:inherit}button,input,select,textarea{font:inherit}.muted{color:var(--muted)}.small{font-size:12px}.mono{font-family:Consolas,D2Coding,ui-monospace,monospace}.nowrap{white-space:nowrap}.pre{white-space:pre-wrap}.top{top:env(safe-area-inset-top,0px);z-index:20;border-bottom:1px solid var(--line);background:#fff;align-items:center;height:60px;display:flex;position:sticky}.brand{width:240px;color:var(--navy);flex:none;align-items:center;gap:8px;padding:0 20px;font-size:16px;font-weight:700;text-decoration:none;display:flex}.brand svg{flex:none}.gnb{flex:1;align-self:stretch;display:flex;overflow-x:auto}.gnb a{white-space:nowrap;border-bottom:3px solid #0000;padding:0 22px;font-size:16px;line-height:57px;text-decoration:none}.gnb a.on{color:var(--navy);border-bottom-color:var(--navy);font-weight:700}.userbox{padding:0 max(20px, env(safe-area-inset-right,0px)) 0 20px;white-space:nowrap;color:var(--muted);align-items:center;gap:10px;display:flex}.userbox button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:4px;padding:5px 10px}.userbox .sysname{color:var(--navy);border-right:1px solid var(--line);margin-right:2px;padding-right:12px;font-size:15px}.wrap{min-height:calc(100vh - 60px);display:flex}.side{border-right:1px solid var(--line);background:#fff;flex:none;width:240px}.side h2{background:var(--navy);color:#fff;margin:0;padding:26px 24px;font-size:20px;font-weight:500}.side a{color:var(--navy);border-bottom:1px solid var(--line);background:var(--soft);padding:15px 24px;text-decoration:none;display:block}.side a.on{background:var(--select);font-weight:700}.main{flex:1;min-width:0;padding:28px 36px 60px}.head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:20px;display:flex}.head h1{margin:0;font-size:28px;font-weight:500}.crumb{color:var(--muted);font-size:13px}.subnav{gap:6px;margin-bottom:14px;display:none;overflow-x:auto}.subnav a{border:1px solid var(--line);white-space:nowrap;background:#fff;border-radius:16px;padding:7px 12px;text-decoration:none}.subnav a.on{background:var(--navy);color:#fff;border-color:var(--navy)}.search{border:1px solid var(--line);background:#f1f2f4;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;padding:18px 20px;display:flex}.search input,.search select{border:1px solid var(--field);background:#fff;border-radius:3px;height:34px;padding:0 10px}.search input[type=text]{width:220px}.search .sep{color:var(--muted)}.btn{cursor:pointer;color:#fff;white-space:nowrap;background:#3a3f48;border:0;border-radius:3px;align-items:center;gap:6px;height:34px;padding:0 16px;text-decoration:none;display:inline-flex}.btn.primary{background:var(--navy)}.btn.light{color:var(--ink);border:1px solid var(--field);background:#fff}.btn.danger{background:#555b66}.btn.red{background:var(--red)}.btn.green{background:var(--green)}.btn.sm{height:28px;padding:0 10px;font-size:13px}.btn:disabled{opacity:.5;cursor:default}.btn:focus-visible,.userbox button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--navy);outline-offset:1px}.quick{gap:4px;display:flex}.quick button{border:1px solid var(--field);cursor:pointer;background:#fff;border-radius:3px;height:34px;padding:0 10px}.quick button.on{border-color:var(--navy);color:var(--navy);font-weight:700}.count{margin:0 0 8px;font-size:13px}.count b{color:var(--navy)}.tablebox{background:#fff;overflow-x:auto}table.grid{border-collapse:collapse;border-top:2px solid #555;width:100%}.grid th{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;background:#f1f2f4;padding:11px 12px;font-weight:500}.grid td{border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 12px}.grid td.wrap-text{white-space:normal;min-width:12rem}.grid tr:hover td{background:#fafbfc}.grid .num{text-align:right;font-variant-numeric:tabular-nums}.grid .chk{text-align:center;width:40px}.grid a.link,button.link{cursor:pointer;color:var(--navy);background:0 0;border:0;padding:0;text-decoration:underline}.grid .empty{text-align:center;color:var(--muted);padding:40px}.grid tr.bad td{color:var(--red)}.foot{flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:14px;display:flex}.foot>div{flex-wrap:wrap;gap:8px;display:flex}.note{color:var(--muted);margin-top:8px;font-size:12px}.badge{text-align:center;color:#fff;background:var(--off);white-space:nowrap;border-radius:10px;min-width:44px;padding:2px 8px;font-size:12px;display:inline-block}.badge.red{background:var(--red)}.badge.yellow{background:var(--yellow);color:#222}.badge.green{background:var(--green)}.badge.navy{background:var(--navy)}.badge.off{background:var(--off)}.dot{vertical-align:1px;background:var(--off);border-radius:50%;width:9px;height:9px;margin-right:6px;display:inline-block}.dot.green{background:var(--green)}.dot.red{background:var(--red)}.dot.yellow{background:var(--yellow)}.dot.orange{background:var(--orange)}.badge.orange{background:var(--orange);color:#fff}.cards{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px;display:grid}.cards.two{grid-template-columns:repeat(2,1fr)}.card{border:1px solid var(--line);background:#fff;min-width:0}.card>h3{background:var(--soft);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:0;padding:12px 16px;font-size:14px;font-weight:600;display:flex}.card>h3 small{color:var(--muted);font-weight:400}.card>h3 small a{color:var(--muted)}.card .body{padding:14px 16px}.big{align-items:center;gap:16px;padding:22px;display:flex}.big .ic{color:#fff;border-radius:50%;flex:none;place-items:center;width:56px;height:56px;display:grid}.big .n{font-variant-numeric:tabular-nums;font-size:40px;font-weight:700;line-height:1}.big .l{margin-top:4px;font-size:21px}.big .nl{align-items:baseline;gap:10px;display:flex}.big .nl .l{white-space:nowrap;margin-top:0}.big .l small{color:var(--muted);font-size:15px}.big.red .ic{background:var(--red)}.big.red .n{color:var(--red)}.big.yellow .ic{background:var(--yellow)}.big.yellow .n{color:#c79c00}.big.navy .ic{background:var(--navy)}.big.navy .n{color:var(--navy)}.big.green .ic{background:var(--green)}.big.green .n{color:var(--green)}.big .aside{color:var(--muted);border:1px solid var(--line);text-align:center;background:#f1f2f4;border-radius:8px;min-width:130px;margin-left:auto;padding:10px 14px}.big .aside b{color:var(--ink);font-variant-numeric:tabular-nums;font-size:34px;line-height:1.1;display:block}.big .aside span{white-space:nowrap;font-size:16px}.big .aside i{margin-top:4px;font-size:12px;font-style:normal;display:block}.big .asides{gap:8px;margin-left:auto;display:flex}.big .asides .aside{min-width:96px;padding:10px 8px}.big .aside.alert{background:var(--orange);border-color:var(--orange);color:#fff}.big .aside.alert b{color:#fff}.dashmap{grid-template-columns:3fr 1fr;gap:16px;margin-bottom:16px;display:grid}.dash2{grid-template-columns:2fr 1fr;gap:16px;margin-bottom:16px;display:grid}.locks-col{gap:10px;max-height:640px;display:grid;overflow-y:auto}.lockcard{border:1px solid var(--line);border-radius:4px;padding:12px}.lockcard.alert{border:2px solid var(--red)}.lockcard .nm{flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:6px;font-weight:700;display:flex}.lockcard{cursor:pointer}.lockcard .sub{color:var(--muted);font-size:12px;line-height:1.7}.lockcard .sub b{color:var(--ink);font-weight:500}.meter{align-items:center;gap:8px;margin:6px 0;display:flex}.meter .lb{width:80px;color:var(--muted);font-size:12px}.meter .bar{background:#eef0f3;border-radius:6px;flex:1;height:12px;overflow:hidden}.meter .bar i{background:var(--navy);height:100%;display:block}.meter .v{text-align:right;font-variant-numeric:tabular-nums;width:36px}.legend{color:var(--muted);flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.legend i{vertical-align:-1px;border-radius:50%;width:10px;height:10px;margin-right:4px;display:inline-block}.mapwrap{grid-template-columns:260px 1fr;gap:16px;display:grid}.maplist{border:1px solid var(--line);background:#fff;align-self:start;min-height:400px}.maplist h3{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;margin:0;padding:12px 14px;font-size:14px;display:flex}.maplist a,.maplist button.item{cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:1px solid #f1f2f4;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:10px 14px;text-decoration:none;display:flex}.maplist a.on,.maplist button.item.on{background:var(--select);color:var(--navy);font-weight:700}.maplist .sect{color:var(--muted);background:var(--soft);border-bottom:1px solid var(--line);padding:8px 14px;font-size:12px}.mapview{border:1px solid var(--line);background:#eef0f3;place-items:center;min-height:300px;padding:12px;display:grid;position:relative;overflow:hidden}.card .mapview{border:0}.mapview .ph{color:var(--muted);text-align:center;padding:30px;line-height:1.8}.gpsbar{color:#7a5b00;background:#fff8e1;border-top:1px solid #f3e0a6;padding:10px 14px;font-size:13px}.mapimg{-webkit-user-select:none;user-select:none;touch-action:none;max-width:100%;display:inline-block;position:relative}.mapimg img{pointer-events:none;max-width:100%;display:block}.mapimg.drawing{cursor:crosshair}.mapimg svg.zones{width:100%;height:100%;position:absolute;inset:0}.zone{fill:#143a7e1a;stroke:var(--navy);stroke-width:2px;vector-effect:non-scaling-stroke}.zone.on{fill:#143a7e3d;stroke-width:3px}.zone.draft{fill:#e0b00033;stroke:#c79c00;stroke-dasharray:6 4}.zone.click{cursor:pointer}.zlabel{color:var(--navy);pointer-events:none;white-space:nowrap;background:#ffffffd9;border-radius:3px;padding:0 6px;font-size:12px;font-weight:700;position:absolute;transform:translate(4px,4px)}.mk{font:inherit;cursor:default;background:0 0;border:0;flex-direction:column;align-items:center;gap:1px;padding:0;display:flex;position:absolute;transform:translate(-50%,-60%)}.mk .lk{width:30px;height:30px;color:var(--green);filter:drop-shadow(0 0 1.5px #fff)drop-shadow(0 0 1.5px #fff)drop-shadow(0 1px 2px #0006)}.mk span{white-space:nowrap;background:#ffffffeb;border-radius:3px;padding:1px 6px;font-size:12px;font-weight:700;box-shadow:0 1px 3px #0003}.mk.open .lk{color:#e00000;animation:1s infinite blink}.mk.open span{color:#fff;background:#e00000}.mk.latch .lk{color:var(--orange)}.mk.latch span{background:var(--orange);color:#fff}.mk.unknown .lk,.mk.unreg .lk{color:#8a8f98}.mk.unreg span{color:var(--muted);font-weight:400}.mk.drag{cursor:grab}.mk.sel span{outline:2px solid var(--navy)}@keyframes blink{50%{opacity:.3}}@media (prefers-reduced-motion:reduce){.mk.open .lk{animation:none}}.tools{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;display:flex}.hintbar{background:var(--select);color:var(--navy);margin-bottom:10px;padding:8px 12px;font-size:13px}.modal-bg{z-index:50;background:#0006;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:#fff;width:100%;max-width:640px;max-height:90vh;overflow:auto;box-shadow:0 10px 30px #00000040}.modal.wide{max-width:760px}.modal>h3{background:var(--soft);justify-content:space-between;align-items:center;gap:10px;margin:0;padding:18px 22px;font-size:18px;font-weight:500;display:flex}.modal .form{border-top:2px solid #555;margin:22px}.form .row{border-bottom:1px solid var(--line);grid-template-columns:150px 1fr;display:grid}.form .row>label,.form .row>.lbl{background:var(--soft);text-align:right;padding:12px 16px;font-size:13px}.form .req:before{content:"* ";color:var(--red)}.form .in{min-width:0;padding:8px 12px}.form input:not([type=checkbox]):not([type=radio]):not([type=file]),.form select{border:1px solid var(--field);background:#fff;border-radius:3px;width:100%;max-width:360px;height:32px;padding:0 8px}.form textarea{border:1px solid var(--field);border-radius:3px;width:100%;max-width:460px;padding:6px 8px}.form input:disabled,.form input[readonly]{background:#f1f2f4}.form .hint{color:var(--muted);margin-top:4px;font-size:12px}.form .pair{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.form .pair input{max-width:200px!important}.picklist{border:1px solid var(--field);border-radius:3px;max-width:460px;max-height:190px;overflow-y:auto}.picklist label{cursor:pointer;border-bottom:1px solid #f1f2f4;align-items:center;gap:8px;padding:6px 10px;display:flex}.picklist label:last-child{border-bottom:0}.picklist label.implied{color:var(--muted)}.modal .acts{flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:0 22px 20px;display:flex}.modal .acts .left{gap:8px;margin-right:auto;display:flex}.err{color:var(--red);min-height:1em;padding:0 22px 10px}.kv{background:#fff;border-top:2px solid #555;grid-template-columns:150px 1fr;margin:22px;display:grid}.kv>div{border-bottom:1px solid var(--line);min-width:0;padding:10px 16px}.kv>div:nth-child(odd){background:var(--soft);text-align:right;font-size:13px}.decide{background:var(--soft);border:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;margin:0 22px 16px;padding:14px;display:flex}.decide input{border:1px solid var(--field);border-radius:3px;flex:14rem;height:34px;padding:0 10px}.warnbox{color:var(--red);background:#fdecea;border:1px solid #f5c2bd;flex-wrap:wrap;align-items:center;gap:8px;margin:0 22px 16px;padding:10px 14px;display:flex}.warnbox span{flex:14rem}.login{background:linear-gradient(160deg, var(--navy) 0%, #0b2149 100%);place-items:center;min-height:100vh;padding:16px;display:grid}.login form{background:#fff;border-radius:6px;width:100%;max-width:380px;padding:36px 32px}.login h1{letter-spacing:-.5px;color:var(--navy);text-align:center;margin:0 0 6px;font-size:30px;font-weight:800}.login p{color:var(--muted);text-align:center;margin:0 0 24px}.login input{border:1px solid var(--field);border-radius:4px;width:100%;height:42px;margin-bottom:10px;padding:0 12px}.login button{background:var(--navy);color:#fff;cursor:pointer;border:0;border-radius:4px;width:100%;height:44px;margin-top:6px;font-size:15px}.login .err{padding:8px 0 0}.loading{text-align:center;color:var(--muted);padding:40px}.toast{bottom:calc(24px + env(safe-area-inset-bottom,0px));color:#fff;z-index:60;background:#333;border-radius:4px;padding:10px 18px;position:fixed;left:50%;transform:translate(-50%)}@media (width<=1500px){.userbox .sysname:not(.company){display:none}.gnb a{padding:0 16px}}@media (width<=900px){.top{flex-wrap:wrap;height:auto}.brand{flex:1;width:auto;padding:0 14px;line-height:52px}.userbox{padding:0 14px}.userbox>span{display:none}.gnb{border-top:1px solid var(--line);background:var(--soft);flex:0 0 100%;order:3}.gnb a{padding:0 16px;font-size:15px;line-height:46px}.side{display:none}.subnav{display:flex}.main{padding:18px max(16px, env(safe-area-inset-right,0px)) 40px max(16px, env(safe-area-inset-left,0px))}.cards,.cards.two,.dashmap,.dash2,.mapwrap{grid-template-columns:1fr}.big .aside{min-width:0}.form .row,.kv{grid-template-columns:1fr}.form .row>label,.form .row>.lbl,.kv>div:nth-child(odd){text-align:left}.search input[type=text]{width:100%}}.boot{min-height:100vh;color:var(--muted);text-align:center;place-items:center;padding:16px;display:grid}.offline{color:#7a5b00;background:#fff8e1;border:1px solid #f3e0a6;margin-bottom:14px;padding:8px 14px;font-size:13px}.login .notice{color:#7a5b00;text-align:left;background:#fff8e1;border:1px solid #f3e0a6;border-radius:4px;margin:0 0 14px;padding:10px 12px;font-size:13px}.ftabs{flex-wrap:wrap;gap:4px;display:flex}.ftabs button{border:1px solid var(--field);cursor:pointer;background:#fff;border-radius:14px;height:28px;padding:0 12px;font-size:13px}.ftabs button.on{background:var(--navy);border-color:var(--navy);color:#fff}.mapview.fill{min-height:420px}.modal.map{max-width:min(1400px,96vw)}.modal.map .mapview{max-height:78vh;margin:0 22px 20px}.modal.map .mapimg img{max-height:74vh}.dashpage .lockcard .sub,.dashpage .mk span,.dashpage .legend,.dashpage .meter .lb,.dashpage .card>h3 small,.dashpage .grid th,.dashpage .grid td,.dashpage .badge{font-size:15px}.dashpage .card>h3{font-size:16px}body.kiosk .top,body.kiosk .side,body.kiosk .crumb,body.kiosk .subnav{display:none!important}body.kiosk .wrap{min-height:100vh}body.kiosk .main{zoom:1.35;padding:16px 24px 24px}body.kiosk .head{margin-bottom:12px}.brand .logo{width:auto;height:28px;display:block}.login .logo{width:auto;max-width:100%;height:40px;margin:0 auto 14px;display:block}@media (width<=900px){.brand .logo{height:22px}}.big>div:nth-child(2){flex:1;min-width:0}.big .aside{flex:none;min-width:96px}@media (width<=900px){.mk span{padding:0 3px;font-size:11px!important}.mk .lk{width:22px;height:22px}}.dashpage .meter .lb{white-space:nowrap;text-overflow:ellipsis;width:130px;overflow:hidden}.mywork{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px;display:grid}.openrow{border-top:1px solid var(--line);align-items:center;gap:12px;padding:12px 0;display:flex}.openrow:first-of-type{margin-top:8px}.openrow .nm{flex:1;min-width:0}.btn.openbtn{min-width:96px;min-height:52px;font-size:18px}.warn{color:var(--red);margin-top:4px}@media (width<=600px){.mywork{grid-template-columns:1fr}}.card.found{border-color:var(--navy);margin-bottom:16px}.doorlatch .badge+.badge{margin-left:4px}.openlock{border-bottom:1px solid var(--line);padding:10px 0;font-size:17px;line-height:1.5}.openlock .small{font-size:15px}.openlock .badge{font-size:14px}.openlock .row1{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;display:flex}.openlock .doorlatch{white-space:nowrap}.mobile{background:var(--soft);min-height:100dvh}body.phone{background:var(--soft)}.mtop{z-index:10;padding:max(8px, env(safe-area-inset-top,0px)) 12px 8px;border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:8px;display:flex;position:sticky;top:0}.mtop .logo{height:26px}.mtop .gap{flex:1}.mtop button{border:1px solid var(--line);white-space:nowrap;cursor:pointer;background:#fff;border-radius:4px;padding:7px 10px;font-size:13px}.mbody{padding:14px 12px max(24px, env(safe-area-inset-bottom,0px))}.mhead{justify-content:space-between;align-items:center;margin:4px 0 12px;display:flex}.mhead h1{margin:0;font-size:20px}.card.approve{border-color:var(--orange);margin-bottom:16px}.approverow{border:0;border-top:1px solid var(--line);text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;flex-direction:column;gap:2px;padding:12px 0;display:flex}.approverow:first-child{border-top:0}.userbox button.tophone{border-color:var(--navy);color:var(--navy);font-weight:700}.mapsplit{grid-template-columns:200px 1fr;min-height:420px;display:grid}.placetree{border-right:1px solid var(--line);max-height:640px;padding:8px 0;overflow-y:auto}.placetree button{text-align:left;width:100%;font:inherit;cursor:pointer;color:var(--ink);background:0 0;border:0;align-items:center;gap:6px;padding:8px 12px;font-size:15px;display:flex}.placetree button:hover{background:var(--soft)}.placetree button .nm{flex:1;min-width:0}.placetree .lv0{font-weight:700}.placetree .lv0:before{content:"▸";color:var(--muted)}.placetree .lv1{padding-left:30px}.placetree .lv2{padding-left:48px}.placetree .lv3{padding-left:66px}.placetree .lv1:before,.placetree .lv2:before,.placetree .lv3:before{content:"└";color:var(--field)}.placetree button.on{background:var(--select);color:var(--navy);box-shadow:inset 3px 0 0 var(--navy);font-weight:700}.placetree .cnt{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.placetree .cnt.open{color:var(--red);font-weight:700}.mapimg{transition:transform .35s}@media (width<=900px){.mapsplit{grid-template-columns:1fr;min-height:0}.placetree{border-right:0;border-bottom:1px solid var(--line);max-height:220px}}.demogrid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.demogrid .body p{margin:0 0 10px;line-height:1.6}@media (width<=900px){.demogrid{grid-template-columns:1fr}}.brandsplit{align-items:center;gap:10px;display:flex}:is(.brand:has(.brandsplit),.brand:has(.systitle)){width:auto;min-width:240px}.brandsplit .logo.mark{height:38px}.brandsplit .brandname{color:#1a1a2e;letter-spacing:-.5px;white-space:nowrap;font-size:30px;font-weight:800;line-height:1}.mtop .brandsplit .logo.mark{height:28px}.mtop .brandsplit .brandname{font-size:24px}@media (width<=900px){.brandsplit .logo.mark{height:28px}.brandsplit .brandname{font-size:24px}}.login .loginbrand{justify-content:center;margin-top:22px;display:flex}.login .loginbrand .logo{margin:0}.login .brandsplit .logo.mark{height:46px}.login .brandsplit .brandname{color:var(--navy);font-size:32px}.systitle{color:var(--navy);letter-spacing:-.5px;white-space:nowrap;font-size:20px;font-weight:800;line-height:1.2;display:block}.mtop .systitle{font-size:18px}.userbox .sysname.company>.logo{width:auto;height:22px;display:block}.userbox .sysname.company .brandsplit{gap:6px}.userbox .sysname.company .logo.mark{height:26px}.userbox .sysname.company .brandname{color:var(--navy);font-size:18px}.itempicker{border:1px solid var(--field);border-radius:3px;max-width:520px}.lp-bar{border-bottom:1px solid var(--line);background:#f7f8fa;align-items:center;gap:10px;padding:8px 10px;display:flex}.lp-bar input[type=search]{flex:1;min-width:0}.lp-count{white-space:nowrap;font-size:14px}.lp-count b{color:var(--navy)}.lp-list{max-height:300px;overflow-y:auto}.lp-empty{color:var(--muted);padding:14px 12px}.lp-group{border-bottom:1px solid #eceef1}.lp-group:last-child{border-bottom:0}.lp-zone{align-items:center;gap:6px;padding:4px 10px 4px 4px;display:flex}.lp-zone label{cursor:pointer;flex:1;align-items:center;gap:8px;min-width:0;padding:4px 0;display:flex}.lp-arrow{cursor:pointer;width:28px;height:28px;color:var(--muted);background:0 0;border:0;border-radius:3px;font-size:14px}.lp-arrow:hover{background:#eef1f6}.lp-item{cursor:pointer;border-top:1px solid #f4f5f7;align-items:center;gap:8px;padding:6px 10px 6px 42px;display:flex}.lp-item:hover,.lp-zone label:hover{color:var(--navy)}.mtab-title{color:var(--navy);font-size:15px;font-weight:700}body.phone .mbody{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}.mtabs{z-index:40;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px);background:#fff;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 8px #0000000a}.mtabs a{color:#6b7280;flex-direction:column;align-items:center;gap:3px;padding:8px 0 9px;font-size:12px;text-decoration:none;display:flex;position:relative}.mtabs a svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.mtabs a.on{color:var(--navy);font-weight:700}.mtabs a.on svg{stroke-width:2.3px}.mbadge{background:var(--red);color:#fff;text-align:center;border-radius:9px;min-width:18px;height:18px;padding:0 5px;font-size:11px;line-height:18px;position:absolute;top:3px;left:calc(50% + 6px)}.mbadge.inline{margin-left:4px;display:inline-block;position:static}.mseg{background:#e9ecf1;border-radius:8px;margin-bottom:10px;padding:3px;display:flex}.mseg button{font:inherit;color:#4b5563;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:1;padding:8px 4px;font-size:14px}.mseg button.on{color:var(--navy);background:#fff;font-weight:700;box-shadow:0 1px 2px #00000014}.msearch{border:1px solid var(--field);background:#fff;border-radius:8px;width:100%;height:42px;margin-bottom:12px;padding:0 12px;font-size:15px}.mlist{gap:10px;display:grid}.mcard{border:1px solid var(--line);text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:#fff;border-radius:10px;flex-direction:column;gap:5px;padding:14px;display:flex}.mcard.static{cursor:default}.mcard.alert{border-color:var(--red)}.mcard-top{align-items:center;gap:8px;min-width:0;display:flex}.mcard-top b{overflow-wrap:anywhere;min-width:0;font-size:16px}.mcard-top .gap{flex:1}.mempty{text-align:center;color:var(--muted);border:1px dashed var(--line);background:#fff;border-radius:10px;padding:28px 12px}.mme b{font-size:18px}.mmenu{border:1px solid var(--line);background:#fff;border-radius:10px;margin:12px 0 20px;display:grid;overflow:hidden}.mmenu button{border:0;border-top:1px solid var(--line);font:inherit;text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:8px;padding:15px 14px;font-size:15px;display:flex}.mmenu button:first-child{border-top:0}.mmenu button.danger{color:var(--red)}.msub{margin:0 0 10px;font-size:16px}body.phone .mhead .btn{height:40px;padding:0 14px;font-size:15px}body.phone .modal-bg{place-items:stretch stretch;padding:0}body.phone .modal,body.phone .modal.wide{max-width:none;height:100%;max-height:none;box-shadow:none}body.phone .modal>h3{z-index:2;padding:max(14px, env(safe-area-inset-top,0px)) 16px 14px;position:sticky;top:0}body.phone .modal .form{margin:12px}body.phone .form .row,body.phone .kv{grid-template-columns:1fr}body.phone .form .row>label,body.phone .form .row>.lbl,body.phone .kv>div:nth-child(odd){text-align:left;padding:8px 12px}body.phone .form input:not([type=checkbox]):not([type=radio]):not([type=file]),body.phone .form select{max-width:none;height:40px;font-size:15px}body.phone .pair{flex-wrap:wrap}body.phone .modal .acts{padding:12px 12px max(12px, env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:#fff;position:sticky;bottom:0}body.phone .modal .acts .btn{flex:1;height:44px;font-size:15px}body.phone .itempicker{max-width:none}body.phone .lp-item,body.phone .lp-zone label{min-height:40px}body.phone .decide{grid-template-columns:1fr 1fr;gap:8px;display:grid}body.phone .decide b,body.phone .decide input{grid-column:1/-1;width:100%;min-width:0}body.phone .decide input{height:40px}body.phone .decide .btn{justify-content:center;height:44px}.mk.dev{transform:translate(-50%,-9px)}.mk .pin{background:var(--green);border:3px solid #fff;border-radius:50%;width:18px;height:18px;box-shadow:0 1px 3px #00000073}.mk.orange .pin{background:var(--orange)}.mk.orange span{background:var(--orange);color:#fff}.mk.red .pin{background:var(--red);animation:1s infinite blink}.mk.red span{background:var(--red);color:#fff}@media (prefers-reduced-motion:reduce){.mk.red .pin{animation:none}}.mcard .mcard-act{justify-content:center;align-self:flex-end;min-width:88px;height:40px;margin-top:4px}body.phone .mapview{min-height:0;padding:4px}body.phone .mk span{padding:0 3px;font-size:10px}body.phone .mk .pin{border-width:2px;width:13px;height:13px}body.phone .mk.dev{transform:translate(-50%,-6px)}body.phone .zlabel{padding:0 3px;font-size:10px}:root{--person:#1f6fd1;--asset:#1e8e3e;--vehicle:#f07800}.zone.danger{fill:#d9302524;stroke:var(--red)}.zone.danger.on{fill:#d9302547}.zlabel.danger{color:var(--red)}.trail{fill:none;stroke:var(--navy);stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round;opacity:.75;vector-effect:non-scaling-stroke}.trailhead{background:var(--navy);pointer-events:none;border:3px solid #fff;border-radius:50%;width:16px;height:16px;margin:-8px 0 0 -8px;position:absolute;box-shadow:0 1px 4px #00000073}.mk.anc{z-index:1;transform:translate(-50%,-8px)}.mk .dia{background:var(--navy);width:14px;height:14px;margin:1px 0 3px;transform:rotate(45deg);box-shadow:0 0 0 2px #fff,0 1px 3px #00000073}.mk .dia.master{box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--yellow), 0 1px 3px #00000073}.mk.anc span{padding:0 4px;font-size:11px}.mk.anc.orange .dia{background:var(--orange)}.mk.anc.red .dia{background:var(--red);animation:1s infinite blink}.mk.tag{z-index:2;transition:left .9s linear,top .9s linear;transform:translate(-50%,-8px)}.mk.tag .dot{background:var(--person);border:3px solid #fff;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 3px #00000073}.mk.tag.k-asset .dot{background:var(--asset);border-radius:3px}.mk.tag.k-vehicle .dot{background:var(--vehicle)}.mk.tag.s-sleep .dot,.mk.tag.s-lost .dot{background:#b5bac3}.mk.tag.s-lost span{color:var(--muted);font-weight:400}.mk.tag.danger .dot{box-shadow:0 0 0 3px var(--red), 0 1px 3px #00000073;animation:.8s infinite blink}.mk.tag.danger span{background:var(--red);color:#fff}.mk.tag.sel{z-index:3}.mk.tag.sel .dot{outline:3px solid var(--yellow);outline-offset:1px}@media (prefers-reduced-motion:reduce){.mk.tag{transition:none}.mk.tag.danger .dot,.mk.anc.red .dia{animation:none}}body.phone .mk.tag .dot{border-width:2px;width:12px;height:12px}body.phone .mk .dia{width:10px;height:10px}.big.orange .ic{background:var(--orange)}.big.orange .n{color:var(--orange)}.alarmbar{background:var(--red);color:#fff;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;padding:10px 14px;font-weight:600;display:flex}.alarmbar .msg{flex:1;min-width:0}.alarmbar .btn{color:var(--red);background:#fff;border-color:#fff}.alarmbar.calm{color:var(--red);background:#fdecea}.alarmbar.calm .btn{background:var(--red);color:#fff;border-color:var(--red)}.zonebars{gap:8px;display:grid}.zonebar{grid-template-columns:minmax(90px,140px) 1fr 44px;align-items:center;gap:10px;font-size:15px;display:grid}.zonebar .nm{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.zonebar .nm.danger{color:var(--red);font-weight:700}.zonebar .bar{background:#eef0f3;border-radius:4px;height:18px;display:flex;overflow:hidden}.zonebar .bar i{height:100%;display:block}.zonebar b{text-align:right;font-variant-numeric:tabular-nums;font-size:18px}.livewrap{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:16px;display:grid}.taglist{max-height:70vh;overflow-y:auto}.taglist button.item{text-align:left;cursor:pointer;width:100%;font:inherit;background:0 0;border:0;border-bottom:1px solid #f1f2f4;grid-template-columns:auto 1fr auto;align-items:center;gap:2px 8px;padding:9px 14px;display:grid}.taglist button.item.on{background:var(--select)}.taglist .sub{color:var(--muted);grid-column:2/4;font-size:12px}.kdot{border-radius:50%;width:10px;height:10px;display:inline-block}.kdot.k-person{background:var(--person)}.kdot.k-asset{background:var(--asset);border-radius:2px}.kdot.k-vehicle{background:var(--vehicle)}.batt{font-variant-numeric:tabular-nums;align-items:center;gap:4px;display:inline-flex}.batt i{border:1.5px solid;border-radius:2px;width:22px;height:10px;display:inline-block;position:relative}.batt i:after{content:"";width:calc((100% - 2px) * var(--lvl,1));background:currentColor;position:absolute;top:1px;bottom:1px;left:1px}.batt.low{color:var(--red)}.chart{width:100%;height:auto;display:block}.chart text{fill:var(--muted);font-size:11px}.histctl{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.histctl input[type=range]{flex:1;min-width:160px}@media (width<=1100px){.livewrap{grid-template-columns:minmax(0,1fr)}}.red-text{color:var(--red)}.cards.rtls{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.cards.rtls .big{gap:12px;padding:18px}.cards.rtls .big .ic{width:48px;height:48px}.cards.rtls .big .nl{flex-wrap:wrap;min-width:0}.cards.rtls .big .l{font-size:18px}.cards.rtls .big .aside{min-width:108px;padding:8px 10px}.cards.rtls .big .aside span{font-size:14px}.cards.rtls .big .aside b{font-size:28px}.mapview{padding:24px}body.phone .mapview{padding:14px 22px}
