.app-sidebar{display:flex;flex-direction:column;width:250px;flex-shrink:0;background:#fff;border-inline-end:1px solid var(--line-soft)}.app-sidebar__mobile-only{border-top:1px solid var(--line-soft);padding:.75rem 1rem}.app-sidebar-backdrop{position:fixed;inset:0;z-index:1290;border:none;background:rgba(15,23,42,.45);cursor:pointer}.ds-icon-btn .nav-icon{width:18px;height:18px;opacity:1}@media (max-width:767.98px){.app-sidebar{position:fixed;inset-block:0;inset-inline-start:0;z-index:1300;width:min(280px,85vw);box-shadow:var(--shadow-md);transform:translateX(-100%);visibility:hidden;transition:transform .22s ease,visibility .22s}[dir=rtl] .app-sidebar{transform:translateX(100%)}.app-sidebar.is-open{transform:none;visibility:visible}}@media (min-width:768px){.app-nav-toggle,.app-sidebar-backdrop,.app-sidebar__mobile-only{display:none}}@media (prefers-reduced-motion:reduce){.app-sidebar{transition:none}}.nav-item{display:flex;align-items:center;gap:.65rem;border-radius:var(--r-sm);padding:.6rem .75rem;font-size:.875rem;color:var(--muted);transition:background .12s ease,color .12s ease}.nav-item:hover{background:var(--bg-muted);color:var(--fg)}.nav-item:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.nav-item.is-active{position:relative;background:var(--brand-soft);color:var(--brand-hover);font-weight:600}.nav-item.is-active:before{content:"";position:absolute;inset-block:.5rem;inset-inline-start:0;width:3px;border-radius:3px;background:var(--accent)}.nav-icon{width:16px;height:16px;flex-shrink:0;opacity:1}.nav-item.is-active .nav-icon{opacity:1;color:var(--brand-hover)}:is([class*=btn-],.btn-sm,.icon-btn,.ds-icon-btn,.ds-cta,.ds-quick-actions__btn,.ds-badge,.badge-status,.ds-alert,.callout__icon,.ui-error__icon,.ui-state__icon,.ds-account-menu__icon,.ui-page-header__icon,.ui-section__icon,.stat-icon,.trend,.row-toggle,.tech-success__icon) .nav-icon{--ico-a:currentColor;--ico-b:currentColor;--ico-dark:currentColor;--ico-neutral:currentColor}.sidebar-group__toggle .nav-icon{flex-shrink:0}.sidebar-group.is-open .sidebar-group__toggle .nav-icon{color:var(--brand-hover);opacity:1}.nav-item--nested{padding-left:1.1rem;font-size:.8125rem}.sidebar-group{margin:.35rem 0}.sidebar-group__toggle{display:flex;width:100%;align-items:center;gap:.5rem;border:none;background:transparent;border-radius:var(--r-sm);padding:.6rem .75rem;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);cursor:pointer;transition:background .12s ease,color .12s ease}.sidebar-group__toggle:hover{background:var(--bg-muted);color:var(--fg)}.sidebar-group__label{flex:1;text-align:left}.sidebar-group__chevron{flex-shrink:0;transition:transform .2s ease;opacity:.7}.sidebar-group:not(.is-open) .sidebar-group__chevron{transform:rotate(-90deg)}.sidebar-group__list{margin-top:.15rem;padding-left:.35rem;border-left:2px solid var(--line-soft);margin-left:.85rem}.ds-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.ds-hero__title{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;line-height:1.15;margin:0}.ds-hero__subtitle{color:var(--muted);font-size:.9375rem;margin-top:4px}.ds-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem}.ds-kpi-grid--decision{grid-template-columns:repeat(6,minmax(0,1fr))}.ds-kpi--info .ds-kpi__visual{background:color-mix(in srgb,#0ea5e9 14%,transparent);color:#0284c7}.ds-decision-note{margin:-.75rem 0 1.25rem;padding:.65rem .9rem;border-radius:var(--r-md);border:1px solid var(--line-soft);background:color-mix(in srgb,var(--brand) 6%,var(--bg-card));font-size:.875rem;color:var(--text)}.ds-rank-num{display:inline-flex;width:1.4rem;height:1.4rem;align-items:center;justify-content:center;border-radius:999px;background:var(--bg-muted);font-size:.7rem;font-weight:800}.ds-map-counters{display:flex;flex-wrap:wrap;gap:.5rem;padding:.55rem .75rem;border-bottom:1px solid var(--line-soft);font-size:.75rem}.ds-map-counters span{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .5rem;border-radius:999px;background:var(--bg-muted);font-weight:600}.ds-quick-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.ds-quick-actions__btn{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .75rem;border-radius:999px;border:1px solid var(--line-soft);background:#fff;font-size:.75rem;font-weight:700;color:var(--fg);text-decoration:none}.ds-quick-actions__btn:hover{border-color:var(--brand);color:var(--brand)}.ds-quick-actions__btn--accent{background:color-mix(in srgb,var(--brand) 10%,#fff);border-color:color-mix(in srgb,var(--brand) 35%,var(--line-soft));color:var(--brand)}.ds-activity{list-style:none;margin:0;padding:0}.ds-activity__item{display:grid;grid-template-columns:3.5rem 1fr;gap:.75rem;padding:.7rem 1rem;border-bottom:1px solid var(--line-soft);font-size:.8125rem}.ds-activity__item:last-child{border-bottom:none}.ds-activity__time{font-variant-numeric:tabular-nums;font-weight:700;color:var(--muted)}.ds-row{display:grid;gap:1rem;margin-bottom:1rem}.ds-row--map{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.ds-row--bottom{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr) minmax(0,1fr)}.ds-stack{display:flex;flex-direction:column;gap:1rem;min-width:0}.ds-stack--fill>.ds-panel:last-child{flex:1 1 auto}.ds-stack--fill>.ds-panel:last-child>.ds-panel__body{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center}.ds-ops{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:1rem}.ds-ops__wide{grid-column:1/-1}@media (max-width:1100px){.ds-ops{grid-template-columns:repeat(2,minmax(0,1fr))}.ds-ops>:first-child{grid-column:1/-1}.ds-ops__wide{grid-column:auto}.ds-ops>:nth-child(2):last-child{grid-column:1/-1}}@media (max-width:899px){.ds-ops{grid-template-columns:minmax(0,1fr)}.ds-ops>:first-child,.ds-ops>:nth-child(2):last-child,.ds-ops__wide{grid-column:auto}}.ds-urgent{display:grid;gap:.85rem;padding:1rem 1.1rem .85rem}.ds-urgent__bar{display:flex;gap:3px;height:8px}.ds-urgent__bar>span{min-width:4px;border-radius:999px}.ds-urgent__bar-crit{background:var(--danger)}.ds-urgent__bar-off{background:var(--muted)}.ds-urgent__figures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.ds-urgent__label{display:flex;align-items:center;gap:.4rem;font-size:.75rem;color:var(--muted)}.ds-urgent__dot{width:8px;height:8px;border-radius:999px}.ds-urgent__value{font-size:1.375rem;font-weight:700;letter-spacing:-.02em;line-height:1.2}.ds-urgent__value small{margin-left:.25rem;font-size:.75rem;font-weight:500;color:var(--muted-soft)}.ds-urgent__foot{padding:.85rem 1.1rem 1rem;margin-top:auto}.ds-urgent__foot .btn-sm{width:100%;justify-content:center}.ds-saas-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.25rem,1fr));gap:1.1rem 1rem}.ds-saas-tile{display:flex;align-items:flex-start;gap:.75rem;min-width:0}.ds-saas-tile .stat-icon{width:40px;height:40px}.ds-saas-tile__label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.ds-saas-tile__value{font-size:1.375rem;font-weight:700;letter-spacing:-.02em;line-height:1.2;white-space:nowrap}.ds-saas-tile__value--warning{color:#b45309}.ds-saas-tile .ds-saas-hint{display:block;font-size:.7rem}@media (max-width:1100px){.ds-saas-tile{flex-direction:column;gap:.5rem}}@media (max-width:640px){.ds-saas-tile__value{font-size:1.125rem}}.ds-ops>.ds-panel:first-child>.ds-panel__body{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center}.ds-saas-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.ds-saas-cell__label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-soft);margin-bottom:4px}.ds-saas-hint{font-weight:500;text-transform:none;letter-spacing:0;color:var(--muted-soft)}.ds-saas-cell__value{font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.ds-saas-cell__value--warning{color:#f59e0b}.ds-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--line-soft);font-size:.75rem;color:var(--muted)}.ds-footer a,.ds-footer button{color:var(--muted);text-decoration:none;background:none;border:none;padding:0;font:inherit;cursor:pointer}.ds-footer a:hover,.ds-footer button:hover{color:var(--fg);text-decoration:underline}.ds-footer__sep{margin:0 .4rem;opacity:.5}.ds-text-success{color:var(--brand);font-weight:600}.asset-tabs{display:inline-flex;gap:.25rem;margin-bottom:1.25rem;padding:.25rem;border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg-muted)}.asset-tabs__item{display:inline-flex;align-items:center;gap:.5rem;min-height:2.5rem;padding:.4rem 1rem;border-radius:calc(var(--r-md) - 4px);font-size:.875rem;font-weight:600;color:var(--muted)}.asset-tabs__item svg{width:1.1rem;height:1.1rem}.asset-tabs__item:hover{color:var(--fg)}.asset-tabs__item.is-active{background:#fff;color:var(--brand-deep);box-shadow:0 1px 2px rgb(15 23 42/.08)}@media (max-width:480px){.asset-tabs{display:flex}.asset-tabs__item{flex:1;justify-content:center}}.leaflet-container{width:100%;height:100%;font-family:inherit;z-index:0}.bg-map-marker{background:transparent!important;border:none!important}.mk-wrap{position:relative;display:block;width:100%;height:100%}.mk-wrap--pin{display:flex;flex-direction:column;align-items:center}.mk{display:block;overflow:visible;filter:drop-shadow(0 1px 2px rgba(15,23,42,.38));transition:transform .14s ease;--mk-fill:var(--brand);--mk-ink:#fff}.mk--ok{--mk-fill:var(--brand)}.mk--neutral{--mk-fill:var(--brand-deep)}.mk--warn{--mk-fill:var(--warning);--mk-ink:#1f2937}.mk--critical{--mk-fill:var(--danger)}.mk--offline{--mk-fill:#6b7280}.mk__body{fill:var(--mk-fill);stroke:#fff;stroke-width:2.5;stroke-linejoin:round}.mk__glyph{fill:none;stroke:var(--mk-ink);stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.mk__solid{fill:var(--mk-ink);stroke:none}.mk__txt{fill:var(--mk-ink);font-size:11px;font-weight:700;letter-spacing:-.02em;pointer-events:none}.mk__pulse{fill:none;stroke:none}.mk--pin{transform-origin:50% 90%}.mk--dot .mk__body{stroke-width:3}.bg-map-marker{cursor:pointer}.bg-map-marker:hover{z-index:100000!important}.bg-map-marker:hover .mk:not(.mk--legend){transform:scale(1.12)}.bg-map-marker.is-selected{z-index:100001!important}.bg-map-marker.is-selected .mk .mk__body{stroke:var(--accent);stroke-width:3.6}.bg-map-marker.is-selected .mk{transform:scale(1.14);filter:drop-shadow(0 0 2px var(--brand-deep)) drop-shadow(0 2px 4px rgba(15,23,42,.4))}.bg-map-marker:focus-visible .mk .mk__body{stroke:var(--accent);stroke-width:3.6}@keyframes mk-pulse{0%{transform:scale(1);opacity:.55}80%,to{transform:scale(1.22);opacity:0}}.mk--pulse .mk__pulse{stroke:var(--danger);stroke-width:2.5;transform-box:fill-box;transform-origin:center;animation:mk-pulse 1.6s ease-out infinite}@keyframes map-offline-soft{0%,to{opacity:1}50%{opacity:.55}}.map-marker--offline-soft{animation:map-offline-soft 2.5s ease-in-out infinite}.mk-label{display:inline-flex;align-items:center;gap:.35em;max-width:11em;margin-top:1px;padding:1px .5em;border-radius:999px;background:color-mix(in srgb,var(--brand-deep) 92%,transparent);color:#fff;line-height:1.35;white-space:nowrap;pointer-events:none;box-shadow:0 1px 3px rgba(15,23,42,.3)}.mk-label b{overflow:hidden;text-overflow:ellipsis;font-weight:700}.mk-label i{font-style:normal;font-weight:600;color:var(--accent)}.mk-badge{position:absolute;z-index:2;display:flex;align-items:center;justify-content:center;min-width:var(--mk-badge,12px);height:var(--mk-badge,12px);border-radius:999px;border:1.5px solid #fff;box-shadow:0 1px 3px rgba(15,23,42,.35);font-size:calc(var(--mk-badge, 12px) * .7);font-weight:700;line-height:1;pointer-events:none}.mk-badge--batt{top:0;right:-2px;background:var(--warning);color:#1f2937}.mk-badge--batt .mk-badge__glyph{width:80%;height:80%;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.mk-badge--count{top:-2px;left:-3px;padding:0 .3em;background:var(--brand-deep);color:#fff}.mk-badge--static{position:static;width:18px;height:18px}@media (prefers-reduced-motion:reduce){.map-marker--offline-soft,.mk--pulse .mk__pulse{animation:none!important}.mk{transition:none}}.map-legend{min-width:0;border:none!important;border-radius:var(--r-sm)!important;background:#fff;box-shadow:var(--shadow-md)!important;font-size:.75rem;color:var(--fg)}.map-legend.is-empty{display:none}.map-legend__toggle{display:block;width:100%;min-height:32px;padding:.35rem .7rem;border:none;border-radius:var(--r-sm);background:#fff;color:var(--brand-hover);font:inherit;font-weight:700;cursor:pointer}.map-legend__toggle:hover{background:var(--brand-50)}.map-legend__list{display:grid;gap:.3rem;margin:0;padding:.25rem .7rem .6rem;list-style:none}.map-legend__list[hidden]{display:none}.map-legend__list li{display:flex;align-items:center;gap:.5rem;white-space:nowrap}.map-legend__sw{display:inline-flex;flex-shrink:0}.leaflet-popup-content-wrapper{padding:0;border-radius:12px;overflow:hidden;box-shadow:var(--shadow-md)}.leaflet-popup-content{margin:0!important;min-width:0}.leaflet-popup-tip{background:#fff}.bg-map-popup--lite .leaflet-popup-content,.bg-popup-lite{min-width:168px}.bg-popup-lite{padding:.75rem .85rem .85rem}.bg-popup-lite__title{font-size:.875rem;font-weight:700;color:var(--fg);margin-bottom:.45rem}.bg-popup-lite__row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.7rem}.bg-popup-lite__status{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:600;color:var(--muted)}.bg-popup-lite__dot{width:8px;height:8px;border-radius:999px}.bg-popup-lite__dot--on{background:var(--brand)}.bg-popup-lite__dot--warn{background:#f59e0b}.bg-popup-lite__dot--crit{background:#ef4444}.bg-popup-lite__dot--off{background:#94a3b8}.bg-popup-lite__fill{font-size:.9375rem;font-weight:800}.bg-popup-lite__meta{display:grid;gap:2px;margin:.4rem 0 .65rem;font-size:.7rem;color:var(--muted);line-height:1.35}.bg-popup-lite__forecast{margin-top:.4rem;padding:.35rem .5rem;border-radius:var(--r-sm);background:color-mix(in srgb,var(--brand) 12%,transparent);color:var(--brand);font-size:.72rem;font-weight:700}.bg-popup-lite__btn{width:100%;border:none;border-radius:var(--r-sm);background:var(--brand);color:#fff;font-size:.75rem;font-weight:700;padding:.55rem .65rem;cursor:pointer}.bg-popup-lite__btn:hover{background:var(--brand-hover)}.bg-popup-lite__colocated{margin-top:.55rem;padding-top:.5rem;border-top:1px solid var(--line-soft)}.bg-popup-lite__colocated-title{font-size:.68rem;font-weight:700;color:var(--muted)}.bg-popup-lite__colocated ul{margin:.3rem 0 0;padding:0;list-style:none;display:grid;gap:2px}.bg-popup-lite__link{border:none;background:none;padding:0;font-size:.75rem;font-weight:600;color:var(--brand-hover);cursor:pointer;text-decoration:underline}.bg-popup-lite--maint{min-width:220px;max-width:270px}.bg-popup-lite__bubble-label{display:inline-flex;align-items:center;gap:.3rem;font-size:.65rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-hover);margin-bottom:.35rem}.bg-popup-lite__bubble-label:before{content:"💬";font-size:.8rem;letter-spacing:0;text-transform:none}.bg-popup-lite__hint{margin:.15rem 0 .55rem;padding:.55rem .65rem;border-radius:var(--r-md);background:#f8fafc;border:1px solid var(--line-soft);color:var(--fg);font-size:.75rem;font-weight:500;line-height:1.4}.bg-popup-lite__prio{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:999px;background:color-mix(in srgb,#3b82f6 14%,#fff);color:#1d4ed8;font-size:.68rem;font-weight:700}.bg-popup__head{background:#1e293b;color:#fff;font-weight:700;font-size:.875rem;padding:.65rem 1rem}.bg-popup__body{padding:.85rem 1rem 1rem;font-size:.8125rem;color:var(--fg);display:flex;flex-direction:column;gap:.45rem}.bg-popup__muted{color:var(--muted)}.bg-popup__ok{color:var(--brand-hover);font-weight:600}.bg-popup__fill-row{display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted);margin-bottom:.25rem}.bg-popup__bar{height:8px;border-radius:999px;background:var(--bg-muted);overflow:hidden}.bg-popup__bar>div{height:100%;border-radius:999px}.bg-popup__actions{display:flex;gap:.5rem;margin-top:.5rem}.bg-popup__btn{flex:1;text-align:center;padding:.5rem .6rem;border-radius:var(--r-sm);font-size:.75rem;font-weight:600;background:var(--brand);color:#fff;text-decoration:none}.bg-popup__btn:hover{background:var(--brand-hover)}.bg-popup__btn--ghost{background:#fff;color:var(--fg);border:1px solid var(--line)}.bg-popup__btn--ghost:hover{background:var(--bg-muted)}.ds-map{position:relative;height:340px;background:#e8eef3}.ds-map--xl{height:clamp(520px,calc(100dvh - 220px),900px);min-height:520px;border-radius:0 0 var(--r-lg) var(--r-lg)}.ds-map__inner{position:absolute;inset:0}.ds-map__toggles{position:absolute;left:12px;bottom:12px;z-index:1000;display:flex;flex-wrap:wrap;gap:10px 14px;background:rgba(15,23,42,.9);color:#fff;border-radius:999px;padding:10px 16px;font-size:.72rem;font-weight:600;box-shadow:0 8px 24px rgba(0,0,0,.25);pointer-events:auto}.ds-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;user-select:none}.ds-toggle input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.ds-toggle__sw{position:relative;width:28px;height:16px;border-radius:999px;background:#64748b;flex-shrink:0;transition:background .15s ease}.ds-toggle__sw:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:999px;background:#fff;transition:transform .15s ease;box-shadow:0 1px 2px rgba(0,0,0,.25)}.ds-toggle input:checked+.ds-toggle__sw{background:var(--brand)}.ds-toggle input:checked+.ds-toggle__sw:after{transform:translateX(12px)}.ds-toggle__dot{width:8px;height:8px;border-radius:999px}.ds-toggle__dot--danger{background:#ef4444}.ds-toggle__dot--muted{background:#94a3b8}.ds-toggle__dot--warn{background:#f59e0b}.ds-toggle__dot--ok{background:var(--brand)}.ds-toggle__ico{display:inline-flex;flex:none}.ds-toggle__count{opacity:.75;margin-left:2px}.map-empty-overlay{position:absolute;inset:1rem 1rem auto;z-index:900;display:flex;justify-content:center;pointer-events:none}.map-empty-overlay>p{margin:0;max-width:100%;padding:.5rem 1rem;border:1px solid var(--line-soft);border-radius:var(--r-md);background:#fff;box-shadow:var(--shadow-md);color:var(--muted);font-size:.875rem;text-align:center}.map-loading{background:var(--bg)}.map-legend__list{max-height:min(45vh,16rem);overflow-y:auto;overscroll-behavior:contain}@media (pointer:coarse){.bg-map-marker:after{content:"";position:absolute;inset:-8px}.leaflet-container.leaflet-touch .leaflet-bar a{width:40px;height:40px;line-height:40px}.map-legend__toggle{min-height:40px}}@media (max-width:639px){.ds-map__toggles{right:12px;flex-wrap:nowrap;gap:14px;overflow-x:auto;padding:6px 14px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.ds-map__toggles::-webkit-scrollbar{display:none}.ds-toggle{flex-shrink:0;min-height:32px;white-space:nowrap}}.bg-vehicle-marker-host{background:none;border:none}.bg-vehicle-marker{display:grid;place-items:center;width:32px;height:32px;border-radius:999px;border:2px solid #fff;box-shadow:0 1px 4px rgb(0 0 0/.35);color:#fff;background:var(--brand)}.bg-vehicle-marker--stale{background:#f59e0b}.bg-vehicle-marker--offline{background:#94a3b8}.map-vehicles-note{position:absolute;left:.75rem;bottom:1.75rem;z-index:1000;max-width:calc(100% - 1.5rem);margin:0;padding:.35rem .65rem;border-radius:var(--r-sm);background:#fff;box-shadow:var(--shadow-sm);font-size:.75rem;font-weight:600;color:var(--muted)}.leaflet-container path.bg-route-casing{stroke:#fff;stroke-width:10px;stroke-opacity:.9;stroke-linecap:round;stroke-linejoin:round;fill:none}.leaflet-container path.bg-route-line{stroke:#1d4ed8;stroke-width:6px;stroke-opacity:.95;stroke-linecap:round;stroke-linejoin:round;fill:none}.bg-drawer-backdrop{position:absolute;inset:0;z-index:1100;border:none;background:rgba(15,23,42,.18);cursor:pointer}.bg-drawer{position:absolute;top:0;right:0;bottom:0;z-index:1101;width:min(24rem,100%);display:flex;flex-direction:column;background:#fff;border-left:1px solid var(--line-soft);box-shadow:-8px 0 28px rgba(15,23,42,.12);animation:bg-drawer-in .22s ease-out}@keyframes bg-drawer-in{0%{transform:translateX(100%);opacity:.6}to{transform:translateX(0);opacity:1}}@media (prefers-reduced-motion:reduce){.bg-drawer{animation:none}}.bg-drawer__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1rem 1.1rem;border-bottom:1px solid var(--line-soft);background:#fafbfc}.bg-drawer__body{flex:1;overflow-y:auto;padding:1rem 1.1rem 1.5rem;display:flex;flex-direction:column;gap:1rem}.bg-drawer__kpis{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.bg-drawer__kpi{display:flex;flex-direction:column;gap:.2rem;padding:.7rem .75rem;border:1px solid var(--line-soft);border-radius:var(--r-md);background:#fff}.bg-drawer__kpi-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.bg-drawer__kpi strong{font-size:1.05rem;font-weight:800;color:var(--fg);line-height:1.2}.bg-drawer__meter{margin-top:.35rem;height:6px;border-radius:999px;background:var(--bg-muted);overflow:hidden}.bg-drawer__meter>div{height:100%;border-radius:999px}.bg-drawer__section{border:1px solid var(--line-soft);border-radius:var(--r-md);padding:.75rem;background:#fff}.bg-drawer__minimap{height:140px;border-radius:var(--r-sm);overflow:hidden;border:1px solid var(--line-soft)}.bg-drawer__tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--line-soft);overflow-x:auto}.bg-drawer__tab{flex:1;min-width:max-content;background:transparent;padding:.55rem .45rem;font-size:.72rem;font-weight:700;color:var(--muted);cursor:pointer;border:none;border-bottom:2px solid transparent}.bg-drawer__tab.is-active{color:var(--brand-hover);border-bottom-color:var(--brand)}.bg-drawer__tabpanel{min-height:4.5rem;padding-top:.35rem}.bg-hist-recent__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.bg-hist-recent__list li{display:flex;justify-content:space-between;gap:.75rem;font-size:.8125rem;line-height:1.35}.bg-hist-recent__time{color:var(--muted);flex-shrink:0}.bg-hist-recent__value{font-weight:600;color:var(--fg);text-align:right}.bg-hist-recent__divider{margin:.85rem 0 .65rem;border-top:1px solid var(--line-soft)}.bg-hist-recent__actions{display:flex;flex-direction:column;gap:.35rem}.bg-hist-action{display:block;width:100%;text-align:left;border:1px solid var(--line-soft);background:#fafbfc;border-radius:var(--r-sm);padding:.55rem .7rem;font-size:.78rem;font-weight:650;color:var(--brand-hover);cursor:pointer}.bg-hist-action:hover{background:var(--brand-50);border-color:var(--brand-200)}.bg-hist-modal{position:fixed;inset:0;z-index:1400;display:flex;align-items:center;justify-content:center;padding:1rem}.bg-hist-modal__backdrop{position:absolute;inset:0;border:none;background:rgba(15,23,42,.45);cursor:pointer}.bg-hist-modal__dialog{position:relative;z-index:1;width:min(56rem,100%);max-height:min(90vh,720px);display:flex;flex-direction:column;background:#fff;border-radius:var(--r-md);border:1px solid var(--line-soft);box-shadow:0 20px 50px rgba(15,23,42,.22);overflow:hidden}.bg-hist-modal__head{align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;background:#fafbfc}.bg-hist-modal__filters,.bg-hist-modal__head{display:flex;border-bottom:1px solid var(--line-soft)}.bg-hist-modal__filters{flex-wrap:wrap;gap:.75rem 1rem;padding:.85rem 1.15rem}.bg-hist-field{display:flex;flex-direction:column;gap:.25rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.bg-hist-field input[type=datetime-local],.bg-hist-field select{font-size:.8125rem;font-weight:500;text-transform:none;letter-spacing:normal;color:var(--fg);border:1px solid var(--line);border-radius:var(--r-sm);padding:.4rem .55rem;background:#fff;min-width:9rem}.bg-hist-checks{display:flex;flex-wrap:wrap;gap:.65rem}.bg-hist-check{display:inline-flex;align-items:center;gap:.35rem;font-size:.8125rem;font-weight:550;text-transform:none;letter-spacing:normal;color:var(--fg);cursor:pointer}.bg-hist-modal__toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem 1.15rem;border-bottom:1px solid var(--line-soft)}.bg-hist-modal__table-wrap{flex:1;overflow:auto;padding:0 0 .5rem}.bg-hist-table{width:100%;border-collapse:collapse;font-size:.78rem}.bg-hist-table td,.bg-hist-table th{padding:.45rem .7rem;border-bottom:1px solid var(--line-soft);text-align:left;white-space:nowrap}.bg-hist-table th{position:sticky;top:0;background:#f8fafc;font-size:.68rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:700;z-index:1}.bg-hist-badge{display:inline-block;padding:.15rem .45rem;border-radius:999px;font-size:.68rem;font-weight:700}.bg-hist-badge--reading{background:var(--brand-50);color:var(--brand)}.bg-hist-badge--collection{background:#eff6ff;color:#1d4ed8}.bg-hist-badge--alert{background:#fff7ed;color:#c2410c}.bg-hist-modal__export-actions{padding:1.15rem;display:flex;flex-direction:column;gap:1rem;align-items:flex-start}.sup-kpi-strip{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.65rem .85rem;background:#fff;border:1px solid var(--line-soft);border-radius:var(--r-md)}.sup-kpi-strip__item{display:inline-flex;align-items:baseline;gap:.4rem;padding:.25rem .65rem;border-radius:999px;background:#f8fafc;font-size:.75rem;color:var(--muted);font-weight:600}.sup-kpi-strip__item strong{font-size:1.05rem;font-weight:800;color:var(--fg)}.sup-kpi-strip__item--danger{background:#fef2f2;color:#b91c1c}.sup-kpi-strip__item--danger strong{color:#dc2626}.sup-kpi-strip__item--ok{background:var(--brand-50);color:var(--brand)}.sup-kpi-strip__item--ok strong{color:var(--brand)}.sup-period-chart{width:100%;height:auto;display:block;min-height:200px}.sup-series-legend{display:flex;flex-wrap:wrap;gap:.35rem .75rem;margin-bottom:.5rem}.sup-series-legend__item{display:inline-flex;align-items:center;gap:.35rem;border:1px solid transparent;background:transparent;padding:.15rem .35rem;border-radius:6px;font-size:.72rem;font-weight:650;color:var(--fg);cursor:pointer}.sup-series-legend__item i{width:.65rem;height:.65rem;border-radius:2px;flex-shrink:0}.sup-series-legend__item.is-active,.sup-series-legend__item:hover{background:#f8fafc;border-color:var(--line-soft)}.sup-client-chips{display:flex;flex-wrap:wrap;gap:.5rem}.sup-client-chip{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.55rem .85rem;border:1px solid var(--line-soft);border-radius:var(--r-md);background:#fff;cursor:pointer;text-align:left;min-width:9rem}.sup-client-chip:hover{border-color:var(--brand-200);background:var(--brand-50)}.sup-client-chip__name{font-size:.8125rem;font-weight:700;color:var(--fg)}.sup-client-chip__meta{font-size:.7rem;color:var(--muted);font-weight:600}.ds-chart-hint{font-size:.75rem;color:var(--muted);margin-bottom:.5rem}.an-tabs{display:flex;gap:.25rem;overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:none}.an-tabs::-webkit-scrollbar{display:none}.an-tabs__item{flex:0 0 auto;padding:.6rem .85rem;font-size:.8125rem;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.an-tabs__item:hover{color:var(--fg)}.an-tabs__item.is-active{color:var(--brand-hover);border-bottom-color:var(--brand)}.an-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem}.an-check{display:inline-flex;align-items:center;gap:.4rem;font-size:.8125rem;font-weight:600;padding-bottom:.45rem}.an-note{margin:0;font-size:.75rem;line-height:1.45;color:var(--muted)}.an-link{border:none;background:none;padding:0;font-weight:600;color:var(--brand-hover);text-decoration:underline;cursor:pointer}.an-refreshing{opacity:.6;transition:opacity .15s ease}.an-kpi-sub{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.35rem}.an-kpi-sub,.an-reliability{font-size:.75rem;color:var(--muted)}.an-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}@media (max-width:900px){.an-grid-2{grid-template-columns:minmax(0,1fr)}}.an-links{display:flex;flex-wrap:wrap;gap:.5rem}.an-list{display:grid;gap:.75rem;margin:0;padding:0;list-style:none}.an-list__item{padding:.75rem .9rem;border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--bg-elevated)}.an-list__head{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.8125rem}.an-list__text{margin:.35rem 0 0;font-size:.8125rem;line-height:1.45;color:var(--fg)}.an-chips{display:flex;flex-wrap:wrap;gap:.3rem;margin:.45rem 0 0;padding:0;list-style:none}.an-chips .ds-tag{margin-inline-start:0}.an-map{height:420px;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line-soft)}.an-map__loading{display:flex;height:420px;align-items:center;justify-content:center;font-size:.875rem;color:var(--muted)}@media (max-width:640px){.an-map,.an-map__loading{height:320px}}.an-chart{display:block;width:100%;height:auto;min-height:160px}.an-chart__grid{stroke:var(--line-soft);stroke-width:1}.an-chart__tick{fill:var(--muted-soft);font-size:10px}.an-chart__line{fill:none;stroke:var(--brand);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.an-chart__area,.an-chart__dot{fill:var(--brand)}.an-chart__area{opacity:.1}.an-chart__dot--last{stroke:var(--bg-elevated);stroke-width:1.5}.an-chart__halo{fill:var(--brand);opacity:.16}.an-chart__tip{fill:var(--fg)}.an-chart__tip-text{fill:#fff;font-size:11px;font-weight:700}.an-chart__bar{fill:var(--brand);opacity:.85}.an-bars{display:grid;gap:.6rem;margin:0;padding:0;list-style:none}.an-bars__row{display:grid;grid-template-columns:minmax(7rem,11rem) minmax(0,1fr) auto;align-items:center;gap:.6rem;font-size:.8125rem}@media (max-width:520px){.an-bars__row{grid-template-columns:minmax(0,1fr) auto}.an-bars__tracks{grid-column:1/-1;grid-row:2}}.an-bars--stacked .an-bars__row{grid-template-columns:minmax(0,1fr) auto}.an-bars--stacked .an-bars__tracks{grid-column:1/-1;grid-row:2}.an-bars__label{display:flex;align-items:center;gap:.4rem;min-width:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.an-bars__rank{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:1.4rem;height:1.4rem;border-radius:999px;background:var(--brand-soft);color:var(--brand-hover);font-size:.7rem;font-weight:700}.an-bars__tracks{display:grid;gap:3px}.an-bars__track{height:.55rem;border-radius:999px;background:var(--bg-muted);overflow:hidden}.an-bars__fill{display:block;height:100%;border-radius:999px;background:var(--brand)}.an-bars__track--prev .an-bars__fill{background:var(--brand-100)}.an-bars__value{font-weight:700;white-space:nowrap}.an-bars__value small{font-weight:500;color:var(--muted)}.an-bars--interactive{min-height:8rem;align-content:start}.an-bars--interactive .an-bars__row{position:relative;outline:none;transition:opacity .15s ease}.an-bars--interactive:has(.an-bars__row:is(:hover,:focus-visible)) .an-bars__row:not(:is(:hover,:focus-visible)){opacity:.45}.an-bars__tip{display:none;position:absolute;z-index:5;top:calc(100% + 4px);inset-inline-start:11.6rem;flex-direction:column;gap:2px;width:max-content;max-width:calc(100% - 11.6rem);padding:.6rem .75rem;border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--bg-elevated);box-shadow:var(--shadow-md);color:var(--fg);font-size:.75rem;pointer-events:none}.an-bars__tip strong{font-size:.8125rem}.an-bars__tip small{color:var(--muted);font-size:.6875rem}.an-bars--interactive .an-bars__row:last-child .an-bars__tip{top:auto;bottom:calc(100% + 4px)}.an-bars--interactive .an-bars__row:is(:hover,:focus-visible) .an-bars__tip{display:flex}@media (max-width:520px){.an-bars__tip{inset-inline-start:0;max-width:100%}}.ds-gauge-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:1rem}.ds-gauge-card{display:flex;flex-direction:column;align-items:stretch;gap:.35rem;padding:1.15rem 1.25rem;border-radius:var(--r-md);border:1px solid var(--line-soft);background:var(--bg-elevated);min-width:0}.ds-gauge-card__title{margin:0;font-size:.8125rem;font-weight:700;color:var(--fg)}.ds-gauge-card__hint{margin:0 0 .25rem;font-size:.7rem;line-height:1.35;color:var(--muted-soft)}@media (max-width:767px){.ds-gauge-card__hint{display:none}}.ds-sensor-state{display:flex;flex-direction:column;gap:.75rem;margin:.35rem 0 0;padding:0;list-style:none}.ds-sensor-state__top{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;font-size:.75rem;color:var(--fg)}.ds-sensor-state__label{font-weight:500}.ds-sensor-state__value{font-weight:700;font-variant-numeric:tabular-nums}.ds-sensor-state .pbar{height:8px;margin-top:.3rem}.ds-arc-gauge__wrap{position:relative;display:flex;flex-direction:column;align-items:center}.ds-arc-gauge__svg{width:100%;height:auto;display:block}.ds-arc-gauge__needle{stroke:var(--muted);stroke-width:3;stroke-linecap:round}.ds-arc-gauge__hub{fill:var(--muted)}.ds-arc-gauge__value{margin:-.35rem 0 0;font-size:1.125rem;font-weight:800;text-align:center}.ds-arc-gauge__value--success{color:var(--success)}.ds-arc-gauge__value--warning{color:var(--warning)}.ds-arc-gauge__value--danger{color:var(--danger)}.ds-arc-gauge__value--info{color:var(--brand)}.ds-smart-bin-fill__wrap{display:flex;align-items:center;justify-content:flex-start;gap:1rem;padding:.25rem 0}.ds-smart-bin-fill__svg{flex:0 0 auto;height:5.5rem;width:auto;aspect-ratio:88/105;display:block;overflow:hidden;--bin-top:#9bddb5;--bin-bottom:#5dbb86}.ds-smart-bin-fill__svg--mid{--bin-top:#f6db93;--bin-bottom:#e8b957}.ds-smart-bin-fill__svg--high{--bin-top:#f5b88c;--bin-bottom:#e8935c}.ds-smart-bin-fill__svg--crit{--bin-top:#f29a96;--bin-bottom:#e06a66}@media (min-width:768px){.ds-smart-bin-fill__svg{height:6.25rem}}@media (min-width:1280px){.ds-smart-bin-fill__svg{height:7.5rem}}.ds-smart-bin-fill__empty{fill:#f3f8f4}.ds-smart-bin-fill__outline{fill:none;stroke:#8fb09c;stroke-width:1.5;stroke-linejoin:round}.ds-smart-bin-fill__lid{fill:#e4efe8;stroke:#8fb09c;stroke-width:1.2}.ds-smart-bin-fill__wheel{fill:#c9dacf;stroke:#8fb09c;stroke-width:1}.ds-smart-bin-fill__sensor{fill:var(--brand);opacity:.85}.ds-smart-bin-fill__ribs{fill:none;stroke:#fff;stroke-width:1;stroke-linecap:round;opacity:.55}.ds-smart-bin-fill__shine{fill:none;stroke:#fff;stroke-width:1.2;opacity:.7}.ds-smart-bin-fill__stop--top{stop-color:var(--bin-top)}.ds-smart-bin-fill__stop--bottom{stop-color:var(--bin-bottom)}@media (prefers-reduced-motion:no-preference){.ds-smart-bin-fill__stop{transition:stop-color .8s ease-in-out}.ds-smart-bin-fill__wave{animation:ds-bin-wave 9s linear infinite}}@keyframes ds-bin-wave{to{transform:translateX(40px)}}.ds-smart-bin-fill__meta{display:flex;flex-direction:column;gap:.2rem;min-width:0;flex:1 1 0}.ds-smart-bin-fill__value{font-size:1.35rem;font-weight:800;line-height:1.1;color:var(--fg)}@media (min-width:768px){.ds-smart-bin-fill__value{font-size:1.5rem}}.ds-smart-bin-fill__band{align-self:flex-start}.ds-smart-bin-fill__scale{position:relative;display:flex;gap:2px;margin-top:.35rem;height:5px}.ds-smart-bin-fill__seg{min-width:2px;border-radius:3px}.ds-smart-bin-fill__seg--ok{background:var(--success)}.ds-smart-bin-fill__seg--mid{background:var(--warning);opacity:.5}.ds-smart-bin-fill__seg--high{background:var(--warning)}.ds-smart-bin-fill__seg--crit{background:var(--danger)}.ds-smart-bin-fill__marker{position:absolute;top:50%;width:11px;height:11px;margin:-5.5px 0 0 -5.5px;border-radius:999px;background:var(--bg-elevated);border:2px solid var(--fg);box-sizing:border-box}.ds-smart-bin-fill__note{font-size:.7rem;line-height:1.35;color:var(--muted-soft)}.ds-vertical-level__wrap{display:flex;align-items:center;justify-content:center;gap:.85rem;padding:.25rem 0}.ds-vertical-level__track{position:relative;width:2.25rem;height:9.5rem;border-radius:999px;overflow:hidden;display:flex;flex-direction:column-reverse;box-shadow:inset 0 0 0 1px var(--line-soft)}.ds-vertical-level__seg{flex:1;min-height:0}.ds-vertical-level__seg--1{background:var(--success)}.ds-vertical-level__seg--2{background:color-mix(in srgb,var(--brand) 75%,var(--success))}.ds-vertical-level__seg--3{background:var(--brand)}.ds-vertical-level__seg--4{background:var(--warning)}.ds-vertical-level__seg--5{background:var(--danger)}.ds-vertical-level__marker{position:absolute;left:100%;margin-left:2px;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:9px solid var(--fg);transform:translateY(50%);pointer-events:none}.ds-vertical-level__meta{display:flex;flex-direction:column;gap:.15rem;min-width:0}.ds-vertical-level__value{font-size:1.25rem;font-weight:800;line-height:1.1;color:var(--fg)}.ds-vertical-level__band{font-size:.75rem;font-weight:600;color:var(--muted)}.ds-spectrum-meter__bar{position:relative;height:1.35rem;border-radius:999px;background:linear-gradient(90deg,var(--success) 0,var(--brand) 35%,var(--warning) 70%,var(--danger) 100%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--line) 80%,transparent)}.ds-spectrum-meter__marker{position:absolute;top:50%;width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-top:10px solid var(--fg);transform:translate(-50%,-100%)}.ds-spectrum-meter__labels{display:flex;justify-content:space-between;margin-top:.35rem;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.ds-spectrum-meter__value{margin:.5rem 0 0;font-size:1rem;font-weight:800;text-align:center;color:var(--fg)}.donut-grid__list{display:grid;gap:1.25rem .75rem}.donut-grid[data-count="4"] .donut-grid__list,.donut-grid__list{grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:768px){.donut-grid[data-count="4"] .donut-grid__list{grid-template-columns:repeat(4,minmax(0,1fr))}.donut-grid[data-count="2"] .donut-grid__list{max-width:28rem}}.donut-grid__cell{display:flex;min-width:0;flex-direction:column;align-items:center;gap:.5rem;text-align:center}.donut-grid__ring{position:relative;width:7rem;height:7rem;max-width:100%}.donut-grid__center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.donut-grid__label{display:grid;grid-template-columns:auto minmax(0,auto);align-items:start;justify-content:center;gap:.4rem;font-size:.8125rem;font-weight:600;line-height:1.25;text-align:start;overflow-wrap:break-word}.donut-grid__swatch{width:.625rem;height:.625rem;margin-top:.15rem}.donut-grid__pct{font-size:.75rem;color:var(--muted)}.ds-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:700}.ds-badge--info{background:#eff6ff;color:#1d4ed8}.ds-badge .nav-icon{width:11px;height:11px;margin-inline-end:4px;opacity:1}.ds-badge--danger{background:#fef2f2;color:#dc2626}.ds-badge--warning{background:#fffbeb;color:#b45309}.ds-badge--success{background:var(--brand-50);color:var(--brand)}.badge-status{display:inline-flex;align-items:center;padding:.2rem .65rem;border-radius:999px;font-size:.75rem;font-weight:700;line-height:1.3;white-space:nowrap}.badge-status.badge-success{background:var(--brand-50);color:var(--brand)}.badge-status.badge-info{background:#eff6ff;color:#1d4ed8}.badge-status.badge-warning{background:#fffbeb;color:#b45309}.badge-status.badge-danger{background:#fef2f2;color:#dc2626}.badge-status.badge-neutral,.badge-status.badge-secondary{background:#f1f5f9;color:#64748b}.ds-tag{display:inline-flex;align-items:center;margin-left:.35rem;padding:.1rem .4rem;border-radius:4px;font-size:.7rem;font-weight:700;white-space:nowrap}.ds-tag--danger{background:#fef2f2;color:#dc2626}.ds-tag--warning{background:#fffbeb;color:#b45309}.badge-type{display:inline-flex;font-size:.75rem;font-weight:600}.badge-type--collectivite{color:#c2410c}.badge-type--entreprise{color:#2563eb}.badge-type--association{color:var(--brand)}.ds-modal{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:1rem}.ds-modal__backdrop{position:absolute;inset:0;border:none;background:rgba(15,23,42,.45);cursor:pointer}.ds-modal__dialog{position:relative;z-index:1;width:min(42rem,100%);max-height:min(92vh,820px);display:flex;flex-direction:column;background:#fff;border-radius:var(--r-lg);border:1px solid var(--line-soft);box-shadow:0 20px 50px rgba(15,23,42,.22);overflow:hidden}.ds-modal__dialog--sm{width:min(28rem,100%)}.ds-modal__dialog--lg{width:min(56rem,100%)}.ds-modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;border-bottom:1px solid var(--line-soft);background:#fafbfc}.ds-modal__head h3{margin:0;font-size:1.05rem;font-weight:700}.ds-modal__sub{margin:.2rem 0 0;font-size:.8125rem;color:var(--muted);font-weight:600}.ds-modal__close{border:none;background:transparent;font-size:1.5rem;line-height:1;color:var(--muted);cursor:pointer;padding:0 .25rem}.ds-modal__close:hover{color:var(--fg)}.ds-modal__form{display:flex;flex-direction:column;flex:1;min-height:0}.ds-modal__body{padding:1rem 1.15rem;display:flex;flex-direction:column;gap:.85rem}.ds-modal__body--scroll{overflow-y:auto;flex:1;min-height:0}.ds-modal__footer{display:flex;justify-content:flex-end;gap:.5rem;padding:.85rem 1.15rem;border-top:1px solid var(--line-soft);background:#fafbfc;flex-shrink:0}.ds-modal--plain .ds-modal__footer,.ds-modal--plain .ds-modal__head{background:#fff}.ds-alert{margin:0;border-radius:var(--r-md);padding:.75rem 1rem;font-size:.875rem}.ds-alert--danger{border:1px solid #fecaca;background:#fef2f2;color:#b91c1c}.ds-alert--success{border:1px solid var(--brand-200);background:var(--brand-50);color:var(--brand)}.ds-alert--warning{border:1px solid #fcd34d;background:#fffbeb;color:#b45309}.ds-count-pill{display:inline-flex;align-items:center;justify-content:center;min-width:1.75rem;height:1.75rem;padding:0 .5rem;border-radius:999px;background:var(--brand-50);color:var(--brand-hover);font-size:.75rem;font-weight:700}.table-shell--flush{border:none;border-radius:0;box-shadow:none}.actions-cell--start{justify-content:flex-start}.form-field{display:flex;flex-direction:column;gap:.35rem;font-size:.875rem}.form-field>span{font-weight:600;color:var(--fg)}.input-light--area{min-height:80px;resize:vertical}.ds-modal__intro{margin:0;font-size:.8125rem;color:var(--muted)}.ds-modal__section-title{display:flex;align-items:baseline;gap:.5rem;margin:.35rem 0 0;padding-top:.85rem;border-top:1px solid var(--line-soft);font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.ds-modal__section-title small{font-size:.75rem;font-weight:500;letter-spacing:0;text-transform:none}.form-field__req{color:var(--danger)}.form-field>.form-field__hint{font-size:.75rem;font-weight:400;color:var(--muted)}.form-field>.form-field__error{font-size:.8125rem;font-weight:600;color:#b91c1c}.input-light[aria-invalid=true]{border-color:var(--danger)}.input-light[aria-invalid=true]:focus{box-shadow:0 0 0 3px #fee2e2}.bg-access-panel{display:flex;flex-direction:column;gap:.65rem}.bg-access-panel__title{margin:0;font-size:.9rem;font-weight:700}.bg-access-create{border:1px solid var(--line-soft);border-radius:var(--r-md);overflow:hidden;background:#fff}.bg-access-create__toggle{display:flex;width:100%;align-items:center;justify-content:space-between;gap:.75rem;border:none;background:#fafbfc;padding:.85rem 1rem;cursor:pointer;text-align:left;font-size:.8125rem}.bg-access-create__toggle:hover{background:#f1f5f9}.bg-access-create__body{padding:1rem;border-top:1px solid var(--line-soft);display:flex;flex-direction:column;gap:.75rem}.pwd-input-wrap{position:relative;display:flex;align-items:center}.pwd-input-wrap .input-light{padding-right:4.5rem}.pwd-toggle{position:absolute;right:.4rem;border:none;background:transparent;color:var(--brand-hover);font-size:.75rem;font-weight:700;cursor:pointer;padding:.35rem .5rem}.pwd-helper{align-items:center;justify-content:space-between;gap:.5rem;margin-top:.35rem;font-size:.75rem;color:var(--muted)}.ds-search,.pwd-helper{display:flex}@media (prefers-reduced-motion:reduce){.bg-drawer,.map-marker-batt,.map-marker-disc--pulse,.map-marker-pin--pulse,.map-marker-wifi{animation:none!important}}.nav-progress{position:fixed;inset:0 0 auto 0;z-index:9999;height:3px;background:var(--brand);transform-origin:left;animation:nav-progress 8s cubic-bezier(.1,.6,.2,1) forwards;pointer-events:none}[dir=rtl] .nav-progress{transform-origin:right}@keyframes nav-progress{0%{transform:scaleX(.05)}to{transform:scaleX(.92)}}@media (prefers-reduced-motion:reduce){.nav-progress{animation:none;transform:scaleX(.6)}}@media (max-width:1200px){.ds-kpi-grid--decision{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:1100px){.ds-kpi-grid,.ds-kpi-grid--decision{grid-template-columns:repeat(2,minmax(0,1fr))}.ds-row--bottom,.ds-row--map{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ds-table td,.ds-table th,.table-shell td,.table-shell th{white-space:nowrap}}@media (max-width:600px){.ds-kpi-grid,.ds-kpi-grid--decision{grid-template-columns:1fr}.stats-grid{gap:.65rem}.stat-card{flex-direction:column;align-items:flex-start;gap:.6rem;padding:.85rem}.stat-icon{width:36px;height:36px;border-radius:10px}.stat-icon .nav-icon,.stat-icon svg{width:18px;height:18px}.stat-value{font-size:1.25rem}.ds-panel__head .btn-brand,.ds-panel__head .ds-cta{flex:1 1 100%;justify-content:center}.ds-filter{flex:1 1 140px}.ds-filter select,.ds-search input,.input-light{font-size:16px}}@media (max-width:360px){.stats-grid{grid-template-columns:1fr}}.tech-app{min-height:100dvh;display:flex;flex-direction:column;background:radial-gradient(120% 80% at 0 0,var(--brand-50) 0,transparent 55%),radial-gradient(90% 60% at 100% 0,var(--brand-50) 0,transparent 45%),#f8fafc;color:var(--fg);padding-bottom:4.5rem}.tech-top{justify-content:space-between;gap:.75rem;padding:.85rem 1rem;background:#fff;border-bottom:1px solid var(--line-soft);position:sticky;top:0;z-index:20}.tech-top,.tech-top__brand{display:flex;align-items:center}.tech-top__brand{gap:.65rem;min-width:0}.tech-top__title{font-weight:700;font-size:.95rem;line-height:1.2}.tech-top__sub{font-size:.72rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:12rem}.tech-top__logout{border:1px solid var(--line-soft);background:#fff;border-radius:999px;padding:.4rem .75rem;font-size:.8rem;font-weight:600;color:var(--muted)}.tech-main{flex:1;width:100%;max-width:32rem;margin:0 auto;padding:1rem 1rem 2rem}.tech-nav{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-top:1px solid var(--line-soft);padding:.35rem .5rem calc(.35rem + env(safe-area-inset-bottom));z-index:30}.tech-nav__item{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.45rem;font-size:.7rem;font-weight:600;color:var(--muted);text-decoration:none;background:none;border:0;min-height:44px}.tech-nav__item.is-active{color:var(--brand-hover)}.tech-hello h1{font-size:1.65rem;font-weight:800;letter-spacing:-.02em;margin:.25rem 0 .15rem}.tech-hello p{color:var(--muted);font-size:.9rem;margin:0 0 1rem}.tech-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:1.25rem}.tech-summary__item{background:#fff;border:1px solid var(--line-soft);border-radius:1rem;padding:.75rem .5rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.2rem}.tech-summary__item strong{font-size:1.45rem;font-weight:800;line-height:1}.tech-summary__item span:last-child{font-size:.7rem;color:var(--muted)}.tech-dot{width:.55rem;height:.55rem;border-radius:999px;display:inline-block}.tech-dot--p1{background:#ef4444}.tech-dot--p2{background:#f59e0b}.tech-dot--p3{background:#eab308}.tech-dot--ok{background:var(--success)}.tech-list{display:flex;flex-direction:column;gap:.75rem}.tech-card{background:#fff;border:1px solid var(--line-soft);border-radius:1.1rem;padding:1rem;box-shadow:0 1px 2px rgba(15,23,42,.04)}.tech-card__head{display:flex;align-items:flex-start;gap:.65rem}.tech-card__head h2{margin:0;font-size:1.1rem;font-weight:800}.tech-card__commune{margin:.1rem 0 0;color:var(--muted);font-size:.85rem}.tech-card__symptom{margin:.65rem 0 .2rem;font-weight:600;font-size:.95rem}.tech-card__since{margin:0;font-size:.8rem;color:var(--muted)}.tech-card__actions{display:flex;gap:.5rem;margin-top:.85rem}.tech-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.65rem 1rem;border-radius:.85rem;font-weight:700;font-size:.92rem;text-decoration:none;border:1px solid transparent;cursor:pointer;flex:1}.tech-btn:disabled{opacity:.55;cursor:not-allowed}.tech-btn--primary{background:var(--brand);color:#fff}.tech-btn--primary:hover:not(:disabled){background:var(--brand-hover)}.tech-btn--ghost{background:#fff;border-color:var(--line-soft);color:var(--fg)}.tech-btn--xl{width:100%;min-height:52px;font-size:1rem}.tech-btn--finish{width:100%;min-height:56px;margin-top:1rem;margin-bottom:1rem;background:var(--brand);color:#fff;border:0;border-radius:1rem;font-size:1.05rem;font-weight:800;letter-spacing:.01em;box-shadow:0 8px 20px rgba(21,128,61,.25)}.tech-empty{text-align:center;padding:2.5rem 1rem;color:var(--muted);background:#fff;border-radius:1rem;border:1px dashed var(--line-soft)}.tech-alert{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:.75rem;padding:.75rem 1rem;font-size:.88rem}.tech-alert,.tech-back{margin-bottom:.75rem}.tech-back a{color:var(--muted);font-size:.88rem;font-weight:600;text-decoration:none}.tech-brief h1,.tech-work h1{font-size:1.5rem;font-weight:800;margin:0 0 .75rem}.tech-dl{background:#fff;border:1px solid var(--line-soft);border-radius:1rem;padding:.25rem 1rem;margin:0 0 1rem}.tech-dl>div{display:grid;grid-template-columns:8.5rem 1fr;gap:.5rem;padding:.7rem 0;border-bottom:1px solid var(--line-soft);font-size:.92rem}.tech-dl>div:last-child{border-bottom:0}.tech-dl dt{color:var(--muted);font-weight:500}.tech-dl dd{margin:0;font-weight:650}.tech-brief__cta{display:flex;flex-direction:column;gap:.6rem}.tech-muted{color:var(--muted);font-size:.88rem;margin:0 0 1rem}.tech-fieldset{border:1px solid var(--line-soft);background:#fff;border-radius:1rem;padding:.85rem 1rem 1rem;margin:0 0 .85rem}.tech-fieldset legend{font-weight:800;font-size:.85rem;padding:0 .25rem}.tech-checks,.tech-radios{list-style:none;margin:.35rem 0 0;padding:0;display:flex;flex-direction:column;gap:.15rem}.tech-checks label,.tech-radios label{display:flex;align-items:center;gap:.65rem;min-height:44px;padding:.2rem .15rem;font-size:.95rem;font-weight:550;cursor:pointer}.tech-checks input,.tech-radios input{width:1.15rem;height:1.15rem;accent-color:var(--brand);flex-shrink:0}.tech-checks--readonly{gap:.25rem}.tech-checks--readonly li{font-weight:650}.tech-photos{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:.5rem}.tech-photo{border:1px dashed var(--line-soft);border-radius:.9rem;min-height:5.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;cursor:pointer;position:relative;font-weight:700}.tech-photo input{position:absolute;opacity:0;inset:0;cursor:pointer}.tech-photo.is-on{border-style:solid;border-color:var(--brand);background:var(--brand-50);color:var(--brand-hover)}.tech-photo__cam{font-size:1.4rem}.tech-hint{margin:.5rem 0 0;font-size:.75rem;color:var(--muted)}.tech-obs{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:700;margin-bottom:.5rem}.tech-obs input{min-height:48px;border:1px solid var(--line-soft);border-radius:.85rem;padding:.65rem .85rem;font-size:1rem;font-weight:500;background:#fff}.tech-obs input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.tech-success{text-align:center;padding:3rem 1rem}.tech-success__icon{width:4rem;height:4rem;margin:0 auto 1rem;border-radius:999px;background:var(--brand);color:#fff;font-size:2rem;display:grid;place-items:center;font-weight:800}.tech-success h1{font-size:1.4rem;margin:0 0 .35rem}.tech-success p{color:var(--muted);margin:0 0 1.25rem}.tech-journal{list-style:none;margin:0 0 1.25rem;padding:0;text-align:left;background:#fff;border:1px solid var(--line-soft);border-radius:1rem;overflow:hidden}.tech-journal li{display:flex;flex-direction:column;gap:.15rem;padding:.75rem 1rem;border-bottom:1px solid var(--line-soft);font-size:.88rem}.tech-journal li:last-child{border-bottom:0}.tech-journal time{font-size:.72rem;color:var(--muted)}.tech-journal strong{font-weight:700}.tech-journal span{color:var(--muted);font-size:.8rem}.tech-toast{display:flex;flex-direction:column;gap:.15rem;background:var(--brand-50);border:1px solid var(--brand-200);color:var(--brand-hover);border-radius:.9rem;padding:.75rem 1rem;margin-bottom:.85rem;font-size:.88rem;animation:tech-toast-in .25s ease}.tech-toast strong{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}@keyframes tech-toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.tech-modal{position:fixed;inset:0;z-index:50;background:rgba(15,23,42,.45);display:grid;place-items:center;padding:1rem}.tech-modal__card{width:min(100%,22rem);background:#fff;border-radius:1.1rem;padding:1.25rem;box-shadow:0 16px 40px rgba(15,23,42,.2)}.tech-modal__card h2{margin:0 0 .5rem;font-size:1.1rem;font-weight:800}.tech-modal__card p{margin:0 0 1rem;color:var(--muted);font-size:.92rem;line-height:1.45}.tech-modal__actions{display:flex;flex-direction:column;gap:.5rem}.tech-gps{margin-bottom:.5rem}.tech-gps__state{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.9rem;font-weight:600}.tech-gps__dot{flex:none;width:.65rem;height:.65rem;border-radius:999px;background:#94a3b8}.tech-gps__dot--recent{background:var(--success)}.tech-gps__dot--stale{background:#f59e0b}.tech-bin-pick{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;min-height:52px;padding:.65rem .85rem;text-align:left;background:#fff;border:1px solid var(--line-soft);border-radius:.85rem;cursor:pointer;font:inherit;color:inherit}.tech-bin-pick.is-selected{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand)}.tech-bin-pick__main{min-width:0}.tech-bin-pick__main strong{display:block;overflow-wrap:anywhere}.tech-bin-pick__dist{flex:none;font-weight:700;white-space:nowrap}.tech-bin-pick__tier{display:inline-block;margin-inline-end:.45rem;padding:.05rem .45rem;border-radius:999px;font-size:.7rem;font-weight:700;vertical-align:middle;background:#e2e8f0;color:#334155}.tech-bin-pick__tier--full{background:#fee2e2;color:#b91c1c}.tech-bin-pick__tier--nearly{background:#fef3c7;color:#92400e}.tech-bin-pick__tier--check{background:#e2e8f0;color:#475569}.tech-chips{display:flex;flex-wrap:wrap;gap:.4rem}.tech-chip{min-height:40px;padding:.35rem .85rem;border:1px solid var(--line-soft);border-radius:999px;background:#fff;font:inherit;font-size:.85rem;font-weight:600;cursor:pointer}.tech-chip.is-active{border-color:var(--brand);background:var(--brand);color:#fff}@media (min-width:768px){.tech-main{padding-top:1.5rem}}.tech-route{display:grid;gap:.35rem;margin-top:.5rem;padding:.65rem .75rem;border:1px solid var(--line-soft);border-radius:.85rem;background:var(--brand-50)}.tech-route__title{margin:0;font-size:.8rem;font-weight:700;color:var(--muted)}.tech-route__figures{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;margin:0;font-size:1.15rem;font-weight:800}.tech-route__note{margin:0;font-size:.8rem;color:var(--muted);overflow-wrap:anywhere}.tech-route__steps{display:grid;gap:.25rem;margin:0;padding:0;list-style:none;font-size:.85rem}.tech-route__steps li{display:flex;justify-content:space-between;gap:.75rem}.tech-route__steps span:first-child{min-width:0;overflow-wrap:anywhere}.tech-route__steps span:last-child{flex:none;font-weight:700;white-space:nowrap}.tech-card__actions--wrap{flex-wrap:wrap}.tech-card__actions--wrap>.tech-btn{flex:1 1 9rem;min-width:0}.tech-map{height:clamp(320px,58dvh,640px);border-radius:var(--r-lg)}.tech-home-map{margin-bottom:1rem}.tech-home-map__hint{margin:.4rem 0 0;font-size:.75rem;color:var(--muted);text-align:center}.driver-app{--driver-top:56px;--driver-nav:64px;min-height:100dvh;background:var(--bg);color:var(--fg);overflow-x:hidden}.driver-top{position:fixed;top:0;left:0;right:0;z-index:1200;height:var(--driver-top);display:flex;align-items:center;gap:8px;padding:0 8px 0 12px;background:var(--bg-elevated);border-bottom:1px solid var(--line-soft)}.driver-top .brand-mark--tech{flex:none;width:32px;height:32px;border-radius:10px}.driver-top__plate{flex:1 1 auto;min-width:0;font-size:16px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.driver-top__pills{display:flex;gap:6px;flex:none}.driver-icon-btn{flex:none;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:0;border-radius:var(--r-md);background:transparent;color:var(--brand-hover);cursor:pointer}.driver-icon-btn .nav-icon{width:24px;height:24px;--ico-a:currentColor;--ico-b:currentColor;--ico-neutral:currentColor;--ico-dark:currentColor}.driver-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap;background:var(--brand-50);color:var(--brand-hover)}.driver-pill__dot{width:8px;height:8px;border-radius:999px;background:currentColor}.driver-pill--wait{background:color-mix(in srgb,var(--warning) 14%,#fff);color:#b45309}.driver-pill--error{background:color-mix(in srgb,var(--danger) 12%,#fff);color:#b91c1c}.driver-pill--neutral{background:var(--bg-muted);color:var(--muted)}.driver-nav{position:fixed;left:0;right:0;bottom:0;z-index:1200;display:grid;grid-template-columns:repeat(4,1fr);height:calc(var(--driver-nav) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--bg-elevated);border-top:1px solid var(--line-soft)}.driver-nav__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;min-height:48px;border:0;background:transparent;font:inherit;font-size:12px;font-weight:700;color:var(--muted);text-decoration:none;cursor:pointer}.driver-nav__item .nav-icon{width:24px;height:24px;--ico-a:currentColor;--ico-b:currentColor;--ico-neutral:currentColor;--ico-dark:currentColor}.driver-nav__item.is-active{color:var(--brand-hover);background:var(--brand-50)}.driver-main{padding:calc(var(--driver-top) + 16px) 16px calc(var(--driver-nav) + 24px + env(safe-area-inset-bottom));max-width:32rem;margin:0 auto}.driver-app--bleed .driver-main{position:fixed;top:var(--driver-top);bottom:calc(var(--driver-nav) + env(safe-area-inset-bottom));left:0;right:0;max-width:none;margin:0;padding:0;overflow:hidden}.driver-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;padding:0 16px;border-radius:var(--r-md);border:2px solid var(--brand);background:var(--brand);color:#fff;font:inherit;font-size:16px;font-weight:700;text-decoration:none;cursor:pointer}.driver-btn:active:not(:disabled){background:var(--brand-hover)}.driver-btn--secondary{background:var(--bg-elevated);color:var(--brand-hover)}.driver-btn--danger{background:#b91c1c;border-color:#b91c1c}.driver-btn:disabled{background:var(--bg-muted);border-color:var(--line);color:var(--muted-soft);cursor:not-allowed}.driver-actions{display:flex;gap:8px}.driver-actions>*{flex:1 1 0;min-width:0}.driver-actions--stack{flex-direction:column}.driver-stage{position:absolute;inset:0;background:#e8eef3}.driver-stage .leaflet-container{height:100%;width:100%}.driver-note{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:12px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--bg-elevated);box-shadow:var(--shadow-md);font-size:14px;line-height:1.35}.driver-note strong{font-weight:800}.driver-note--wait{border-color:color-mix(in srgb,var(--warning) 45%,#fff);background:color-mix(in srgb,var(--warning) 8%,#fff);color:#92400e}.driver-note--error{border-color:color-mix(in srgb,var(--danger) 40%,#fff);background:color-mix(in srgb,var(--danger) 6%,#fff);color:#991b1b}.driver-note .driver-btn{min-height:48px;width:auto;font-size:14px}.driver-fab{position:absolute;right:12px;bottom:12px;z-index:1100;width:48px;height:48px;border-radius:999px;border:1px solid var(--line);background:var(--bg-elevated);color:var(--brand-hover);box-shadow:var(--shadow-md);font-size:22px;line-height:1;cursor:pointer}.driver-fab--full{bottom:68px}.driver-fab .nav-icon{width:24px;height:24px;--ico-a:currentColor;--ico-b:currentColor;--ico-neutral:currentColor;--ico-dark:currentColor}.driver-fab:disabled{color:var(--muted-soft);cursor:not-allowed}.driver-page{display:flex;flex-direction:column;gap:12px}.driver-page h1{margin:0;font-size:24px;font-weight:800;letter-spacing:-.02em}.driver-card{display:flex;flex-direction:column;gap:8px;padding:16px;background:var(--bg-elevated);border:1px solid var(--line-soft);border-radius:var(--r-lg);box-shadow:var(--shadow-xs)}.driver-card h2{margin:0;font-size:18px;font-weight:800}.driver-text{margin:0;font-size:14px;line-height:1.4;color:var(--muted)}.driver-text strong{color:var(--fg)}.driver-empty{align-items:center;text-align:center;padding:24px 16px}.driver-list{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.driver-bin{display:grid;grid-template-columns:32px 44px minmax(0,1fr);align-items:center;gap:12px;width:100%;min-height:72px;padding:10px 12px;text-align:left;font:inherit;color:inherit;background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--r-md);cursor:pointer}.driver-bin.is-next{border:2px solid var(--brand)}.driver-bin__rank{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;font-size:14px;font-weight:800;background:var(--bg-muted);color:var(--muted)}.driver-bin.is-next .driver-bin__rank{background:var(--brand);color:#fff}.driver-bin__main{display:flex;flex-direction:column;min-width:0}.driver-bin__main strong{font-size:18px;font-weight:800}.driver-bin__main span{font-size:14px;line-height:1.35;color:var(--muted)}.driver-sheet-wrap{position:fixed;inset:0;z-index:1300;display:flex;align-items:flex-end;background:rgba(15,23,42,.45)}.driver-sheet{width:100%;max-width:32rem;margin:0 auto;max-height:90dvh;overflow-y:auto;padding:8px 16px calc(16px + env(safe-area-inset-bottom));background:var(--bg-elevated);border-radius:20px 20px 0 0}.driver-sheet__grip{display:block;width:36px;height:4px;margin:0 auto 4px;border-radius:999px;background:var(--line)}.driver-sheet__head{display:flex;align-items:center;justify-content:space-between}.driver-sheet__head h2{margin:0;font-size:20px;font-weight:800}.driver-menu{margin:0;padding:0;list-style:none}.driver-menu__row{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:0 4px;border:0;background:none;font:inherit;font-size:16px;font-weight:600;color:var(--fg);text-decoration:none;text-align:left;cursor:pointer}.driver-menu__row .nav-icon{flex:none;width:24px;height:24px}.driver-menu__label{flex:1;min-width:0}.driver-menu__row--danger{color:#b91c1c}.driver-glyph{position:relative;flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--r-md);background:var(--brand-50);color:var(--brand-hover);--ico-a:currentColor;--ico-b:currentColor;--ico-neutral:currentColor;--ico-dark:currentColor}.driver-glyph .nav-icon{width:60%;height:60%}.driver-glyph--lg{width:64px;height:64px}.driver-glyph--full{background:color-mix(in srgb,var(--danger) 12%,#fff);color:#b91c1c}.driver-glyph--nearly{background:color-mix(in srgb,var(--warning) 16%,#fff);color:#b45309}.driver-glyph--collected{background:var(--brand);color:#fff}.driver-glyph--check{background:var(--bg-muted);color:var(--muted-soft)}.driver-glyph--check:after{content:"";position:absolute;left:18%;right:18%;top:50%;height:3px;border-radius:999px;background:var(--muted);transform:rotate(-45deg)}.driver-subtitle{margin:8px 0 0;font-size:16px;font-weight:800;color:var(--muted)}.driver-app--full .driver-nav,.driver-app--full .driver-top{display:none}.driver-app--full.driver-app--bleed .driver-main{position:fixed;inset:0;height:100dvh}.driver-app--full .driver-fab{right:calc(12px + env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom))}.driver-app--full .driver-fab--full{top:calc(12px + env(safe-area-inset-top));bottom:auto;width:52px;height:52px}.page-forfaits-admin .forfaits-pricing{margin-bottom:var(--ds-section-gap,1.5rem)}.forfaits-pricing__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.75rem 1rem;margin-bottom:1rem}.forfaits-pricing__title{margin:0;font-size:1.125rem;font-weight:700;color:var(--ds-fg,#0f172a);letter-spacing:-.02em}.forfaits-pricing__hint{margin:0;font-size:.8125rem;color:var(--ds-fg-muted,#64748b);max-width:42rem}.forfaits-pricing__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;align-items:stretch}@media (max-width:1199px){.forfaits-pricing__grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:599px){.forfaits-pricing__grid{grid-template-columns:1fr}}.tier-card{position:relative;display:flex;flex-direction:column;background:var(--ds-surface,#fff);border:1px solid var(--ds-border,#e2e8f0);border-radius:14px;box-shadow:0 4px 14px rgba(15,23,42,.06);overflow:hidden;min-height:100%;transition:box-shadow .2s ease,transform .2s ease}.tier-card:hover{box-shadow:0 8px 22px rgba(15,23,42,.1);transform:translateY(-2px)}.tier-card__badge{grid-column:1;width:3.5rem;height:3.5rem;filter:drop-shadow(0 2px 6px rgba(0,0,0,.2))}.tier-card__badge svg{width:100%;height:100%;display:block}.tier-card__badge--logo{background:rgba(255,255,255,.22);border-radius:50%;padding:.2rem;box-sizing:border-box}.tier-card__badge img{width:100%;height:100%;display:block;object-fit:contain;border-radius:50%}.tier-card__header{display:grid;grid-template-columns:3.5rem minmax(0,1fr) 3.5rem;align-items:center;column-gap:.65rem;min-height:3.85rem;padding:.65rem .85rem;color:#fff;font-weight:800;font-size:.875rem;letter-spacing:.08em;line-height:1.25}.tier-card__header-label{grid-column:2;text-align:center;justify-self:stretch;text-transform:uppercase}.tier-card__body{flex:1;padding:1rem 1rem .75rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem}.tier-card__price{font-size:1.65rem;font-weight:800;color:var(--ds-fg,#0f172a);letter-spacing:-.03em;line-height:1.1}.tier-card__price--muted{font-size:1rem;font-weight:600;color:var(--ds-fg-muted,#64748b)}.tier-card__unit{font-size:.8125rem;color:var(--ds-fg-muted,#64748b);font-weight:500}.tier-card__pill{display:inline-block;margin-top:.25rem;padding:.35rem .85rem;border-radius:999px;font-size:.75rem;font-weight:600;line-height:1.3}.tier-card__features{width:100%;margin:.5rem 0 0;padding:0 .25rem .75rem;list-style:none;text-align:left}.tier-card__features li{display:flex;align-items:flex-start;gap:.5rem;font-size:.78rem;line-height:1.4;color:var(--ds-fg-soft,#334155);margin-bottom:.5rem}.tier-card__features li:last-child{margin-bottom:0}.tier-feature__check{flex-shrink:0;width:1.1rem;height:1.1rem;margin-top:.1rem;border-radius:50%;background:linear-gradient(145deg,var(--palette-intense),var(--palette-medium));display:inline-flex;align-items:center;justify-content:center;color:#fff}.tier-feature__check svg{width:.65rem;height:.65rem;stroke:currentColor;stroke-width:2.5;fill:none}.tier-card__footer{margin-top:auto;display:flex;align-items:flex-start;gap:.65rem;padding:.75rem 1rem;border-top:1px solid rgba(0,0,0,.05);font-size:.72rem;line-height:1.45;color:var(--ds-fg-soft,#475569)}.tier-card__footer-icon{flex-shrink:0;width:1.5rem;height:1.5rem;opacity:.9}.tier-card__footer-icon svg{width:100%;height:100%;display:block}.tier-card__actions .tier-card__btn{width:100%;justify-content:center;margin:0;font-weight:600;border-radius:var(--ds-r-sm,8px)}.tier-card__actions{margin:0;padding:.65rem 1rem .85rem;border-top:1px solid var(--ds-border,#e2e8f0)}.tier-card__ref{margin:.15rem 0 0;font-size:.72rem;font-weight:600;color:var(--ds-fg-muted,#64748b);text-align:center;max-width:100%}.tier-card--bronze .tier-card__header{background:linear-gradient(145deg,#a86b3d,#8b4d2a)}.tier-card--bronze .tier-card__pill{background:rgba(168,107,61,.14);color:#7c3d1f;border:1px solid rgba(168,107,61,.25)}.tier-card--bronze .tier-card__footer{background:rgba(168,107,61,.08)}.tier-card--bronze .tier-card__footer-icon{color:#8b4d2a}.tier-card--silver .tier-card__header{background:linear-gradient(145deg,#94a3b8,#64748b)}.tier-card--silver .tier-card__pill{background:rgba(100,116,139,.12);color:#475569;border:1px solid rgba(100,116,139,.22)}.tier-card--silver .tier-card__footer{background:rgba(148,163,184,.12)}.tier-card--silver .tier-card__footer-icon{color:#475569}.tier-card--gold .tier-card__header{background:linear-gradient(145deg,#eab308,#ca8a04)}.tier-card--gold .tier-card__pill{background:rgba(234,179,8,.15);color:#854d0e;border:1px solid rgba(234,179,8,.3)}.tier-card--gold .tier-card__footer{background:rgba(253,224,71,.2)}.tier-card--gold .tier-card__footer-icon{color:#a16207}.tier-card--diamond .tier-card__header{background:linear-gradient(145deg,#2563eb,#1d4ed8 45%,#1e3a8a)}.tier-card--diamond .tier-card__pill{background:rgba(37,99,235,.12);color:#1e40af;border:1px solid rgba(37,99,235,.22)}.tier-card--diamond .tier-card__footer{background:rgba(59,130,246,.1)}.tier-card--diamond .tier-card__footer-icon{color:#1d4ed8}