@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=PT+Serif:wght@700&display=swap');

:root{--ink:#102c2a;--mist:#edf3ef;--paper:#fbfcfa;--line:#d5e0d8;--teal:#16705b;--red:#b44841;--gold:#ad791b;--muted:#61716c}
*{box-sizing:border-box}[hidden]{display:none!important}
body{margin:0;min-width:320px;background:radial-gradient(circle at 100% 0,#d6e7dc 0,transparent 38rem),var(--mist);color:var(--ink);font:500 16px/1.45 Manrope,Arial,sans-serif}
.shell{width:min(100% - 32px,650px);margin:auto;padding:clamp(28px,5vh,54px) 0 48px}
.site-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px}.site-header>div:first-child{min-width:0}
.eyebrow{margin:0 0 6px;color:var(--teal);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
h1,h2,p{margin-top:0}h1{margin-bottom:0;font:700 clamp(24px,4vw,30px)/1.08 'PT Serif',Georgia,serif;letter-spacing:-.025em;white-space:normal}h2{font-size:16px;margin-bottom:18px}
.panel,.result,.auth-card,.admin-view{margin-top:22px;padding:24px;border:1px solid var(--line);border-radius:18px;background:rgba(251,252,250,.92);box-shadow:0 16px 45px rgba(16,44,42,.08)}
.app-navigation{margin-top:20px}.app-tabs{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:0;padding:3px;border:1px solid rgba(141,166,151,.35);border-radius:999px;background:rgba(213,225,216,.78);box-shadow:inset 0 1px rgba(255,255,255,.7)}.app-tab-indicator{position:absolute;z-index:0;top:3px;bottom:3px;left:3px;right:calc(50% + 2px);border-radius:999px;background:var(--paper);box-shadow:0 4px 10px rgba(16,44,42,.1);transition:transform .42s cubic-bezier(.22,1,.36,1)}.app-tabs[data-active-tab="trips"] .app-tab-indicator{transform:translateX(calc(100% + 4px))}.app-tab{position:relative;z-index:1;min-height:36px;padding:0 12px;border-radius:999px;background:transparent;color:var(--muted);font-size:12px;transition:color .22s ease}.app-tab[aria-selected="true"]{color:var(--ink)}.app-tab:hover{color:var(--ink)}.app-tabs.is-admin{grid-template-columns:repeat(3,1fr)}.app-tabs.is-admin .app-tab-indicator{right:calc(66.6667% + 2px)}.app-tabs.is-admin[data-active-tab="trips"] .app-tab-indicator{transform:translateX(calc(100% + 4px))}.app-tabs.is-admin[data-active-tab="settings"] .app-tab-indicator{transform:translateX(calc(200% + 8px))}.app-tabs.is-history-only{grid-template-columns:1fr 1fr}.app-tabs.is-history-only .app-tab-indicator{right:calc(50% + 2px)}.app-tabs.is-history-only[data-active-tab="settings"] .app-tab-indicator{transform:translateX(calc(100% + 4px))}
label{display:block;margin-bottom:8px;font-size:13px;font-weight:700}input,select{min-width:0;border:1px solid #b8c8bd;border-radius:10px;padding:14px 13px;background:var(--paper);color:var(--ink);font:inherit;outline:none}input:focus,select:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(22,112,91,.13)}
button{border:0;border-radius:10px;padding:0 18px;background:var(--ink);color:#fff;font:700 14px Manrope,Arial,sans-serif;cursor:pointer}button:focus-visible{outline:3px solid #73baa6;outline-offset:2px}button:disabled{cursor:wait;opacity:.75}
.input-row{display:flex;gap:10px}.input-row input{flex:1}.spinner{display:none;width:14px;height:14px;margin-left:8px;vertical-align:-2px;border:2px solid #fff;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}.loading .spinner{display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}
.form-error{min-height:20px;margin:8px 0 0;color:var(--red);font-size:13px}.groups-trigger{width:100%;min-height:42px;margin-top:12px;background:transparent;border:1px solid var(--ink);color:var(--ink)}
.account-bar{display:grid;grid-template-columns:auto auto;align-items:center;justify-content:end;gap:5px 8px;white-space:nowrap}.current-user{grid-column:1/-1;justify-self:end;color:var(--muted);font-size:11px;text-align:right}.header-action{min-height:34px;padding:0 11px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:12px}.account-bar .header-action{min-width:0}
.auth-card h2{margin-bottom:4px}.auth-card>p:not(.eyebrow){color:var(--muted);font-size:14px}.auth-card form{display:grid;gap:8px;margin-top:20px}.auth-card label{margin:0}.auth-card input{width:100%;min-height:46px}.password-field{position:relative}.password-field input{padding-right:92px}.password-toggle{position:absolute;top:7px;right:7px;min-height:32px;padding:0 10px;border:1px solid var(--line);background:var(--paper);color:var(--teal);font-size:12px}.primary-action{min-height:46px;margin-top:5px}
.result-actions{display:inline-flex;margin-bottom:20px;isolation:isolate}.result-action{min-height:38px;margin:0;border:1px solid var(--ink);border-radius:0;background:transparent;color:var(--ink)}.result-action+.result-action{margin-left:-1px}.result-action:first-child{border-radius:9px 0 0 9px}.result-action:last-child{border-radius:0 9px 9px 0}.result-action:only-child{border-radius:9px}.result-action:hover{z-index:1;background:#f0f5f2}.result-action:focus-visible{position:relative;z-index:2}
.status-line{display:flex;gap:12px}.dot{width:10px;height:10px;margin-top:7px;flex:none;border-radius:50%;background:var(--gold)}.online .dot{background:var(--teal)}.offline .dot,.error .dot{background:var(--red)}.status-line h2{margin:0 0 2px}.status-line p{margin:0;color:var(--muted);font-size:14px}
dl{margin:22px 0 0;border-top:1px solid var(--line)}dl div{display:grid;grid-template-columns:minmax(110px,.7fr) 1.3fr;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}dt{color:var(--muted);font-size:12px}dd{margin:0;overflow-wrap:anywhere;font-size:13px}.connection-row dd{font-weight:700}.result.online .connection-row dd{color:var(--teal)}.result.offline .connection-row dd{color:var(--red)}.result.recent .connection-row dd{color:var(--gold)}
.location-row dd{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 10px}.location-row a{color:var(--teal);font-weight:700;text-decoration:none}.location-row a::after{content:'↗';margin-left:5px}.location-row a:hover,.location-row a:focus-visible{text-decoration:underline}.location-row small{color:var(--muted);font-size:12px}
.group-list,.device-list{display:grid;gap:9px;margin-top:20px}.group-choice,.device-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:64px;padding:12px 14px;background:var(--paper);border:1px solid var(--line);color:var(--ink);text-align:left}.group-choice{border-radius:10px}.group-choice:hover,.device-row:hover{border-color:var(--teal);background:#f2f8f4}.group-choice b,.device-row b{display:block;font-size:13px;line-height:1.3}.group-choice small,.device-row small{display:block;margin-top:3px;color:var(--muted);font-size:12px;font-weight:500}.group-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:20px}.group-toolbar>.result-action{flex:none;border-radius:9px}.group-search{display:flex;min-width:0;flex:1;gap:7px;margin:0}.group-search input{min-width:0;flex:1;min-height:38px;padding:8px 10px;font-size:13px}.group-search button{min-height:38px;padding:0 12px;background:var(--teal);font-size:12px}.summary{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.summary span{padding:4px 7px;border-radius:6px;background:#edf3ef;color:var(--muted);font-size:11px}
.device-row{position:relative;padding-left:17px}.state-mark{width:11px;height:11px;flex:none;border-radius:99px;background:var(--gold);box-shadow:0 0 0 3px rgba(16,44,42,.06)}.device-row.online .state-mark{background:var(--teal)}.device-row.offline .state-mark{background:var(--red)}.device-identity{display:flex;min-width:0;align-items:baseline;gap:6px;white-space:nowrap}.device-identity b{min-width:0;overflow:hidden;text-overflow:ellipsis}.device-identity small{min-width:0;margin:0;overflow:hidden;color:var(--ink);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.device-row em{margin-left:auto;font-size:12px;font-style:normal;font-weight:700;text-align:right}.device-row em small{color:inherit;font-size:11px;font-weight:500}.device-row.online em,.device-row.online em small{color:var(--teal)}.device-row.offline em,.device-row.offline em small{color:var(--red)}.device-row.recent em,.device-row.recent em small{color:var(--gold)}.group-result{padding:20px}
.admin-header,.admin-list-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-header h2,.admin-list-title h2{margin:0}.admin-list-actions,.history-actions{display:flex;align-items:center;gap:7px}.header-action{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.account-list{margin-top:20px}.account-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.account-row b,.account-row small{display:block}.account-row b{font-size:14px}.account-row small{margin-top:2px;color:var(--muted);font-size:12px}.account-row.is-inactive{opacity:.52}.history-intro{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}.history-intro p{margin:0;color:var(--muted);font-size:13px}.search-history{margin-top:12px;border-top:1px solid var(--line)}.history-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.history-row>div{min-width:0}.history-row b,.history-row small{display:block}.history-row b{font-size:13px}.history-row small{margin-top:3px;color:var(--muted);font-size:12px}.history-row p{margin:5px 0 0;overflow-wrap:anywhere;font-size:13px;font-weight:700}.account-form{display:grid;gap:13px;margin-top:20px}.account-form label{margin:0}.account-form input,.account-form select{width:100%;min-height:43px;margin-top:6px;padding:10px 11px;border-radius:9px}.account-form label small{color:var(--muted);font-size:11px;font-weight:500}.permission-switch{display:flex;align-items:center;gap:9px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#f2f7f3}.permission-switch input{width:17px;min-height:auto;margin:0;accent-color:var(--teal)}.group-fieldset{margin:0;padding:13px;border:1px solid var(--line);border-radius:10px}.group-fieldset legend{padding:0 4px;font-size:13px;font-weight:700}.group-fieldset>p{margin:0 0 9px;color:var(--muted);font-size:12px}.group-fieldset:disabled{opacity:.5}.group-controls{display:grid;gap:8px;margin:0 0 10px}.group-control-actions{display:flex;flex-wrap:wrap;gap:6px}.group-control-actions .header-action{min-height:32px;padding:0 9px;font-size:11px}.group-options{display:block;max-height:300px;overflow:auto;padding-right:3px}.group-node[hidden]{display:none}.group-node-children{margin-left:14px;border-left:1px solid var(--line)}.group-node.is-collapsed>.group-permission .group-node-toggle{transform:rotate(-90deg)}.group-node-toggle:hover{background:#e7f0ea}.group-check{display:flex!important;flex:1;align-items:center;gap:8px;min-width:0;margin:0!important;padding:2px 0;font-size:13px;font-weight:500}.group-check input{width:16px;min-height:auto;margin:0;accent-color:var(--teal)}.group-check span{overflow-wrap:anywhere}.admin-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.admin-actions>button{min-height:42px}.danger-action{background:var(--red)}
.service-warning{margin:16px 0 0;padding:10px 12px;border-left:3px solid var(--gold);border-radius:7px;background:#fff8e7;color:#77591d;font-size:13px}.groups-unavailable{color:var(--muted);font-size:12px}
.admin-header-actions{display:flex;align-items:center;gap:7px;flex:none}
.app-tabs.is-search-only{grid-template-columns:1fr}.app-tabs.is-search-only .app-tab-indicator{right:3px;transform:none}
.admin-settings-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:18px 0 12px}.admin-settings-actions .header-action{min-height:38px;padding:5px 8px;text-align:center;line-height:1.15}
.trip-list{display:grid;gap:12px;margin-top:20px}.trip-card{border:1px solid var(--line);border-radius:12px;background:var(--paper);overflow:hidden}.trip-card-summary{display:block;width:100%;padding:16px;background:transparent;color:var(--ink);text-align:left}.trip-card-summary:hover{background:#f2f8f4}.trip-card-summary[aria-expanded="true"]{background:#f2f8f4}.trip-card-head{display:flex;justify-content:space-between;gap:12px}.trip-card h2{margin:0;font-size:14px}.trip-route,.trip-updated{margin:4px 0 0;color:var(--muted);font-size:12px}.trip-card-statuses{display:grid;justify-items:end;align-content:start;gap:6px}.trip-connection{display:inline-grid;justify-items:end;color:var(--muted);font-size:12px;font-weight:700}.trip-connection small{font-size:11px;font-weight:500}.trip-connection.online,.trip-connection-detail.online{color:var(--teal)}.trip-connection.offline,.trip-connection-detail.offline{color:var(--red)}.trip-connection.recent,.trip-connection-detail.recent{color:var(--gold)}.trip-map-state{display:inline-flex;align-items:center;gap:6px;flex:none;font-size:12px;font-weight:700}.trip-map-state::before{width:11px;height:11px;content:'';border:2px solid #fff;background:var(--teal);box-shadow:0 0 0 1px rgba(0,0,0,.25)}.trip-map-state.stopped::before{border-radius:50%}.trip-map-state.offline{color:var(--red)}.trip-map-state.offline::before{border-radius:2px;background:var(--red)}.trip-map-state.moving{color:var(--teal)}.trip-map-state.moving::before{width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:11px solid var(--teal);background:transparent;box-shadow:none}.trip-card-last-stop{display:grid;gap:3px;margin-top:14px;padding-top:11px;border-top:1px solid var(--line);font-size:12px}.trip-card-last-stop>span:first-child,.trip-stop-label{color:var(--muted);font-weight:500}.trip-card-expand{display:block;margin-top:12px;color:var(--teal);font-size:12px;font-weight:700}.trip-card-summary[aria-expanded="true"] .trip-card-expand::after{content:' ↑'}.trip-card-summary[aria-expanded="false"] .trip-card-expand::after{content:' ↓'}.trip-card-details{padding:0 16px 16px;border-top:1px solid var(--line)}.trip-card dl{margin-top:0}.trip-card dl div{padding:8px 0}.trip-stops{display:grid;gap:5px}.trip-stop{display:block;color:var(--red);font-weight:700}.trip-stop.current{color:#a56912}.trip-stops-toggle{justify-self:start;min-height:32px;margin-top:4px;padding:0 10px;border:1px solid var(--line);background:transparent;color:var(--teal);font-size:12px}.trip-stops-toggle:hover{border-color:var(--teal);background:#edf6f0}.trip-stops-all{display:grid;gap:5px;padding-top:5px}.trip-ok{color:var(--teal);font-weight:700}.trip-muted{color:var(--muted)}
.trip-map-link{display:flex;align-items:center;min-height:40px;padding:0 16px;border-top:1px solid var(--line);background:#edf6f0;color:var(--teal);font-size:12px;font-weight:700;text-decoration:none}.trip-map-link::after{content:'↗';margin-left:6px}.trip-map-link:hover,.trip-map-link:focus-visible{background:#e1f0e7;text-decoration:underline}
.trip-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.trip-heading-row h2{margin-bottom:0}.trip-admin-refresh{min-height:30px;padding:0 10px;border:1px solid var(--line);background:var(--paper);color:var(--muted);font-size:11px}.trip-admin-refresh:hover{border-color:var(--teal);color:var(--teal)}
.trip-department{margin:6px 0 0;color:var(--teal);font-size:11px;font-weight:700}.trip-department-filters{display:flex;flex-wrap:nowrap;gap:5px;margin:12px 0;overflow-x:auto;scrollbar-width:thin}.trip-department-filter{flex:0 0 auto;min-height:32px;padding:0 8px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--muted);font-size:11px;white-space:nowrap}.trip-department-filter small{margin-left:2px;color:inherit;font-size:10px;font-weight:500}.trip-department-filter:hover{border-color:var(--teal);color:var(--teal)}.trip-department-filter.is-active{border-color:var(--teal);background:var(--teal);color:#fff}
.trip-search{display:flex;gap:7px;margin:12px 0 0}.trip-search input{min-width:0;flex:1;min-height:38px;padding:8px 10px;font-size:13px}.trip-search button{min-height:38px;padding:0 12px;background:var(--teal);font-size:12px}
.trip-mode{display:flex;gap:5px;margin-top:12px}
.origin-field-search{display:flex;gap:7px;margin:18px 0 0}.origin-field-search input{min-width:0;flex:1;min-height:38px;padding:8px 10px;font-size:13px}.origin-field-search button{min-height:38px;padding:0 12px;background:var(--teal);font-size:12px}.origin-field-list{margin-top:12px;border-top:1px solid var(--line)}.origin-field-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.origin-field-row b,.origin-field-row small{display:block}.origin-field-row b{font-size:13px}.origin-field-row small{margin-top:2px;color:var(--muted);font-size:12px}.origin-field-actions{display:flex;gap:6px}.origin-field-actions .header-action{min-height:30px;padding:0 9px;font-size:11px}
.pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.pagination-summary{color:var(--muted);font-size:11px;white-space:nowrap}.pagination ul{display:flex;align-items:center;gap:3px;margin:0;padding:0;list-style:none}.pagination-link{display:inline-flex;align-items:center;justify-content:center;min-width:31px;height:31px;padding:0 8px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--ink);font-size:12px}.pagination-link:hover:not(:disabled){border-color:var(--line);background:#edf5f0}.pagination-link.is-active{border-color:var(--teal);background:var(--teal);color:#fff}.pagination-link:disabled{cursor:not-allowed;opacity:.38}.pagination-previous,.pagination-next{gap:4px;color:var(--teal);font-weight:700}.pagination-ellipsis{display:inline-flex;align-items:center;justify-content:center;width:20px;color:var(--muted)}
@media(max-width:510px){.shell{width:min(100% - 24px,650px);padding-top:20px}.site-header{align-items:flex-start}.site-header h1{white-space:normal}.account-bar{margin:0;align-items:flex-end;flex-direction:column}.current-user{max-width:120px;text-align:right}.panel,.result,.auth-card,.admin-view{padding:18px;border-radius:14px}.app-tab{padding:0 8px;font-size:12px}.app-tabs.is-admin .app-tab{font-size:11px}.input-row{display:block}.input-row button{width:100%;min-height:48px;margin-top:10px}.input-row input{width:100%;min-height:48px}dl div{grid-template-columns:1fr;gap:2px}.group-choice,.device-row{min-height:70px;padding:12px}.group-toolbar>.result-action{min-width:72px;flex:none}.group-search button{padding:0 10px}.device-row{display:grid;grid-template-columns:11px minmax(0,1fr) max-content;column-gap:10px;row-gap:4px}.device-row .state-mark{grid-column:1;grid-row:1 / 3;align-self:center}.device-identity{display:contents}.device-identity b{grid-column:2;grid-row:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-identity small{grid-column:2;grid-row:2;margin:0;overflow:visible;text-overflow:clip;white-space:normal;font-size:12px;line-height:1.25}.device-row em{grid-column:3;grid-row:1 / 3;align-self:center;max-width:86px}.result-actions{display:flex;width:100%}.result-action{flex:1;padding:0 12px}.admin-header{align-items:flex-start}.admin-list-title,.history-intro{align-items:flex-start}.admin-list-actions,.history-actions{flex-wrap:wrap;justify-content:flex-end}.group-control-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.group-control-actions .header-action{width:100%}.account-row{align-items:flex-start}.account-row .header-action{flex:none}.admin-actions{display:grid;grid-template-columns:1fr}.admin-actions>button{width:100%}.group-options{max-height:260px}.pagination{align-items:flex-end}.pagination-summary{padding-bottom:8px}.pagination-previous span,.pagination-next span{display:none}.pagination-link{min-width:29px;padding:0 6px}}
@media(max-width:510px){.app-tabs.is-admin .app-tab{padding:0 4px;font-size:10px}}
.device-fieldset{margin:0;padding:13px;border:1px solid var(--line);border-radius:10px}.device-fieldset legend{padding:0 4px;font-size:13px;font-weight:700}.device-fieldset>p{margin:0 0 9px;color:var(--muted);font-size:12px}.device-fieldset:disabled{opacity:.5}.group-device-count{padding:8px 10px!important;border-radius:7px;background:#edf5f1;color:var(--teal)!important;font-weight:700}.device-options{display:block;max-height:300px;overflow:auto;padding-right:3px}.device-check{display:flex!important;align-items:center;gap:8px;min-width:0;margin:0!important;padding:7px 5px;border-bottom:1px solid var(--line);border-radius:7px;font-size:13px;font-weight:500}.device-check:last-child{border-bottom:0}.device-check:hover{background:#edf4ef}.device-check.has-group-access{background:#edf7f1}.device-check.is-excluded{background:#fff3f1}.device-check[hidden]{display:none}.device-check input{width:16px;min-height:auto;margin:0;accent-color:var(--teal)}.device-check span{overflow-wrap:anywhere}.device-check b,.device-check small{display:block}.device-check b{font-size:13px}.device-check small{margin-top:2px;color:var(--muted);font-size:11px}.device-check.has-group-access small{color:var(--teal);font-weight:700}.device-check.is-excluded small{color:var(--red);font-weight:700}.device-row mark{padding:1px 2px;border-radius:3px;background:#ffdf8a;color:inherit}
@media(prefers-reduced-motion:reduce){.spinner,.app-tab-indicator,.app-tab{animation:none;transition:none}}
@media(max-width:510px){.trip-card-head{align-items:flex-start}.trip-card-statuses{gap:5px}.trip-connection,.trip-map-state{font-size:11px}.trip-card-summary{padding:14px}.trip-card-details{padding:0 14px 14px}}
@media(max-width:510px){.admin-settings-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
.trip-stop.allowed,.trip-stop.allowed.current{color:var(--teal)}.trip-stop-allowed{font-size:11px;font-weight:700}
@media(max-width:510px){.site-header{grid-template-columns:1fr;gap:10px}.site-header h1{font-size:28px;line-height:1.03}.account-bar{width:100%;grid-template-columns:minmax(0,1fr) auto auto;gap:6px}.current-user{grid-column:1;grid-row:1;justify-self:start;overflow:hidden;text-align:left;text-overflow:ellipsis}.account-bar .header-action{padding:0 9px;font-size:11px}.account-bar #push-enable{grid-column:2;grid-row:1}.account-bar #logout{grid-column:3;grid-row:1}}
.app-tabs.is-admin{grid-template-columns:repeat(4,1fr)}.app-tabs.is-admin .app-tab-indicator{right:calc(75% + 2px)}.app-tabs.is-admin[data-active-tab="trips"] .app-tab-indicator{transform:translateX(calc(100% + 4px))}.app-tabs.is-admin[data-active-tab="notifications"] .app-tab-indicator{transform:translateX(calc(200% + 8px))}.app-tabs.is-admin[data-active-tab="settings"] .app-tab-indicator{transform:translateX(calc(300% + 12px))}
.group-controls input{width:100%;min-height:38px;margin:0;padding:8px 10px;font-size:13px}.group-node.is-collapsed>.group-node-children{display:none}.group-permission{display:flex;align-items:center;gap:6px;margin:0;padding:6px 5px 6px calc(5px + var(--level)*4px);border-radius:7px;font-size:13px;font-weight:500}.group-permission:hover{background:#edf4ef}.group-node-toggle,.group-node-spacer{width:23px;min-width:23px;height:23px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--teal);font-size:17px;line-height:1}.group-node-toggle{transform:rotate(0deg)}
@media(max-width:510px){.history-intro{display:grid;gap:12px}.history-actions{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}.history-actions .header-action{width:100%;min-height:38px;padding:0 8px;text-align:center}.notification-history-filter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px}.notification-history-filter label{min-width:0;margin:0;font-size:12px}.notification-history-filter input{width:100%;min-height:40px;margin-top:4px;padding:8px}.notification-history-filter button{grid-column:1/-1;width:100%;min-height:42px;margin:0}.history-row{align-items:flex-start}.history-row .header-action{flex:none;padding:0 9px}}
@media(max-width:510px){.notification-history-filter{grid-template-columns:minmax(0,1fr)}.notification-history-filter input{min-inline-size:0;max-inline-size:100%}.notification-history-filter button{grid-column:auto}}
@media(max-width:700px){.notification-history-filter{grid-template-columns:minmax(0,1fr)}.notification-history-filter input[type="date"]{width:100%;min-width:0;max-width:100%;min-inline-size:0;-webkit-appearance:none;appearance:none}.notification-history-filter button{grid-column:auto}}
@media(max-width:700px){.trip-card-head{grid-template-columns:minmax(0,1fr) 145px;gap:8px}.trip-card-statuses{min-width:145px}.trip-map-state{justify-content:flex-end;white-space:nowrap;font-size:11px}}
.app-tabs[data-tab-count="2"] .app-tab-indicator{right:calc(50% + 2px)}.app-tabs[data-tab-count="2"][data-active-tab-index="1"] .app-tab-indicator{transform:translateX(calc(100% + 4px))}.app-tabs[data-tab-count="3"]{grid-template-columns:repeat(3,1fr)}.app-tabs[data-tab-count="3"] .app-tab-indicator{right:calc(66.6667% + 2px)}.app-tabs[data-tab-count="3"][data-active-tab-index="1"] .app-tab-indicator{transform:translateX(calc(100% + 4px))}.app-tabs[data-tab-count="3"][data-active-tab-index="2"] .app-tab-indicator{transform:translateX(calc(200% + 8px))}.app-tabs[data-tab-count="4"]{grid-template-columns:repeat(4,1fr)}.app-tabs[data-tab-count="4"] .app-tab-indicator{right:calc(75% + 2px)}.app-tabs[data-tab-count="4"][data-active-tab-index="1"] .app-tab-indicator{transform:translateX(calc(100% + 4px))}.app-tabs[data-tab-count="4"][data-active-tab-index="2"] .app-tab-indicator{transform:translateX(calc(200% + 8px))}.app-tabs[data-tab-count="4"][data-active-tab-index="3"] .app-tab-indicator{transform:translateX(calc(300% + 12px))}
.trip-list{gap:8px;margin-top:14px}.trip-card-summary{padding:12px 14px}.trip-department{margin-top:3px}.trip-card-last-stop{gap:2px;margin-top:9px;padding-top:8px}.trip-card-expand{margin-top:8px}.trip-map-link{min-height:34px}
.notification-toolbar{display:flex;justify-content:flex-end;gap:8px;margin:0 0 14px}.notification-history-filter{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:8px;margin:0}.notification-history-filter label{min-width:0;margin:0;font-size:12px}.notification-history-filter input{width:100%;min-width:0;min-height:40px;margin-top:4px;padding:8px}.notification-history-filter button{min-height:40px;padding:0 14px;background:var(--teal);font-size:12px}.notification-row-actions{display:flex;flex:none;gap:6px}.notification-row-actions .notification-icon-action{position:relative;width:34px;min-width:34px;height:34px;min-height:34px;padding:0;border-radius:50%}.notification-icon-action img{display:block;width:18px;height:18px;object-fit:contain}.notification-internal-map-action::after,.notification-yandex-map-action::after{position:absolute;right:-2px;bottom:-2px;display:grid;place-items:center;width:14px;height:14px;border:1px solid #fff;border-radius:50%;color:#fff;font:800 8px/1 Arial,sans-serif}.notification-internal-map-action::after{content:"А";background:var(--teal)}.notification-yandex-map-action::after{content:"Я";background:#d94a43}.notification-action-glyph{display:block;font-family:Arial,sans-serif;font-size:22px;font-weight:700;line-height:1}.notification-delete-action{color:var(--red)}.notification-delete-action:hover{border-color:#d9908b;background:#fff5f3}
.trip-card-location-actions{display:flex;justify-content:flex-end;gap:6px;padding:0 14px 10px}.trip-card-location-actions .notification-icon-action{position:relative;width:34px;min-width:34px;height:34px;min-height:34px;padding:0;border-radius:50%}
@media(max-width:700px){.notification-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.notification-toolbar .header-action{width:100%;min-height:38px;padding:0 7px;text-align:center}.notification-history-filter{grid-template-columns:minmax(0,1fr);gap:8px}.notification-history-filter input[type="date"]{width:100%;min-width:0;max-width:100%;min-inline-size:0;-webkit-appearance:none;appearance:none}.notification-history-filter button{width:100%}.notification-row-actions{flex-wrap:wrap;justify-content:flex-end}}
@media(max-width:510px){.trip-card-summary{padding:10px 12px}.trip-card-last-stop{margin-top:7px;padding-top:7px}.trip-card-expand{margin-top:6px}.trip-map-link{min-height:32px;padding:0 12px}}
.trip-card-summary{cursor:pointer}
.trip-heading-actions{display:flex;align-items:center;gap:7px}.trip-map-open-button{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 10px;border:1px solid var(--teal);background:var(--teal);color:#fff;font-size:11px}.trip-map-open-button:hover{background:#125f4e}
body.trip-map-open{overflow:hidden}.trip-map-workspace{position:fixed;z-index:30;inset:0;display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);background:#edf3ef;color:var(--ink)}.trip-map-sidebar{display:flex;min-width:0;flex-direction:column;border-right:1px solid var(--line);background:rgba(251,252,250,.98);box-shadow:12px 0 30px rgba(16,44,42,.08)}.trip-map-sidebar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:22px 20px 14px;border-bottom:1px solid var(--line)}.trip-map-sidebar-head h2{margin:0;font-size:18px}.trip-map-sidebar-head .eyebrow{margin-bottom:4px}.trip-map-search{display:flex;gap:7px;padding:12px 20px 0}.trip-map-search input{min-width:0;flex:1;padding:9px 10px;font-size:12px}.trip-map-search button{min-height:38px;padding:0 11px;background:var(--teal);font-size:11px}.trip-map-mode{display:flex;gap:5px;padding:10px 20px 0}.trip-map-department-filters{display:flex;gap:5px;overflow-x:auto;padding:10px 20px 4px;scrollbar-width:thin}.trip-map-updated{margin:8px 20px 0;color:var(--muted);font-size:11px}.trip-map-legend{display:flex;flex-wrap:wrap;gap:5px 9px;margin:10px 20px;padding:9px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:10px;font-weight:700}.trip-map-legend span,.trip-map-list-item em{font-style:normal}.trip-map-legend .moving,.trip-map-list-symbol.moving,.trip-map-list-item em.moving,.trip-map-popup em.moving{color:#14775f}.trip-map-legend .stop-allowed,.trip-map-list-symbol.stop-allowed,.trip-map-list-item em.stop-allowed,.trip-map-popup em.stop-allowed{color:#42826c}.trip-map-legend .stop-problem,.trip-map-list-symbol.stop-problem,.trip-map-list-item em.stop-problem,.trip-map-popup em.stop-problem{color:#a56912}.trip-map-legend .offline,.trip-map-list-symbol.offline,.trip-map-list-item em.offline,.trip-map-popup em.offline{color:var(--red)}.trip-map-list{display:grid;align-content:start;gap:2px;min-height:0;overflow-y:auto;padding:0 10px 16px}.trip-map-list-item{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:8px;width:100%;padding:10px;border-radius:10px;background:transparent;color:var(--ink);text-align:left}.trip-map-list-item:hover,.trip-map-list-item.is-selected{background:#e6f0e9}.trip-map-list-item>span:last-child{display:grid;gap:3px;min-width:0}.trip-map-list-item b,.trip-map-list-item small,.trip-map-list-item em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trip-map-list-item b{font-size:12px}.trip-map-list-item small{color:var(--muted);font-size:10px;font-weight:500}.trip-map-list-item em{font-size:10px;font-weight:700}.trip-map-list-symbol{display:grid;place-items:center;width:21px;height:21px;padding:0;background:transparent;font-size:18px;line-height:1}.trip-map-canvas{position:relative;min-width:0;background:#dce7de}.trip-map-canvas>#trip-desktop-map{width:100%;height:100%}.trip-map-empty{position:absolute;z-index:500;top:20px;left:20px;max-width:310px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:rgba(251,252,250,.96);box-shadow:0 8px 22px rgba(16,44,42,.12);font-size:13px}.trip-map-marker-wrap{background:transparent!important;border:0!important}.trip-map-marker{display:grid;place-items:center;width:28px;height:28px;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 8px rgba(16,44,42,.28);color:#fff;font-size:16px;line-height:1}.trip-map-marker.moving{border-radius:8px;background:#14775f}.trip-map-marker.stop-allowed{background:#42826c}.trip-map-marker.stop-problem{background:#a56912}.trip-map-marker.offline{border-radius:5px;background:var(--red);font-size:14px}.trip-map-popup{display:grid;gap:4px;min-width:180px}.trip-map-popup b{font-size:13px}.trip-map-popup span,.trip-map-popup small{color:var(--muted);font-size:11px}.trip-map-popup small.trip-map-popup-meta{color:var(--ink);font-weight:700}.trip-map-popup em{font-size:11px;font-weight:700}.leaflet-container{font-family:Manrope,Arial,sans-serif}.leaflet-control-zoom{border:1px solid var(--line)!important;border-radius:10px!important;overflow:hidden;box-shadow:0 5px 15px rgba(16,44,42,.15)!important}.leaflet-control-zoom a{width:34px!important;height:34px!important;border-color:var(--line)!important;background:var(--paper)!important;color:var(--ink)!important;line-height:32px!important}.leaflet-control-attribution{padding:2px 5px!important;background:rgba(251,252,250,.8)!important;color:var(--muted)!important;font-size:10px!important}
@media(max-width:699px){.trip-map-open-button{display:none}.trip-heading-actions{gap:6px}}
.trip-map-legend .origin{color:#16705b}.trip-map-legend .unloading{color:#a56912}
.trip-map-marker{position:relative;width:24px;height:24px;border-width:1.5px;border-radius:7px;box-shadow:0 2px 6px rgba(16,44,42,.24);font-size:0}.trip-map-marker.moving,.trip-map-marker.stop-allowed,.trip-map-marker.stop-problem{border-radius:7px}.trip-map-marker.offline{border-radius:7px;font-size:0}.trip-map-object-symbol{display:inline-grid;place-items:center;width:17px;height:17px;color:currentColor}.trip-map-object-symbol svg{display:block;width:100%;height:100%;fill:currentColor}.trip-map-marker .trip-map-object-symbol{color:#fff}.trip-map-marker.stop-allowed::after,.trip-map-marker.stop-problem::after,.trip-map-marker.offline::after{position:absolute;right:-4px;bottom:-4px;display:grid;place-items:center;width:10px;height:10px;border:1px solid #fff;border-radius:50%;color:#fff;font:800 8px/1 Arial,sans-serif}.trip-map-marker.stop-allowed::after{content:"✓";background:#246d59}.trip-map-marker.stop-problem::after{content:"!";background:#9b5b08}.trip-map-marker.offline::after{content:"×";background:#a73732}.trip-map-legend>span{display:inline-flex;align-items:center;gap:4px}.trip-map-legend .trip-map-object-symbol{width:14px;height:14px}.trip-map-list-symbol{font-size:0}.trip-map-list-symbol .trip-map-object-symbol{width:18px;height:18px}.leaflet-tooltip.trip-geofence-label{visibility:hidden;display:grid;gap:1px;padding:4px 7px;border:1px solid rgba(22,112,91,.28);border-radius:6px;background:rgba(251,252,250,.94);box-shadow:0 2px 8px rgba(16,44,42,.12);color:#0b5144;font:700 10px/1.15 Manrope,Arial,sans-serif;text-align:center;opacity:0!important;pointer-events:none;transition:opacity .12s ease}.leaflet-tooltip.trip-geofence-label.unloading{border-color:rgba(165,105,18,.32);color:#85540f}.leaflet-tooltip.trip-geofence-label small{display:block;color:var(--muted);font-size:8px;font-weight:600}.leaflet-tooltip.trip-geofence-label::before{display:none}.leaflet-container.show-geofence-labels .leaflet-tooltip.trip-geofence-label{visibility:visible;opacity:1!important}
.trip-map-marker,.trip-map-marker.moving,.trip-map-marker.at-unloading,.trip-map-marker.stop-allowed,.trip-map-marker.stop-problem,.trip-map-marker.offline{border:0;border-radius:0;background:transparent!important;box-shadow:none}.trip-map-marker.stop-allowed::after,.trip-map-marker.stop-problem::after,.trip-map-marker.offline::after{display:none;content:none}.trip-map-marker .trip-map-object-symbol{width:24px;height:24px;filter:drop-shadow(0 2px 2px rgba(16,44,42,.28))}.trip-map-marker.moving .trip-map-object-symbol{color:#14775f}.trip-map-marker.at-unloading .trip-map-object-symbol{color:#14775f}.trip-map-marker.stop-allowed .trip-map-object-symbol{color:#42826c}.trip-map-marker.stop-problem .trip-map-object-symbol{color:#a56912}.trip-map-marker.offline .trip-map-object-symbol{color:var(--red)}.trip-map-object-symbol svg{overflow:visible}.trip-map-object-symbol svg>:not(.vehicle-mark){stroke:#fff;stroke-width:1.5;stroke-linejoin:round;vector-effect:non-scaling-stroke}.trip-map-object-symbol.at-unloading .vehicle-mark{fill:#fff;stroke:none}.trip-map-legend .at-unloading,.trip-map-list-symbol.at-unloading,.trip-map-list-item em.at-unloading,.trip-map-popup em.at-unloading{color:#14775f}
.trip-scale-marker-wrap{border:0;background:transparent}.trip-scale-marker,.trip-scale-marker img{display:block;width:26px;height:32px}.trip-scale-marker{filter:drop-shadow(0 2px 3px rgba(16,44,42,.32))}.leaflet-tooltip.trip-geofence-label.scale{border-color:rgba(198,42,42,.4);color:#a32929}
.trip-unloading-marker-wrap{border:0;background:transparent}.trip-unloading-marker{display:grid;width:18px;height:18px;place-items:center;border:1.5px solid #fff;border-radius:6px;background:#a56912;box-shadow:0 2px 5px rgba(16,44,42,.3)}.trip-unloading-marker svg{display:block;width:12px;height:12px;fill:#fff}
.trip-card-overview{position:relative}.trip-card-toggle{position:absolute;z-index:1;inset:0;width:100%;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.trip-card-toggle:hover{background:transparent}.trip-card-toggle:focus-visible{outline:2px solid var(--teal);outline-offset:-3px}.trip-card-overview:hover>.trip-card-summary,.trip-card-overview:has(>.trip-card-toggle[aria-expanded="true"])>.trip-card-summary{background:#f2f8f4}.trip-card-statuses>.trip-card-location-actions{position:relative;z-index:2;align-self:end;margin-top:1px;padding:0}
.trip-map-popup-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.trip-map-popup-heading b{min-width:0}.trip-popup-track-action{display:grid;flex:0 0 auto;place-items:center;width:30px;height:30px;padding:0;border:1px solid #bfd5ca;border-radius:50%;background:#edf6f1;color:#0d6f5b}.trip-popup-track-action:hover{border-color:#0d6f5b;background:#dfeee6}.trip-popup-track-action svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.trip-popup-track-action.is-loading{opacity:.55;pointer-events:none}.trip-popup-track-action.is-loading svg{animation:trip-track-pulse .8s ease-in-out infinite alternate}.trip-track-player{position:absolute;z-index:650;right:20px;bottom:20px;width:min(520px,calc(100% - 40px));padding:14px 16px;border:1px solid rgba(22,112,91,.22);border-radius:16px;background:rgba(251,252,250,.97);box-shadow:0 12px 36px rgba(16,44,42,.2);backdrop-filter:blur(10px)}.trip-track-player[hidden]{display:none}.trip-track-player header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.trip-track-player header>div{display:grid;gap:3px;min-width:0}.trip-track-player header b,.trip-track-player header small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trip-track-player header b{font-size:13px}.trip-track-player header small{color:var(--muted);font-size:10px}.trip-track-player header>button,.trip-track-controls>button{display:grid;place-items:center;padding:0;border:1px solid var(--line);background:var(--paper);color:var(--ink)}.trip-track-player header>button{flex:0 0 auto;width:28px;height:28px;border-radius:50%;font-size:18px;line-height:1}.trip-track-player p{margin:10px 0 5px;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.trip-track-player input[type=range]{width:100%;height:22px;margin:0;accent-color:#0d6f5b;cursor:pointer}.trip-track-controls{display:flex;align-items:center;gap:7px;margin-top:6px}.trip-track-controls>button{width:34px;height:32px;border-radius:10px;font-size:20px;line-height:1}.trip-track-controls>.trip-track-play{background:#0d6f5b;color:#fff;font-size:14px}.trip-track-controls label{display:flex;align-items:center;gap:7px;margin-left:auto;color:var(--muted);font-size:10px;font-weight:700}.trip-track-controls select{min-height:32px;padding:0 25px 0 9px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);font:inherit}.leaflet-tooltip b{font-size:11px}@keyframes trip-track-pulse{to{transform:scale(.76);opacity:.45}}
.trip-map-marker.at-unloading{display:grid;place-items:center;border:1.5px solid #fff;border-radius:7px;background:#14775f!important;box-shadow:0 2px 6px rgba(16,44,42,.24)}.trip-map-marker.at-unloading .trip-map-object-symbol{width:17px;height:17px;color:#fff;filter:none}.trip-map-marker.at-unloading .trip-map-object-symbol svg>*{stroke:none}
.trip-map-sidebar-actions{display:flex;align-items:center;gap:6px}.trip-map-sheet-toggle{display:none;width:34px;min-width:34px;padding:0;font-size:18px;line-height:1}
@media(max-width:699px){.trip-map-open-button{display:inline-flex}.trip-map-workspace{display:block}.trip-map-canvas{position:absolute;inset:0}.trip-map-sidebar{position:absolute;z-index:700;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));left:8px;width:auto;max-height:min(58vh,520px);overflow:hidden;border:1px solid rgba(22,112,91,.2);border-radius:18px;background:rgba(251,252,250,.98);box-shadow:0 10px 34px rgba(16,44,42,.22);transition:max-height .2s ease}.trip-map-sidebar::before{position:absolute;top:6px;left:50%;width:38px;height:4px;border-radius:2px;background:#b7c8bd;content:"";transform:translateX(-50%)}.trip-map-sidebar-head{flex:none;align-items:center;padding:17px 12px 9px;border-bottom:1px solid var(--line)}.trip-map-sidebar-head .eyebrow{display:none}.trip-map-sidebar-head h2{font-size:15px}.trip-map-sidebar-actions{gap:5px}.trip-map-sidebar-head .header-action{min-height:34px;padding:0 10px}.trip-map-sheet-toggle{display:inline-flex!important}.trip-map-sidebar.is-collapsed{max-height:62px}.trip-map-sidebar.is-collapsed>.trip-map-sidebar-head{height:62px;padding-top:14px;border-bottom:0}.trip-map-sidebar.is-collapsed>:not(.trip-map-sidebar-head){display:none}.trip-map-search{gap:6px;padding:8px 12px 0}.trip-map-search input{min-height:38px}.trip-map-mode{padding:8px 12px 0}.trip-map-department-filters{padding:8px 12px 2px}.trip-map-updated{display:none}.trip-map-legend{flex-wrap:nowrap;gap:10px;margin:7px 12px;padding:7px 0;overflow-x:auto;white-space:nowrap;scrollbar-width:none}.trip-map-legend::-webkit-scrollbar{display:none}.trip-map-list{gap:1px;padding:0 7px 10px}.trip-map-list-item{grid-template-columns:20px minmax(0,1fr);gap:7px;padding:8px}.trip-map-list-symbol .trip-map-object-symbol{width:17px;height:17px}.trip-map-list-item b{font-size:11px}.trip-map-list-item small,.trip-map-list-item em{font-size:9px}.trip-map-empty{top:12px;left:12px;max-width:calc(100% - 70px);font-size:12px}.trip-track-player{z-index:710;top:12px;right:54px;bottom:auto;width:calc(100% - 66px);padding:11px 12px;border-radius:14px}.trip-track-player header b{font-size:12px}.trip-track-player header small{font-size:9px}.trip-track-player p{margin-top:7px;font-size:10px}.trip-track-controls{gap:5px}.trip-track-controls>button{width:32px;height:30px}.trip-track-controls label{font-size:0}.trip-track-controls label::before{content:"Скорость";font-size:9px}.trip-track-controls select{min-height:30px}.leaflet-control-zoom{margin-top:10px!important;margin-right:10px!important}.leaflet-control-attribution{max-width:65%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media(max-width:510px){.trip-card-statuses>.trip-card-location-actions{margin-top:0}.trip-card-location-actions .notification-icon-action{width:32px;min-width:32px;height:32px;min-height:32px}}
@media(max-width:699px){.trip-map-sidebar{background:var(--paper)}.trip-map-sheet-toggle span{display:block;width:8px;height:8px;margin-top:-4px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .18s ease,margin .18s ease}.trip-map-sidebar.is-collapsed .trip-map-sheet-toggle span{margin-top:4px;transform:rotate(225deg)}.trip-map-department-filters{scrollbar-width:none}.trip-map-department-filters::-webkit-scrollbar{display:none}.trip-map-legend{gap:4px;margin:7px 12px 8px;padding:0;border:0}.trip-map-legend>span{flex:none;min-height:24px;padding:4px 6px;border-radius:6px;background:#edf3ef;font-size:9px;line-height:1}.trip-map-legend .trip-map-object-symbol{width:12px;height:12px}.leaflet-top.leaflet-left .leaflet-control-attribution{margin:6px 0 0 6px!important;border-radius:5px;background:rgba(251,252,250,.88)!important;font-size:8px!important}}
.trip-map-drag-handle{display:none}
.trip-summary{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;scrollbar-width:none}.trip-summary::-webkit-scrollbar{display:none}.trip-summary>span{flex:0 0 auto}
.trip-map-object-symbol.moving{transform-origin:50% 50%;transition:transform .2s ease}
dl .location-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.check-location-details{display:grid;gap:3px;min-width:0}.check-location-label{color:var(--muted);font-size:12px}.location-row .check-location-actions{align-items:center;flex-wrap:nowrap;margin:0}.location-row .check-location-actions .notification-icon-action{width:40px;min-width:40px;height:40px;min-height:40px}.location-row .check-location-actions .notification-icon-action img{width:20px;height:20px}
.location-row .notification-yandex-map-action::after{content:"Я"}
.trip-map-popup .notification-stop-resolution{display:block;padding:5px 7px;border-radius:6px;background:#fff5df;color:#8b590d;font-size:11px;line-height:1.25}.trip-map-popup .notification-stop-resolution.is-departed{background:#e9f4ed;color:var(--teal)}.trip-map-popup .notification-stop-resolution.is-unknown{background:#f0f3f1;color:var(--muted)}
.trip-map-mode{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.trip-map-mode::-webkit-scrollbar{display:none}.trip-map-mode>button{flex:none}.trip-map-list-item small.trip-map-notification-time{color:#8b590d;font-weight:700}
.trip-map-sidebar>.trip-map-list{height:0;min-height:90px;flex:1 1 0;overscroll-behavior:contain}.trip-map-sidebar>.pagination{flex:none;margin:0;padding:8px 10px;border-top:1px solid var(--line);background:var(--paper)}.trip-map-sidebar>.pagination .pagination-summary{font-size:10px}.trip-map-sidebar>.pagination .pagination-link{min-width:28px;height:28px;min-height:28px;padding:0 6px}
.trip-map-popup-actions{display:flex;flex:0 0 auto;align-items:center;gap:5px}.trip-popup-notification-action{display:grid;place-items:center;width:30px;height:30px;min-height:30px;padding:0;border:1px solid #bfd5ca;border-radius:50%;background:#edf6f1;color:#0d6f5b}.trip-popup-notification-action:hover{border-color:#0d6f5b;background:#dfeee6}.trip-popup-notification-action:disabled{opacity:.55}.trip-popup-notification-action img{width:16px;height:16px;object-fit:contain}.trip-popup-notification-action .notification-action-glyph{font-size:16px;font-weight:800;line-height:1}
@media(max-width:699px){.trip-map-sidebar{height:min(58vh,520px);height:min(58dvh,520px);max-height:none;overscroll-behavior:contain;transition:height .2s ease}.trip-map-sidebar::before{display:none}.trip-map-sidebar.is-collapsed{height:62px;max-height:none}.trip-map-sidebar.is-dragging{transition:none;user-select:none}.trip-map-sidebar-head{touch-action:none;cursor:ns-resize}.trip-map-sidebar-head button{touch-action:manipulation;cursor:pointer}.trip-map-drag-handle,.trip-map-sidebar.is-collapsed>.trip-map-drag-handle{position:absolute;z-index:3;top:0;left:50%;display:block;width:64px;height:18px;min-height:0;padding:0;border:0;border-radius:0;background:transparent;touch-action:none;transform:translateX(-50%);cursor:ns-resize}.trip-map-drag-handle span{position:absolute;top:6px;left:50%;width:38px;height:4px;border-radius:2px;background:#9eb4a8;transform:translateX(-50%)}.trip-map-department-filters,.trip-map-legend{flex:none;min-width:0;overflow-y:hidden;overscroll-behavior-x:contain;scroll-padding-inline:12px;touch-action:pan-x;-webkit-overflow-scrolling:touch}.trip-map-department-filters{min-height:42px;align-items:center;padding-bottom:4px}.trip-map-department-filters>:last-child,.trip-map-legend>:last-child{margin-right:8px}.trip-map-legend{min-height:32px;align-items:center}.trip-map-list{overscroll-behavior-y:contain;touch-action:pan-y}}
.trip-stop.allowed,.trip-stop.allowed.current,.trip-stop-allowed{color:#8a7444}.trip-map-state.stop-allowed,.trip-map-state.at-unloading{color:#8a7444}.trip-map-state.stop-allowed::before,.trip-map-state.at-unloading::before{background:#8a7444}.trip-map-state.stop-problem{color:#a56912}.trip-map-state.stop-problem::before{background:#a56912}.trip-map-legend .stop-allowed,.trip-map-list-symbol.stop-allowed,.trip-map-list-item em.stop-allowed,.trip-map-popup em.stop-allowed,.trip-map-legend .at-unloading,.trip-map-list-symbol.at-unloading,.trip-map-list-item em.at-unloading,.trip-map-popup em.at-unloading{color:#8a7444}.trip-map-marker.stop-allowed .trip-map-object-symbol{color:#8a7444}.trip-map-marker.at-unloading{background:#8a7444!important}
.notification-history-list{display:grid;gap:7px;padding-top:9px}.notification-history-row{padding:10px 10px 10px 12px;border:1px solid var(--line);border-left-width:4px;border-radius:10px}.notification-history-row.notification-kind-stop{border-left-color:#a56912;background:#fffaf1}.notification-history-row.notification-kind-offline{border-left-color:#bf4b46;background:#fff7f6}.notification-history-row.notification-kind-missing-serial{border-left-color:#526d76;background:#f4f8f8}.notification-history-title{display:flex!important;align-items:center;flex-wrap:wrap;gap:6px}.notification-kind-label{display:inline-flex;align-items:center;min-height:22px;padding:3px 7px;border-radius:6px;font-size:10px;font-weight:800;line-height:1;white-space:nowrap}.notification-kind-stop .notification-kind-label{background:#f3e5c8;color:#81510d}.notification-kind-offline .notification-kind-label{background:#f7dcda;color:#a43733}.notification-kind-missing-serial .notification-kind-label{background:#dfe9eb;color:#385761}
@media(max-width:510px){.notification-history-row{display:grid;gap:9px;padding:10px}.notification-history-row .notification-row-actions{justify-content:flex-start}.notification-history-title{align-items:flex-start}.notification-history-title>span:last-child{min-width:0;overflow-wrap:anywhere}}
.trip-stop.current:not(.allowed),.trip-map-state.stop-problem,.trip-map-legend .stop-problem,.trip-map-list-symbol.stop-problem,.trip-map-list-item em.stop-problem,.trip-map-popup em.stop-problem{color:var(--red)}.trip-map-state.stop-problem::before{background:var(--red)}.trip-map-marker.stop-problem .trip-map-object-symbol{color:var(--red)}.notification-history-row.notification-kind-stop{border-left-color:var(--red);background:#fff5f3}.notification-kind-stop .notification-kind-label{background:#f7dcda;color:#983833}.notification-history-row.notification-kind-offline{border-left-color:#7b4052;background:#fbf5f7}.notification-kind-offline .notification-kind-label{background:#ecdfe4;color:#633343}
.trip-map-workspace{grid-template-columns:minmax(320px,390px) minmax(0,1fr);transition:grid-template-columns .2s ease}.trip-map-workspace.is-sidebar-hidden{grid-template-columns:0 minmax(0,1fr)}.trip-map-workspace.is-sidebar-hidden .trip-map-sidebar{visibility:hidden;opacity:0;pointer-events:none;transform:translateX(-100%)}.trip-map-sidebar{transition:opacity .18s ease,transform .2s ease,visibility .2s}.trip-map-sidebar-hide{width:34px;min-width:34px;padding:0;font-size:22px;line-height:1}.trip-map-sidebar-restore{position:absolute;z-index:650;top:18px;left:18px;visibility:hidden;opacity:0;pointer-events:none;box-shadow:0 6px 18px rgba(16,44,42,.18);transition:opacity .16s ease}.trip-map-workspace.is-sidebar-hidden .trip-map-sidebar-restore{visibility:visible;opacity:1;pointer-events:auto}.trip-map-legend .completed,.trip-map-list-symbol.completed,.trip-map-list-item em.completed,.trip-map-popup em.completed{color:#526d76}.trip-map-marker.completed{border:0;border-radius:0;background:transparent!important;box-shadow:none}.trip-map-marker.completed .trip-map-object-symbol{width:24px;height:24px;color:#526d76;filter:drop-shadow(0 2px 2px rgba(16,44,42,.28))}.completed-trip-row{align-items:center}.completed-trip-row>div:first-child{flex:1}.completed-trip-actions{display:flex;flex:none;gap:7px}.completed-trip-actions .notification-icon-action{width:36px;min-width:36px;height:36px;min-height:36px;padding:0;border-radius:50%}.completed-trip-mode{margin-top:14px}.completed-trip-mode+.origin-field-search{margin-top:10px}
@media(max-width:699px){.trip-map-workspace,.trip-map-workspace.is-sidebar-hidden{display:block}.trip-map-workspace.is-sidebar-hidden .trip-map-sidebar{visibility:visible;opacity:1;pointer-events:auto;transform:none}.trip-map-sidebar-hide,.trip-map-sidebar-restore{display:none!important}}
@media(max-width:510px){.completed-trip-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.completed-trip-row b{overflow-wrap:anywhere}.completed-trip-actions{align-self:center}.completed-trip-actions .notification-icon-action{width:34px;min-width:34px;height:34px;min-height:34px}}
.trip-track-flag-wrap{border:0!important;background:transparent!important}.trip-track-flag{position:relative;display:block;width:30px;height:34px;filter:drop-shadow(0 2px 2px rgba(16,44,42,.28))}.trip-track-flag::before{position:absolute;top:1px;bottom:3px;left:4px;width:3px;border-radius:2px;background:#173f39;content:""}.trip-track-flag::after{position:absolute;bottom:1px;left:0;width:11px;height:4px;border-radius:50%;background:#173f39;content:""}.trip-track-flag>span{position:absolute;top:2px;left:6px;width:22px;height:15px;clip-path:polygon(0 0,100% 0,78% 50%,100% 100%,0 100%);background:#14775f}.trip-track-flag.end>span{background:#b44841}.trip-track-flag.start>span{background:#14775f}
.trip-map-locator{position:absolute;z-index:680;top:18px;left:18px;display:grid;width:min(330px,calc(100% - 90px));grid-template-columns:minmax(0,1fr) 42px;border:1px solid rgba(22,112,91,.22);border-radius:12px;background:rgba(251,252,250,.97);box-shadow:0 8px 24px rgba(16,44,42,.18);backdrop-filter:blur(8px);transition:left .2s ease}.trip-map-locator[hidden]{display:none}.trip-map-locator input{width:100%;min-width:0;min-height:42px;padding:9px 11px;border:0;border-radius:12px 0 0 12px;background:transparent;font-size:12px;outline:0}.trip-map-locator:focus-within{border-color:#6ba996;box-shadow:0 9px 26px rgba(16,44,42,.22)}.trip-map-locator>button{display:grid;place-items:center;min-height:42px;padding:0;border:0;border-left:1px solid var(--line);border-radius:0 11px 11px 0;background:transparent;color:var(--teal)}.trip-map-locator>button:hover{background:#e8f1eb}.trip-map-locator>button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.trip-map-locator-results{position:absolute;top:calc(100% + 6px);right:0;left:0;overflow:hidden;border:1px solid var(--line);border-radius:11px;background:var(--paper);box-shadow:0 12px 28px rgba(16,44,42,.2)}.trip-map-locator-results[hidden]{display:none}.trip-map-locator-results button{display:grid;width:100%;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:9px 11px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);text-align:left}.trip-map-locator-results button:last-child{border-bottom:0}.trip-map-locator-results button:hover,.trip-map-locator-results button:focus-visible{background:#e8f1eb}.trip-map-locator-results b,.trip-map-locator-results small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trip-map-locator-results b{font-size:12px}.trip-map-locator-results small{grid-column:1;color:var(--muted);font-size:10px}.trip-map-locator-results em{grid-row:1/3;grid-column:2;align-self:center;color:#527068;font-size:9px;font-style:normal;font-weight:800;text-transform:uppercase}.trip-map-locator-results p{margin:0;padding:12px;color:var(--muted);font-size:11px}.trip-map-workspace.is-sidebar-hidden .trip-map-locator{left:156px}
.trip-route-trigger{position:absolute;z-index:680;top:140px;right:12px;min-height:36px;padding:0 13px;border:1px solid rgba(22,112,91,.25);border-radius:10px;background:rgba(251,252,250,.96);box-shadow:0 6px 18px rgba(16,44,42,.16);color:var(--teal);font-size:11px;font-weight:800}.trip-route-trigger:hover,.trip-route-trigger[aria-expanded=true]{background:var(--teal);color:#fff}.trip-route-planner{position:absolute;z-index:690;top:184px;right:12px;width:min(350px,calc(100% - 24px));max-height:calc(100% - 198px);overflow:auto;padding:14px;border:1px solid rgba(22,112,91,.24);border-radius:15px;background:rgba(251,252,250,.98);box-shadow:0 12px 34px rgba(16,44,42,.23);backdrop-filter:blur(10px)}.trip-route-planner[hidden]{display:none}.trip-route-planner header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.trip-route-planner header>div{display:grid;gap:2px}.trip-route-planner header b{font-size:14px}.trip-route-planner header small{color:var(--muted);font-size:9px}.trip-route-planner header>button{display:grid;flex:0 0 auto;place-items:center;width:28px;height:28px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--ink);font-size:18px}.trip-route-planner form{display:grid;gap:9px}.trip-route-planner form>label{display:grid;gap:4px;color:var(--muted);font-size:10px;font-weight:800}.trip-route-planner select,.trip-route-planner input{width:100%;min-width:0;min-height:38px;padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);font:600 11px Manrope,Arial,sans-serif}.trip-route-planner details{padding:8px 9px;border:1px solid var(--line);border-radius:10px}.trip-route-planner summary{color:var(--teal);font-size:10px;font-weight:800;cursor:pointer}.trip-route-restrictions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:9px}.trip-route-restrictions label{display:grid;gap:3px;color:var(--muted);font-size:9px;font-weight:700}.trip-route-restrictions input{min-height:34px;padding:5px 7px}.trip-route-actions{display:flex;gap:7px}.trip-route-actions button{min-height:38px}.trip-route-actions button[type=submit]{flex:1;background:var(--teal)}.trip-route-status{margin:0;color:var(--muted);font-size:10px;line-height:1.4}.trip-route-status.is-loading{color:#256aa5}.trip-route-status.is-ready{color:var(--teal);font-weight:800}.trip-route-status.is-error{color:var(--red);font-weight:700}.trip-route-scale-marker{border:0;background:transparent}.trip-route-scale-marker img{display:block;width:26px;height:32px;filter:drop-shadow(0 2px 3px rgba(16,44,42,.32))}
.trip-route-library-control{margin-top:10px!important;border:0!important;border-radius:10px!important;box-shadow:0 5px 16px rgba(16,44,42,.18)!important}.trip-route-library-toggle{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 11px;border:1px solid var(--line);border-radius:10px;background:rgba(251,252,250,.96);color:var(--muted);font:800 10px Manrope,Arial,sans-serif;backdrop-filter:blur(8px)}.trip-route-library-toggle:hover{border-color:#7fae9e;color:var(--teal)}.trip-route-library-toggle:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.trip-route-library-toggle>span{position:relative;display:block;width:24px;height:9px;border-radius:99px;background:#89918e;box-shadow:0 1px 3px rgba(16,44,42,.18)}.trip-route-library-toggle>span::after{position:absolute;inset:2px;border-radius:99px;background:#d9c27a;content:""}.trip-route-library-toggle b{font:inherit}.trip-route-library-toggle small{display:grid;min-width:19px;height:19px;place-items:center;border-radius:99px;background:#e6ece8;color:#52645e;font-size:9px}.trip-route-library-toggle.is-active{border-color:#376f60;background:#173f39;color:#fff}.trip-route-library-toggle.is-active>span{background:#091d19}.trip-route-library-toggle.is-active>span::after{background:#fff0b8}.trip-route-library-toggle.is-active small{background:rgba(255,255,255,.16);color:#fff}.leaflet-tooltip.route-library-tooltip{padding:6px 9px;border:1px solid rgba(38,50,47,.25);border-radius:8px;background:rgba(251,252,250,.97);box-shadow:0 5px 15px rgba(16,44,42,.16);color:#26322f;font:800 10px/1.2 Manrope,Arial,sans-serif}.leaflet-tooltip.route-library-tooltip::before{border-top-color:rgba(251,252,250,.97)}.route-library-leaflet-popup .leaflet-popup-content-wrapper{overflow:hidden;border:1px solid rgba(38,50,47,.16);border-radius:14px;background:#fbfcfa;box-shadow:0 12px 30px rgba(16,44,42,.2)}.route-library-leaflet-popup .leaflet-popup-content{margin:0}.route-library-popup{display:grid;min-width:260px;grid-template-columns:34px minmax(0,1fr);gap:11px;padding:15px}.route-library-popup-mark{position:relative;display:block;width:28px;height:64px;border-radius:10px;background:#26322f;box-shadow:0 3px 8px rgba(16,44,42,.2)}.route-library-popup-mark::before{position:absolute;top:0;bottom:0;left:50%;width:10px;background:#d9c27a;content:"";transform:translateX(-50%)}.route-library-popup-mark::after{position:absolute;top:7px;bottom:7px;left:50%;border-left:2px dashed rgba(255,255,255,.92);content:"";transform:translateX(-50%)}.route-library-popup p,.route-library-popup h3{margin:0}.route-library-popup p{color:#77632d;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.route-library-popup h3{margin-top:3px;color:var(--ink);font-size:14px}.route-library-popup>div>span,.route-library-popup>div>small{display:block;color:var(--muted);font-size:10px}.route-library-popup dl{display:grid;gap:5px;margin:10px 0}.route-library-popup dl>div{display:grid;grid-template-columns:1fr auto;gap:10px;padding:0}.route-library-popup dt,.route-library-popup dd{margin:0;font-size:10px}.route-library-popup dt{color:var(--muted)}.route-library-popup dd{color:var(--ink);font-weight:800;text-align:right}
@media(max-width:699px){.trip-route-library-toggle{width:38px;min-width:38px;padding:0;justify-content:center}.trip-route-library-toggle>b,.trip-route-library-toggle>small{display:none}.trip-route-library-toggle>span{width:22px;height:9px}.route-library-popup{min-width:220px;padding:12px}.route-library-popup-mark{height:56px}}
.trip-route-library-control{width:126px;padding:9px;border:1px solid rgba(82,105,108,.2)!important;background:rgba(251,252,250,.96);backdrop-filter:blur(8px)}.trip-route-library-title{display:flex;align-items:center;gap:7px;color:#425b5d;font:800 10px Manrope,Arial,sans-serif}.trip-route-library-title>span{position:relative;display:block;width:23px;height:6px;border-radius:99px;background:#244b45}.trip-route-library-title>span::after{position:absolute;inset:2px 1px;border-radius:99px;background:#f0c85a;content:""}.trip-route-library-title>b{font:inherit}.trip-route-library-title>label{position:relative;width:30px;height:18px;margin-left:auto;cursor:pointer}.trip-route-library-title input{position:absolute;width:1px;height:1px;opacity:0}.trip-route-library-title i{position:absolute;inset:0;border-radius:99px;background:#b7c4c0;transition:background .15s ease}.trip-route-library-title i::after{position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(16,44,42,.25);content:"";transition:transform .15s ease}.trip-route-library-title input:checked+i{background:#347a68}.trip-route-library-title input:checked+i::after{transform:translateX(12px)}.trip-route-library-title input:focus-visible+i{outline:2px solid var(--teal);outline-offset:2px}.trip-route-library-control:not(.is-active) .trip-route-library-title>span{opacity:.45}.trip-route-library-control.is-loading{opacity:.65;pointer-events:none}
@media(max-width:699px){.trip-route-library-control{width:120px;padding:8px}.trip-route-library-title{gap:5px}.trip-route-trigger{top:136px}.trip-route-planner{top:178px;max-height:calc(100% - 194px)}}
@media(max-width:699px){.trip-map-locator{top:10px;left:10px;width:min(280px,calc(100% - 64px))}.trip-map-workspace.is-sidebar-hidden .trip-map-locator{left:10px}.trip-map-locator input,.trip-map-locator>button{min-height:40px}.trip-map-locator-results button{padding:8px 10px}}
@media(max-width:699px){.trip-route-trigger{top:58px;right:10px;min-height:34px;padding:0 11px}.trip-route-planner{z-index:720;top:100px;right:8px;left:8px;width:auto;max-height:calc(100% - 116px);padding:12px}.trip-route-restrictions{grid-template-columns:repeat(2,minmax(0,1fr))}}
.system-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.system-status-grid section{padding:16px;border:1px solid var(--line);border-radius:12px;background:#f8fbf8}.system-status-grid h3{margin:0 0 10px;font-size:14px}.system-status-grid dl{margin:0}.system-status-grid dl div{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1.2fr);gap:10px;padding:8px 0;border-top:1px solid var(--line)}.system-status-grid dl div:first-child{border-top:0}.system-status-grid dt{color:var(--muted);font-size:12px}.system-status-grid dd{margin:0;font-size:12px;font-weight:700}.system-status-grid dd small{display:block;margin-top:3px;color:var(--muted);font-weight:500}@media(max-width:699px){.system-status-grid{grid-template-columns:1fr}.system-status-grid section{padding:13px}.system-status-grid dl div{grid-template-columns:minmax(105px,.8fr) minmax(0,1.2fr)}}
.trip-map-state.stop-pending,.trip-map-legend .stop-pending,.trip-map-list-symbol.stop-pending,.trip-map-list-item em.stop-pending,.trip-map-popup em.stop-pending{color:#667a76}.trip-map-state.stop-pending::before{background:#667a76}.trip-map-marker.stop-pending .trip-map-object-symbol{color:#667a76}
