:root{--bg:#f5f7fb;--panel:#fff;--text:#13243a;--muted:#738198;--line:#e4e9f1;--nav:#0d1b2b;--nav2:#10243a;--blue:#1677ff;--green:#34b66b;--amber:#f6a51b;--red:#e55353;--violet:#7568f2;--shadow:0 12px 34px rgba(27,49,78,.08);--radius:18px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}a{text-decoration:none;color:inherit}button,input,select{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,var(--nav),#08131f);padding:22px 16px;color:#d8e3ef;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:8px 10px 26px}.brand-mark,.auth-logo,.installer-logo{font-weight:900;letter-spacing:-2px;font-size:30px;color:#fff}.brand-mark:after,.auth-logo:after,.installer-logo:after{content:"";display:inline-block;width:12px;height:12px;border-top:4px solid #2f8cff;border-right:4px solid #2f8cff;transform:skew(-18deg);margin-left:2px}.brand strong{display:block;color:#fff}.brand span{display:block;font-size:12px;color:#7f93a8;margin-top:2px}.sidebar nav{display:grid;gap:6px}.nav-item{display:flex;gap:12px;align-items:center;padding:12px 13px;border-radius:11px;font-size:14px;color:#b9c7d6}.nav-item:hover{background:rgba(255,255,255,.05);color:#fff}.nav-item.active{background:linear-gradient(135deg,#1677ff,#0d63e8);color:#fff;box-shadow:0 8px 20px rgba(20,111,255,.28)}.nav-item span{width:22px;text-align:center}.sidebar-bottom{margin-top:auto}.platform-badge{border:1px solid #25405b;background:#0a1a2a;border-radius:14px;padding:13px;display:flex;align-items:center;gap:10px;margin-bottom:10px}.platform-badge small,.platform-badge strong{display:block}.platform-badge small{color:#8195a9}.platform-badge strong{font-size:13px;color:#fff;margin-top:2px}.ok-dot{width:10px;height:10px;border-radius:50%;background:#39c777;box-shadow:0 0 0 6px rgba(57,199,119,.1)}.main{min-width:0}.topbar{min-height:96px;padding:20px 30px;background:rgba(255,255,255,.82);backdrop-filter:blur(15px);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:5}.topbar h1{margin:3px 0 0;font-size:29px;letter-spacing:-.7px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:1.25px;color:#8290a4}.admin-chip{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:9px 12px}.admin-chip small,.admin-chip strong{display:block}.admin-chip small{font-size:11px;color:var(--muted)}.admin-chip strong{font-size:13px}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#eaf2ff;color:var(--blue);font-weight:800}.content{padding:28px}.alert{padding:13px 16px;border-radius:12px;margin-bottom:18px;font-size:14px}.alert.success{background:#eaf9f0;border:1px solid #c7efd7;color:#177745}.alert.error{background:#fff0f0;border:1px solid #ffd0d0;color:#a23333}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.kpi,.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.kpi{padding:18px;display:flex;align-items:center;gap:14px}.kpi .icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;font-size:20px}.icon.blue{background:#e9f2ff;color:#1677ff}.icon.green{background:#e9f9ef;color:#27a85d}.icon.violet{background:#f0efff;color:var(--violet)}.icon.amber{background:#fff5df;color:#de8d00}.kpi small,.kpi strong,.kpi em{display:block}.kpi small{font-size:12px;color:var(--muted)}.kpi strong{font-size:28px;line-height:1.05;margin-top:3px}.kpi em{font-size:11px;color:#97a2b0;font-style:normal;margin-top:5px}.status-good{font-size:20px!important;color:#299f5b}.grid-2{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);gap:18px}.card{padding:20px}.card-head{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:14px}.card h2{margin:4px 0 0;font-size:20px}.hero-card{background:linear-gradient(145deg,#0f2440,#123660);color:#fff;border-color:#17395f;position:relative;overflow:hidden}.hero-card:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;right:-70px;bottom:-90px;background:radial-gradient(circle,rgba(44,136,255,.42),transparent 65%)}.hero-card .eyebrow{color:#8bb7e9}.hero-card p{color:#c1d1e3;line-height:1.55}.hero-status{display:flex;gap:12px;align-items:center;margin-top:24px}.hero-status strong,.hero-status small{display:block}.hero-status small{color:#8ea9c4}.pulse{display:inline-block;width:12px;height:12px;border-radius:50%;background:#36cc78;box-shadow:0 0 0 7px rgba(54,204,120,.14)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{color:#8490a2;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.5px;padding:10px 12px;border-bottom:1px solid var(--line)}td{padding:13px 12px;border-bottom:1px solid #edf0f5;vertical-align:middle}td small{display:block;color:#98a3b1;margin-top:3px}.badge{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.4px}.badge.active,.badge.trial{background:#e8f8ef;color:#258653}.badge.blocked,.badge.expired{background:#fff0f0;color:#bd4848}.badge.unassigned{background:#eef1f5;color:#6e7a8b}.badge.offline{background:#f2f3f5;color:#747f8c}.count-pill{padding:7px 10px;border-radius:999px;background:#eef4ff;color:#286fd5;font-size:12px;font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;color:#293a50;border-radius:10px;padding:9px 13px;font-weight:700;font-size:12px;cursor:pointer}.btn:hover{transform:translateY(-1px)}.btn.primary{background:linear-gradient(135deg,#1677ff,#0e65e6);border-color:#1677ff;color:#fff;box-shadow:0 8px 18px rgba(22,119,255,.2)}.btn.ghost{background:#f7f9fc}.btn.tiny{padding:6px 9px;font-size:11px}.btn.wide{width:100%;padding:12px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.empty{padding:26px;text-align:center;color:#8490a2}.org-layout{align-items:start}.sticky-card{position:sticky;top:125px}.form-grid{display:grid;gap:13px;margin-top:16px}.form-grid label{display:grid;gap:7px;font-size:12px;font-weight:700;color:#536176}.form-grid input,.form-grid select{width:100%;border:1px solid #d9e0ea;background:#fff;border-radius:10px;padding:11px 12px;outline:none;color:#17263b}.form-grid input:focus,.form-grid select:focus{border-color:#6ba7f8;box-shadow:0 0 0 4px rgba(22,119,255,.08)}.form-split{display:grid;grid-template-columns:1fr 120px;gap:10px}.hint,.muted{color:var(--muted);font-size:12px;line-height:1.5}.form-grid hr{width:100%;border:0;border-top:1px solid var(--line);margin:2px 0}.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.plan-card{text-align:center}.plan-card h2{font-size:25px}.plan-limit{font-size:56px;font-weight:900;letter-spacing:-3px;margin-top:15px}.plan-card p{color:var(--muted)}.plan-price{font-size:22px;font-weight:800;margin:18px 0}.plan-price small{font-size:12px;color:var(--muted)}.note{margin-top:18px;padding:15px 17px;border:1px dashed #cfd7e3;border-radius:14px;color:#68778a;background:#fbfcfe;font-size:13px}.system-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.system-item small,.system-item strong{display:block}.system-item small{color:var(--muted);font-size:12px}.system-item strong{font-size:18px;margin-top:6px}.update-card{max-width:760px}.version-line{display:flex;gap:13px;align-items:center;margin-top:24px;background:#f6faf8;border:1px solid #dcefe3;padding:14px;border-radius:14px}.version-line strong,.version-line small{display:block}.version-line small{color:var(--muted);margin-top:3px}.auth-body,.installer-body{min-height:100vh;background:radial-gradient(circle at 20% 10%,#143258 0,#0a1727 32%,#07111d 80%);display:grid;place-items:center;padding:24px}.auth-wrap{width:min(440px,100%)}.auth-card{background:rgba(255,255,255,.97);padding:32px;border-radius:24px;box-shadow:0 30px 80px rgba(0,0,0,.28)}.auth-card h1{font-size:32px;margin:5px 0}.auth-logo,.installer-logo{color:#10243a}.auth-card form{display:grid;gap:15px;margin-top:22px}.auth-card label{font-size:12px;font-weight:700;color:#4f6076;display:grid;gap:7px}.auth-card input{padding:12px 13px;border:1px solid #dbe2eb;border-radius:11px}.auth-foot{margin-top:22px;padding-top:16px;border-top:1px solid var(--line);font-size:11px;color:#8b97a7;text-align:center}.auth-foot span{margin:0 6px}.installer-shell{width:min(1180px,100%)}.installer-head{display:flex;align-items:center;gap:16px;color:#fff;margin-bottom:18px}.installer-head .installer-logo{background:#fff;border-radius:16px;padding:12px 16px}.installer-head h1{margin:2px 0;font-size:30px}.installer-head p{margin:0;color:#9eb4cb}.installer-head .eyebrow{color:#76a9df}.installer-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px}.check-list{display:grid;gap:9px;margin-top:18px}.check-row{display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:center;padding:10px;border-radius:11px;background:#f8fafc;border:1px solid #edf0f4;font-size:13px}.check-row strong{font-size:10px}.check-icon{width:26px;height:26px;border-radius:9px;display:grid;place-items:center;font-weight:900}.check-icon.ok{background:#e7f8ee;color:#2a9c59}.check-icon.bad{background:#fff0f0;color:#c24b4b}.platform-note{margin-top:20px;padding:15px;border-radius:13px;background:#0f2440;color:#fff}.platform-note strong,.platform-note span{display:block}.platform-note span{font-size:12px;color:#aac0d8;margin-top:4px}.installer-shell footer{text-align:center;color:#8195ac;font-size:12px;padding:18px}body.installer-body .card{box-shadow:0 25px 70px rgba(0,0,0,.18)}
@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.grid-2,.installer-grid{grid-template-columns:1fr}.sticky-card{position:static}.plan-grid,.system-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.sidebar nav{grid-template-columns:1fr 1fr}.sidebar-bottom{margin-top:18px}.topbar{position:relative;padding:18px;align-items:flex-start}.content{padding:16px}.kpi-grid,.plan-grid,.system-grid{grid-template-columns:1fr}.admin-chip{display:none}.form-split{grid-template-columns:1fr}.installer-head{align-items:flex-start}.sidebar{display:none}}
.auth-wrap-wide{width:min(620px,100%)}.register-grid{display:grid!important;grid-template-columns:1fr 1fr;gap:15px!important}.register-grid .span-2{grid-column:1/-1}.auth-switch{margin-top:18px;text-align:center;color:var(--muted);font-size:13px}.auth-switch a{color:var(--blue);font-weight:800}.disabled-nav{opacity:.48;cursor:default;position:relative}.disabled-nav small{margin-left:auto;font-size:8px;letter-spacing:.6px;color:#71859b}.detail-list{display:grid;margin-top:15px}.detail-list>div{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--line);align-items:center}.detail-list>div:last-child{border-bottom:0}.detail-list span{color:var(--muted);font-size:12px}.detail-list strong{font-size:13px}.registration-banner{margin-bottom:18px;display:flex;justify-content:space-between;gap:24px;align-items:center}.registration-banner p{margin:7px 0 0;color:var(--muted);font-size:13px}.registration-settings{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.registration-settings label{display:grid;gap:5px;font-size:11px;font-weight:700;color:#536176}.registration-settings input[type=number],.registration-settings select{border:1px solid #d9e0ea;border-radius:9px;padding:8px 9px;background:#fff;min-width:90px}.switch-line{display:flex!important;align-items:center;gap:7px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:#f9fbfd}.switch-line input{accent-color:var(--blue)}.updater-layout{align-items:start}.update-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.update-checks>div{display:grid;grid-template-columns:30px 1fr auto;gap:9px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:12px;background:#f9fbfd;font-size:12px}.update-checks strong{font-size:10px}.update-upload{display:grid;gap:12px}.upload-box{display:grid;place-items:center;text-align:center;border:2px dashed #cfd9e8;background:#f8fbff;border-radius:16px;padding:25px;cursor:pointer}.upload-box:hover{border-color:#76aef8;background:#f4f9ff}.upload-box input{margin-top:15px;max-width:100%}.upload-box strong,.upload-box small{display:block}.upload-box small{color:var(--muted);margin-top:6px;line-height:1.45}.upload-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#eaf2ff;color:var(--blue);font-size:24px;font-weight:900;margin-bottom:10px}.protected-list{display:grid;margin-top:14px}.protected-list>div{padding:13px 0;border-bottom:1px solid var(--line)}.protected-list strong,.protected-list span{display:block}.protected-list strong{font-size:13px}.protected-list span{font-size:11px;color:var(--muted);margin-top:3px}.update-history{margin-top:18px}@media(max-width:760px){.register-grid{grid-template-columns:1fr}.register-grid .span-2{grid-column:auto}.registration-banner{display:block}.registration-settings{margin-top:16px;display:grid;grid-template-columns:1fr}.update-checks{grid-template-columns:1fr}}
/* V0.3.0 DEV — flota i urządzenia GPS */
.form-grid textarea{width:100%;border:1px solid #d9e0ea;background:#fff;border-radius:10px;padding:11px 12px;outline:none;color:#17263b;font:inherit;resize:vertical}.form-grid textarea:focus{border-color:#6ba7f8;box-shadow:0 0 0 4px rgba(22,119,255,.08)}.form-split.equal{grid-template-columns:1fr 1fr}.btn.danger{background:#fff4f4;border-color:#ffd7d7;color:#b84646}.btn.danger:hover{background:#ffecec}.badge.inactive{background:#f0f2f5;color:#75808e}.badge.service{background:#fff5df;color:#ae7100}.badge.active{background:#e8f8ef;color:#258653}.badge.blocked{background:#fff0f0;color:#bd4848}.fleet-summary{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(180px,.45fr) minmax(180px,.45fr);gap:16px;margin-bottom:18px}.fleet-summary-main{display:flex;align-items:center;justify-content:space-between;gap:24px}.fleet-summary-main h2,.device-hero h2{margin:4px 0 6px;font-size:24px}.fleet-summary-main p,.device-hero p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.fleet-limit{text-align:right;min-width:120px}.fleet-limit strong{font-size:42px;line-height:1;letter-spacing:-2px}.fleet-limit span{font-size:18px;color:#8a97a8;font-weight:800}.fleet-limit small{display:block;margin-top:6px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.6px}.mini-stat{display:flex;align-items:center;gap:12px}.mini-stat .icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center}.mini-stat small,.mini-stat strong{display:block}.mini-stat small{font-size:11px;color:var(--muted)}.mini-stat strong{font-size:26px;margin-top:2px}.vehicle-layout{grid-template-columns:minmax(0,1.55fr) minmax(350px,.65fr)}.vehicle-cards{display:grid;gap:10px}.vehicle-card{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:13px;align-items:start;padding:14px;border:1px solid #e8edf3;border-radius:15px;background:#fbfcfe;transition:.15s ease}.vehicle-card:hover{border-color:#cedcf0;background:#fff;box-shadow:0 10px 24px rgba(31,58,89,.06)}.vehicle-icon{width:44px;height:44px;border-radius:13px;background:#eaf2ff;color:var(--blue);display:grid;place-items:center;font-size:18px}.vehicle-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.vehicle-title strong{font-size:14px}.vehicle-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:5px}.vehicle-meta span{font-size:11px;color:#7d8999}.vehicle-meta span+span:before{content:'•';margin-right:8px;color:#c4cbd5}.gps-link{display:flex;align-items:center;gap:8px;margin-top:11px;padding-top:10px;border-top:1px solid #e9edf2}.gps-link strong,.gps-link small{font-size:11px}.gps-link small{color:var(--muted)}.gps-link.online strong{color:#267d4d}.gps-muted{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#edf1f5;color:#8e99a7;font-size:10px}.pulse-sm{width:8px;height:8px;border-radius:50%;background:#37bf70;box-shadow:0 0 0 4px rgba(55,191,112,.11);flex:0 0 auto}.vehicle-actions{display:flex;gap:6px;align-items:center}.vehicle-actions form{margin:0}.limit-warning{padding:12px 13px;border:1px solid #ffe1a7;background:#fff9ec;border-radius:12px;color:#8e630d}.limit-warning strong,.limit-warning span{display:block}.limit-warning strong{font-size:12px}.limit-warning span{font-size:11px;margin-top:3px}.empty-state{text-align:center;padding:42px 22px}.empty-state.big{margin-top:18px}.empty-state h3{margin:12px 0 5px}.empty-state p{margin:0 auto;max-width:480px;color:var(--muted);font-size:13px;line-height:1.55}.empty-icon{width:58px;height:58px;margin:auto;border-radius:18px;background:#eaf2ff;color:var(--blue);display:grid;place-items:center;font-size:25px}.device-hero{display:flex;justify-content:space-between;align-items:center;gap:20px}.device-count{text-align:right}.device-count strong,.device-count span{display:block}.device-count strong{font-size:40px}.device-count span{font-size:11px;color:var(--muted)}.device-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}.device-card{padding:17px}.device-card-head{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center}.device-round{width:42px;height:42px;border-radius:14px;background:#eaf2ff;color:var(--blue);display:grid;place-items:center;font-size:20px}.device-card-head strong,.device-card-head small{display:block}.device-card-head strong{font-size:13px}.device-card-head small{font-size:10px;color:var(--muted);margin-top:3px}.device-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.device-facts>div{padding:10px;border-radius:11px;background:#f7f9fc}.device-facts span,.device-facts strong{display:block}.device-facts span{font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}.device-facts strong{font-size:11px;margin-top:4px}.assignment-current{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #dcefe3;background:#f2fbf6;border-radius:12px;margin-bottom:10px}.assignment-current small,.assignment-current strong,.assignment-current span{display:block}.assignment-current small{font-size:8px;letter-spacing:.6px;color:#71a184}.assignment-current strong{font-size:12px;color:#25764a;margin-top:2px}.assignment-current span{font-size:10px;color:#789085}.assignment-empty{padding:11px;border:1px dashed #d5dde8;border-radius:11px;text-align:center;color:#8d98a7;font-size:11px;margin-bottom:10px}.assign-form{display:grid;gap:9px;margin-top:11px}.assign-form label{display:grid;gap:6px;font-size:10px;font-weight:800;color:#637187}.assign-form select{width:100%;padding:10px;border:1px solid #d9e0ea;border-radius:10px;background:#fff}.device-admin-layout{grid-template-columns:minmax(0,1.55fr) minmax(340px,.65fr)}
@media(max-width:1200px){.fleet-summary{grid-template-columns:1fr 1fr}.fleet-summary-main{grid-column:1/-1}.device-grid{grid-template-columns:1fr 1fr}.vehicle-layout,.device-admin-layout{grid-template-columns:1fr}.sticky-card{position:static}}
@media(max-width:760px){.fleet-summary,.device-grid{grid-template-columns:1fr}.fleet-summary-main,.device-hero{display:block}.fleet-limit,.device-count{text-align:left;margin-top:16px}.vehicle-card{grid-template-columns:42px 1fr}.vehicle-actions{grid-column:1/-1;justify-content:flex-end}.form-split.equal{grid-template-columns:1fr}.device-card-head{grid-template-columns:42px 1fr}.device-card-head>.badge{grid-column:2}.device-facts{grid-template-columns:1fr}}

/* V0.4.0 DEV — Mapa LIVE + telemetria */
.live-map-page .topbar{min-height:72px;padding:12px 22px}.live-map-page .topbar h1{font-size:25px}.live-map-page .content{padding:14px}.fleet-live{position:relative}.live-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:10px}.live-kpi{height:66px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 8px 24px rgba(27,49,78,.06);display:grid;grid-template-columns:42px 1fr 70px;gap:10px;align-items:center;padding:9px 13px;overflow:hidden}.live-kpi-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-weight:900}.live-kpi small,.live-kpi strong{display:block}.live-kpi small{font-size:10px;color:var(--muted)}.live-kpi strong{font-size:22px;margin-top:1px}.live-kpi i{height:22px;border-bottom:2px solid currentColor;opacity:.7;clip-path:polygon(0 70%,12% 55%,24% 65%,37% 22%,50% 58%,64% 36%,76% 46%,90% 12%,100% 34%,100% 100%,0 100%)}.live-kpi.blue{color:#1677ff}.live-kpi.green{color:#31a85f}.live-kpi.amber{color:#ee9c0e}.live-kpi.gray{color:#8793a2}.live-kpi.blue .live-kpi-icon{background:#eaf2ff}.live-kpi.green .live-kpi-icon{background:#e9f8ee}.live-kpi.amber .live-kpi-icon{background:#fff4dc}.live-kpi.gray .live-kpi-icon{background:#f0f2f5}.live-map-stage{height:calc(100vh - 190px);min-height:560px;position:relative;border:1px solid #dfe6ef;border-radius:18px;overflow:hidden;background:#e8edf2;box-shadow:0 12px 32px rgba(27,49,78,.09)}.fleet-map-canvas{position:absolute;inset:0;z-index:1;background:#e9eef3}.leaflet-control-attribution{font-size:9px!important}.leaflet-control-zoom{border:0!important;box-shadow:0 6px 18px rgba(25,47,75,.16)!important}.leaflet-control-zoom a{border:0!important;margin-bottom:4px!important;border-radius:9px!important;color:#29405e!important}.live-vehicle-panel{position:absolute;z-index:510;left:14px;top:14px;width:310px;max-height:calc(100% - 245px);background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border:1px solid rgba(213,223,236,.95);border-radius:15px;box-shadow:0 14px 36px rgba(22,45,72,.16);overflow:hidden;transition:.18s ease}.live-vehicle-panel.collapsed{transform:translateX(-340px);opacity:0;pointer-events:none}.vehicle-panel-restore{position:absolute;left:14px;top:14px;z-index:509;border:1px solid #dce5ef;background:#fff;color:#23405f;padding:9px 12px;border-radius:11px;font-weight:800;box-shadow:0 8px 20px rgba(25,48,76,.12);display:none}.vehicle-panel-restore.visible{display:block}.live-panel-tabs{display:flex;gap:5px;padding:11px;border-bottom:1px solid #edf1f5}.live-filter{border:1px solid transparent;background:#f4f7fa;color:#617187;border-radius:9px;padding:7px 8px;font-size:10px;font-weight:800;cursor:pointer}.live-filter b{margin-left:4px}.live-filter.active{background:#1677ff;color:#fff}.live-search-row{display:grid;grid-template-columns:22px 1fr 30px;align-items:center;padding:9px 10px;border-bottom:1px solid #edf1f5}.live-search-row span{color:#8d9aaa;text-align:center}.live-search-row input{border:0;outline:0;background:transparent;min-width:0;font-size:11px;color:#24374e}.live-search-row button{border:0;background:#f0f4f8;color:#506177;width:28px;height:28px;border-radius:8px;cursor:pointer;font-weight:900}.live-vehicle-list{overflow:auto;max-height:420px}.live-vehicle-row{width:100%;display:grid;grid-template-columns:9px 34px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px 11px;border:0;border-bottom:1px solid #eff2f6;background:#fff;text-align:left;cursor:pointer;color:var(--text)}.live-vehicle-row:hover,.live-vehicle-row.active{background:#edf5ff}.live-vehicle-row .row-dot{width:7px;height:7px;border-radius:50%}.live-vehicle-row .row-icon{width:32px;height:32px;border-radius:10px;background:#edf2f7;display:grid;place-items:center;font-size:13px}.live-vehicle-row .row-main strong,.live-vehicle-row .row-main small,.live-vehicle-row .row-side strong,.live-vehicle-row .row-side small{display:block}.live-vehicle-row .row-main strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-vehicle-row .row-main small{font-size:9px;color:#8b97a7;margin-top:2px}.live-vehicle-row .row-side{text-align:right}.live-vehicle-row .row-side strong{font-size:10px}.live-vehicle-row .row-side small{font-size:8px;color:#97a1af;margin-top:2px}.row-dot.moving,.dot.moving{background:#35b86a}.row-dot.stopped,.dot.stopped{background:#f0a21b}.row-dot.offline,.dot.offline{background:#909ba8}.selected-vehicle-card{position:absolute;z-index:510;right:14px;top:14px;width:285px;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border:1px solid #dce5ef;border-radius:16px;box-shadow:0 14px 38px rgba(25,47,75,.17);padding:14px}.selected-close{position:absolute;right:8px;top:7px;width:28px;height:28px;border:0;background:transparent;color:#8995a4;font-size:20px;cursor:pointer}.selected-head{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:9px;align-items:center;padding-right:20px}.selected-icon{width:38px;height:38px;border-radius:12px;background:#e9f2ff;color:#1677ff;display:grid;place-items:center}.selected-head strong,.selected-head small{display:block}.selected-head strong{font-size:13px}.selected-head small{font-size:10px;color:#7c899a;margin-top:2px}.live-status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:5px 7px;font-size:8px;font-weight:900;letter-spacing:.4px;white-space:nowrap}.live-status.moving{background:#e8f8ef;color:#278654}.live-status.stopped{background:#fff5df;color:#a76a00}.live-status.offline{background:#eff2f5;color:#6f7a88}.selected-facts{display:grid;grid-template-columns:1fr 1fr;margin:13px 0}.selected-facts>div{padding:10px 7px;border-top:1px solid #edf1f5}.selected-facts>div:nth-child(odd){border-right:1px solid #edf1f5}.selected-facts span,.selected-facts strong{display:block}.selected-facts span{font-size:8px;color:#8a97a8}.selected-facts strong{font-size:11px;margin-top:3px}.map-legend{position:absolute;z-index:500;left:50%;transform:translateX(-50%);bottom:13px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border:1px solid #dce5ef;border-radius:999px;box-shadow:0 7px 20px rgba(25,47,75,.12);padding:7px 11px;display:flex;gap:12px;align-items:center;font-size:9px;color:#526177}.map-legend span{display:flex;align-items:center;gap:5px;white-space:nowrap}.map-legend .dot{width:7px;height:7px;border-radius:50%}.route-line{width:19px;height:2px;background:#1677ff;border-radius:3px}.fleet-marker-wrap{background:transparent!important;border:0!important}.fleet-marker{width:32px;height:32px;border-radius:50% 50% 50% 10%;transform:rotate(-45deg);display:grid;place-items:center;border:3px solid #fff;box-shadow:0 5px 15px rgba(20,45,73,.3)}.fleet-marker span{transform:rotate(45deg);font-size:11px;color:#fff;font-weight:900}.fleet-marker.moving{background:#1677ff}.fleet-marker.stopped{background:#f0a21b}.fleet-marker.offline{background:#8995a3}.fleet-marker.selected{width:38px;height:38px;box-shadow:0 0 0 6px rgba(22,119,255,.18),0 7px 18px rgba(20,45,73,.3)}.telemetry-dock{position:absolute;z-index:520;left:14px;right:14px;bottom:14px;min-height:184px;background:rgba(255,255,255,.97);backdrop-filter:blur(16px);border:1px solid #dce5ef;border-radius:17px;box-shadow:0 18px 50px rgba(20,43,70,.2);display:grid;grid-template-columns:155px 1fr;gap:12px;padding:13px 46px 13px 14px;transition:.22s ease}.telemetry-dock.collapsed{min-height:52px;height:52px;overflow:hidden;grid-template-columns:230px 1fr;padding-top:8px;padding-bottom:8px}.telemetry-dock.collapsed .telemetry-widgets,.telemetry-dock.collapsed .telemetry-settings-btn{display:none}.dock-collapse{position:absolute;top:-13px;left:50%;transform:translateX(-50%);width:46px;height:25px;border:1px solid #dce5ef;border-radius:14px;background:#fff;color:#65748a;font-weight:900;cursor:pointer;box-shadow:0 4px 12px rgba(25,47,75,.1)}.telemetry-dock.collapsed .dock-collapse{transform:translateX(-50%) rotate(180deg)}.telemetry-vehicle{border-right:1px solid #edf1f5;padding:7px 12px 7px 5px;display:flex;flex-direction:column;justify-content:center}.telemetry-vehicle strong{font-size:13px;margin:4px 0 2px}.telemetry-vehicle small{font-size:9px;color:#8794a4}.telemetry-vehicle .live-status{align-self:flex-start;margin-top:8px}.telemetry-widgets{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.telemetry-widget{flex:1 0 122px;min-width:122px;max-width:170px;background:#fbfcfe;border:1px solid #e5ebf2;border-radius:13px;padding:9px;position:relative;text-align:center}.telemetry-widget>small{display:block;text-align:left;font-size:9px;font-weight:800;color:#637187}.telemetry-widget[hidden]{display:none!important}.speed-gauge{position:relative;padding-top:8px}.gauge-arc{width:86px;height:43px;margin:0 auto -2px;border-radius:86px 86px 0 0;border:9px solid #dbe3ed;border-bottom:0;position:relative;overflow:hidden}.gauge-arc:before{content:"";position:absolute;inset:-9px -9px 0;background:conic-gradient(from 270deg at 50% 100%,#1677ff 0 38%,transparent 38% 100%)}.gauge-needle{position:absolute;left:50%;bottom:0;width:34px;height:2px;background:#1e314a;transform-origin:left center;transform:rotate(-70deg);transition:transform .6s cubic-bezier(.22,.8,.2,1);z-index:2}.speed-gauge strong{font-size:28px;line-height:1}.speed-gauge em,.fuel-gauge em,.round-indicator em,.rpm-gauge em,.distance-widget em{font-size:8px;color:#8793a2;font-style:normal;display:block}.fuel-gauge{width:90px;height:68px;margin:7px auto 0;border:8px solid #dfe5ec;border-radius:90px 90px 12px 12px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:6px}.fuel-fill{position:absolute;left:0;right:0;bottom:0;height:42%;background:linear-gradient(180deg,#54cf81,#2eaa61);opacity:.18;transition:height .6s ease}.fuel-gauge strong{font-size:23px;position:relative}.round-indicator{width:82px;height:82px;margin:7px auto 0;border-radius:50%;border:8px solid #dfe6ed;display:grid;place-items:center;align-content:center}.round-indicator.battery{border-color:#6bcf8e}.round-indicator.power.on{border-color:#48bd71;box-shadow:inset 0 0 0 5px rgba(72,189,113,.08)}.round-indicator.power.off{border-color:#cfd6de}.round-indicator span{font-size:16px}.round-indicator strong{font-size:16px}.key-switch{width:78px;height:78px;margin:7px auto 0;border-radius:50%;background:radial-gradient(circle,#424b57 0 32%,#101820 33% 53%,#808995 54% 57%,#1c242d 58%);position:relative;box-shadow:inset 0 0 15px #0007}.key-switch span{position:absolute;width:8px;height:29px;border-radius:4px;background:#cbd2da;left:35px;top:13px;transform-origin:4px 26px;transform:rotate(-36deg);transition:transform .5s ease}.key-switch.on span{transform:rotate(36deg)}.key-switch strong{position:absolute;bottom:8px;left:0;right:0;color:#72d695;font-size:9px}.rpm-gauge{padding-top:16px}.rpm-gauge strong{display:block;font-size:23px}.rpm-bar{height:7px;background:#e1e6ed;border-radius:99px;overflow:hidden;margin-top:11px}.rpm-bar i{display:block;height:100%;width:0;background:#44b96d;transition:width .5s ease}.distance-widget{padding-top:11px}.distance-widget span{display:block;font-size:26px;color:#334b67}.distance-widget strong{font-size:22px;display:block;margin-top:5px}.telemetry-settings-btn{position:absolute;right:10px;top:10px;width:30px;height:30px;border:1px solid #e0e6ee;background:#fff;border-radius:9px;cursor:pointer;color:#53647b}.telemetry-settings{position:absolute;right:10px;bottom:calc(100% + 8px);width:330px;background:#fff;border:1px solid #dce5ef;border-radius:14px;box-shadow:0 16px 40px rgba(20,43,70,.18);padding:14px}.telemetry-settings>div:first-child strong,.telemetry-settings>div:first-child small{display:block}.telemetry-settings>div:first-child strong{font-size:12px}.telemetry-settings>div:first-child small{font-size:9px;color:#8995a4;margin-top:3px}.widget-choice-grid{display:grid!important;grid-template-columns:1fr 1fr;gap:6px!important;margin:12px 0}.widget-choice-grid label{font-size:10px;padding:7px 8px;border:1px solid #e5eaf1;border-radius:8px}.widget-choice-grid input{accent-color:#1677ff}.live-footnote{height:26px;display:flex;align-items:center;gap:8px;padding:6px 4px 0;color:#8491a1;font-size:9px}.live-footnote strong{color:#30a961}.live-api-note{margin-left:auto}.live-empty{padding:28px 14px;text-align:center;color:#8390a1;font-size:11px}.map-load-error{position:absolute;z-index:600;inset:20px auto auto 50%;transform:translateX(-50%);background:#fff3f3;border:1px solid #ffd6d6;color:#a44848;border-radius:12px;padding:10px 14px;font-size:11px;box-shadow:0 8px 22px rgba(30,50,75,.12)}
@media(max-width:1200px){.live-map-stage{height:calc(100vh - 186px)}.selected-vehicle-card{width:250px}.telemetry-dock{grid-template-columns:135px 1fr}.telemetry-widget{flex-basis:112px;min-width:112px}.live-vehicle-panel{width:280px}}
@media(max-width:900px){.live-kpis{grid-template-columns:1fr 1fr}.live-map-stage{height:760px}.selected-vehicle-card{top:auto;bottom:78px;right:10px}.telemetry-dock{grid-template-columns:1fr;padding-right:44px}.telemetry-vehicle{border-right:0;border-bottom:1px solid #edf1f5;display:grid;grid-template-columns:1fr auto;align-items:center}.telemetry-vehicle .eyebrow,.telemetry-vehicle small{grid-column:1}.telemetry-vehicle .live-status{grid-column:2;grid-row:1/4;margin:0}.map-legend{bottom:68px}.live-vehicle-panel{max-height:430px}}
@media(max-width:620px){.live-map-page .content{padding:8px}.live-kpis{grid-template-columns:1fr 1fr;gap:6px}.live-kpi{height:56px;grid-template-columns:34px 1fr;padding:8px}.live-kpi i{display:none}.live-kpi-icon{width:32px;height:32px}.live-map-stage{height:calc(100vh - 190px);min-height:620px;border-radius:13px}.live-vehicle-panel{left:8px;right:8px;width:auto;max-height:300px}.selected-vehicle-card{left:8px;right:8px;width:auto;bottom:66px}.map-legend{display:none}.telemetry-dock{left:8px;right:8px;bottom:8px;min-height:168px;padding:10px 40px 10px 10px}.telemetry-widgets{grid-column:1/-1}.telemetry-settings{right:0;width:min(320px,calc(100vw - 34px))}.live-footnote{display:none}}
.gps-token-card{margin-bottom:18px;border-color:#b9dbff;background:linear-gradient(135deg,#f7fbff,#eef6ff)}.gps-token-card h2{margin:4px 0}.gps-token-card p{color:var(--muted);font-size:12px;margin:5px 0 14px}.gps-token-value{display:flex;gap:8px;align-items:center}.gps-token-value code,.gps-api-example code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#10243a;color:#d8efff;border-radius:9px;padding:10px 12px;word-break:break-all;font-size:11px}.gps-token-value code{flex:1}.gps-api-example{margin-top:11px;display:grid;gap:6px}.gps-api-example strong{font-size:10px;color:#58708c}.gps-api-example small{color:#7890a8;font-size:9px}.device-table-actions{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.device-table-actions form{margin:0}

/* V0.4.1 — połączony moduł Pojazdy / GPS */
.combined-summary{grid-template-columns:minmax(0,1.7fr) repeat(3,minmax(120px,.5fr))}.combined-vehicle-layout{grid-template-columns:minmax(0,1.55fr) minmax(390px,.8fr)}.combined-vehicle-card{align-items:flex-start}.vehicle-meta-rich{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 12px;margin-top:9px}.vehicle-meta-rich span{font-size:11px;color:#6d7a8c}.vehicle-meta-rich b{font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:#9aa5b2;margin-right:4px}.vehicle-meta-rich .wide{grid-column:1/-1;word-break:break-all}.gps-module-box{margin-top:13px;border:1px solid #dfe7f0;background:linear-gradient(135deg,#f9fbfe,#f4f8fc);border-radius:13px;padding:12px}.gps-module-head{display:grid;grid-template-columns:10px 1fr auto;gap:9px;align-items:center}.gps-module-head small,.gps-module-head strong{display:block}.gps-module-head small{font-size:8px;color:#8190a2;font-weight:800;letter-spacing:.7px}.gps-module-head strong{font-size:12px;margin-top:2px}.gps-module-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px;margin-top:10px;padding-top:9px;border-top:1px solid #e4eaf1}.gps-module-facts span{font-size:10px;color:#657487;overflow-wrap:anywhere}.gps-module-facts b{display:block;font-size:8px;color:#9aa5b2;text-transform:uppercase;letter-spacing:.45px;margin-bottom:2px}.empty-gps{display:flex;align-items:center;gap:10px;color:#7b899b}.empty-gps strong,.empty-gps small{display:block}.empty-gps small{font-size:10px;margin-top:2px}.combined-editor{max-height:calc(100vh - 145px);overflow:auto}.combined-form{padding-bottom:4px}.form-section-title{display:flex;align-items:center;gap:10px;margin:5px 0 1px;padding:10px 11px;border-radius:12px;background:#f5f8fc;border:1px solid #e6ebf2}.form-section-title>span{width:30px;height:30px;border-radius:10px;background:#e7f1ff;color:#1677ff;display:grid;place-items:center;font-size:10px;font-weight:900}.form-section-title strong,.form-section-title small{display:block}.form-section-title strong{font-size:12px}.form-section-title small{font-size:9px;color:#8492a4;margin-top:2px}.gps-section-title{margin-top:9px;background:#f5fbf7;border-color:#dfeee4}.gps-section-title>span{background:#e8f8ee;color:#2c9f5b}.gps-device-fields{display:grid;gap:13px;padding:12px;border:1px solid #deeadf;background:#fbfefc;border-radius:13px;transition:.2s ease}.gps-device-fields.is-empty{opacity:.45;filter:grayscale(.2)}.gps-readonly-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.gps-readonly-grid>div{padding:9px;border-radius:10px;background:#fff;border:1px solid #e7edf2;min-width:0}.gps-readonly-grid span,.gps-readonly-grid strong{display:block}.gps-readonly-grid span{font-size:8px;text-transform:uppercase;letter-spacing:.45px;color:#96a2b0}.gps-readonly-grid strong{font-size:10px;margin-top:3px;overflow-wrap:anywhere}.warning-hint{background:#fff9eb;border:1px solid #f3dfad;border-radius:10px;padding:10px}.pulse-sm{display:inline-block;width:8px;height:8px;border-radius:50%;background:#35ba6c;box-shadow:0 0 0 4px rgba(53,186,108,.12)}
@media(max-width:1250px){.combined-summary{grid-template-columns:1fr 1fr 1fr}.combined-summary .fleet-summary-main{grid-column:1/-1}.combined-vehicle-layout{grid-template-columns:1fr}.combined-editor{position:static;max-height:none}.vehicle-meta-rich{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.combined-summary{grid-template-columns:1fr 1fr}.combined-summary .fleet-summary-main{grid-column:1/-1}.vehicle-meta-rich,.gps-module-facts,.gps-readonly-grid{grid-template-columns:1fr}.vehicle-meta-rich .wide{grid-column:auto}}
.combined-form textarea{width:100%;border:1px solid #d9e0ea;background:#fff;border-radius:10px;padding:11px 12px;outline:none;color:#17263b;resize:vertical;font:inherit}.combined-form textarea:focus{border-color:#6ba7f8;box-shadow:0 0 0 4px rgba(22,119,255,.08)}


/* ASK Fleet GPS V0.4.2 DEV — duża mapa LIVE */
.live-map-page .content{overflow:visible}.live-map-page .fleet-live{min-height:0}
.live-map-page .live-map-stage{height:calc(100vh - 174px);min-height:620px}
.map-actionbar{position:absolute;z-index:515;top:14px;left:50%;transform:translateX(-50%);display:flex;gap:6px;padding:5px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border:1px solid #dce5ef;border-radius:13px;box-shadow:0 9px 28px rgba(25,47,75,.14)}
.map-actionbar button{height:32px;border:0;border-radius:9px;background:#fff;color:#52647a;padding:0 10px;display:flex;align-items:center;gap:6px;font-size:9px;font-weight:850;cursor:pointer;white-space:nowrap;transition:.16s ease}
.map-actionbar button:hover{background:#edf5ff;color:#1677ff}.map-actionbar button.active{background:#1677ff;color:#fff;box-shadow:0 5px 13px rgba(22,119,255,.24)}
.selected-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.selected-actions .btn{width:100%;justify-content:center}
.fleet-marker{position:relative}.fleet-marker .vehicle-shape{transform:rotate(45deg);font-size:11px;color:#fff;font-weight:900}.fleet-marker .heading-arrow{position:absolute;left:50%;top:50%;width:52px;height:52px;margin:-26px 0 0 -26px;display:flex;align-items:flex-start;justify-content:center;transform:rotate(calc(var(--heading) + 45deg));transform-origin:center;color:#1c65d6;font-size:11px;font-style:normal;pointer-events:none;text-shadow:0 1px 2px #fff,0 -1px 2px #fff}.fleet-marker.stopped .heading-arrow{color:#cb7d00}.fleet-marker.offline .heading-arrow{display:none}.marker-speed{position:absolute;left:38px;top:-5px;transform:rotate(45deg);background:#fff;color:#1c3554;border:1px solid #dce5ef;border-radius:999px;padding:2px 5px;font-size:8px;line-height:1;box-shadow:0 3px 8px rgba(25,47,75,.15)}
.fleet-live.map-fullscreen .live-map-stage{position:fixed;z-index:4000;inset:8px;height:auto;min-height:0;border-radius:18px}.fleet-live.map-fullscreen .live-kpis,.fleet-live.map-fullscreen .live-footnote{display:none}.ask-map-fullscreen-open{overflow:hidden}.fleet-live.map-fullscreen .map-actionbar{top:12px}.fleet-live.map-fullscreen .live-vehicle-panel{max-height:calc(100% - 250px)}
.fleet-live.map-fullscreen .telemetry-dock{bottom:14px}.fleet-live.map-fullscreen .selected-vehicle-card{top:62px}.fleet-live.map-fullscreen .vehicle-panel-restore{top:62px}
@media(max-width:1200px){.live-map-page .live-map-stage{height:calc(100vh - 168px)}.map-actionbar{left:auto;right:14px;transform:none;top:310px;flex-direction:column}.map-actionbar button span{display:none}.map-actionbar button{width:34px;justify-content:center;padding:0}}
@media(max-width:900px){.live-map-page .live-map-stage{height:calc(100vh - 150px);min-height:700px}.map-actionbar{top:10px;right:10px}.fleet-live.map-fullscreen .selected-vehicle-card{top:auto}}
@media(max-width:620px){.live-map-page .live-map-stage{height:calc(100vh - 138px);min-height:650px}.fleet-live.map-fullscreen .live-map-stage{inset:0;border-radius:0}.map-actionbar{top:8px;right:8px}.map-actionbar button{width:32px;height:32px}}

/* ASK Fleet GPS V0.5.0 DEV — pula GPS organizacji + katalog urządzeń */
.gps-pool-card{margin:18px 0}.gps-pool-card .card-head p{margin:5px 0 0;color:var(--muted);font-size:12px;max-width:760px}.gps-pool-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.65fr);gap:18px}.gps-pool-list{display:grid;gap:9px;align-content:start}.gps-pool-item{display:grid;grid-template-columns:42px 1fr auto;gap:11px;align-items:center;border:1px solid #e4eaf1;background:#fbfcfe;border-radius:13px;padding:11px}.gps-pool-icon{width:38px;height:38px;border-radius:11px;background:#eaf3ff;color:#1677ff;display:grid;place-items:center;font-weight:900}.gps-pool-main strong,.gps-pool-main small,.gps-pool-meta small{display:block}.gps-pool-main strong{font-size:12px}.gps-pool-main small,.gps-pool-meta small{font-size:9px;color:#8592a3;margin-top:3px}.gps-pool-meta{text-align:right}.gps-pool-add{display:grid;gap:11px;border:1px solid #dfe8f2;background:linear-gradient(145deg,#f8fbff,#f3f8fd);border-radius:15px;padding:14px}.gps-pool-add h3{margin:3px 0 0}.gps-pool-add label{display:grid;gap:6px;font-size:11px;font-weight:750;color:#56677c}.gps-pool-add input,.gps-pool-add select,.gps-pool-add textarea{width:100%;border:1px solid #d9e0ea;background:#fff;border-radius:10px;padding:10px 11px;outline:none;color:#17263b;font:inherit}.gps-pool-add textarea{resize:vertical}.gps-pool-add input:focus,.gps-pool-add select:focus,.gps-pool-add textarea:focus{border-color:#6ba7f8;box-shadow:0 0 0 4px rgba(22,119,255,.08)}.empty-state.compact{padding:20px}.empty-state.compact h3{margin:4px 0}.empty-state.compact p{margin:0}.gps-device-fields[hidden],#gps-existing-wrap[hidden]{display:none!important}
@media(max-width:1050px){.gps-pool-grid{grid-template-columns:1fr}.gps-pool-add{order:-1}}@media(max-width:650px){.gps-pool-item{grid-template-columns:38px 1fr}.gps-pool-meta{grid-column:2;text-align:left}.gps-pool-grid .form-split{grid-template-columns:1fr}}

/* ASK Fleet GPS V0.5.0 — telemetria Teltonika FMB920 */
.selected-device-model{margin:8px 0 12px;padding:7px 10px;border-radius:10px;background:rgba(22,119,255,.07);color:#39637f;font-size:12px;font-weight:700}
.metric-widget,.signal-widget,.io-widget,.axes-widget{min-height:104px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center}
.metric-widget>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#eef5ff;color:#1677ff;font-weight:800}
.metric-widget>strong,.signal-widget>strong,.io-widget>strong{font-size:22px;color:#14263c;line-height:1}
.metric-widget>em,.signal-widget>em,.axes-widget>em{font-style:normal;color:#8596a8;font-size:10px}
.metric-widget.movement.on>span{background:#e6f8ee;color:#15a05c;transform:translateX(2px);transition:.25s ease}
.round-indicator.vehicle-power>span{color:#1677ff}
.signal-bars{height:38px;display:flex;align-items:flex-end;gap:3px}
.signal-bars i{display:block;width:5px;border-radius:3px;background:#dce5ed;transition:.25s ease}
.signal-bars i:nth-child(1){height:10px}.signal-bars i:nth-child(2){height:16px}.signal-bars i:nth-child(3){height:22px}.signal-bars i:nth-child(4){height:29px}.signal-bars i:nth-child(5){height:36px}
.signal-bars i.active{background:#20aa65}
.io-widget>span{width:42px;height:42px;border:2px solid #cad6e2;border-radius:13px;display:grid;place-items:center;font-size:10px;font-weight:900;color:#7b8da0;transition:.2s ease}
.io-widget.on>span{border-color:#23a966;background:#e9f8f0;color:#168851;box-shadow:0 0 0 5px rgba(35,169,102,.08)}
.telemetry-widget-wide{min-width:190px}
.axes-widget{align-items:stretch;padding:0 8px}
.axes-widget>span{display:flex;justify-content:space-between;align-items:center;background:#f5f8fb;border-radius:8px;padding:5px 8px;color:#6d7f91;font-size:10px}
.axes-widget b{font-size:13px;color:#20354c}
@media(max-width:1100px){.selected-facts{grid-template-columns:1fr 1fr}.telemetry-widget-wide{min-width:160px}}
.gps-pool-edit{grid-column:1/-1;margin-top:8px;border-top:1px solid #edf1f5;padding-top:8px}
.gps-pool-edit summary{cursor:pointer;color:#1677ff;font-size:12px;font-weight:800;list-style:none}
.gps-pool-edit summary::-webkit-details-marker{display:none}
.gps-pool-edit-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:10px;padding:12px;border-radius:12px;background:#f8fafc}
.gps-pool-edit-form label{font-size:11px;color:#66798b}.gps-pool-edit-form label.wide{grid-column:1/-1}
.gps-pool-edit-form input,.gps-pool-edit-form select,.gps-pool-edit-form textarea{width:100%;margin-top:4px}
@media(max-width:900px){.gps-pool-edit-form{grid-template-columns:1fr}}
