.health-card{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:6px;padding:10px 12px;display:grid}.health-card__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.health-card__head h3{font-size:var(--fs-md);margin:0}.health-card__values{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin:0;display:grid}.health-card__values div{gap:2px;display:grid}.health-card__values dt{color:var(--muted);font-size:var(--fs-sm)}.health-card__values dd{color:var(--ink);font-size:var(--fs-lg,18px);margin:0;font-weight:700;display:grid}.health-card__values dd small{color:var(--muted);font-size:var(--fs-sm);font-weight:400}.health-card__values dd span{color:var(--muted);font-size:var(--fs-xs,12px);font-weight:400}.health-stats{gap:14px;min-width:0;display:grid}.dialog:has(.health-stats){width:min(720px,100% - 24px)}.health-stats__table{max-width:100%;overflow-x:auto}.health-stats__summary,.health-stats__list table{border-collapse:collapse;width:100%;font-size:var(--fs-md)}.health-stats__summary th,.health-stats__summary td,.health-stats__list th,.health-stats__list td{border-bottom:1px solid var(--line);color:var(--ink-2);text-align:right;white-space:nowrap;padding:6px 8px}.health-stats__summary th:first-child,.health-stats__list th:first-child,.health-stats__list td:first-child{text-align:left}.health-stats__summary thead th,.health-stats__list thead th{color:var(--muted);font-size:var(--fs-xs,12px);font-weight:700}.health-stats__summary tbody th{white-space:normal;min-width:120px}.health-stats__list{max-height:320px;overflow:auto}.health-stats__list summary{cursor:pointer;font-weight:600}.health-chart{--series-1:#2a78d6;--series-2:#eb6834;--band:#eef0f3;gap:4px;margin:0;display:grid}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .health-chart{--series-1:#3987e5;--series-2:#d95926;--band:#2e333c}}:root[data-theme=dark] .health-chart{--series-1:#3987e5;--series-2:#d95926;--band:#2e333c}.health-chart figcaption{color:var(--ink);font-weight:700}.health-chart figcaption small{color:var(--muted);font-weight:400}.health-chart svg{width:100%;height:auto;overflow:visible}.health-chart__legend{color:var(--ink-2);font-size:var(--fs-sm);flex-wrap:wrap;gap:12px;margin:0;padding:0;list-style:none;display:flex}.health-chart__legend li{align-items:center;gap:6px;display:flex}.health-chart__swatch{border-radius:2px;width:12px;height:3px;display:inline-block}.health-chart__swatch.health-series-1{background:var(--series-1)}.health-chart__swatch.health-series-2{background:var(--series-2)}.health-chart__grid line{stroke:var(--line);stroke-width:1px}.health-chart__grid text,.health-chart__axis{fill:var(--muted);font-size:12px}.health-chart__line{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.health-series-1 .health-chart__line{stroke:var(--series-1)}.health-series-2 .health-chart__line{stroke:var(--series-2)}.health-chart__point{stroke:var(--surface);stroke-width:2px}.health-series-1 .health-chart__point{fill:var(--series-1)}.health-series-2 .health-chart__point{fill:var(--series-2)}.health-chart__point:hover{r:6}.health-chart__label{fill:var(--ink-2);font-size:12px;font-weight:600}.health-chart__point.is-outside{stroke:var(--bad)}.health-chart__flag{fill:var(--bad);font-size:11px;font-weight:700}.health-chart__band rect{fill:var(--band)}.health-chart__swatch--band{border:1px solid var(--line);background:var(--band);height:10px}.health-chart__swatch--range{background:var(--series-1);width:3px;height:12px}.health-chart__dot{background:var(--series-1);border-radius:50%;width:8px;height:8px;display:inline-block}.health-chart__bar{fill:var(--series-1)}.health-chart__bar:hover{opacity:.8}.health-chart__met{fill:var(--ink-2);font-size:12px;font-weight:700}.health-chart__goal line{stroke:var(--ink-2);stroke-width:1.5px}.health-chart__goal text{fill:var(--ink-2);font-size:12px;font-weight:600}.health-chart__range{stroke:var(--series-1);stroke-width:2px;stroke-linecap:round}.health-chart__hit{fill:#0000}.health-chart__note{color:var(--muted);font-size:var(--fs-sm);margin:0}.health-flag{color:var(--bad);font-size:var(--fs-xs,12px);font-style:normal;font-weight:600}.health-goal{color:var(--ok);font-size:var(--fs-xs,12px);font-style:normal;font-weight:600}.health-stats__list .health-goal{font-size:inherit}.health-out{color:var(--bad);font-weight:700}.health-custom{color:var(--muted);font-weight:400}.health-note{margin:0}.health-life{gap:10px;display:grid}.health-life h3{font-size:var(--fs-md);margin:4px 0 0}.health-tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:0;display:grid}.health-tiles div{border:1px solid var(--line);border-radius:10px;gap:2px;padding:8px 10px;display:grid}.health-tiles dt{color:var(--muted);font-size:var(--fs-sm)}.health-tiles dd{color:var(--ink);font-size:var(--fs-lg,18px);margin:0;font-weight:700}.health-tiles dd small{color:var(--muted);font-size:var(--fs-sm);font-weight:400}.health-settings{border-top:1px solid var(--line);gap:10px;padding-top:10px;display:grid}.health-settings summary{cursor:pointer;color:var(--ink);font-weight:700}.health-settings__form,.health-settings__form fieldset{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid}.health-settings__grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.health-settings__thresholds{border-collapse:collapse;width:100%;font-size:var(--fs-md)}.health-settings__thresholds caption{color:var(--ink);text-align:left;padding-bottom:6px;font-weight:700}.health-settings__thresholds th,.health-settings__thresholds td{border-bottom:1px solid var(--line);color:var(--ink-2);text-align:left;padding:4px 6px}.health-settings__thresholds thead th{color:var(--muted);font-size:var(--fs-xs,12px)}.health-settings__thresholds td{width:92px}.dialog .health-settings__thresholds input{padding:6px 8px}.health-settings__actions{justify-content:flex-end;display:flex}.health-ok{color:var(--ok);background:var(--ok-soft);border-radius:10px;padding:8px 12px;font-weight:600}.home-zone{gap:10px;display:grid}.home-zone h3{font-size:var(--fs-md);margin:6px 0 0}.home-zone__state{color:var(--ink-2);background:var(--idle-soft);border-radius:10px;margin:0;padding:8px 12px;font-weight:700}.home-zone__state.is-home{color:var(--ok);background:var(--ok-soft)}.home-zone__state small{font-weight:400}.home-zone__buttons{flex-wrap:wrap;gap:8px;display:flex}.home-zone__wifi{gap:4px;margin:0;padding:0;list-style:none;display:grid}.home-zone__wifi li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:4px 0;display:flex}.home-zone__network{gap:2px;min-width:0;display:grid}.home-zone__network small{color:var(--ink-2);font-size:var(--fs-sm);overflow-wrap:anywhere}.home-zone__add{gap:8px;display:flex}.home-zone__add input{flex:1;min-width:0}.home-zone__log ul{color:var(--ink-2);margin:6px 0 0;padding-left:18px}.dialog:has(.voice){width:min(640px,100% - 24px)}.voice{gap:12px;min-width:0;display:grid}.voice h3{font-size:var(--fs-md);align-items:center;gap:8px;margin:4px 0 6px;display:flex}.voice section{gap:6px;min-width:0;display:grid}.voice .dialog__primary{border-color:var(--accent);color:var(--on-accent);background:var(--accent);font-weight:700}.voice button.danger{border-color:var(--bad-line);color:var(--bad)}.voice__record{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:10px 12px}.voice__controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.voice__recording{color:var(--ink);flex-wrap:wrap;align-items:center;gap:8px;font-weight:700;display:flex}.voice__recording small{color:var(--muted);font-weight:400}.voice__recording progress{flex:120px;min-width:0}.voice__rec{background:var(--bad);border-radius:50%;width:12px;height:12px;animation:1s infinite voice-blink;display:inline-block}@keyframes voice-blink{50%{opacity:.3}}@media (prefers-reduced-motion:reduce){.voice__rec{animation:none}}.voice__preview{gap:6px;display:grid}.voice__audio{width:100%;max-width:360px;height:40px}.voice__list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.voice__item{border:1px solid var(--line);background:var(--surface);border-radius:10px;gap:4px;padding:8px 10px;display:grid}.voice__item.is-unread{border-color:var(--accent)}.voice__item.is-ours{background:var(--idle-soft)}.voice__item.is-off{opacity:.7}.voice__meta{flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.voice__meta span{color:var(--muted);font-size:var(--fs-sm)}.voice__dot{background:var(--accent);border-radius:50%;width:10px;height:10px;display:inline-block}.voice__status{color:var(--ink-2);font-size:var(--fs-sm);margin:0}.voice__status--new{color:var(--accent);font-weight:700}.voice__status--acknowledged{color:var(--ok)}.voice__status--failed{color:var(--bad)}.voice__status small{color:var(--muted)}.voice__place{font-size:var(--fs-sm);flex-wrap:wrap;align-items:baseline;gap:2px 8px;min-width:0;margin:0;display:flex}.voice__place>span{overflow-wrap:anywhere;color:var(--ink-2)}.voice__place small{color:var(--muted)}.voice__place.is-home strong{color:var(--ok)}.voice__error{color:var(--bad);font-size:var(--fs-sm)}.voice__badge{color:var(--on-status,#fff);background:var(--bad);font-size:var(--fs-xs,12px);border-radius:9px;padding:1px 8px}.voice__form fieldset{border:1px solid var(--line);border-radius:12px;gap:8px;margin:0;padding:10px 12px;display:grid}.voice__form legend{padding:0 4px;font-weight:700}.voice__form label>span,.voice__times>span{color:var(--muted);font-size:var(--fs-sm);display:block}.voice__form input:not([type=checkbox]),.voice__form select{width:100%;min-width:0}.voice__times{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:6px;display:grid}.voice__times>span{grid-column:1/-1}.voice__days{flex-wrap:wrap;gap:4px 12px;display:flex}.device-actions .voice-unread{color:var(--on-status,#fff);background:var(--bad);font-size:var(--fs-xs,12px);border-radius:9px;margin-left:4px;padding:0 6px}.install-prompt{z-index:40;left:10px;right:10px;bottom:calc(var(--nav-mobile,64px) + env(safe-area-inset-bottom) + 10px);color:var(--ink);background:var(--surface);box-shadow:var(--shadow-lg);border-radius:16px;grid-template-columns:44px minmax(0,1fr);gap:10px 12px;padding:12px;display:grid;position:fixed}.install-prompt img{border-radius:10px}.install-prompt__text{font-size:var(--fs-sm);gap:2px;line-height:1.35;display:grid}.install-prompt__text strong{font-size:var(--fs-base)}.install-prompt__actions{grid-column:1/-1;justify-content:flex-end;gap:8px;display:flex}.install-prompt__actions .btn{min-height:44px}.tour{z-index:100;position:fixed;inset:0}.tour__shade{background:var(--backdrop);position:absolute;inset:0}.tour__spot{outline:2px solid var(--accent);box-shadow:0 0 0 9999px var(--backdrop);pointer-events:none;border-radius:12px;transition:top .18s,left .18s,width .18s,height .18s;position:absolute}.tour__card{background:var(--surface);width:min(360px,100vw - 24px);max-height:calc(100dvh - 24px);color:var(--ink);box-shadow:var(--shadow-lg);border-radius:16px;padding:16px 16px 14px;transition:opacity .18s;position:absolute;overflow:auto}.tour--phone .tour__card{width:auto}.tour__card.is-waiting{opacity:.92}.tour__progress{color:var(--muted);font-size:var(--fs-sm);justify-content:space-between;align-items:center;gap:10px;font-weight:700;display:flex}.tour__dots{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:inline-flex}.tour__dots i{background:var(--line);border-radius:50%;width:7px;height:7px}.tour__dots i.is-done{background:var(--accent-line)}.tour__dots i.is-current{background:var(--accent);border-radius:4px;width:18px}.tour__card h2{color:var(--ink);outline:none;margin:8px 0 6px;font-size:1.15rem;line-height:1.3}.tour__body{color:var(--ink);line-height:1.5}.tour__body p{margin:0 0 6px}.tour__actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:14px;display:flex}.tour__skip{margin-right:auto;position:relative}.tour__skip-button{color:var(--muted)}.tour__menu{z-index:1;border:1px solid var(--line);background:var(--surface);width:250px;box-shadow:var(--shadow-lg);border-radius:12px;gap:2px;padding:6px;display:grid;position:absolute;bottom:calc(100% + 6px);left:0}.tour__menu button{min-height:40px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 10px;font-weight:600}.tour__menu button:hover,.tour__menu button:focus-visible{background:var(--accent-soft)}.tour__menu small{color:var(--muted);font-size:var(--fs-sm);padding:4px 10px 2px;line-height:1.35}@media (prefers-reduced-motion:reduce){.tour__spot,.tour__card{transition:none}}.tour-settings{border:1px solid var(--line);border-radius:12px;gap:6px;margin:4px 0 14px;padding:12px 14px;display:grid}.tour-settings h3{color:var(--ink);font-size:var(--fs-base);margin:0}.tour-settings .form-hint{margin:0}.tour-settings__row{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.tour-settings__row label{color:var(--muted);font-size:var(--fs-sm);gap:4px;font-weight:600;display:grid}.tour-settings__row select{border:1px solid var(--line);min-height:40px;color:var(--ink);background:var(--surface);font:inherit;border-radius:10px;padding:4px 8px}.map-tools{justify-items:end;display:grid;position:relative}.map-tools .icon{flex:none}.map-tools__menu{z-index:5;min-width:260px}.map-tools__menu button{gap:2px;min-height:44px;display:grid}.map-tools__menu small{color:var(--muted);font-size:var(--fs-sm);font-weight:400}.map-tools__panel{z-index:5;border:1px solid var(--line);width:min(330px,100% - 100px);max-height:calc(100% - 140px);color:var(--ink);background:var(--surface);box-shadow:var(--shadow-lg);text-align:left;border-radius:14px;gap:10px;padding:12px 14px 14px;display:grid;position:absolute;bottom:56px;left:14px;overflow:auto}.map-tools__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.map-tools__head h2{font-size:var(--fs-lg);margin:0}.map-tools__close{width:44px;height:44px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;margin:-6px -8px -6px 0;font-size:18px;display:grid}.map-tools__close:hover,.map-tools__close:focus-visible{background:var(--canvas)}.map-tools__hint,.map-tools__note{color:var(--ink-2);font-size:var(--fs-md);margin:0}.map-tools__note{color:var(--muted)}.map-tools__total{font-size:var(--fs-base);font-variant-numeric:tabular-nums;margin:0}.map-tools__actions{flex-wrap:wrap;gap:8px;display:flex}.map-tools__actions .btn{min-height:44px}.map-tools__actions .btn.is-active{border-color:var(--accent);color:var(--on-accent);background:var(--accent)}.map-tools__wide{width:100%;min-height:44px}.map-tools__legs{max-height:160px;font-size:var(--fs-md);font-variant-numeric:tabular-nums;gap:2px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.map-tools__legs li{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:3px 0;display:flex}.map-tools__legs li span:first-child{color:var(--muted)}.map-tools__search{gap:8px;display:flex}.map-tools__search input{border:1px solid var(--line);min-width:0;min-height:44px;color:var(--ink);background:var(--surface);font:inherit;border-radius:10px;flex:1;padding:6px 10px}.map-tools__search .btn{min-height:44px}.map-tools__results,.map-tools__nearest{gap:4px;margin:0;padding:0;list-style:none;display:grid}.map-tools__results button,.map-tools__nearest button{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);background:var(--surface);text-align:left;font-size:var(--fs-md);cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:6px 10px;display:flex}.map-tools__results button:hover,.map-tools__nearest button:hover{background:var(--canvas)}.map-tools__results button.is-active,.map-tools__nearest button.is-active{border-color:var(--accent);background:var(--accent-soft)}.map-tools__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.map-tools__distance{font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:6px;display:inline-flex}.map-tools__distance small{min-width:22px;color:var(--muted)}.map-tools__arrow{color:var(--me);font-weight:700;display:inline-block}.map-tools-vertex{pointer-events:none;align-items:center;gap:4px;height:14px;display:flex}.map-tools-vertex__dot{border:3px solid var(--map-ink);background:var(--surface);box-sizing:border-box;border-radius:50%;flex:none;width:14px;height:14px}.map-tools-vertex.is-first .map-tools-vertex__dot{background:var(--map-ink)}.map-tools-vertex__label{color:#fff;font-size:var(--fs-sm);white-space:nowrap;background:#0f1d2bd9;border-radius:999px;padding:1px 7px;font-weight:700}.map-tools-pin{pointer-events:none;width:28px;height:34px;position:relative}.map-tools-pin:before{content:"";background:var(--bad);box-sizing:border-box;border:3px solid #fff;border-radius:50% 50% 50% 0;width:24px;height:24px;position:absolute;top:1px;left:2px;transform:rotate(-45deg);box-shadow:0 2px 6px #0f1d2b59}.map-tools-pin:after{content:"";background:var(--surface);border-radius:50%;width:6px;height:6px;position:absolute;top:10px;left:11px}.map-tools-link-label{border:2px solid var(--me);color:var(--me-ink);background:var(--surface);box-shadow:var(--shadow);font-size:var(--fs-md);white-space:nowrap;pointer-events:none;border-radius:999px;padding:2px 10px;font-weight:700;transform:translate(-50%,-50%)}.device-popup__links{border-top:1px solid var(--line);flex-wrap:wrap;gap:6px 14px;margin-top:8px;padding-top:8px;display:flex}.device-popup__links .device-popup__link{min-height:32px;color:var(--accent-ink);text-underline-offset:2px;align-items:center;font-weight:700;text-decoration:underline;display:inline-flex}@media (width<=700px){.map-tools .map-tools__menu{top:auto;left:10px;right:10px;bottom:calc(var(--nav-mobile,64px) + env(safe-area-inset-bottom) + 10px);min-width:0;position:fixed}.map-tools__panel{top:auto;left:10px;right:10px;bottom:calc(var(--nav-mobile,64px) + env(safe-area-inset-bottom) + 10px);z-index:35;width:auto;max-height:46vh;position:fixed}}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-devanagari-400-normal-CJDn6rn8.woff2)format("woff2"),url(/assets/poppins-devanagari-400-normal-CqVvlrh5.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-latin-ext-400-normal-by3JarPu.woff2)format("woff2"),url(/assets/poppins-latin-ext-400-normal-DaBSavcJ.woff)format("woff");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:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-latin-400-normal-cpxAROuN.woff2)format("woff2"),url(/assets/poppins-latin-400-normal-BOb3E3N0.woff)format("woff");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:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-devanagari-500-normal-BIdkeU1p.woff2)format("woff2"),url(/assets/poppins-devanagari-500-normal-DMPDjHtT.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-latin-ext-500-normal-CK-6C4Hw.woff2)format("woff2"),url(/assets/poppins-latin-ext-500-normal-CgAe2rWW.woff)format("woff");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:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-latin-500-normal-C8OXljZJ.woff2)format("woff2"),url(/assets/poppins-latin-500-normal-DGXqpDMm.woff)format("woff");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:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-devanagari-600-normal-STEjXBNN.woff2)format("woff2"),url(/assets/poppins-devanagari-600-normal-ClASKHrr.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-latin-ext-600-normal-CAhIAdZj.woff2)format("woff2"),url(/assets/poppins-latin-ext-600-normal-Df5ffKXP.woff)format("woff");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:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-latin-600-normal-zEkxB9Mr.woff2)format("woff2"),url(/assets/poppins-latin-600-normal-BJdTmd5m.woff)format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2)format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2)format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2)format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2)format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff)format("woff");unicode-range:U+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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff)format("woff");unicode-range:U+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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff");unicode-range:U+??,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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2)format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2)format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2)format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2)format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff)format("woff");unicode-range:U+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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2)format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff)format("woff");unicode-range:U+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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff");unicode-range:U+??,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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2)format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2)format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2)format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2)format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff)format("woff");unicode-range:U+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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2)format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff)format("woff");unicode-range:U+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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff");unicode-range:U+??,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}:root{color:var(--ink);background:var(--canvas);font-synthesis:none;text-rendering:optimizelegibility}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button{cursor:pointer}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{grid-template-columns:230px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:var(--nav-muted);background:var(--navy);flex-direction:column;padding:24px 16px;display:flex}.brand{color:#fff;font-size:var(--fs-lg);align-items:center;gap:11px;padding:0 8px 30px;font-weight:700;display:flex}.brand b{color:var(--nav-active)}.brand__pin{width:34px;height:34px;color:var(--on-accent);background:var(--accent);border-radius:11px 11px 17px 17px;place-items:center;font-size:1rem;display:grid}.sidebar nav{gap:6px;display:grid}.sidebar nav button{width:100%;color:var(--nav-muted);text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:11px 12px;display:flex}.sidebar nav button span{width:25px;height:25px;font-size:var(--fs-md);background:#ffffff14;border-radius:7px;place-items:center;font-weight:700;display:grid}.sidebar nav button:hover,.sidebar nav button.is-active{color:#fff;background:#ffffff1c}.sidebar nav button.is-active span{color:var(--on-accent);background:var(--accent)}.sidebar nav button{position:relative}.sidebar nav .nav-badge{width:auto;min-width:18px;height:18px;color:var(--on-status);background:var(--bad);font-size:var(--fs-xs);border-radius:9px;padding:0 5px;position:absolute;top:6px;right:10px}.sidebar__footer{gap:9px;margin-top:auto;padding:18px 9px 2px;display:grid}.sidebar__footer small{color:var(--nav-muted)}.status-chip{width:fit-content;color:var(--nav-ink);font-size:var(--fs-md);font-weight:700}.status-chip:before{content:"";background:var(--ok);width:7px;height:7px;box-shadow:0 0 0 4px var(--ok-soft);border-radius:50%;margin-right:7px;display:inline-block}.workspace{min-width:0;padding:0 24px 24px}.topbar{justify-content:space-between;align-items:center;gap:20px;min-height:96px;display:flex}.topbar p{color:var(--muted);font-size:var(--fs-md);margin:0 0 2px}.topbar h1{color:var(--ink);font-size:var(--fs-2xl);margin:0}.topbar__actions{color:var(--muted);font-size:var(--fs-md);align-items:center;gap:12px;display:flex}.topbar__actions button{border:1px solid var(--line);color:var(--ink-2);background:var(--surface);border-radius:10px;padding:9px 12px}.topbar__actions .avatar{width:38px;height:38px;color:var(--on-accent);background:var(--accent);border:0;border-radius:50%;place-items:center;padding:0;font-weight:700;display:grid}.user-chip{color:var(--ink-2);align-items:center;gap:9px;font-weight:600;display:flex}.topbar__actions .user-chip{background:0 0;border:0;padding:0}.topbar__actions .user-chip:hover .user-chip__name{text-decoration:underline}.login-screen{background:var(--navy);place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{background:var(--surface);width:min(100%,380px);box-shadow:var(--shadow-lg);border-radius:16px;gap:16px;padding:30px 28px;display:grid}.login-card .brand{color:var(--ink);justify-content:center;padding:0 0 4px}.login-card h1{color:var(--ink);font-size:var(--fs-xl);text-align:center;margin:0}.login-card label{color:var(--muted);font-size:var(--fs-md);gap:6px;font-weight:600;display:grid}.login-card input{border:1px solid var(--input-border);width:100%;color:var(--ink);background:var(--input-bg);border-radius:9px;outline:none;padding:11px 12px}.login-card input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus)}.login-card button{color:var(--on-accent);background:var(--accent);border:0;border-radius:10px;padding:12px;font-weight:700}.login-card button:disabled{cursor:wait;opacity:.7}.login-card .error-box{margin:0}.login-notice{color:var(--warn);background:var(--warn-soft);font-size:var(--fs-md);text-align:center;border-radius:9px;margin:0;padding:10px}.login-screen>.login-notice{color:var(--nav-muted);background:0 0}.dashboard{border:1px solid var(--line);background:var(--surface);min-height:calc(100vh - 120px);box-shadow:var(--shadow);border-radius:16px;grid-template-columns:minmax(310px,380px) minmax(0,1fr);display:grid;overflow:hidden}.device-panel{border-right:1px solid var(--line);flex-direction:column;min-height:0;display:flex}.device-panel__heading{justify-content:space-between;align-items:center;padding:22px 22px 14px;display:flex}.device-panel__heading h2{font-size:var(--fs-xl);margin:0}.device-panel__heading p{color:var(--muted);font-size:var(--fs-md);margin:4px 0 0}.device-panel__heading button{width:34px;height:34px;color:var(--on-accent);background:var(--accent);border:0;border-radius:9px;font-size:1.375rem}.search{padding:0 22px}.search input{border:1px solid var(--input-border);width:100%;color:var(--ink);background:var(--input-bg);border-radius:9px;outline:none;padding:10px 12px}.search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus)}.filters{gap:7px;padding:13px 22px;display:flex}.filters button{color:var(--muted);background:var(--canvas);font-size:var(--fs-md);border:0;border-radius:15px;padding:6px 10px}.device-list{padding:0 10px 14px;overflow:auto}.device-card{width:100%;color:inherit;text-align:left;background:0 0;border:1px solid #0000;border-radius:11px;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px 12px;display:grid}.device-card:hover{background:var(--surface-2)}.device-card.is-selected{border-color:var(--accent-line);background:var(--accent-soft)}.device-card__body,.device-card__metric{gap:4px;display:grid}.device-card__body strong{text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-md);overflow:hidden}.device-card small{color:var(--muted);font-size:var(--fs-md)}.device-card__metric{text-align:right}.device-card__metric strong{color:var(--ink-2);font-size:var(--fs-md)}.state-dot{background:var(--idle);border-radius:50%;width:8px;height:8px}.state-dot--online{background:var(--ok);box-shadow:0 0 0 4px var(--ok-soft)}.state-dot--offline{background:var(--bad);box-shadow:0 0 0 4px var(--bad-soft)}.error-box{color:var(--err);background:var(--err-soft);font-size:var(--fs-md);border-radius:9px;margin:4px 22px 12px;padding:10px}.map-panel{background:var(--map-land);min-width:0;min-height:500px;position:relative}.map-panel>.map{position:absolute;inset:0}.map-loading{color:var(--ink-2);background:var(--map-land);font-size:var(--fs-md);place-items:center;display:grid;position:absolute;inset:0}.map-marker{background:var(--idle);border:3px solid #fff;border-radius:50% 50% 50% 0;width:26px;height:26px;transform:rotate(-45deg);box-shadow:0 3px 9px #00000040}.map-marker--online{background:var(--accent)}.map-marker--offline{background:var(--idle)}.map-marker.is-selected{border-width:4px;width:34px;height:34px}.map-toolbar{z-index:2;gap:7px;display:flex;position:absolute;top:14px;right:14px}.map-toolbar button{border:1px solid var(--line);color:var(--ink-2);background:var(--glass);box-shadow:var(--shadow);font-size:var(--fs-md);border-radius:8px;padding:8px 10px}.map-toolbar button.is-active{border-color:var(--accent);color:var(--on-accent);background:var(--accent);font-weight:700}.map-summary{z-index:2;border:1px solid var(--line);color:var(--ink-2);background:var(--glass);box-shadow:var(--shadow-lg);font-size:var(--fs-md);border-radius:10px;justify-content:space-between;gap:12px;padding:11px 14px;display:flex;position:absolute;bottom:16px;left:16px;right:16px}.map-summary span{color:var(--muted)}.map-panel .maplibregl-ctrl-bottom-left,.map-panel .maplibregl-ctrl-bottom-right{bottom:60px}.history-toolbar{z-index:2;flex-wrap:wrap;gap:8px;display:flex;position:absolute;top:14px;left:14px;right:14px}.history-presets,.history-custom{border:1px solid var(--line);background:var(--glass);box-shadow:var(--shadow);border-radius:10px;gap:4px;padding:4px;display:flex}.history-presets button,.history-custom button{color:var(--ink-2);font-size:var(--fs-md);background:0 0;border:0;border-radius:7px;padding:7px 11px}.history-presets button.is-active,.history-custom button{color:var(--on-accent);background:var(--accent);font-weight:700}.history-export{align-items:center;gap:5px;display:inline-flex}.history-export svg{width:16px;height:16px}.history-custom input{border:1px solid var(--input-border);color:var(--ink);background:var(--input-bg);font-size:var(--fs-base);border-radius:7px;padding:5px 7px}.history-notice{z-index:2;width:min(420px,100% - 40px);color:var(--ink-2);background:var(--glass);box-shadow:var(--shadow-lg);font-size:var(--fs-md);text-align:center;border-radius:12px;padding:14px 16px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.history-notice--error{color:var(--err);background:var(--err-soft)}.route-endpoint{border:3px solid #fff;border-radius:50%;width:18px;height:18px;box-shadow:0 2px 7px #0000004d}.route-endpoint--start{background:var(--ok)}.route-endpoint--end{background:var(--inverse)}.route-current{cursor:pointer;background:var(--accent);border:3px solid #fff;border-radius:50%;place-items:center;width:30px;height:30px;display:grid;box-shadow:0 3px 10px #0000004d}.route-current__arrow{transform-origin:50% 60%;border-bottom:12px solid #fff;border-left:6px solid #0000;border-right:6px solid #0000;width:0;height:0}.map-panel--history .maplibregl-ctrl-bottom-left,.map-panel--history .maplibregl-ctrl-bottom-right{bottom:116px}.playback{z-index:3;border:1px solid var(--line);background:var(--glass);box-shadow:var(--shadow-lg);border-radius:12px;align-items:center;gap:8px;padding:7px 10px;display:flex;position:absolute;bottom:62px;left:16px;right:16px}.playback button{border:1px solid var(--line);width:34px;height:34px;color:var(--ink-2);background:var(--surface);border-radius:9px;flex:none;place-items:center;display:grid}.playback button:first-child{border-color:var(--accent);color:var(--on-accent);background:var(--accent)}.playback button:disabled,.playback input:disabled{cursor:not-allowed;opacity:.45}.playback button.is-active{border-color:var(--accent-line);color:var(--accent-ink);background:var(--accent-soft)}.playback input[type=range]{min-width:60px;accent-color:var(--accent);flex:1}.playback__time{min-width:68px;color:var(--ink);font-size:var(--fs-md);text-align:right;font-weight:700;display:grid}.playback__time small{color:var(--muted);font-weight:400}.playback__note{color:var(--warn);font-size:var(--fs-md);flex:100%;order:11}.playback select{border:1px solid var(--line);color:var(--ink-2);background:var(--surface);font-size:var(--fs-base);border-radius:8px;padding:6px}.route-points{z-index:2;border:1px solid var(--line);background:var(--glass);width:250px;max-height:calc(100% - 200px);box-shadow:var(--shadow-lg);border-radius:12px;margin:0;padding:4px;list-style:none;position:absolute;top:62px;right:14px;overflow:auto}.route-points button{width:100%;color:var(--ink-2);font-size:var(--fs-md);text-align:left;background:0 0;border:0;border-radius:7px;grid-template-columns:1fr auto auto;gap:10px;padding:6px 8px;display:grid}.route-points button:hover{background:var(--surface-2)}.route-points button.is-current{color:var(--accent-ink);background:var(--accent-soft);font-weight:700}.route-points ol{margin:0;padding:0;list-style:none}.route-points__tabs{z-index:1;background:var(--surface);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:4px;margin:-4px -4px 4px;padding:4px;display:grid;position:sticky;top:-4px}.route-points .route-points__tabs button{color:var(--muted);text-align:center;padding:6px;font-weight:700;display:block}.route-points .route-points__tabs button.is-active{color:var(--on-accent);background:var(--accent)}.route-points__empty{color:var(--muted);font-size:var(--fs-md);margin:8px}.route-points button.route-parking-item{grid-template-columns:auto 1fr auto;align-items:center}.route-parking-badge,.route-parking{width:22px;height:22px;color:var(--on-status);background:var(--parked);border-radius:6px;place-items:center;font-size:.8125rem;font-weight:700;line-height:1;display:grid}.route-parking{cursor:pointer;border:2px solid #fff;width:26px;height:26px;padding:0;font-size:.9375rem;box-shadow:0 2px 7px #0000004d}.route-parking-popup{min-width:170px;font-size:var(--fs-md);gap:4px;display:grid}.route-parking-popup div{justify-content:space-between;gap:12px;display:flex}.route-parking-popup span{color:var(--muted)}.form-hint{color:var(--muted);font-size:var(--fs-md);margin:0}.dialog{width:min(440px,100% - 24px);color:var(--ink);box-shadow:var(--shadow-lg);border:0;border-radius:16px;padding:0}.dialog::backdrop{background:#1b212d8c}.dialog__body{gap:14px;padding:24px;display:grid}.dialog h2{font-size:var(--fs-xl);margin:0}.dialog p{color:var(--ink-2);font-size:var(--fs-md);margin:0;line-height:1.5}.dialog label{color:var(--muted);font-size:var(--fs-md);gap:6px;font-weight:600;display:grid}.dialog input{border:1px solid var(--input-border);width:100%;color:var(--ink);background:var(--input-bg);border-radius:9px;outline:none;padding:10px 12px}.dialog input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus)}.dialog .error-box{margin:0}.dialog__actions{justify-content:flex-end;gap:8px;display:flex}.dialog__actions button{border:1px solid var(--line);color:var(--ink-2);background:var(--surface);border-radius:10px;padding:9px 14px}.dialog__actions .dialog__primary{border-color:var(--accent);color:var(--on-accent);background:var(--accent);font-weight:700}.dialog__actions .dialog__primary:disabled{cursor:wait;opacity:.7}.topbar__actions .has-alarms{border-color:var(--bad-line);color:var(--bad)}.badge{min-width:19px;height:19px;color:var(--on-status);background:var(--bad);font-size:var(--fs-xs);border-radius:10px;place-items:center;margin-left:7px;padding:0 5px;font-weight:700;display:inline-grid}.alarms{border:1px solid var(--line);background:var(--surface);min-height:calc(100vh - 120px);box-shadow:var(--shadow);border-radius:16px;padding:18px 22px}.alarms__toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.alarms__toolbar .filters{padding:0}.alarms__toggle{color:var(--muted);font-size:var(--fs-md);align-items:center;gap:7px;display:flex}.alarms .error-box{margin:0 0 12px}.alarms__empty{color:var(--muted);font-size:var(--fs-md)}.alarms__list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.alarm{border:1px solid var(--line);border-radius:11px;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.alarm__severity{background:var(--idle);border-radius:50%;width:10px;height:10px}.alarm--warning .alarm__severity{background:var(--evaluation);box-shadow:0 0 0 4px var(--warn-soft)}.alarm__body{gap:3px;min-width:0;display:grid}.alarm__body strong{font-size:var(--fs-base)}.alarm__body small{color:var(--muted);font-size:var(--fs-md);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.alarm button{border:1px solid var(--accent);color:var(--on-accent);background:var(--accent);font-size:var(--fs-md);border-radius:9px;padding:7px 12px;font-weight:700}.alarm__done{color:var(--ok);font-size:var(--fs-md);text-align:right}.alarm.is-acknowledged{opacity:.72}.alarms__more{border:1px solid var(--line);color:var(--ink-2);background:var(--surface);border-radius:10px;margin-top:12px;padding:9px 14px}.devices-view{border:1px solid var(--line);background:var(--surface);min-height:calc(100vh - 120px);box-shadow:var(--shadow);border-radius:16px;padding:18px 22px}.devices-view__toolbar{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.devices-view__toolbar p{color:var(--muted);font-size:var(--fs-md);margin:0}.devices-view__toolbar>button{color:var(--on-accent);background:var(--accent);border:0;border-radius:10px;padding:9px 14px;font-weight:700}.devices-view{min-width:0;max-width:100%}.devices-table{border-collapse:collapse;width:100%;font-size:var(--fs-md)}.devices-table th{border-bottom:1px solid var(--line);color:var(--muted);font-size:var(--fs-xs);text-align:left;text-transform:uppercase;padding:8px 10px;font-weight:700}.devices-table td{border-bottom:1px solid var(--line);color:var(--ink-2);white-space:nowrap;padding:10px}.devices-table .state-dot{margin-right:6px;display:inline-block}.devices-table .mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:var(--fs-md)}.devices-table__actions{text-align:right}.devices-table__actions button{border:1px solid var(--line);color:var(--ink-2);background:var(--surface);font-size:var(--fs-md);border-radius:8px;margin-left:6px;padding:6px 10px}.devices-table__actions button.danger{border-color:var(--bad-line);color:var(--bad)}.link-button{color:var(--ink);text-align:left;background:0 0;border:0;padding:0;font-weight:700}.link-button:hover{color:var(--accent-ink);text-decoration:underline}.dialog__actions .dialog__danger{border-color:var(--bad);background:var(--bad)}.geofence-tools{gap:6px;padding:0 22px 12px;display:flex}.geofence-tools button{border:1px solid var(--line);color:var(--ink-2);background:var(--surface);font-size:var(--fs-md);border-radius:9px;flex:1;padding:8px;font-weight:700}.geofence-form{border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:12px;gap:10px;margin:0 22px 12px;padding:12px;display:grid}.geofence-form p{color:var(--warn);font-size:var(--fs-md);margin:0}.geofence-form label{color:var(--muted);font-size:var(--fs-md);gap:5px;font-weight:600;display:grid}.geofence-form input[type=text],.geofence-form input:not([type]){border:1px solid var(--input-border);background:var(--surface);border-radius:8px;padding:8px 10px}.geofence-form input[type=range]{accent-color:var(--accent)}.geofence-form>button{border:1px solid var(--line);background:var(--surface);font-size:var(--fs-md);border-radius:8px;justify-self:start;padding:6px 10px}.geofence-form .dialog__actions button{font-size:var(--fs-md);padding:7px 12px}.geofence-list{gap:4px;margin:0;padding:0 10px 14px;list-style:none;display:grid;overflow:auto}.geofence-list li{border:1px solid #0000;border-radius:11px;align-items:center;gap:8px;padding:4px 6px 4px 0;display:flex}.geofence-list li.is-selected{border-color:var(--accent-line);background:var(--accent-soft)}.geofence-list__name{color:inherit;text-align:left;background:0 0;border:0;flex:1;gap:3px;padding:8px 12px;display:grid}.geofence-list .danger{border:1px solid var(--bad-line);color:var(--bad);background:var(--surface);font-size:var(--fs-md);border-radius:8px;padding:5px 9px}.geofence-empty{color:var(--muted);font-size:var(--fs-md);margin:4px 22px}.reports-toolbar{flex-wrap:wrap;justify-content:flex-start}.reports-toolbar .filters{padding:0}.reports-toolbar>button{margin-left:auto}.reports-toolbar>button:disabled{opacity:.5}.reports-custom{gap:6px;display:flex}.reports-custom input{border:1px solid var(--input-border);font-size:var(--fs-base);border-radius:8px;padding:6px 8px}.reports-custom button{color:var(--on-accent);background:var(--accent);font-size:var(--fs-md);border:0;border-radius:8px;padding:6px 10px;font-weight:700}.reports-range{color:var(--muted);font-size:var(--fs-md);margin:0 0 12px}.reports-day td{color:var(--muted);background:var(--surface-2);font-size:var(--fs-md)}.reports-day td:first-child{padding-left:32px}.link-button:disabled{cursor:default}.device-popup-wrap{z-index:3}.device-popup-wrap .maplibregl-popup-content{box-shadow:var(--shadow-lg);border-radius:12px;padding:14px 16px 12px}.device-popup-wrap .maplibregl-popup-close-button{width:24px;height:24px;color:var(--muted);border-radius:6px;font-size:1.25rem;line-height:20px;top:6px;right:8px}.device-popup-wrap .maplibregl-popup-close-button:hover{background:var(--canvas)}.device-popup__title{color:var(--ink);font-size:var(--fs-base);margin:0 26px 8px 0;display:block}.device-popup dl{font-size:var(--fs-md);grid-template-columns:auto 1fr;gap:4px 10px;margin:0;display:grid}.device-popup dd{color:var(--ink);margin:0;font-weight:600}.device-popup__status--off{color:var(--bad)!important}.dialog__form{gap:14px;display:grid}.parent-picker{border:1px solid var(--line);border-radius:8px;gap:8px;min-width:0;margin:0;padding:10px 12px;display:grid}.parent-picker legend{padding:0 4px;font-weight:700}.parent-picker .form-hint{margin:0}.parent-picker__list{gap:2px;max-height:220px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.parent-picker__list button{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:6px;flex-wrap:wrap;align-items:baseline;gap:6px;padding:8px;display:flex}.parent-picker__list button:hover,.parent-picker__list button:focus-visible{background:var(--surface-2,#7f7f7f1f)}.dialog h3{font-size:var(--fs-lg);margin:6px 0 0}.dialog__hint{color:var(--warn)!important}.password-form{gap:12px;display:grid}.password-form label,.login-card .password-form label{color:var(--muted);font-size:var(--fs-md);gap:6px;font-weight:600;display:grid}.password-form input{border:1px solid var(--input-border);background:var(--input-bg);border-radius:9px;outline:none;width:100%;padding:10px 12px}.password-form .error-box{margin:0}.password-form .dialog__primary{color:var(--on-accent);background:var(--accent);border:0;border-radius:10px;padding:11px;font-weight:700}.login-card__secondary{justify-self:center;color:var(--muted)!important;background:0 0!important;font-weight:600!important}.temporary-password{border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:12px;gap:8px;padding:14px;display:grid}.temporary-password p{font-size:var(--fs-md);margin:0}.temporary-password__value{align-items:center;gap:10px;display:flex}.temporary-password code{background:var(--surface);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:var(--fs-lg);letter-spacing:.06em;border-radius:8px;flex:1;padding:10px 12px}.temporary-password button{border:1px solid var(--accent);color:var(--accent-ink);background:var(--surface);border-radius:8px;padding:8px 12px;font-weight:700}.temporary-password__note{color:var(--warn);font-size:var(--fs-md)!important}.account-details{font-size:var(--fs-md);grid-template-columns:auto 1fr;gap:6px 14px;margin:0;display:grid}.account-details dt{color:var(--muted)}.account-details dd{margin:0;font-weight:600}.muted{color:var(--muted);font-weight:400}.scope-picker{border:1px solid var(--line);border-radius:12px;gap:8px;margin:0;padding:10px 12px;display:grid}.scope-picker legend{color:var(--muted);font-size:var(--fs-md);padding:0 4px;font-weight:600}.scope-picker__modes{font-size:var(--fs-md);flex-wrap:wrap;gap:14px;display:flex}.scope-picker__modes label,.scope-picker__list label{align-items:center;gap:7px;font-weight:400;display:flex}.scope-picker__modes input,.scope-picker__list input{width:auto}.scope-picker__search{font-size:var(--fs-md);padding:7px 10px!important}.scope-picker__list{max-height:190px;font-size:var(--fs-md);gap:4px;display:grid;overflow:auto}.scope-picker__list small{color:var(--muted)}.scope-picker__bulk{gap:6px;display:flex}.scope-picker__bulk button{border:1px solid var(--line);background:var(--surface);font-size:var(--fs-md);border-radius:8px;padding:5px 9px}.map-marker--icon{border:3px solid var(--idle);background:var(--surface);border-radius:50%;place-items:center;width:36px;height:36px;padding:0;font-size:1.1875rem;line-height:1;display:grid;transform:none}.map-marker--icon.map-marker--online{border-color:var(--ok);background:var(--surface)}.map-marker--icon.map-marker--offline{border-color:var(--bad);background:var(--surface)}.map-marker--icon.is-selected{width:44px;height:44px;box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 35%, transparent), 0 3px 9px #00000040;border-width:4px;font-size:1.4375rem}.device-symbol{font-weight:400}.icon-picker{border:1px solid var(--line);border-radius:12px;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:6px;margin:0;padding:10px;display:grid}.icon-picker legend{color:var(--muted);font-size:var(--fs-md);padding:0 4px;font-weight:600}.icon-picker button{border:1px solid var(--line);background:var(--surface);border-radius:10px;justify-items:center;gap:2px;padding:7px 4px;display:grid}.icon-picker button span{font-size:1.375rem}.icon-picker button small{color:var(--muted);font-size:var(--fs-md)}.icon-picker button.is-active{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent-line)}@media (width<=900px){.app-shell{grid-template-columns:74px minmax(0,1fr)}.brand{justify-content:center;padding-inline:0}.dashboard{grid-template-columns:minmax(280px,330px) minmax(0,1fr)}}@media (width<=700px){.app-shell{display:block}.workspace{padding:0 10px 82px}.topbar{min-height:76px}.topbar__actions>span:not(.user-chip),.topbar__actions>button:not(.logout):not(.user-chip),.user-chip__name{display:none}.dashboard{min-height:auto;display:block}.map-panel{min-height:48vh}.map-summary{display:grid}.devices-view{padding:14px 12px}.devices-table thead{display:none}.devices-table,.devices-table tbody,.devices-table tr,.devices-table td{width:100%;display:block}.devices-table tr{border:1px solid var(--line);border-radius:12px;margin-bottom:10px;padding:8px 12px}.devices-table td{text-align:right;white-space:normal;overflow-wrap:anywhere;border:0;justify-content:space-between;gap:12px;padding:4px 0;display:flex}.devices-table td:before{content:attr(data-label);color:var(--muted);font-size:var(--fs-md);text-align:left;flex:none;font-weight:600}.devices-table td:first-child{font-size:var(--fs-base);text-align:left;justify-content:flex-start}.devices-table td:first-child:before,.devices-table td.devices-table__actions:before{content:none}.devices-table td.devices-table__actions{flex-wrap:wrap;justify-content:flex-start;gap:6px;padding-top:8px}.devices-table__actions button{margin-left:0}.devices-table tr.reports-day{background:var(--surface-2);margin:-6px 0 10px 14px}.devices-view__toolbar{flex-wrap:wrap}.map-panel .maplibregl-ctrl-bottom-left,.map-panel .maplibregl-ctrl-bottom-right{bottom:84px}.device-popup-wrap .maplibregl-popup-content{padding:10px 12px 8px}.device-popup__title{font-size:var(--fs-base);margin-bottom:5px}.device-popup dl{font-size:var(--fs-md);gap:2px 8px}.map-panel--history .maplibregl-ctrl-bottom-left,.map-panel--history .maplibregl-ctrl-bottom-right{bottom:140px}.playback{flex-wrap:wrap;bottom:86px}.playback input[type=range]{flex-basis:100%;order:10}.route-points{width:auto;max-height:30%;inset:auto 10px 150px}}.signal-bars{vertical-align:middle;align-items:flex-end;gap:2px;height:12px;display:inline-flex}.signal-bars i{background:var(--line);border-radius:1px;width:3px}.signal-bars i:first-child{height:4px}.signal-bars i:nth-child(2){height:6px}.signal-bars i:nth-child(3){height:8px}.signal-bars i:nth-child(4){height:10px}.signal-bars i:nth-child(5){height:12px}.signal-bars i.is-on{background:var(--ok)}.alarm__route{border:1px solid var(--input-border);width:34px;height:34px;color:var(--ink);background:var(--surface);border-radius:9px;place-items:center;padding:0;display:grid}.alarm__route:hover{color:var(--accent-ink);border-color:var(--accent-line)}.alarms__all{border:1px solid var(--inverse);color:var(--on-inverse);background:var(--inverse);font-weight:700;font-size:var(--fs-md);border-radius:9px;padding:7px 12px}.alarms__hint{color:var(--muted);font-size:var(--fs-md);margin:-4px 0 10px}.dialog:has(.dialog__body--wide){width:min(640px,100% - 24px)}.dialog__body--wide{max-height:calc(100vh - 40px);overflow:auto}.dialog select{border:1px solid var(--input-border);width:100%;color:var(--ink);background:var(--input-bg);border-radius:9px;padding:9px 10px}.dialog label.check{align-items:flex-start;gap:8px;font-weight:400;display:flex}.dialog label.check input{width:auto;margin-top:2px}.form-section{border:1px solid var(--line);border-radius:12px;gap:10px;margin:0;padding:12px 14px 14px;display:grid}.form-section legend{color:var(--ink);font-size:var(--fs-md);padding:0 6px;font-weight:700}.form-section:disabled input,.form-section:disabled select{opacity:.8}.dialog-tabs{padding:0}.notify-table td,.notify-table th{padding:6px 8px}.notify-table td:not(:first-child),.notify-table th:not(:first-child){text-align:center}.notify-table input{width:auto}.notify-table__group th{background:var(--surface-2);color:var(--ink);text-align:left!important}.section-title{font-size:var(--fs-xl);margin:0 0 6px}.admin-maps{gap:14px;margin-top:12px;display:grid}.admin-maps label{max-width:420px;color:var(--muted);font-size:var(--fs-md);gap:6px;font-weight:600;display:grid}.admin-maps select,.admin-maps input{border:1px solid var(--input-border);background:var(--input-bg);border-radius:9px;padding:8px 10px}.admin-maps__key{flex-wrap:wrap;gap:6px;display:flex}.admin-maps__key input{flex:200px}.admin-maps small{color:var(--muted);font-weight:400}@media (width<=700px){.map-panel{min-height:calc(100vh - 230px)}.alarm{grid-template-columns:12px minmax(0,1fr) auto}.alarm>button:last-child:not(.alarm__route),.alarm__done{grid-column:2/-1;justify-self:start}}.alarm__route{width:auto;height:auto;font-size:var(--fs-md);white-space:nowrap;padding:7px 10px;font-weight:700}.device-identity{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:0;display:grid}.device-identity div{border:1px solid var(--line);background:var(--input-bg);border-radius:12px;padding:10px 12px}.device-identity dt{color:var(--muted);font-size:var(--fs-md);font-weight:600}.device-identity dd{color:var(--ink);font-size:var(--fs-lg);overflow-wrap:anywhere;margin:4px 0 0;font-weight:700}.link-button.inline-link{color:var(--accent-ink);font-weight:600;text-decoration:underline;display:inline}.devices-view__buttons{flex-wrap:wrap;gap:8px;display:flex}.checklist{border:1px solid var(--line);border-radius:10px;gap:6px;margin:0;padding:8px 10px 10px;display:grid}.checklist legend{color:var(--ink);font-size:var(--fs-md);padding:0 4px;font-weight:700}.checklist legend small{color:var(--muted);font-weight:400}.checklist__actions{font-size:var(--fs-md);gap:14px;display:flex}.checklist__items{gap:4px;max-height:180px;display:grid;overflow:auto}.checklist label.check,.targets-picker label.check{color:var(--ink-2);font-size:var(--fs-md);align-items:center;gap:8px;font-weight:400;display:flex}.checklist input,.targets-picker input[type=radio]{width:auto}.targets-picker{gap:8px;display:grid}.geofence-form h3{font-size:var(--fs-lg);margin:0}.geofence-form__row{flex-wrap:wrap;gap:6px;display:flex}.geofence-list__name small+small{color:var(--muted)}.geofence-list__actions{gap:6px;display:flex}section[aria-label=Geostrefy] .device-panel{overflow:auto}.reports{grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:16px;min-height:0;padding:16px 20px;display:grid}.reports__filters{min-width:0}.reports__filters-toggle{display:none}.reports__form{border:1px solid var(--line);background:var(--surface);border-radius:14px;gap:12px;padding:14px;display:grid}.reports__form label{color:var(--muted);font-size:var(--fs-md);gap:5px;font-weight:600;display:grid}.reports__form input,.reports__form select{border:1px solid var(--input-border);width:100%;color:var(--ink);background:var(--input-bg);border-radius:9px;padding:8px 10px}.reports__form input[type=checkbox],.reports__form input[type=radio]{width:auto}.reports__section{border:1px solid var(--line);border-radius:12px;gap:8px;margin:0;padding:10px 12px;display:grid}.reports__section>summary,.reports__section legend{color:var(--ink);font-size:var(--fs-md);cursor:pointer;font-weight:700}.reports__section[disabled]{opacity:.6}.reports__search{margin-top:6px}.reports__chips{flex-wrap:wrap;gap:6px;display:flex}.reports__chips button{border:1px solid var(--input-border);color:var(--ink-2);background:var(--surface);font-size:var(--fs-md);border-radius:999px;padding:5px 10px}.reports__chips button.is-active{border-color:var(--accent);color:var(--on-accent);background:var(--accent)}.reports__range{grid-template-columns:1fr 1fr;gap:8px;display:grid}.reports__actions{flex-wrap:wrap;gap:8px;display:flex}.reports__actions button{border:1px solid var(--input-border);background:var(--surface);border-radius:9px;padding:8px 12px;font-weight:700}.reports__templates{color:var(--muted);font-size:var(--fs-md);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.reports__template{border:1px solid var(--line);border-radius:999px;gap:4px;padding:2px 8px;display:inline-flex}.reports__result{align-content:start;gap:10px;min-width:0;display:grid}.reports__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.reports__head h2{font-size:var(--fs-xl);margin:0}.reports__head p{color:var(--muted);font-size:var(--fs-md);margin:4px 0 0}.reports__exports{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.reports__exports button:not(.link-button){border:1px solid var(--input-border);background:var(--surface);border-radius:9px;padding:6px 12px;font-weight:700}.reports__progress{border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:12px;justify-items:start;gap:8px;padding:12px;display:grid}.reports__progress progress{width:min(420px,100%)}.reports__columns{border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;gap:6px 14px;padding:10px 12px;display:flex}.reports__columns label.check{font-size:var(--fs-md);align-items:center;gap:6px;display:flex}.reports__notes{color:var(--warn);background:var(--warn-soft);font-size:var(--fs-md);border-radius:12px;margin:0;padding:10px 12px 10px 28px}.reports__nodata,.reports__empty p{color:var(--muted);font-size:var(--fs-md)}.reports__empty h3{font-size:var(--fs-lg);margin:16px 0 6px}.reports__recent{gap:6px;margin:0;padding:0;list-style:none;display:grid}.reports__recent li{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.reports__recent small{color:var(--muted)}.reports__table td,.reports__table th{white-space:nowrap}.reports__sort{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.reports__totals td{border-top:2px solid var(--inverse);background:var(--surface-2);font-weight:700}.reports__pager{font-size:var(--fs-md);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.reports__pager button,.reports__pager select{border:1px solid var(--input-border);background:var(--surface);border-radius:9px;padding:6px 10px}.reports__schedules{gap:8px;margin:0;padding:0;list-style:none;display:grid}.reports__schedules li{border:1px solid var(--line);font-size:var(--fs-md);border-radius:10px;justify-content:space-between;gap:10px;padding:8px 10px;display:flex}.reports__schedules small{color:var(--muted);display:block}@media (width<=900px){.reports{grid-template-columns:minmax(0,1fr);padding:12px}.reports__filters-toggle{border:1px solid var(--input-border);width:100%;color:var(--ink);background:var(--surface);text-align:left;border-radius:10px;margin-bottom:8px;padding:10px 12px;font-weight:700;display:block}.reports__filters.is-collapsed .reports__form{display:none}.reports__table td,.reports__table th{white-space:normal}}.reports__form *,.reports__result *{box-sizing:border-box}.reports__section,.reports__form fieldset{min-width:0}.reports__exports button,.reports__exports .link-button{font-size:var(--fs-md)}.reports__exports button:not(.link-button){padding:6px 10px}.reports__table{font-size:var(--fs-md)}.reports__range{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.reports__form input,.reports__form select{min-width:0;max-width:100%}.reports{overflow-x:clip}.map-failure{background:var(--canvas);place-items:center;padding:20px;display:grid}.map-failure__box{border:1px solid var(--input-border);background:var(--surface);max-width:420px;box-shadow:var(--shadow-lg);text-align:center;border-radius:14px;gap:10px;padding:18px 20px;display:grid}.map-failure__box strong{color:var(--ink);font-size:var(--fs-base)}.map-failure__box p{color:var(--muted);font-size:var(--fs-md);margin:0;line-height:1.5}.map-failure__actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.map-failure__actions button{border:1px solid var(--input-border);background:var(--surface);border-radius:9px;padding:8px 12px;font-weight:700}.map-notice{z-index:5;border:1px solid var(--accent-line);max-width:calc(100% - 24px);color:var(--warn);background:var(--accent-soft);font-size:var(--fs-md);box-shadow:var(--shadow);border-radius:10px;align-items:center;gap:10px;padding:6px 10px;display:flex;position:absolute;top:58px;left:50%;transform:translate(-50%)}.map-notice .link-button{font-size:1rem;line-height:1}.view-crash{border:1px solid var(--bad-line);background:var(--bad-soft);border-radius:14px;justify-items:start;gap:10px;margin:20px;padding:18px;display:grid}.view-crash p{color:var(--muted);font-size:var(--fs-md);margin:0}.flat-marker{background:0 0;border:0}.flat-marker>*{box-sizing:border-box}.flat-popup .leaflet-popup-content-wrapper{box-shadow:var(--shadow-lg);border-radius:12px}.flat-popup .leaflet-popup-content{margin:12px 16px 10px}.flat-label{color:var(--zone-ink);box-shadow:none;font-size:var(--fs-sm);text-shadow:0 0 3px #fff,0 0 3px #fff;background:0 0;border:0;padding:0;font-weight:700}.flat-label:before{display:none}.leaflet-container{font:inherit;z-index:0;isolation:isolate}.map-notice{z-index:6}.leaflet-tooltip.flat-label{color:var(--zone-ink);box-shadow:none;font-size:var(--fs-sm);text-shadow:0 0 3px #fff,0 0 3px #fff;background:0 0;border:0;padding:0;font-weight:700}.geofence-list__actions button{border:1px solid var(--input-border);color:var(--ink-2);background:var(--surface);font-size:var(--fs-md);border-radius:8px;padding:5px 9px;font-weight:700}.geofence-list__actions button.danger{border-color:var(--bad-line);color:var(--bad)}.map-notice{max-width:min(360px,100% - 24px);top:62px;left:12px;transform:none}.segmented{background:var(--canvas);border-radius:10px;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:4px;padding:3px;display:grid}.segmented button{color:var(--ink-2);font-size:var(--fs-md);background:0 0;border:0;border-radius:8px;padding:8px 6px;font-weight:700}.segmented button.is-active{color:var(--ink);background:var(--surface);box-shadow:var(--shadow)}.subaccount-toggle{margin:0 0 10px}.phone-list__head .subaccount-toggle{margin:8px 12px 0}.device-row__account,.phone-row__account{color:var(--accent-ink);font-size:var(--fs-sm,12px);font-weight:700}.toast{z-index:5;color:var(--on-inverse);background:var(--inverse);font-size:var(--fs-md);box-shadow:var(--shadow-lg);border-radius:10px;justify-self:start;padding:9px 14px;font-weight:700;position:sticky;top:8px}.reports__actions{z-index:2;border-top:1px solid var(--line);background:var(--glass);border-radius:0 0 14px 14px;margin:0 -14px -14px;padding:10px 14px;position:sticky;bottom:0}.channel-status{color:var(--ink-2);font-size:var(--fs-md);gap:6px;margin:0;padding:0;list-style:none;display:grid}.channel-status li{align-items:baseline;gap:8px;display:flex}.channel-status__dot{background:var(--line-strong);border-radius:50%;flex:none;width:9px;height:9px}.channel-status__dot.is-on{background:var(--ok)}.notify-table input:disabled{opacity:.35}.zone-chip{border:1px solid var(--input-border);color:var(--muted);background:var(--surface);font-size:var(--fs-md);border-radius:999px;padding:4px 10px}.dialog__body--wide>h2{z-index:2;background:var(--surface);border-bottom:1px solid var(--line);margin:-24px -24px 0;padding:20px 24px 12px;position:sticky;top:-24px}.dialog__body--wide>.dialog__actions{z-index:2;border-top:1px solid var(--line);background:var(--surface);align-items:center;margin:0 -24px -24px;padding:12px 24px;position:sticky;bottom:-24px}.dirty-flag{color:var(--warn);font-size:var(--fs-md);margin-right:auto;font-weight:700}.dialog__tabs{margin:16px 20px 0}form.dialog__body[hidden]{display:none}.device-commands .password-form{max-width:none}.session-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.session-list li{border-top:1px solid var(--line);align-items:center;gap:10px;padding:8px 0;display:flex}.session-list li:first-child{border-top:0}.session-list__text{flex:1;gap:2px;min-width:0;display:grid}.session-list__text b{color:var(--ink);font-size:var(--fs-md)}.session-list__text small{color:var(--muted);font-size:var(--fs-sm);overflow-wrap:anywhere}.session-list__tag{color:var(--accent);font-size:var(--fs-sm);white-space:nowrap;flex:none;font-weight:700}.session-list__failed{color:var(--bad)}.session-list .btn{flex:none;min-height:36px;padding:6px 12px}.reauth-dialog{width:min(400px,100vw - 32px)}.code-input{align-items:stretch;gap:8px;display:flex}.code-input input{letter-spacing:.2em;font-variant-numeric:tabular-nums;flex:1;min-width:0;font-size:1.25em}.code-input__paste{white-space:nowrap;flex:none}.subaccounts-view{align-content:start;gap:12px;max-width:1100px;padding:20px;display:grid}.subaccounts-view__head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.subaccounts-view__head h1{font-size:var(--fs-xl);flex:auto;margin:0}.subaccounts-view__head input{border:1px solid var(--line);min-width:0;font-size:var(--fs-base);border-radius:10px;flex:240px;padding:8px 10px}.subaccount-tree{margin:0;padding:0;list-style:none;display:grid}.subaccount-row{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px 10px;padding-top:8px;padding-bottom:8px;padding-right:8px;display:flex}.subaccount-row__toggle{width:24px;color:var(--muted);cursor:pointer;background:0 0;border:0;flex:0 0 24px;padding:0;font-size:.875rem}.subaccount-row__name{flex:220px;min-width:0;display:grid}.subaccount-row__name b{overflow-wrap:anywhere}.subaccount-row__name small{color:var(--muted);overflow-wrap:anywhere}.subaccount-row__count{color:var(--muted);font-weight:600}.subaccount-row__status{color:var(--bad)!important}.subaccount-row__actions{flex-wrap:wrap;gap:6px;display:flex}.subaccount-devices{gap:6px;max-height:50vh;margin:8px 0;padding:0;list-style:none;display:grid;overflow:auto}.subaccount-devices li{align-items:center;gap:10px;display:flex}.subaccount-devices li>span:nth-child(2){flex:1;min-width:0;display:grid}.subaccount-devices small{color:var(--muted)}.subaccount-devices .status-dot{background:var(--muted);border-radius:50%;flex:0 0 10px;width:10px;height:10px}.subaccount-devices .status-dot.is-online{background:var(--ok)}@media (width<=640px){.subaccounts-view{padding:12px}}.subaccount-check{align-items:center;gap:8px;display:flex}@media (width<=700px){.subaccounts-phone{min-height:calc(100dvh - var(--nav-mobile,64px));background:var(--surface);margin:0 -12px;padding-bottom:24px}.sub-search{margin:12px;display:block;position:relative}.sub-search input{border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);background:var(--surface);font-size:var(--fs-base);border-radius:4px;padding:0 48px 0 12px}.sub-search .icon{width:26px;height:26px;color:var(--muted);pointer-events:none;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.subaccount-tree--phone{gap:0}.sub-row{border-bottom:1px solid var(--line);background:var(--surface);align-items:center;min-height:56px;display:flex}.sub-row__toggle{width:44px;height:56px;color:var(--muted);background:0 0;border:0;flex:0 0 44px;place-items:center;padding:0;display:grid}.sub-row__toggle.is-open svg{transform:rotate(90deg)}.sub-row__main{min-width:0;min-height:56px;color:var(--ink);text-align:left;background:0 0;border:0;flex:1;grid-template-columns:34px minmax(0,1fr);align-items:center;column-gap:10px;padding:6px 12px 6px 0;display:grid}.sub-row__icon{color:#3e7bc9;place-items:center;display:grid}.sub-row__icon.is-top{color:#3da35d}.sub-row__icon.is-off{color:var(--muted)}.sub-row__name{font-size:var(--fs-lg,1.0625rem);overflow-wrap:anywhere}.sub-row__count{white-space:nowrap;color:var(--ink-2);white-space:nowrap;margin-left:2px}.sub-row__path{color:var(--muted);font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap;grid-column:2;overflow:hidden}.sub-empty{color:var(--muted);margin:12px 16px}.subaccounts-phone .error-box{margin:0 12px 12px}}:root{--neutral-100:#1b212d;--neutral-90:#53565d;--neutral-80:#71747a;--neutral-70:#909297;--neutral-60:#b8b8b8;--neutral-50:#c3c3c3;--neutral-40:#ebebeb;--neutral-30:#eee;--neutral-20:#f6f6f6;--neutral-10:#fefefe;--primary-100:#04406f;--primary-90:#2373db;--primary-80:#3b82df;--primary-70:#89b4ec;--primary-60:#c4d9f5;--primary-50:#f3f7fc;--secondary-100:#e5194a;--secondary-90:#ef7592;--secondary-80:#f7bac9;--secondary-70:#fce8ed;--success:#21725e;--warning:#a82525;--evaluation:#ffcf25;--violet:#5e47d2;--logo-orange:#eb6e03;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:var(--neutral-100);--ink-2:#3a3e47;--muted:var(--neutral-90);--canvas:var(--neutral-20);--bg:var(--canvas);--surface:#fff;--surface-2:var(--primary-50);--line:var(--neutral-40);--line-strong:var(--neutral-50);--input-bg:var(--surface);--input-border:var(--neutral-40);--input-hover:var(--primary-80);--glass:#fffffff0;--backdrop:#1b212d8c;--accent:var(--primary-90);--accent-strong:var(--primary-100);--accent-ink:var(--primary-100);--accent-text:var(--primary-90);--accent-soft:var(--primary-50);--accent-line:var(--primary-60);--on-accent:#fff;--navy:var(--primary-100);--nav-ink:#fff;--nav-muted:var(--primary-70);--nav-active:var(--evaluation);--nav-hover:#ffffff1a;--nav-edge:transparent;--inverse:var(--neutral-100);--on-inverse:#fff;--ok:var(--success);--ok-soft:#e3f1ec;--warn:#8a5a00;--warn-soft:#fff5d6;--bad:var(--secondary-100);--bad-ink:#b8133b;--bad-soft:var(--secondary-70);--bad-line:var(--secondary-80);--err:var(--warning);--err-soft:#f8e6e6;--idle:var(--neutral-80);--idle-soft:var(--neutral-30);--parked:var(--primary-90);--parked-ink:var(--primary-100);--parked-soft:var(--primary-50);--on-status:#fff;--track:var(--violet);--track-soft:#b3a8ec;--track-gap:var(--neutral-70);--zone:var(--primary-80);--zone-ink:var(--primary-100);--me:var(--primary-90);--me-ink:var(--primary-100);--draft:var(--logo-orange);--map-ink:var(--neutral-100);--map-land:#eef1ec;--marker-bg:#fff;--focus:var(--neutral-50);--focus-ring:var(--primary-80);--disabled-bg:var(--neutral-40);--disabled-ink:var(--neutral-60);--ctrl-icon-filter:none;--font-body:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-head:"Poppins", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--logo-on-light:block;--logo-on-dark:none;--fs-xs:.8125rem;--fs-sm:.8125rem;--fs-md:.875rem;--fs-base:1rem;--fs-lg:1.125rem;--fs-xl:1.375rem;--fs-2xl:1.75rem;--lh-body:1.45;--lh-tight:1.2;--radius:12px;--radius-lg:18px;--radius-input:4px;--shadow:0 2px 4px #0000001f;--shadow-lg:0 3px 8px #1b212d0f, 0 14px 32px #1b212d24;--topbar:60px;--nav-mobile:64px;color:var(--ink);background:var(--canvas);font-size:100%;font-family:var(--font-body)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#f1f3f6;--ink-2:var(--neutral-40);--muted:#9ea5b0;--canvas:#14171c;--surface:#23272f;--surface-2:#2d323b;--line:#3b414c;--line-strong:#525a67;--input-bg:#14171c;--input-border:#464d59;--input-hover:var(--primary-80);--glass:#23272ff0;--backdrop:#0009;--accent:var(--primary-90);--accent-strong:var(--primary-100);--accent-ink:var(--primary-70);--accent-text:var(--primary-70);--accent-soft:#1e3a5f;--accent-line:#2a4b78;--on-accent:#fff;--navy:#0d1015;--nav-edge:var(--line);--nav-muted:var(--primary-60);--inverse:var(--neutral-10);--on-inverse:var(--neutral-100);--ok:#4fb596;--ok-soft:#163029;--warn:var(--evaluation);--warn-soft:#3a3014;--bad:var(--secondary-90);--bad-ink:var(--secondary-90);--bad-soft:#3a1824;--bad-line:#6b2a3c;--err:#e07070;--err-soft:#3a1c1c;--idle:var(--neutral-70);--idle-soft:#2d323b;--parked:var(--primary-70);--parked-ink:var(--primary-70);--parked-soft:#1b2a42;--on-status:var(--neutral-100);--track:#9c8bf0;--track-soft:var(--violet);--map-land:#1e2532;--marker-bg:#23272f;--focus:var(--neutral-80);--focus-ring:var(--primary-70);--disabled-bg:#2d323b;--disabled-ink:var(--neutral-80);--ctrl-icon-filter:invert(1);--shadow:0 2px 4px #00000080;--shadow-lg:0 8px 24px #00000073;--logo-on-light:none;--logo-on-dark:block}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#f1f3f6;--ink-2:var(--neutral-40);--muted:#9ea5b0;--canvas:#14171c;--surface:#23272f;--surface-2:#2d323b;--line:#3b414c;--line-strong:#525a67;--input-bg:#14171c;--input-border:#464d59;--input-hover:var(--primary-80);--glass:#23272ff0;--backdrop:#0009;--accent:var(--primary-90);--accent-strong:var(--primary-100);--accent-ink:var(--primary-70);--accent-text:var(--primary-70);--accent-soft:#1e3a5f;--accent-line:#2a4b78;--on-accent:#fff;--navy:#0d1015;--nav-edge:var(--line);--nav-muted:var(--primary-60);--inverse:var(--neutral-10);--on-inverse:var(--neutral-100);--ok:#4fb596;--ok-soft:#163029;--warn:var(--evaluation);--warn-soft:#3a3014;--bad:var(--secondary-90);--bad-ink:var(--secondary-90);--bad-soft:#3a1824;--bad-line:#6b2a3c;--err:#e07070;--err-soft:#3a1c1c;--idle:var(--neutral-70);--idle-soft:#2d323b;--parked:var(--primary-70);--parked-ink:var(--primary-70);--parked-soft:#1b2a42;--on-status:var(--neutral-100);--track:#9c8bf0;--track-soft:var(--violet);--map-land:#1e2532;--marker-bg:#23272f;--focus:var(--neutral-80);--focus-ring:var(--primary-70);--disabled-bg:#2d323b;--disabled-ink:var(--neutral-80);--ctrl-icon-filter:invert(1);--shadow:0 2px 4px #00000080;--shadow-lg:0 8px 24px #00000073;--logo-on-light:none;--logo-on-dark:block}body{background:var(--canvas);font-size:var(--fs-base);line-height:var(--lh-body);font-variant-numeric:tabular-nums}h1,h2,h3{line-height:var(--lh-tight)}small{font-size:var(--fs-md)}button,input,select,textarea{font:inherit}input,select,textarea{font-size:var(--fs-base)}.maplibregl-map,.maplibregl-popup-content{font:inherit;line-height:var(--lh-body)}.icon{flex:none}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.btn,.dialog__primary,.dialog__danger{border:1px solid var(--line);min-height:40px;color:var(--ink);background:var(--surface);border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-weight:700;display:inline-flex}.btn:hover{border-color:var(--line-strong)}.btn--primary,.dialog__primary{border-color:var(--accent);color:var(--on-accent);background:var(--accent)}.btn--primary:hover,.dialog__primary:hover{border-color:var(--accent-strong);background:var(--accent-strong)}.btn--danger,.dialog__primary.dialog__danger,.dialog__danger{border-color:var(--bad);color:var(--on-status);background:var(--bad)}.btn:disabled,.dialog__primary:disabled,.dialog__danger:disabled{cursor:not-allowed;opacity:.6}.admin-maps>.dialog__primary,.admin-maps form>.dialog__primary{justify-self:start}.icon-button{width:42px;height:42px;color:var(--ink-2);place-items:center;display:grid;position:relative;border:1px solid var(--line)!important;background:var(--surface)!important;border-radius:50%!important;padding:0!important}.icon-button .badge{min-width:20px;height:20px;color:var(--on-status);background:var(--bad);font-size:var(--fs-xs);border-radius:10px;padding:0 5px;font-weight:700;line-height:20px;position:absolute;top:-4px;right:-4px}.icon-button.has-alarms{color:var(--bad)}.topbar__account{border:0!important}.topbar__account .avatar{width:40px;height:40px}.app-shell{grid-template-columns:232px minmax(0,1fr)}.sidebar{border-right:1px solid var(--nav-edge);background:var(--navy);height:100vh;padding:20px 14px;position:sticky;top:0}.brand{padding:0 8px 26px}.sidebar nav{gap:4px}.sidebar nav button{min-height:44px;color:var(--nav-muted);font-size:var(--fs-base);gap:12px;padding:10px 12px;font-weight:600}.sidebar nav button>span:not(.nav-badge){width:auto;height:auto;font-size:inherit;font-weight:inherit;background:0 0;border-radius:0;display:inline}.sidebar nav button.is-active{color:#fff;background:#ffffff1f}.sidebar nav button.is-active .icon{color:var(--nav-active)}.sidebar nav button.is-active span:not(.nav-badge){color:#fff;background:0 0}.sidebar nav .nav-badge{min-width:22px;height:22px;color:var(--on-status);background:var(--bad);font-size:var(--fs-xs);text-align:center;border-radius:11px;margin-left:auto;padding:0 6px;font-weight:700;line-height:22px;position:static}.sidebar__footer{border-top:1px solid #ffffff1a;gap:6px;padding:12px 4px 0}.sidebar__account{color:#fff;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;width:100%;padding:8px;display:flex}.sidebar__account:hover,.sidebar__logout:hover{background:#ffffff14}.sidebar__account .avatar{width:36px;height:36px;color:var(--on-accent);background:var(--accent);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.sidebar__who{min-width:0;display:grid}.sidebar__who b,.sidebar__who small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar__who small{color:var(--nav-muted);font-size:var(--fs-md)}.sidebar__logout{color:var(--nav-muted);font-size:var(--fs-base);background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:9px 10px;display:flex}.workspace{flex-direction:column;min-height:100vh;padding:0 24px 24px;display:flex}.topbar{min-height:var(--topbar);flex:none;gap:12px}.topbar h1{font-size:var(--fs-2xl)}.topbar__actions{gap:10px}.topbar__stat{color:var(--muted);font-size:var(--fs-md)}.topbar__stat b{color:var(--ink)}.app-shell--map .workspace{height:100vh;padding:0}.app-shell--map .topbar{border-bottom:1px solid var(--line);background:var(--surface);padding:0 20px}.app-shell--map .dashboard{min-height:0;box-shadow:none;border:0;border-radius:0;flex:1;grid-template-columns:360px minmax(0,1fr)}.app-shell--map .dashboard.is-panel-collapsed{grid-template-columns:0 minmax(0,1fr)}.app-shell--map .map-panel{min-height:0}.dashboard>.device-panel{z-index:4;background:var(--surface);border-right:1px solid var(--line);position:relative}.device-panel__body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.dashboard>.device-panel .device-panel__heading{padding:18px 18px 10px}.dashboard>.device-panel .device-panel__heading h2{font-size:var(--fs-xl)}.dashboard>.device-panel .device-panel__heading .btn{width:auto;height:auto;font-size:var(--fs-md)}.panel-collapse{z-index:5;border:1px solid var(--line);width:36px;height:36px;color:var(--ink-2);background:var(--surface);box-shadow:var(--shadow);border-radius:10px;place-items:center;display:grid;position:absolute;top:14px;right:-44px}.is-panel-collapsed .device-panel{border-right:0}.is-panel-collapsed .device-panel__body{visibility:hidden}.is-panel-collapsed .panel-collapse{right:-48px}.sheet-handle{display:none}.search-field{border:1px solid var(--line);color:var(--muted);background:var(--canvas);border-radius:12px;align-items:center;gap:8px;margin:0 18px;padding:0 10px;display:flex}.search-field input{min-width:0;color:var(--ink);font-size:var(--fs-base);background:0 0;border:0;outline:none;flex:1;padding:11px 0}.search-field button{width:32px;height:32px;color:var(--muted);background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.chip-row{flex-wrap:wrap;gap:6px;padding:12px 18px 8px;display:flex}.chip{border:1px solid var(--line);min-height:34px;color:var(--ink-2);background:var(--surface);font-size:var(--fs-md);border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-weight:600;display:inline-flex}.chip.is-active{border-color:var(--accent);color:var(--on-accent);background:var(--accent)}.chip__count{min-width:20px;color:inherit;background:var(--line);font-size:var(--fs-xs);text-align:center;border-radius:10px;padding:0 5px}.chip.is-active .chip__count{background:#fff3}.dashboard>.device-panel .device-list{padding:4px 10px 16px;overflow:visible}.panel-note,.panel-empty p{color:var(--muted);font-size:var(--fs-base);margin:12px 10px}.panel-empty{justify-items:start;gap:4px;padding:0 10px;display:grid}.device-row{width:100%;min-height:64px;color:inherit;text-align:left;background:0 0;border:1px solid #0000;border-radius:14px;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;display:grid}.device-row:hover{background:var(--canvas)}.device-row.is-selected{border-color:var(--accent);background:var(--accent-soft)}.device-row__main{gap:3px;min-width:0;display:grid}.device-row__name{color:var(--ink);font-size:var(--fs-base);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;line-height:1.25;display:-webkit-box;overflow:hidden}.device-row small{color:var(--muted);font-size:var(--fs-md)}.device-row__meta{font-size:var(--fs-md);justify-items:end;gap:3px;display:grid}.device-row__meta small{color:var(--muted);align-items:center;gap:2px;display:inline-flex}.device-row__meta .is-low,.device-details .is-low{color:var(--bad);font-weight:700}.status-badge{width:40px;height:40px;font-size:var(--fs-base);border-radius:50%;place-items:center;font-weight:700;display:grid}.status-badge--moving{color:var(--on-status);background:var(--ok)}.status-badge--parked{color:var(--on-status);background:var(--parked)}.status-badge--stopped{color:var(--on-status);background:var(--warn)}.status-badge--offline{color:var(--on-status);background:var(--bad)}.status-badge--nodata{color:var(--idle);background:var(--idle-soft)}.status-text--moving{color:var(--ok);font-weight:700}.status-text--parked{color:var(--parked);font-weight:700}.status-text--stopped{color:var(--warn);font-weight:700}.status-text--offline{color:var(--bad);font-weight:700}.status-chip{font-size:var(--fs-md);border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-weight:700;display:inline-flex}.status-chip:before{display:none}.status-chip--moving,.status-chip--home{color:var(--ok);background:var(--ok-soft)}.status-chip--parked{color:var(--parked-ink);background:var(--parked-soft)}.status-chip--stopped{color:var(--warn);background:var(--warn-soft)}.status-chip--offline{color:var(--bad-ink);background:var(--bad-soft)}.status-chip--nodata,.status-chip--stale{color:var(--idle);background:var(--idle-soft)}.device-details{gap:14px;padding:12px 18px 20px;display:grid}.panel-back{border:1px solid var(--line);min-height:40px;color:var(--ink);background:var(--canvas);cursor:pointer;border-radius:999px;justify-self:start;align-items:center;gap:6px;padding:6px 14px 6px 8px;font-weight:700;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.panel-back:hover,.panel-back:focus-visible{border-color:var(--accent);color:var(--accent-ink);background:var(--accent-soft)}.panel-back:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.panel-back .icon{transition:transform .15s}.panel-back:hover .icon{transform:translate(-2px)}.device-details__head{align-items:flex-start;gap:12px;display:flex}.device-details__icon{background:var(--canvas);border-radius:14px;flex:none;place-items:center;width:48px;height:48px;font-size:1.625rem;display:grid}.device-details h2{color:var(--ink);font-size:var(--fs-xl);overflow-wrap:anywhere;margin:0;line-height:1.2}.device-details__head p{color:var(--muted);font-size:var(--fs-base);margin:4px 0 0}.device-details__status{flex-wrap:wrap;gap:6px;display:flex}.device-details__facts{border:1px solid var(--line);border-radius:14px;gap:0;margin:0;display:grid}.device-details__facts>div{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding:11px 14px;display:flex}.device-details__facts>div:first-child{border-top:0}.device-details__facts dt{color:var(--muted);font-size:var(--fs-base)}.device-details__facts dd{color:var(--ink);text-align:right;justify-items:end;margin:0;font-weight:700;display:grid}.device-details__facts dd small{color:var(--muted);font-size:var(--fs-md);font-weight:400}.device-actions{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;display:grid}.device-actions button{border:1px solid var(--line);min-height:64px;color:var(--ink);background:var(--surface);font-size:var(--fs-md);border-radius:14px;justify-items:center;gap:4px;padding:10px 6px;font-weight:700;display:grid}.device-actions button:hover{border-color:var(--accent);background:var(--accent-soft)}.device-actions .icon{color:var(--accent)}.device-details__more summary{color:var(--ink-2);cursor:pointer;font-weight:700}.device-details__more dl{font-size:var(--fs-base);grid-template-columns:auto 1fr;gap:6px 12px;margin:10px 0 0;display:grid}.device-details__more dt{color:var(--muted)}.device-details__more dd{overflow-wrap:anywhere;margin:0}.map-controls{z-index:3;justify-items:end;gap:8px;display:grid;position:absolute;top:14px;right:14px}.map-control{border:1px solid var(--line);min-height:42px;color:var(--ink);background:var(--surface);box-shadow:var(--shadow);font-size:var(--fs-base);border-radius:12px;align-items:center;gap:8px;padding:8px 12px;font-weight:700;display:inline-flex}.map-control.is-active{border-color:var(--accent);color:var(--on-accent);background:var(--accent)}.layers-control{justify-items:end;display:grid;position:relative}.layers-menu{border:1px solid var(--line);background:var(--surface);min-width:230px;box-shadow:var(--shadow-lg);border-radius:14px;padding:6px;display:grid;position:absolute;top:48px;right:0}.layers-menu button{color:var(--ink);text-align:left;background:0 0;border:0;border-radius:10px;padding:10px 12px}.layers-menu button:hover{background:var(--canvas)}.layers-menu button.is-active{color:var(--accent-ink);background:var(--accent-soft);font-weight:700}.map-status{z-index:3;color:var(--ink-2);background:var(--glass);box-shadow:var(--shadow);font-size:var(--fs-md);border-radius:999px;padding:6px 12px;position:absolute;bottom:14px;left:14px}.map-status.is-error{color:var(--bad);font-weight:700}.map-toolbar,.map-summary{display:none}.map-panel--history .map-summary{display:flex}.map-notice{top:auto;bottom:56px}.filter-pill{background:var(--accent-soft);font-size:var(--fs-base);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px;padding:8px 12px;display:flex}.mobile-nav,.more-sheet{display:none}@media (width<=900px){.app-shell{grid-template-columns:76px minmax(0,1fr)}.sidebar nav button{justify-content:center}.sidebar nav button>span:not(.nav-badge),.sidebar__who,.sidebar__logout span,.sidebar .brand>span:last-child{display:none}.sidebar nav .nav-badge{margin:0;position:absolute;top:2px;right:2px}.app-shell--map .dashboard{grid-template-columns:320px minmax(0,1fr)}}@media (width<=700px){.app-shell{display:block}.sidebar{display:none}.workspace{min-height:100dvh;padding:0 12px calc(var(--nav-mobile) + env(safe-area-inset-bottom) + 16px)}.topbar{z-index:20;background:var(--canvas);min-height:56px;margin:0 -12px;padding:0 12px;position:sticky;top:0}.topbar h1{font-size:var(--fs-xl)}.topbar__stat,.zone-chip,.topbar__actions>button:not(.icon-button){display:none}.topbar__actions .icon-button{display:grid}.mobile-nav{z-index:30;height:calc(var(--nav-mobile) + env(safe-area-inset-bottom));padding:0 4px env(safe-area-inset-bottom);border-top:1px solid var(--line);background:var(--surface);grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #0000000f}.mobile-nav button{min-width:0;min-height:48px;color:var(--muted);font-size:var(--fs-sm);background:0 0;border:0;align-content:center;justify-items:center;gap:3px;padding:4px 2px;font-weight:600;display:grid;position:relative}.mobile-nav button span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.mobile-nav button.is-active{color:var(--ink)}.mobile-nav button.is-active .icon{color:var(--accent)}.mobile-nav .nav-badge{min-width:18px;height:18px;color:var(--on-status);background:var(--bad);font-size:var(--fs-xs);border-radius:9px;padding:0 5px;line-height:18px;position:absolute;top:4px;left:calc(50% + 6px)}.more-sheet{z-index:40;background:var(--backdrop);align-items:flex-end;display:flex;position:fixed;inset:0}.more-sheet__panel{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;padding:10px 10px calc(var(--nav-mobile) + env(safe-area-inset-bottom) + 10px);background:var(--surface);box-shadow:var(--shadow-lg);display:grid}.more-sheet__panel button{min-height:52px;color:var(--ink);font-size:var(--fs-base);text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:14px;padding:10px 14px;font-weight:600;display:flex}.more-sheet__panel button:hover{background:var(--canvas)}.app-shell--map .workspace{height:100dvh;padding:0}.app-shell--map .topbar{border-bottom:1px solid var(--line);margin:0;padding:0 12px;position:relative}.app-shell--map .dashboard{flex:1;min-height:0;display:block;position:relative}.app-shell--map .map-panel{inset:0;bottom:calc(var(--nav-mobile) + env(safe-area-inset-bottom));min-height:0;position:absolute}.panel-collapse{display:none}.dashboard>.device-panel[class*=sheet--]{z-index:25;left:0;right:0;bottom:calc(var(--nav-mobile) + env(safe-area-inset-bottom));border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--surface);border:0;flex-direction:column;max-height:none;transition:height .22s;display:flex;position:fixed;box-shadow:0 -8px 28px #00000029}.dashboard>.device-panel.sheet--peek{height:76px}.dashboard>.device-panel.sheet--half{height:52dvh}.dashboard>.device-panel.sheet--full{height:calc(100dvh - 56px - var(--nav-mobile) - env(safe-area-inset-bottom));border-radius:0}.dashboard>.device-panel.sheet--peek .device-panel__body{display:none}.sheet-handle{width:100%;min-height:76px;color:var(--ink);text-align:left;background:0 0;border:0;flex:none;align-items:center;gap:10px;padding:18px 16px 10px;display:flex;position:relative}.sheet-handle__grip{background:var(--line-strong);border-radius:3px;width:40px;height:5px;position:absolute;top:7px;left:50%;transform:translate(-50%)}.sheet-handle__summary{flex:1;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:10px;min-width:0;display:grid}.sheet-handle__summary .status-badge{grid-row:span 2;width:36px;height:36px}.sheet-handle__summary strong{text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-base);overflow:hidden}.sheet-handle__summary small{color:var(--muted);font-size:var(--fs-md)}.dashboard>.device-panel .device-panel__heading{padding-top:4px}.search-field input{font-size:var(--fs-base)}.map-controls{top:10px;right:10px}.map-control{min-height:44px;padding:8px 10px}.map-control span{display:none}.map-status{max-width:calc(100% - 80px);top:10px;bottom:auto;left:10px}.app-shell--map .map-panel .maplibregl-ctrl-bottom-left,.app-shell--map .map-panel .maplibregl-ctrl-bottom-right,.app-shell--map .map-panel .leaflet-bottom{bottom:80px}.map-panel--history{inset:0 0 calc(var(--nav-mobile) + env(safe-area-inset-bottom) + 76px) 0;min-height:0!important;position:absolute!important}.map-panel--history .playback{bottom:58px}.map-panel--history .map-summary{bottom:8px}.map-panel--history .route-points{max-height:38%;bottom:130px}.map-panel--history .maplibregl-ctrl-bottom-left,.map-panel--history .maplibregl-ctrl-bottom-right,.map-panel--history .leaflet-bottom{bottom:120px}.map-notice{bottom:90px}.topbar .topbar__actions>button.icon-button{display:grid}.reports__actions{bottom:calc(var(--nav-mobile) + env(safe-area-inset-bottom))}}.filter-pill .link-button{color:var(--accent-ink);font-weight:700;text-decoration:underline}.history-panel{z-index:4;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);width:348px;box-shadow:var(--shadow-lg);flex-direction:column;gap:10px;padding:14px 14px 0;display:none;position:absolute;top:12px;bottom:12px;right:12px;overflow:auto}.history-panel.is-open{display:flex}.history-panel__head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.history-panel__head h2{font-size:var(--fs-xl);overflow-wrap:anywhere;margin:0;line-height:1.25}.history-panel__head p{color:var(--muted);font-size:var(--fs-md);margin:4px 0 0}.history-panel__head .icon-button{flex:none;width:36px;height:36px}.history-panel .chip-row{padding:0}.history-panel__custom{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));align-items:end;gap:8px;display:grid}.history-panel__custom label{color:var(--muted);font-size:var(--fs-md);gap:4px;font-weight:600;display:grid}.history-panel__custom input{border:1px solid var(--line);min-width:0;font-size:var(--fs-base);border-radius:10px;padding:8px}.history-panel__custom .btn{grid-column:1/-1}.history-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.history-stats div{background:var(--canvas);border-radius:12px;padding:10px 12px}.history-stats dt{color:var(--muted);font-size:var(--fs-md)}.history-stats dd{color:var(--ink);font-size:var(--fs-xl);margin:2px 0 0;font-weight:800}.history-quality{color:var(--ink-2);background:var(--idle-soft);font-size:var(--fs-md);border-radius:10px;margin:0;padding:8px 10px}.timeline{gap:4px;margin:0;padding:0 0 8px;list-style:none;display:grid}.timeline__item{width:100%;min-height:56px;color:inherit;text-align:left;background:0 0;border:1px solid #0000;border-radius:12px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px;display:grid}.timeline__item:hover{background:var(--canvas)}.timeline__item.is-current{border-color:var(--accent);background:var(--accent-soft)}.timeline__item b{font-size:var(--fs-base);display:block}.timeline__item small{color:var(--muted);font-size:var(--fs-md);display:block}.timeline__mark{width:34px;height:34px;color:var(--on-status);font-size:var(--fs-md);border-radius:50%;place-items:center;font-weight:700;display:grid}.timeline__item--trip .timeline__mark{background:var(--ok)}.timeline__item--parking .timeline__mark{background:var(--parked)}.timeline__item--gap .timeline__mark{color:var(--idle);background:var(--idle-soft)}.timeline__item--home .timeline__mark{color:var(--ok);background:var(--ok-soft)}.history-raw{color:var(--ink-2);font-size:var(--fs-md);align-items:center;gap:8px;display:flex}.history-raw input{width:auto;margin:0}.timeline__value{color:var(--ink);font-size:var(--fs-base);justify-items:end;font-weight:700;display:grid}.timeline__point{width:100%;color:var(--ink-2);font-size:var(--fs-md);text-align:left;background:0 0;border:0;border-radius:8px;grid-template-columns:1fr auto auto;gap:12px;padding:7px 8px;display:grid}.timeline__point.is-current{color:var(--accent-ink);background:var(--accent-soft);font-weight:700}.timeline__point.is-gap{border-top:2px dashed var(--line-strong)}.history-panel__footer{border-top:1px solid var(--line);background:var(--surface);margin:auto -14px 0;padding:10px 14px;position:sticky;bottom:0}.map-panel--history .playback{border-color:var(--line);min-height:56px;box-shadow:var(--shadow-lg);border-radius:16px;padding:8px 10px;bottom:16px;left:12px;right:12px}.map-panel--history.has-panel .playback{right:372px}.map-panel--history .playback button{border-color:var(--line);border-radius:10px;width:40px;height:40px}.map-panel--history .playback .playback__main{border-color:var(--accent);color:var(--on-accent);background:var(--accent)}.map-panel--history .playback button:first-child:not(.playback__main){border-color:var(--line);color:var(--ink-2);background:var(--surface)}.map-panel--history .playback select{min-height:40px;font-size:var(--fs-base);border-radius:10px}.map-panel--history .playback__time{font-size:var(--fs-base)}.map-panel--history .maplibregl-ctrl-bottom-left,.map-panel--history .maplibregl-ctrl-bottom-right,.map-panel--history .leaflet-bottom{bottom:80px}.map-panel--history.has-panel .maplibregl-ctrl-bottom-right,.map-panel--history.has-panel .leaflet-right{right:360px}.history-open{z-index:3;position:absolute;top:12px;right:12px}.map-panel--history .map-summary,.history-toolbar,.route-points{display:none!important}@media (width<=700px){.history-panel{width:auto;max-height:none;box-shadow:none;border:0;border-radius:0;inset:0}.map-panel--history.has-panel .playback{right:12px}.map-panel--history .playback{flex-wrap:wrap;bottom:10px}.map-panel--history .playback input[type=range]{flex-basis:100%;order:10}.map-panel--history .maplibregl-ctrl-bottom-left,.map-panel--history .maplibregl-ctrl-bottom-right,.map-panel--history .leaflet-bottom{bottom:130px}.map-panel--history.has-panel .maplibregl-ctrl-bottom-right,.map-panel--history.has-panel .leaflet-right{right:0}}.alarms__kind{color:var(--muted);font-size:var(--fs-md);align-items:center;gap:8px;font-weight:600;display:flex}.alarms__kind select{border:1px solid var(--line);min-height:38px;color:var(--ink);background:var(--surface);font-size:var(--fs-base);border-radius:10px;padding:6px 10px}.device-list.is-virtual>[role=listitem]{height:94px;overflow:hidden}.device-list.is-virtual .device-row{height:90px;min-height:0}.map-cluster{color:#fff;background:var(--map-ink);width:44px;height:44px;font-size:var(--fs-base);cursor:pointer;border:3px solid #fff;border-radius:50%;place-items:center;padding:0;font-weight:700;display:grid;box-shadow:0 3px 10px #0000004d}.geo-handle{background:var(--accent);cursor:grab;touch-action:none;border:3px solid #fff;border-radius:50%;width:26px;height:26px;box-shadow:0 2px 8px #00000059}.geo-handle--center{background:var(--map-ink)}.geo-handle--radius{border-radius:6px}@media (pointer:coarse){.geo-handle{width:34px;height:34px}}.device-popup__status--moving{color:var(--ok)!important}.device-popup__status--parked{color:var(--parked)!important}.device-popup__status--stopped{color:var(--warn)!important}.device-popup__status--offline{color:var(--bad)!important}.device-popup__status--nodata{color:var(--idle)!important}.devices-view{min-width:0}.table-wrap{max-width:100%;overflow-x:auto}.alarms__toolbar{flex-wrap:wrap}.alarms__kind{flex-wrap:wrap;min-width:0}.alarms__kind select{min-width:0;max-width:100%}@media (width<=700px){.app-shell--map .map-panel--history{bottom:calc(var(--nav-mobile) + env(safe-area-inset-bottom) + 76px)}section[aria-label=Geostrefy]{flex-direction:column;display:flex!important}section[aria-label=Geostrefy]>.map-panel{z-index:6;order:-1;height:50vh;margin:0 -12px;position:sticky;top:56px;min-height:380px!important}section[aria-label=Geostrefy] .device-panel__heading{display:none}.alarm{grid-template-columns:12px minmax(0,1fr)}.alarm>.alarm__route,.alarm>button:last-child,.alarm__done{grid-column:2;justify-self:start}}.table-wrap{position:relative}.geofence-form__alarms{border:0;gap:6px;margin:0;padding:0;display:grid}.geofence-form__alarms legend{color:var(--warn);font-size:var(--fs-md);margin-bottom:4px;padding:0;font-weight:700}.geofence-form__alarms label.check{color:var(--ink-2);font-size:var(--fs-md);align-items:center;gap:8px;font-weight:400;display:flex}.geofence-form__alarms p{color:var(--err)}.refresh-countdown{gap:4px;display:grid}.refresh-countdown>span:first-child{font-variant-numeric:tabular-nums}.refresh-countdown__bar{background:var(--line);border-radius:3px;height:3px;display:block;overflow:hidden}.refresh-countdown__bar>span{background:var(--accent);transform-origin:0;height:100%;animation:linear forwards refresh-countdown;display:block}@keyframes refresh-countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){.refresh-countdown__bar{display:none}}.map-limit-note{z-index:3;max-width:min(560px,100% - 180px);color:var(--ink-2);background:var(--glass);box-shadow:var(--shadow);font-size:var(--fs-md);text-align:center;border-radius:12px;padding:7px 12px;position:absolute;top:14px;left:50%;transform:translate(-50%)}@media (width<=700px){.map-limit-note{text-align:left;max-width:none;top:56px;left:10px;right:70px;transform:none}}.login-tabs{background:var(--surface-2);border-radius:10px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.login-tabs button{color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px;font-weight:600}.login-tabs button.is-active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.plan-banner{border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding:12px 14px;display:flex}.plan-banner p{color:var(--warn);margin:0}.command-devices{gap:6px;margin:0 0 12px;padding:0;list-style:none;display:grid}.command-devices button{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--surface);font-size:var(--fs-base);text-align:left;border-radius:10px;padding:10px 12px}.command-devices button.is-active{border-color:var(--accent)}.command-replies{font-size:var(--fs-base);gap:6px;margin:0 0 12px;padding:0;list-style:none;display:grid}.command-replies .mono{color:var(--muted);margin-right:8px}input[type=checkbox],input[type=radio]{height:22px;accent-color:var(--accent);flex:none;margin:0;width:22px!important}.dialog label.check input{margin-top:1px}.alarm__severity{width:22px;height:22px;color:var(--on-status);background:var(--idle);font-size:var(--fs-xs);border-radius:50%;place-items:center;font-weight:700;line-height:1;display:grid}.alarm--critical .alarm__severity{background:var(--bad);box-shadow:none}.alarm--warning .alarm__severity{color:var(--neutral-100);background:var(--evaluation);box-shadow:none}.alarm{grid-template-columns:22px minmax(0,1fr) auto auto}.alarms__scope{padding:0}.history-range{z-index:3;position:absolute;top:12px;left:12px}.form-section>details>summary{color:var(--ink);cursor:pointer;font-weight:700}.form-section__body{gap:10px;margin-top:10px;display:grid}.form-section .icon-picker{border:0;padding:0}section[aria-label=Geostrefy]{overflow:clip}.dialog__body--wide form>.dialog__actions:last-child{z-index:2;border-top:1px solid var(--line);background:var(--surface);align-items:center;margin:0 -24px -24px;padding:12px 24px;position:sticky;bottom:-24px}.password-form>.dialog__actions .dialog__primary{padding:9px 14px}.segmented button{min-height:40px;font-size:var(--fs-md)}.login-tabs button{min-height:40px}@media (width<=700px){.chip,.btn,.btn--small,.dialog__primary,.dialog__danger,.filters button,.devices-table__actions button,.alarm button,.alarm__route,.geofence-tools button,.geofence-list__actions button,.geofence-list .danger,.login-tabs button,.playback button,.dialog__actions button,.reports__chips button,.reports__actions button,.reports__exports button,.reports__pager button,.reports-custom button,.reports__filters-toggle,.scope-picker__bulk button,.segmented button,.temporary-password button,.map-failure__actions button,.panel-back,.layers-menu button,.command-devices button,.alarms__all,.alarms__more,.login-card button,.geofence-form>button,.history-presets button,.route-points__tabs button,.timeline__point,.icon-picker button,.checklist__actions button,.reports__template button,.link-button:not(.inline-link),input:not([type=checkbox]):not([type=radio]):not([type=range]),select{min-height:44px}.search-field button,.icon-button,.history-panel__head .icon-button{width:44px;height:44px}.map-panel--history .playback button,.map-panel--history .playback select{min-width:44px;height:44px}.maplibregl-ctrl-group button,.leaflet-control-zoom a{width:44px!important;height:44px!important;line-height:44px!important}.geo-handle{width:44px;height:44px}.dialog label.check,.checklist label.check,.targets-picker label.check,.geofence-form__alarms label.check,.reports__columns label.check,.scope-picker__modes label,.scope-picker__list label{min-height:44px}.sheet-handle__grip{background:var(--idle);width:48px;height:6px;top:8px}.dashboard>.device-panel.sheet--half .sheet-handle,.dashboard>.device-panel.sheet--full .sheet-handle{min-height:44px;padding:18px 16px 4px}.sheet--half .sheet-handle__summary,.sheet--full .sheet-handle__summary{visibility:hidden;height:0}.device-row__name{font-size:var(--fs-lg)}.dashboard:has(.map-panel--history)>.device-panel.sheet--peek{height:56px}.dashboard:has(.map-panel--history)>.device-panel.sheet--peek .sheet-handle{min-height:56px;padding-top:14px;padding-bottom:6px}.dashboard:has(.map-panel--history)>.device-panel.sheet--peek .sheet-handle__summary small{display:none}.app-shell--map .dashboard:has(>.device-panel.sheet--peek) .map-panel--history{bottom:calc(var(--nav-mobile) + env(safe-area-inset-bottom) + 56px)}.devices-table td{overflow-wrap:anywhere}.devices-table td:first-child{overflow-wrap:break-word}.devices-table td>*{min-width:0}.devices-table td:first-child{flex-direction:column;align-items:flex-start;gap:2px}.devices-table td:first-child br{display:none}.devices-table__actions button{flex:auto}.devices-view__buttons{width:100%}.devices-view__buttons>*{flex:auto}.notify-table tr{align-items:center;gap:12px;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;margin:0!important;padding:4px 0!important;display:flex!important}.notify-table td{width:auto!important}.notify-table td:first-child{flex:1}.notify-table td:has(>input:disabled){display:none!important}.notify-table td:not(:first-child){gap:8px}.notify-table tr.notify-table__group{border-bottom:0!important;padding-top:14px!important}.notify-table__group th{width:100%;font-size:var(--fs-base);background:0 0;padding:0;display:block}.channel-status b{white-space:nowrap}.form-section{border:0;border-top:1px solid var(--line);border-radius:0;padding:12px 0 0}.form-section>details>summary{min-height:44px;font-size:var(--fs-base);align-items:center;display:flex}.dialog__body{padding:20px 16px}.dialog__body--wide>h2{margin:-20px -16px 0;padding:16px 16px 12px;top:-20px}.dialog__body--wide>.dialog__actions,.dialog__body--wide form>.dialog__actions:last-child{margin:0 -16px -20px;padding:12px 16px;bottom:-20px}.alarms{padding:14px 12px}.alarms__kind>span{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.alarms__kind,.alarms__kind select{flex:100%}.alarm{grid-template-columns:22px minmax(0,1fr)}.alarm__body small{white-space:normal}.alarm>.alarm__route,.alarm>.alarm__ack,.alarm__done{grid-column:2;justify-self:stretch}.alarm:has(.alarm__ack){grid-template-columns:22px minmax(0,1fr) minmax(0,1fr)}.alarm:has(.alarm__ack) .alarm__body{grid-column:2/-1}.alarm:has(.alarm__ack)>.alarm__route{grid-column:2}.alarm:has(.alarm__ack)>.alarm__ack{grid-column:3}section[aria-label=Geostrefy]>.map-panel{margin:0;top:56px}.reports__range{grid-template-columns:minmax(0,1fr)}.dialog-tabs.segmented button{font-size:var(--fs-base)}.section-title{font-size:var(--fs-lg)}}.me-marker{pointer-events:none;width:22px;height:22px;position:relative}.me-marker__dot{background:var(--me);box-shadow:0 0 0 6px color-mix(in srgb, var(--me) 20%, transparent), 0 2px 6px #0000004d;border:3px solid #fff;border-radius:50%;position:absolute;inset:2px}.me-marker__label{color:#fff;background:var(--me);font-size:var(--fs-xs);white-space:nowrap;border-radius:6px;padding:1px 6px;font-weight:700;line-height:1.5;position:absolute;top:-24px;left:50%;transform:translate(-50%)}@media (prefers-reduced-motion:no-preference){.me-marker__dot{animation:2s ease-out infinite me-pulse}@keyframes me-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--me) 45%, transparent), 0 2px 6px #0000004d}to{box-shadow:0 0 0 14px #0000,0 2px 6px #0000004d}}}.me-distance{border:2px solid var(--me);color:var(--me-ink);background:var(--surface);box-shadow:var(--shadow);font-size:var(--fs-md);white-space:nowrap;pointer-events:none;border-radius:999px;padding:2px 10px;font-weight:700}.map-control--me.is-active{border-color:var(--me);background:var(--me)}.map-me-note{z-index:3;max-width:calc(100% - 28px);color:var(--ink);background:var(--glass);box-shadow:var(--shadow);font-size:var(--fs-md);border-radius:999px;align-items:center;gap:6px;padding:6px 14px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.map-me-note.is-error{color:var(--bad);border-radius:12px;font-weight:700}.me-legend{background:var(--me);width:12px;height:12px;box-shadow:0 0 0 1px var(--me);border:2px solid #fff;border-radius:50%;flex:none}@media (width<=700px){.map-me-note{bottom:88px}}.device-commands__refresh{flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 12px;display:flex}.device-commands__refresh small{color:var(--muted);font-size:var(--fs-md)}.device-commands .mono,.command-replies li{overflow-wrap:anywhere}.device-commands .table-wrap{max-width:100%}.devices-view,.alarms,.dashboard{box-shadow:none}.devices-view,.alarms{max-width:1440px}.reports__result{max-width:1100px}.devices-table__actions{white-space:nowrap;width:1%}.devices-table th{color:var(--ink-2)}.users-table td:nth-child(2){white-space:normal;overflow-wrap:anywhere;min-width:160px}@media (width>=701px) and (width<=1499px){.users-table th:nth-child(4),.users-table td:nth-child(4){display:none}}.users-table tr.is-disabled td:nth-child(5){color:var(--bad);font-weight:700}.muted{color:var(--muted)}.devices-table__actions button:not(.btn){border:1px solid var(--line);min-height:32px;color:var(--ink);background:var(--surface);font-size:var(--fs-md);border-radius:8px;padding:5px 10px;font-weight:600}.devices-table__actions button.danger,.geofence-list__actions button.danger,.geofence-list .danger{border-color:var(--bad-line);color:var(--bad);background:var(--surface)}.alarm__body small{color:var(--muted);font-size:var(--fs-md)}.alarm__route{width:auto;height:auto;color:var(--ink)}.alarm__done{color:var(--ok);font-size:var(--fs-md)}.alarms__toolbar{align-items:center}.admin-maps+.admin-maps,.admin-maps+form.admin-maps,form.admin-maps+.admin-maps,.admin-maps+h2.section-title{margin-top:32px}.admin-maps{border-top:1px solid var(--line);padding-top:16px}.admin-maps .table-wrap{max-width:960px}.admin-maps>.dialog__primary,.admin-maps form>.dialog__primary,form.admin-maps>.dialog__primary{justify-self:start;min-width:160px}.geofence-form{border-color:var(--line);background:var(--surface)}.geofence-form p{color:var(--ink-2);font-size:var(--fs-md)}.geofence-form label{font-size:var(--fs-md)}.geofence-list__name small{color:var(--muted);font-size:var(--fs-md)}.geofence-tools button,.geofence-list__actions button{min-height:36px;font-size:var(--fs-md)}.geofence-form>.dialog__actions button,.geofence-form .dialog__actions button{font-size:var(--fs-md)}.form-section{border:0;border-top:1px solid var(--line);border-radius:0;padding:12px 0 0}.devices-view__toolbar>button:not(.btn):not(.dialog__primary){color:var(--on-accent);background:var(--accent)}.device-popup__more{color:var(--accent-ink);font-size:var(--fs-md);margin-top:8px;text-decoration:underline}.device-popup dt{color:var(--muted)}.reports__form label{font-size:var(--fs-md)}.reports__chips button{min-height:36px;font-size:var(--fs-md);padding:6px 12px}.segmented button{white-space:normal;line-height:1.2}.skip-link{z-index:100;color:var(--on-inverse);background:var(--inverse);border-radius:10px;padding:10px 16px;font-weight:700;position:absolute;top:8px;left:8px;transform:translateY(-200%)}.skip-link:focus{transform:none}.workspace:focus{outline:none}.btn--primary:focus-visible,.dialog__primary:focus-visible,.map-control.is-active:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.more-sheet__grip{background:var(--idle);border-radius:3px;justify-self:center;width:48px;height:6px;margin:0 0 8px}.view-state{color:var(--ink-2);font-size:var(--fs-base);line-height:var(--lh-body);margin:24px}.error-box{font-size:var(--fs-md);line-height:var(--lh-body)}.device-details{container-type:inline-size}.device-actions{grid-template-columns:repeat(2,minmax(0,1fr))}@container (width>=420px){.device-actions{grid-template-columns:repeat(4,minmax(0,1fr))}}.device-details__facts dd small{font-size:var(--fs-sm)}@media (width<=700px){.device-details__facts dd small{font-size:var(--fs-md)}}.login-card .brand{font-size:var(--fs-lg)}@media (width<=700px){.devices-table__actions button,.geofence-tools button,.geofence-list__actions button,.reports__chips button,.alarms__kind select{min-height:44px}details>summary{align-items:center;min-height:44px;display:flex}.maplibregl-popup-close-button,.leaflet-popup-close-button{width:44px!important;height:44px!important}}@media (pointer:coarse){.route-parking{width:44px;height:44px}}.alarm__severity{font-size:var(--fs-md)}@media (width<=700px){.map-me-note{max-width:calc(100% - 80px);top:62px;bottom:auto;left:10px;transform:none}.device-commands .devices-table td{text-align:left;display:block}.device-commands .devices-table td:before{margin-bottom:2px;display:block}}.alarms__list .alarm .alarm__route{border-color:var(--line);color:var(--ink);background:var(--surface);font-size:var(--fs-md)}.alarms__list .alarm .alarm__ack{border-color:var(--accent);color:var(--on-accent);background:var(--accent);font-size:var(--fs-md)}@media (width<=700px){.alarms__list .alarm:has(.alarm__ack)>.alarm__route{grid-column:2;justify-self:stretch}.alarms__list .alarm:has(.alarm__ack)>.alarm__ack{grid-column:3;justify-self:stretch}.alarms__list .alarm>.alarm__route:last-child{grid-column:2/-1}}.form-section>details>summary{list-style:none}.form-section>details>summary::-webkit-details-marker{display:none}.form-section>details>summary:after{content:"▾";color:var(--muted);margin-left:auto;padding-left:12px}.form-section>details[open]>summary:after{content:"▴"}@media (width<=700px){.dialog-tabs.segmented{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row}}.map-me-note.is-error{flex-wrap:wrap;align-items:flex-start;font-weight:600}@media (width<=700px){.devices-table__actions button:not(.btn){min-height:44px}}.route-parking{transition:translate .2s}.flat-marker .route-parking{position:relative}@media (prefers-reduced-motion:reduce){.route-parking{transition:none}}.map-panel .maplibregl-popup{z-index:3}.camera-dialog{width:min(760px,100% - 24px)}.camera-dialog__channels{grid-auto-columns:minmax(40px,1fr)}.camera-dialog__channels button{min-height:44px;font-size:var(--fs-base)}.camera-dialog__channels button:disabled{cursor:not-allowed;opacity:.55}.camera-dialog__screen{aspect-ratio:16/9;background:#0b1520;border-radius:12px;position:relative;overflow:hidden}.camera-dialog__screen video{object-fit:contain;background:#0b1520;width:100%;height:100%;display:block}.camera-dialog__overlay{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.camera-dialog__spinner{border:4px solid #ffffff40;border-top-color:#fff;border-radius:50%;width:40px;height:40px}@media (prefers-reduced-motion:no-preference){.camera-dialog__spinner{animation:1s linear infinite camera-spin}}@keyframes camera-spin{to{transform:rotate(360deg)}}.camera-dialog__status{color:var(--ink);font-size:var(--fs-base);font-variant-numeric:tabular-nums;margin:0;font-weight:600}.camera-dialog__status.is-error{color:var(--bad)}.camera-dialog .dialog__actions button{min-height:44px}.camera-entry{justify-items:start;gap:6px;margin:0;display:grid}.device-kind button{min-height:44px}@media (width<=700px){.camera-dialog__channels{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:row}}.btn--danger-outline{border-color:var(--bad-line);color:var(--bad);background:var(--surface)}.device-admin-actions{gap:8px;margin-top:20px;display:grid}.device-admin-actions__row{flex-wrap:wrap;gap:8px;display:flex}.map-panel>.map{isolation:isolate}.route-parking.is-lifted{translate:-38px;box-shadow:0 2px 8px #00000059}.route-parking.is-lifted:after{content:"";border-top:6px solid #0000;border-bottom:6px solid #0000;border-left:7px solid var(--parked);pointer-events:none;background:0 0;width:0;height:0;position:absolute;top:50%;left:100%;transform:translateY(-50%)}@media (pointer:coarse){.route-parking.is-lifted{translate:-48px}.route-parking.is-lifted:after{height:0;transform:translateY(-50%)}}.device-admin-actions--edit{border-top:1px solid var(--line);margin-top:8px;padding-top:14px}.device-admin-actions--edit h3{font-size:var(--fs-base);margin:0}.device-admin-actions--edit .device-admin-actions__row>*{flex:160px}.admin-tabs{margin-bottom:16px}.admin-tabs button{min-height:40px}.admin-panel{gap:12px;min-width:0;display:grid}.admin-panel h3{font-size:var(--fs-lg);margin:12px 0 0}.admin-filters{grid-template-columns:minmax(200px,2fr) repeat(auto-fit,minmax(140px,1fr));align-items:end;gap:10px;display:grid}.admin-filters label{color:var(--muted);font-size:var(--fs-md);gap:4px;font-weight:600;display:grid}.admin-filters input,.admin-filters select{border:1px solid var(--line);min-height:40px;color:var(--ink);background:var(--surface);border-radius:10px;padding:8px 10px}.admin-pager{color:var(--muted);font-size:var(--fs-md);margin:0}.admin-pager__buttons{justify-content:flex-end;gap:8px;display:flex}.admin-section-head,.admin-account-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.admin-account-head h3{font-size:var(--fs-xl);margin:0}.transfer-effects{color:var(--ink-2);font-size:var(--fs-md);gap:4px;margin:0;padding-left:20px;display:grid}.name-form{border-bottom:1px solid var(--line);margin-bottom:8px;padding-bottom:12px}.admin-devices-table td small{color:var(--muted)}@media (width<=700px){.admin-tabs{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row}.admin-tabs button{min-height:44px;font-size:var(--fs-base)}.admin-filters{grid-template-columns:minmax(0,1fr)}.admin-filters input,.admin-filters select{min-height:44px}.admin-pager__buttons>*{flex:1 1 0}}.admin-filters input,.admin-filters select{width:100%;min-width:0}.account-members-table td:nth-child(2){white-space:normal;overflow-wrap:anywhere;min-width:160px}.account-members-table tr.is-disabled td:nth-child(4){color:var(--bad);font-weight:700}.audit-view__groups{flex-wrap:wrap;gap:6px;display:flex}.audit-view__admins{align-self:end;min-height:40px}.audit-view__advanced summary{cursor:pointer;color:var(--ink-2);min-height:32px;font-weight:600}.audit-view__advanced .admin-filters{margin-top:8px}.audit-view__export{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.audit-view__export small{color:var(--muted);font-size:var(--fs-sm)}.audit-picker{gap:4px;min-width:0;display:grid;position:relative}.audit-picker__chosen{border:1px solid var(--line);min-width:0;min-height:40px;color:var(--ink);background:var(--surface-2);border-radius:10px;align-items:center;gap:8px;padding:2px 4px 2px 10px;font-weight:600;display:flex}.audit-picker__chosen>span{overflow-wrap:anywhere;flex:auto;min-width:0}.audit-picker__matches{z-index:20;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-lg);border-radius:10px;max-height:280px;margin:4px 0 0;padding:4px;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.audit-picker__matches button{width:100%;min-height:40px;color:var(--ink);text-align:left;font-size:var(--fs-md);overflow-wrap:anywhere;background:0 0;border:0;border-radius:8px;padding:8px 10px;display:block}.audit-picker__matches button:hover,.audit-picker__matches button:focus-visible{background:var(--surface-2)}.audit-table td{vertical-align:top}.audit-table td>span{display:block}.audit-table__time{white-space:nowrap}.audit-badge,.audit-group{color:var(--muted);font-size:var(--fs-sm);margin-top:2px;display:block}.audit-badge{color:var(--parked);font-weight:600}.audit-table__more td{background:var(--surface-2)}.audit-details{gap:8px;min-width:0;display:grid}.audit-details dl{flex-wrap:wrap;gap:6px 18px;margin:0;display:flex}.audit-details dl>div{min-width:0}.audit-details dt{color:var(--muted);font-size:var(--fs-sm);font-weight:600}.audit-details dd{overflow-wrap:anywhere;margin:0}.audit-details pre{background:var(--surface);border:1px solid var(--line);font-size:var(--fs-sm);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px;margin:0;padding:10px}.audit-trail{border-top:1px solid var(--line);min-width:0;margin-top:16px;padding-top:14px;display:block}.audit-trail h3{font-size:var(--fs-base);margin:0}.audit-trail>.btn{justify-self:start}.audit-trail__list{gap:4px;max-height:360px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.audit-trail__list li{border-bottom:1px solid var(--line);gap:6px;padding-bottom:4px;display:grid}.audit-trail__entry{width:100%;min-height:44px;color:var(--ink);text-align:left;font-size:var(--fs-md);overflow-wrap:anywhere;background:0 0;border:0;border-radius:8px;gap:2px;padding:6px 8px;display:grid}.audit-trail__entry:hover,.audit-trail__entry:focus-visible{background:var(--surface-2)}.audit-trail__when{color:var(--muted);font-size:var(--fs-sm)}@media (width<=700px){.audit-view__export>.btn{flex:140px;min-height:44px}.audit-picker__chosen,.audit-picker__matches button{min-height:44px}.audit-picker__chosen .btn{min-height:40px}.audit-table td{text-align:left;display:block}.audit-table td:before{margin-bottom:2px;display:block}.audit-table__time{white-space:normal}.audit-view__advanced summary{align-items:center;min-height:44px;display:flex}}.admin-filters label.audit-view__admins{color:var(--ink-2);align-items:center;gap:10px;display:flex}.admin-filters label.audit-view__admins input{width:22px;min-width:22px;height:22px;min-height:0;padding:0}@media (width>=701px){.audit-table{table-layout:fixed;width:100%}.audit-table th:first-child{width:170px}.audit-table th:nth-child(2){width:22%}.audit-table th:nth-child(4){width:18%}.audit-table th:nth-child(5){width:120px}.audit-table td{overflow-wrap:anywhere}}@media (width<=700px){.topbar--hidden{display:none!important}.topbar.topbar--phone{align-items:center;gap:6px;min-height:56px;padding:0 6px;display:flex}.app-shell--map .topbar.topbar--phone{padding:0 6px}.topbar--phone h1{min-width:0;font-size:var(--fs-lg);line-height:var(--lh-tight);flex:1;margin:0;display:grid}.topbar--phone h1>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topbar__sub{color:var(--muted);font-size:var(--fs-sm);font-weight:600}.topbar--phone .icon-button{flex:none;display:grid;position:relative}.phone-icon-button{width:44px;height:44px;color:inherit;background:0 0;border:0;border-radius:10px;flex:none;place-items:center;padding:0;display:grid}.phone-icon-button:disabled{opacity:.5}.mobile-nav.phone-nav,.mobile-nav.device-nav--4{grid-template-columns:repeat(4,minmax(0,1fr))}.mobile-nav.device-nav--5,.mobile-nav.phone-nav.phone-nav--5{grid-template-columns:repeat(5,minmax(0,1fr))}.mobile-nav.device-nav{border-top-color:var(--navy);background:var(--navy)}.mobile-nav.device-nav button{color:var(--nav-muted)}.mobile-nav.device-nav button.is-active{color:#fff}.mobile-nav.device-nav button.is-active .icon{color:var(--nav-active)}.map-marker--labelled{overflow:visible}.map-marker__icon{line-height:1}.map-marker__label{border:1px solid var(--ink);max-width:150px;color:var(--ink);background:var(--surface);box-shadow:var(--shadow);text-overflow:ellipsis;white-space:nowrap;pointer-events:none;padding:2px 6px;font-size:13px;font-weight:600;line-height:1.3;position:absolute;top:50%;left:calc(100% + 6px);overflow:hidden;transform:translateY(-50%)}.device-header{z-index:4;background:var(--surface);box-shadow:var(--shadow-lg);border-radius:16px;padding:8px 8px 8px 12px;position:absolute;top:8px;left:8px;right:8px}.device-header__address{color:var(--ink);background:var(--canvas);font-size:var(--fs-base);line-height:var(--lh-tight);overflow-wrap:anywhere;border-radius:8px;margin:0 0 6px;padding:8px 10px}.device-header__address small{color:var(--muted);font-size:var(--fs-sm);margin-top:4px;display:block}.device-header__row{align-items:center;gap:4px;min-width:0;display:flex}.device-header__name{min-width:0;color:var(--accent-ink);font-size:var(--fs-lg);line-height:var(--lh-tight);overflow-wrap:anywhere;flex:1}.device-header__fold{width:44px;height:44px;color:var(--muted);background:0 0;border:0;border-radius:10px;flex:none;place-items:center;display:grid}.device-header__distance{white-space:nowrap;flex:none;font-weight:700}.device-header__arrow{color:var(--accent-ink);font-weight:800;display:inline-block}.device-header__me{border:1px solid var(--line);min-height:44px;color:var(--ink);background:var(--surface);font-size:var(--fs-md);border-radius:999px;flex:none;padding:0 12px;font-weight:600}.device-header__error{color:var(--bad);font-size:var(--fs-sm);margin:6px 0 0}.map-panel--device .map-controls,.map-panel--device .map-status{top:calc(var(--device-header,0px) + 10px)}.map-panel--device .map-me-note{top:calc(var(--device-header,0px) + 62px)}.device-more{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 10px;padding:16px 0;display:grid}.device-more__tile{min-height:44px;color:var(--ink-2);font-size:var(--fs-base);background:0 0;border:0;justify-items:center;gap:8px;padding:0;font-weight:600;display:grid}.device-more__icon{aspect-ratio:1;width:72px;max-width:100%;color:var(--accent-ink);background:var(--accent-soft);box-shadow:var(--shadow);border-radius:18px;place-items:center;display:grid}.phone-details{padding-top:12px}.phone-pick{margin-top:24px}.geofence-device-filter{color:var(--ink-2);margin:0 0 8px}.phone-list{margin:0 -12px}.phone-list__head{z-index:15;background:var(--surface);box-shadow:0 1px 0 var(--line);position:sticky;top:0}.phone-list__bar{color:#fff;background:var(--navy);align-items:center;gap:2px;min-height:60px;padding:0 4px;display:flex}.phone-list__bar h1{min-width:0;font-size:var(--fs-xl);text-align:center;text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;overflow:hidden}.phone-list__bar .phone-icon-button.is-busy .icon{animation:1s linear infinite phone-spin}.phone-list__search{margin:8px 12px}.phone-tabs{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.phone-tabs button{min-height:60px;color:var(--muted);font-size:var(--fs-md);background:0 0;border:0;border-bottom:3px solid #0000;align-content:center;justify-items:center;gap:4px;padding:4px 2px;font-weight:600;line-height:1.2;display:grid}.phone-tabs button span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.phone-tabs button small{font-size:var(--fs-sm)}.phone-tabs button.is-active{border-bottom-color:var(--accent);color:var(--accent-ink)}.phone-rows{display:grid}.phone-row{border-bottom:8px solid var(--canvas);background:var(--surface);grid-template-rows:minmax(0,1fr) 48px;height:144px;display:grid;overflow:hidden}.phone-row__main{min-height:0;color:var(--ink);text-align:left;background:0 0;border:0;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 12px;display:grid}.phone-row__icon{border-radius:50%;place-items:center;width:52px;height:52px;font-size:1.5rem;line-height:1;display:grid}.phone-row__text{gap:4px;min-width:0;display:grid}.phone-row__text strong{font-size:var(--fs-lg);line-height:var(--lh-tight);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.phone-row__meta{color:var(--muted);font-size:var(--fs-md);flex-wrap:wrap;gap:2px 12px;display:flex}.phone-row__meta .is-low{color:var(--bad);font-weight:700}.phone-badge{border:1px solid var(--line);text-align:center;min-width:86px;display:grid;overflow:hidden}.phone-badge__time{color:var(--on-status);background:var(--idle);font-size:var(--fs-md);white-space:nowrap;padding:3px 6px;font-weight:700}.phone-badge__label{color:var(--ink);background:var(--surface);font-size:var(--fs-md);white-space:nowrap;padding:3px 6px}.phone-badge--moving .phone-badge__time{background:var(--ok)}.phone-badge--stopped .phone-badge__time{background:var(--warn)}.phone-badge--parked .phone-badge__time{background:var(--parked)}.phone-badge--offline .phone-badge__time{background:var(--bad)}.phone-row__actions{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr)) 48px;display:grid}.phone-row__actions button{min-width:0;min-height:47px;color:var(--accent-ink);font-size:var(--fs-md);white-space:nowrap;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:0 4px;font-weight:600;display:flex}.phone-row__actions button .icon{flex:none}.phone-menu{display:flex}.phone-menu__title{color:var(--muted);font-size:var(--fs-md);margin:4px 8px 8px;font-weight:600}.phone-profile{gap:16px;padding-top:12px;display:grid}.phone-profile__card{border:1px solid var(--line);border-radius:var(--radius);min-height:72px;color:var(--ink);background:var(--surface);text-align:left;align-items:center;gap:14px;padding:12px 14px;display:flex}.phone-profile__card>.icon{color:var(--muted);margin-left:auto;transform:rotate(-90deg)}.avatar.avatar--large{width:52px;height:52px;font-size:var(--fs-lg)}.phone-profile__who{gap:2px;min-width:0;display:grid}.phone-profile__who small{color:var(--muted);font-size:var(--fs-md);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.phone-profile__list{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.phone-profile__list li+li{border-top:1px solid var(--line)}.phone-profile__list button{width:100%;min-height:52px;color:var(--ink);font-size:var(--fs-base);text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:0 14px;font-weight:600;display:flex}.phone-profile__list .phone-profile__logout{color:var(--bad)}}@keyframes phone-spin{to{transform:rotate(360deg)}}@media (width<=700px){.app-shell--phone.app-shell--map .map-panel--history{bottom:calc(var(--nav-mobile) + env(safe-area-inset-bottom))}.phone-profile__card .avatar{color:var(--on-accent);background:var(--accent);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.app-shell--phone .device-popup-wrap{max-width:calc(100vw - 84px)!important}.app-shell--phone .device-popup dl{grid-template-columns:max-content minmax(0,1fr);gap:3px 8px}.app-shell--phone .device-popup dt{font-size:var(--fs-sm);line-height:1.35}.app-shell--phone .device-popup dd{overflow-wrap:anywhere;min-width:0;line-height:1.35}.app-shell--phone .device-popup__title{overflow-wrap:anywhere}.phone-details .panel-back{display:none}.phone-details .device-details__more summary{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);align-items:center;min-height:48px;padding:0 14px;display:flex}.phone-details .device-details__more[open] summary{border-bottom-right-radius:0;border-bottom-left-radius:0}.phone-details .device-details__more dl{border:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius);background:var(--surface);border-top:0;margin:0;padding:12px 14px}.phone-details .device-details__facts>div{align-items:baseline}.phone-details .device-details__facts dt{flex:auto;min-width:0}.phone-details .device-details__facts dd{white-space:nowrap;flex:none}}.device-popup__fact--ok{color:var(--ok)!important}.device-popup__fact--bad{color:var(--bad)!important}.camera-dialog__canvas{object-fit:contain;background:#0b1520;width:100%;height:100%;display:block}.camera-dialog__note{color:var(--muted);font-size:var(--fs-sm);margin:4px 0 0}.camera-dialog__play{color:#fff;cursor:pointer;background:#0b1520b8;border:0;border-radius:50%;place-items:center;width:76px;height:76px;padding:0 0 0 4px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 3px #ffffffd9}.camera-dialog__play:hover,.camera-dialog__play:focus-visible{background:var(--accent);color:var(--on-accent)}.camera-dialog__screen video[hidden]{display:none}.dialog__x{z-index:6;float:right;border:1px solid var(--line);width:40px;height:40px;color:var(--ink-2);background:var(--surface);box-shadow:var(--shadow);cursor:pointer;border-radius:50%;place-items:center;margin:8px 8px -48px 0;padding:0;font-size:1.125rem;line-height:1;display:grid;position:sticky;top:8px}.dialog__x:hover,.dialog__x:focus-visible{color:var(--ink);background:var(--canvas)}@media (width<=700px){.dialog__x{width:44px;height:44px}}:root{--view-bar:0px}.app-shell.is-viewing-account{--view-bar:40px;padding-top:var(--view-bar)}.account-view-bar{z-index:60;color:#fff;background:var(--warning);min-height:40px;font-size:var(--fs-md);justify-content:center;align-items:center;gap:12px;padding:4px 12px;display:flex;position:fixed;top:0;left:0;right:0}.account-view-bar button{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffffb3;border-radius:999px;min-height:32px;padding:0 12px;font-weight:700}.account-view-bar button:hover,.account-view-bar button:focus-visible{color:var(--warning);background:#fff}.app-shell--map.is-viewing-account .workspace{height:calc(100vh - var(--view-bar))}.is-viewing-account .sidebar{top:var(--view-bar);height:calc(100vh - var(--view-bar))}@media (width<=700px){.app-shell.is-viewing-account{--view-bar:52px}.account-view-bar{font-size:var(--fs-sm);flex-wrap:wrap;gap:4px 10px}.account-view-bar button{min-height:44px}.app-shell--map.is-viewing-account .workspace{height:calc(100dvh - var(--view-bar))}}.device-row__id{color:var(--muted);font-size:var(--fs-sm);overflow-wrap:anywhere;font-weight:400;line-height:1.3;display:block}.device-row[role=button]{cursor:pointer}.device-row[role=button]:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.device-row__id{-webkit-user-select:text;user-select:text;cursor:text}.camera-dialog__fullscreen{z-index:3;color:#fff;cursor:pointer;background:#0b152099;border:0;border-radius:10px;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:8px;right:8px}.camera-dialog__fullscreen:hover,.camera-dialog__fullscreen:focus-visible{background:#0b1520d9}.camera-dialog__screen:fullscreen{aspect-ratio:auto;background:#000;border-radius:0;width:100vw;height:100vh}:is(.camera-dialog__screen:fullscreen video,.camera-dialog__screen:fullscreen canvas){object-fit:contain;background:#000;width:100%;height:100%}.camera-dialog__screen.is-filled{z-index:1000;aspect-ratio:auto;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:#000;border-radius:0;position:fixed;inset:0}.camera-dialog__screen.is-filled video,.camera-dialog__screen.is-filled canvas{object-fit:contain;background:#000;width:100%;height:100%}.camera-dialog__screen.is-filled .camera-dialog__fullscreen{top:calc(env(safe-area-inset-top) + 8px);right:calc(env(safe-area-inset-right) + 8px)}.camera-view{width:100%;max-width:none;height:100%;max-height:none;color:var(--ink);background:var(--canvas);border:0;margin:0;padding:0;position:fixed;inset:0}.camera-view[open]{grid-template-rows:auto auto minmax(0,1fr);display:grid}.camera-view::backdrop{background:#0b152099}.camera-view__bar{padding:calc(env(safe-area-inset-top) + 8px) 16px 8px 8px;color:#fff;background:var(--navy);align-items:center;gap:10px;display:flex}.camera-view__back{color:#fff;cursor:pointer;background:0 0;border:0;border-radius:12px;place-items:center;width:44px;height:44px;display:grid}.camera-view__back:hover,.camera-view__back:focus-visible{background:#ffffff24}.camera-view__title{min-width:0}.camera-view__title h2{font-size:var(--fs-lg);line-height:var(--lh-tight);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.camera-view__title p{color:#ffffffc7;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;margin:2px 0 0}.camera-view__tabs{border-bottom:1px solid var(--line);background:var(--surface);gap:4px;padding:8px 16px 0;display:flex}.camera-view__tabs button{min-height:44px;color:var(--muted);font-size:var(--fs-base);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;align-items:center;gap:8px;padding:6px 14px;font-weight:700;display:inline-flex}.camera-view__tabs button.is-active{border-bottom-color:var(--accent);color:var(--ink)}.camera-view__main{grid-template-columns:minmax(0,1.7fr) minmax(320px,1fr);gap:16px;min-height:0;padding:16px;display:grid;overflow:auto}.camera-view__stage{grid-template-columns:minmax(0,1fr);align-content:start;gap:10px;min-width:0;display:grid}.camera-view__stage>div{grid-template-columns:minmax(0,1fr);gap:10px;min-width:0;display:grid}.camera-view__stage>div[hidden]{display:none}.camera-view__toolbar{color:#fff;background:#1d2a38;border-radius:12px;align-items:center;gap:8px;min-width:0;padding:6px;display:flex}.camera-view__channels{scrollbar-width:none;flex:1;gap:4px;min-width:0;display:flex;overflow-x:auto}.camera-view__channels button{color:#fffc;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;min-width:44px;min-height:40px;padding:6px 10px;font-weight:700}.camera-view__channels button.is-active{color:#fff;background:#ffffff29}.camera-view__channels button:disabled:not(.is-active){opacity:.45;cursor:not-allowed}.camera-view__shot{color:#fff;cursor:pointer;background:#0b1520;border:0;border-radius:8px;flex:none;min-height:40px;padding:6px 14px;font-weight:700}.camera-view__shot:hover:not(:disabled),.camera-view__shot:focus-visible{background:var(--accent);color:var(--on-accent)}.camera-view__shot:disabled{opacity:.5;cursor:not-allowed}.camera-view .camera-dialog__screen{border-radius:12px}.camera-view__statusbar{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.camera-view__statusbar .btn{min-height:44px}.camera-view__side{grid-template-rows:auto minmax(280px,1fr) auto;gap:10px;min-width:0;min-height:0;display:grid}.camera-view__where{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:8px;padding:12px 14px;display:grid}.camera-view__where strong{font-size:var(--fs-base);line-height:var(--lh-tight)}.camera-view__where dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;margin:0;display:grid}.camera-view__where dt{color:var(--muted);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.02em;font-weight:700}.camera-view__where dd{font-size:var(--fs-md);font-variant-numeric:tabular-nums;margin:0}.camera-view__map{border:1px solid var(--line);background:var(--surface);border-radius:12px;min-height:280px;position:relative;overflow:hidden}.camera-view__map>.map,.camera-view__map>.map-failure{position:absolute;inset:0}.camera-view__map--empty{color:var(--muted);place-items:center;display:grid}.camera-view__popup{font-size:var(--fs-sm);font-variant-numeric:tabular-nums;gap:2px;display:grid}.camera-view__hint{color:var(--muted);font-size:var(--fs-sm);margin:0}.camera-view__panel,.camera-album{gap:12px;display:grid}.camera-view__empty{border:1px dashed var(--line);color:var(--muted);background:var(--surface);text-align:center;border-radius:12px;margin:0;padding:24px 16px}.camera-album__grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.camera-album__grid button{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--surface);font-size:var(--fs-sm);cursor:pointer;border-radius:10px;gap:4px;padding:4px;display:grid}.camera-album__grid img{aspect-ratio:16/9;object-fit:cover;background:#0b1520;border-radius:7px;width:100%;display:block}.camera-album__view{gap:10px;display:grid}.camera-album__view img{object-fit:contain;background:#0b1520;border-radius:12px;width:100%;max-height:70vh;display:block}.camera-album__view p{color:var(--muted);margin:0}.camera-album__actions{flex-wrap:wrap;gap:8px;display:flex}.camera-album__actions .btn{min-height:44px}.camera-ctl{gap:12px;display:grid}.camera-ctl__card{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:10px;padding:14px;display:grid}.camera-ctl__card h4{font-size:var(--fs-md);margin:0}.camera-ctl__row{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.camera-ctl__row .btn{min-height:44px}.camera-ctl label{color:var(--muted);font-size:var(--fs-sm);gap:4px;font-weight:700;display:grid}.camera-ctl select,.camera-ctl input[type=text],.camera-ctl input[type=number],.camera-ctl__text{border:1px solid var(--line);min-height:44px;color:var(--ink);background:var(--surface);font:inherit;border-radius:10px;padding:8px 10px}.camera-ctl__text{resize:vertical;width:100%;min-height:64px}.camera-ctl__checks{flex-wrap:wrap;gap:16px;display:flex}.camera-ctl__checks label,.camera-ctl__confirm{color:var(--ink);flex-direction:row;align-items:center;gap:8px;font-weight:600;display:flex}.camera-ctl__count{color:var(--muted);font-size:var(--fs-sm);margin-right:auto}.camera-ctl__facts{gap:4px;margin:0;display:grid}.camera-ctl__facts div{justify-content:space-between;gap:10px;display:flex}.camera-ctl__facts dt{color:var(--muted)}.camera-ctl__facts dd{margin:0;font-weight:700}.camera-ctl__fields{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;display:grid}.camera-ctl__field small{color:var(--muted);font-weight:400}.camera-ctl__status{color:var(--muted);font-size:var(--fs-sm);margin:0}.camera-ctl__status.is-error{color:var(--danger,#c0392b)}.camera-ctl__grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.camera-ctl__grid button{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--surface);font-size:var(--fs-sm);cursor:pointer;border-radius:10px;gap:4px;padding:4px;display:grid}.camera-ctl__grid img,.camera-ctl__thumb-wait{aspect-ratio:16/9;object-fit:cover;background:#0b1520;border-radius:7px;width:100%;display:block}.camera-ctl__photo-view{gap:10px;display:grid}.camera-ctl__photo-view img{object-fit:contain;background:#0b1520;border-radius:12px;width:100%;max-height:70vh;display:block}.camera-ctl__photo-view p{color:var(--muted);margin:0}@media (width<=900px){.camera-view[open]{grid-template-rows:auto minmax(0,1fr) auto}.camera-view__bar{padding-right:12px}.camera-view__tabs{padding:0 0 env(safe-area-inset-bottom);border-top:1px solid var(--line);border-bottom:0;order:3;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;display:grid}.camera-view__tabs button{min-height:60px;font-size:var(--fs-sm);border-top:3px solid #0000;border-bottom:0;flex-direction:column;justify-content:center;gap:2px}.camera-view__tabs button.is-active{border-top-color:var(--accent);color:var(--accent-ink)}.camera-view__main{grid-template-columns:minmax(0,1fr);align-content:start;gap:10px;padding:0 0 12px}.camera-view__toolbar,.camera-view .camera-dialog__screen:not(.is-filled){border-radius:0}.camera-view__statusbar,.camera-view__stage>div>.camera-dialog__note,.camera-view__stage>div>.error-box{margin:0 12px}.camera-view__panel,.camera-album,.camera-ctl{padding:12px 12px 0}.camera-view__side{grid-template-rows:auto 320px auto;padding:0 12px}.camera-view__where dl{grid-template-columns:minmax(0,1fr)}}.camera-rec__head{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.camera-rec__head label{color:var(--muted);font-size:var(--fs-sm);gap:4px;font-weight:700;display:grid}.camera-rec__head input{border:1px solid var(--line);min-height:44px;color:var(--ink);background:var(--surface);font:inherit;border-radius:10px;padding:6px 10px}.camera-rec__head .btn{min-height:44px}.camera-rec__strip{border:1px solid var(--line);background:var(--surface);border-radius:8px;height:28px;position:relative;overflow:hidden}.camera-rec__strip span{background:var(--parked);border-radius:2px;position:absolute;top:3px;bottom:3px}.camera-rec__strip span.is-playing{background:var(--accent)}.camera-rec__hours{color:var(--muted);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:-8px;display:flex}.camera-rec__list{gap:6px;max-height:60vh;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.camera-rec__list li{border:1px solid var(--line);background:var(--surface);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.camera-rec__list li.is-playing{border-color:var(--accent);background:var(--accent-soft)}.camera-rec__list li>div{gap:2px;min-width:0;display:grid}.camera-rec__list strong{font-variant-numeric:tabular-nums}.camera-rec__list span{color:var(--muted);font-size:var(--fs-sm)}.camera-rec__list .btn{flex:none;min-height:44px}.camera-view__clip{background:var(--accent-soft);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;display:flex}.camera-view__clip span{flex:1;min-width:180px}.camera-view__clip .btn{min-height:40px}@media (width<=900px){.camera-view__clip{margin:0 12px}.camera-rec__list{max-height:none}}.audit-trail>summary{cursor:pointer;align-items:center;gap:8px;min-height:44px;list-style:none;display:flex}.audit-trail>summary::-webkit-details-marker{display:none}.audit-trail>summary:before{content:"▸";color:var(--muted);transition:transform .15s}.audit-trail[open]>summary:before{transform:rotate(90deg)}.audit-trail>summary h3{font-size:var(--fs-base);margin:0}.audit-trail>*+*{margin-top:8px}.audit-trail>.btn{display:inline-flex}.group-view{color:var(--muted);font-size:var(--fs-sm);align-items:center;gap:8px;margin:2px 18px 8px;font-weight:700;display:flex}.group-view select{border:1px solid var(--line);min-width:0;min-height:40px;color:var(--ink);background:var(--surface);font:inherit;border-radius:10px;flex:1;padding:6px 10px;font-weight:600}.device-list__group{z-index:1;border-bottom:1px solid var(--line);color:var(--ink-2);background:var(--surface);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.03em;justify-content:space-between;align-items:center;margin:6px 0 2px;padding:6px 4px;display:flex;position:sticky;top:0}.device-list__group span{color:var(--muted);font-weight:600}.group-checks{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:4px 12px;display:grid}.sidebar{position:sticky}.sidebar__fold{z-index:6;border:1px solid var(--line);width:28px;height:28px;color:var(--ink-2);background:var(--surface);box-shadow:var(--shadow);cursor:pointer;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:22px;right:-14px}.sidebar__fold:hover,.sidebar__fold:focus-visible{border-color:var(--accent);color:var(--accent-ink);background:var(--accent-soft)}.sidebar__fold .icon{width:16px;height:16px}.is-nav-folded .sidebar__fold .icon{transform:rotate(-90deg)}.app-shell.is-nav-folded{grid-template-columns:76px minmax(0,1fr)}.is-nav-folded .sidebar{padding-left:10px;padding-right:10px}.is-nav-folded .sidebar nav button{justify-content:center}.is-nav-folded .sidebar nav button>span:not(.nav-badge),.is-nav-folded .sidebar__who,.is-nav-folded .sidebar__logout span,.is-nav-folded .sidebar .brand>span:last-child{display:none}.is-nav-folded .sidebar nav .nav-badge{margin:0;position:absolute;top:2px;right:2px}.is-nav-folded .sidebar nav button{position:relative}.is-nav-folded .brand{padding-left:6px;padding-right:0}@media (width<=900px){.sidebar__fold{display:none}.device-header{border-radius:14px;padding:6px 6px 6px 12px}.device-header__row{align-items:center;gap:8px}.device-header__address{min-width:0;color:var(--ink-2);font-size:var(--fs-sm);-webkit-line-clamp:2;background:0 0;-webkit-box-orient:vertical;flex:1;margin:0;padding:0;line-height:1.3;display:-webkit-box;overflow:hidden}.device-header__address small{font-size:var(--fs-xs)}.device-header__me{min-height:40px;font-size:var(--fs-sm);padding:0 10px}.device-header__distance{font-size:var(--fs-sm)}}.history-empty{z-index:3;border-radius:var(--radius-lg);background:var(--surface);width:min(340px,100% - 32px);box-shadow:var(--shadow-lg);text-align:center;justify-items:center;gap:6px;margin:0 auto;padding:16px 18px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.history-empty strong{font-size:var(--fs-lg)}.history-empty span{color:var(--ink-2);font-size:var(--fs-md);font-variant-numeric:tabular-nums}.history-empty small{color:var(--muted);font-size:var(--fs-sm);line-height:1.35}.history-empty .btn{min-height:44px;margin-top:4px}.leaflet-container,.leaflet-popup-content{font-family:inherit}.maplibregl-ctrl-attrib-button{background-position:50%!important;background-repeat:no-repeat!important}@media (width<=700px){.dialog.dialog--page{width:100%;max-width:none;height:100%;max-height:none;padding-top:env(safe-area-inset-top);border:0;border-radius:0;margin:0}.dialog.dialog--page>.dialog__x{top:calc(env(safe-area-inset-top) + 8px)}.maplibregl-ctrl-bottom-right .maplibregl-ctrl-compass{display:none}.maplibregl-ctrl-bottom-right .maplibregl-ctrl-group button{width:44px;height:44px}}.update-notice{z-index:60;top:calc(env(safe-area-inset-top) + 8px);color:#fff;background:var(--navy);max-width:calc(100vw - 20px);box-shadow:var(--shadow-lg);border-radius:14px;align-items:center;gap:12px;padding:8px 8px 8px 14px;font-weight:600;display:flex;position:fixed;left:50%;transform:translate(-50%)}.update-notice .btn{white-space:nowrap;min-height:40px}@media (width<=900px){.topbar.topbar--phone{z-index:30;background:var(--surface);position:sticky;top:0}}.push-card{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:6px;padding:12px 14px;display:grid}.push-card p{color:var(--ink-2);font-size:var(--fs-md);margin:0}.push-card__actions{flex-wrap:wrap;gap:8px;display:flex}.push-card__actions .btn{min-height:44px}.dialog>.dialog__x{float:none;margin:8px 8px -48px auto;display:grid}.dialog>.dialog__x+.dialog__tabs{margin-right:60px}@media (width<=700px){.dialog.dialog--page{height:100dvh;max-height:100dvh;display:block;overflow-y:auto}.dialog.dialog--page .dialog__body{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.dialog.dialog--page .dialog__body--wide>.dialog__actions,.dialog.dialog--page .dialog__body--wide form>.dialog__actions:last-child{z-index:7;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface);margin:0;position:fixed;bottom:0;left:0;right:0}}.notify-bulk{flex-wrap:wrap;gap:8px;display:flex}.notify-table__all td{background:var(--surface-2);font-weight:600}.alarm-setup{max-width:460px}.alarm-setup__option{border:1px solid var(--line);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;margin:10px 0;padding:12px;display:flex}.alarm-setup__option input{width:auto;margin-top:3px}.alarm-setup__option span{gap:2px;display:grid}.alarm-setup__option small{color:var(--muted);font-size:var(--fs-sm)}.alarm-setup__option.is-off{opacity:.6;cursor:default}.map-control--icon{width:42px;color:var(--ink);justify-content:center;padding:8px;text-decoration:none}.map-control--icon:hover{border-color:var(--ink)}a.brand{color:inherit;cursor:pointer;text-decoration:none}a.brand:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:8px}.admin-section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.admin-section-head h3,.admin-section-head p{margin:0}.bulk-transfer__add{gap:8px;display:grid}.bulk-transfer__add>.btn{justify-self:start}.bulk-transfer textarea{width:100%;font:inherit;font-family:ui-monospace,monospace}.bulk-transfer__ok{color:var(--ok);font-weight:700}.bulk-transfer__failed{color:var(--err)}.bulk-transfer td .link-button{margin-left:8px}.admin-section-head__actions{flex-wrap:wrap;gap:8px;display:flex}.bulk-transfer__progress{width:100%;height:10px}.camera-quality{gap:12px;padding:4px 0;display:grid}.camera-quality h3{margin:0}.camera-quality__presets{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.camera-quality__preset{border:1px solid var(--line);cursor:pointer;background:var(--surface);border-radius:10px;gap:2px;padding:10px 12px;display:grid}.camera-quality__preset.is-active{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.camera-quality__preset input{opacity:0;pointer-events:none;position:absolute}.camera-quality__preset small{color:var(--muted)}.camera-quality__storage{border:1px solid var(--line);border-radius:10px;gap:8px;padding:10px 12px;display:grid}.camera-quality__row{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;display:grid}.camera-quality__actions{flex-wrap:wrap;gap:8px;display:flex}.bulk-transfer__running{z-index:1;background:var(--surface);padding:4px 0;position:sticky;top:0}.bulk-transfer__progress--bar{flex:1;align-self:center;min-width:80px}@media (width>=701px){.map-marker--labelled{overflow:visible}.map-marker__icon{line-height:1}.map-marker__label{border:1px solid var(--line-strong);max-width:180px;color:var(--ink);background:var(--surface);box-shadow:var(--shadow);text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border-radius:6px;padding:3px 8px;font-size:13px;font-weight:600;line-height:1.3;position:absolute;top:50%;right:calc(100% + 9px);overflow:hidden;transform:translateY(-50%)}.map-marker--labelled:after{content:"";border-top:1px solid var(--line-strong);border-right:1px solid var(--line-strong);background:var(--surface);pointer-events:none;width:8px;height:8px;position:absolute;top:50%;right:calc(100% + 4px);transform:translateY(-50%)rotate(45deg)}.map-marker--label-right .map-marker__label{left:calc(100% + 9px);right:auto}.map-marker--label-right.map-marker--labelled:after{left:calc(100% + 4px);right:auto;transform:translateY(-50%)rotate(225deg)}.map-marker--label-top .map-marker__label{inset:auto auto calc(100% + 9px) 50%;transform:translate(-50%)}.map-marker--label-top.map-marker--labelled:after{inset:auto auto calc(100% + 4px) 50%;transform:translate(-50%)rotate(135deg)}.map-marker--label-bottom .map-marker__label{top:calc(100% + 9px);left:50%;right:auto;transform:translate(-50%)}.map-marker--label-bottom.map-marker--labelled:after{top:calc(100% + 4px);left:50%;right:auto;transform:translate(-50%)rotate(-45deg)}}@media (width<=700px){.map-marker--label-left .map-marker__label{left:auto;right:calc(100% + 6px)}.map-marker--label-top .map-marker__label{top:auto;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.map-marker--label-bottom .map-marker__label{top:calc(100% + 6px);left:50%;transform:translate(-50%)}}.map-marker--reference{pointer-events:none;cursor:inherit}.flat-marker:has(.map-marker--reference){pointer-events:none}.device-picker{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);background:var(--surface);font:inherit;text-align:left;cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:0 12px;font-weight:700;display:flex}.device-picker span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.device-picker .icon{color:var(--muted);flex:none}.history-device-pick{margin-bottom:2px}.phone-pick__select{max-width:420px}.device-picker__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.device-picker__head h2,.device-picker__head .dialog__x{margin:0}.device-picker__list{gap:4px;margin:8px 0 0;padding:0;list-style:none;display:grid}.device-picker__list button{border:0;border-bottom:1px solid var(--line);width:100%;min-height:52px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;gap:2px;padding:8px 4px;display:grid}.device-picker__list button.is-active{background:var(--canvas);border-radius:10px}.device-picker__list small{color:var(--muted)}@media (width<=700px){.app-shell--map .map-panel--history .maplibregl-ctrl-bottom-right,.app-shell--map .map-panel--history .maplibregl-ctrl-bottom-left,.app-shell--map .map-panel--history .leaflet-bottom{bottom:calc(var(--playback-space,108px) + 12px)}}.brand .brand__logo{width:auto;max-width:100%;height:38px;display:block}.brand .brand__mark{width:auto;height:38px;display:none}.is-nav-folded .sidebar .brand .brand__logo{display:none}.is-nav-folded .sidebar .brand .brand__mark{display:block}@media (width<=900px) and (width>=701px){.sidebar .brand .brand__logo{display:none}.sidebar .brand .brand__mark{display:block}}.brand--card{justify-content:center}.brand--card .brand__logo{height:48px}.shared-brand img{width:auto;height:30px;display:block}.quality-menu{z-index:4;position:absolute;top:8px;right:60px}.camera-dialog__screen.is-filled .quality-menu{top:calc(env(safe-area-inset-top) + 8px);right:calc(env(safe-area-inset-right) + 60px)}.quality-menu__button{color:#fff;cursor:pointer;background:#0b152099;border:0;border-radius:10px;place-items:center;width:44px;height:44px;display:grid}.quality-menu__button:hover,.quality-menu__button[aria-expanded=true]{background:#0b1520d9}.quality-menu__panel{color:#fff;background:#0b1520eb;border-radius:12px;gap:2px;width:240px;padding:8px;display:grid;position:absolute;top:50px;right:0;box-shadow:0 8px 24px #00000059}.quality-menu__title{font-size:var(--fs-md);padding:4px 8px 6px}.quality-menu__panel>button{color:#fff;min-height:40px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;display:flex}.quality-menu__panel>button:hover:not(:disabled){background:#ffffff1f}.quality-menu__panel>button.is-active{background:color-mix(in srgb, var(--accent) 35%, transparent)}.quality-menu__panel>button.is-active span:before{content:"✓ "}.quality-menu__panel small{color:#ffffffb3}.quality-menu__hint{padding:6px 8px 2px}.quality-menu__error{padding:4px 8px;color:#ffb4a8!important}.quality-menu__confirm{font-size:var(--fs-sm);gap:8px;padding:4px 8px 8px;display:grid}.quality-menu__confirm p{margin:0}.quality-menu__confirm div{gap:8px;display:flex}.admin-staff__add{flex-wrap:wrap;align-items:flex-end;gap:8px 12px;display:flex}.admin-staff__add label{color:var(--muted);font-size:var(--fs-md);flex:260px;gap:4px;font-weight:600;display:grid}.admin-staff__add input{border:1px solid var(--line);min-height:44px;color:var(--ink);background:var(--surface);font:inherit;border-radius:10px;padding:8px 12px}.device-popup__camera-tile{aspect-ratio:16/9;color:#ffffff8c;cursor:pointer;background:#0b1520;border:0;border-radius:10px;place-items:center;width:100%;margin-top:8px;padding:0;display:grid;position:relative;overflow:hidden}.device-popup__camera-tile img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.device-popup__camera-play{color:#fff;background:#0b15208c;border:2px solid #ffffffe6;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;position:relative}.device-popup__camera-icon{position:absolute;top:10px;left:12px}.device-popup__camera-caption{color:#fff;font-size:var(--fs-sm);text-align:left;background:linear-gradient(#0000,#000000b3);padding:4px 8px;font-weight:600;position:absolute;bottom:0;left:0;right:0}.device-popup__camera-tile:hover .device-popup__camera-play,.device-popup__camera-tile:focus-visible .device-popup__camera-play{background:var(--accent);border-color:var(--accent)}.topbar__user{color:var(--ink);font:inherit;text-align:right;cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:10px;padding:2px 2px 2px 12px;display:flex}.topbar__user:hover,.topbar__user:focus-visible{background:var(--canvas)}.topbar__hello{line-height:1.2;font-size:var(--fs-md);color:var(--muted);text-align:right;margin-right:6px;display:grid}.topbar__hello b{color:var(--ink);font-weight:700}.topbar__hello small{font-size:var(--fs-sm);color:var(--muted)}.topbar__logout{border:1px solid var(--line);min-height:40px;color:var(--ink);background:var(--surface);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-weight:700;display:inline-flex}.topbar__logout:hover{border-color:var(--ink)}@media (width<=1100px){.topbar__hello small{display:none}}@media (width<=900px){.topbar__hello,.topbar__logout span{display:none}.topbar__logout{padding:0 10px}}.quality-menu{pointer-events:none;bottom:8px}.quality-menu>*{pointer-events:auto}.quality-menu__panel{max-height:none;bottom:0;overflow-y:auto}.camera-dialog__screen.is-filled .quality-menu{bottom:calc(env(safe-area-inset-bottom) + 8px)}.camera-view__address{width:100%;color:var(--ink);font:inherit;font-size:var(--fs-base);line-height:var(--lh-tight);text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;padding:0;display:block;overflow:hidden}.camera-view__address.is-open{white-space:normal}.camera-view__address span{color:var(--ink-2)}@media (width<=700px){.camera-view__side{grid-template-rows:260px auto auto}.camera-view__side .camera-view__map{order:-1;min-height:260px}.camera-view__where dl{grid-template-columns:repeat(2,minmax(0,1fr))}.quality-menu__panel{width:min(240px,100vw - 32px)}}.transmission-totals{color:var(--ink-2);margin:0}.transmission-row{cursor:pointer}.transmission-row:hover,.transmission-row.is-open{background:var(--canvas)}.transmission-table td:nth-child(n+3):not(:last-child){text-align:right;font-variant-numeric:tabular-nums}.transmission-flag{font-size:var(--fs-xs);border-radius:999px;padding:1px 8px;font-weight:700;display:inline-block}.transmission-flag--high{color:var(--warn);background:var(--warn-soft)}.transmission-flag--silent{color:var(--bad-ink);background:var(--bad-soft)}.transmission-bars{grid-template-columns:repeat(30,minmax(0,1fr));align-items:end;gap:2px;height:90px;padding:6px 0 22px;display:grid;position:relative}.transmission-bars span{align-items:flex-end;height:100%;display:flex}.transmission-bars i{background:var(--accent);border-radius:2px 2px 0 0;width:100%;display:block}.transmission-bars i.is-empty{background:var(--bad-soft)}.transmission-bars small{color:var(--muted);position:absolute;bottom:0;left:0}.camera-view__seek{font-size:var(--fs-sm);font-variant-numeric:tabular-nums;flex:100%;align-items:center;gap:8px;display:flex}.camera-view__seek input{min-width:0;accent-color:var(--accent);flex:1}.camera-view__map.is-recorded{outline:2px solid var(--track);outline-offset:-2px}.camera-view__recorded{z-index:5;background:var(--track);color:var(--on-status);font-size:var(--fs-sm);pointer-events:none;border-radius:8px;padding:4px 10px;font-weight:700;position:absolute;top:8px;left:8px}.camera-view__toolbar[hidden]{display:none}.alarm-tone{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.alarm-tone label{color:var(--muted);font-size:var(--fs-sm);gap:4px;font-weight:600;display:grid}.alarm-tone select{border:1px solid var(--line);min-height:40px;color:var(--ink);background:var(--surface);font:inherit;border-radius:10px;padding:4px 8px}.reports__th{position:relative}.reports__resize{z-index:1;cursor:col-resize;touch-action:none;width:9px;position:absolute;top:0;bottom:0;right:-4px}.reports__resize:after{content:"";background:var(--line);width:1px;position:absolute;top:25%;bottom:25%;left:4px}.reports__resize:hover:after{background:var(--accent);width:3px;left:3px}.reports__table td{overflow-wrap:anywhere}.command-wait{z-index:90;background:var(--backdrop);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.command-wait__card{background:var(--surface);width:min(420px,100%);color:var(--ink);text-align:center;box-shadow:var(--shadow-lg);border-radius:16px;justify-items:center;gap:8px;padding:22px 20px 16px;display:grid}.command-wait__card h3{color:var(--ink);margin:4px 0 0;font-size:1.1rem}.command-wait__time{color:var(--muted);font-variant-numeric:tabular-nums;margin:0;font-size:1.4rem;font-weight:700}.command-wait__text{max-width:100%;color:var(--muted);font-size:var(--fs-sm);overflow-wrap:anywhere;margin:0}.command-wait__reply{background:var(--bg);width:100%;max-height:180px;font-size:var(--fs-sm);text-align:left;white-space:pre-wrap;border-radius:10px;margin:0;padding:8px 10px;overflow:auto}.command-wait__spinner{border:4px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:44px;height:44px}@media (prefers-reduced-motion:no-preference){.command-wait__spinner{animation:1s linear infinite camera-spin}}.command-wait__icon{background:var(--line);width:44px;height:44px;color:var(--ink);border-radius:50%;place-items:center;font-size:1.4rem;font-weight:800;display:grid}.command-wait__icon.is-ok{background:var(--ok);color:var(--on-status)}.command-wait__icon.is-error{background:var(--bad);color:var(--on-status)}.command-wait__actions{margin-top:6px}.command-wait__time-note{color:var(--muted);font-size:var(--fs-sm);margin:0}.command-wait__raw{width:100%;color:var(--muted);font-size:var(--fs-sm);text-align:left}.command-wait__raw p{overflow-wrap:anywhere;margin:4px 0 0}.command-outcome{color:var(--ok)}.command-outcome.is-error{color:var(--bad)}body{color:var(--ink);font-family:var(--font-body)}h1,h2,h3,h4,.section-title,.form-section legend,.checklist legend{font-family:var(--font-head);letter-spacing:-.01em;font-weight:600}.btn,.dialog__primary,.dialog__danger,.dialog__actions button,.login-card button,.chip,.badge,.nav-badge,.map-control,.sidebar nav button,.sidebar__account b,.mobile-nav button,.more-sheet__panel button,.phone-tabs button,.segmented button,.login-tabs button,.admin-tabs button,.camera-view__tabs button,.topbar__logout,.panel-back,.device-actions button,.phone-profile__list button,.phone-row__actions button,.row-menu__button,.pager__pages button,.reports__chips button,.filters button,.history-presets button,.alarm button,.alarms__all,.devices-table__actions button,.geofence-tools button,.geofence-list__actions button,.device-header__me,.layers-menu button,.status-chip,.timeline__mark,.toast,.update-notice,.account-view-bar button,.skip-link{font-family:var(--font-head)}.devices-table,.reports__table,.notify-table,.history-stats dd,.playback__time,.command-wait__time{font-family:var(--font-body);font-variant-numeric:tabular-nums}.btn,.dialog__primary,.dialog__danger,.dialog__actions button,.alarms__more,.reports__actions button,.reports__exports button:not(.link-button),.map-failure__actions button,.scope-picker__bulk button,.geofence-form>button,.temporary-password button{border:1px solid var(--accent);min-height:44px;color:var(--accent-text);font-family:var(--font-head);font-size:var(--fs-md);letter-spacing:.01em;background:0 0;border-radius:100px;padding:10px 20px;font-weight:500;line-height:1.5}.btn:hover,.dialog__actions button:hover,.alarms__more:hover,.reports__actions button:hover,.reports__exports button:not(.link-button):hover,.map-failure__actions button:hover,.scope-picker__bulk button:hover,.geofence-form>button:hover,.temporary-password button:hover{border-color:var(--accent-strong);background:var(--accent-soft)}.btn--primary,.dialog__primary,.dialog__actions .dialog__primary,.password-form .dialog__primary,.login-card button:not(.login-card__secondary):not([role=tab]),.reports__actions .dialog__primary,.devices-view__toolbar>button:not(.btn):not(.dialog__primary),.alarms__list .alarm .alarm__ack{border:1px solid var(--accent);color:var(--on-accent);background:var(--accent);border-radius:100px;font-weight:500}.btn--primary:hover,.dialog__primary:hover,.dialog__actions .dialog__primary:hover,.password-form .dialog__primary:hover,.login-card button:not(.login-card__secondary):not([role=tab]):hover,.reports__actions .dialog__primary:hover,.alarms__list .alarm .alarm__ack:hover{border-color:var(--accent-strong);color:var(--on-accent);background:var(--accent-strong)}.btn--danger,.dialog__danger,.dialog__primary.dialog__danger,.dialog__actions .dialog__danger{border-color:var(--bad);color:var(--on-status);background:var(--bad)}.btn--danger:hover,.dialog__danger:hover,.dialog__actions .dialog__danger:hover{border-color:var(--bad);color:var(--on-status);background:var(--bad);filter:brightness(.92)}.btn--danger-outline,.devices-table__actions button.danger,.geofence-list__actions button.danger,.geofence-list .danger{border-color:var(--bad-line);color:var(--bad-ink);background:0 0}.btn--danger-outline:hover{border-color:var(--bad);background:var(--bad-soft)}.btn:disabled,.dialog__primary:disabled,.dialog__danger:disabled,.dialog__actions button:disabled,.login-card button:disabled{border-color:var(--disabled-bg);color:var(--disabled-ink);background:var(--disabled-bg);opacity:1;filter:none}.btn:not(.btn--primary):not(.btn--danger):disabled{border-color:var(--neutral-70);color:var(--neutral-70);background:0 0}.btn:focus-visible,.dialog__primary:focus-visible,.dialog__danger:focus-visible,.dialog__actions button:focus-visible,.btn--primary:focus-visible,.login-card button:focus-visible{outline:3px solid var(--focus);outline-offset:0}.btn--small{min-height:36px;font-size:var(--fs-sm);padding:6px 14px}.login-card button:not(.login-card__secondary):not([role=tab]){min-height:48px;font-size:var(--fs-base);padding:12px 24px}.login-card__secondary{color:var(--accent-text)!important;border:0!important}.link-button{color:var(--accent-ink)}.link-button:hover{color:var(--accent-text)}.devices-table__actions button:not(.btn),.geofence-list__actions button,.geofence-tools button,.row-menu__button,.pager__pages button,.alarm__route,.alarms__list .alarm .alarm__route{border-radius:100px;font-weight:500}.geofence-tools button.is-active{border-color:var(--accent);color:var(--on-accent);background:var(--accent)}.update-notice .btn{border-color:var(--nav-ink);color:var(--nav-ink)}.update-notice .btn:hover{color:var(--nav-ink);background:var(--nav-hover)}.icon-button{width:44px;height:44px;color:var(--ink-2)}.icon-button:hover{color:var(--accent-ink);border-color:var(--accent)!important}.icon-button .badge,.nav-badge{font-weight:600}:is(.dialog,.login-card,.reports__form,.admin-filters,.admin-maps,.admin-staff__add,.geofence-form,.history-panel__custom,.camera-rec__head,.reports-custom,.history-custom,.day-nav__hours,.day-nav__mode,.password-form,.bulk-transfer,.tour-settings__row,.alarm-tone,.appearance-settings,.group-view,.alarms__kind,.privacy-tab,.push-card,.playback) :is(input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file]),select,textarea){border:1px solid var(--input-border);border-radius:var(--radius-input);min-height:44px;color:var(--ink);background-color:var(--input-bg);box-shadow:none;font-family:var(--font-body)}:is(input:not([type=checkbox],[type=radio],[type=range]),select,textarea):hover:not(:disabled):not(:focus){border-color:var(--input-hover)}:is(input:not([type=checkbox],[type=radio],[type=range]),select,textarea):focus-visible,:is(.dialog,.login-card,.reports__form,.admin-filters,.geofence-form,.password-form) :is(input,select,textarea):focus{outline:3px solid var(--focus);outline-offset:0;border-color:var(--line-strong);box-shadow:none}:is(input,select,textarea)[aria-invalid=true]{border-color:var(--err)!important}::placeholder{color:var(--muted);opacity:1}.login-card input{min-height:48px!important}.search-field{border-color:var(--input-border);border-radius:var(--radius-input);background:var(--input-bg)}.search-field:hover{border-color:var(--input-hover)}.search-field:focus-within{border-color:var(--line-strong);background:var(--input-bg);box-shadow:0 0 0 3px var(--focus)}.search-field input{color:var(--ink)}.error-box{color:var(--err);background:var(--err-soft);border-radius:8px}.form-hint{color:var(--muted)}.segmented,.login-tabs{border:1px solid var(--line);background:var(--surface);border-radius:24px;padding:4px}.segmented button,.login-tabs button{color:var(--muted);border-radius:100px;font-weight:500}.segmented button.is-active,.login-tabs button.is-active{color:var(--on-accent);background:var(--accent);box-shadow:none}.segmented button:not(.is-active):hover,.login-tabs button:not(.is-active):hover{color:var(--ink);background:var(--accent-soft)}.phone-tabs button,.camera-view__tabs button{font-weight:500}.chip{border-radius:100px;font-weight:500}.chip:hover:not(.is-active){border-color:var(--accent)}.filters button{border-radius:100px}.filters button.is-active{color:var(--accent-ink);background:var(--accent-soft);font-weight:600}.reports__chips button{border-radius:100px}.status-chip{border-radius:100px;font-weight:500}.badge{font-weight:600}.devices-view,.alarms,.reports__form,.reports__kpis div,.push-card,.tour-settings,.history-empty{border-color:var(--line);background:var(--surface)}.dialog{color:var(--ink);background:var(--surface)}.dialog p,.dialog label,.reports__form label,.password-form label,.login-card label{color:var(--ink-2)}.dialog__body--wide>h2,.dialog__body--wide>.dialog__actions,.dialog__body--wide form>.dialog__actions:last-child{background:var(--surface)}.dialog__x{color:var(--ink-2);background:var(--surface)}.login-card{color:var(--ink);background:var(--surface)}.login-card h1,.login-card .brand{color:var(--ink)}.alarm{border-color:var(--line);background:var(--surface)}.alarm--critical:not(.is-acknowledged){border-color:var(--bad-line);background:var(--bad-soft)}.topbar h1{color:var(--ink);font-weight:600}.topbar__logout{border-radius:100px;font-weight:500}.topbar__logout:hover{border-color:var(--accent);color:var(--accent-ink)}.sidebar nav button{color:var(--nav-muted);font-weight:500}.sidebar nav button:hover{color:var(--nav-ink);background:var(--nav-hover)}.sidebar nav button.is-active{color:var(--nav-ink)}.sidebar__logout,.sidebar__who small{color:var(--nav-muted)}.mobile-nav button{font-weight:500}.mobile-nav button.is-active{color:var(--accent-ink)}.more-sheet{background:var(--backdrop)}.devices-table th{border-bottom-color:var(--line);color:var(--muted);background:var(--surface-2);font-family:var(--font-head);letter-spacing:.04em;font-weight:500}.devices-table td{border-bottom-color:var(--line);color:var(--ink)}.devices-table tr.is-disabled td{color:var(--muted)}.reports__table tfoot td{background:var(--surface-2)}@media (width<=700px){.devices-table th{background:0 0}.devices-table tr{border-color:var(--line);background:var(--surface)}}.brand__logo--on-light{display:var(--logo-on-light)}.brand__logo--on-dark{display:var(--logo-on-dark)}.brand--card .brand__logo.brand__logo--on-light{display:var(--logo-on-light)}.brand--card .brand__logo.brand__logo--on-dark{display:var(--logo-on-dark)}.legal-page__brand img.brand__logo--on-light{display:var(--logo-on-light)}.legal-page__brand img.brand__logo--on-dark{display:var(--logo-on-dark)}.maplibregl-map .maplibregl-ctrl-group,.leaflet-container .leaflet-bar{background:var(--surface);box-shadow:var(--shadow)}.maplibregl-map .maplibregl-ctrl-group:not(:empty){box-shadow:var(--shadow)}.maplibregl-map .maplibregl-ctrl-group button+button{border-top-color:var(--line)}.maplibregl-map .maplibregl-ctrl button .maplibregl-ctrl-icon,.maplibregl-map .maplibregl-ctrl-attrib-button{filter:var(--ctrl-icon-filter)}.maplibregl-map .maplibregl-ctrl button:not(:disabled):hover{background-color:var(--surface-2)}.leaflet-container .leaflet-bar a,.leaflet-container .leaflet-bar a:hover{border-bottom-color:var(--line);color:var(--ink);background-color:var(--surface)}.leaflet-container .leaflet-bar a:hover{background-color:var(--surface-2)}.maplibregl-map .maplibregl-ctrl.maplibregl-ctrl-attrib,.maplibregl-map .maplibregl-ctrl-attrib.maplibregl-compact,.leaflet-container .leaflet-control-attribution.leaflet-control{color:var(--muted);background:var(--glass)}.maplibregl-map .maplibregl-ctrl-attrib a,.leaflet-container .leaflet-control-attribution a{color:var(--accent-ink)}.maplibregl-map .maplibregl-popup-content,.leaflet-container .leaflet-popup-content-wrapper,.leaflet-container .leaflet-popup-tip{color:var(--ink);background:var(--surface)}.maplibregl-map .maplibregl-popup-anchor-top .maplibregl-popup-tip,.maplibregl-map .maplibregl-popup-anchor-top-left .maplibregl-popup-tip,.maplibregl-map .maplibregl-popup-anchor-top-right .maplibregl-popup-tip{border-bottom-color:var(--surface)}.maplibregl-map .maplibregl-popup-anchor-bottom .maplibregl-popup-tip,.maplibregl-map .maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip,.maplibregl-map .maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{border-top-color:var(--surface)}.maplibregl-map .maplibregl-popup-anchor-left .maplibregl-popup-tip{border-right-color:var(--surface)}.maplibregl-map .maplibregl-popup-anchor-right .maplibregl-popup-tip{border-left-color:var(--surface)}.maplibregl-map .maplibregl-popup-close-button,.leaflet-container a.leaflet-popup-close-button{color:var(--muted)}.leaflet-container .leaflet-popup-content a{color:var(--accent-ink)}.device-popup dd{color:var(--ink)}.map-panel{background:var(--map-land)}.remote-off{border:1px solid var(--warn);color:var(--ink);background:var(--warn-soft);font-size:var(--fs-sm);border-radius:8px;gap:8px;margin:0 0 10px;padding:8px 10px;font-weight:500;line-height:1.4;display:flex}.remote-off:before{content:"";background:var(--warn);border-radius:2px;flex:none;width:4px}.phone-row__meta .is-remote-off,.device-row__remote-off{color:var(--warn);font-weight:600}.field-error{color:var(--err,var(--bad));font-size:var(--fs-sm);font-weight:500}label input[aria-invalid=true]{border-color:var(--err,var(--bad))}.history-tools{z-index:4;justify-items:end;gap:8px;display:grid;position:absolute;top:64px;right:12px}.map-panel--history.has-panel .history-tools{top:12px;right:372px}@media (width<=760px){.map-panel--history .history-tools{top:176px}.map-panel--history.is-nav-folded .history-tools{top:116px}.map-panel--history.has-panel .history-tools{right:12px}.app-shell--map .map-panel:not(.map-panel--history) .maplibregl-ctrl-bottom-right,.app-shell--map .map-panel:not(.map-panel--history) .maplibregl-ctrl-bottom-left,.app-shell--map .map-panel:not(.map-panel--history) .leaflet-bottom{bottom:12px}}@media (width<=700px){.geofence-tools{padding:12px 16px}.geofence-device-filter{margin:4px 0 8px;padding:0 16px;line-height:1.5}.geofence-device-filter .link-button{margin-top:4px}.geofence-list{padding:0 6px 16px}}.command-sent{margin:0;padding:0;list-style:none;display:grid}.command-sent li{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:12px 0;display:grid}.command-sent strong{font-family:Poppins,system-ui,sans-serif;font-size:var(--fs-base);grid-column:1/-1;font-weight:600}.command-sent span{color:var(--ink-2);font-size:var(--fs-sm)}.command-sent span.is-ok{color:var(--ok)}.command-sent span.is-error{color:var(--err,var(--bad))}.command-sent time{color:var(--muted);font-size:var(--fs-sm);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.command-screen__head{position:relative}.command-screen__refresh{position:absolute;top:0;right:0}.share-dialog h2{font-size:var(--fs-xl);overflow-wrap:anywhere;margin:0 44px 12px 0;line-height:1.25}.share-dialog .share-form{gap:14px}.share-dialog .share-form label>span{color:var(--ink-2);font-size:var(--fs-md);font-weight:600}.share-dialog .share-form select,.share-dialog .share-form input:not([type=checkbox]),.share-dialog .share-form textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--surface);font:400 var(--fs-base)/1.4 Inter, system-ui, sans-serif;border-radius:4px;padding:10px 12px}.share-dialog .share-form textarea{resize:vertical;min-height:72px}.share-dialog .share-form ::placeholder{color:var(--muted);opacity:1;font-weight:400}.share-dialog .share-form label.check{min-height:40px;color:var(--ink);font-size:var(--fs-base);gap:10px;margin:-6px 0;font-weight:400}.share-dialog .share-form label.check input{flex:none;width:20px;height:20px;margin:0}.share-dialog .share-form .form-hint{font-size:var(--fs-sm);margin:2px 0 0;line-height:1.45}.share-dialog .share-active h3{font-size:var(--fs-lg)}@media (width<=760px){.day-nav--compact{border-radius:14px;gap:4px;padding:6px;top:8px;left:8px;right:8px}.day-nav--compact .day-nav__arrow,.day-nav--compact .day-nav__date{height:38px;min-height:38px}.day-nav--compact .day-nav__arrow{border-radius:10px;width:38px}.day-nav--compact .day-nav__date{font-size:var(--fs-md);border-radius:10px;padding:2px 8px}.day-nav--compact .day-nav__hours input,.day-nav--compact .day-nav__mode select{min-height:34px;font-size:var(--fs-md)}.map-panel--history .history-open,.map-panel--history.is-nav-folded .history-open{top:calc(var(--day-card,110px) + 16px)}.map-panel--history .history-tools,.map-panel--history.is-nav-folded .history-tools{top:calc(var(--day-card,110px) + 68px)}}.day-nav__hours .day-nav__time{border:1px solid var(--line);min-height:40px;color:var(--ink);background:var(--surface);font:inherit;font-variant-numeric:tabular-nums;border-radius:10px;padding:4px 6px}.day-nav--compact .day-nav__hours .day-nav__time{width:84px;min-height:34px;font-size:var(--fs-md)}.geofence-step{gap:2px;display:grid}.geofence-step span{color:var(--accent-ink);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.geofence-step h3{font-size:var(--fs-lg);margin:0}.geofence-wizard{gap:8px;margin:12px 16px;display:grid}.geofence-wizard p{color:var(--ink-2);font-size:var(--fs-md);margin:0}.geofence-wizard label{font-size:var(--fs-md);gap:4px;display:grid}.geofence-wizard .dialog__actions,.geofence-sheet .dialog__actions{justify-content:flex-end;gap:8px;margin:4px 0 0;display:flex}.geofence-sheet{margin:0;padding:12px 16px 24px}.is-geofence-step1 .device-panel__heading,.is-geofence-step1 .geofence-device-filter,.is-geofence-step1 .panel-note,.is-geofence-step1 .geofence-list,.is-geofence-step1 .geofence-empty,.is-geofence-step2 .device-panel__heading,.is-geofence-step2 .geofence-device-filter,.is-geofence-step2 .panel-note,.is-geofence-step2 .geofence-list,.is-geofence-step2 .geofence-empty,section[aria-label=Geostrefy].is-geofence-step2>.map-panel{display:none}.geofence-sheet .dialog__actions{bottom:calc(var(--nav-mobile) + env(safe-area-inset-bottom) + 8px);z-index:2;background:var(--surface);margin:12px -16px 0;padding:10px 16px;position:sticky;box-shadow:0 -6px 12px #0000000f}section[aria-label=Geostrefy].is-geofence-step1>.map-panel{height:44vh;min-height:300px!important}.geofence-wizard .dialog__actions{bottom:calc(var(--nav-mobile) + env(safe-area-inset-bottom) + 8px);z-index:2;background:var(--surface);margin:4px -16px 0;padding:10px 16px;position:sticky;box-shadow:0 -6px 12px #0000000f}.geofence-wizard p{font-size:var(--fs-sm);line-height:1.4}@media (width<=760px){.geofence-wizard .dialog__actions,.geofence-sheet .dialog__actions{left:0;right:0;bottom:calc(var(--nav-mobile) + env(safe-area-inset-bottom));z-index:40;margin:0;padding:10px 16px;position:fixed}.geofence-wizard,.geofence-sheet{padding-bottom:76px}}.device-details__id{color:var(--muted);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;margin-top:2px;display:block}.admin-maps label.check{align-items:center;gap:10px;display:flex}.form-hint--warn{color:var(--bad);margin:8px 0 0;font-weight:600}.dialog__body--wide{grid-template-columns:minmax(0,1fr)}.dialog__body--wide>*{min-width:0}@media (width>=900px){.dialog:has(.device-commands){width:min(860px,100% - 48px)}}.gps-wait{border:1px solid var(--accent-line);color:var(--ink);background:var(--accent-soft);font-size:var(--fs-sm);border-radius:8px;margin:0 0 10px;padding:8px 10px;line-height:1.4}.map-notice--gps{width:min(560px,100% - 24px);color:var(--ink);line-height:1.4;font-size:var(--fs-sm);display:block}.map-notice--gps strong{margin-right:4px}.model-commands__form{border-left:3px solid var(--accent);margin:2px 0 6px 12px;padding:4px 0 4px 12px}.install-location{gap:6px;margin:0 0 10px;display:grid}.install-location small{color:var(--muted);font-size:var(--fs-sm);line-height:1.4}.device-header .install-location{margin:8px 0 0}.command-section{color:var(--muted);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.04em;margin:14px 0 4px;font-weight:700}.command-menu li:first-child .command-section,.model-commands li:first-child .command-section{margin-top:2px}.command-menu .command-section{padding:0 4px}.device-popup__address{color:var(--muted);font-size:var(--fs-sm);margin:2px 0 6px;line-height:1.35}.device-popup__account{color:var(--accent-ink);font-size:var(--fs-sm);margin:2px 0 0;font-weight:700}.device-popup__history{color:var(--accent);font-size:var(--fs-xs);margin:2px 0 0;font-weight:600}.playback__track{flex:auto;align-items:center;min-width:0;padding-bottom:14px;display:flex;position:relative}.playback__track input[type=range]{width:100%}.playback__marks{pointer-events:none;position:absolute;inset:0 8px}.playback__mark{position:absolute;transform:translate(-50%)}.playback__mark--over{background:var(--bad);opacity:.85;border-radius:2px;height:4px;top:calc(50% - 9px);transform:none}.playback__mark--parking{color:#fff;background:var(--accent);cursor:pointer;pointer-events:auto;border:1px solid #fff;border-radius:4px;width:16px;height:16px;padding:0;font-size:10px;font-weight:700;line-height:14px;top:calc(50% - 26px)}.playback__mark--hour{color:var(--muted);white-space:nowrap;font-size:10px;bottom:-2px}.geofence-search{width:100%;margin:0 0 8px}.geofence-list__inside{font-weight:600;color:var(--accent)!important}.devices-bulk{border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px;padding:8px 12px;display:flex}.devices-table__check{text-align:center;width:36px}.devices-table tr.is-selected td{background:var(--accent-soft)}@media (width>=701px){.table-wrap--devices{max-height:calc(100dvh - 240px);overflow:auto}.devices-table--sticky th{z-index:2;white-space:nowrap;position:sticky;top:0}.devices-table--sticky .devices-table__check,.devices-table--sticky .devices-table__name,.devices-table--sticky .devices-table__actions{z-index:1;background:var(--surface);position:sticky}.devices-table--sticky th.devices-table__check,.devices-table--sticky th.devices-table__name,.devices-table--sticky th.devices-table__actions{z-index:3;background:var(--surface-2)}.devices-table--sticky .devices-table__check{box-sizing:border-box;width:44px;min-width:44px;max-width:44px;padding-left:4px;padding-right:4px;left:0}.devices-table--sticky .devices-table__name{box-shadow:1px 0 0 var(--line);left:0}.devices-table--sticky.has-check .devices-table__name{left:44px}.devices-table--sticky .devices-table__actions{box-shadow:-1px 0 0 var(--line);right:0}.devices-table--sticky tr.is-selected td.devices-table__check,.devices-table--sticky tr.is-selected td.devices-table__name,.devices-table--sticky tr.is-selected td.devices-table__actions{background:linear-gradient(var(--accent-soft), var(--accent-soft)), var(--surface)}}.th-sort{color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:0;padding:0}@media (width<=900px),(pointer:coarse){.playback__track{padding-bottom:0}.playback__mark--hour,.playback__mark--parking{display:none}}.scope-picker__groups{gap:4px;margin:0 0 6px;display:grid}.scope-picker__groups small{color:var(--muted)}@keyframes tab-from-right{0%{opacity:.35;transform:translate(28%)}to{opacity:1;transform:none}}@keyframes tab-from-left{0%{opacity:.35;transform:translate(-28%)}to{opacity:1;transform:none}}.workspace.tab-slide-right>:not(header):not(nav){animation:.26s cubic-bezier(.2,.7,.2,1) tab-from-right}.workspace.tab-slide-left>:not(header):not(nav){animation:.26s cubic-bezier(.2,.7,.2,1) tab-from-left}@media (prefers-reduced-motion:reduce){.workspace.tab-slide-right>*,.workspace.tab-slide-left>*{animation:none}}.trip-summary__help{font-size:var(--fs-sm);color:var(--ink-2);margin:4px 0 10px}.trip-summary__help summary{cursor:pointer;color:var(--accent);font-weight:600}.trip-summary__help ol{gap:4px;margin:6px 0;padding-left:18px;line-height:1.4;display:grid}.trip-summary__help p{color:var(--muted);margin:4px 0 0;line-height:1.4}.map-panel--history .playback .playback__mark--parking,.playback .playback__mark--parking{color:#fff;background:var(--accent);width:16px;min-width:0;height:16px;box-shadow:none;border:1px solid #fff;border-radius:4px;padding:0;font-size:10px;line-height:14px;display:block}.is-unsaved{outline:3px solid var(--warn);outline-offset:4px;border-radius:8px;transition:outline-color .3s}button.dirty-flag{cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.device-details__fold{margin:0 0 12px}.device-details__fold>summary{cursor:pointer;border:1px solid var(--line);color:var(--ink-2);font-size:var(--fs-sm);border-radius:12px;padding:10px 12px;list-style-position:inside}.device-details__fold[open]>summary{margin-bottom:8px}.trip-summary>.trip-summary__mode{margin-bottom:4px}.loading{color:var(--ink-2);align-content:start;gap:8px;display:grid}.loading__row{align-items:center;gap:10px;display:inline-flex}.loading__spinner{border:2.5px solid var(--line);border-top-color:var(--accent);border-radius:50%;flex:none;width:18px;height:18px}@media (prefers-reduced-motion:no-preference){.loading__spinner{animation:.9s linear infinite camera-spin}}.loading__slow{color:var(--muted);font-size:var(--fs-sm);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.reports__progress{border:1px solid var(--line);background:var(--surface);border-radius:14px;gap:10px;max-width:520px;margin:12px 0;padding:16px;display:grid}.reports__progress-title{color:var(--ink);align-items:center;gap:10px;margin:0;font-weight:600;display:flex}.reports__progress progress{background:var(--surface-2);width:100%;height:8px;accent-color:var(--accent);border:0;border-radius:99px;overflow:hidden}.reports__progress progress::-webkit-progress-bar{background:var(--surface-2)}.reports__progress progress::-webkit-progress-value{background:var(--accent);border-radius:99px}.reports__progress .form-hint{margin:0}.reports__progress>button{justify-self:start}.dialog__switch{color:var(--muted);font-size:var(--fs-sm);margin:4px 0 0}.devices-view__phone-bar{gap:8px;display:flex}.devices-view__phone-bar>.dialog__primary{flex:1;min-height:48px}.devices-view__menu-button{flex:none;width:48px;min-height:48px;padding:0;font-size:22px;line-height:1}.devices-view__count{color:var(--muted);font-size:var(--fs-sm);margin:10px 2px 6px}.device-cards{border:1px solid var(--line);background:var(--surface);border-radius:14px;gap:0;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.device-cards>li{border-top:1px solid var(--line);align-items:stretch;display:flex}.device-cards>li:first-child{border-top:0}.device-cards__main{min-width:0;min-height:64px;color:var(--ink);text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:12px;padding:10px 4px 10px 14px;display:flex}.device-cards__main .device-symbol{flex:none;font-size:22px}.device-cards__text{gap:2px;min-width:0;display:grid}.device-cards__text strong{font-size:var(--fs-base);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.device-cards__text small{color:var(--ink-2);font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.device-cards__text small+small{color:var(--muted)}.device-cards__text .state-dot{vertical-align:middle;margin-right:2px;display:inline-block}.device-cards__more{width:52px;color:var(--ink-2);background:0 0;border:0;flex:none;font-size:22px}.phone-menu .phone-menu__danger{color:var(--bad)}@media (width<=700px){.phone-tabs{display:flex}.phone-tabs button{flex:auto;min-width:0;padding-inline:4px}}.dialog__switch .link-button{min-height:0;padding:0;display:inline}.devices-filter{flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 12px;display:flex}.devices-filter__search{border:1px solid var(--line);min-width:200px;min-height:40px;color:var(--ink);background:var(--surface);font:inherit;border-radius:10px;flex:0 320px;padding:8px 12px}.devices-filter__chips{flex-wrap:wrap;gap:6px;display:flex}@media (width<=700px){.devices-filter{margin:10px 0 0}.devices-filter__search{flex:100%;min-height:48px}.devices-filter__chips{scrollbar-width:none;flex-wrap:nowrap;margin:0 -2px;padding:2px 2px 4px;overflow-x:auto}.devices-filter__chips .chip{flex:none;min-height:40px}}.label-note{color:var(--muted);font-size:var(--fs-sm);margin-top:2px;font-weight:400;display:block}.login-screen{isolation:isolate;position:relative;overflow:hidden}.login-backdrop{z-index:-1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.login-screen>.login-card{box-shadow:0 24px 60px #000a1e73}@media (width<=700px){.login-backdrop{opacity:.7}}.columns-picker{display:inline-flex;position:relative}.columns-picker__menu{z-index:20;border:1px solid var(--line);background:var(--surface);min-width:240px;box-shadow:var(--shadow);border-radius:12px;gap:6px;padding:12px 14px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.columns-picker__menu small{color:var(--muted)}.columns-picker__menu .check{white-space:nowrap;align-items:center;gap:8px;display:flex}.columns-picker__menu .btn{justify-self:end}@media (width>=701px){.dialog-tabs.segmented:has(>:nth-child(6)){border-radius:18px;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row}.dialog:has(.dialog__body--commands){width:min(1320px,100% - 48px);max-height:calc(100vh - 32px)}.dialog__body--commands{max-height:calc(100vh - 32px)}.dialog__body--commands .table-wrap{overflow-x:visible}.dialog__body--commands .devices-table{table-layout:auto}.dialog__body--commands .devices-table td,.dialog__body--commands .devices-table th{white-space:normal;overflow-wrap:anywhere}.dialog__body--commands .devices-table td:first-child,.dialog__body--commands .devices-table td:nth-child(2){white-space:nowrap}}.device-commands__refresh{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.device-commands__sent{align-items:center;gap:6px;display:inline-flex}.device-commands__sent.is-active{border-color:var(--accent);color:var(--accent-ink);background:var(--accent-soft)}.device-commands__sent-top{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;margin:4px 0 16px;padding:4px 12px 12px}@media (width>=701px){.dialog__body--commands .devices-table th{white-space:nowrap;overflow-wrap:normal}}.command-warning{border:1px solid var(--warn-line,#e8b04a);color:var(--ink);background:var(--warn-soft,#fff6e0);border-radius:10px;margin:4px 0;padding:10px 12px}.command-warning ul{margin:6px 0 0;padding-left:18px}.command-warning li+li{margin-top:4px}.command-warning li,.command-warning b{display:list-item}.command-warning b{display:inline}.command-warning ul li{display:list-item!important}.mail-test{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.mail-test label{flex:260px}@media (width<=700px){.playback input.playback__seek{appearance:none;touch-action:none;background:0 0;height:40px;margin:0}.playback__seek::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--accent) var(--fill,0%), var(--line) var(--fill,0%));border-radius:99px;height:8px}.playback__seek::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);border:4px solid #fff;border-radius:50%;width:32px;height:32px;margin-top:-12px;box-shadow:0 2px 6px #00000059}.playback__seek::-moz-range-track{background:var(--line);border-radius:99px;height:8px}.playback__seek::-moz-range-progress{background:var(--accent);border-radius:99px;height:8px}.playback__seek::-moz-range-thumb{background:var(--accent);border:4px solid #fff;border-radius:50%;width:26px;height:26px;box-shadow:0 2px 6px #00000059}.playback__seek:disabled::-webkit-slider-thumb{background:var(--idle)}.playback__seek::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--accent) var(--fill,0%), color-mix(in srgb, var(--ink) 28%, transparent) var(--fill,0%))}.playback__seek::-moz-range-track{background:color-mix(in srgb, var(--ink) 28%, transparent)}}
