/* Regul'Bus 2.0 — expérience inspirée de la référence mobile */
:root{
  --v2-ink:#071a36;--v2-navy:#062b5a;--v2-navy-2:#084789;--v2-blue:#075ff7;
  --v2-cyan:#0bd3c6;--v2-mint:#dffaf3;--v2-canvas:#f4f7fb;--v2-line:#e5ebf3;
  --v2-muted:#718198;--v2-card:#fff;--v2-shadow:0 18px 45px rgba(13,39,77,.10)
}
[hidden]{display:none!important}
html{background:var(--v2-canvas)!important;scroll-behavior:smooth}
body{background:radial-gradient(circle at 88% 0,rgba(11,211,198,.06),transparent 28%),var(--v2-canvas)!important;color:var(--v2-ink)!important}
button,input,select,textarea{-webkit-tap-highlight-color:transparent}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(7,95,247,.22);outline-offset:2px}
#main-content>*{animation:v2-enter .28s cubic-bezier(.2,.7,.2,1) both}
@keyframes v2-enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}

/* Vitrine */
.public-shell{min-height:100dvh;background:linear-gradient(180deg,#f7faff 0,#fff 45%,#f4f8fb 100%)!important}
.public-topbar{height:82px!important;padding:0 clamp(20px,5vw,72px)!important;border-bottom:1px solid rgba(219,228,239,.78)!important;background:rgba(255,255,255,.82)!important;backdrop-filter:blur(22px) saturate(150%)!important}
.public-brand img{width:160px!important;max-height:54px!important;object-fit:contain!important}
.public-login-btn{min-height:44px!important;padding:10px 20px!important;border-radius:14px!important}
.public-home-content{width:min(1240px,calc(100% - 40px))!important;margin:0 auto!important;padding:34px 0 58px!important}
.public-hero{position:relative!important;min-height:600px!important;display:grid!important;align-items:end!important;overflow:hidden!important;padding:clamp(34px,6vw,78px)!important;border:0!important;border-radius:34px!important;background:radial-gradient(circle at 78% 18%,rgba(13,213,202,.30),transparent 26%),radial-gradient(circle at 18% 90%,rgba(14,104,255,.42),transparent 35%),linear-gradient(145deg,#073e7e,#041d41 72%)!important;box-shadow:0 30px 80px rgba(4,33,72,.22)!important;color:#fff!important}
.public-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,26,59,.90) 0%,rgba(4,29,64,.72) 48%,rgba(4,31,68,.14) 100%);pointer-events:none}
.public-hero-copy{position:relative!important;z-index:3!important;max-width:660px!important}
.public-hero .eyebrow{display:inline-flex!important;margin:0 0 18px!important;padding:8px 12px!important;border:1px solid rgba(97,236,225,.28)!important;border-radius:999px!important;background:rgba(10,211,198,.10)!important;color:#66f3e7!important}
.public-hero h1{max-width:720px!important;margin:0!important;font-size:clamp(46px,7vw,84px)!important;line-height:.98!important;letter-spacing:-.065em!important;color:#fff!important}
.public-hero p{max-width:590px!important;margin:24px 0 30px!important;color:#d8e8f9!important;font-size:clamp(17px,2vw,22px)!important;line-height:1.55!important}
.public-hero .btn.primary{min-height:54px!important;padding:14px 26px!important;border-radius:16px!important;font-size:15px!important}
.public-hero-rail{position:absolute!important;z-index:3!important;right:36px!important;bottom:36px!important;display:flex!important;gap:10px!important;align-items:center!important;color:#b5cde8!important;font-size:10px!important;font-weight:850!important;letter-spacing:.12em!important}
.public-hero-rail i{width:22px!important;height:1px!important;background:rgba(255,255,255,.34)!important}
.public-gallery-section,.public-access-section{margin-top:22px!important;border:1px solid var(--v2-line)!important;border-radius:26px!important;background:#fff!important;box-shadow:var(--v2-shadow)!important}
.public-access-section{padding:32px 36px!important;background:linear-gradient(120deg,#fff,#f4fbfb)!important}
.public-access-section h2{margin:5px 0 8px!important;font-size:clamp(25px,3vw,38px)!important;letter-spacing:-.04em!important}
.public-footer{padding:30px 0 8px!important;color:#8492a5!important;text-align:center!important}

/* Connexion */
.auth-shell{position:relative!important;overflow:hidden!important;background:radial-gradient(circle at 18% 12%,rgba(8,111,255,.42),transparent 32%),radial-gradient(circle at 90% 80%,rgba(11,211,198,.22),transparent 34%),linear-gradient(150deg,#07427f,#031b3c 72%)!important}
.auth-shell:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,transparent,#000 35%,#000)}
.auth-card{position:relative!important;z-index:2!important;width:min(100%,470px)!important;padding:38px!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:32px!important;background:rgba(3,26,59,.66)!important;backdrop-filter:blur(26px) saturate(135%)!important;box-shadow:0 32px 80px rgba(0,0,0,.32)!important}
.auth-card .auth-logo{width:260px!important;padding:0!important;background:transparent!important;filter:drop-shadow(0 10px 22px rgba(0,0,0,.18))!important}
.auth-card h1{max-width:340px!important;margin:14px 0 8px!important;font-size:40px!important;line-height:1.04!important}
.auth-card .stack{gap:16px!important;margin-top:28px!important}
.auth-card input{min-height:52px!important;padding:14px 15px!important;border:1px solid rgba(174,207,245,.30)!important;border-radius:14px!important;background:rgba(2,24,54,.50)!important}
.auth-card .btn.primary{min-height:54px!important;border-radius:15px!important;background:linear-gradient(105deg,var(--v2-blue),var(--v2-cyan))!important;box-shadow:0 13px 30px rgba(2,111,231,.30)!important}
.auth-back-btn{color:#cfe2f8!important}

/* Structure applicative */
.app-shell{min-height:100dvh!important;padding:84px 0 0 272px!important;background:transparent!important}
.topbar{height:84px!important;padding:0 28px!important;border-bottom:1px solid rgba(222,229,239,.9)!important;background:rgba(255,255,255,.88)!important;backdrop-filter:blur(22px) saturate(160%)!important;box-shadow:0 1px 0 rgba(255,255,255,.8)!important}
.brand{gap:15px!important}.brand-logo{width:150px!important;height:52px!important}.desktop-menu{order:2!important}
.brand-context{order:3!important;display:grid!important;gap:2px!important;padding-left:16px!important;border-left:1px solid #e2e8f0!important}
.brand-context small{color:#91a0b2!important;font-size:8px!important;font-weight:900!important;letter-spacing:.14em!important}
.brand-section{display:block!important;padding:0!important;border:0!important;color:#102a4b!important;font-size:14px!important}
.side-nav{top:84px!important;width:272px!important;padding:20px 15px 18px!important;background:radial-gradient(circle at 20% 5%,rgba(11,106,212,.26),transparent 34%),linear-gradient(180deg,#082b55,#041b39 78%)!important;box-shadow:inset -1px 0 rgba(255,255,255,.06),8px 0 34px rgba(4,26,55,.06)!important}
.nav-list{gap:4px!important}.nav-group-label{margin:15px 12px 6px!important;color:#6f92b9!important;font-size:9px!important;font-weight:900!important;letter-spacing:.14em!important;text-transform:uppercase!important}.nav-group-label:first-child{margin-top:0!important}
.side-nav .nav-btn{min-height:45px!important;padding:11px 12px!important;border:1px solid transparent!important;border-radius:13px!important;color:#bfd1e7!important;font-size:12px!important;transition:background .18s,color .18s,transform .18s!important}
.side-nav .nav-btn .nav-icon{display:grid!important;place-items:center!important;width:29px!important;height:29px!important;border-radius:9px!important;background:rgba(255,255,255,.055)!important}
.side-nav .nav-btn .rb-icon{width:17px!important;height:17px!important}.side-nav .nav-btn:hover{background:rgba(255,255,255,.075)!important;transform:translateX(2px)!important}
.side-nav .nav-btn.active{border-color:rgba(104,222,219,.18)!important;background:linear-gradient(105deg,rgba(7,95,247,.98),rgba(11,193,194,.94))!important;color:#fff!important;box-shadow:0 12px 28px rgba(0,18,54,.30)!important}
.sidebar-live-card{margin-top:auto!important;padding:14px!important;border:1px solid rgba(111,171,221,.16)!important;border-radius:16px!important;background:rgba(255,255,255,.045)!important;color:#d8e8f9!important}
.sidebar-live-card span{display:flex!important;align-items:center!important;gap:8px!important;font-size:11px!important;font-weight:800!important}.sidebar-live-card i{width:7px!important;height:7px!important;border-radius:50%!important;background:#1de0ad!important;box-shadow:0 0 0 5px rgba(29,224,173,.10)!important}
.sidebar-live-card small{display:block!important;margin-top:7px!important;color:#7fa1c4!important;font-size:9px!important;line-height:1.4!important}.sidebar-footer{margin-top:12px!important;text-align:center!important;color:#6286ad!important}
.main-content{max-width:1660px!important;padding:30px 32px 44px!important}.view-head{align-items:end!important;margin-bottom:22px!important}.view-head h2,.view-head h3{margin:0!important;color:#0c2648!important;font-size:27px!important;letter-spacing:-.045em!important}.view-head p{max-width:720px!important;margin-top:7px!important;color:var(--v2-muted)!important}

/* Composants */
.card,.kpi{border:1px solid rgba(223,230,239,.92)!important;border-radius:21px!important;background:rgba(255,255,255,.96)!important;box-shadow:0 11px 30px rgba(12,41,80,.065)!important}.card{padding:20px!important}.map-card{padding:0!important;overflow:hidden!important}.card h3{color:#112e50!important}
.btn{min-height:43px!important;border-radius:13px!important;font-size:12px!important;font-weight:820!important}.btn.primary{background:linear-gradient(105deg,var(--v2-blue),var(--v2-cyan))!important;box-shadow:0 9px 22px rgba(7,95,247,.19)!important}.btn.secondary{border-color:#dce8fa!important;background:#edf4ff!important;color:#075bd6!important}.btn.ghost{border-color:#e0e7ef!important;color:#274968!important}
input,select,textarea{border-color:#dce4ed!important;border-radius:13px!important;background:#fbfcfe!important;box-shadow:inset 0 1px 2px rgba(12,39,74,.025)!important}
.kpis{gap:14px!important}.kpi{position:relative!important;overflow:hidden!important;min-height:116px!important;padding:18px!important}.kpi:after{content:"";position:absolute;right:-22px;bottom:-36px;width:94px;height:94px;border-radius:50%;background:radial-gradient(circle,rgba(7,95,247,.10),transparent 68%)}
.kpi-icon{border-radius:14px!important;background:linear-gradient(140deg,#edf5ff,#e5fbf8)!important;color:#075ff7!important}.kpi b{color:#0b2b52!important;font-size:28px!important}.kpi small{color:#8b99aa!important}
.map{border:0!important;border-radius:21px!important;background:#e8eff5!important}.dashboard-map-card,.regulation-map-card,.driver-map-main{border-radius:24px!important}
.map-top-tools{top:16px!important;left:16px!important;right:16px!important}.map-filter-btn,.follow-control,.map-recenter-text{border:1px solid rgba(222,231,241,.96)!important;border-radius:13px!important;background:rgba(255,255,255,.94)!important;backdrop-filter:blur(14px)!important;box-shadow:0 9px 26px rgba(9,39,78,.14)!important}
.map-bottom-panel{border:1px solid rgba(225,232,240,.95)!important;border-radius:18px!important;background:#e4e9ef!important;box-shadow:0 20px 40px rgba(8,35,72,.18)!important}.map-bottom-panel>div{background:rgba(255,255,255,.96)!important}
.leaderboard-hero{min-height:150px!important;padding:25px!important;background:radial-gradient(circle at 90% 20%,rgba(11,211,198,.18),transparent 33%),linear-gradient(130deg,#f1f7ff,#f5fffc)!important}.leader-card{border-radius:19px!important;box-shadow:0 9px 24px rgba(12,41,80,.06)!important}.leader-speed-rule{margin:0!important;padding:12px 14px!important;border:1px solid #ccefe9!important;border-radius:14px!important;background:#effbf8!important;color:#347269!important;font-size:11px!important;line-height:1.45!important}
.leaderboard-row strong{display:grid!important;place-items:center!important;width:32px!important;height:32px!important;border-radius:10px!important;background:#edf4ff!important}.leaderboard-row:first-child strong{background:linear-gradient(135deg,#075ff7,#0bd3c6)!important;color:#fff!important}
.modal-backdrop{place-items:center!important;padding:20px!important;background:rgba(3,20,44,.58)!important;backdrop-filter:blur(7px)!important}.modal{border:1px solid rgba(255,255,255,.7)!important;border-radius:26px!important;box-shadow:0 32px 90px rgba(2,20,45,.28)!important}
.mobile-nav-sheet{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}.mobile-nav-sheet button{display:grid!important;place-items:center!important;gap:8px!important;min-height:100px!important;padding:13px 8px!important;border:1px solid #e1e8f1!important;border-radius:17px!important;background:#f8fafd!important;color:#49627e!important;font-size:11px!important;font-weight:800!important}.mobile-nav-sheet button .rb-icon{width:23px!important;height:23px!important}.mobile-nav-sheet button.active{border-color:transparent!important;background:linear-gradient(135deg,#075ff7,#0bc6c1)!important;color:#fff!important;box-shadow:0 12px 24px rgba(7,95,247,.20)!important}

/* Conduite */
.driver-layout{grid-template-columns:minmax(0,1fr) 350px!important;gap:18px!important}.driver-map-main{min-height:660px!important}.driver-map-main .map{height:660px!important}
.driver-map-main .hud-card{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;gap:13px!important;align-items:center!important;padding:16px 18px!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:19px!important;background:linear-gradient(135deg,rgba(4,35,77,.97),rgba(6,54,107,.96))!important}.driver-map-main .hud-card strong{font-size:22px!important}.driver-map-main .hud-card small{color:#21e3d4!important}
.gps-speedometer{border-radius:17px!important}.next-stop{border-radius:21px!important;background:linear-gradient(145deg,#fff,#f2fbfa)!important}.guide-card{border-radius:21px!important;background:linear-gradient(145deg,#062b5a,#07569d)!important}

@media(max-width:1120px){
  .app-shell{padding-left:0!important;padding-bottom:calc(82px + env(safe-area-inset-bottom))!important}.side-nav{display:none!important}.brand-context{display:none!important}
  .bottom-nav{display:flex!important;height:78px!important;justify-content:space-around!important;padding:7px 8px calc(7px + env(safe-area-inset-bottom))!important;border-top:1px solid rgba(255,255,255,.10)!important;background:rgba(4,27,58,.96)!important;backdrop-filter:blur(22px)!important;box-shadow:0 -12px 32px rgba(4,25,53,.16)!important}
  .bottom-nav .nav-btn{display:grid!important;place-items:center!important;gap:3px!important;min-width:58px!important;padding:6px 10px!important;border-radius:13px!important;background:transparent!important;color:#9eb8d5!important}.bottom-nav .nav-btn[hidden]{display:none!important}.bottom-nav .nav-btn .rb-icon{width:20px!important;height:20px!important}.bottom-nav .nav-btn b{font-size:9px!important}.bottom-nav .nav-btn.active{background:linear-gradient(135deg,#075ff7,#0bbebd)!important;color:#fff!important;box-shadow:0 8px 20px rgba(0,15,46,.25)!important}
  .main-content{padding:23px!important}.driver-layout{grid-template-columns:1fr!important}.driver-map-main .map{height:min(68vh,650px)!important}
}

@media(max-width:760px){
  html,body{background:#f5f7fa!important}
  .app-shell{padding-top:64px!important;padding-bottom:calc(78px + env(safe-area-inset-bottom))!important}
  .topbar{height:64px!important;padding:0 13px!important}.brand{gap:9px!important}.brand-logo{width:121px!important;height:42px!important}
  .desktop-menu,.global-search,.system-status,.rb-clock,.top-icon{display:none!important}.topbar-actions{margin-left:auto!important}.avatar-btn{width:37px!important;height:37px!important;border:2px solid #fff!important;box-shadow:0 5px 14px rgba(7,57,111,.20)!important}
  .main-content{padding:12px 12px 20px!important}.view-head{margin:5px 2px 15px!important}.view-head h2,.view-head h3{font-size:23px!important}.view-head p{font-size:11px!important;line-height:1.45!important}.card{padding:15px!important;border-radius:19px!important}.map-card{padding:0!important}

  /* Vitrine compacte */
  .public-topbar{height:70px!important;padding:0 16px!important}.public-brand img{width:134px!important}.public-login-btn{min-height:40px!important;padding:8px 14px!important}
  .public-home-content{width:calc(100% - 24px)!important;padding:18px 0 34px!important}.public-hero{min-height:610px!important;padding:30px 24px!important;border-radius:27px!important}.public-hero:before{background:linear-gradient(180deg,rgba(4,28,62,.10),rgba(3,25,56,.92) 62%)!important}
  .public-hero h1{font-size:46px!important}.public-hero p{margin:18px 0 25px!important;font-size:16px!important}.public-hero-rail{display:none!important}.public-access-section{display:grid!important;gap:20px!important;padding:24px!important;border-radius:22px!important}.public-access-section .btn{width:100%!important}

  /* Connexion plein écran comme la référence */
  .auth-shell{align-items:stretch!important;padding:0!important}.auth-card{width:100%!important;min-height:100dvh!important;padding:calc(38px + env(safe-area-inset-top)) 26px calc(28px + env(safe-area-inset-bottom))!important;border:0!important;border-radius:0!important;background:linear-gradient(155deg,rgba(4,55,111,.78),rgba(2,23,51,.88))!important;box-shadow:none!important}
  .auth-card .auth-logo{width:205px!important;margin-top:7vh!important}.auth-card h1{font-size:38px!important}.auth-card .stack{margin-top:30px!important}.auth-card input{min-height:54px!important}.auth-card .btn.primary{min-height:55px!important}

  .kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;padding:0!important}.kpi{min-height:105px!important;padding:14px!important;border-radius:18px!important}.kpi b{font-size:22px!important}.kpi-icon{width:39px!important;height:39px!important}

  /* Démarrage de course : cartes empilées, grandes zones tactiles */
  .driver-start-layout{display:block!important}.driver-start-card{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
  .driver-step{margin-bottom:11px!important;padding:16px!important;border:1px solid #e4e9f0!important;border-radius:19px!important;background:#fff!important;box-shadow:0 10px 25px rgba(12,41,80,.07)!important}.driver-step .step-icon{width:42px!important;height:42px!important;border-radius:13px!important;background:linear-gradient(135deg,#075ff7,#0bd3c6)!important;color:#fff!important}
  .driver-step input,.driver-step select{min-height:46px!important;background:#fafcff!important}.driver-start-card .btn.primary{min-height:55px!important;margin-top:5px!important;border-radius:16px!important;font-size:14px!important}.driver-side-info{display:none!important}

  /* Navigation GPS plein écran */
  body.rb-driving-mobile-fullscreen .app-shell{padding:0!important}.rb-driving-mobile-fullscreen .topbar,.rb-driving-mobile-fullscreen .bottom-nav{display:none!important}
  .rb-mobile-driver{margin:-12px!important;min-height:100dvh!important;background:#e9eef3!important}.mobile-driver-head{height:54px!important;padding:8px 13px!important}
  .mobile-driver-map{height:100dvh!important;min-height:610px!important;border-radius:0!important}.mobile-driver-map .map{height:100%!important;border-radius:0!important}
  .mobile-guidance{top:max(12px,env(safe-area-inset-top))!important;left:12px!important;right:12px!important;grid-template-columns:62px minmax(0,1fr)!important;gap:12px!important;padding:14px!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:19px!important;background:linear-gradient(135deg,rgba(3,34,75,.98),rgba(6,57,111,.97))!important;box-shadow:0 18px 40px rgba(4,28,62,.27)!important}
  .mobile-guidance .guidance-sign{width:60px!important;height:60px!important;border:0!important;border-radius:15px!important;background:rgba(255,255,255,.10)!important;box-shadow:none!important}.mobile-guidance strong{font-size:18px!important}.mobile-guidance span{font-size:10px!important;color:#cfe5f8!important}
  .mobile-driver-map .driver-map-actions{top:118px!important;right:12px!important;display:flex!important;flex-direction:column!important;gap:7px!important}.mobile-driver-map .follow-control,.mobile-driver-map .map-recenter-text{position:relative!important;width:45px!important;min-width:45px!important;height:45px!important;padding:0!important;border-radius:50%!important;font-size:0!important}
  .mobile-driver-map .follow-control:after{content:"◎";font-size:24px!important;color:#075ff7!important}.mobile-driver-map .map-recenter-text:after{content:"➤";display:block;font-size:20px!important;color:#075ff7!important;transform:rotate(-45deg)!important}
  .mobile-driver-map .mobile-speedometer{top:auto!important;right:auto!important;left:14px!important;bottom:190px!important;min-width:78px!important;padding:9px!important;border-radius:15px!important}.mobile-driver-map .speed-limit-sign{top:124px!important;right:69px!important}
  .mobile-map-bottom{left:12px!important;right:12px!important;bottom:83px!important;grid-template-columns:1.15fr .85fr!important;border-radius:19px!important}.mobile-map-bottom>div{padding:13px!important}.mobile-map-bottom b{font-size:13px!important}
  .mobile-service-dock{left:12px!important;right:12px!important;bottom:max(12px,env(safe-area-inset-bottom))!important;border-radius:17px!important;box-shadow:0 15px 36px rgba(5,32,69,.21)!important}.mobile-finish-service{right:21px!important;bottom:max(22px,calc(env(safe-area-inset-bottom) + 10px))!important;border-radius:13px!important}
  .rb-driving-mobile-fullscreen .mobile-driver-map .maplibre-ctrl-bottom-right{bottom:280px!important}

  .leader-summary{grid-template-columns:1fr!important}.leaderboard-hero{display:grid!important}.leaderboard-row{grid-template-columns:38px minmax(0,1fr) auto!important}
  .mobile-nav-sheet{grid-template-columns:repeat(2,minmax(0,1fr))!important}.modal-backdrop{place-items:end center!important;padding:8px!important}.modal{border-radius:26px 26px 20px 20px!important}
}

@media(max-width:390px){
  .auth-card{padding-left:20px!important;padding-right:20px!important}.auth-card .auth-logo{width:185px!important}.auth-card h1{font-size:34px!important}
  .mobile-guidance{grid-template-columns:52px minmax(0,1fr)!important}.mobile-guidance .guidance-sign{width:52px!important;height:52px!important}.mobile-guidance strong{font-size:16px!important}
  .bottom-nav .nav-btn{min-width:52px!important;padding-left:7px!important;padding-right:7px!important}
}

@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* Regul'Bus 2.1 — thème administrable, Liquid Glass et correctif GPS mobile */
:root{--site-primary:#075ff7;--site-accent:#0bd3c6;--site-background:#062b5a;--site-text:#fff;--site-radius:28px;--site-hero-height:620px;--site-hero-overlay:.68}
.btn.primary,.public-hero .btn.primary,.auth-card .btn.primary{background:linear-gradient(105deg,var(--site-primary),var(--site-accent))!important}
.public-hero{min-height:var(--site-hero-height)!important;border-radius:var(--site-radius)!important;background:radial-gradient(circle at 78% 18%,color-mix(in srgb,var(--site-accent) 32%,transparent),transparent 26%),linear-gradient(145deg,color-mix(in srgb,var(--site-primary) 48%,var(--site-background)),var(--site-background) 72%)!important}
.public-hero:before{background:linear-gradient(90deg,rgba(3,24,54,var(--site-hero-overlay)) 0%,rgba(3,24,54,calc(var(--site-hero-overlay) * .78)) 52%,rgba(3,24,54,.10) 100%)!important}
.public-hero.align-center .public-hero-copy{margin:auto;text-align:center}.public-hero.align-center .public-hero-copy p{margin-left:auto!important;margin-right:auto!important}.public-hero.align-center .public-hero-actions{justify-content:center}.public-hero.align-center .public-notice{display:block;text-align:center}
.public-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:22px}.public-feature-grid article{position:relative;overflow:hidden;padding:24px;border:1px solid var(--v2-line);border-radius:calc(var(--site-radius) * .76);background:rgba(255,255,255,.88);box-shadow:0 15px 38px rgba(11,39,75,.07);transition:transform .25s ease,box-shadow .25s ease}.public-feature-grid article:hover{transform:translateY(-4px);box-shadow:0 22px 48px rgba(11,39,75,.12)}.public-feature-grid article>span{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:linear-gradient(135deg,color-mix(in srgb,var(--site-primary) 13%,white),color-mix(in srgb,var(--site-accent) 16%,white));color:var(--site-primary)}.public-feature-grid .rb-icon{width:23px;height:23px}.public-feature-grid h3{margin:17px 0 7px;color:#102e51;font-size:16px}.public-feature-grid p{margin:0;color:#718198;font-size:12px;line-height:1.55}
.public-liquid-tile{position:absolute;z-index:4;right:46px;top:46px;display:grid;gap:3px;min-width:150px;padding:16px 17px;border:1px solid rgba(255,255,255,.24);border-radius:21px;background:rgba(255,255,255,.10);color:#fff;backdrop-filter:blur(18px) saturate(145%);box-shadow:inset 0 1px rgba(255,255,255,.28),0 18px 45px rgba(1,18,43,.18);transform:perspective(500px) rotateY(-5deg)}.public-liquid-tile span{color:var(--site-accent);font-size:8px;font-weight:900;letter-spacing:.14em}.public-liquid-tile b{font-size:16px}.public-liquid-tile small{color:#c9dff4;font-size:9px}
.public-ambient-orbs{position:absolute;z-index:1;inset:0;overflow:hidden;pointer-events:none}.public-ambient-orbs i{position:absolute;border-radius:50%;filter:blur(2px);opacity:0}.rb-site-ambient .public-ambient-orbs i{opacity:.42}.public-ambient-orbs i:nth-child(1){width:260px;height:260px;right:8%;top:-120px;background:radial-gradient(circle,var(--site-accent),transparent 68%)}.public-ambient-orbs i:nth-child(2){width:210px;height:210px;left:-80px;bottom:-50px;background:radial-gradient(circle,var(--site-primary),transparent 67%)}.public-ambient-orbs i:nth-child(3){width:130px;height:130px;right:34%;bottom:-70px;background:radial-gradient(circle,#fff,transparent 70%)}
.rb-site-motion .public-feature-grid article,.rb-site-motion .public-liquid-tile{transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s ease}.rb-site-gradient .public-ambient-orbs i:nth-child(1){animation:siteFloat 8s ease-in-out infinite}.rb-site-gradient .public-ambient-orbs i:nth-child(2){animation:siteFloat 10s -4s ease-in-out infinite reverse}@keyframes siteFloat{50%{transform:translate(-18px,20px) scale(1.08)}}
body[data-site-surface="solid"] .public-access-section,body[data-site-surface="solid"] .public-feature-grid article{backdrop-filter:none;background:#fff!important}body[data-site-surface="glass"] .public-access-section,body[data-site-surface="glass"] .public-feature-grid article{background:rgba(255,255,255,.74)!important;backdrop-filter:blur(14px)}.rb-site-liquid .public-access-section,.rb-site-liquid .public-feature-grid article{background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(247,252,255,.72))!important;backdrop-filter:blur(20px) saturate(140%);box-shadow:inset 0 1px rgba(255,255,255,.9),0 18px 45px rgba(11,39,75,.08)!important}
.site-design-studio-shell{margin-bottom:20px}.site-design-help{display:flex;flex-direction:column;justify-content:center;min-height:270px;background:radial-gradient(circle at 90% 10%,color-mix(in srgb,var(--site-accent) 16%,transparent),transparent 35%),linear-gradient(145deg,#f6faff,#f5fffc)!important}.site-design-help .eyebrow{margin:0 0 7px!important;color:#087ed1}.site-design-help-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}.site-design-help-grid span{padding:9px 10px;border:1px solid #dcebe9;border-radius:11px;background:rgba(255,255,255,.72);color:#23635e;font-size:10px;font-weight:800}

/* Écran de chargement personnalisable */
.site-loader{position:fixed;z-index:9999;inset:0;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 20% 15%,color-mix(in srgb,var(--site-primary) 52%,transparent),transparent 30%),radial-gradient(circle at 88% 80%,color-mix(in srgb,var(--site-accent) 30%,transparent),transparent 34%),linear-gradient(150deg,color-mix(in srgb,var(--site-primary) 40%,var(--site-background)),var(--site-background) 72%);opacity:1;transition:opacity .3s ease}.site-loader.hidden{display:none!important}.site-loader.is-leaving{opacity:0;pointer-events:none}.site-loader-lights{position:absolute;inset:0}.site-loader-lights i{position:absolute;border-radius:50%;filter:blur(3px);background:radial-gradient(circle,var(--site-accent),transparent 70%);animation:loaderLight 5s ease-in-out infinite}.site-loader-lights i:nth-child(1){width:260px;height:260px;right:-70px;top:-60px}.site-loader-lights i:nth-child(2){width:180px;height:180px;left:-50px;bottom:10%;animation-delay:-2s}.site-loader-lights i:nth-child(3){width:120px;height:120px;left:38%;top:12%;animation-delay:-3.5s}@keyframes loaderLight{50%{transform:translateY(18px) scale(1.08);opacity:.55}}
.site-loader-card{position:relative;display:grid;justify-items:center;width:min(360px,calc(100vw - 44px));padding:30px;border:1px solid rgba(255,255,255,.20);border-radius:28px;background:rgba(4,29,64,.48);color:#fff;text-align:center;backdrop-filter:blur(20px) saturate(145%);box-shadow:inset 0 1px rgba(255,255,255,.22),0 28px 75px rgba(0,0,0,.24)}.site-loader-card img{width:126px;height:126px;object-fit:contain;filter:drop-shadow(0 12px 25px rgba(0,0,0,.18))}.site-loader-card b{margin-top:18px;font-size:13px}.site-loader-card small{margin-top:6px;color:#9db8d6;font-size:9px;letter-spacing:.08em}.site-loader-track{position:relative;width:170px;height:5px;margin-top:13px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.12)}.site-loader-track span{position:absolute;inset:0 auto 0 0;width:45%;border-radius:inherit;background:linear-gradient(90deg,var(--site-primary),var(--site-accent));animation:loaderTrack 1.2s ease-in-out infinite}@keyframes loaderTrack{0%{transform:translateX(-110%)}100%{transform:translateX(330%)}}.loading-pulse .site-loader-card img{animation:loaderPulse 1.5s ease-in-out infinite}@keyframes loaderPulse{50%{transform:scale(1.07);filter:drop-shadow(0 15px 30px color-mix(in srgb,var(--site-accent) 30%,transparent))}}.loading-none .site-loader-lights,.loading-none .site-loader-track{display:none}.loading-orb .site-loader-card img{animation:loaderOrbit 3s ease-in-out infinite}@keyframes loaderOrbit{50%{transform:translateY(-9px) rotate(2deg)}}

@media(max-width:760px){
  .public-feature-grid{grid-template-columns:1fr}.public-feature-grid article{padding:20px}.public-liquid-tile{right:20px;top:20px;min-width:125px;padding:12px}.public-hero.align-center .public-hero-copy{text-align:left}.site-design-help-grid{grid-template-columns:1fr}
  /* Le compteur était étiré car top/right et bottom/left étaient actifs ensemble. */
  body.rb-driving-mobile-fullscreen .mobile-driver-map .gps-speedometer.mobile-speedometer{
    position:absolute!important;z-index:76!important;top:auto!important;right:auto!important;bottom:calc(184px + env(safe-area-inset-bottom))!important;left:max(12px,env(safe-area-inset-left))!important;
    display:grid!important;width:82px!important;min-width:82px!important;max-width:82px!important;height:76px!important;min-height:76px!important;max-height:76px!important;margin:0!important;padding:9px 8px!important;
    grid-template-columns:1fr auto!important;align-content:center!important;border:1px solid rgba(255,255,255,.72)!important;border-radius:19px!important;background:rgba(255,255,255,.88)!important;backdrop-filter:blur(18px) saturate(145%)!important;box-shadow:0 13px 32px rgba(5,30,65,.19),inset 0 1px rgba(255,255,255,.85)!important;color:#0a315f!important;overflow:hidden!important
  }
  body.rb-driving-mobile-fullscreen .mobile-speedometer small{grid-column:1/-1!important;font-size:7px!important;letter-spacing:.09em!important}body.rb-driving-mobile-fullscreen .mobile-speedometer b{font-size:27px!important;color:var(--site-primary)!important}body.rb-driving-mobile-fullscreen .mobile-speedometer span{font-size:9px!important}
  body.rb-driving-mobile-fullscreen .mobile-guidance{top:max(12px,env(safe-area-inset-top))!important;left:max(12px,env(safe-area-inset-left))!important;right:78px!important;min-height:92px!important;padding:12px 13px!important;border-radius:21px!important;background:linear-gradient(140deg,rgba(4,35,76,.96),rgba(7,68,127,.94))!important;backdrop-filter:blur(17px) saturate(140%)!important;box-shadow:0 16px 38px rgba(4,27,61,.27),inset 0 1px rgba(255,255,255,.12)!important}
  body.rb-driving-mobile-fullscreen .mobile-guidance strong{font-size:18px!important;max-height:none!important}body.rb-driving-mobile-fullscreen .mobile-guidance span{font-size:10px!important;color:#d4e8fa!important}
  body.rb-driving-mobile-fullscreen .driver-map-actions{top:max(12px,env(safe-area-inset-top))!important;right:max(10px,env(safe-area-inset-right))!important;display:grid!important;gap:7px!important}
  body.rb-driving-mobile-fullscreen .driver-map-actions .follow-control,body.rb-driving-mobile-fullscreen .driver-map-actions .map-recenter-text{position:relative!important;inset:auto!important;width:54px!important;min-width:54px!important;height:43px!important;min-height:43px!important;padding:0!important;border:1px solid rgba(255,255,255,.76)!important;border-radius:15px!important;background:rgba(255,255,255,.89)!important;backdrop-filter:blur(16px)!important;box-shadow:0 10px 24px rgba(5,31,66,.17)!important}
  body.rb-driving-mobile-fullscreen .driver-map-actions .follow-control{font-size:0!important;color:#079c7c!important}body.rb-driving-mobile-fullscreen .driver-map-actions .follow-control:after{content:"Suivi"!important;font-size:10px!important;font-weight:900!important;color:#079c7c!important}body.rb-driving-mobile-fullscreen .driver-map-actions .map-recenter-text:after{content:"➤"!important;display:block!important;font-size:21px!important;color:var(--site-primary)!important;transform:rotate(-45deg)!important}
  body.rb-driving-mobile-fullscreen .mobile-alerts{position:absolute!important;z-index:79!important;top:calc(max(12px,env(safe-area-inset-top)) + 103px)!important;left:max(12px,env(safe-area-inset-left))!important;right:78px!important;display:grid!important;gap:6px!important;margin:0!important;padding:0!important;pointer-events:none!important}.rb-driving-mobile-fullscreen .mobile-alerts .driver-alert{align-items:flex-start!important;margin:0!important;padding:9px 11px!important;border:1px solid rgba(255,201,207,.9)!important;border-left:4px solid #ed5364!important;border-radius:15px!important;background:rgba(255,244,246,.92)!important;color:#9a3040!important;backdrop-filter:blur(16px)!important;box-shadow:0 10px 25px rgba(75,22,33,.13)!important;font-size:10px!important;line-height:1.35!important}.rb-driving-mobile-fullscreen .mobile-alerts .driver-alert b{font-size:10px!important}
  body.rb-driving-mobile-fullscreen .mobile-map-bottom{left:max(12px,env(safe-area-inset-left))!important;right:max(12px,env(safe-area-inset-right))!important;bottom:calc(82px + env(safe-area-inset-bottom))!important;border-radius:21px!important;background:rgba(255,255,255,.86)!important;backdrop-filter:blur(20px) saturate(145%)!important;box-shadow:0 16px 38px rgba(5,31,66,.19),inset 0 1px rgba(255,255,255,.86)!important}
  body.rb-driving-mobile-fullscreen .mobile-service-dock{left:max(12px,env(safe-area-inset-left))!important;bottom:max(12px,env(safe-area-inset-bottom))!important;width:calc(100vw - 160px - env(safe-area-inset-left))!important;border-radius:20px!important;background:rgba(255,255,255,.89)!important;backdrop-filter:blur(19px) saturate(145%)!important}
  body.rb-driving-mobile-fullscreen .mobile-finish-service{right:max(12px,env(safe-area-inset-right))!important;bottom:max(12px,env(safe-area-inset-bottom))!important;min-width:136px!important;border-radius:20px!important;background:rgba(255,246,248,.91)!important;backdrop-filter:blur(19px)!important}
  body.rb-driving-mobile-fullscreen .maplibregl-ctrl-bottom-right{right:4px!important;bottom:285px!important}
}

@media(prefers-reduced-motion:reduce){.public-ambient-orbs i,.site-loader-lights i,.site-loader-card img,.site-loader-track span{animation:none!important}.rb-site-parallax .public-hero-media{transform:none!important}}

/* Parallaxe réelle de la vitrine + variante de chargement bus. */
.rb-site-parallax .public-hero-media{transform:translate3d(0,var(--site-parallax-y,0),0) scale(1.075);will-change:transform;transition:transform .12s linear}.loading-bus .site-loader-card img{animation:loaderBus 2.1s cubic-bezier(.55,.08,.38,.96) infinite}@keyframes loaderBus{0%,100%{transform:translate3d(-12px,1px,0) rotate(-1deg)}50%{transform:translate3d(12px,-4px,0) rotate(1deg)}}

/* La couleur choisie dans le studio irrigue aussi l'application connectée. */
.sidebar .nav-item.active,.mobile-nav .nav-item.active{color:var(--site-primary)!important}.btn.primary{background:linear-gradient(135deg,var(--site-primary),color-mix(in srgb,var(--site-primary) 62%,var(--site-accent)))!important}.link-btn,.eyebrow{color:color-mix(in srgb,var(--site-primary) 78%,#06305e)!important}.rb-site-gradient .btn.primary{background-size:180% 180%!important;animation:siteButtonGradient 5s ease infinite}@keyframes siteButtonGradient{50%{background-position:100% 50%}}

@media(prefers-reduced-motion:reduce){.rb-site-parallax .public-hero-media{transform:none!important;transition:none!important}.loading-bus .site-loader-card img,.rb-site-gradient .btn.primary{animation:none!important}}

/* Regul'Bus 2.2 — refonte Liquid Glass, thèmes, navigation et source véhicules */
:root{--rb-surface:rgba(255,255,255,.82);--rb-surface-strong:#fff;--rb-border:rgba(191,207,226,.56);--rb-copy:#0b294d;--rb-copy-soft:#667a91;--rb-canvas:#eef4fa;--rb-glow:rgba(7,95,247,.14)}
body:before,body:after{content:"";position:fixed;z-index:-1;width:420px;height:420px;border-radius:50%;filter:blur(70px);pointer-events:none;opacity:.45;animation:rbAmbient 15s ease-in-out infinite}
body:before{top:-180px;right:-100px;background:rgba(11,211,198,.22)}body:after{left:12%;bottom:-260px;background:rgba(7,95,247,.18);animation-delay:-7s}@keyframes rbAmbient{50%{transform:translate3d(25px,22px,0) scale(1.08)}}
.card,.kpi,.modal,.feed-row,.driver-step,.appearance-options label>span{backdrop-filter:blur(22px) saturate(145%)!important;-webkit-backdrop-filter:blur(22px) saturate(145%)!important}
.card,.kpi{background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(248,252,255,.76))!important;box-shadow:inset 0 1px rgba(255,255,255,.92),0 18px 48px rgba(11,42,82,.075)!important;transition:transform .24s cubic-bezier(.2,.75,.2,1),box-shadow .24s ease,border-color .24s ease!important}
.card:hover,.kpi:hover{border-color:rgba(126,164,211,.52)!important;box-shadow:inset 0 1px rgba(255,255,255,.95),0 22px 56px rgba(11,42,82,.105)!important}
.btn,.nav-btn,.quick-tabs button,.mobile-nav-sheet button{transition:transform .17s ease,box-shadow .17s ease,background .17s ease,color .17s ease!important}.btn:not(:disabled):active,.quick-tabs button:active,.mobile-nav-sheet button:active{transform:scale(.975)!important}
input:focus,select:focus,textarea:focus{border-color:color-mix(in srgb,var(--site-primary) 50%,#cfdbe9)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--site-primary) 12%,transparent)!important}
.experimental-badge{display:inline-flex;margin-left:7px;padding:4px 7px;border:1px solid rgba(9,173,146,.22);border-radius:99px;background:rgba(9,205,174,.11);color:#07866f;font-size:7px!important;font-weight:900;letter-spacing:.08em;vertical-align:middle}
.driver-vehicle-step{background:radial-gradient(circle at 95% 0,rgba(11,211,198,.13),transparent 35%),rgba(255,255,255,.78)!important}.driver-vehicle-step>div{min-width:0}.driver-vehicle-step select{width:100%}
.appearance-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:16px}.appearance-options label{cursor:pointer}.appearance-options input{position:absolute;opacity:0;pointer-events:none}.appearance-options label>span{display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;align-items:center;gap:2px 10px;min-height:82px;padding:13px;border:1px solid var(--rb-border);border-radius:18px;background:rgba(248,251,255,.72);transition:.2s ease}.appearance-options .rb-icon{grid-row:1/3;width:24px;height:24px;color:var(--site-primary)}.appearance-options b{font-size:12px}.appearance-options small{color:var(--rb-copy-soft);font-size:9px}.appearance-options input:checked+span{border-color:color-mix(in srgb,var(--site-primary) 52%,transparent);background:linear-gradient(145deg,color-mix(in srgb,var(--site-primary) 12%,white),color-mix(in srgb,var(--site-accent) 10%,white));box-shadow:0 11px 28px var(--rb-glow),inset 0 1px #fff;transform:translateY(-2px)}
.studio-loading,.studio-recovery{display:flex;align-items:center;justify-content:center;gap:15px;min-height:120px;padding:24px;border:1px solid var(--rb-border);border-radius:22px;background:var(--rb-surface)}.studio-loading span{width:32px;height:32px;border:3px solid rgba(7,95,247,.14);border-top-color:var(--site-primary);border-radius:50%;animation:rbSpin .8s linear infinite}@keyframes rbSpin{to{transform:rotate(360deg)}}.studio-loading div,.studio-recovery div{display:grid;gap:4px}.studio-loading small,.studio-recovery small{color:var(--rb-copy-soft)}.studio-recovery{justify-content:space-between}
.tc-infos-fleet-preview{margin-top:14px}.vehicle-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:430px;overflow:auto;padding:2px}.vehicle-source-grid article{display:grid;gap:3px;padding:12px;border:1px solid var(--rb-border);border-radius:14px;background:rgba(255,255,255,.72)}.vehicle-source-grid article b{color:var(--site-primary)}.vehicle-source-grid article span{font-size:11px;font-weight:760}.vehicle-source-grid article small{color:var(--rb-copy-soft);font-size:9px}.tc-infos-vehicle-detail{display:grid;gap:17px}.tc-infos-vehicle-detail>.btn{justify-self:start}

@media(min-width:1121px){
  .app-shell.sidebar-collapsed{padding-left:92px!important}.sidebar-collapsed .side-nav{display:flex!important;width:92px!important;padding:18px 12px!important;overflow:visible!important}.sidebar-collapsed .nav-list{align-items:center!important;width:100%!important}.sidebar-collapsed .nav-group-label,.sidebar-collapsed .side-nav .nav-btn b,.sidebar-collapsed .sidebar-footer{display:none!important}.sidebar-collapsed .side-nav .nav-btn{position:relative!important;width:58px!important;min-height:52px!important;padding:0!important;justify-content:center!important}.sidebar-collapsed .side-nav .nav-btn .nav-icon{width:38px!important;height:38px!important}.sidebar-collapsed .side-nav .nav-btn:hover:after{content:attr(title);position:absolute;z-index:30;left:66px;top:50%;width:max-content;max-width:190px;padding:8px 11px;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:#06264e;color:#fff;font-size:10px;box-shadow:0 12px 30px rgba(0,0,0,.24);transform:translateY(-50%)}.sidebar-collapsed .sidebar-live-card{display:grid!important;place-items:center;width:54px!important;height:54px!important;margin-left:auto!important;margin-right:auto!important;padding:0!important}.sidebar-collapsed .sidebar-live-card span{font-size:0!important}.sidebar-collapsed .sidebar-live-card i{width:10px!important;height:10px!important;margin:0!important}.sidebar-collapsed .sidebar-live-card small{display:none!important}
}

html[data-rb-theme="dark"]{color-scheme:dark;--v2-canvas:#071426;--v2-ink:#e7f1fc;--v2-muted:#91a7bf;--v2-line:rgba(125,159,194,.24);--rb-surface:rgba(13,31,52,.78);--rb-surface-strong:#10243b;--rb-border:rgba(128,166,205,.24);--rb-copy:#e8f2fc;--rb-copy-soft:#8fa6bf;--rb-canvas:#071426;--rb-glow:rgba(35,125,255,.22)}
html[data-rb-theme="dark"] body{background:radial-gradient(circle at 88% 0,rgba(11,211,198,.08),transparent 28%),linear-gradient(145deg,#071426,#091a2d)!important;color:var(--rb-copy)!important}
html[data-rb-theme="dark"] .topbar{border-color:rgba(132,166,201,.18)!important;background:rgba(7,20,38,.82)!important;box-shadow:inset 0 -1px rgba(255,255,255,.025)!important}html[data-rb-theme="dark"] .brand-context{border-color:rgba(145,176,209,.20)!important}html[data-rb-theme="dark"] .brand-section,html[data-rb-theme="dark"] .view-head h2,html[data-rb-theme="dark"] .view-head h3,html[data-rb-theme="dark"] .card h3,html[data-rb-theme="dark"] .kpi b,html[data-rb-theme="dark"] h4{color:#edf6ff!important}
html[data-rb-theme="dark"] .card,html[data-rb-theme="dark"] .kpi,html[data-rb-theme="dark"] .modal,html[data-rb-theme="dark"] .feed-row,html[data-rb-theme="dark"] .driver-step,html[data-rb-theme="dark"] .site-design-help{border-color:var(--rb-border)!important;background:linear-gradient(145deg,rgba(17,39,64,.92),rgba(10,28,48,.79))!important;box-shadow:inset 0 1px rgba(255,255,255,.055),0 20px 50px rgba(0,0,0,.18)!important}
html[data-rb-theme="dark"] input,html[data-rb-theme="dark"] select,html[data-rb-theme="dark"] textarea,html[data-rb-theme="dark"] .global-search,html[data-rb-theme="dark"] .rb-clock,html[data-rb-theme="dark"] .system-status{border-color:rgba(130,166,202,.25)!important;background:rgba(5,18,34,.72)!important;color:#e5f0fb!important}html[data-rb-theme="dark"] option{background:#10243b;color:#e7f1fc}
html[data-rb-theme="dark"] .muted,html[data-rb-theme="dark"] .helper,html[data-rb-theme="dark"] .view-head p,html[data-rb-theme="dark"] .metric span,html[data-rb-theme="dark"] small{color:#8fa6bf!important}html[data-rb-theme="dark"] .metric,html[data-rb-theme="dark"] .detail-pair,html[data-rb-theme="dark"] .empty,html[data-rb-theme="dark"] .notice{border-color:rgba(131,164,198,.20)!important;background:rgba(5,19,35,.46)!important;color:#cddceb!important}
html[data-rb-theme="dark"] .btn.secondary,html[data-rb-theme="dark"] .btn.ghost{border-color:rgba(117,159,207,.28)!important;background:rgba(18,48,78,.72)!important;color:#a9d2ff!important}html[data-rb-theme="dark"] .appearance-options label>span,html[data-rb-theme="dark"] .vehicle-source-grid article,html[data-rb-theme="dark"] .mobile-nav-sheet button{border-color:var(--rb-border)!important;background:rgba(8,24,42,.72)!important;color:#dceafa!important}html[data-rb-theme="dark"] .appearance-options input:checked+span{background:linear-gradient(145deg,rgba(16,87,180,.42),rgba(8,103,103,.34))!important}
html[data-rb-theme="dark"] .modal-backdrop{background:rgba(0,8,18,.72)!important}html[data-rb-theme="dark"] .table-wrap table,html[data-rb-theme="dark"] .history-row,html[data-rb-theme="dark"] .leaderboard-row{color:#dce9f7!important}html[data-rb-theme="dark"] th{color:#8da6c1!important}html[data-rb-theme="dark"] td{border-color:rgba(123,157,194,.17)!important}

@media(max-width:760px){
  .appearance-options{grid-template-columns:1fr}.appearance-options label>span{min-height:67px}.vehicle-source-grid{grid-template-columns:1fr}.mobile-nav-sheet{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}.mobile-nav-sheet button{min-height:88px!important;border-radius:20px!important;background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(244,249,255,.77))!important;box-shadow:inset 0 1px rgba(255,255,255,.9),0 10px 25px rgba(9,43,84,.07)!important}.mobile-nav-sheet button .rb-icon{width:25px!important;height:25px!important}.mobile-nav-sheet button.active{background:linear-gradient(135deg,var(--site-primary),var(--site-accent))!important}.modal{max-height:calc(100dvh - 18px)!important;overflow:auto!important}
  body.rb-driving-mobile-fullscreen .mobile-guidance{background:linear-gradient(145deg,rgba(3,33,72,.96),rgba(6,64,121,.91))!important;border:1px solid rgba(255,255,255,.18)!important;box-shadow:inset 0 1px rgba(255,255,255,.15),0 20px 48px rgba(2,24,55,.30)!important}body.rb-driving-mobile-fullscreen .mobile-map-bottom,body.rb-driving-mobile-fullscreen .mobile-service-dock,body.rb-driving-mobile-fullscreen .mobile-finish-service{border:1px solid rgba(255,255,255,.76)!important;box-shadow:inset 0 1px rgba(255,255,255,.9),0 18px 45px rgba(4,29,65,.20)!important}
}
@media(max-width:390px){.mobile-nav-sheet{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(prefers-reduced-motion:reduce){body:before,body:after{animation:none!important}.studio-loading span{animation-duration:.01ms!important}}

/* Regul'Bus 2.2.2 — consolidation UI, UIcons Flaticon et HUD GPS */
.rb-icon-stack{position:relative;display:inline-grid;place-items:center;flex:0 0 auto}.rb-icon-stack .rb-flaticon{display:none;font-size:1em;line-height:1}.rb-icon-stack .rb-icon-fallback{display:block;width:100%;height:100%}.rb-flaticon-ready .rb-icon-stack .rb-flaticon{display:inline-flex}.rb-flaticon-ready .rb-icon-stack .rb-icon-fallback{display:none}
.public-footer{display:flex!important;align-items:center;justify-content:space-between;gap:14px}.public-footer a{color:inherit;opacity:.68;font-size:10px}.public-request-cta{border:1px solid rgba(255,255,255,.28)!important;background:rgba(255,255,255,.12)!important;color:#fff!important;backdrop-filter:blur(16px)}
.public-guide-section,.public-credential-section{margin-top:24px;padding:clamp(22px,4vw,44px);border:1px solid var(--v2-line);border-radius:var(--site-radius);background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(241,249,255,.74));box-shadow:inset 0 1px rgba(255,255,255,.95),0 22px 58px rgba(4,39,82,.08);backdrop-filter:blur(24px) saturate(145%)}
.public-guide-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:24px}.public-guide-step{min-width:0}.public-guide-screen{position:relative;overflow:hidden;display:grid;align-content:center;justify-items:center;gap:8px;aspect-ratio:.76;padding:18px;border:1px solid rgba(160,188,220,.45);border-radius:25px;background:radial-gradient(circle at 80% 10%,rgba(11,211,198,.25),transparent 28%),linear-gradient(155deg,#082d5c,#0969b9);color:#fff;box-shadow:inset 0 1px rgba(255,255,255,.18),0 16px 30px rgba(4,36,76,.16);transition:transform .28s cubic-bezier(.2,.8,.2,1)}.public-guide-step:hover .public-guide-screen{transform:translateY(-5px) rotateX(2deg)}.public-guide-screen>span{position:absolute;top:13px;left:15px;color:#70eee4;font-size:10px;font-weight:900;letter-spacing:.12em}.public-guide-screen .rb-icon{width:38px;height:38px}.public-guide-screen i{display:block;width:72%;height:7px;border-radius:99px;background:rgba(255,255,255,.16)}.public-guide-screen i+ i{width:50%}.public-guide-screen b{text-align:center;font-size:12px}.public-guide-step h3{margin:14px 0 5px;color:#12375f;font-size:14px}.public-guide-step p{margin:0;color:#71859a;font-size:10px;line-height:1.5}
.public-credential-section{display:grid;grid-template-columns:minmax(0,.85fr) minmax(320px,1.15fr);gap:32px;align-items:center;background:radial-gradient(circle at 4% 8%,color-mix(in srgb,var(--site-accent) 16%,transparent),transparent 34%),rgba(255,255,255,.86)}.public-credential-form{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:20px;border:1px solid rgba(153,183,216,.4);border-radius:24px;background:rgba(255,255,255,.64);box-shadow:inset 0 1px #fff}.public-credential-form .full{grid-column:1/-1}.public-form-status{grid-column:1/-1;min-height:18px;margin:0;color:#667f97;font-size:11px;font-weight:800}.public-form-status.success{color:#068568}.public-form-status.error{color:#ca4051}
.credential-request-list{display:grid;gap:10px}.credential-request-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px;border:1px solid #dce8f4;border-radius:17px;background:rgba(249,252,255,.8)}.credential-request-row>div:first-child{display:grid;gap:3px}.credential-request-row span{width:max-content;padding:3px 7px;border-radius:99px;background:#eef4ff;color:#2964a1;font-size:8px;font-weight:900;letter-spacing:.08em}.credential-request-row.approved span{background:#e7faf4;color:#078166}.credential-request-row.rejected{opacity:.68}.credential-request-row p{margin:0;color:#5e7893;font-size:11px}.credential-request-row small{color:#8294a8;font-size:9px}.copy-field{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:5px;padding:10px;border:1px solid #dce8f4;border-radius:13px;background:#f7faff}.credential-created{display:grid;gap:15px}.credential-created label{font-size:10px;font-weight:850}.credential-created code{font-size:12px}
.credential-admin-card{scroll-margin-top:92px}.app-notification-action{display:block;border:0;background:transparent;cursor:pointer;font:inherit;text-align:left}
.studio-public-options{margin-top:16px}.studio-public-options-form{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.studio-public-options-form .check-row{margin:0;padding:11px 14px;border:1px solid #dce8f4;border-radius:14px;background:rgba(247,251,255,.82)}.studio-public-options-form button{margin-left:auto}
.native-design-studio{padding:22px;border:1px solid var(--rb-border);border-radius:24px;background:radial-gradient(circle at 92% 5%,rgba(11,211,198,.13),transparent 30%),var(--rb-surface)}.native-studio-head{display:flex;justify-content:space-between;gap:20px;margin-bottom:18px}.native-studio-head h3{margin:5px 0}.native-studio-head p{margin:0;color:var(--rb-copy-soft);font-size:11px}.native-studio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.native-studio-grid textarea{min-height:80px}.native-studio-grid button{grid-column:1/-1}
.guidance-sign-v2{position:relative;isolation:isolate;overflow:visible!important;border:1px solid rgba(255,255,255,.28)!important;background:linear-gradient(145deg,rgba(7,104,236,.88),rgba(7,211,196,.82))!important;box-shadow:inset 0 1px rgba(255,255,255,.34),0 10px 24px rgba(0,45,104,.24)!important}.guidance-sign-v2 .guidance-sign-glow{position:absolute;z-index:-1;inset:-8px;border-radius:inherit;background:linear-gradient(135deg,#1683ff,#0bd3c6);filter:blur(14px);opacity:.34}.guidance-sign-v2 svg{filter:drop-shadow(0 2px 3px rgba(0,34,78,.25))}.guidance-sign-v2 svg path{stroke-width:5!important}
.interactive-speedometer{position:relative!important;display:block!important;width:126px!important;min-width:126px!important;height:102px!important;padding:5px 8px 8px!important;border:1px solid rgba(255,255,255,.7)!important;border-radius:22px!important;background:rgba(255,255,255,.70)!important;color:#0b3c71!important;backdrop-filter:blur(24px) saturate(155%)!important;-webkit-backdrop-filter:blur(24px) saturate(155%)!important;cursor:pointer;overflow:hidden;transition:width .22s ease,height .22s ease,transform .2s ease!important}.interactive-speedometer:hover{transform:translateY(-2px)}.interactive-speedometer>svg{display:block;width:100%;height:72px}.speed-arc,.speed-arc-live{fill:none;stroke-width:7;stroke-linecap:round}.speed-arc{stroke:rgba(16,73,130,.13)}.speed-arc-live{stroke:url(#none);stroke:#08aeb0;stroke-dasharray:var(--speed-progress,0) 100;transition:stroke-dasharray .7s ease}.speed-needle{transform-origin:60px 66px;transform:rotate(var(--speed-angle));transition:transform .72s cubic-bezier(.2,.75,.2,1)}.speed-needle line{stroke:#0869dd;stroke-width:3;stroke-linecap:round}.speed-needle circle{fill:#063b76;stroke:#fff;stroke-width:2}.interactive-speedometer svg text{fill:#6a8097;font-size:7px;font-weight:800}.speed-digital{position:absolute;left:0;right:0;bottom:7px;display:flex!important;align-items:baseline;justify-content:center;gap:4px}.speed-digital b{color:#075fca!important;font-size:23px!important;line-height:1!important}.speed-digital small{color:#59758f!important;font-size:8px!important}.speed-details{position:absolute;inset:auto 8px 6px;display:flex!important;justify-content:space-between;gap:8px;opacity:0;transform:translateY(8px);transition:.2s ease}.speed-details em{font-style:normal;color:#526f8d;font-size:8px;font-weight:800}.interactive-speedometer.is-expanded{height:124px!important}.interactive-speedometer.is-expanded .speed-digital{bottom:25px}.interactive-speedometer.is-expanded .speed-details{opacity:1;transform:none}
.next-departure-card{display:grid;gap:5px;padding:14px;border:1px solid rgba(8,174,151,.24);border-radius:16px;background:linear-gradient(145deg,rgba(230,252,247,.85),rgba(239,247,255,.8))}.next-departure-card span{color:#07856f;font-size:8px;font-weight:900;letter-spacing:.09em}.next-departure-card b{color:#153d65}.next-departure-card small{color:#678097}
.rb-bus-marker-v2{width:58px!important;height:68px!important;background:transparent!important;border:0!important;box-shadow:none!important}.rb-bus-marker-v2 .rb-bus-icon{width:58px!important;height:68px!important;object-fit:contain!important;background:transparent!important;filter:none!important}.rb-bus-marker-v2 .rb-bus-heading{opacity:0!important}
.driver-map-main .hud-card{background:rgba(4,34,74,.70)!important;backdrop-filter:blur(24px) saturate(150%)!important;-webkit-backdrop-filter:blur(24px) saturate(150%)!important}.driver-map-main .map-bottom-panel,.driver-map-main .follow-control,.driver-map-main .map-recenter-text,.driver-map-main .speed-limit-sign{background:rgba(255,255,255,.70)!important;backdrop-filter:blur(24px) saturate(150%)!important;-webkit-backdrop-filter:blur(24px) saturate(150%)!important}
.site-loader-card{background:rgba(4,29,64,.56)!important}.site-loader-card b{margin:10px 0 0!important;font-size:14px!important}.site-loader-card .site-loader-track{order:3;margin-top:13px!important}.loading-simple .site-loader-lights i{animation-duration:7s}.loading-simple .site-loader-card img{animation:loaderSimple 1.8s ease-in-out infinite}@keyframes loaderSimple{50%{transform:translateY(-4px) scale(1.025)}}

@media(max-width:1050px){.public-guide-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){
  .public-guide-section,.public-credential-section{padding:20px;border-radius:26px}.public-guide-grid{grid-template-columns:1fr 1fr}.public-credential-section{grid-template-columns:1fr}.public-credential-form{grid-template-columns:1fr;padding:15px}.public-credential-form .full{grid-column:auto}.public-footer{align-items:flex-start;flex-direction:column}.native-studio-grid{grid-template-columns:1fr}.native-studio-grid button{grid-column:auto}.credential-request-row{display:grid}.studio-public-options-form{display:grid}.studio-public-options-form button{margin-left:0}
  body.rb-driving-mobile-fullscreen,html.rb-driving-mobile-fullscreen{width:100%!important;height:100%!important;overflow:hidden!important;overscroll-behavior:none!important}body.rb-driving-mobile-fullscreen .main-content{inset:0!important;width:100vw!important;height:100dvh!important;background:#dbe6ef!important}body.rb-driving-mobile-fullscreen .rb-mobile-driver,body.rb-driving-mobile-fullscreen .rb-mobile-driver-fullscreen,body.rb-driving-mobile-fullscreen .mobile-driver-map,body.rb-driving-mobile-fullscreen .mobile-driver-map>.map{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:100%!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important}
  body.rb-driving-mobile-fullscreen .mobile-guidance{top:max(10px,env(safe-area-inset-top))!important;left:max(10px,env(safe-area-inset-left))!important;right:138px!important;min-height:86px!important;padding:10px 12px!important;border-radius:20px!important;background:linear-gradient(140deg,rgba(3,31,68,.70),rgba(5,68,128,.70))!important;backdrop-filter:blur(26px) saturate(155%)!important;-webkit-backdrop-filter:blur(26px) saturate(155%)!important}.mobile-guidance .guidance-sign{width:52px!important;height:52px!important}.mobile-guidance .guidance-sign svg{width:42px!important;height:42px!important}
  body.rb-driving-mobile-fullscreen .driver-map-actions{top:max(10px,env(safe-area-inset-top))!important;right:max(10px,env(safe-area-inset-right))!important}.rb-driving-mobile-fullscreen .driver-map-actions .follow-control{display:grid!important;place-items:center!important;width:116px!important;min-width:116px!important;height:42px!important;padding:0 8px!important;border:1px solid rgba(255,255,255,.7)!important;border-radius:15px!important;background:rgba(255,255,255,.70)!important;font-size:8px!important;line-height:1.15!important;color:#087d6c!important;white-space:normal!important;backdrop-filter:blur(24px)!important}.rb-driving-mobile-fullscreen .driver-map-actions .follow-control:after{content:none!important}
  body.rb-driving-mobile-fullscreen .interactive-speedometer.mobile-speedometer{position:absolute!important;z-index:76!important;top:62px!important;right:max(10px,env(safe-area-inset-right))!important;bottom:auto!important;left:auto!important;width:116px!important;min-width:116px!important;max-width:116px!important;height:96px!important;min-height:96px!important;max-height:none!important;padding:3px 7px 7px!important;border-radius:20px!important;background:rgba(255,255,255,.70)!important}.interactive-speedometer.mobile-speedometer>svg{height:68px!important}.interactive-speedometer.mobile-speedometer.is-expanded{height:118px!important}
  body.rb-driving-mobile-fullscreen .speed-limit-sign{top:166px!important;right:max(12px,env(safe-area-inset-right))!important;background:rgba(255,255,255,.70)!important;backdrop-filter:blur(22px)!important}
  body.rb-driving-mobile-fullscreen .mobile-map-bottom{left:max(10px,env(safe-area-inset-left))!important;right:max(10px,env(safe-area-inset-right))!important;bottom:calc(80px + env(safe-area-inset-bottom))!important;padding:0!important;border:1px solid rgba(255,255,255,.66)!important;border-radius:21px!important;background:rgba(255,255,255,.70)!important;backdrop-filter:blur(26px) saturate(155%)!important;-webkit-backdrop-filter:blur(26px) saturate(155%)!important}
  body.rb-driving-mobile-fullscreen .mobile-service-dock,body.rb-driving-mobile-fullscreen .mobile-finish-service{bottom:max(10px,env(safe-area-inset-bottom))!important;border:1px solid rgba(255,255,255,.68)!important;background:rgba(255,255,255,.70)!important;backdrop-filter:blur(26px) saturate(155%)!important;-webkit-backdrop-filter:blur(26px) saturate(155%)!important}.mobile-service-dock-copy small{overflow:hidden;max-width:180px;white-space:nowrap;text-overflow:ellipsis}.rb-driving-mobile-fullscreen .mobile-alerts .driver-alert{background:rgba(255,244,246,.70)!important;backdrop-filter:blur(22px)!important}
  body.rb-driving-mobile-fullscreen .maplibregl-ctrl-bottom-right{right:4px!important;bottom:250px!important}.maplibregl-ctrl-attrib{background:rgba(255,255,255,.62)!important;backdrop-filter:blur(10px)}
}
@media(max-width:430px){.public-guide-grid{grid-template-columns:1fr}.public-guide-screen{aspect-ratio:1.35}.public-guide-step h3{margin-top:10px}}

/* Correctif UI/GPS 2.2.2 - icones historiques, tableau clair et HUD compact. */
.rb-icon{display:inline-block;flex:0 0 auto;width:1.15em;height:1.15em;vertical-align:-.18em}.public-guide-pdf{display:inline-flex!important;margin-top:18px;text-decoration:none}
.speed-card-v3{position:relative!important;display:grid!important;align-content:center!important;justify-items:start!important;width:92px!important;min-width:92px!important;height:84px!important;padding:11px 12px!important;border:1px solid rgba(255,255,255,.82)!important;border-radius:20px!important;background:rgba(255,255,255,.72)!important;color:#0b315c!important;box-shadow:inset 0 1px rgba(255,255,255,.95),0 12px 28px rgba(4,31,66,.15)!important;backdrop-filter:blur(24px) saturate(155%)!important;-webkit-backdrop-filter:blur(24px) saturate(155%)!important;cursor:pointer;overflow:hidden}.speed-card-v3 .speed-label{color:#60758d;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.speed-card-v3 .speed-digital{position:static!important;display:flex!important;align-items:baseline!important;justify-content:flex-start!important;gap:4px!important;margin-top:2px}.speed-card-v3 .speed-digital b{font-size:28px!important;line-height:1!important;color:#075fe8!important}.speed-card-v3 .speed-digital small{font-size:8px!important;color:#617890!important}.speed-progress{display:block;width:100%;height:4px;margin-top:8px;border-radius:99px;background:rgba(9,76,151,.12);overflow:hidden}.speed-progress i{display:block;width:var(--speed-progress);height:100%;border-radius:inherit;background:linear-gradient(90deg,#0bd3c6,#075ff7);transition:width .6s cubic-bezier(.2,.75,.2,1)}.speed-card-v3 .speed-details{position:absolute!important;left:10px!important;right:10px!important;bottom:7px!important;display:flex!important;justify-content:space-between!important;opacity:0;transform:translateY(6px);transition:.18s ease}.speed-card-v3 .speed-details em{font-style:normal;color:#57718c;font-size:7px;font-weight:850}.speed-card-v3.is-expanded{width:142px!important;min-width:142px!important;height:96px!important}.speed-card-v3.is-expanded .speed-progress{margin-bottom:12px}.speed-card-v3.is-expanded .speed-details{opacity:1;transform:none}
.rb-bus-marker-v3{position:relative!important;width:74px!important;height:74px!important;border:0!important;background:transparent!important;box-shadow:none!important}.rb-bus-marker-v3 .rb-bus-heading{position:absolute!important;z-index:0!important;left:17px!important;top:-26px!important;width:40px!important;height:64px!important;opacity:1!important;transform-origin:50% 100%!important;clip-path:polygon(50% 0,100% 100%,0 100%);background:linear-gradient(180deg,color-mix(in srgb,var(--bus-color) 46%,transparent),color-mix(in srgb,var(--bus-color) 4%,transparent));filter:blur(.2px);transition:transform .55s cubic-bezier(.2,.75,.2,1)}.rb-bus-bubble{position:absolute;z-index:2;left:14px;top:14px;display:grid;place-items:center;width:46px;height:46px;border:3px solid #fff;border-radius:50%;background:var(--bus-color);color:#fff;box-shadow:0 8px 22px rgba(0,51,113,.28),inset 0 1px rgba(255,255,255,.35)}.rb-bus-bubble .rb-icon{width:25px;height:25px;stroke-width:2}
html[data-rb-theme="light"] .dashboard-view-head{margin-bottom:14px}.dashboard-reference-grid{grid-template-columns:minmax(0,1fr) 330px!important;gap:14px!important}.dashboard-reference-grid .dashboard-map-card{position:relative;min-height:680px!important;padding:0!important;overflow:hidden!important;border-color:#e4ebf4!important;border-radius:16px!important;background:#fff!important}.dashboard-reference-grid .dashboard-map-card>.map{height:680px!important;border-radius:16px!important}.dashboard-deviation-float{position:absolute;z-index:9;left:14px;bottom:92px;width:315px;padding:17px;border:1px solid #e1e9f3;border-radius:15px;background:rgba(255,255,255,.94);box-shadow:0 16px 42px rgba(15,50,90,.16);backdrop-filter:blur(18px);transition:.22s ease}.dashboard-deviation-float.is-collapsed{opacity:0;pointer-events:none;transform:translateY(18px)}.dashboard-deviation-float h4{margin:0 28px 12px 0;color:#15375f;font-size:13px}.dashboard-float-close{position:absolute;right:11px;top:10px;width:28px;height:28px;border:0;border-radius:8px;background:#f2f6fb;color:#69809a;font-size:18px;cursor:pointer}.dashboard-quick-form{display:grid;grid-template-columns:1fr 1fr;gap:9px}.dashboard-quick-form label{display:grid;gap:4px;color:#60758d;font-size:8px;font-weight:850}.dashboard-quick-form input,.dashboard-quick-form select{min-width:0;height:34px;padding:0 8px;border:1px solid #dce6f1;border-radius:8px;background:#fff;color:#17395e;font-size:9px}.dashboard-deviation-float .actions{justify-content:flex-end;margin-top:12px}.dashboard-deviation-float .btn{min-height:34px;padding:0 11px;font-size:9px}.dashboard-map-overview{position:absolute;z-index:8;left:345px;right:14px;bottom:14px;padding:12px 15px;border:1px solid rgba(224,233,243,.92);border-radius:13px;background:rgba(255,255,255,.92);box-shadow:0 10px 28px rgba(12,46,84,.12);backdrop-filter:blur(17px)}.dashboard-map-overview h4{margin:0 0 8px;color:#17395e;font-size:10px}.dashboard-map-overview .network-overview{grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.dashboard-map-overview .network-overview>div{padding:0 12px;border-right:1px solid #e7edf4}.dashboard-map-overview .network-overview>div:last-child{border:0}.dashboard-map-overview .network-overview span{font-size:7px}.dashboard-map-overview .network-overview b{font-size:15px}.dashboard-reference-grid .dashboard-panel{display:grid;grid-template-rows:auto 1fr;gap:14px;min-height:680px;padding:17px!important;border-radius:16px!important}.dashboard-reference-grid .dashboard-events{align-self:end;padding-top:14px;border-top:1px solid #e6edf5}.dashboard-reference-grid .section-title{align-items:center}.dashboard-reference-grid .text-btn{border:0;background:transparent;color:#075ff7;font-size:9px;font-weight:850;cursor:pointer}
html[data-rb-theme="light"] .dashboard-view-head~.kpis{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important}html[data-rb-theme="light"] .dashboard-view-head~.kpis .kpi{min-height:90px!important;padding:14px 52px 12px 14px!important;border-color:#e6edf5!important;border-radius:13px!important;background:#fff!important;box-shadow:0 8px 24px rgba(19,56,95,.055)!important}html[data-rb-theme="light"] .dashboard-view-head~.kpis .kpi-icon{width:36px;height:36px;border-radius:12px}html[data-rb-theme="light"] .dashboard-view-head~.kpis .kpi b{font-size:22px}
@media(max-width:1180px){.dashboard-reference-grid{grid-template-columns:1fr!important}.dashboard-reference-grid .dashboard-panel{min-height:auto}.dashboard-map-overview{left:14px}.dashboard-deviation-float{bottom:105px}}
@media(max-width:760px){.dashboard-deviation-float{display:none}.dashboard-map-overview{left:10px;right:10px;bottom:10px}.dashboard-map-overview .network-overview>div{padding:0 5px}.dashboard-reference-grid .dashboard-map-card,.dashboard-reference-grid .dashboard-map-card>.map{min-height:520px!important;height:520px!important}body.rb-driving-mobile-fullscreen .interactive-speedometer.mobile-speedometer.speed-card-v3{top:108px!important;left:max(12px,env(safe-area-inset-left))!important;right:auto!important;width:82px!important;min-width:82px!important;height:76px!important;min-height:76px!important;padding:9px 10px!important;border-radius:17px!important}body.rb-driving-mobile-fullscreen .interactive-speedometer.mobile-speedometer.speed-card-v3.is-expanded{width:132px!important;min-width:132px!important;height:92px!important}body.rb-driving-mobile-fullscreen .speed-card-v3 .speed-digital b{font-size:25px!important}body.rb-driving-mobile-fullscreen .speed-limit-sign{top:112px!important;right:max(12px,env(safe-area-inset-right))!important}.rb-bus-marker-v3{transform:scale(.92)}}

.auth-shell{isolation:isolate!important;background:radial-gradient(circle at 12% 12%,rgba(7,95,247,.34),transparent 32%),radial-gradient(circle at 92% 88%,rgba(11,211,198,.24),transparent 34%),linear-gradient(150deg,#031a38,#07386f 58%,#05264f)!important}.auth-shell:after{content:"";position:absolute;z-index:0;left:8%;bottom:9%;width:240px;height:240px;border-radius:50%;background:rgba(9,190,211,.14);filter:blur(45px);animation:rbAuthFloat 9s ease-in-out infinite}@keyframes rbAuthFloat{50%{transform:translate3d(26px,-20px,0) scale(1.08)}}.auth-card{overflow:hidden!important;width:min(calc(100% - 32px),470px)!important;padding:32px!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:30px!important;background:linear-gradient(145deg,rgba(9,49,98,.68),rgba(3,25,57,.54))!important;box-shadow:inset 0 1px rgba(255,255,255,.17),0 32px 75px rgba(0,10,30,.34)!important;backdrop-filter:blur(34px) saturate(150%)!important;-webkit-backdrop-filter:blur(34px) saturate(150%)!important}.auth-card:after{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.62),transparent)}.auth-card .auth-logo{width:210px!important;max-height:94px!important;margin:4px 0 18px!important;padding:0!important;background:transparent!important;object-fit:contain!important;filter:drop-shadow(0 10px 22px rgba(0,0,0,.22))!important;mix-blend-mode:normal!important}.auth-card>.eyebrow{margin:0 0 8px!important;color:#73eee5!important}.auth-card h1{margin:0 0 8px!important;font-size:36px!important}.auth-card>.muted{margin:0!important;color:#bfd4eb!important}.auth-card .stack{gap:15px!important;margin-top:25px!important}.auth-card .stack>label{gap:7px;color:#eef6ff!important;font-size:11px!important}.auth-card .stack>label>input{min-height:51px!important;padding:13px 15px!important;border:1px solid rgba(179,211,246,.28)!important;border-radius:15px!important;background:rgba(2,24,54,.43)!important;color:#fff!important;box-shadow:inset 0 1px rgba(255,255,255,.035)!important}.auth-card .stack>label>input:focus{border-color:#43dcd4!important;background:rgba(2,28,61,.62)!important;box-shadow:0 0 0 4px rgba(67,220,212,.13),inset 0 1px rgba(255,255,255,.05)!important}.auth-options{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin:1px 0 3px!important}.auth-options .remember-option{display:inline-flex!important;align-items:center!important;gap:8px!important;color:#dceafa!important;font-size:10px!important;cursor:pointer}.auth-options .remember-option input{appearance:none!important;-webkit-appearance:none!important;display:grid!important;place-items:center!important;width:18px!important;min-width:18px!important;height:18px!important;min-height:18px!important;margin:0!important;padding:0!important;border:1px solid rgba(180,213,248,.44)!important;border-radius:6px!important;background:rgba(255,255,255,.08)!important;box-shadow:none!important}.auth-options .remember-option input:checked{border-color:#27d6c8!important;background:linear-gradient(135deg,#0b73ed,#10c8bd)!important}.auth-options .remember-option input:checked:after{content:"";width:8px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:translateY(-1px) rotate(-45deg)}.auth-options .link-btn{width:auto!important;min-height:0!important;margin:0!important;padding:5px 0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#6ce8df!important;box-shadow:none!important;font-size:10px!important;font-weight:800!important;text-decoration:none!important}.auth-options .link-btn:hover{text-decoration:underline!important}.auth-card .btn.primary.wide{margin-top:2px!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:15px!important;box-shadow:0 14px 30px rgba(3,112,226,.27)!important}.auth-card>.helper{margin:18px 0 0!important;text-align:center!important;color:#7895b3!important;font-size:9px!important}.auth-back-btn{margin-bottom:18px!important;color:#d4e8fa!important;font-size:10px!important;font-weight:850!important}
@media(max-width:760px){.auth-shell{align-items:center!important;padding:max(16px,env(safe-area-inset-top)) 0 max(16px,env(safe-area-inset-bottom))!important}.auth-card{width:calc(100% - 24px)!important;min-height:0!important;padding:24px 20px!important;border:1px solid rgba(255,255,255,.21)!important;border-radius:27px!important;background:linear-gradient(145deg,rgba(8,48,97,.70),rgba(3,25,57,.60))!important;box-shadow:inset 0 1px rgba(255,255,255,.15),0 26px 62px rgba(0,10,28,.31)!important}.auth-card .auth-logo{width:185px!important;max-height:82px!important;margin:0 0 16px!important}.auth-card h1{font-size:32px!important}.auth-card .stack{margin-top:22px!important}.auth-options{display:flex!important}.auth-card>.helper{display:none!important}}@media(max-width:360px){.auth-card{padding:20px 17px!important}.auth-card h1{font-size:29px!important}.auth-options{align-items:flex-start!important;flex-direction:column!important;gap:4px!important}}
