:root{color-scheme:light;background:#f5f7fa;color:#263747}
html,body{height:100%;overscroll-behavior:none}
body{background:#f5f7fa;color:#263747}
.shell{height:100dvh;min-height:0;overflow:hidden}
.topbar{height:72px;flex:none;background:#fff;border-bottom:1px solid #e0e6ed;box-shadow:0 2px 8px #203b5910;z-index:2}
.brand{color:#2c82d8}.brand strong{color:#2c82d8}.brand small{color:#78899a}.brand-mark{background:#2c82d8;box-shadow:0 3px 10px #2c82d850}
.text-button,.back{color:#587083}.text-button:hover,.back:hover{color:#2c82d8}
main{min-height:0;overflow:hidden;padding:20px}
.card,.chat-layout{background:#fff;border-color:#dce5ee;box-shadow:0 12px 32px #27466513}
.login,.setup{max-height:100%;overflow:auto}.eyebrow{color:#2c82d8}.muted,.setup p{color:#718293}.login label{color:#40566a}
input,textarea{color:#263747;background:#fff;border-color:#cbd8e4}input:focus,textarea:focus{border-color:#2c82d8;box-shadow:0 0 0 3px #2c82d822}
.primary{background:#2c82d8;border-color:#2c82d8}.primary:hover{background:#1d6dbb}.error{color:#bf4040}
.workspace{min-height:0;overflow:auto}.agent-card{background:#fff;border-color:#dce5ee;color:#293b4c;box-shadow:0 5px 16px #2847660d}.agent-card:hover{border-color:#2c82d8}.agent-icon{background:#e8f3ff;color:#2c82d8}.agent-detail{color:#2c82d8}
.chat-layout{height:100%;min-height:0;width:min(100%,1160px);border-radius:15px}
.chat-head{flex:none;min-height:76px;padding:12px 20px;background:#fff;border-bottom:1px solid #e1e8ef}.chat-head h1{color:#253b50}.back{flex:none}
.connection{margin-left:auto;display:flex;align-items:center;gap:9px;color:#748798;font-size:13px;white-space:nowrap}
.connection-dot{width:9px;height:9px;flex:none;border-radius:50%;background:#aebbc7;box-shadow:0 0 0 3px #aebbc72b}
.connection.is-live{color:#247a4a}.connection.is-live .connection-dot{background:#26ba66;box-shadow:0 0 0 3px #26ba662a;animation:live-blink 2.2s ease-in-out infinite}
@keyframes live-blink{50%{box-shadow:0 0 0 7px #26ba660b;opacity:.55}}
.messages{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;padding:24px clamp(16px,5vw,55px);background:#f7f9fc;scrollbar-color:#bfd0e2 transparent}
.message-name{color:#57748f}.message-text{background:#fff;border-color:#dce5ee;color:#263747;box-shadow:0 2px 8px #335a7e0b}.mine .message-text{background:#2c82d8;border-color:#2c82d8;color:#fff}.message time{color:#8192a3}.empty{color:#7b8d9e}
.composer{position:relative;flex:none;align-items:flex-end;z-index:1;margin-top:auto;padding:14px 20px calc(14px + env(safe-area-inset-bottom));border-top:1px solid #e0e7ef;background:#fff;box-shadow:0 -6px 18px #32567509}
.composer textarea{resize:none;min-height:54px;max-height:35dvh;background:#f8fafc;border-color:#cddbe8}.composer .primary{flex:none}.chat-layout>.error{background:#fff;color:#c14040}
.thinking{flex:none;background:linear-gradient(110deg,#eaf5ff,#f7fbff 60%,#e7f4ff);border-color:#b8d7f1;box-shadow:0 4px 15px #2c82d81a;margin:12px 20px}.thinking-copy strong{color:#2a587f}.thinking-copy>span:not(.thinking-dots){color:#6387a5}.thinking-orbit{border-color:#2c82d82a;border-top-color:#2c82d8}
.activity-panel{flex:none;margin:0 20px 12px;padding:10px 14px;border-left:3px solid #2c82d8;background:#f0f6fc;border-radius:8px;color:#486175;font-size:12px;max-height:120px;overflow:auto}.activity-heading{font-weight:700;color:#2c82d8}.activity-panel ol{margin:5px 0 0;padding-left:18px}.activity-panel li{padding:2px 0}
@media(max-width:600px){.topbar{height:60px;padding:0 10px}.brand{font-size:19px}main{flex:1;padding:0;min-height:0;align-items:stretch}.login,.setup{margin:auto 14px}.workspace{padding:22px 16px}.chat-layout{height:100%;width:100%;border:0;border-radius:0;box-shadow:none}.chat-head{min-height:64px;padding:8px 12px}.chat-head h1{font-size:16px}.chat-head .eyebrow{font-size:10px}.back{width:30px;font-size:25px}.connection{gap:6px;font-size:11px}.connection-dot{width:8px;height:8px}.messages{padding:17px 13px}.message{max-width:92%}.composer{padding:10px 11px calc(10px + env(safe-area-inset-bottom));gap:8px}.composer textarea{min-height:48px;max-height:30dvh}.composer .primary{height:48px;min-height:48px}.thinking{margin:8px 11px}.activity-panel{margin:0 11px 8px;max-height:90px}}
@media(prefers-reduced-motion:reduce){.connection.is-live .connection-dot{animation:none}}
html,body{height:100%;min-height:0;max-height:100%;overflow:hidden}
body{position:fixed;inset:0;width:100%;height:100dvh;max-height:100dvh}
.shell{height:100%;max-height:100%;min-height:0}
main{flex:1;min-height:0;max-height:100%;overflow:hidden}
.chat-layout{min-height:0;max-height:100%;overflow:hidden}
.messages{-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior-y:contain}
.composer{display:flex;flex-direction:column;align-items:stretch;gap:7px}
.composer-row{display:flex;align-items:stretch;gap:11px;width:100%}
.composer-row textarea{flex:1;width:0;height:54px;min-height:54px;max-height:54px}
.composer-row .primary{height:54px;min-height:54px;align-self:stretch}
.concise-option{display:inline-flex;align-items:center;align-self:flex-start;gap:7px;font-size:12px;color:#64798b;cursor:pointer}
.concise-option input{width:15px;height:15px;margin:0;accent-color:#2c82d8;box-shadow:none}
@media(max-width:600px){.composer-row{gap:8px}.composer-row textarea,.composer-row .primary{height:48px;min-height:48px;max-height:48px}}
@font-face{font-family:Montserrat;font-style:normal;font-weight:400 800;font-display:swap;src:url('montserrat-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Montserrat;font-style:normal;font-weight:400 800;font-display:swap;src:url('montserrat-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root,body,button,input,textarea{font-family:Montserrat,Arial,sans-serif}
.brand small{letter-spacing:.02em;text-transform:none;font-size:11px;margin-top:0}
.agent-icon{width:45px;height:45px;border-radius:50%;overflow:hidden;background:transparent}
.agent-icon img,.chat-agent-avatar,.message-avatar{display:block;border-radius:50%;object-fit:cover;flex:none}
.chat-agent-avatar{box-shadow:0 0 0 2px #d5e8f8}
.message{position:relative}.message.theirs{padding-left:40px}.message.mine{padding-right:40px}
.message-avatar{position:absolute;bottom:19px;width:30px;height:30px}.message.theirs .message-avatar{left:0}.message.mine .message-avatar{right:0}
#chat-error:empty{display:none}
.composer{padding-bottom:max(3px,env(safe-area-inset-bottom));gap:5px}
.concise-option{line-height:17px}
@media(max-width:600px){.composer{padding-bottom:max(3px,env(safe-area-inset-bottom))}.message.theirs{padding-left:35px}.message.mine{padding-right:35px}.message-avatar{width:28px;height:28px}}
:root{font-size:14px}
.message-text{font-size:14px}
.composer-row textarea::placeholder{font-style:italic}
.composer{padding-bottom:max(5px,env(safe-area-inset-bottom))}
.chat-open main{padding:0}
.chat-open .chat-layout{width:100%;max-width:none;border-radius:0;border-left:0;border-right:0}
@media(max-width:600px){.composer{padding-bottom:max(5px,env(safe-area-inset-bottom))}}
.workspace{width:100%;max-width:none;margin-top:0;align-self:flex-start}
.section-heading{margin:2px 0 20px}.section-heading .eyebrow{letter-spacing:normal;text-transform:none}.section-heading h1{letter-spacing:normal;margin:6px 0}.section-heading .muted{margin:0}
.dashboard-status{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px;padding:16px 20px;border:1px solid #dce9f4;border-radius:16px;background:linear-gradient(110deg,#fff,#f2f8fe);box-shadow:0 8px 24px #2c82d810}
.dashboard-status-main{display:flex;align-items:center;gap:14px;min-width:0}.dashboard-status-main strong{display:block;font-size:15px;color:#333333}.dashboard-status-main small{display:block;margin-top:3px;color:#718697;font-size:12px}
.dashboard-dot{display:block;flex:none;width:13px;height:13px;border-radius:50%;background:#aebbc7;box-shadow:0 0 0 5px #aebbc72b}.dashboard-dot.online{background:#28bb68;box-shadow:0 0 0 5px #28bb6825;animation:live-blink 2.2s ease-in-out infinite}
.dashboard-status-meta{display:flex;gap:18px;flex-wrap:wrap;color:#7890a3;font-size:12px;text-align:right}
@media(max-width:600px){input,textarea{font-size:16px!important}.workspace{padding:17px 15px}.section-heading{margin:0 0 15px}.section-heading h1{font-size:23px}.dashboard-status{align-items:flex-start;flex-direction:column;gap:9px;padding:14px 15px;margin-bottom:17px}.dashboard-status-meta{gap:12px;text-align:left}.composer-row textarea{font-size:16px!important}}
@media(prefers-reduced-motion:reduce){.dashboard-dot.online{animation:none}}
.login-open main{align-items:flex-start;padding-top:clamp(15px,3vh,32px)}
.login{padding:24px 30px 18px}
.login h1{margin:8px 0 5px}
.login .muted{margin:0}
.login form{margin-top:12px}
.login label{margin:12px 0 6px}
.login .primary{margin-top:17px}
#login-error:empty{display:none}
#login-error:not(:empty){min-height:0;margin:10px 0 0}
.fleet-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:-7px 0 22px}
.fleet-stat{display:flex;align-items:center;gap:13px;min-width:0;padding:14px 18px;border:1px solid #dce9f4;border-radius:14px;background:#fff;box-shadow:0 5px 16px #2847660d}
.fleet-stat strong{font-size:24px;color:#2c82d8;font-variant-numeric:tabular-nums}.fleet-stat span{font-size:13px;color:#5d7489}
@media(max-width:600px){.login-open main{align-items:flex-start;padding:16px 14px}.login{width:100%;margin:0;padding:20px 22px 16px}.fleet-stats{gap:9px;margin:-5px 0 17px}.fleet-stat{padding:11px;align-items:flex-start;flex-direction:column;gap:2px}.fleet-stat strong{font-size:22px}.fleet-stat span{font-size:11px}}
.topbar{width:100%;padding-left:20px;padding-right:20px}
.login form{margin-top:0}
.login form label:first-child{margin-top:0}
@media(max-width:600px){.topbar{padding-left:10px;padding-right:10px}}
.login{padding-top:14px}
.login h1{margin-top:0}
.login .muted{margin-bottom:8px}
.section-heading h1{margin-top:0}
.fleet-stat{flex-wrap:wrap}
@media(max-width:600px){.login{padding-top:14px}.fleet-stat{align-items:flex-start}}
@media(max-width:600px){.composer-row{align-items:flex-end}.composer-row textarea{height:88px;min-height:88px;max-height:168px;overflow-y:auto;line-height:1.4}.composer-row .primary{height:48px;min-height:48px;max-height:48px;align-self:flex-end}}
@media(max-width:600px){body{top:var(--app-visible-top,0px);bottom:auto;height:var(--app-visible-height,100dvh);max-height:var(--app-visible-height,100dvh)}.composer-row{align-items:stretch}.composer-row .primary{height:auto;min-height:88px;max-height:none;align-self:stretch}body.keyboard-open .composer{padding-bottom:0}}
.chat-layout{position:relative}
.route-open{align-self:flex-start;margin:4px 0 0 40px;padding:8px 12px;border:1px solid #bbd9f3;border-radius:9px;background:#eef7ff;color:#236fab;font-weight:700}
.route-open:hover{background:#e0f0ff}
.route-panel{position:absolute;inset:76px 0 92px;z-index:5;display:flex;flex-direction:column;background:#f7f9fc;border-top:1px solid #dce5ee;box-shadow:0 0 30px #294c7029}
.route-head{display:flex;align-items:center;justify-content:space-between;gap:15px;flex:none;padding:13px 22px;background:#fff;border-bottom:1px solid #dce5ee}
.route-head strong{display:block;font-size:18px;color:#333333}.route-head small{display:block;margin-top:3px;color:#74899c;font-size:12px}
.route-close{width:35px;height:35px;border:0;border-radius:8px;background:#eef4f9;color:#496277;font-size:25px;line-height:1}
.route-body{overflow:auto;padding:17px 22px 22px;overscroll-behavior:contain}
.route-map-card,.route-graph{padding:10px;background:#fff;border:1px solid #dce7f1;border-radius:12px;box-shadow:0 3px 12px #2c82d80b}
.route-map-card svg{display:block;width:100%;height:220px;border-radius:8px;background:#f5f9fc}
.route-map-card small{display:block;margin:8px 0 0;color:#71869a}.route-map-link{display:inline-block;margin-top:7px;color:#2c82d8;font-weight:700;text-decoration:none}.route-map-link:hover{text-decoration:underline}
.route-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0}
.route-controls button{min-width:42px;min-height:36px;padding:0 11px;background:#fff;border:1px solid #c8d9e8;border-radius:8px;color:#2c82d8;font-weight:700}.route-controls button:hover{background:#e8f3ff}
.route-time{margin-left:auto;color:#526b80;font-variant-numeric:tabular-nums}
.route-facts{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 14px}.route-facts span{padding:6px 8px;border-radius:7px;background:#eaf4fd;color:#333333;font-size:12px}
.route-graph{margin-top:12px}.route-graph summary{cursor:pointer;font-weight:700;color:#36516b}.route-graph svg{display:block;width:100%;height:150px;margin-top:6px}
.route-legend{display:flex;gap:15px;flex-wrap:wrap;margin:10px 0 0;color:#698096;font-size:12px}.route-legend span:before{content:'';display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:50%;background:var(--series-color)}
.route-note,.route-empty{color:#6a8092;line-height:1.5}
@media(max-width:600px){.route-open{margin-left:35px}.route-panel{inset:64px 0 135px}.route-head{padding:10px 14px}.route-head strong{font-size:16px}.route-head small{font-size:11px}.route-body{padding:12px}.route-map-card svg{height:180px}.route-graph svg{height:125px}.route-time{width:100%;margin:0}}
.route-google-map{width:100%;height:320px;border-radius:8px;background:#dce6ed}
.route-address{margin-top:9px;color:#333333;font-size:12px;font-weight:700}
@media(max-width:600px){.route-google-map{height:185px}}
.chat-layout.route-detail-open .composer,.chat-layout.route-detail-open>.thinking,.chat-layout.route-detail-open>.activity-panel,.chat-layout.route-detail-open>.error{display:none}
.route-panel{inset:76px 0 0;min-height:0}
.route-body{flex:1;min-height:0;overflow-y:auto}
.route-footer{flex:none;display:flex;flex-direction:column;gap:10px;padding:12px 22px max(12px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid #dce5ee;box-shadow:0 -4px 14px #2c82d812}
.route-footer.hidden{display:none}
.route-footer .route-time{width:100%;margin:0;color:#333333;font-family:Montserrat,Arial,sans-serif;font-size:13px;font-weight:700}
.route-footer .route-facts{margin:0;gap:6px;max-height:72px;overflow-y:auto}
.route-footer .route-facts span{font-weight:700}
.route-timeline{display:block;width:100%;height:28px;margin:0;-webkit-appearance:none;appearance:none;border:0;border-radius:0;box-shadow:none;accent-color:#2c82d8;touch-action:none;background:transparent;cursor:pointer}
.route-timeline::-webkit-slider-runnable-track{height:6px;border-radius:9px;background:linear-gradient(to right,#2c82d8 var(--route-progress,0%),#d7e5f1 var(--route-progress,0%))}
.route-timeline::-webkit-slider-thumb{-webkit-appearance:none;width:21px;height:21px;margin-top:-8px;border:3px solid #fff;border-radius:50%;background:#2c82d8;box-shadow:0 1px 6px #32567577}
.route-controls{display:grid;grid-template-columns:1fr 2fr 1fr;gap:10px;width:100%;margin:0}
.route-controls button{width:100%;min-height:44px;font-family:Montserrat,Arial,sans-serif}
.route-controls #route-play{background:#2c82d8;color:#fff}.route-controls #route-play:hover{background:#1d6fbe;color:#fff}
/* Keep the full playback label on one line, with compact touch targets at either side. */
@media screen and (max-width:700px){
  .route-controls{grid-template-columns:40px minmax(0,1fr) 40px;gap:6px}
  .route-controls .route-step{min-width:40px;padding:0}
  .route-controls #route-play{min-width:0;padding:0 8px;white-space:nowrap;font-size:clamp(13px,4vw,16px)}
}
.route-map-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 13px;border-radius:8px;background:#2c82d8;color:#fff;font-size:12px;text-decoration:none}
.route-map-link:hover{background:#1d6dbb;color:#fff;text-decoration:none}
@media(max-width:600px){.route-panel{inset:64px 0 0}.route-body{padding:12px}.route-map-card svg{height:150px}.route-footer{gap:8px;padding:9px 11px max(5px,env(safe-area-inset-bottom))}.route-footer .route-facts{max-height:96px}.route-controls button{min-height:40px}.route-footer .route-time{font-size:12px}}
.route-section-title{margin:20px 0 3px;color:#333333;font-size:17px;letter-spacing:0}
.route-section-hint{margin:0 0 10px;color:#71869a;font-size:12px;line-height:1.4}
.route-graph{margin-top:8px;padding:10px}
.route-graph summary{list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:28px}
.route-graph summary::-webkit-details-marker{display:none}
.route-graph summary::after{content:'⌄';color:#2c82d8;font-size:20px;line-height:1}
.route-graph[open] summary::after{transform:rotate(180deg)}
.route-graph svg{height:180px;margin-top:4px}
@media(max-width:600px){.route-section-title{margin-top:16px;font-size:15px}.route-graph{padding:10px}.route-graph svg{height:170px}}
.chat-layout.route-detail-open>.chat-head{display:none}
.chat-layout.route-detail-open .route-panel{inset:0}
.route-head{justify-content:flex-start;gap:12px}
.route-close{flex:none;width:38px;height:38px;background:transparent;color:#587083;font-size:29px;font-weight:700}
.route-close:hover{background:#eef7ff;color:#2c82d8}
.route-graph{border-color:#dce7f1;box-shadow:0 3px 14px #2c82d80d}
.route-graph summary{font-family:Montserrat,Arial,sans-serif;font-size:14px;font-weight:700;outline:none}
.route-graph summary:focus-visible{outline:2px solid #2c82d8;outline-offset:3px;border-radius:4px}
.route-graph summary::after{content:'⌄';font-family:Arial,sans-serif;font-size:28px;font-weight:900;line-height:.8}
.route-graph svg{font-family:Montserrat,Arial,sans-serif}
@media(max-width:600px){.route-head{padding:10px 12px}.route-close{width:34px;height:34px;font-size:26px}.route-head strong{font-size:15px}}
.route-head-copy{flex:1;min-width:0}
.route-head .route-map-link{flex:none;gap:7px;margin:0;padding:7px 12px;white-space:nowrap}
.route-head .route-map-link svg{flex:none}
.route-close,.route-controls button,.route-graph summary,.route-map-link{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}
.route-close,.route-controls .route-step{display:inline-flex;align-items:center;justify-content:center}
.route-close svg,.route-controls .route-step svg{display:block}
.route-graph summary::after{content:'';display:block;flex:none;width:11px;height:11px;margin:0 6px 5px 10px;border-right:3px solid #172330;border-bottom:3px solid #172330;transform:rotate(45deg);align-self:center}
.route-graph[open] summary::after{transform:rotate(225deg);margin-top:8px;margin-bottom:0}
@media(max-width:600px){.route-head{gap:8px}.route-head .route-map-link{gap:4px;padding:7px 8px;font-size:11px}.route-head .route-map-link svg{width:15px;height:15px}}
.brand-avatar{display:block;flex:none;width:40px;height:40px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px #d5e8f8}
.chat-head .back{display:inline-flex;align-items:center;justify-content:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.chat-head .back svg{display:block}
.chat-head h1{margin:0;line-height:1.25;letter-spacing:0}
.message.theirs .route-open{margin-left:0}
.agent-card{min-height:112px}
.agent-card .agent-name{margin-top:0}
@media(max-width:600px){.brand-avatar{width:38px;height:38px}.chat-head .back{width:34px;height:38px}}
.topbar{height:80px;min-height:80px}
.chat-head,.route-head{height:60px;min-height:60px;box-sizing:border-box}
.chat-head{padding-top:8px;padding-bottom:8px}
.route-head{padding-top:6px;padding-bottom:6px}
.route-head-copy{overflow:hidden}
.route-head-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-head-copy small{display:flex;align-items:baseline;min-width:0;overflow:hidden;white-space:nowrap}.route-subtitle-time{flex:none;font-weight:700}.route-subtitle-vehicle{min-width:0;overflow:hidden;text-overflow:ellipsis}.route-subtitle-vehicle::before{content:'·';display:inline-block;margin:0 5px}
.route-graph summary{border-radius:6px;transition:background-color .15s,color .15s}
.route-graph summary:hover{background:#eef7ff;color:#2c82d8}
.route-graph summary::after{border-color:currentColor}
@media(max-width:600px){.topbar{height:80px;min-height:80px}.chat-head,.route-head{height:60px;min-height:60px;padding-top:6px;padding-bottom:6px}}
.chat-head,.route-head{padding-left:20px;padding-right:20px}
.chat-head .back,.route-head .route-close{width:38px;height:38px;justify-content:flex-start}
.chat-head .back svg,.route-head .route-close svg{margin-left:-4px}
.route-graph summary:hover{background:transparent;color:#36516b}
.route-graph summary::after,.route-graph summary:hover::after,.route-graph summary:focus-visible::after{border-color:#333333}
.route-graph summary,.route-graph summary:hover{color:#333333}
.route-footer .route-facts span.route-fact-alert{background:#fff0ed;color:#333333}
.route-graph svg{height:200px}
@media(max-width:600px){.chat-head,.route-head{padding-left:15px;padding-right:15px}.chat-head .back,.route-head .route-close{width:38px;height:38px}.route-graph svg{height:190px}}
.route-alert-legend{font-size:11px;line-height:1.35;color:#566b7d}
.route-graph summary:hover::after{border-color:#2c82d8}
.route-graph summary:hover{color:#2c82d8}
.route-head .route-close:hover{background:transparent;color:#2c82d8}
.alarm-entry,.alarm-list-item{font:inherit;text-align:left;border:1px solid #d4e4f4;background:#fff;color:#333;cursor:pointer;box-shadow:0 3px 14px rgba(27,67,106,.05)}
.alarm-entry{display:flex;flex-direction:column;gap:7px;width:100%;margin-top:16px;padding:20px;border-radius:16px}
.alarm-entry strong{font-size:18px}.alarm-entry span,.alarm-list-item small,.alarm-view-head p,.alarm-report-head p,.alarm-note{color:#333333}
.alarm-entry:hover,.alarm-list-item:hover{border-color:#2c82d8;background:#f6fbff}
.alarm-workspace{padding:18px 24px;min-height:0;overflow:auto}.alarm-view-head,.alarm-report-head{display:flex;align-items:center;gap:16px}.alarm-view-head h1,.alarm-report-head h1{font-size:22px;margin:0;color:#333}.alarm-view-head p,.alarm-report-head p{margin:4px 0 0}.alarm-view-head .back,.alarm-report-head .back{font-size:26px;color:#333;background:none;border:0;cursor:pointer}.alarm-refresh{margin-left:auto;padding:9px 13px;border:1px solid #c7dcef;border-radius:9px;background:white;color:#2c82d8;font:inherit;font-weight:700;cursor:pointer}.alarm-note{margin:18px 0;font-size:13px}.alarm-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.alarm-list-item{display:flex;flex-direction:column;gap:6px;padding:16px;border-radius:12px}.alarm-list-item strong{color:#2c82d8}.alarm-list-item span{font-size:14px}
.chat-layout.report-open .chat-head,.chat-layout.report-open .messages,.chat-layout.report-open .thinking,.chat-layout.report-open .activity-panel,.chat-layout.report-open .composer,.chat-layout.report-open #chat-error{display:none!important}.chat-layout.report-open .alarm-report{display:block;overflow:auto;min-height:0;padding:20px 24px}.chat-layout.report-open.route-detail-open .alarm-report{display:none}.alarm-report-card{max-width:760px;margin:22px 0;padding:22px;border:1px solid #d4e4f4;border-radius:16px;background:white;color:#333;line-height:1.6}.alarm-report-card ul{padding-left:22px}.alarm-report-card .primary{margin-top:10px}.alarm-report-head p{font-size:13px}
@media(max-width:600px){.alarm-workspace,.chat-layout.report-open .alarm-report{padding:16px}.alarm-view-head h1,.alarm-report-head h1{font-size:17px}.alarm-refresh{font-size:12px;padding:8px}.alarm-report-card{padding:16px}}
.alarms-open main{align-items:stretch;justify-content:stretch;padding:0;min-height:0}
.alarm-workspace{display:flex;flex-direction:column;flex:1;width:100%;height:100%;min-height:0;min-width:0;overflow:hidden;padding:20px 24px 0}
.alarm-view-head,.alarm-toolbar,.alarm-note{flex:none}.alarm-view-head{width:100%;margin:0 auto}.alarm-toolbar{display:flex;gap:10px;width:100%;margin:20px auto 0}.alarm-toolbar input,.alarm-toolbar select{height:43px;min-width:0;padding:0 12px;background:#fff;border:1px solid #cbdbea;border-radius:9px;color:#333;font-size:14px}.alarm-toolbar input{flex:1}.alarm-toolbar select{max-width:210px}.alarm-toolbar input:focus,.alarm-toolbar select:focus{border-color:#2c82d8;outline:2px solid #2c82d833;box-shadow:none}
.alarm-note{width:100%;margin:12px auto;font-size:13px}.alarm-list{display:flex;flex-direction:column;gap:10px;width:100%;min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding:0 2px 25px;margin:0 auto}
.alarm-list-item{display:block;flex:none;padding:0;cursor:default;overflow:hidden;border-radius:12px}.alarm-list-item summary{display:flex;align-items:center;gap:16px;padding:14px 18px;cursor:pointer;list-style:none}.alarm-list-item summary::-webkit-details-marker{display:none}.alarm-list-item summary:hover,.alarm-list-item summary:focus-visible{background:#f2f8ff}.alarm-item-heading{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.alarm-item-heading strong{color:#2c82d8;font-size:16px}.alarm-item-heading span{color:#333;font-size:14px;overflow-wrap:anywhere}.alarm-list-item time{color:#333333;font-size:12px;white-space:nowrap}.alarm-chevron{width:11px;height:11px;flex:none;border-right:3px solid #333;border-bottom:3px solid #333;transform:rotate(45deg);margin:0 5px 5px}.alarm-list-item[open] .alarm-chevron{transform:rotate(225deg);margin:6px 5px 0}.alarm-item-content{border-top:1px solid #e0eaf3;padding:14px 18px 17px;color:#333;font-size:14px;line-height:1.5}.alarm-item-content p{margin:0 0 9px}.alarm-item-content ul{margin:8px 0;padding-left:20px}.alarm-detail-button{border:1px solid #2c82d8;border-radius:8px;background:#2c82d8;color:#fff;font-weight:700;padding:10px 14px;margin-top:4px}.alarm-detail-button:hover{background:#1d6fbe}
@media(max-width:700px){.alarm-workspace{padding:16px 14px 0}.alarm-toolbar{display:grid;grid-template-columns:1fr 1fr}.alarm-toolbar input{grid-column:1/-1;width:100%}.alarm-toolbar select{max-width:none;width:100%}.alarm-list-item summary{align-items:flex-start;gap:9px;padding:13px}.alarm-list-item time{font-size:12px}.alarm-item-content{padding:13px}.alarm-view-head{gap:8px}.alarm-view-head p{font-size:11px}}
.brand-home{border:0;background:transparent;color:inherit;padding:0;text-align:left;cursor:pointer}.brand-home:hover{opacity:.88}.brand-home:focus-visible{outline:2px solid #2c82d8;outline-offset:5px;border-radius:6px}
.alarm-view-head .back,.alarm-report-head .back{display:inline-flex;align-items:center;justify-content:flex-start;width:38px;height:38px;flex:none;color:#333}.alarm-view-head .back svg,.alarm-report-head .back svg{display:block;margin-left:-4px}.alarm-view-head .back:hover,.alarm-report-head .back:hover{color:#2c82d8}
.alarm-chevron{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:0;transform:none;margin:0;color:#333}.alarm-chevron svg{display:block;width:20px;height:20px}.alarm-list-item[open] .alarm-chevron{transform:rotate(180deg);margin:0}.alarm-list-item summary:hover .alarm-chevron{color:#2c82d8}
.alarm-detail-button{display:inline-flex;align-items:center;justify-content:center;gap:9px}.alarm-detail-button svg{display:block;width:18px;height:18px;flex:none}
.alarm-ai-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:45px;margin:12px 0 0 12px;padding:7px 15px 7px 8px;border:1px solid #8bb8e2;border-radius:10px;background:#f0f7ff;color:#205f9b;font:inherit;font-weight:700;text-align:left;vertical-align:middle;box-shadow:0 2px 9px rgba(32,95,155,.08)}.alarm-ai-button:hover{border-color:#2c82d8;background:#e2f0ff;color:#174d81}.alarm-ai-button:focus-visible{outline:3px solid #2c82d866;outline-offset:2px}.alarm-ai-button img{display:block;width:28px;height:28px;flex:none;border-radius:50%;background:#d8eaff}.alarm-report-card .alarm-ai-button{margin-top:12px}.alarm-item-content .alarm-ai-button{margin-top:12px}@media(max-width:700px){.alarm-ai-button,.alarm-report-card .alarm-ai-button{display:flex;width:fit-content;max-width:100%;margin-left:0}.alarm-ai-button{font-size:13px}}
.login-open .topbar{display:none}.login-open main{justify-content:center;align-items:flex-start;padding-top:clamp(20px,4vh,48px)}.login-entry{display:flex;flex-direction:column;align-items:center;width:min(100%,440px);margin:0 auto}.login-entry .login{width:100%;margin:0}.login-brand{display:flex;flex-direction:column;align-items:center;margin:0 0 20px;text-align:center}.login-brand-avatar{display:block;width:120px;height:120px;border-radius:50%;object-fit:cover;border:3px solid #d9eaf8;box-shadow:0 8px 25px #244a7020}.login-brand>strong{display:block;margin-top:13px;color:#2c82d8;font-size:27px;line-height:1.15;font-weight:800}.login-brand>span{display:flex;align-items:center;gap:6px;margin-top:5px;color:#6c7c8d;font-size:13px;font-weight:600}.login-brand>span img{display:block;width:90px;height:auto;object-fit:contain}@media(max-width:600px){.login-open main{padding:20px 14px}.login-brand{margin-bottom:17px}.login-brand-avatar{width:120px;height:120px}.login-entry .login{width:100%;margin:0}}
/* Flacher Form360-Stil: helle Arbeitsfläche, dezente Konturen und kompakte Ecken. */
:root,body{background:#f0f0f0}.messages,.route-panel{background:#f0f0f0}.login-brand>strong{color:#333333}.card,.agent-card,.dashboard-status,.fleet-stat,.alarm-entry,.alarm-list-item,.alarm-report-card,.route-map-card,.route-graph,.thinking{border-radius:7px;box-shadow:0 2px 8px rgba(25,44,62,.06)}.chat-layout{border-radius:7px;box-shadow:0 2px 8px rgba(25,44,62,.06)}.message-text{border-radius:7px;box-shadow:none}.primary,.alarm-refresh,.alarm-detail-button,.alarm-ai-button,.route-map-link,.route-controls button,.route-close,.route-open,.route-step{border-radius:5px;box-shadow:none}input,textarea,.alarm-toolbar input,.alarm-toolbar select,.composer textarea{border-radius:5px}.route-google-map,.route-map-card svg{border-radius:5px}.route-facts span{border-radius:4px}@media(max-width:600px){.chat-layout{border-radius:0}}
/* Neutrale Rahmen; nur die Fläche der auswählbaren Karten färbt sich beim Hover. */
:root,body,.workspace,.alarm-workspace,.chat-layout.report-open .alarm-report,.messages,.route-panel{background:#f5f5f5}.card,.chat-layout,.agent-card,.dashboard-status,.fleet-stat,.alarm-entry,.alarm-list-item,.alarm-report-card,.route-map-card,.route-graph,.thinking,.message.theirs .message-text{border-color:#dedede}.agent-card{transform:none;transition:background-color .16s ease,border-color .16s ease}.agent-card:hover,.agent-card:focus-visible{transform:none;border-color:#dedede;background:#edf5fc}.alarm-entry:hover,.alarm-list-item:hover{border-color:#dedede;background:#edf5fc}.login-brand-avatar{border-color:#d3d3d3;box-shadow:0 0 0 1px #d3d3d3}.brand-avatar,.chat-agent-avatar{box-shadow:0 0 0 2px #d3d3d3}.agent-icon img,.message-avatar,.alarm-ai-button img{border:1px solid #d3d3d3}.thinking-avatar{animation:none;box-shadow:0 0 0 2px #d3d3d3}
button{border:0!important}.route-map-link{border:0}.alarm-actions{display:flex;align-items:stretch;flex-wrap:wrap;gap:12px;margin-top:12px}.alarm-actions>.primary,.alarm-actions>.alarm-detail-button,.alarm-actions>.alarm-ai-button{display:inline-flex;align-items:center;justify-content:center;height:52px;min-height:52px;max-height:52px;margin:0!important;padding:7px 14px;line-height:1.2;box-sizing:border-box}.alarm-actions>.alarm-ai-button{gap:10px;text-align:left}.alarm-actions>.alarm-ai-button img{width:28px;height:28px;flex:none}@media(max-width:700px){.alarm-actions{flex-direction:column}.alarm-actions>.primary,.alarm-actions>.alarm-detail-button,.alarm-actions>.alarm-ai-button{width:100%;max-width:100%}}
.login-brand-avatar,.login-brand .login-brand-avatar{width:160px;height:160px;border:0;box-shadow:none}.login-brand>strong{margin-top:16px;font-size:30px;line-height:1}.login-brand>span{gap:5px;color:#999999;font-size:10px}@media(max-width:600px){.login-brand-avatar,.login-brand .login-brand-avatar{width:160px;height:160px}}
.card,.chat-layout,.agent-card,.dashboard-status,.fleet-stat,.alarm-entry,.alarm-list-item,.alarm-report-card,.route-map-card,.route-graph,.thinking,.message.theirs .message-text{border:0}
.brand-avatar,.chat-agent-avatar{box-shadow:0 0 0 1px #f0f0f0}.brand small{display:flex;align-items:center;gap:5px;color:#999999;font-size:10px;line-height:1}.brand small img{display:block;width:72px;height:auto;object-fit:contain}.login-brand>strong span{color:#2c82d8}.composer textarea{background:#ffffff;border-color:#f0f0f0}.agent-icon img,.message-avatar,.alarm-ai-button img{border:0}.route-open{background:#2c82d8;color:#ffffff;border:0}.route-open:hover{background:#1d6dbb;color:#ffffff}.alarm-toolbar input,.alarm-toolbar select{border:0}
img[data-sandro-avatar]{animation:none;transform:none;will-change:auto}
.brand-avatar{width:60px;height:60px}
.login-brand>span{margin-top:15px;font-style:italic}
.login-brand>span img{width:120px}
.login h1{text-align:center}
.message-avatar{width:40px;height:40px}
.message.theirs{padding-left:48px}.message.mine{padding-right:48px}
@media(max-width:600px){.brand-avatar{width:60px;height:60px}.message-avatar{width:40px;height:40px}.message.theirs{padding-left:48px}.message.mine{padding-right:48px}}
.brand{font-size:24px;font-weight:800;letter-spacing:0}
.brand small{font-style:italic;font-weight:600;letter-spacing:0}
.brand small img{width:100px}
.alarm-ai-button,.alarm-actions>.alarm-ai-button{background:#333333;color:#ffffff}
.alarm-ai-button:hover,.alarm-actions>.alarm-ai-button:hover{background:#2c82d8;color:#ffffff}
.customer-action-message{width:min(100%,1160px);min-height:18px;margin:-8px auto 12px;color:#526b80;font-size:12px}
.customer-list-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:7px}.customer-list-actions button{min-height:34px;padding:7px 10px;border-radius:5px;background:#ffffff;color:#2c82d8;font:700 11px Montserrat,Arial,sans-serif;cursor:pointer}.customer-list-actions button:hover{background:#2c82d8;color:#ffffff}.customer-list-actions button:disabled{opacity:.55;cursor:wait}.customer-list-actions .customer-danger-button{color:#a33e36}.customer-list-actions .customer-danger-button:hover{background:#a33e36;color:#ffffff}
.customer-dialog{width:min(calc(100% - 28px),520px);padding:0;border:0;border-radius:7px;background:#ffffff;color:#333333;box-shadow:0 18px 55px rgba(24,40,56,.2)}.customer-dialog::backdrop{background:rgba(24,40,56,.48)}.customer-dialog form{display:flex;flex-direction:column;gap:8px;padding:22px}.customer-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:6px}.customer-dialog-head h2{margin:0;font-size:19px}.customer-dialog-head p{margin:4px 0 0;color:#718296;font-size:11px}.customer-dialog-head>button{width:34px;height:34px;flex:none;border-radius:5px;background:#f0f0f0;color:#333333;font-size:22px;cursor:pointer}.customer-dialog label{margin-top:5px;font-size:12px;font-weight:700}.customer-dialog input{width:100%;height:42px;padding:0 11px;box-sizing:border-box;border:0;border-radius:5px;background:#f5f5f5;color:#333333;font:500 14px Montserrat,Arial,sans-serif}.customer-dialog input:focus{outline:2px solid #2c82d855;background:#ffffff}.customer-password-row{display:grid;grid-template-columns:1fr auto;gap:8px}.customer-password-row button{padding:0 13px;border-radius:5px;background:#333333;color:#ffffff;font:700 12px Montserrat,Arial,sans-serif;cursor:pointer}.customer-password-row button:hover{background:#2c82d8}.customer-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.customer-dialog-actions button{min-height:42px;padding:8px 13px;border-radius:5px;font:700 12px Montserrat,Arial,sans-serif;cursor:pointer}.customer-dialog-actions .secondary{background:#f0f0f0;color:#333333}.customer-dialog-actions .primary{background:#2c82d8;color:#ffffff}.customer-dialog .form-message{min-height:18px;margin:4px 0 0;font-size:11px}
@media(max-width:700px){.customer-action-message{padding:0 14px;box-sizing:border-box}.customer-list-actions button{flex:1}.customer-dialog form{padding:18px}.customer-dialog-actions{flex-direction:column}.customer-dialog-actions button{width:100%}}
/* Einheitliche kompakte Kopfzeile und 40-px-Formfelder. */
.topbar{height:60px;min-height:60px}
.brand{font-size:18px}
.brand-avatar{width:40px;height:40px}
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]),select,.alarm-date-button,.alarm-icon-button,.alarm-vehicle-controls button,.route-print,.admin-form input,.admin-form select,.customer-dialog input,.gps360-import>select{height:40px;box-sizing:border-box}
@media(max-width:600px){.topbar{height:60px;min-height:60px}.brand{font-size:18px}.brand-avatar{width:40px;height:40px}.alarm-vehicle-controls select,.alarm-vehicle-controls button{height:40px}}
.agent-card-main{display:flex;align-items:center;gap:14px;min-width:0}.agent-card-car-icon{display:block;width:84px;height:32px;flex:none;color:#8b949d;background:currentColor;mask:url('rental-car.svg?v=1') center/contain no-repeat;-webkit-mask:url('rental-car.svg?v=1') center/contain no-repeat;transition:color .16s ease}.agent-card:hover .agent-card-car-icon,.agent-card:focus-visible .agent-card-car-icon{color:#2c82d8}.agent-card.has-rental-car-icon .agent-detail{margin-left:98px}@media(max-width:520px){.agent-card-car-icon{width:72px;height:28px}.agent-card.has-rental-car-icon .agent-detail{margin-left:86px}}
.agent-grid{margin-bottom:22px}.agent-detail{display:inline-flex;align-items:center;gap:7px;font-weight:700}.agent-detail svg{display:block;flex:none}.chat-agent-car-icon{display:block;width:70px;height:27px;flex:none;color:#8b949d;background:currentColor;mask:url('rental-car.svg?v=1') center/contain no-repeat;-webkit-mask:url('rental-car.svg?v=1') center/contain no-repeat}.dashboard-entry{align-items:center;flex-direction:row;gap:16px}.dashboard-entry-icon{display:block;width:38px;height:38px;flex:none;color:#8b949d;background:currentColor;mask-position:center;mask-repeat:no-repeat;mask-size:contain;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;transition:color .16s ease}.dashboard-entry:hover .dashboard-entry-icon,.dashboard-entry:focus-visible .dashboard-entry-icon{color:#2c82d8}.reports-icon{mask-image:url('reports.svg?v=1');-webkit-mask-image:url('reports.svg?v=1')}.drivers-icon{mask-image:url('drivers.svg?v=1');-webkit-mask-image:url('drivers.svg?v=1')}.dashboard-entry-copy{display:flex;flex-direction:column;gap:5px;min-width:0}.dashboard-entry .dashboard-entry-copy strong{color:#333333;font-size:18px}.dashboard-entry:hover .dashboard-entry-copy strong,.dashboard-entry:focus-visible .dashboard-entry-copy strong{color:#2c82d8}@media(max-width:600px){.agent-grid{margin-bottom:17px}.chat-agent-car-icon{width:58px;height:23px}.dashboard-entry{gap:12px;padding:15px}.dashboard-entry-icon{width:32px;height:32px}.dashboard-entry .dashboard-entry-copy strong{font-size:16px}}
.account-controls{display:flex;align-items:center;gap:4px;margin-left:auto;color:#999}.account-copy{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;min-width:0;margin-right:5px;line-height:1.1}.account-copy strong{max-width:220px;overflow:hidden;color:#777;font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.account-copy small{max-width:220px;overflow:hidden;color:#aaa;font-size:10px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.account-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:40px;padding:0;border-radius:5px;background:transparent;color:#999;transition:color .15s ease,background-color .15s ease}.account-glyph{display:block;width:20px;height:20px;min-width:20px;min-height:20px;background:currentColor;mask-position:center;mask-repeat:no-repeat;mask-size:20px 20px;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:20px 20px}.account-user-glyph{mask-image:url('form360-user.svg?v=2');-webkit-mask-image:url('form360-user.svg?v=2')}.account-alert-glyph{mask-image:url('form360-alert.svg?v=2');-webkit-mask-image:url('form360-alert.svg?v=2')}.account-logout-glyph{mask-image:url('form360-logout.svg?v=2');-webkit-mask-image:url('form360-logout.svg?v=2')}.account-icon:hover,.account-icon:focus-visible{background:#edf5fc;color:#2c82d8;outline:0}.notification-count{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 4px;border-radius:5px;background:#2c82d8;color:#fff;font-size:9px;font-weight:700;line-height:1}
@media(max-width:700px){.account-copy{display:none}.account-controls{gap:1px}.account-icon{width:38px;height:42px}.account-glyph{width:20px;height:20px}}
@media(max-width:600px){.route-footer::after{content:'';display:block;width:100%;height:5px;min-height:5px;flex:none}}
.alarm-note.is-loading{position:relative;display:flex;align-items:center;gap:12px;min-height:70px;padding:11px 14px;overflow:hidden;border-radius:7px;background:linear-gradient(110deg,#eaf5ff,#fff 62%,#e7f4ff);box-shadow:0 2px 8px rgba(25,44,62,.06)}.alarm-note.is-loading::before{content:'';position:absolute;inset:0;background:linear-gradient(100deg,transparent 25%,#8bddff24 50%,transparent 75%);transform:translateX(-100%);animation:thinking-shimmer 3s linear infinite;pointer-events:none}.alarm-note.is-loading>img{position:relative;display:block;width:44px;height:44px;flex:none;border-radius:50%;object-fit:cover}.alarm-loading-copy{position:relative;display:flex;flex-direction:column;gap:2px;min-width:0}.alarm-loading-copy strong{color:#2a587f;font-size:13px}.alarm-loading-copy>span:not(.alarm-loading-dots){color:#6387a5;font-size:11px}.alarm-loading-dots{display:flex;align-items:center;gap:4px;height:9px;margin-top:2px}.alarm-loading-dots i{width:5px;height:5px;border-radius:50%;background:#2c82d8;animation:thinking-dot 1.2s ease-in-out infinite}.alarm-loading-dots i:nth-child(2){animation-delay:.18s}.alarm-loading-dots i:nth-child(3){animation-delay:.36s}@media(max-width:600px){.alarm-note.is-loading{min-height:64px;padding:9px 11px}.alarm-note.is-loading>img{width:40px;height:40px}}@media(prefers-reduced-motion:reduce){.alarm-note.is-loading::before,.alarm-loading-dots i{animation:none}}
.thinking-avatar{box-shadow:none}
.alarm-toolbar input,.alarm-toolbar select,.alarm-day-row select{font-family:Montserrat,Arial,sans-serif;font-style:normal}
.alarm-day-row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;margin:12px auto 0;flex:none}
.alarm-day-controls,.alarm-vehicle-controls{display:flex;align-items:center;gap:8px}
.alarm-date-button,.alarm-icon-button,.alarm-vehicle-controls select,.alarm-vehicle-controls button,.route-print{height:42px;background:#fff;color:#333;border:0;border-radius:5px;font-family:Montserrat,Arial,sans-serif}
.alarm-date-button{display:flex;align-items:center;justify-content:space-between;gap:22px;min-width:210px;padding:0 12px;font-weight:600}
.alarm-icon-button,.route-print{display:inline-flex;align-items:center;justify-content:center;width:42px;padding:0;cursor:pointer}
.alarm-icon-button:hover,.alarm-date-button:hover,.route-print:hover{color:#2c82d8;background:#edf5fc}
.alarm-icon-button:disabled{opacity:.35;cursor:not-allowed}
.alarm-vehicle-controls{margin-left:auto;min-width:0}.alarm-vehicle-controls select{width:min(330px,32vw);padding:0 12px}.alarm-vehicle-controls button{padding:0 14px;background:#2c82d8;color:#fff;font-weight:700;cursor:pointer}.alarm-vehicle-controls button:hover{background:#1d6fbe}.alarm-vehicle-controls button:disabled{background:#cbd6df;color:#fff;cursor:not-allowed}
.alarm-calendar{position:absolute;z-index:30;top:52px;left:0;display:grid;grid-template-columns:145px 1fr;width:min(850px,calc(100vw - 40px));padding:20px;background:#fff;border-radius:7px;box-shadow:0 15px 45px rgba(25,44,62,.24)}
.alarm-calendar.hidden{display:none}.alarm-calendar-quick{display:flex;flex-direction:column;align-items:stretch;padding-right:18px}.alarm-calendar-quick button{padding:10px;text-align:left;background:transparent;color:#65717d;font:600 14px Montserrat,Arial,sans-serif}.alarm-calendar-quick button:hover{color:#2c82d8;background:#f2f7fc}
.alarm-calendar-months{display:grid;grid-template-columns:1fr 1fr;gap:28px}.alarm-calendar-month header{display:grid;grid-template-columns:32px 1fr 32px;align-items:center;margin-bottom:12px;text-align:center}.alarm-calendar-month header strong{text-transform:uppercase;font-size:14px}.alarm-calendar-month header button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;color:#7b8792}.alarm-calendar-month header button:hover{color:#2c82d8}.alarm-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.alarm-calendar-grid b{padding:7px 0;color:#6f7880;font-size:12px}.alarm-calendar-grid i{display:block}.alarm-calendar-grid button{width:34px;height:34px;margin:auto;border-radius:50%;background:transparent;color:#333;font:500 13px Montserrat,Arial,sans-serif}.alarm-calendar-grid button:hover{background:#edf5fc;color:#2c82d8}.alarm-calendar-grid button.selected{background:#2c82d8;color:#fff}.alarm-calendar-grid button:disabled{opacity:.25;cursor:not-allowed}
.alarm-calendar-actions{grid-column:2;display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.alarm-calendar-actions button{min-width:105px;height:40px;background:#fff;color:#333;border-radius:5px;font:700 13px Montserrat,Arial,sans-serif}.alarm-calendar-actions .primary{background:#2c82d8;color:#fff}
.route-print{margin-left:auto;flex:none}.route-map-link{margin-left:0}
@media(max-width:850px){.alarm-day-row{align-items:stretch;flex-direction:column}.alarm-day-controls{width:100%}.alarm-date-button{flex:1;min-width:0}.alarm-vehicle-controls{width:100%;margin-left:0}.alarm-vehicle-controls select{flex:1;width:auto;min-width:0}.alarm-calendar{grid-template-columns:1fr;top:100px}.alarm-calendar-quick{flex-direction:row;padding:0 0 10px}.alarm-calendar-months{grid-template-columns:1fr}.alarm-calendar-month:nth-child(2){display:none}.alarm-calendar-actions{grid-column:1}.alarm-calendar-grid button{width:32px;height:32px}}
@media(max-width:520px){.alarm-day-controls{gap:5px}.alarm-date-button{gap:8px;font-size:12px}.alarm-icon-button{width:38px}.alarm-vehicle-controls{flex-direction:column}.alarm-vehicle-controls select,.alarm-vehicle-controls button{width:100%;height:42px}.alarm-calendar{width:calc(100vw - 28px);padding:14px}}
@media print{.topbar,.alarm-view-head .back,.alarm-refresh,.alarm-toolbar,.alarm-day-row,.alarm-list-item summary .alarm-chevron,.alarm-actions,.route-close,.route-print,.route-map-link,.route-footer{display:none!important}html,body,.shell,main,.alarm-workspace,.alarm-list,.chat-layout,.route-panel,.route-body{height:auto!important;min-height:0!important;overflow:visible!important;background:#fff!important}.alarm-workspace,.route-body{padding:0!important}.alarm-list-item{break-inside:avoid;box-shadow:none}.alarm-list-item[open] .alarm-item-content{display:block}.route-graph{break-inside:avoid;box-shadow:none}.route-graph svg{height:180px}.route-head{padding:0 0 14px!important}}
@media print{.route-footer{display:flex!important;position:static!important;box-shadow:none!important;border-top:1px solid #ddd}.route-controls,.route-timeline{display:none!important}}

/* Kundenkonten und sichere Anmeldung */
.login-options{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:4px 0 14px;font-size:12px;color:#596b7b}.login-options label{display:flex;align-items:center;gap:7px;margin:0;cursor:pointer}.login-options input{width:17px;height:17px;margin:0;accent-color:#2c82d8}.login-options button,.reset-back{padding:5px 0;background:transparent;color:#2c82d8;font:600 12px Montserrat,Arial,sans-serif;cursor:pointer}.login-options button:hover{text-decoration:underline}.login form .secondary{height:42px;margin-top:7px;background:transparent;color:#333333;font:600 13px Montserrat,Arial,sans-serif}.form-message{min-height:20px;margin:12px 0 0;color:#48647b;font-size:13px;line-height:1.4}
.customers-open main{align-items:stretch;justify-content:stretch;padding:0;min-height:0}.customer-workspace{width:100%;height:100%;overflow:auto;padding:20px 24px 40px}.customer-head{display:flex;align-items:center;gap:15px;width:min(100%,1160px);margin:0 auto 18px}.customer-head .back{display:flex;align-items:center;justify-content:flex-start;width:38px;height:38px;background:transparent;color:#333}.customer-head .back:hover{color:#2c82d8}.customer-head h1{margin:0;color:#333;font-size:22px}.customer-head p{margin:3px 0 0;color:#333333;font-size:13px}.customer-head .alarm-refresh{margin-left:auto}.customer-grid{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(440px,1.5fr);gap:16px;width:min(100%,1160px);margin:0 auto 16px}.customer-panel{padding:20px;background:#fff;border-radius:7px;box-shadow:0 2px 8px rgba(25,44,62,.06)}.customer-panel h2{margin:0 0 15px;color:#333;font-size:17px}.customer-list{display:flex;flex-direction:column;gap:7px;color:#778695;font-size:13px}.customer-list-item{display:flex;flex-direction:column;gap:3px;width:100%;padding:12px;background:#f5f5f5;color:#333;text-align:left;font:inherit;border-radius:5px;cursor:pointer}.customer-list-item:hover{background:#e8f3fc}.customer-list-item strong{font-size:14px}.customer-list-item span{color:#718296;font-size:11px}.admin-form{display:flex;flex-direction:column;gap:8px}.admin-form label{margin-top:5px;color:#333;font-size:12px;font-weight:700}.admin-form label small{font-weight:500;color:#8996a2}.admin-form input,.admin-form select{width:100%;height:42px;padding:0 11px;border:0;border-radius:5px;background:#f5f5f5;color:#333;font:500 14px Montserrat,Arial,sans-serif;box-sizing:border-box}.admin-form input:focus,.admin-form select:focus{outline:2px solid #2c82d855;background:#fff}.admin-form .primary{align-self:flex-start;min-width:180px;margin-top:10px}.admin-form .check-row{display:flex;align-items:center;gap:8px;font-weight:600}.admin-form .check-row input{width:17px;height:17px;accent-color:#2c82d8}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-two label{display:flex;flex-direction:column;gap:8px}.field-help{margin-top:-4px;color:#8594a1;font-size:11px}.form-section-title{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.form-section-title button{padding:7px 10px;background:#edf5fc;color:#2c82d8;font:700 12px Montserrat,Arial,sans-serif;border-radius:5px;cursor:pointer}.vehicle-rows{display:flex;flex-direction:column;gap:7px}.vehicle-row{display:grid;grid-template-columns:.7fr 1.2fr .9fr .9fr 34px;gap:6px}.vehicle-row input{min-width:0}.vehicle-remove{height:42px;background:#fff0ed;color:#aa3f35;border-radius:5px;font-size:22px;cursor:pointer}.vehicle-remove:hover{background:#ffe2dd}.customer-users{margin-top:16px}
@media(max-width:800px){.customer-workspace{padding:16px 14px 32px}.customer-grid{grid-template-columns:1fr}.customer-head h1{font-size:18px}.vehicle-row{grid-template-columns:1fr 1fr}.vehicle-remove{grid-column:2;justify-self:end;width:42px}.form-two{grid-template-columns:1fr}}
.customer-head-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.customer-head-actions .alarm-refresh{margin-left:0}.gps360-import{width:min(100%,1160px);margin:0 auto 16px;padding:20px;background:#fff;border-radius:7px;box-shadow:0 2px 8px rgba(25,44,62,.06)}.gps360-import-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.gps360-import-head h2{margin:0;color:#333;font-size:18px}.gps360-import-head p{margin:5px 0 0;color:#6f8090;font-size:12px}.gps360-import-head button{width:36px;height:36px;background:#f5f5f5;color:#333;border-radius:5px;font-size:23px;cursor:pointer}.gps360-import>label{display:block;margin:18px 0 7px;color:#333;font-size:12px;font-weight:700}.gps360-import>select{width:min(100%,480px);height:43px;padding:0 11px;background:#f5f5f5;border:0;border-radius:5px;color:#333;font:600 14px Montserrat,Arial,sans-serif}.gps360-import-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.gps360-import-columns>div{min-width:0}.gps360-import h3{margin:0 0 9px;color:#333;font-size:14px}.gps360-check-list{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow:auto;padding:3px}.gps360-check-list>label{display:flex;align-items:flex-start;gap:9px;padding:10px;background:#f5f5f5;border-radius:5px;cursor:pointer}.gps360-check-list>label:hover{background:#edf5fc}.gps360-check-list input{width:17px;height:17px;margin:2px 0 0;accent-color:#2c82d8}.gps360-check-list span{display:flex;flex-direction:column;gap:2px;min-width:0}.gps360-check-list strong{color:#333;font-size:12px}.gps360-check-list small{color:#748596;font-size:10px;overflow-wrap:anywhere}.gps360-import-actions{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-top:18px}.gps360-import-actions .form-message{flex:1;margin:0}.gps360-import-actions .primary{min-width:190px}
@media(max-width:800px){.customer-head{flex-wrap:wrap}.customer-head-actions{width:100%;margin-left:53px}.customer-head-actions button{flex:1}.gps360-import-columns{grid-template-columns:1fr}.gps360-import-actions{align-items:stretch;flex-direction:column}.gps360-import-actions .primary{width:100%}}
.gps360-import .gps360-premium-check{display:flex;align-items:center;gap:9px;margin:16px 0 0;color:#333;font-size:13px;font-weight:700;cursor:pointer}.gps360-premium-check input{width:18px;height:18px;margin:0;accent-color:#2c82d8}.gps360-premium-note{margin:6px 0 0 27px;color:#7a8997;font-size:11px;line-height:1.45}.admin-form .premium-check{margin-top:8px;padding:10px;background:#f5f5f5;border-radius:5px}
.imported-overview .customer-list-item{cursor:default}.imported-overview .customer-list-item:hover{background:#f5f5f5}
.route-panel>.route-map-actions{display:none}
.route-map-meta{display:flex;align-items:center;gap:12px;margin-top:9px}.route-map-meta .route-map-caption{flex:1;min-width:0;margin:0}.route-map-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex:none}.route-map-actions .route-print{width:38px;height:38px;background:#f5f5f5}.route-map-actions .route-map-link{min-height:38px;margin:0;padding:7px 11px}.route-address{margin-top:9px;color:#333333;font-size:12px;font-weight:700}
@media(max-width:600px){.route-map-meta{align-items:flex-start;gap:8px}.route-map-meta .route-map-caption{font-size:10px;line-height:1.35}.route-map-actions{gap:5px}.route-map-actions .route-print{width:36px;height:36px}.route-map-actions .route-map-link{min-height:36px;padding:6px 8px;font-size:11px}.route-map-link-long{display:none}.route-address{font-size:12px}}
.alarm-actions.hidden{display:none!important}
.route-map-actions .route-print svg,.route-map-actions .route-map-link svg{display:block;width:20px;max-width:20px;height:20px;max-height:20px;flex:none;background:transparent!important;border-radius:0!important}.route-map-actions .route-map-link{gap:7px;white-space:nowrap}.route-map-link-long{margin-right:.25em}.route-country-flag{display:inline-block;font-size:1em;line-height:1;vertical-align:-.08em}
@media(max-width:600px){.route-head-copy{display:flex;flex-direction:column;justify-content:center;align-self:stretch}.route-head-copy>strong{line-height:1.05}.route-head-copy small{display:block;margin-top:1px;line-height:1.15;white-space:normal}.route-subtitle-time,.route-subtitle-vehicle{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-subtitle-vehicle::before{display:none}.route-map-actions .route-map-link{gap:6px}.route-map-link-long{display:none}.route-map-actions .route-print svg,.route-map-actions .route-map-link svg{width:18px;max-width:18px;height:18px;max-height:18px}}

/* Einheitliche Navigation und kompakte Alarmübersicht. */
.dashboard-entry-link{display:inline-flex;align-items:center;gap:7px;min-width:0}.dashboard-entry-link svg{display:block;width:18px;height:18px;flex:none}
.agent-card.has-rental-car-icon{position:relative}.agent-card.has-rental-car-icon .agent-card-main{padding-left:98px}.agent-card.has-rental-car-icon .agent-card-car-icon{position:absolute;left:24px;top:50%;transform:translateY(-50%)}
.alarm-view-head>div{display:flex;align-items:center;min-height:40px}.alarm-view-head h1{line-height:1.15}.alarm-refresh{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:40px;padding:0 13px}.alarm-refresh svg{display:block;flex:none}
.alarm-toolbar input,.alarm-toolbar select,.alarm-date-button,.alarm-icon-button,.alarm-vehicle-controls select,.alarm-vehicle-controls button{height:40px;min-height:40px;max-height:40px}
.alarm-list-item time,.alarm-note{font-weight:700}.alarm-detail-button{background:#2c82d8;color:#fff}.alarm-detail-button:hover,.alarm-detail-button:focus-visible{background:#333333;color:#fff}
.alarm-calendar-actions #alarm-calendar-cancel{background:#999999;color:#fff}.alarm-calendar-actions #alarm-calendar-cancel:hover,.alarm-calendar-actions #alarm-calendar-cancel:focus-visible{background:#2c82d8;color:#fff}
.alarm-calendar{max-height:calc(100dvh - 150px);overflow:auto}.alarm-calendar-quick{gap:1px}
@media(max-width:600px){.agent-card.has-rental-car-icon .agent-card-main{padding-left:86px}.agent-card.has-rental-car-icon .agent-card-car-icon{left:15px}.alarm-calendar-quick{display:grid;grid-template-columns:1fr 1fr}.alarm-calendar-quick button{padding:8px}.alarm-refresh{padding:0 9px}}

/* Typografie, Aktionsfarben und kompakte Agentenkarte. */
h1{font-size:36px!important}h2{font-size:30px!important}h3{font-size:24px!important}.agent-name{font-size:24px}.agent-card{height:100px;min-height:100px;max-height:100px}
.alarm-ai-button,.alarm-actions>.alarm-ai-button{background:#f7d7da;color:#7a2930}.alarm-ai-button:hover,.alarm-ai-button:focus-visible,.alarm-actions>.alarm-ai-button:hover,.alarm-actions>.alarm-ai-button:focus-visible{background:#333333;color:#ffffff}
.alarm-view-head .alarm-refresh{background:#999999;color:#ffffff}.alarm-view-head .alarm-refresh:hover,.alarm-view-head .alarm-refresh:focus-visible{background:#333333;color:#ffffff}

/* Druckkopf und platzsparende Diagrammdarstellung. */
@media print{
  .topbar{display:flex!important;position:static!important;align-items:center!important;justify-content:flex-end!important;width:100%!important;height:58px!important;min-height:58px!important;margin:0 0 10px!important;padding:0 0 8px!important;border:0!important;border-bottom:1px solid #dddddd!important;box-shadow:none!important;background:#ffffff!important}
  .topbar .brand-home{display:flex!important;margin:0 0 0 auto!important;padding:0!important;color:#333333!important}
  .topbar .brand-avatar{display:block!important;width:40px!important;height:40px!important}
  .topbar .brand{font-size:16px!important}.topbar .brand small{display:flex!important}.topbar .account-controls{display:none!important}
  .route-section-title{margin:8px 0 0!important}.route-section-hint{margin:0 0 3px!important}
  .route-graph{margin-top:3px!important;padding:6px 10px!important;break-inside:avoid;box-shadow:none!important}
  .route-graph summary{min-height:22px!important}.route-graph .route-legend{margin:2px 0 0!important}.route-graph svg{height:145px!important;margin-top:0!important}
  .route-note{margin:5px 0!important}.route-map-card{margin-bottom:5px!important}
}

/* Tagesnavigation, zeitlich begrenztes Teilen und robuster Mehrseitendruck. */
.route-day-nav{display:flex;align-items:center;gap:6px;margin-left:auto}.route-day-nav>button,.route-day-date{height:40px;border:0;border-radius:5px;background:#f0f0f0;color:#333;display:flex;align-items:center;justify-content:center}.route-day-nav>button{width:40px;padding:0}.route-day-nav>button:hover,.route-day-date:hover{background:#2c82d8;color:#fff}.route-day-nav>button:disabled{opacity:.35;cursor:not-allowed}.route-day-date{padding:0 9px;gap:7px}.route-day-date input{width:126px;height:40px;padding:0;border:0;background:transparent;color:inherit;font:600 12px Montserrat,Arial,sans-serif;outline:0;box-shadow:none}.route-share{height:38px;border:0;border-radius:5px;padding:0 11px;display:inline-flex;align-items:center;gap:7px;background:#333;color:#fff;font:700 11px Montserrat,Arial,sans-serif}.route-share:hover,.route-share:focus-visible{background:#2c82d8}.route-share:disabled{opacity:.6}.route-share svg{display:block;flex:none;width:18px;height:18px}
@media(max-width:700px){.route-head{height:auto!important;min-height:60px;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;padding-top:8px!important;padding-bottom:8px!important}.route-day-nav{grid-column:1/-1;width:100%;margin:7px 0 0;justify-content:flex-end}.route-day-date{flex:1;max-width:190px}.route-day-date input{width:100%;min-width:0}.route-map-actions{flex-wrap:wrap}.route-share{height:36px;padding:0 8px}}
@media print{html,body{height:auto!important;min-height:0!important;overflow:visible!important;background:#fff!important}.shell,main,.chat-layout,.chat-layout.route-detail-open,.route-panel,.route-body{height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important;position:static!important;display:block!important;flex:none!important}.topbar,.topbar::before,.topbar::after,.brand-home,.brand-home::before,.brand-home::after,.brand,.brand::before,.brand::after{background:none!important;background-color:transparent!important;background-image:none!important;box-shadow:none!important}.topbar{display:flex!important;border:0!important;border-bottom:1px solid #ddd!important}.route-day-nav,.route-share{display:none!important}.route-graph{break-inside:auto!important;page-break-inside:auto!important;overflow:visible!important}.route-graph[open]{display:block!important}.route-graph summary{break-after:avoid-page!important;page-break-after:avoid!important}.route-graph svg{break-inside:avoid-page!important;page-break-inside:avoid!important}.route-map-card{break-inside:avoid-page!important;page-break-inside:avoid!important}.route-note{break-before:avoid-page!important}.shared-alarm-view .route-panel{display:block!important}}

/* Kalenderaktion und eigene, vollbreite Fahrzeugsuche. */
.alarm-calendar-actions .primary:hover,.alarm-calendar-actions .primary:focus-visible{background:#333333!important;color:#ffffff!important}
.alarm-search-wrap{position:relative;flex:1;min-width:0}.alarm-search-wrap>input{width:100%}.alarm-search-suggestions{position:absolute;z-index:45;top:calc(100% + 4px);left:0;width:100%;max-height:290px;overflow:auto;padding:5px;border-radius:5px;background:#ffffff;box-shadow:0 10px 28px rgba(25,44,62,.2)}.alarm-search-suggestions.hidden{display:none}.alarm-search-suggestions button{display:block;width:100%;min-height:38px;padding:8px 10px;border-radius:4px;background:#ffffff;color:#333333;text-align:left;font:600 12px Montserrat,Arial,sans-serif}.alarm-search-suggestions button:hover,.alarm-search-suggestions button:focus-visible{background:#2c82d8;color:#ffffff;outline:0}.alarm-vehicle-filters button{display:inline-flex;align-items:center;gap:8px}.alarm-filter-remove{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;margin:-2px -4px -2px 0;font-size:21px;font-weight:800;line-height:1}
@media(max-width:700px){.alarm-toolbar .alarm-search-wrap{grid-column:1/-1;width:100%}}

/* Finale Druckabstände: transparenter Markenkopf, nur untere Linie. */
@media print{
  .topbar{background:transparent!important;border:0!important;border-bottom:1px solid #dddddd!important;box-shadow:none!important}
  .route-graph{margin:0!important;padding:2px 8px!important}.route-graph+ .route-graph{margin-top:1px!important}.route-graph svg{height:114px!important}.route-graph summary{min-height:17px!important;padding:0!important}.route-graph summary::after{display:none!important}.route-graph .route-legend{margin:0!important;line-height:1.1!important}
  .route-section-title{margin:2px 0 0!important}.route-section-hint{margin:0!important}.route-daily-peaks{margin:1px 0!important}
}

/* Feinabstimmung Kalender, Aktionen und mobile Formfelder. */
.alarm-calendar-actions button,.alarm-calendar-actions .primary{height:40px!important;min-height:40px!important;max-height:40px!important;padding-top:0!important;padding-bottom:0!important}
.alarm-ai-button,.alarm-actions>.alarm-ai-button{background:#333333;color:#ffffff}.alarm-ai-button:hover,.alarm-ai-button:focus-visible,.alarm-actions>.alarm-ai-button:hover,.alarm-actions>.alarm-ai-button:focus-visible{background:#2c82d8;color:#ffffff}
.alarm-view-head .alarm-refresh{background:#333333;color:#ffffff}.alarm-view-head .alarm-refresh:hover,.alarm-view-head .alarm-refresh:focus-visible{background:#2c82d8;color:#ffffff}
.alarm-vehicle-filters{display:flex;flex-wrap:wrap;gap:7px;width:100%;margin:8px auto 0}.alarm-vehicle-filters.hidden{display:none}.alarm-vehicle-filters button{min-height:32px;padding:5px 10px;border-radius:5px;background:#e6f1fb;color:#285f8f;font:700 11px Montserrat,Arial,sans-serif}.alarm-vehicle-filters button:hover{background:#2c82d8;color:#ffffff}
.route-address{display:flex;flex-direction:column;gap:4px}.route-day-address{display:block;color:#333333;font-size:12px;font-weight:700}
.route-head-copy{display:flex;flex-direction:column;justify-content:center;gap:2px}
.route-daily-peaks{display:flex;flex-wrap:wrap;gap:7px;margin:5px 0 8px}.route-daily-peaks span{padding:7px 10px;border-radius:4px;background:#eaf4fd;color:#294f6e;font-size:11px;font-weight:700}
@media(max-width:600px){h1{font-size:30px!important}.alarm-vehicle-controls select,.alarm-vehicle-controls button{height:40px!important;min-height:40px!important;max-height:40px!important}.alarm-vehicle-filters{margin-top:6px}.route-day-address{font-size:11px}}

/* Druck: Markenblock links, Dokumenttitel des Browsers rechts, ohne Trennlinien. */
@media print{
  *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  .topbar{justify-content:flex-start!important;border:0!important;margin-bottom:4px!important}
  .topbar .brand-home{margin:0!important;text-align:left!important}.topbar .brand strong{color:#2c82d8!important}
  .route-head{border:0!important;box-shadow:none!important;padding-top:2px!important;padding-bottom:6px!important}
  .route-panel{position:static!important;inset:auto!important;display:block!important;height:auto!important;min-height:0!important;overflow:visible!important}
  .shell,main,.chat-layout{display:block!important}.chat-layout{border:0!important;box-shadow:none!important}.route-body{display:block!important;overflow:visible!important}.route-graph{overflow:visible!important;margin-top:1px!important;padding:4px 9px!important;border-radius:7px!important}
  .route-graph[open]>:not(summary){display:block}.route-graph svg{height:132px!important}.route-graph summary{min-height:19px!important}.route-graph .route-legend{display:flex!important;margin:1px 0 0!important}
  .route-legend span:before{print-color-adjust:exact!important;-webkit-print-color-adjust:exact!important}
  .route-map-card{border:0!important;border-radius:7px!important;overflow:hidden!important;box-shadow:0 2px 10px rgba(25,44,62,.15)!important;margin:2px 2px 4px!important;padding:8px!important}
  .route-section-title{margin-top:4px!important}.route-section-hint{margin-bottom:1px!important}.route-daily-peaks{margin:2px 0 3px!important}.route-note{margin:2px 0!important}
  .chat-layout,.route-panel,.route-body{page-break-after:auto!important}.route-graph{break-inside:avoid-page!important;page-break-inside:avoid!important}
}

/* Muss zuletzt stehen: Browser dürfen den vollständigen Detailbericht auf mehrere Druckseiten verteilen. */
@media print{
  html,body,.shell,main,.chat-layout,.chat-layout.route-detail-open,.route-panel,.route-body{height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important;position:static!important;display:block!important;flex:none!important}
  .topbar,.topbar::before,.topbar::after,.topbar .brand-home,.topbar .brand-home::before,.topbar .brand-home::after{background:none!important;background-color:transparent!important;background-image:none!important;box-shadow:none!important}
  .topbar{display:flex!important;border:0!important;border-bottom:1px solid #dddddd!important}
  .route-day-nav,.route-share{display:none!important}
  .route-graph{break-inside:auto!important;page-break-inside:auto!important;overflow:visible!important}
  .route-graph summary{break-after:avoid-page!important;page-break-after:avoid!important}
  .route-graph svg,.route-map-card{break-inside:avoid-page!important;page-break-inside:avoid!important}
}
.route-share-expiry{margin:0 0 8px;padding:8px 10px;border-radius:5px;background:#eaf4fd;color:#285f8f;font-size:11px;font-weight:700}.route-share svg,.route-share svg *{background:none!important;background-color:transparent!important}
.route-head{position:relative}.route-calendar{top:56px;left:auto;right:18px}.route-calendar .alarm-calendar-month header button:disabled{visibility:hidden}.time-picker{position:absolute;z-index:46;top:52px;left:0;width:min(390px,calc(100vw - 40px));padding:18px;border-radius:7px;background:#fff;box-shadow:0 15px 45px rgba(25,44,62,.24);color:#333}.time-picker.hidden{display:none}.time-picker>strong{display:block;margin-bottom:13px;font-size:15px}.time-picker>label{display:grid;grid-template-columns:50px 1fr;align-items:center;gap:10px;margin-top:8px;font-size:13px;font-weight:700}.time-picker input{width:100%;height:40px;padding:0 10px;border:0;background:#f0f0f0;color:#333;font:600 13px Montserrat,Arial,sans-serif}.time-picker-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.time-picker-actions button{height:40px;min-height:40px;padding:0 13px;border:0;border-radius:5px;background:#999;color:#fff;font-weight:700}.time-picker-actions .primary{background:#2c82d8}.time-picker-actions button:hover{background:#333}.route-time-picker{left:auto;right:18px;top:56px}
@media(max-width:700px){.route-calendar{position:fixed;top:148px;left:14px;right:auto}.route-time-picker{position:fixed;top:148px;left:14px;right:auto}.time-picker{width:calc(100vw - 28px)}}
.alarm-icon-button.is-active,.route-day-nav>button.is-active{background:#2c82d8;color:#fff}@media(max-width:850px){.alarm-day-row>.time-picker{top:100px}}@media print{.route-calendar,.time-picker{display:none!important}}

/* Bedien- und Farbkonsistenz. */
.time-picker{width:min(280px,calc(100vw - 28px));padding:15px}.time-picker-reset{display:inline-block;margin-top:11px;padding:0;background:transparent!important;color:#2c82d8!important;font:700 11px Montserrat,Arial,sans-serif;text-decoration:none;cursor:pointer}.time-picker-reset:hover,.time-picker-reset:focus-visible{color:#333!important;text-decoration:underline}.time-picker-actions{margin-top:12px}
.primary:hover,.primary:focus-visible,.route-open:hover,.route-open:focus-visible,.route-map-link:hover,.route-map-link:focus-visible,.route-controls #route-play:hover,.route-controls #route-play:focus-visible,.alarm-detail-button:hover,.alarm-detail-button:focus-visible,.alarm-vehicle-controls button:hover,.alarm-vehicle-controls button:focus-visible,.alarm-calendar-actions .primary:hover,.alarm-calendar-actions .primary:focus-visible,.time-picker-actions .primary:hover,.time-picker-actions .primary:focus-visible,.alarm-calendar-grid button.selected:hover,.alarm-icon-button.is-active:hover,.route-day-nav>button.is-active:hover{background:#4094e8!important;color:#fff!important}
.alarm-ai-button,.alarm-actions>.alarm-ai-button,.alarm-view-head .alarm-refresh,.route-share,.customer-password-row button{background:#999999!important;color:#fff!important}.alarm-ai-button:hover,.alarm-ai-button:focus-visible,.alarm-actions>.alarm-ai-button:hover,.alarm-actions>.alarm-ai-button:focus-visible,.alarm-view-head .alarm-refresh:hover,.alarm-view-head .alarm-refresh:focus-visible,.route-share:hover,.route-share:focus-visible,.customer-password-row button:hover,.customer-password-row button:focus-visible{background:#333333!important;color:#fff!important}

@media(max-width:700px){
  .route-day-nav{grid-column:1/-1;width:100%;max-width:none;margin-left:0;margin-right:0}.route-day-date{max-width:none;flex:1}
  .route-calendar{left:14px!important;right:14px!important;width:auto!important;max-width:none!important}.route-calendar .alarm-calendar-quick{display:grid;grid-template-columns:1fr 1fr;width:100%;overflow:visible}
  .route-time-picker{left:14px!important;right:auto!important;width:min(280px,calc(100vw - 28px))!important}
  .route-map-actions{display:grid;grid-template-columns:auto auto;justify-content:end}.route-map-actions .route-share{grid-column:1/-1;justify-self:end;margin-top:2px}
  .alarm-ai-button,.alarm-actions>.alarm-ai-button{text-align:center!important;justify-content:center!important}
  .chat-head h1{font-size:13px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.composer{padding-bottom:max(10px,env(safe-area-inset-bottom))!important}
  .alarm-vehicle-controls select{-webkit-appearance:none!important;appearance:none!important;display:block!important;width:100%!important;height:40px!important;min-height:40px!important;max-height:40px!important;padding-top:0!important;padding-bottom:0!important;line-height:40px!important;box-sizing:border-box!important}
}

/* Einheitliche neutrale Buttons: Grau, beim Hover hell mit dunklem Inhalt. */
.alarm-ai-button,.alarm-actions>.alarm-ai-button,.alarm-view-head .alarm-refresh,.route-share,.customer-password-row button,
.alarm-date-button,.alarm-icon-button,.route-print,.route-map-actions .route-print,
.route-day-nav>button,.route-day-date,.time-picker-actions>button:not(.primary),
.alarm-calendar-actions #alarm-calendar-cancel{
  background:#999999!important;
  color:#ffffff!important;
}
.alarm-ai-button:hover,.alarm-ai-button:focus-visible,.alarm-actions>.alarm-ai-button:hover,.alarm-actions>.alarm-ai-button:focus-visible,
.alarm-view-head .alarm-refresh:hover,.alarm-view-head .alarm-refresh:focus-visible,.route-share:hover,.route-share:focus-visible,
.customer-password-row button:hover,.customer-password-row button:focus-visible,
.alarm-date-button:hover,.alarm-date-button:focus-visible,.alarm-icon-button:hover,.alarm-icon-button:focus-visible,
.route-print:hover,.route-print:focus-visible,.route-map-actions .route-print:hover,.route-map-actions .route-print:focus-visible,
.route-day-nav>button:hover,.route-day-nav>button:focus-visible,.route-day-date:hover,.route-day-date:focus-within,
.time-picker-actions>button:not(.primary):hover,.time-picker-actions>button:not(.primary):focus-visible,
.alarm-calendar-actions #alarm-calendar-cancel:hover,.alarm-calendar-actions #alarm-calendar-cancel:focus-visible{
  background:#f5f5f5!important;
  color:#333333!important;
}
.alarm-icon-button.is-active,.route-day-nav>button.is-active{background:#2c82d8!important;color:#ffffff!important}
.alarm-icon-button.is-active:hover,.alarm-icon-button.is-active:focus-visible,.route-day-nav>button.is-active:hover,.route-day-nav>button.is-active:focus-visible{background:#4094e8!important;color:#ffffff!important}

/* Neutrale Aktionen bleiben leicht und erhalten erst beim Hover eine Fläche. */
.alarm-ai-button,.alarm-actions>.alarm-ai-button,.alarm-view-head .alarm-refresh,.route-share,.customer-password-row button,
.alarm-date-button,.alarm-icon-button,.route-print,.route-map-actions .route-print,
.route-day-nav>button,.route-day-date,.time-picker-actions>button:not(.primary),
.alarm-calendar-actions #alarm-calendar-cancel{
  box-sizing:border-box!important;
  border:1px solid #999999!important;
  background:transparent!important;
  color:#333333!important;
}
.alarm-ai-button:hover,.alarm-ai-button:focus-visible,.alarm-actions>.alarm-ai-button:hover,.alarm-actions>.alarm-ai-button:focus-visible,
.alarm-view-head .alarm-refresh:hover,.alarm-view-head .alarm-refresh:focus-visible,.route-share:hover,.route-share:focus-visible,
.customer-password-row button:hover,.customer-password-row button:focus-visible,
.alarm-date-button:hover,.alarm-date-button:focus-visible,.alarm-icon-button:hover,.alarm-icon-button:focus-visible,
.route-print:hover,.route-print:focus-visible,.route-map-actions .route-print:hover,.route-map-actions .route-print:focus-visible,
.route-day-nav>button:hover,.route-day-nav>button:focus-visible,.route-day-date:hover,.route-day-date:focus-within,
.time-picker-actions>button:not(.primary):hover,.time-picker-actions>button:not(.primary):focus-visible,
.alarm-calendar-actions #alarm-calendar-cancel:hover,.alarm-calendar-actions #alarm-calendar-cancel:focus-visible{
  border-color:#999999!important;
  background:#999999!important;
  color:#ffffff!important;
}
.alarm-date-button,.alarm-icon-button,.route-print,.route-map-actions .route-print,.route-day-nav>button,.route-day-date,.time-picker-actions>button,.alarm-calendar-actions button,.route-share,.alarm-view-head .alarm-refresh{
  height:40px!important;
  min-height:40px!important;
  max-height:40px!important;
}
.alarm-icon-button,.route-print,.route-map-actions .route-print,.route-day-nav>button{width:40px!important;min-width:40px!important;max-width:40px!important}
#alarm-day-today,#route-day-today{
  border-color:#2c82d8!important;
  background:#2c82d8!important;
  color:#ffffff!important;
}
#alarm-day-today:hover,#alarm-day-today:focus-visible,#route-day-today:hover,#route-day-today:focus-visible{
  border-color:#4094e8!important;
  background:#4094e8!important;
  color:#ffffff!important;
}

/* Benachrichtigungszentrale und schwebender Sandro-AI-Chat. */
.notification-count{top:-2px;right:-1px;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:#ef5350;color:#fff;font-size:10px;box-shadow:0 0 0 2px #fff}
.notification-center{position:fixed;z-index:95;top:61px;right:20px;display:flex;flex-direction:column;width:min(480px,calc(100vw - 28px));max-height:min(680px,calc(100dvh - 78px));overflow:hidden;border-radius:0 0 7px 7px;background:#fff;box-shadow:0 14px 40px rgba(25,44,62,.24);color:#333}
.notification-center.hidden{display:none!important}.notification-center-head{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:0 16px;border-bottom:1px solid #e6e6e6}.notification-center-head strong{font-size:17px}.notification-center-head button{display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;background:transparent;color:#777;font-size:27px;line-height:1;cursor:pointer}.notification-center-head button:hover{color:#2c82d8}.notification-center-title{display:flex;align-items:center;justify-content:center;gap:7px;min-height:64px;border-bottom:4px solid #2c82d8;color:#333;font-size:14px;font-weight:600;text-align:center}.notification-center-title b{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:12px;background:#ef5350;color:#fff;font-size:10px}.notification-list{display:flex;flex-direction:column;gap:10px;min-height:90px;padding:12px;overflow:auto;background:#fff}.notification-item{padding:13px 14px;border:1px solid #dedede;border-radius:7px;background:#fff}.notification-item.is-unread{border-color:#efb43b;background:#fff9eb}.notification-item-head{display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:8px}.notification-item-head i{width:8px;height:8px;border-radius:50%;background:#d8d8d8}.notification-item.is-unread .notification-item-head i{background:#efb12f}.notification-item-head strong{min-width:0;overflow:hidden;color:#2c82d8;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.notification-item-head time{color:#666;font-size:10px;font-weight:600;white-space:nowrap}.notification-item p{margin:8px 0 5px;color:#555;font-size:12px;line-height:1.35}.notification-item button{padding:2px 0;border:0;background:transparent;color:#2c82d8;font:600 11px Montserrat,Arial,sans-serif;cursor:pointer}.notification-item button:hover{color:#333}.notification-empty{margin:auto;padding:28px 12px;color:#777;text-align:center}.notification-read-all{min-height:44px;padding:0 16px;border:0;border-top:1px solid #e5e5e5;background:#fff;color:#2c82d8;font:600 12px Montserrat,Arial,sans-serif;text-align:right;cursor:pointer}.notification-read-all:hover{color:#333}.notification-read-all:disabled{color:#aaa;cursor:default}

.chat-launcher-dock{position:fixed;z-index:92;right:20px;bottom:20px}.chat-launcher{position:relative;display:flex;align-items:center;gap:0;height:50px;min-height:50px;padding:5px 25px;border:0;border-radius:25px;background:#2c82d8;color:#fff;box-shadow:0 0 10px rgba(25,44,62,.12),0 4px 12px rgba(25,44,62,.18);font-family:Montserrat,Arial,sans-serif;cursor:pointer}.chat-launcher.hidden{display:none!important}.chat-launcher:hover,.chat-launcher:focus-visible{background:#4094e8;outline:0}.chat-launcher{font-size:12px;font-weight:700}
.chat-window-actions{display:flex;align-items:center;gap:2px;margin-left:4px}.chat-window-actions button{display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:5px;background:transparent;color:inherit;cursor:pointer}.chat-window-actions button:hover,.chat-window-actions button:focus-visible{background:rgba(255,255,255,.16);outline:0}.chat-window-actions #chat-close{font-size:26px;line-height:1}
.chat-head{background:#2c82d8;color:#fff;border-bottom:0}.chat-head h1,.chat-head .back,.chat-head .connection{color:#fff}.chat-head .back:hover{color:#fff}.chat-head .chat-agent-car-icon{color:#fff}.chat-head .connection-dot{box-shadow:0 0 0 3px rgba(255,255,255,.2)}
body.chat-widget-open #chat-view{position:fixed;z-index:90;right:20px;bottom:20px;display:flex;width:min(430px,calc(100vw - 28px));height:min(650px,calc(100dvh - 92px));margin:0;border:0;border-radius:7px;box-shadow:0 18px 55px rgba(25,44,62,.3);overflow:hidden}body.chat-widget-open #chat-view>.chat-head{padding:8px 10px}body.chat-widget-open #chat-view>.chat-head .back{display:none}body.chat-widget-open #chat-view>.chat-head h1{font-size:14px!important}body.chat-widget-open #chat-view>.chat-head .chat-agent-car-icon{width:48px;height:19px}body.chat-widget-open #chat-view>.chat-head .connection{display:none}body.chat-widget-open #chat-view .messages{padding:15px 13px}body.chat-widget-open #chat-view .message{max-width:94%}body.chat-widget-open #chat-view .composer{padding:9px 10px max(9px,env(safe-area-inset-bottom))}body.chat-widget-open #chat-view .composer-row textarea{height:62px;min-height:62px}body.chat-widget-open #chat-view .composer-row .primary{height:62px;min-height:62px}
@media(max-width:700px){.notification-center{top:61px;right:7px;width:calc(100vw - 14px);max-height:calc(100dvh - 70px)}.notification-center-head{min-height:48px;padding:0 12px}.notification-center-title{min-height:52px}.notification-item-head{grid-template-columns:9px minmax(0,1fr)}.notification-item-head time{grid-column:2;margin-top:1px}.chat-launcher-dock{right:10px;bottom:max(10px,env(safe-area-inset-bottom))}body.chat-widget-open #chat-view{right:7px;bottom:7px;width:calc(100vw - 14px);height:calc(100dvh - 74px);border-radius:7px}body.chat-widget-open #chat-view .composer-row textarea{height:60px;min-height:60px}body.chat-widget-open #chat-view .composer-row .primary{height:60px;min-height:60px}}
@media print{.notification-center,.chat-launcher-dock,.chat-launcher,.chat-window-actions{display:none!important}.chat-head{background:#fff!important;color:#333!important}}

/* Agentenzuordnung beim Import und Agentenauswahl für Administratoren. */
.gps360-import-settings{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.65fr);gap:12px}.gps360-import-settings>label{display:flex;flex-direction:column;gap:6px;color:#333;font-size:12px;font-weight:700}.gps360-import-settings select{width:100%;height:40px;padding:0 11px;border:0;border-radius:5px;background:#f0f0f0;color:#333;font:600 12px Montserrat,Arial,sans-serif}.gps360-agent-setting{display:flex;flex-direction:column;gap:6px}.gps360-agent-setting>strong{font-size:12px}.gps360-agent-options{display:flex;flex-direction:column;gap:5px}.gps360-agent-options label{display:flex;align-items:center;gap:9px;min-height:40px;padding:7px 9px;border-radius:5px;background:#f0f0f0;color:#333;cursor:pointer}.gps360-agent-options label:has(input:checked){background:#edf5fc}.gps360-agent-options input{width:17px;height:17px;flex:none;accent-color:#2c82d8}.gps360-agent-options input:disabled{opacity:1}.gps360-agent-options span{display:flex;flex-direction:column;gap:1px}.gps360-agent-options strong{font-size:11px}.gps360-agent-options small{color:#777;font-size:9px}.gps360-import>.field-help{margin:7px 0 13px;color:#718296;font-size:10px}
.chat-agent-picker{position:absolute;right:0;bottom:calc(100% + 10px);display:flex;flex-direction:column;width:min(390px,calc(100vw - 40px));max-height:calc(100dvh - 100px - env(safe-area-inset-bottom,0px));overflow:hidden;border-radius:7px;background:#fff;box-shadow:0 15px 45px rgba(25,44,62,.26);color:#333}.chat-agent-picker.hidden{display:none!important}.chat-agent-picker-head{display:flex;flex:none;align-items:flex-start;justify-content:space-between;gap:12px;padding:15px 15px 13px;background:#2c82d8;color:#fff}.chat-agent-picker-head>div{display:flex;flex-direction:column;gap:3px}.chat-agent-picker-head strong{font-size:15px}.chat-agent-picker-head small{font-size:10px;font-weight:500;opacity:.9}.chat-agent-picker-head button{display:grid;place-items:center;width:32px;height:32px;margin:-5px -5px 0 0;padding:0;border:0;border-radius:5px;background:transparent;color:#fff;font-size:25px;line-height:1}.chat-agent-picker-head button:hover{background:rgba(255,255,255,.16)}.chat-agent-picker-list{display:flex;flex-direction:column;gap:7px;min-height:0;max-height:360px;padding:10px;overflow:auto}.chat-agent-picker-list>button{display:grid;grid-template-columns:58px minmax(0,1fr) 22px;align-items:center;gap:11px;width:100%;min-height:70px;padding:9px 11px;border:0;border-radius:7px;background:#f5f5f5;color:#333;text-align:left;cursor:pointer}.chat-agent-picker-list>button:hover,.chat-agent-picker-list>button:focus-visible{background:#edf5fc;color:#2c82d8;outline:0}.chat-agent-picker-list>button>span:nth-child(2){display:flex;flex-direction:column;gap:3px;min-width:0}.chat-agent-picker-list strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.chat-agent-picker-list small{color:#777;font-size:9px}.chat-picker-car-icon{display:block;width:58px;height:24px;background:currentColor;mask:url('rental-car.svg?v=1') center/contain no-repeat;-webkit-mask:url('rental-car.svg?v=1') center/contain no-repeat}.chat-picker-ai-icon{display:block;width:42px;height:42px;border-radius:50%;background:url('avatar-states/sandro-idle-balanced-v3-subtle-brows-v3-fast-gaze.webp') center/cover no-repeat}.chat-agent-picker-list svg{display:block}
@media(max-width:700px){.gps360-import-settings{grid-template-columns:1fr}.chat-agent-picker{width:calc(100vw - 20px)}}
@media print{.chat-agent-picker{display:none!important}}

/* Einheitliche Typografie, kompakter Chat und GPS360-Tooltips. */
h1{font-size:30px!important}h2{font-size:24px!important}h3{font-size:18px!important}.messages{padding-left:20px!important;padding-right:20px!important}.chat-window-actions{margin-left:auto}.chat-window-actions #chat-close svg,.chat-window-actions #chat-expand svg{display:block;width:20px;height:20px}.chat-window-actions #chat-close{font-size:0}.route-share{font-size:12px!important}
[data-tooltip]{position:relative}[data-tooltip]::after{content:attr(data-tooltip);position:absolute;z-index:140;left:50%;bottom:calc(100% + 8px);max-width:220px;padding:6px 9px;border-radius:4px;background:#2c82d8;color:#fff;font:600 10px/1.25 Montserrat,Arial,sans-serif;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-50%,4px);transition:opacity .12s ease,transform .12s ease}[data-tooltip]::before{content:'';position:absolute;z-index:141;left:50%;bottom:calc(100% + 3px);border:5px solid transparent;border-top-color:#2c82d8;opacity:0;pointer-events:none;transform:translateX(-50%)}[data-tooltip]:hover::after,[data-tooltip]:focus-visible::after,[data-tooltip]:hover::before,[data-tooltip]:focus-visible::before{opacity:1;transform:translate(-50%,0)}[data-tooltip]:hover::before,[data-tooltip]:focus-visible::before{transform:translateX(-50%)}
.topbar [data-tooltip]::after{top:calc(100% + 8px);right:0;bottom:auto;left:auto;transform:translateY(-4px)}.topbar [data-tooltip]::before{top:calc(100% + 3px);right:10px;bottom:auto;left:auto;border-top-color:transparent;border-bottom-color:#2c82d8;transform:none}.topbar [data-tooltip]:hover::after,.topbar [data-tooltip]:focus-visible::after{transform:translateY(0)}.topbar [data-tooltip]:hover::before,.topbar [data-tooltip]:focus-visible::before{transform:none}
.account-avatar,.profile-avatar-preview,.message-avatar-initial{display:grid;place-items:center;border-radius:50%;background:#2c82d8 center/cover no-repeat;color:#fff;font-weight:800;text-transform:uppercase}.account-avatar{width:24px;height:24px;font-size:11px}.profile-open:hover .account-avatar{background-color:#4094e8}.message-avatar-initial{font-size:15px}.message-avatar{overflow:hidden;background-color:#2c82d8}

/* Mein-Konto-Dialog. */
.profile-dialog{width:min(900px,calc(100vw - 32px));height:min(690px,calc(100dvh - 44px));max-width:none;max-height:none;padding:0;border:0;border-radius:7px;background:#fff;color:#333;box-shadow:0 22px 70px rgba(20,35,50,.3);font-family:Montserrat,Arial,sans-serif}.profile-dialog::backdrop{background:rgba(35,44,52,.58)}.profile-dialog-head{display:flex;align-items:center;justify-content:space-between;height:52px;padding:0 18px;border-bottom:1px solid #dedede}.profile-dialog-head>strong{font-size:16px}.profile-dialog-head>button{display:grid;place-items:center;width:36px;height:36px;padding:0;border-radius:5px;background:transparent;color:#777}.profile-dialog-head>button:hover{background:#edf5fc;color:#2c82d8}.profile-dialog-layout{display:grid;grid-template-columns:230px minmax(0,1fr);height:calc(100% - 52px)}.profile-tabs{display:flex;flex-direction:column;border-right:1px solid #dedede;background:#fafafa}.profile-tabs button{min-height:54px;padding:0 20px;border-left:5px solid transparent;background:transparent;color:#666;text-align:left;font:600 13px Montserrat,Arial,sans-serif}.profile-tabs button:hover{background:#edf5fc;color:#2c82d8}.profile-tabs button.is-active{border-left-color:#2c82d8;background:#f0f0f0;color:#333}.profile-content{min-width:0;overflow:auto}.profile-pane{display:flex;flex-direction:column;min-height:100%;padding:32px}.profile-pane.hidden{display:none!important}.profile-pane h2{margin:0 0 24px}.profile-avatar-row{display:flex;align-items:center;gap:18px;margin-bottom:24px}.profile-avatar-preview{width:92px;height:92px;flex:none;font-size:34px;box-shadow:0 0 0 1px #dedede}.profile-avatar-row>div{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.profile-avatar-row button{height:38px;padding:0 12px;border:1px solid #999!important;border-radius:5px;background:#fff;color:#333;font:700 11px Montserrat,Arial,sans-serif}.profile-avatar-row button:hover{background:#999;color:#fff}.profile-avatar-row small{display:block;width:100%;color:#888;font-size:9px}.profile-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px 18px}.profile-fields label{display:flex;flex-direction:column;gap:6px;color:#555;font-size:11px;font-weight:700}.profile-fields input,.profile-fields select{width:100%;height:40px;padding:0 11px;border:1px solid #dedede;border-radius:5px;background:#fff;color:#333;font:500 12px Montserrat,Arial,sans-serif}.profile-fields input:focus,.profile-fields select:focus{border-color:#2c82d8;box-shadow:0 0 0 2px #2c82d826;outline:0}.profile-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:auto;padding-top:22px}.profile-actions button{height:40px;min-height:40px;padding:0 16px;border-radius:5px;background:#f0f0f0;color:#333;font:700 11px Montserrat,Arial,sans-serif}.profile-actions button:hover{background:#333;color:#fff}.profile-actions .primary{background:#2c82d8;color:#fff}.profile-actions .primary:hover{background:#4094e8}.profile-pane .form-message{min-height:18px;margin:10px 0 0;color:#526b80;font-size:10px}.profile-pane>.field-help{margin:11px 0 0;color:#777;font-size:10px}
.profile-unit-fields{display:flex;flex-direction:column;gap:14px;max-width:590px}.profile-unit-fields label{display:grid;grid-template-columns:minmax(150px,210px) minmax(220px,1fr);align-items:center;gap:24px;color:#555;font-size:12px;font-weight:700}.profile-unit-fields label select{width:100%;height:40px;padding:0 11px;border:1px solid #dedede;border-radius:5px;background:#fff;color:#333;font:500 12px Montserrat,Arial,sans-serif}
@media(max-width:700px){h1{font-size:30px!important}h2{font-size:24px!important}h3{font-size:18px!important}.messages{padding-left:13px!important;padding-right:13px!important}.route-share{font-size:11px!important}.profile-dialog{width:calc(100vw - 14px);height:calc(100dvh - 20px)}.profile-dialog-layout{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.profile-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-right:0;border-bottom:1px solid #dedede}.profile-tabs button{min-height:46px;padding:0 6px;border-left:0;border-bottom:4px solid transparent;text-align:center;font-size:10px}.profile-tabs button.is-active{border-bottom-color:#2c82d8}.profile-pane{padding:19px 16px}.profile-pane h2{margin-bottom:16px}.profile-avatar-row{margin-bottom:17px}.profile-avatar-preview{width:74px;height:74px}.profile-fields{grid-template-columns:1fr;gap:10px}.profile-unit-fields label{grid-template-columns:1fr;gap:6px}.profile-unit-fields label select{grid-column:1}.profile-actions{position:sticky;bottom:0;margin:12px -16px -19px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fff}.profile-actions button{flex:1}}
@media print{.profile-dialog{display:none!important}}

/* Profil- und Interaktionsdetails. */
.profile-fields select,.profile-fields select option{font-family:Montserrat,Arial,sans-serif!important}
#profile-avatar-change{border-color:#2c82d8!important;background:#2c82d8;color:#fff}
#profile-avatar-change:hover{border-color:#4094e8!important;background:#4094e8;color:#fff}
.notification-item{cursor:pointer;transition:background-color .15s ease,border-color .15s ease}
.notification-item:hover,.notification-item:focus-visible,.notification-item.is-unread:hover,.notification-item.is-unread:focus-visible{border-color:#2c82d8;background:#edf5fc;outline:0}
.notification-item-link{display:inline-block;padding:2px 0;color:#2c82d8;font:600 11px Montserrat,Arial,sans-serif}
.notification-item:hover .notification-item-link,.notification-item:focus-visible .notification-item-link,.alarm-live-toast:hover .notification-item-link,.alarm-live-toast:focus-within .notification-item-link{color:#333333}
.chat-head .connection{margin-left:auto}.chat-head .chat-window-actions{margin-left:0}
body.chat-widget-open #chat-view>.chat-head .connection{display:flex;margin-left:auto}
body.chat-widget-open #chat-view>.chat-head .chat-window-actions{margin-left:0}
.support-icon{width:40px;height:40px;background:url('flespi-mark-source.png?v=1') center/50px 50px no-repeat!important;mask:none!important;-webkit-mask:none!important}.support-icon:after{content:none}
.consult-agent-card .chat-picker-ai-icon{width:56px;height:56px;flex:none}.chat-mode-note{margin:0 0 7px;color:#333;font-size:10px;font-weight:700}.consult-cost-dialog .consult-cost-content{display:flex;flex-direction:column;gap:13px;padding:22px}.consult-cost-price{display:block;padding:14px;border-radius:5px;background:#f5f5f5;color:#333;text-align:center;font-size:20px}.customer-ai-limit{display:inline-flex!important;align-items:center;gap:6px;padding:0 7px;color:#333!important;font-size:10px!important;font-weight:700}.customer-ai-limit input{width:72px;height:34px;border:0;border-radius:5px;background:#fff;padding:0 7px;font:700 12px Montserrat,Arial,sans-serif}.customer-list-actions .customer-ai-limit+button{color:#333}.consult-cost-dialog::backdrop{background:rgba(24,40,56,.48)}
.agent-card-crown-icon{display:block;width:56px;height:40px;flex:none;background:url('crown.svg?v=1') center/contain no-repeat}.agent-card.has-master-crown-icon,.agent-card.has-rental-car-icon{position:relative}.agent-card.has-master-crown-icon .agent-card-main,.agent-card.has-rental-car-icon .agent-card-main{padding-left:98px}.agent-card.has-master-crown-icon .agent-card-crown-icon,.agent-card.has-rental-car-icon .agent-card-car-icon{position:absolute;left:24px;top:50%;transform:translateY(-50%)}.agent-card.has-master-crown-icon .agent-detail,.consult-agent-card .agent-detail{margin-left:98px}.customer-dialog-actions .secondary:hover,.customer-dialog-actions .secondary:focus-visible{background:#333333;color:#ffffff}.customer-list-actions .customer-impersonate-button{background:#2c82d8;color:#fff}.customer-list-actions .customer-impersonate-button:hover{background:#4094e8;color:#fff}.admin-return{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 11px;border:1px solid #c7c7c7;border-radius:5px;background:#fff;color:#333;font:700 11px Montserrat,Arial,sans-serif;white-space:nowrap}.admin-return:hover{background:#2c82d8;border-color:#2c82d8;color:#fff}.admin-return:disabled{opacity:.55;cursor:wait}.chat-layout.support-chat-mode .composer{padding-bottom:10px}.flespi-support-avatar{object-fit:contain;transform:scale(1.18)}@media(max-width:600px){.agent-card.has-master-crown-icon .agent-card-main,.agent-card.has-rental-car-icon .agent-card-main{padding-left:86px}.agent-card.has-master-crown-icon .agent-card-crown-icon,.agent-card.has-rental-car-icon .agent-card-car-icon{left:15px}.agent-card.has-master-crown-icon .agent-detail,.consult-agent-card .agent-detail{margin-left:86px}.admin-return{width:34px;padding:0;justify-content:center;font-size:0}.admin-return span{font-size:18px}}

/* v133: einheitliche Agentenkarten, Kundenchat und Admin-Cutover-Leiste */
.agent-card{padding-left:20px!important;padding-right:20px!important}
.agent-card.has-master-crown-icon .agent-card-crown-icon,.agent-card.has-rental-car-icon .agent-card-car-icon{left:20px!important}
.chat-picker-crown-icon{display:block;width:42px;height:34px;justify-self:center;background:url('crown.svg?v=1') center/contain no-repeat}
.chat-sandro-avatar{display:block;width:40px;height:40px;flex:none;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px #f0f0f0}
.chat-head h1{font-size:24px!important}
.chat-layout.support-chat-mode{padding-bottom:10px}
.admin-return-bar{display:flex;flex:none;align-items:center;justify-content:center;gap:9px;width:100%;height:42px;padding:0 18px;border:0;border-bottom:1px solid #d9e1e8;background:#fff;color:#333;font:700 13px Montserrat,Arial,sans-serif;transition:background-color .16s ease,color .16s ease}
.admin-return-bar:hover,.admin-return-bar:focus-visible{background:#2c82d8;color:#fff;outline:0}
.admin-return-bar:disabled{opacity:.55;cursor:wait}
.admin-return-bar svg{display:block;flex:none}
body.chat-widget-open #chat-view>.chat-head .chat-sandro-avatar{width:32px;height:32px}
body.chat-widget-open #chat-view>.chat-head h1{font-size:14px!important}
@media(max-width:600px){.agent-card.has-master-crown-icon .agent-card-crown-icon,.agent-card.has-rental-car-icon .agent-card-car-icon{left:20px!important}.chat-head h1{font-size:24px!important}.admin-return-bar{height:40px;justify-content:flex-start;padding-left:15px}body.chat-widget-open #chat-view>.chat-head h1{font-size:14px!important}}

/* v134: eindeutige Chat-Zustände und interaktive Premium-Icons */
.agent-card-crown-icon,.chat-picker-crown-icon,.chat-master-crown-icon{background:currentColor!important;mask:url('crown.svg?v=1') center/contain no-repeat;-webkit-mask:url('crown.svg?v=1') center/contain no-repeat}
.agent-card-crown-icon,.chat-picker-crown-icon{color:#ffba43;transition:color .16s ease}
.agent-card:hover .agent-card-crown-icon,.agent-card:focus-visible .agent-card-crown-icon,.chat-agent-picker-list>button:hover .chat-picker-crown-icon,.chat-agent-picker-list>button:focus-visible .chat-picker-crown-icon{color:#2c82d8}
.chat-master-crown-icon{display:block;width:44px;height:34px;flex:none;color:#fff}
.chat-sandro-avatar{box-shadow:none!important}
.chat-head h1{font-size:18px!important}
.route-day-date,.route-day-date input{cursor:pointer}
body.chat-widget-open #chat-view>.chat-head h1{font-size:18px!important}
body.chat-widget-open #chat-view>.chat-head .chat-master-crown-icon{width:36px;height:28px}
@media(max-width:600px){.chat-head h1,body.chat-widget-open #chat-view>.chat-head h1{font-size:18px!important}}

/* v135: kompakte Authentifizierung und interaktive Tageswerte */
.login{padding:16px 20px 20px!important}
.login .primary{margin-top:0!important}
.login form .reset-back{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:auto;min-height:32px;margin-top:8px;padding:4px 0;background:transparent;color:#2c82d8}
.login form .reset-back:hover,.login form .reset-back:focus-visible{background:transparent;color:#2c82d8;text-decoration:underline;outline:0}
.login form .reset-back svg{display:block;flex:none}
.login .form-message:empty{display:none}
.login .form-message:not(:empty){min-height:0;margin-top:10px}
.route-data-loading.thinking{margin:0;min-height:76px;background:linear-gradient(110deg,#eaf5ff,#fff 62%,#e7f4ff)}
.route-data-loading .thinking-avatar{box-shadow:none}
.route-map-caption:empty{display:none}
.route-map-caption:empty + .route-map-actions{margin-left:auto}
.route-day-address,.route-address .route-day-address{font-weight:700}
.route-map-copy{flex:1;min-width:0;text-align:left}.route-map-copy .route-address{margin:0}.route-map-copy .route-map-caption{display:block;margin-top:4px}.route-map-meta>.route-map-actions{align-self:flex-start}
#reset-request-form .primary{margin-top:14px!important}
.route-daily-peaks button{padding:7px 10px;border:0;border-radius:4px;background:#eaf4fd;color:#2c82d8;font:700 11px Montserrat,Arial,sans-serif;cursor:pointer;transition:background-color .16s ease,color .16s ease}
.route-daily-peaks button:hover,.route-daily-peaks button:focus-visible{background:#2c82d8;color:#fff;outline:0}
.route-daily-peaks button:focus-visible{box-shadow:0 0 0 2px #2c82d83b}
.alarm-date-button{min-width:0;width:auto;gap:8px;padding:0 10px}.alarm-date-button svg{order:-1;flex:none}.route-day-date{flex:none;padding:0 8px;gap:5px}.route-day-date input{width:94px}
@media(max-width:700px){.route-day-date{max-width:150px!important;flex:none!important}.alarm-date-button{flex:none!important;min-width:145px}}
.route-peak-popup{color:#333;font:700 12px/1.4 Montserrat,Arial,sans-serif;white-space:nowrap}
.route-calendar .alarm-calendar-actions [data-action="cancel"]{box-sizing:border-box;border:1px solid #999;background:transparent;color:#333}
.route-calendar .alarm-calendar-actions [data-action="cancel"]:hover,.route-calendar .alarm-calendar-actions [data-action="cancel"]:focus-visible{border-color:#999;background:#999;color:#fff;outline:0}
.notification-read-all:hover,.notification-read-all:focus-visible{color:#333;text-decoration:underline;outline:0}.notification-read-all:disabled{text-decoration:none}
.notification-center-head button{border-radius:5px;transition:background-color .16s ease,color .16s ease}.notification-center-head button:hover,.notification-center-head button:focus-visible{background:#edf5fc;color:#2c82d8;outline:0}
.chat-head .back,.route-head .route-close,.alarm-view-head .back,.alarm-report-head .back,.customer-head .back{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border-radius:5px;background:transparent;transition:background-color .16s ease,color .16s ease}
.chat-head .back svg,.route-head .route-close svg,.alarm-view-head .back svg,.alarm-report-head .back svg,.customer-head .back svg{margin:0}
.chat-head .back:hover,.chat-head .back:focus-visible{background:rgba(255,255,255,.16);color:#fff;outline:0}
.route-head .route-close:hover,.route-head .route-close:focus-visible,.alarm-view-head .back:hover,.alarm-view-head .back:focus-visible,.alarm-report-head .back:hover,.alarm-report-head .back:focus-visible,.customer-head .back:hover,.customer-head .back:focus-visible{background:#edf5fc;color:#2c82d8;outline:0}
.agent-card.has-rental-car-icon .agent-card-car-icon{color:#333333}.agent-card.has-rental-car-icon:hover .agent-card-car-icon,.agent-card.has-rental-car-icon:focus-visible .agent-card-car-icon{color:#2c82d8}
.chat-layout.report-open .route-data-loading.thinking{display:flex!important}
/* v140: matching date controls, with room after the date in both views. */
.alarm-date-button,.route-day-date{padding-left:8px;padding-right:12px;gap:7px;font:600 14px Montserrat,Arial,sans-serif}
.route-day-date input{width:100px;min-width:90px;flex:none;font:inherit;font-size:14px!important}
.route-day-date>svg{width:20px;height:20px;flex:none}
@media(max-width:700px){.route-day-date{max-width:none!important}}
@media(max-width:600px){.alarm-date-button,.route-day-date{font-size:16px}.route-day-date input{width:112px;font-size:16px!important}}
@media(max-width:380px){.alarm-day-controls,.route-day-nav{gap:4px}.alarm-icon-button,.route-day-nav>button{width:34px;flex:none}}
#mail-test-open{border:1px solid #999;background:#fff;color:#333}#mail-test-open:hover,#mail-test-open:focus-visible{border-color:#999;background:#999;color:#fff;outline:0}
#gps360-import-open{border:1px solid #2c82d8;background:#2c82d8;color:#fff}#gps360-import-open:hover,#gps360-import-open:focus-visible{border-color:#4094e8;background:#4094e8;color:#fff;outline:0}
.gm-style .gm-style-iw-c{max-width:250px!important;padding:11px 34px 11px 12px!important;border-radius:7px!important;box-shadow:0 5px 18px rgba(25,44,62,.2)!important}.gm-style .gm-style-iw-d{overflow:auto!important}.gm-style .gm-ui-hover-effect{top:4px!important;right:4px!important;width:28px!important;height:28px!important;border-radius:5px!important;opacity:.75!important}.gm-style .gm-ui-hover-effect:hover,.gm-style .gm-ui-hover-effect:focus-visible{background:#edf5fc!important;opacity:1!important;outline:0}.route-peak-popup{font-size:11px;white-space:normal;line-height:1.35}

/* v140: data loading uses the same animation in alarms and route views, without an avatar. */
.alarm-note.is-loading,.route-data-loading.thinking{box-sizing:border-box;min-height:76px;padding:14px 76px 14px 18px}
.alarm-loading-copy{gap:4px}.alarm-loading-copy strong,.route-data-loading .thinking-copy strong{font-size:14px;color:#2a587f}
.alarm-loading-dots{gap:5px;height:10px}.alarm-loading-dots i{background:#2c82d8}
/* Keep the support logo inside the same circular frame as the other avatars. */
.message-avatar.flespi-support-avatar{box-sizing:border-box;background:#fff;border:1px solid #d3d3d3;padding:4px;object-fit:contain;transform:none}
/* Reserve equal title rows so wrapped names and their links align across cards. */
.agent-grid{grid-auto-rows:1fr}
.agent-card{display:grid;grid-template-columns:84px minmax(0,1fr);grid-template-rows:minmax(min-content,1fr) auto;column-gap:14px;row-gap:3px;align-items:start;align-content:center;height:auto;min-height:100px;max-height:none;padding:18px 24px}
.agent-card .agent-card-main{display:contents}
.agent-card .agent-name{grid-column:2;grid-row:1;align-self:end;line-height:1.25;min-width:0;overflow-wrap:anywhere}
.agent-card .agent-detail,.agent-card.has-master-crown-icon .agent-detail,.agent-card.has-rental-car-icon .agent-detail{grid-column:2;grid-row:2;margin:0;align-self:end}
.agent-card.has-master-crown-icon .agent-card-crown-icon,.agent-card.has-rental-car-icon .agent-card-car-icon{position:static;grid-column:1;grid-row:1 / -1;align-self:center;transform:none}
@media(max-width:600px){.agent-card{grid-template-columns:72px minmax(0,1fr);grid-template-rows:minmax(min-content,1fr) auto;min-height:100px;padding:16px 20px}.agent-card .agent-name{font-size:20px}.agent-card-car-icon{width:72px}.alarm-note.is-loading,.route-data-loading.thinking{padding:12px 16px}}

/* v141: keep header tooltips above route views, menus and notifications. */
.topbar{position:relative;z-index:200;overflow:visible}
.topbar .account-controls,.topbar .account-icon{overflow:visible}
.topbar [data-tooltip]::after{z-index:201}.topbar [data-tooltip]::before{z-index:202}
.route-day-date{padding-right:6px}
.route-day-date input::-webkit-calendar-picker-indicator{display:none}
.route-day-date input::-webkit-datetime-edit{padding:0}
/* A single loading card across alarm lists, expanded alarms, reports and routes. */
.data-loading.thinking{display:flex;margin:0;min-height:76px;padding:14px 76px 14px 18px;box-sizing:border-box;background:linear-gradient(110deg,#eaf5ff,#fff 62%,#e7f4ff)}
.data-loading .thinking-copy strong{font-size:14px;color:#2a587f}.data-loading .thinking-dots i{background:#2c82d8}
.chat-layout.report-open .data-loading.thinking{display:flex!important}
.alarm-note.is-loading{padding:0;min-height:0;background:none;box-shadow:none;overflow:visible}
.alarm-note.is-loading::before{display:none}.alarm-note.is-loading>.data-loading{width:100%}
.alarm-item-content>.data-loading{margin:0 0 10px}.alarm-item-content>p:empty,.alarm-item-content>ul:empty{display:none}
#alarm-report-loading{margin-top:14px}
.alarm-vehicle-option{display:flex;align-items:center;gap:10px;min-height:40px;padding:8px 10px;border-radius:4px;color:#333;background:#fff;cursor:pointer;font:600 12px/1.4 Montserrat,Arial,sans-serif}
.alarm-vehicle-option:hover,.alarm-vehicle-option:focus-within{background:#edf5fc;color:#2c82d8}
.alarm-vehicle-option>input[type="checkbox"]{appearance:auto;flex:none;width:17px;height:17px;min-height:0;margin:0;accent-color:#2c82d8;cursor:pointer}
.alarm-vehicle-option>span{min-width:0;overflow-wrap:anywhere}
.alarm-search-empty{margin:0;padding:12px 10px;color:#666;font-size:12px}
.alarm-search-suggestions{overscroll-behavior:contain}
@media(max-width:600px){.data-loading.thinking{padding:12px 16px}}

/* v143 — charts, detail level, compact peak windows and touch refresh. */
.route-graph svg{touch-action:pan-y;cursor:crosshair;user-select:none;-webkit-user-select:none;outline:none}
.route-graph svg:focus-visible{outline:2px solid #2c82d8;outline-offset:3px;border-radius:4px}
.route-value-popup{filter:drop-shadow(0 2px 3px #173b5a22)}
.route-detail-control{display:flex;align-items:center;gap:3px;margin-left:7px;padding:3px 4px 3px 9px;border:1px solid #dce7f1;border-radius:7px;background:#fff;color:#36516b;flex:none}
.route-detail-label{font-size:11px;font-weight:600;margin-right:4px}
.route-detail-control button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:32px;padding:0;border:0;border-radius:5px;background:transparent;color:#2c82d8;font-size:22px;line-height:1;cursor:pointer;touch-action:manipulation}
.route-detail-control button:hover{background:#edf5fc}.route-detail-control button:disabled{opacity:.35;cursor:default}
.route-detail-value{min-width:31px;text-align:center;font-size:11px;font-variant-numeric:tabular-nums;font-weight:700}
.route-google-map .gm-style-iw-c:has(.route-peak-popup){padding:0!important;max-width:220px!important;min-width:0!important}
.route-google-map .gm-style-iw-d:has(.route-peak-popup){padding:0!important;overflow:hidden!important}
.route-peak-popup{position:relative;box-sizing:border-box;padding:12px 34px 12px 12px;max-width:220px;font-family:Montserrat,Arial,sans-serif;font-size:11px;line-height:1.45;color:#243c50}
.route-peak-close{position:absolute;top:1px;right:1px;display:flex;align-items:center;justify-content:center;width:29px;height:29px;padding:0;border:0;border-radius:5px;background:transparent;color:#36516b;font:24px/1 Arial,sans-serif;cursor:pointer}
.route-peak-close:hover,.route-peak-close:focus-visible{background:#edf5fc;color:#2c82d8}
.alarm-item-meta{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex:0 1 40%;min-width:0}
.alarm-item-location{max-width:360px;color:#64778a;font-size:12px;line-height:1.45;text-align:right;overflow-wrap:anywhere}
@media(max-width:850px){.route-day-nav{flex-wrap:wrap;row-gap:6px}.route-detail-control{margin-left:3px}.route-detail-label{font-size:10px}}
@media(max-width:600px){.route-head{flex-wrap:wrap}.route-day-nav{justify-content:flex-end;max-width:100%;width:100%}.route-detail-control{margin-left:2px;padding-left:6px}.route-detail-label{display:inline}.route-detail-control button{width:28px}.alarm-list-item summary{flex-wrap:wrap}.alarm-item-heading{flex:1 1 calc(100% - 35px);order:0}.alarm-chevron{order:1}.alarm-item-meta{order:2;flex:1 1 100%;align-items:flex-start}.alarm-item-location{text-align:left;max-width:100%}.route-graph svg{height:200px}}

.route-extra-controls{display:flex;align-items:center;gap:6px;flex:none}
.route-extra-controls #route-day-today{display:flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;padding:0;border:1px solid #2c82d8;border-radius:5px}
.route-extra-controls .route-detail-control{margin-left:0}

/* v144 — sequence controls, customer keys and GPS360 alarm cards. */
.route-detail-label{width:68px;white-space:normal;line-height:1.2;font-size:11px}
.gps360-key-form{display:flex;align-items:end;flex-wrap:wrap;gap:8px;margin:12px 0 4px}
.gps360-key-label{display:flex;flex:1 1 240px;flex-direction:column;gap:6px;font-size:12px;font-weight:600;min-width:0}
.gps360-key-label input{width:100%;min-width:0;box-sizing:border-box;padding:10px;border:1px solid #d7e2ec;border-radius:5px;font:inherit}
.gps360-key-form button{min-height:38px;padding:7px 12px;border:1px solid #d7e2ec;border-radius:5px;background:#f3f7fa;color:#244d72;cursor:pointer}
.gps360-key-status{flex-basis:100%;font-size:12px;line-height:1.5;color:#4a637a;overflow-wrap:anywhere}
.alarm-source{display:inline-flex;align-self:flex-start;padding:3px 7px;background:#e6f3ff;border-radius:4px;color:#2564a0;font-size:10px;font-weight:700}
.alarm-gps360-message{color:#456078;font-size:12px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.alarm-gps360-rules{margin:12px 0;padding:12px;background:#f0f7ff;border:1px solid #d3e8fc;border-radius:7px}
.alarm-gps360-rules strong{font-size:12px;line-height:1.5}.alarm-gps360-rules p{margin:7px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.alarm-source-warning{padding:10px 12px;margin:0 0 10px;border:1px solid #efdbb7;background:#fff9ee;border-radius:6px;color:#745322;font-size:12px;line-height:1.5}
.alarm-item-content p,.alarm-item-content li{overflow-wrap:anywhere}
@media(max-width:700px){
 .route-day-nav{display:grid!important;grid-template-columns:40px minmax(0,1fr) 40px 40px;gap:6px;width:100%;max-width:none;margin-left:0;justify-content:stretch}
 .route-day-nav.hidden{display:none!important}
 .route-day-date{width:100%;max-width:none!important;min-width:0;box-sizing:border-box;padding-left:9px;padding-right:9px;justify-content:flex-start}
 .route-day-date input{width:100%;min-width:90px;flex:1!important}
 .route-extra-controls{display:contents}
 .route-extra-controls .route-detail-control{grid-column:1/-1;width:100%;box-sizing:border-box;margin:0;padding:4px 6px 4px 12px;gap:8px}
 .route-detail-label{width:auto;white-space:nowrap;flex:1;font-size:12px;line-height:1.4}
 .route-detail-control button{width:36px;height:32px}.route-detail-value{min-width:40px}
}

/* v145 — progressive alarm list and explicit customer vehicle mapping. */
.alarm-load-more{display:flex;flex:none;justify-content:center;align-items:center;min-height:44px;gap:8px;width:100%;border:0;border-radius:7px;background:#eaf4ff;color:#276cab;font:600 12px Montserrat,Arial,sans-serif;cursor:pointer}
.alarm-load-more .alarm-loading-dots{display:none;margin:0;height:18px;gap:6px}.alarm-load-more .alarm-loading-dots i{width:7px;height:7px}
.alarm-load-more.is-loading .alarm-loading-dots{display:flex}.alarm-load-more.is-loading .alarm-more-label{display:none}.alarm-load-more:focus-visible{outline:2px solid #2c82d8;outline-offset:2px}
.gps360-mapping-dialog{width:min(640px,calc(100vw - 32px));max-height:85dvh;box-sizing:border-box;overflow:auto;border:0;border-radius:10px;padding:22px;background:#fff;color:#333;font:14px Montserrat,Arial,sans-serif}
.gps360-mapping-dialog::backdrop{background:#182f4855}.gps360-mapping-dialog h2{font-size:18px;margin-top:0}.gps360-mapping-dialog p{line-height:1.5}
.gps360-mapping-rows{display:flex;flex-direction:column;gap:12px;margin:16px 0}.gps360-mapping-rows label{display:flex;flex-direction:column;gap:6px;min-width:0}.gps360-mapping-rows select{width:100%;min-width:0;font:inherit;padding:8px;border:1px solid #ccdbe8;border-radius:5px}
.gps360-mapping-dialog button{min-height:40px;padding:8px 12px;border:0;border-radius:5px;background:#eaf4ff;color:#276cab;font:600 12px Montserrat,Arial,sans-serif;cursor:pointer}
@media print{.alarm-load-more{display:none!important}}

/* v146: recorded GPS360 values stay above the location. */
.route-speeding-summary{display:block;margin:0;font-size:12px;line-height:1.5;font-weight:700;color:#333}

/* v146: bounded native scroll areas also work in installed iOS/Android apps.
   A fixed body and an unconstrained workspace previously clipped page content. */
@media screen {
  html{height:100%;overflow:hidden}
  body{position:relative;inset:auto;top:auto;bottom:auto;height:100%;max-height:none;overflow:hidden}
  .shell{height:100vh;height:100dvh;max-height:none;min-height:0}
  body.keyboard-open .shell{height:var(--app-visible-height,100dvh)}
  main{flex:1 1 0%;min-height:0;min-width:0;max-height:none}
  .workspace{height:100%;max-height:100%;align-self:stretch}
  .workspace,.customer-workspace,.alarm-list,.route-body,.alarm-report,.messages,.login,.setup{
    overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior-y:contain
  }
  .alarm-workspace,.chat-layout,.customer-workspace{min-height:0;max-height:100%}
  .alarm-list,.route-body,.messages{flex:1 1 0%;min-height:0}
  .route-map-card,.route-graph{flex-shrink:0}
}

.consult-check{align-self:flex-start;padding:3px 0;border:0;background:transparent;color:#2c82d8;font:600 11px Montserrat,Arial,sans-serif;text-decoration:underline}.consult-check:disabled{opacity:.6;cursor:wait}

.route-head-copy strong{white-space:normal;overflow-wrap:anywhere}

.consult-check-result{margin:0;color:#40566a;font-size:11px;line-height:1.4;max-height:72px;overflow:auto}

.data-loading .thinking-copy>.data-loading-title{font-size:14px;font-weight:700;color:#2a587f;line-height:normal}

.alarm-item-heading .alarm-source-retrospective{font-size:12px}

.alarm-cache-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px;flex:none;color:#64778a;font-size:12px;line-height:1.45;margin:0 0 10px}
.alarm-cache-status:empty{display:none}.alarm-cache-status button{border:1px solid #b8d7f1;border-radius:5px;background:#edf6ff;color:#205f9b;font:inherit;padding:5px 9px;cursor:pointer}

/* Live alarm notice keeps the current view, focused controls and scroll position. */
.alarm-live-toast { position:fixed; right:10px; top:84px; z-index:2147483000; width:min(360px,calc(100vw - 32px)); box-sizing:border-box; padding:16px 42px 16px 18px; border:1px solid #bdd8f5; border-radius:14px; background:#f0f7ff; color:#173854; box-shadow:0 8px 28px #19487324; font-size:14px; }
.alarm-live-toast strong { display:block; font-size:16px; }
.alarm-live-toast p { margin:6px 0 12px; overflow-wrap:anywhere; }
#alarm-live-toast-close { position:absolute; right:6px; top:5px; width:28px; height:28px; padding:0; border:0; background:transparent; color:#45647b; font-size:24px; cursor:pointer; }
#alarm-live-toast-open { appearance:none; min-width:0; min-height:0; height:auto; margin:0; padding:2px 0; border:0; border-radius:0; background:transparent; box-shadow:none; cursor:pointer; text-align:left; }
.alarm-live-status { margin:8px 16px; color:#59748b; font-size:12px; font-weight:400; }
.has-new-alarm { box-shadow:0 0 0 4px #2087e322; }
@media(min-width:700px) { .alarm-live-toast { right:20px; } }
@media(max-width:600px) { .alarm-live-toast { top:76px; } }

.alarm-live-sound { display:flex; align-items:center; gap:8px; margin:10px 16px; font-size:12px; color:#48637a; }
.alarm-live-sound input { width:16px; height:16px; margin:0; accent-color:#1673ca; }

/* v154: stable vehicle choices and a compact, continuously updated data age. */
.alarm-vehicle-option.is-selected{background:#edf5fc;color:#205f9b}
.alarm-cache-age{flex:none;margin-left:auto;color:#64778a;font-size:12px;font-weight:400;line-height:1.45;white-space:nowrap;font-variant-numeric:tabular-nums}
.alarm-view-head>.alarm-refresh{flex:none;margin-left:0}
.alarm-cache-mobile-slot{display:none}
.alarm-cache-status{width:100%;margin-left:auto;margin-right:auto}

@media screen and (max-width:700px){
  /* Paint the status-bar edge with the same opaque surface as the app header. */
  html,body{background:#fff;background-image:none}
  .shell{background:#f0f0f0}
  .topbar{height:calc(60px + env(safe-area-inset-top,0px));min-height:calc(60px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);padding-left:max(10px,env(safe-area-inset-left,0px));padding-right:max(10px,env(safe-area-inset-right,0px));background:#fff;background-image:none;backdrop-filter:none;-webkit-backdrop-filter:none}
  .login-open main{padding-top:max(20px,env(safe-area-inset-top,0px))}
  .notification-center{top:calc(61px + env(safe-area-inset-top,0px));max-height:calc(100dvh - 70px - env(safe-area-inset-top,0px))}
  .alarm-live-toast{top:calc(76px + env(safe-area-inset-top,0px))}
  .alarm-list{padding-bottom:calc(25px + env(safe-area-inset-bottom,0px))}
  .route-body,.alarm-report,.workspace,.customer-workspace{padding-bottom:max(20px,env(safe-area-inset-bottom,0px))}
  .alarm-view-head{gap:8px}
  .alarm-view-head>div{flex:1;min-width:0}
  .alarm-view-head h1{font-size:24px!important}
  .alarm-cache-mobile-slot{display:flex;flex:none;align-items:center;width:100%;margin:8px auto 0}
  .alarm-cache-mobile-slot:empty{display:none}
  .alarm-cache-mobile-slot .alarm-cache-age{margin-left:0}
  #chat-expand{display:none}
  .chat-open #chat-view:not(.report-open){width:100%;border:0;border-radius:0;box-shadow:none}
}
@media print{.alarm-cache-age,.alarm-cache-mobile-slot,.alarm-cache-status{display:none!important}}

/* v155: fuel events and live-alarm action feedback. */
#alarm-live-toast-open:focus-visible{outline:2px solid #1266af;outline-offset:3px}
.route-fuel-summary{display:block;margin:0;font-size:12px;line-height:1.5;font-weight:700}
.route-fuel-summary.is-refill{color:#16834b}.route-fuel-summary.is-loss{color:#c43838}
.route-fuel-comparison{text-align:center;margin:10px auto 14px;max-width:520px}
.route-fuel-comparison svg{height:auto!important;max-height:215px;cursor:default;touch-action:pan-y}
.route-fuel-notes .route-note{margin:7px 0 0;font-size:12px;line-height:1.5}

/* v156: centered agent labels, matching alarm feedback and edge-to-edge maps. */
.brand{font-size:16px}
.agent-card{grid-template-rows:auto auto;align-content:center}
.agent-card .agent-name,.agent-card .agent-detail{align-self:center;margin-top:0;line-height:1.25}
.notification-item.is-unread,.alarm-live-toast{border-color:#efb43b;background:#fff9eb}
.alarm-live-toast{cursor:pointer;transition:background-color .15s ease,border-color .15s ease}
.notification-item.is-unread:hover,.notification-item.is-unread:focus-visible,.alarm-live-toast:hover,.alarm-live-toast:focus-within{border-color:#2c82d8;background:#edf5fc}
#alarm-live-toast-close{display:grid;place-items:center;line-height:1;border-radius:6px;transition:background-color .15s ease,color .15s ease}
#alarm-live-toast-close:hover,#alarm-live-toast-close:focus-visible{background:#dce9f4;color:#1266af}
#alarm-live-toast-close:focus-visible{outline:2px solid #1266af;outline-offset:2px}
@media screen{
  .route-body{padding:10px}
  .route-body>.route-map-card{margin-left:-10px;margin-right:-10px;padding:0;border-radius:0}
  .route-body>.route-map-card:first-child{margin-top:-10px}
  .route-map-card>.route-google-map,.route-map-card>svg{border-radius:0}
  .route-map-meta{margin-top:0;padding:10px}
  .route-map-card>.route-empty{margin:0;padding:10px}
}
@media(prefers-reduced-motion:reduce){.alarm-live-toast,#alarm-live-toast-close{transition:none}}

/* v158: login branding and primary notification action. */
.login-brand>strong{margin-top:17px;font-size:24px}
.login-brand>span{margin-top:6px}
.login-brand>span img{width:160px}
.login-brand-avatar,.login-brand .login-brand-avatar{width:120px;height:120px}

.route-connection-time{display:flex;flex-direction:column;gap:5px;margin-bottom:8px;font-size:12px;line-height:1.5}

/* v161 — consistent alarm metadata on every screen size. */
#alarm-list .alarm-item-meta .alarm-item-location{font-size:12px!important}

/* v162: one native scroll area spans the full reports page, including side padding. */
@media screen {
  #alarms-view{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior-y:contain}
  #alarm-list{flex:0 0 auto;overflow:visible;max-height:none}
}

/* v163: historical network readings and separately identified cell estimate. */
.route-connection-time strong{font-weight:700}
.route-network{margin-top:15px;min-width:0;width:100%}
.route-network h3{margin:12px 0 8px;color:#294358;font-size:14px}
.route-network-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px;line-height:1.45}
.route-network-table th,.route-network-table td{padding:8px 6px;border-bottom:1px solid #e2e8ef;text-align:left;vertical-align:top;overflow-wrap:anywhere}
.route-network-table th{font-weight:600}.route-network-table small{display:block;font-size:10px;color:#64778a;font-weight:400}
.route-cell-map{display:none;width:100%;height:250px;border-radius:6px;overflow:hidden}.route-cell-map.is-ready{display:block}
.route-cell-coordinates,.route-cell-credit a{color:#2c82d8}.route-cell-credit{display:block;margin-top:8px;font-size:11px;line-height:1.5}
@media print{.route-cell-credit a::after{content:" (" attr(href) ")"}}

/* v166: consistent report card spacing and wider desktop alarm addresses. */
@media screen {
  .alarm-list-item summary,.alarm-item-content,.alarm-report-card,
  .alarm-gps360-rules,.alarm-source-warning{padding:10px}
}
@media screen and (min-width:701px) {
  .alarm-item-meta{flex-basis:480px}
  .alarm-item-location{max-width:480px}
}

/* v167: optional object and alarm selection in launcher chats. */
.chat-layout .composer.has-chat-context{max-height:70%;min-height:0;overflow-y:auto}
.chat-context{min-width:0;max-width:100%;display:flex;flex-direction:column;gap:7px;margin:0 0 10px;max-height:230px;overflow-y:auto;overscroll-behavior:contain}
.chat-object-label,.chat-context-caption{font-size:12px;line-height:1.4;color:#333333}
.chat-context select{box-sizing:border-box;width:100%;min-width:0;min-height:36px;padding:7px 10px;border:1px solid #d9e1e8;border-radius:5px;background:#fff;color:#333333;font:inherit;font-size:13px}
.chat-context-status{margin:0;color:#666;font-size:11px;line-height:1.4}
.chat-quick-row{display:flex;flex:none;gap:6px;min-width:0;max-width:100%;overflow-x:auto;padding:2px 1px 5px;scrollbar-width:thin;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}
.chat-quick-button{flex:0 0 auto;max-width:none;min-height:34px;padding:7px 10px;border:1px solid #d3e1ed;border-radius:5px;background:#f1f7fc;color:#333333;font:inherit;font-size:12px;line-height:1.4;white-space:nowrap;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.chat-quick-button:hover,.chat-quick-button[aria-pressed="true"]{background:#2c82d8;border-color:#2c82d8;color:#fff}
.chat-quick-button:focus-visible,.chat-context-retry:focus-visible{outline:2px solid #2c82d8;outline-offset:2px}
.chat-quick-button:disabled{opacity:.55;cursor:wait}
.chat-context-retry{align-self:flex-start;padding:2px 0;border:0;background:none;color:#2c82d8;font:inherit;font-size:11px;text-decoration:underline;cursor:pointer}
.chat-context-retry:hover{color:#1d6dbb}.chat-context-retry:disabled{opacity:.55;cursor:wait}
.chat-comparison{min-width:0}.chat-layout .messages{min-height:0}
@media(max-width:700px){.chat-context{max-height:210px}.chat-context select{font-size:16px}.chat-quick-button{min-height:40px}body.keyboard-open .chat-context{max-height:130px}}

/* v168: compact date input; the mobile date/time toolbar keeps its full width. */
.route-day-date{padding-left:10px;padding-right:10px}
.route-day-date input{width:85px;min-width:85px;max-width:85px;flex:0 0 85px!important}
.route-fuel-reading-times{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 10px 10px;color:#333333;font-size:11px;text-align:center;line-height:1.5}
.route-fuel-reading-times span{min-width:0;overflow-wrap:anywhere}.route-fuel-difference{color:#333333;font-size:13px}

/* GPS360 import: separate searches and bulk selection for each column. */
.gps360-import-column .gps360-import-search{display:block;width:100%;min-width:0;height:40px;margin:0;padding:0 10px;border:0;border-radius:5px;background:#f0f0f0;color:#333333;font:500 12px Montserrat,Arial,sans-serif;box-sizing:border-box}
.gps360-import-column .gps360-import-search::placeholder{color:#777777;opacity:1}
.gps360-import-column .gps360-import-search:focus{outline:2px solid #2c82d855;outline-offset:1px;background:#ffffff}
.gps360-import-selection{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:5px 10px;margin:7px 0}
.gps360-import-selection>label{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:4px 7px;border-radius:5px;color:#333333;font-size:12px;font-weight:600;cursor:pointer}
.gps360-import-selection>label:hover{background:#edf5fc}
.gps360-import-selection input{flex:none;width:17px;height:17px;margin:0;accent-color:#2c82d8}
.gps360-import-selection input:focus-visible{outline:2px solid #2c82d8;outline-offset:3px}
.gps360-import-selection>label:has(input:disabled){opacity:.5;cursor:default}
.gps360-import-count{color:#666666;font-size:11px;font-weight:400}
.gps360-import-empty{margin:5px 3px;padding:10px;color:#666666;font-size:12px;line-height:1.5}
.gps360-check-list>label[hidden],.gps360-check-list>label.hidden{display:none}

/* Keep the pending customer request visible while the provider prepares its answer. */
.chat-layout.consult-pending .chat-context{display:none}
.chat-layout.consult-pending #thinking{flex:none;min-height:70px;margin:8px 10px;padding:10px;border-radius:6px}
.chat-layout.consult-pending #thinking .thinking-avatar{display:flex;flex:none}
.chat-layout.consult-pending #thinking .thinking-orbit{display:none}
.chat-layout.consult-pending #thinking .thinking-copy strong{font-size:13px;font-weight:700}
.chat-layout.consult-pending #thinking .thinking-copy>span:not(.thinking-dots){font-size:12px}
.chat-layout.consult-pending .messages{min-height:70px}
.chat-layout.consult-pending .composer{flex-shrink:1;max-height:40%;overflow-y:auto}

/* v172: symmetric page/card spacing, shared by desktop and mobile. */
@media screen {
  .workspace,.customer-workspace,.alarm-workspace,.chat-layout.report-open .alarm-report{padding:20px}
  .agent-card,.dashboard-status,.fleet-stat,.customer-panel,.gps360-import,
  .customer-dialog form,.gps360-mapping-dialog,.profile-pane,.alarm-calendar,.time-picker,
  .consult-cost-dialog .consult-cost-content{padding:20px}
  .login,.setup{padding:20px!important}
  .route-head,.route-body,.route-footer,.route-graph,.route-map-meta,
  .alarm-list-item summary,.alarm-item-content,.alarm-report-card,
  .notification-list,.notification-item,.chat-agent-picker-head,.chat-agent-picker-list,
  .activity-panel,.consult-cost-price,.alarm-search-empty{padding:10px}
  .route-footer::after{display:none}
  #alarm-list{padding:0}
  .messages,body.chat-widget-open #chat-view .messages{padding:10px!important}
  .chat-head,body.chat-widget-open #chat-view>.chat-head{padding:10px}
  .composer,body.chat-widget-open #chat-view .composer{padding:10px}
  .data-loading.thinking,.route-data-loading.thinking{padding:10px;gap:20px}
  .data-loading .thinking-copy,.route-data-loading .thinking-copy{flex:1}
  .data-loading .thinking-orbit,.route-data-loading .thinking-orbit{position:static;flex:none;margin:0}
  .route-network-table th,.route-network-table td{padding:10px}
}
@media screen and (max-width:700px) {
  .profile-actions{margin:20px -20px -20px;padding:10px}
}

/* v173: reuse the notification badge for the current toast's alarm count. */
.alarm-live-toast-heading{display:flex;align-items:center;gap:10px}
.alarm-live-toast .alarm-live-toast-count{position:static;top:auto;right:auto;display:inline-flex;align-items:center;justify-content:center;flex:none;height:19px;min-width:19px;line-height:19px;margin:0;font-weight:700}

.route-launch-sprint{margin:0;padding:0;font-weight:700;color:#333333}

/* v177: compact mobile spacing; safe-area cutouts are not ordinary padding. */
@media screen and (max-width:699.98px) {
  .workspace,.customer-workspace,.alarm-workspace,.chat-layout.report-open .alarm-report{padding:10px}
  .topbar{padding-left:max(10px,env(safe-area-inset-left,0px));padding-right:max(10px,env(safe-area-inset-right,0px))}
  .chat-launcher-dock{right:10px;bottom:max(10px,env(safe-area-inset-bottom,0px))}
}

/* An installed app exposes a solid, fixed header to the OS. Keep content below
   it rather than relying on translucent status bars or a scrolling surface. */
@media screen {
  html.standalone-app,html.standalone-app body{background:#fff;background-image:none}
  html.standalone-app .shell{height:100%;padding-top:calc(60px + env(safe-area-inset-top,0px));background:#fff}
  html.standalone-app body.keyboard-open .shell{height:var(--app-visible-height,100%)}
  html.standalone-app .topbar{
    position:fixed;top:0;left:0;right:0;
    height:calc(60px + env(safe-area-inset-top,0px));min-height:calc(60px + env(safe-area-inset-top,0px));
    padding-top:env(safe-area-inset-top,0px);
    background:#fff;background-image:none;opacity:1;
    backdrop-filter:none;-webkit-backdrop-filter:none
  }
  html.standalone-app body.login-open .shell{padding-top:0}
  html.standalone-app .login-open main{padding-top:max(20px,env(safe-area-inset-top,0px))}
  html.standalone-app .notification-center{top:calc(61px + env(safe-area-inset-top,0px));max-height:calc(100dvh - 70px - env(safe-area-inset-top,0px))}
  html.standalone-app .alarm-live-toast{top:calc(76px + env(safe-area-inset-top,0px))}
}
@media screen and (min-width:700px) {
  html.standalone-app .topbar{padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
}

/* v178: concise, consistent alarm summaries and outer desktop gutters. */
.route-alarm-summary,.route-speeding-summary,.route-fuel-summary,.route-connection-time,
.route-map-copy .route-map-caption,.route-launch-sprint,.route-section-hint,
.route-note,.route-fuel-notes .route-note,.route-towing-report p,.route-towing-report li{
  font-size:12px;line-height:1.5;margin:0
}
.route-idle-report{background:#fff;border-radius:7px;padding:10px;margin-top:10px}
.route-idle-report .route-section-title{margin:0;font-size:16px}
/* Center the 20px logout glyph in its 38px target, then move the entire
   controls group 9px right. The glyph keeps its position and every hover
   target follows its icon, with no movement on hover. */
.topbar .account-controls{padding-right:0;margin-right:-9px}
.topbar .account-icon.power-icon{padding-right:0;margin-right:0;justify-content:center}
.topbar .power-icon .account-glyph{margin-right:0}
@media screen and (min-width:700.01px) {
  .route-body,.route-footer{padding-left:20px;padding-right:20px}
  .route-body>.route-map-card{margin-left:-20px;margin-right:-20px}
  .route-map-meta{padding-left:20px;padding-right:20px}
}

/* v179: apply one outer gutter to the start page; use only the app calendar. */
@media screen {
  .agents-open main{padding:0;align-items:stretch;justify-content:stretch}
  #agents-view{width:100%;max-width:none;margin:0;padding:20px}
}
@media screen and (max-width:699.98px){#agents-view{padding:10px}}
.route-day-date #route-day-button{width:85px;min-width:85px;max-width:85px;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:700;white-space:nowrap;text-align:left;cursor:pointer}
.route-day-date #route-day-button:focus-visible{outline:2px solid #2c82d8;outline-offset:3px}
.admin-consult-token-panel{width:min(100%,1160px);margin:0 auto 20px}
.admin-consult-token-panel h2{margin:0 0 10px}

/* v181: a focused notice when every available sequence is already visible. */
.route-sequence-notice .route-sequence-notice-content{padding:20px}
.route-sequence-notice h2{margin:0;font-size:18px}
.route-sequence-notice p{margin:10px 0;font-size:14px;line-height:1.5}
.route-sequence-notice .primary:hover,.route-sequence-notice .primary:focus-visible{background:#246eb7}

/* Maximum detail: compact status/return control without hiding the day. */
.route-peak-context{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;margin:10px 0;background:#eaf4fd;border-radius:6px;color:#333333;font:400 12px/1.5 Montserrat,Arial,sans-serif}
.route-peak-context-copy{display:flex;flex-direction:column;gap:0;min-width:0;overflow-wrap:anywhere}
.route-peak-context-copy p{margin:0}
.route-peak-context .route-data-loading{margin:0;padding:10px;min-height:0;box-shadow:none}
.route-peak-back{flex-shrink:0;min-height:40px;padding:10px;border:1px solid #2c82d8;border-radius:4px;background:#fff;color:#2c82d8;font:600 12px Montserrat,Arial,sans-serif;cursor:pointer;transition:background-color .16s,color .16s}
.route-peak-back:hover,.route-peak-back:focus-visible,.route-daily-peaks button[aria-pressed="true"]{background:#2c82d8;color:#fff}
.route-peak-back:focus-visible{outline:2px solid #2c82d8;outline-offset:2px}
.route-peak-error{color:#963c3c}
@media(max-width:700px){.route-peak-context{flex-direction:column;align-items:stretch}.route-peak-back{align-self:flex-start}}
@media(prefers-reduced-motion:reduce){.route-peak-back{transition:none}}
@media print{.route-peak-back{display:none}}

/* v196: searchable day navigation remains stable during live alarm refreshes. */
.alarm-vehicle-controls{position:relative;width:min(380px,38vw)}
.alarm-vehicle-controls>#alarm-vehicle{width:100%;min-width:0;height:40px;padding:0 10px;border:0;border-radius:5px;background:#fff;color:#333333;font:500 12px Montserrat,Arial,sans-serif}
.day-vehicle-options{position:absolute;z-index:45;left:0;top:calc(100% + 4px);width:100%;box-sizing:border-box;max-height:min(290px,45vh);padding:5px;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;border-radius:5px;background:#fff;box-shadow:0 10px 28px rgba(25,44,62,.2)}
.day-vehicle-options.hidden{display:none}
.day-vehicle-option{box-sizing:border-box;min-height:40px;padding:10px;border-radius:4px;overflow-wrap:anywhere;color:#333333;font:600 12px/1.4 Montserrat,Arial,sans-serif;cursor:pointer}
.day-vehicle-option:hover,.day-vehicle-option.is-active{background:#edf5fc;color:#2c82d8}
@media(max-width:850px){.alarm-vehicle-controls{width:100%}}
@media print{.day-vehicle-options{display:none!important}}

/* Compact upper sequence selector; playback remains permanently visible. */
.route-detail-drawer,.route-detail-clip{display:contents}
.route-head .route-detail-toggle{display:none}
@media screen and (max-width:699.98px){
  .route-head{flex-wrap:wrap}
  .route-head.has-sequence-selection{grid-template-columns:38px minmax(0,1fr) 40px}
  .route-head .route-detail-toggle:not([hidden]){display:inline-flex;align-items:center;justify-content:center;gap:2px;flex:none;width:40px;height:40px;min-height:40px;padding:4px;margin:0;border:1px solid #d3e5f6;border-radius:5px;background:#eaf4ff;color:#2c82d8;cursor:pointer;touch-action:manipulation}
  .route-head .route-detail-toggle:hover,.route-head .route-detail-toggle:focus-visible{background:#d9edff}
  .route-head .route-detail-toggle:focus-visible{outline:2px solid #2c82d8;outline-offset:2px}
  .route-detail-chevron{transition:transform 180ms ease}
  .route-detail-toggle[aria-expanded="true"] .route-detail-chevron{transform:rotate(180deg)}
  .route-extra-controls .route-detail-drawer{display:grid;grid-column:1/-1;grid-template-rows:0fr;min-width:0;margin-top:-6px;transition:grid-template-rows 180ms ease,margin-top 180ms ease}
  .route-extra-controls .route-detail-drawer.is-open{grid-template-rows:1fr;margin-top:0}
  .route-detail-clip{display:block;min-height:0;overflow:hidden}
  .route-extra-controls .route-detail-control{padding:4px 10px;color:#333333}
}
@media(prefers-reduced-motion:reduce){
  .route-extra-controls .route-detail-drawer,.route-detail-chevron{transition:none}
}
@media print{.route-head .route-detail-toggle{display:none!important}}

/* v203: open vehicle menus paint above adjacent native controls on mobile Safari. */
.alarm-toolbar.has-open-vehicle-picker,.alarm-day-row.has-open-vehicle-picker{position:relative;z-index:60;isolation:isolate;overflow:visible}
.alarm-search-suggestions,.day-vehicle-options{isolation:isolate;-webkit-overflow-scrolling:touch;background:#fff}
/* A checkbox must not inherit the text inputs' horizontal padding or flexible width. */
.login-options{flex-wrap:wrap;column-gap:10px;row-gap:10px}
.login-options label{justify-content:flex-start;gap:7px;flex:0 0 auto}
.login-options #remember{box-sizing:border-box;flex:0 0 17px;width:17px;min-width:17px;max-width:17px;height:17px;min-height:17px;max-height:17px;margin:0;padding:0}
.customer-last-login{display:block;font-size:12px;color:#333333}

.chat-launcher-label{display:block;white-space:nowrap}
@media(max-width:699.98px){
  .chat-launcher{justify-content:center;padding:5px 15px}
  .chat-launcher-label{inline-size:min-content;white-space:normal;line-height:14px;text-align:center}
}

/* v211: device-specific Web Push preferences, separate from the in-app sound. */
.push-settings{padding:10px 20px;border-bottom:1px solid #e3edf6;flex:none}
.push-settings[hidden]{display:none}
.push-actions{display:flex;flex-wrap:wrap;gap:6px}
.push-actions button{min-height:36px;padding:6px 10px;border-radius:5px;background:#eaf4fd;color:#333333;font:600 12px Montserrat,Arial,sans-serif}
.push-actions button:hover,.push-actions button:focus-visible{background:#d8ebfc}
.push-actions button:disabled{opacity:.55;cursor:default}
.push-actions button[hidden]{display:none}
.push-settings p{margin:6px 0 0;font-size:12px;line-height:1.4;color:#333333}
@media(max-width:700px){.push-settings{padding:10px}}
@media print{.push-settings{display:none!important}}

/* v211: a confirmed, bounded day-sharing interval. */
.daily-share-dialog{width:min(520px,calc(100vw - 20px));max-height:calc(100dvh - 20px);overflow:auto;padding:0;color:#333333}
.daily-share-content{padding:20px}.daily-share-content h2{margin:0 0 10px;font-size:20px}.daily-share-content p{margin:10px 0}
.daily-share-whole{display:flex;align-items:center;gap:10px;margin:20px 0}.daily-share-whole input{width:20px;height:20px;margin:0}
.daily-share-control{display:grid;grid-template-columns:minmax(0,1fr) 80px;gap:10px;margin:20px 0;align-items:center}.daily-share-control label{grid-column:1/-1;margin:0}.daily-share-control input[type=range]{width:100%;padding:0;accent-color:#2c82d8;height:30px}.daily-share-control input[type=number]{width:80px;min-width:0;padding:10px}.daily-share-preview{font-weight:700;font-size:14px}
.expert-word,.login-brand>strong .expert-word{color:#333333;font-weight:800}
@media(max-width:700px){.daily-share-content{padding:10px}}
