/* Desktop restored from approved 20:50 state; mobile isolated unchanged. */
@media (min-width:700px){
:root{color-scheme:dark;font-family:system-ui,-apple-system,'Segoe UI',sans-serif;background:#0d0d10;color:#f3f0e8}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top,#252018,#0d0d10 62%);min-height:100vh}.shell{width:min(900px,calc(100% - 32px));margin:0 auto;padding:36px 0}header{padding:12px 0 30px;border-bottom:1px solid #51472d;margin-bottom:30px}.brand{font-weight:800;letter-spacing:.12em;font-size:clamp(1.2rem,4vw,1.8rem)}.brand span{color:#d9b65b}header p,.muted,footer{color:#b5b0a5}.panel,.booking{background:#19191e;border:1px solid #4d422a;border-radius:14px;padding:24px;box-shadow:0 14px 40px #0003}.panel{max-width:500px;margin:auto}h1{margin:0 0 8px;font-size:1.6rem}label{display:block;margin:18px 0 7px;color:#e1c477;font-weight:600}input{width:100%;padding:13px 14px;border-radius:8px;border:1px solid #61573c;background:#28282d;color:#fff;font:inherit}input:focus-visible,button:focus-visible{outline:2px solid #e5c96d;outline-offset:2px}button{border:1px solid #c5a24d;background:#9e7a2e;color:#fff;font:inherit;font-weight:700;padding:12px 18px;border-radius:8px;cursor:pointer;margin-top:22px}button:hover{background:#b38d39}button:disabled{opacity:.55;cursor:wait}.secondary{background:#25252a;margin:0}.topline{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.cards{display:grid;gap:14px}.booking h2{font-size:1.15rem;color:#e1c477;margin:0 0 14px}.booking p{margin:7px 0;overflow-wrap:anywhere}.tag{display:inline-block;border:1px solid #726039;color:#dfc16e;border-radius:20px;padding:3px 9px;font-size:.85rem}.message{min-height:1.4em;color:#f0cf82}.hidden{display:none!important}footer{margin-top:40px;font-size:.85rem;text-align:center}@media(max-width:520px){.shell{padding-top:20px}.panel,.booking{padding:18px}.topline{align-items:flex-start}.secondary{padding:10px}}


/* Kompakte Fahrtkarten – Desktop */
@media (min-width: 700px) {
  .cards {
    gap: 7px;
  }

  .booking {
    padding: 10px 14px;
    border-radius: 9px;
    box-shadow: none;
  }

  .booking h2 {
    font-size: 1rem;
    margin: 0 0 5px;
  }

  .booking p {
    margin: 2px 0;
    font-size: 13px;
    line-height: 1.25;
  }

  .booking label {
    margin: 5px 0 2px;
    font-size: 12px;
  }

  .booking select {
    font-size: 12px;
    padding: 4px;
  }

  .booking button {
    margin-top: 4px;
    padding: 5px 10px;
    font-size: 12px;
  }

  .booking .message {
    min-height: 0;
    font-size: 12px;
    line-height: 1.2;
  }
}


/* Kompakte Fahrerportal-Desktopansicht */
@media (min-width:700px) {
  .shell { padding-top:10px; }

  header {
    padding:4px 0 8px;
    margin-bottom:10px;
  }

  header p { margin:3px 0; }

  .topline {
    margin-bottom:8px;
    gap:8px;
  }

  .topline h1 {
    font-size:20px;
    margin:0;
  }

  .topline .muted { margin:3px 0; }

  .booking {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(240px,38%);
    gap:12px;
    padding:8px 12px;
    align-items:start;
  }

  .booking-details p {
    margin:2px 0;
    font-size:12px;
    line-height:1.2;
  }

  .booking h2 {
    font-size:14px;
    margin-bottom:4px;
  }

  .booking-actions {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:3px;
  }

  .booking-actions p {
    margin:1px 0;
    font-size:11px;
    line-height:1.2;
  }

  .booking-actions select {
    width:100%;
    max-width:100%;
    font-size:11px;
  }

  .booking-actions button {
    margin:2px 0;
    padding:5px 8px;
    font-size:11px;
  }

  .cards { gap:6px; }
}


/* Meldung an Dispo – gleiche Breite wie Fahrtkarten */
@media (min-width:700px) {
  #driverReports {
    width:100%;
    max-width:none;
    margin:8px 0;
    padding:12px 14px;
    border-radius:9px;
    box-shadow:none;
  }

  #driverReports h2 {
    font-size:17px;
    margin:0 0 5px;
  }

  #driverReports .muted {
    margin:3px 0 8px;
    font-size:12px;
  }

  #driverReportForm {
    display:grid;
    grid-template-columns:180px minmax(0,1fr) 190px;
    gap:6px 12px;
    align-items:end;
  }

  #driverReportForm label {
    margin:0;
    font-size:12px;
  }

  #driverReportForm label[for="reportType"] {
    grid-column:1;
    grid-row:1;
  }

  #driverReportForm label[for="reportMessage"] {
    grid-column:2;
    grid-row:1;
  }

  #reportType {
    grid-column:1;
    grid-row:2;
  }

  #reportMessage {
    grid-column:2;
    grid-row:2;
    width:100%;
    min-height:42px;
    height:42px;
    padding:6px 8px;
    resize:vertical;
  }

  #driverReportForm button {
    grid-column:3;
    grid-row:2;
    margin:0;
    padding:9px 8px;
    font-size:12px;
  }

  #driverReportFeedback {
    margin:5px 0 0;
    min-height:0;
    font-size:12px;
  }
}


/* Logo und zentrierte Desktop-Position */
@media (min-width:700px) {
  .shell {
    padding-top:45px;
  }

  header {
    position:relative;
    min-height:85px;
    padding-right:125px;
  }

  header::after {
    content:"";
    position:absolute;
    right:0;
    top:-10px;
    width:105px;
    height:105px;
    background:url("logo-rund.png") center/contain no-repeat;
  }
}


/* Fahrer-Login wie Admin/Dispo – nur Desktop */
@media (min-width:700px) {

  .shell {
    width:min(1100px,calc(100% - 32px));
    padding-top:45px;
  }

  header {
    min-height:85px;
    padding:4px 125px 8px 0;
    margin-bottom:10px;
  }

  header::after {
    width:110px;
    height:110px;
    right:0;
    top:-10px;
  }

  /* Nur Anmeldeseite */
  .shell:has(#loginPanel:not(.hidden)) {
    min-height:100vh;
  }

  .shell:has(#loginPanel:not(.hidden)) header {
    border-bottom:none;
  }

  #loginPanel {
    max-width:500px;
    margin:135px auto 0;
    padding:12px 14px;
    border-radius:9px;
    box-shadow:none;
  }

  #loginPanel h1 {
    font-size:15px;
    margin:0 0 5px;
  }

  #loginPanel .muted {
    display:none;
  }

  #loginForm {
    display:flex;
    align-items:center;
    gap:5px;
  }

  #loginForm label {
    display:none;
  }

  #loginForm input {
    width:155px;
    min-width:0;
    padding:5px 8px;
    margin:0;
    font-size:11px;
  }

  #loginForm button {
    margin:0;
    padding:5px 8px;
    font-size:11px;
    white-space:nowrap;
  }

  #loginMessage {
    min-height:0;
    font-size:12px;
  }

  /* Nach Anmeldung ursprüngliche Breite */
  .shell:has(#accountPanel:not(.hidden)) {
    width:min(900px,calc(100% - 32px));
  }
}


/* Fahrer-Anmeldung an Admin/Dispo angleichen */
@media (min-width:700px) {

  .shell:has(#loginPanel:not(.hidden)) {
    width:min(1100px,calc(100% - 32px));
    max-width:1100px;
    padding-top:45px;
  }

  .shell:has(#loginPanel:not(.hidden)) header {
    position:relative;
    min-height:110px;
    padding:4px 0 8px;
    margin:0;
    border:0;
  }

  .shell:has(#loginPanel:not(.hidden)) header::after {
    width:110px;
    height:110px;
    top:-10px;
    right:-45px;
  }

  .shell:has(#loginPanel:not(.hidden)) .brand {
    font-size:20px;
    letter-spacing:normal;
  }

  .shell:has(#loginPanel:not(.hidden)) header p {
    font-size:12px;
    margin:3px 0;
  }

  #loginPanel:not(.hidden) {
    width:500px;
    max-width:100%;
    margin:100px auto 0;
    padding:12px 14px;
    border-radius:9px;
    box-shadow:none;
  }

  #loginPanel h1 {
    font-size:15px;
    margin:0 0 5px;
  }

  #loginForm {
    display:flex;
    gap:5px;
    align-items:center;
  }

  #loginForm input {
    width:155px;
    padding:5px 8px;
    font-size:11px;
  }

  #loginForm button {
    padding:5px 8px;
    font-size:11px;
    margin:0;
  }

  .shell:has(#loginPanel:not(.hidden)) footer {
    display:none;
  }
}


/* Schriftzug wie Admin und Dispo */
@media (min-width:700px) {
  .shell:has(#loginPanel:not(.hidden)) .brand {
    font-family:system-ui,-apple-system,'Segoe UI',sans-serif;
    font-size:20px;
    font-weight:700;
    letter-spacing:normal;
    color:#d7b45c;
  }

  .shell:has(#loginPanel:not(.hidden)) .brand span {
    color:inherit;
  }
}


/* Fahrer-Login: Position wie Admin und Dispo */
@media (min-width:700px) {

  .shell:has(#loginPanel:not(.hidden)) {
    width:min(1100px,calc(100% - 32px));
    padding-top:45px;
  }

  .shell:has(#loginPanel:not(.hidden)) .brand,
  .shell:has(#loginPanel:not(.hidden)) header p {
    position:relative;
    left:-75px;
  }

  .shell:has(#loginPanel:not(.hidden)) header::after {
    right:-45px;
  }

  #loginPanel:not(.hidden) {
    width:500px;
    margin:100px auto 0;
  }
}


/* Rundes Logo oberhalb der Trennlinie */
@media (min-width:700px) {
  header::after {
    top:-30px;
  }

  .shell:has(#loginPanel:not(.hidden)) header::after {
    top:-30px;
  }
}


/* Fahrer-Dashboard: Visitenkarte und einheitliche Schrift */
@media (min-width:700px) {
  #accountPanel .topline {
    display:grid;
    grid-template-columns:1fr 230px 1fr;
    align-items:center;
    gap:12px;
  }

  #dashboardVisitenkarte {
    width:230px;
    max-height:105px;
    object-fit:contain;
    justify-self:center;
  }

  #accountPanel #logout {
    justify-self:end;
  }

  #accountPanel {
    font-family:system-ui,-apple-system,'Segoe UI',sans-serif;
  }

  #accountPanel h1,
  #accountPanel h2 {
    font-weight:700;
  }
}

@media (max-width:699px) {
  #dashboardVisitenkarte {
    display:none;
  }
}


/* Gleicher Abstand oberhalb und unterhalb der Visitenkarte */
@media (min-width:700px) {
  #accountPanel .topline {
    margin-bottom:0;
  }

  #accountPanel #bookings {
    margin-top:0;
  }
}


/* Fahrtkarten und Meldungen 30px höher */
@media (min-width:700px) {
  #accountPanel #bookings {
    margin-top:-30px;
  }
}

/* ALEX_TRACKING_ADDON_20261026: only the new panel; existing CSS untouched. */
.cd-tracking-addon{max-width:310px;box-sizing:border-box;border:1px solid #6b542d;border-radius:6px;padding:7px;margin-top:8px;font-size:11px;line-height:1.4}
.cd-tracking-addon button{font-size:10px;padding:3px 7px;margin:5px 0 0;display:block}

.driver-chat-panel{margin-top:18px}.driver-chat-panel h2{font-size:14px}.driver-chat-panel p{font-size:11px}.driver-chat-feed{max-height:300px;min-height:80px;overflow:auto;padding:8px;border:1px solid #554a31;border-radius:6px;background:#111315;max-width:650px}.driver-chat-bubble{padding:8px;margin:0 0 8px;border:1px solid #3e454d;border-radius:6px;white-space:pre-wrap;overflow-wrap:anywhere;background:#24292e;font:12px/1.5 system-ui}.driver-chat-bubble.out{background:#1a3026;border-color:#4b755a;margin-left:15px}.driver-chat-bubble small{display:block;font-size:10px;color:#bac4be;margin:2px 0}#driverChatForm{display:block;max-width:650px}#driverChatForm label{display:block;font-size:11px;margin:10px 0 5px}#driverChatText{width:100%;box-sizing:border-box;height:70px;min-height:55px;resize:vertical;font-size:12px}#driverChatForm button{height:28px;min-width:110px;font-size:11px;padding:3px 8px;margin-top:8px;background:transparent;color:#d7b45c;border:1px solid #97743b;border-radius:6px}#driverChatState,#driverChatFeedback{font-size:11px}.driver-chat-hint{max-width:650px}

.driver-alert-tools{display:flex;align-items:flex-start;gap:8px;margin-left:auto;flex-shrink:0}.driver-alert-tools #driver-header-tools{margin-left:0}#driver-alert-refresh{width:92px;height:26px;min-height:26px;margin:0;padding:2px 5px;border:1px solid #bfa859;border-radius:6px;background:transparent;font:400 10px/14px system-ui}.driver-alert-panel{border:1px solid #66552e;border-radius:8px;padding:12px;margin-bottom:14px}.driver-alert-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.driver-alert-head h2{font-size:16px;margin:0}.driver-alert-panel button{font:400 12px/1.3 system-ui;margin:4px 8px 4px 0;padding:5px 9px;min-height:28px;background:transparent}.driver-alert-list{display:flex;flex-wrap:wrap;max-height:150px;overflow:auto;gap:4px}.driver-alert-detail{border:1px solid #8d773f;border-radius:6px;padding:10px;margin-top:8px}.driver-alert-detail h3{font-size:14px;margin:0 0 8px}.driver-alert-detail p{font-size:12px;overflow-wrap:anywhere}.driver-alert-error{color:#ffadb5}#driver-alert-refresh[data-tone=red],.driver-alert-panel [data-tone=red]{color:#ffadb5;border-color:#e97886}#driver-alert-refresh[data-tone=orange],.driver-alert-panel [data-tone=orange]{color:#ffd0a1;border-color:#d68b45}#driver-alert-refresh[data-tone=yellow],.driver-alert-panel [data-tone=yellow]{color:#f3df83;border-color:#bca03c}#driver-alert-refresh[data-tone=green]{color:#a0e4b6;border-color:#65b47e}.booking:focus{outline:2px solid #a0e4b6;outline-offset:3px}@media(max-width:600px){.topline{flex-wrap:wrap}.driver-alert-tools{margin-left:0}.driver-alert-list{display:block}.driver-alert-list button{display:block;text-align:left;width:100%;margin:4px 0}.driver-alert-panel{padding:9px}}

@media(min-width:700px){.driver-alert-panel{margin-bottom:44px}}

/* Compact equal-sized driver header controls, one row. */
.driver-alert-tools{display:grid;grid-template-columns:repeat(3,74px);gap:8px;align-items:start;width:max-content;max-width:100%}
.driver-alert-tools #driver-header-tools{display:contents!important}
.driver-alert-tools #driver-alert-refresh,.driver-alert-tools #driver-header-tools #logout,.driver-alert-tools #driver-header-tools a{display:inline-flex!important;align-items:center;justify-content:center;width:74px!important;height:22px!important;min-height:22px!important;padding:1px 3px!important;margin:0!important;box-sizing:border-box;font:400 10px/14px system-ui!important;border-radius:6px;background:transparent}

/* CD_DRIVER_VIEWPORT_FIT_20261029: leave the already fitted login and card styling intact. */
@media(min-width:1000px){
 .shell:has(#accountPanel:not(.hidden)){height:100dvh;min-height:0;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}
 .shell:has(#accountPanel:not(.hidden))>header,.shell:has(#accountPanel:not(.hidden))>footer{flex-shrink:0}
 .shell:has(#accountPanel:not(.hidden))>#accountPanel{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}
}

/* Driver sections: existing portal first, operations below, one page scroll. */
.shell:has(#accountPanel:not(.hidden)){height:auto;min-height:100dvh;display:block;overflow:visible}
.shell:has(#accountPanel:not(.hidden))>#accountPanel{height:auto;max-height:none;overflow:visible}
#accountPanel #bookings{margin-top:16px}
#accountPanel>#cd-betrieb{display:block;clear:both;width:100%;max-width:none;margin:32px 0 0;padding:20px;border:1px solid #4d422a;border-radius:12px;background:#19191e}
#cd-betrieb>.ops-head{position:static;min-height:0;padding:0 0 16px;margin:0 0 16px}
#cd-betrieb>.ops-head::after{content:none}
#cd-betrieb>.ops-view-content{max-height:none;overflow:visible}
@media(max-width:699px){#accountPanel>#cd-betrieb{padding:14px;margin-top:24px}}

/* Unified driver-to-dispatch area: original report form with expandable chat. */
#driverReports>#driverChat{max-width:none;margin:16px 0 0;padding:12px 0 0;border:0;border-top:1px solid #4d422a;border-radius:0;box-shadow:none;background:transparent}
#driverReports>#driverChat>summary{cursor:pointer;color:#e1c477;font-size:13px;font-weight:600;margin-bottom:10px}
#driverReports #driverChatForm,#driverReports .driver-chat-feed{max-width:650px}

/* One compact toolbox containing the existing three modules. */
#accountPanel>#driver-tools{width:100%;max-width:none;margin:14px 0;padding:12px 14px;border-radius:9px;box-shadow:none}
#driver-tools>h2{font-size:14px;margin:0 0 8px;color:#e1c477}
#driver-tools>nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
#driver-tools>nav>button{width:100px;min-height:28px;margin:0;padding:4px 8px;font:400 12px/18px system-ui;background:transparent}
#driver-tools>nav>button[aria-pressed=true]{background:#9e7a2e;color:#fff}
#driver-tools>#driverReports,#driver-tools>#driver-assistant-panel,#driver-tools>#driver-fleet-panel{display:block;width:100%;max-width:none;border:0;background:transparent;box-shadow:none;border-radius:0;margin:0;padding:0}
#driver-tools>[hidden]{display:none!important}
#driver-tools #driverReports>h2{display:none}
#driver-tools #driver-assistant-panel>div,#driver-tools #driver-fleet-panel>div{max-width:540px}
#driver-tools p{font-size:12px;line-height:1.4}

/* Focused driver workspace: stable navigation, a single scrollable active view. */
.shell:has(#accountPanel:not(.hidden)){height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding-bottom:10px}
.shell:has(#accountPanel:not(.hidden))>header{flex:0 0 auto}
.shell:has(#accountPanel:not(.hidden))>#accountPanel{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden}
#accountPanel>.topline{flex:0 0 auto}
#driver-main-nav{display:flex;flex:0 0 auto;gap:8px;padding:10px 0;border-bottom:1px solid #51472d;margin-bottom:10px}
#driver-main-nav>button{margin:0;padding:8px 12px;min-height:38px;background:transparent;color:#e1c477;font:500 13px/18px system-ui}
#driver-main-nav>button[aria-pressed=true]{background:#9e7a2e;color:white}
#accountPanel>.driver-workspace-view,#accountPanel>#driver-tools.driver-workspace-view,#accountPanel>#cd-betrieb.driver-workspace-view{flex:1 1 auto;min-height:0;height:auto;max-height:none;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;margin:0;width:100%}
#accountPanel>.driver-view-hidden{display:none!important}
#driver-rides-view #bookings{margin:0;padding-bottom:16px}
#driver-rides-view #accountMessage:empty{display:none}
#driver-rides-view .driver-alert-panel{margin:0 0 12px}
#accountPanel>#cd-betrieb{padding:14px}
#accountPanel>#cd-betrieb h1{font-size:21px}
.shell:has(#accountPanel:not(.hidden))>footer{flex:0 0 auto;margin-top:8px;font-size:10px}
@media(max-width:699px){
 .shell:has(#accountPanel:not(.hidden)){width:calc(100% - 20px);padding-top:10px;padding-bottom:env(safe-area-inset-bottom,0px)}
 .shell:has(#accountPanel:not(.hidden))>header{padding:4px 0 8px;margin-bottom:8px}
 .shell:has(#accountPanel:not(.hidden))>header .brand{font-size:18px}
 .shell:has(#accountPanel:not(.hidden))>header p{margin:2px 0;font-size:11px}
 #accountPanel>.topline{gap:6px}
 #accountPanel>.topline h1{font-size:18px}
 #accountPanel>.topline .muted{font-size:11px;margin:3px 0}
 #driver-main-nav{gap:4px;padding:6px 0}
 #driver-main-nav>button{flex:1;min-width:0;padding:7px 3px;min-height:42px;font-size:11px;line-height:14px}
 #driver-rides-view .booking{padding:12px}
}

.driver-ride-filters{display:flex;flex-wrap:wrap;gap:8px;position:sticky;top:0;z-index:2;background:#141417;padding:8px 0}
.driver-ride-filters button{margin:0;min-height:36px;padding:6px 12px;font:500 12px/18px system-ui;background:transparent;color:#e1c477}
.driver-ride-filters button[aria-pressed=true]{background:#9e7a2e;color:#fff}

/* Compact driver workspace, scoped to the signed-in portal. */
.shell:has(#accountPanel:not(.hidden)){padding-top:18px}
.shell:has(#accountPanel:not(.hidden))>header{min-height:54px;padding:0 80px 8px 0;margin-bottom:8px}
.shell:has(#accountPanel:not(.hidden))>header::after{width:64px;height:64px;top:-12px;right:0}
.shell:has(#accountPanel:not(.hidden))>header .brand{font-size:21px}
.shell:has(#accountPanel:not(.hidden))>header p{font-size:11px;margin:2px 0}
#accountPanel>.topline{grid-template-columns:1fr 140px 1fr;min-height:52px}
#accountPanel>.topline h1{font-size:17px}
#accountPanel>.topline .muted{font-size:11px;margin:2px 0}
#accountPanel #dashboardVisitenkarte{width:140px;max-height:52px}
#driver-main-nav{padding:6px 0;gap:6px;margin-bottom:7px}
#driver-main-nav>button{min-height:29px;padding:4px 10px;font-size:12px;line-height:18px}
#accountPanel>#cd-betrieb{padding:10px 12px;font-size:12px;line-height:1.4}
#cd-betrieb>.ops-head{padding:0 0 8px;margin:0 0 8px}
#cd-betrieb>.ops-head p{display:none}
#accountPanel>#cd-betrieb h1{font-size:17px;margin:2px 0}
#cd-betrieb h2{font-size:16px;margin:0 0 7px}
#cd-betrieb h3{font-size:14px}
#cd-betrieb .ops-actions{gap:7px;margin:8px 0}
#cd-betrieb>.ops-actions{align-items:flex-end;margin:6px 0}
#cd-betrieb label{font-size:11px;margin:0;gap:4px}
#cd-betrieb button,#cd-betrieb input,#cd-betrieb select,#cd-betrieb textarea{min-height:30px;padding:5px 8px;font-size:12px;line-height:18px}
#cd-betrieb input[type=month]{width:150px}
#cd-betrieb .ops-nav{gap:6px;margin:10px 0}
#cd-betrieb .ops-nav>button{width:auto;flex:0 1 auto;min-height:29px;height:auto;max-width:100%;padding:4px 10px;font:400 12px/18px system-ui}
#cd-betrieb .ops-notice{min-height:0;margin:5px 0}
#cd-betrieb .ops-notice:empty{display:none}
#cd-betrieb .ops-stats{gap:8px;margin:10px 0}
#cd-betrieb .ops-stat{padding:9px 10px;font-size:11px}
#cd-betrieb .ops-stat strong{font-size:22px;line-height:1.2}
#cd-betrieb section{padding:12px;margin:10px 0;border-radius:8px}
#cd-betrieb p{margin:6px 0}
#cd-betrieb .ops-grid{gap:9px}
#cd-betrieb form{gap:9px}
#cd-betrieb textarea{min-height:60px}
#cd-betrieb th,#cd-betrieb td{padding:7px 8px;font-size:11px}
#cd-betrieb small{font-size:11px}
#cd-betrieb .ops-timer{font-size:20px}
#cd-betrieb details{padding:8px 0}
#cd-betrieb .ops-empty{padding:12px 0}
.driver-ride-filters{gap:6px;padding:5px 0}
.driver-ride-filters button{min-height:29px;padding:4px 9px;font-size:12px}
@media(min-width:700px) and (max-width:1023px){
 .shell:has(#accountPanel:not(.hidden)){width:calc(100% - 24px)}
 #accountPanel>.topline{grid-template-columns:1fr 100px 1fr}
 #accountPanel #dashboardVisitenkarte{width:100px;max-height:44px}
}
@media(max-width:699px){
 .shell:has(#accountPanel:not(.hidden)){padding-top:8px}
 .shell:has(#accountPanel:not(.hidden))>header{min-height:38px;padding:0 0 6px}
 .shell:has(#accountPanel:not(.hidden))>header::after{display:none}
 .shell:has(#accountPanel:not(.hidden))>header .brand{font-size:16px}
 #accountPanel>.topline{min-height:40px;display:flex;flex-wrap:wrap}
 #accountPanel>.topline h1{font-size:15px}
 #driver-main-nav>button{flex:1;min-height:38px;padding:5px 4px;font-size:11px;line-height:14px}
 #accountPanel>#cd-betrieb{padding:8px}
 #cd-betrieb .ops-nav>button{flex:1 1 calc(50% - 6px);min-height:36px;font-size:11px;padding:5px 6px}
 #cd-betrieb .ops-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
 #cd-betrieb .ops-stat{display:block;padding:7px 6px;font-size:10px;overflow-wrap:anywhere}
 #cd-betrieb .ops-stat strong{font-size:18px;margin-top:4px}
 #cd-betrieb .ops-grid{grid-template-columns:1fr}
 #cd-betrieb .ops-actions button{flex:0 1 auto;min-height:36px}
 #cd-betrieb section{padding:10px}
}
@media(pointer:coarse){
 #driver-main-nav>button,#driver-tools>nav>button,.driver-ride-filters button,#cd-betrieb button{min-height:40px;height:auto}
}

/* Match the existing 22px / 10px WhatsApp and logout controls. */
#driver-main-nav>button,
.driver-ride-filters button,
#driver-tools>nav>button,
#cd-betrieb button,
#driverReportForm button,
#driverChatForm button,
#driver-assistant-panel form>button,
#driver-assistant-panel .da-shortcuts>button,
#driver-fleet-panel button,
.booking-actions button,
.trip-tools button,
.booking-details details button{
 height:22px!important;min-height:22px!important;
 padding:1px 3px!important;font:400 10px/14px system-ui!important;
 border-radius:6px;box-sizing:border-box;
}
#driver-main-nav>button,.driver-ride-filters button,
#driver-tools>nav>button,#cd-betrieb .ops-nav>button{
 width:auto;flex:0 1 auto;max-width:100%;white-space:nowrap;
 padding-left:8px!important;padding-right:8px!important;
}
#driverReportForm button,#driverChatForm button,
#driver-assistant-panel form>button,#driver-assistant-panel .da-shortcuts>button,
#driver-fleet-panel button,.booking-actions button:not(.trip-traffic-light){
 width:74px!important;max-width:74px!important;
}
#driver-main-nav{padding:5px 0;gap:6px}
.driver-ride-filters{padding:4px 0;gap:6px}
#cd-betrieb .ops-nav{gap:6px}
#accountPanel button svg,#accountPanel button img{max-width:14px;max-height:14px;object-fit:contain}

/* Compact, content-sized driver tool card with consistent control dimensions. */
#accountPanel>#driver-tools.driver-workspace-view{
 flex:0 1 auto;align-self:flex-start;width:min(420px,100%);max-width:100%;
 height:auto;max-height:100%;min-height:0;padding:12px 14px;
 scrollbar-gutter:auto;overflow-y:auto;
}
#driver-tools>#driverReports,#driver-tools>#driver-assistant-panel,#driver-tools>#driver-fleet-panel{width:100%;max-width:100%}
#driver-tools #driverReports>p,#driver-tools #driverReportForm,
#driver-tools #driver-assistant-panel>div,#driver-tools #driver-assistant-panel form,
#driver-tools #driver-fleet-panel>div,#driver-tools #driver-fleet-panel p{
 width:100%;max-width:100%;
}
#driver-tools #driverReportForm select,#driver-tools #driverReportForm textarea,
#driver-tools #driverChatForm,#driver-tools #driverChatText,#driver-tools .driver-chat-feed{
 width:100%!important;max-width:100%!important;
}
#accountPanel #driver-tools>nav>button,
#accountPanel #driver-tools button,
#accountPanel #driver-main-nav>button{
 height:22px!important;min-height:22px!important;padding:1px 3px!important;
 font:400 10px/14px system-ui!important;box-sizing:border-box;border-radius:6px;
}
#accountPanel #driver-tools>nav>button{
 width:74px!important;max-width:74px!important;flex:0 0 74px;
}
#driver-tools>nav{gap:8px;margin-bottom:8px}
#driver-tools #driverChat{width:100%;max-width:100%;margin-top:10px;padding-top:9px}
#driver-tools #driverChatForm button{width:auto!important;max-width:100%!important;padding:1px 7px!important}
#driver-tools #driverChat>summary{font-size:11px}
#driver-tools p,#driver-tools label{font-size:11px;line-height:1.4}
#driver-tools select,#driver-tools textarea{font-size:11px}
@media(max-width:450px){#accountPanel>#driver-tools.driver-workspace-view{width:100%;padding:10px}}

}
@media (max-width:699px){
:root{color-scheme:dark;font-family:system-ui,-apple-system,'Segoe UI',sans-serif;background:#0d0d10;color:#f3f0e8}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top,#252018,#0d0d10 62%);min-height:100vh}.shell{width:min(900px,calc(100% - 32px));margin:0 auto;padding:36px 0}header{padding:12px 0 30px;border-bottom:1px solid #51472d;margin-bottom:30px}.brand{font-weight:800;letter-spacing:.12em;font-size:clamp(1.2rem,4vw,1.8rem)}.brand span{color:#d9b65b}header p,.muted,footer{color:#b5b0a5}.panel,.booking{background:#19191e;border:1px solid #4d422a;border-radius:14px;padding:24px;box-shadow:0 14px 40px #0003}.panel{max-width:500px;margin:auto}h1{margin:0 0 8px;font-size:1.6rem}label{display:block;margin:18px 0 7px;color:#e1c477;font-weight:600}input{width:100%;padding:13px 14px;border-radius:8px;border:1px solid #61573c;background:#28282d;color:#fff;font:inherit}input:focus-visible,button:focus-visible{outline:2px solid #e5c96d;outline-offset:2px}button{border:1px solid #c5a24d;background:#9e7a2e;color:#fff;font:inherit;font-weight:700;padding:12px 18px;border-radius:8px;cursor:pointer;margin-top:22px}button:hover{background:#b38d39}button:disabled{opacity:.55;cursor:wait}.secondary{background:#25252a;margin:0}.topline{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.cards{display:grid;gap:14px}.booking h2{font-size:1.15rem;color:#e1c477;margin:0 0 14px}.booking p{margin:7px 0;overflow-wrap:anywhere}.tag{display:inline-block;border:1px solid #726039;color:#dfc16e;border-radius:20px;padding:3px 9px;font-size:.85rem}.message{min-height:1.4em;color:#f0cf82}.hidden{display:none!important}footer{margin-top:40px;font-size:.85rem;text-align:center}@media(max-width:520px){.shell{padding-top:20px}.panel,.booking{padding:18px}.topline{align-items:flex-start}.secondary{padding:10px}}


/* Kompakte Fahrtkarten – Desktop */
@media (min-width: 700px) {
  .cards {
    gap: 7px;
  }

  .booking {
    padding: 10px 14px;
    border-radius: 9px;
    box-shadow: none;
  }

  .booking h2 {
    font-size: 1rem;
    margin: 0 0 5px;
  }

  .booking p {
    margin: 2px 0;
    font-size: 13px;
    line-height: 1.25;
  }

  .booking label {
    margin: 5px 0 2px;
    font-size: 12px;
  }

  .booking select {
    font-size: 12px;
    padding: 4px;
  }

  .booking button {
    margin-top: 4px;
    padding: 5px 10px;
    font-size: 12px;
  }

  .booking .message {
    min-height: 0;
    font-size: 12px;
    line-height: 1.2;
  }
}


/* Kompakte Fahrerportal-Desktopansicht */
@media (min-width:700px) {
  .shell { padding-top:10px; }

  header {
    padding:4px 0 8px;
    margin-bottom:10px;
  }

  header p { margin:3px 0; }

  .topline {
    margin-bottom:8px;
    gap:8px;
  }

  .topline h1 {
    font-size:20px;
    margin:0;
  }

  .topline .muted { margin:3px 0; }

  .booking {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(240px,38%);
    gap:12px;
    padding:8px 12px;
    align-items:start;
  }

  .booking-details p {
    margin:2px 0;
    font-size:12px;
    line-height:1.2;
  }

  .booking h2 {
    font-size:14px;
    margin-bottom:4px;
  }

  .booking-actions {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:3px;
  }

  .booking-actions p {
    margin:1px 0;
    font-size:11px;
    line-height:1.2;
  }

  .booking-actions select {
    width:100%;
    max-width:100%;
    font-size:11px;
  }

  .booking-actions button {
    margin:2px 0;
    padding:5px 8px;
    font-size:11px;
  }

  .cards { gap:6px; }
}


/* Meldung an Dispo – gleiche Breite wie Fahrtkarten */
@media (min-width:700px) {
  #driverReports {
    width:100%;
    max-width:none;
    margin:8px 0;
    padding:12px 14px;
    border-radius:9px;
    box-shadow:none;
  }

  #driverReports h2 {
    font-size:17px;
    margin:0 0 5px;
  }

  #driverReports .muted {
    margin:3px 0 8px;
    font-size:12px;
  }

  #driverReportForm {
    display:grid;
    grid-template-columns:180px minmax(0,1fr) 190px;
    gap:6px 12px;
    align-items:end;
  }

  #driverReportForm label {
    margin:0;
    font-size:12px;
  }

  #driverReportForm label[for="reportType"] {
    grid-column:1;
    grid-row:1;
  }

  #driverReportForm label[for="reportMessage"] {
    grid-column:2;
    grid-row:1;
  }

  #reportType {
    grid-column:1;
    grid-row:2;
  }

  #reportMessage {
    grid-column:2;
    grid-row:2;
    width:100%;
    min-height:42px;
    height:42px;
    padding:6px 8px;
    resize:vertical;
  }

  #driverReportForm button {
    grid-column:3;
    grid-row:2;
    margin:0;
    padding:9px 8px;
    font-size:12px;
  }

  #driverReportFeedback {
    margin:5px 0 0;
    min-height:0;
    font-size:12px;
  }
}


/* Logo und zentrierte Desktop-Position */
@media (min-width:700px) {
  .shell {
    padding-top:45px;
  }

  header {
    position:relative;
    min-height:85px;
    padding-right:125px;
  }

  header::after {
    content:"";
    position:absolute;
    right:0;
    top:-10px;
    width:105px;
    height:105px;
    background:url("logo-rund.png") center/contain no-repeat;
  }
}


/* Fahrer-Login wie Admin/Dispo – nur Desktop */
@media (min-width:700px) {

  .shell {
    width:min(1100px,calc(100% - 32px));
    padding-top:45px;
  }

  header {
    min-height:85px;
    padding:4px 125px 8px 0;
    margin-bottom:10px;
  }

  header::after {
    width:110px;
    height:110px;
    right:0;
    top:-10px;
  }

  /* Nur Anmeldeseite */
  .shell:has(#loginPanel:not(.hidden)) {
    min-height:100vh;
  }

  .shell:has(#loginPanel:not(.hidden)) header {
    border-bottom:none;
  }

  #loginPanel {
    max-width:500px;
    margin:135px auto 0;
    padding:12px 14px;
    border-radius:9px;
    box-shadow:none;
  }

  #loginPanel h1 {
    font-size:15px;
    margin:0 0 5px;
  }

  #loginPanel .muted {
    display:none;
  }

  #loginForm {
    display:flex;
    align-items:center;
    gap:5px;
  }

  #loginForm label {
    display:none;
  }

  #loginForm input {
    width:155px;
    min-width:0;
    padding:5px 8px;
    margin:0;
    font-size:11px;
  }

  #loginForm button {
    margin:0;
    padding:5px 8px;
    font-size:11px;
    white-space:nowrap;
  }

  #loginMessage {
    min-height:0;
    font-size:12px;
  }

  /* Nach Anmeldung ursprüngliche Breite */
  .shell:has(#accountPanel:not(.hidden)) {
    width:min(900px,calc(100% - 32px));
  }
}


/* Fahrer-Anmeldung an Admin/Dispo angleichen */
@media (min-width:700px) {

  .shell:has(#loginPanel:not(.hidden)) {
    width:min(1100px,calc(100% - 32px));
    max-width:1100px;
    padding-top:45px;
  }

  .shell:has(#loginPanel:not(.hidden)) header {
    position:relative;
    min-height:110px;
    padding:4px 0 8px;
    margin:0;
    border:0;
  }

  .shell:has(#loginPanel:not(.hidden)) header::after {
    width:110px;
    height:110px;
    top:-10px;
    right:-45px;
  }

  .shell:has(#loginPanel:not(.hidden)) .brand {
    font-size:20px;
    letter-spacing:normal;
  }

  .shell:has(#loginPanel:not(.hidden)) header p {
    font-size:12px;
    margin:3px 0;
  }

  #loginPanel:not(.hidden) {
    width:500px;
    max-width:100%;
    margin:100px auto 0;
    padding:12px 14px;
    border-radius:9px;
    box-shadow:none;
  }

  #loginPanel h1 {
    font-size:15px;
    margin:0 0 5px;
  }

  #loginForm {
    display:flex;
    gap:5px;
    align-items:center;
  }

  #loginForm input {
    width:155px;
    padding:5px 8px;
    font-size:11px;
  }

  #loginForm button {
    padding:5px 8px;
    font-size:11px;
    margin:0;
  }

  .shell:has(#loginPanel:not(.hidden)) footer {
    display:none;
  }
}


/* Schriftzug wie Admin und Dispo */
@media (min-width:700px) {
  .shell:has(#loginPanel:not(.hidden)) .brand {
    font-family:system-ui,-apple-system,'Segoe UI',sans-serif;
    font-size:20px;
    font-weight:700;
    letter-spacing:normal;
    color:#d7b45c;
  }

  .shell:has(#loginPanel:not(.hidden)) .brand span {
    color:inherit;
  }
}


/* Fahrer-Login: Position wie Admin und Dispo */
@media (min-width:700px) {

  .shell:has(#loginPanel:not(.hidden)) {
    width:min(1100px,calc(100% - 32px));
    padding-top:45px;
  }

  .shell:has(#loginPanel:not(.hidden)) .brand,
  .shell:has(#loginPanel:not(.hidden)) header p {
    position:relative;
    left:-75px;
  }

  .shell:has(#loginPanel:not(.hidden)) header::after {
    right:-45px;
  }

  #loginPanel:not(.hidden) {
    width:500px;
    margin:100px auto 0;
  }
}


/* Rundes Logo oberhalb der Trennlinie */
@media (min-width:700px) {
  header::after {
    top:-30px;
  }

  .shell:has(#loginPanel:not(.hidden)) header::after {
    top:-30px;
  }
}


/* Fahrer-Dashboard: Visitenkarte und einheitliche Schrift */
@media (min-width:700px) {
  #accountPanel .topline {
    display:grid;
    grid-template-columns:1fr 230px 1fr;
    align-items:center;
    gap:12px;
  }

  #dashboardVisitenkarte {
    width:230px;
    max-height:105px;
    object-fit:contain;
    justify-self:center;
  }

  #accountPanel #logout {
    justify-self:end;
  }

  #accountPanel {
    font-family:system-ui,-apple-system,'Segoe UI',sans-serif;
  }

  #accountPanel h1,
  #accountPanel h2 {
    font-weight:700;
  }
}

@media (max-width:699px) {
  #dashboardVisitenkarte {
    display:none;
  }
}


/* Gleicher Abstand oberhalb und unterhalb der Visitenkarte */
@media (min-width:700px) {
  #accountPanel .topline {
    margin-bottom:0;
  }

  #accountPanel #bookings {
    margin-top:0;
  }
}


/* Fahrtkarten und Meldungen 30px höher */
@media (min-width:700px) {
  #accountPanel #bookings {
    margin-top:-30px;
  }
}

/* ALEX_TRACKING_ADDON_20261026: only the new panel; existing CSS untouched. */
.cd-tracking-addon{max-width:310px;box-sizing:border-box;border:1px solid #6b542d;border-radius:6px;padding:7px;margin-top:8px;font-size:11px;line-height:1.4}
.cd-tracking-addon button{font-size:10px;padding:3px 7px;margin:5px 0 0;display:block}

.driver-chat-panel{margin-top:18px}.driver-chat-panel h2{font-size:14px}.driver-chat-panel p{font-size:11px}.driver-chat-feed{max-height:300px;min-height:80px;overflow:auto;padding:8px;border:1px solid #554a31;border-radius:6px;background:#111315;max-width:650px}.driver-chat-bubble{padding:8px;margin:0 0 8px;border:1px solid #3e454d;border-radius:6px;white-space:pre-wrap;overflow-wrap:anywhere;background:#24292e;font:12px/1.5 system-ui}.driver-chat-bubble.out{background:#1a3026;border-color:#4b755a;margin-left:15px}.driver-chat-bubble small{display:block;font-size:10px;color:#bac4be;margin:2px 0}#driverChatForm{display:block;max-width:650px}#driverChatForm label{display:block;font-size:11px;margin:10px 0 5px}#driverChatText{width:100%;box-sizing:border-box;height:70px;min-height:55px;resize:vertical;font-size:12px}#driverChatForm button{height:28px;min-width:110px;font-size:11px;padding:3px 8px;margin-top:8px;background:transparent;color:#d7b45c;border:1px solid #97743b;border-radius:6px}#driverChatState,#driverChatFeedback{font-size:11px}.driver-chat-hint{max-width:650px}

.driver-alert-tools{display:flex;align-items:flex-start;gap:8px;margin-left:auto;flex-shrink:0}.driver-alert-tools #driver-header-tools{margin-left:0}#driver-alert-refresh{width:92px;height:26px;min-height:26px;margin:0;padding:2px 5px;border:1px solid #bfa859;border-radius:6px;background:transparent;font:400 10px/14px system-ui}.driver-alert-panel{border:1px solid #66552e;border-radius:8px;padding:12px;margin-bottom:14px}.driver-alert-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.driver-alert-head h2{font-size:16px;margin:0}.driver-alert-panel button{font:400 12px/1.3 system-ui;margin:4px 8px 4px 0;padding:5px 9px;min-height:28px;background:transparent}.driver-alert-list{display:flex;flex-wrap:wrap;max-height:150px;overflow:auto;gap:4px}.driver-alert-detail{border:1px solid #8d773f;border-radius:6px;padding:10px;margin-top:8px}.driver-alert-detail h3{font-size:14px;margin:0 0 8px}.driver-alert-detail p{font-size:12px;overflow-wrap:anywhere}.driver-alert-error{color:#ffadb5}#driver-alert-refresh[data-tone=red],.driver-alert-panel [data-tone=red]{color:#ffadb5;border-color:#e97886}#driver-alert-refresh[data-tone=orange],.driver-alert-panel [data-tone=orange]{color:#ffd0a1;border-color:#d68b45}#driver-alert-refresh[data-tone=yellow],.driver-alert-panel [data-tone=yellow]{color:#f3df83;border-color:#bca03c}#driver-alert-refresh[data-tone=green]{color:#a0e4b6;border-color:#65b47e}.booking:focus{outline:2px solid #a0e4b6;outline-offset:3px}@media(max-width:600px){.topline{flex-wrap:wrap}.driver-alert-tools{margin-left:0}.driver-alert-list{display:block}.driver-alert-list button{display:block;text-align:left;width:100%;margin:4px 0}.driver-alert-panel{padding:9px}}

@media(min-width:700px){.driver-alert-panel{margin-bottom:44px}}

/* Compact equal-sized driver header controls, one row. */
.driver-alert-tools{display:grid;grid-template-columns:repeat(3,74px);gap:8px;align-items:start;width:max-content;max-width:100%}
.driver-alert-tools #driver-header-tools{display:contents!important}
.driver-alert-tools #driver-alert-refresh,.driver-alert-tools #driver-header-tools #logout,.driver-alert-tools #driver-header-tools a{display:inline-flex!important;align-items:center;justify-content:center;width:74px!important;height:22px!important;min-height:22px!important;padding:1px 3px!important;margin:0!important;box-sizing:border-box;font:400 10px/14px system-ui!important;border-radius:6px;background:transparent}

/* CD_DRIVER_VIEWPORT_FIT_20261029: leave the already fitted login and card styling intact. */
@media(min-width:1000px){
 .shell:has(#accountPanel:not(.hidden)){height:100dvh;min-height:0;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}
 .shell:has(#accountPanel:not(.hidden))>header,.shell:has(#accountPanel:not(.hidden))>footer{flex-shrink:0}
 .shell:has(#accountPanel:not(.hidden))>#accountPanel{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}
}

/* Driver sections: existing portal first, operations below, one page scroll. */
.shell:has(#accountPanel:not(.hidden)){height:auto;min-height:100dvh;display:block;overflow:visible}
.shell:has(#accountPanel:not(.hidden))>#accountPanel{height:auto;max-height:none;overflow:visible}
#accountPanel #bookings{margin-top:16px}
#accountPanel>#cd-betrieb{display:block;clear:both;width:100%;max-width:none;margin:32px 0 0;padding:20px;border:1px solid #4d422a;border-radius:12px;background:#19191e}
#cd-betrieb>.ops-head{position:static;min-height:0;padding:0 0 16px;margin:0 0 16px}
#cd-betrieb>.ops-head::after{content:none}
#cd-betrieb>.ops-view-content{max-height:none;overflow:visible}
@media(max-width:699px){#accountPanel>#cd-betrieb{padding:14px;margin-top:24px}}

/* Unified driver-to-dispatch area: original report form with expandable chat. */
#driverReports>#driverChat{max-width:none;margin:16px 0 0;padding:12px 0 0;border:0;border-top:1px solid #4d422a;border-radius:0;box-shadow:none;background:transparent}
#driverReports>#driverChat>summary{cursor:pointer;color:#e1c477;font-size:13px;font-weight:600;margin-bottom:10px}
#driverReports #driverChatForm,#driverReports .driver-chat-feed{max-width:650px}

/* One compact toolbox containing the existing three modules. */
#accountPanel>#driver-tools{width:100%;max-width:none;margin:14px 0;padding:12px 14px;border-radius:9px;box-shadow:none}
#driver-tools>h2{font-size:14px;margin:0 0 8px;color:#e1c477}
#driver-tools>nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
#driver-tools>nav>button{width:100px;min-height:28px;margin:0;padding:4px 8px;font:400 12px/18px system-ui;background:transparent}
#driver-tools>nav>button[aria-pressed=true]{background:#9e7a2e;color:#fff}
#driver-tools>#driverReports,#driver-tools>#driver-assistant-panel,#driver-tools>#driver-fleet-panel{display:block;width:100%;max-width:none;border:0;background:transparent;box-shadow:none;border-radius:0;margin:0;padding:0}
#driver-tools>[hidden]{display:none!important}
#driver-tools #driverReports>h2{display:none}
#driver-tools #driver-assistant-panel>div,#driver-tools #driver-fleet-panel>div{max-width:540px}
#driver-tools p{font-size:12px;line-height:1.4}

/* Focused driver workspace: stable navigation, a single scrollable active view. */
.shell:has(#accountPanel:not(.hidden)){height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding-bottom:10px}
.shell:has(#accountPanel:not(.hidden))>header{flex:0 0 auto}
.shell:has(#accountPanel:not(.hidden))>#accountPanel{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden}
#accountPanel>.topline{flex:0 0 auto}
#driver-main-nav{display:flex;flex:0 0 auto;gap:8px;padding:10px 0;border-bottom:1px solid #51472d;margin-bottom:10px}
#driver-main-nav>button{margin:0;padding:8px 12px;min-height:38px;background:transparent;color:#e1c477;font:500 13px/18px system-ui}
#driver-main-nav>button[aria-pressed=true]{background:#9e7a2e;color:white}
#accountPanel>.driver-workspace-view,#accountPanel>#driver-tools.driver-workspace-view,#accountPanel>#cd-betrieb.driver-workspace-view{flex:1 1 auto;min-height:0;height:auto;max-height:none;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;margin:0;width:100%}
#accountPanel>.driver-view-hidden{display:none!important}
#driver-rides-view #bookings{margin:0;padding-bottom:16px}
#driver-rides-view #accountMessage:empty{display:none}
#driver-rides-view .driver-alert-panel{margin:0 0 12px}
#accountPanel>#cd-betrieb{padding:14px}
#accountPanel>#cd-betrieb h1{font-size:21px}
.shell:has(#accountPanel:not(.hidden))>footer{flex:0 0 auto;margin-top:8px;font-size:10px}
@media(max-width:699px){
 .shell:has(#accountPanel:not(.hidden)){width:calc(100% - 20px);padding-top:10px;padding-bottom:env(safe-area-inset-bottom,0px)}
 .shell:has(#accountPanel:not(.hidden))>header{padding:4px 0 8px;margin-bottom:8px}
 .shell:has(#accountPanel:not(.hidden))>header .brand{font-size:18px}
 .shell:has(#accountPanel:not(.hidden))>header p{margin:2px 0;font-size:11px}
 #accountPanel>.topline{gap:6px}
 #accountPanel>.topline h1{font-size:18px}
 #accountPanel>.topline .muted{font-size:11px;margin:3px 0}
 #driver-main-nav{gap:4px;padding:6px 0}
 #driver-main-nav>button{flex:1;min-width:0;padding:7px 3px;min-height:42px;font-size:11px;line-height:14px}
 #driver-rides-view .booking{padding:12px}
}

.driver-ride-filters{display:flex;flex-wrap:wrap;gap:8px;position:sticky;top:0;z-index:2;background:#141417;padding:8px 0}
.driver-ride-filters button{margin:0;min-height:36px;padding:6px 12px;font:500 12px/18px system-ui;background:transparent;color:#e1c477}
.driver-ride-filters button[aria-pressed=true]{background:#9e7a2e;color:#fff}

/* Compact driver workspace, scoped to the signed-in portal. */
.shell:has(#accountPanel:not(.hidden)){padding-top:18px}
.shell:has(#accountPanel:not(.hidden))>header{min-height:54px;padding:0 80px 8px 0;margin-bottom:8px}
.shell:has(#accountPanel:not(.hidden))>header::after{width:64px;height:64px;top:-12px;right:0}
.shell:has(#accountPanel:not(.hidden))>header .brand{font-size:21px}
.shell:has(#accountPanel:not(.hidden))>header p{font-size:11px;margin:2px 0}
#accountPanel>.topline{grid-template-columns:1fr 140px 1fr;min-height:52px}
#accountPanel>.topline h1{font-size:17px}
#accountPanel>.topline .muted{font-size:11px;margin:2px 0}
#accountPanel #dashboardVisitenkarte{width:140px;max-height:52px}
#driver-main-nav{padding:6px 0;gap:6px;margin-bottom:7px}
#driver-main-nav>button{min-height:29px;padding:4px 10px;font-size:12px;line-height:18px}
#accountPanel>#cd-betrieb{padding:10px 12px;font-size:12px;line-height:1.4}
#cd-betrieb>.ops-head{padding:0 0 8px;margin:0 0 8px}
#cd-betrieb>.ops-head p{display:none}
#accountPanel>#cd-betrieb h1{font-size:17px;margin:2px 0}
#cd-betrieb h2{font-size:16px;margin:0 0 7px}
#cd-betrieb h3{font-size:14px}
#cd-betrieb .ops-actions{gap:7px;margin:8px 0}
#cd-betrieb>.ops-actions{align-items:flex-end;margin:6px 0}
#cd-betrieb label{font-size:11px;margin:0;gap:4px}
#cd-betrieb button,#cd-betrieb input,#cd-betrieb select,#cd-betrieb textarea{min-height:30px;padding:5px 8px;font-size:12px;line-height:18px}
#cd-betrieb input[type=month]{width:150px}
#cd-betrieb .ops-nav{gap:6px;margin:10px 0}
#cd-betrieb .ops-nav>button{width:auto;flex:0 1 auto;min-height:29px;height:auto;max-width:100%;padding:4px 10px;font:400 12px/18px system-ui}
#cd-betrieb .ops-notice{min-height:0;margin:5px 0}
#cd-betrieb .ops-notice:empty{display:none}
#cd-betrieb .ops-stats{gap:8px;margin:10px 0}
#cd-betrieb .ops-stat{padding:9px 10px;font-size:11px}
#cd-betrieb .ops-stat strong{font-size:22px;line-height:1.2}
#cd-betrieb section{padding:12px;margin:10px 0;border-radius:8px}
#cd-betrieb p{margin:6px 0}
#cd-betrieb .ops-grid{gap:9px}
#cd-betrieb form{gap:9px}
#cd-betrieb textarea{min-height:60px}
#cd-betrieb th,#cd-betrieb td{padding:7px 8px;font-size:11px}
#cd-betrieb small{font-size:11px}
#cd-betrieb .ops-timer{font-size:20px}
#cd-betrieb details{padding:8px 0}
#cd-betrieb .ops-empty{padding:12px 0}
.driver-ride-filters{gap:6px;padding:5px 0}
.driver-ride-filters button{min-height:29px;padding:4px 9px;font-size:12px}
@media(min-width:700px) and (max-width:1023px){
 .shell:has(#accountPanel:not(.hidden)){width:calc(100% - 24px)}
 #accountPanel>.topline{grid-template-columns:1fr 100px 1fr}
 #accountPanel #dashboardVisitenkarte{width:100px;max-height:44px}
}
@media(max-width:699px){
 .shell:has(#accountPanel:not(.hidden)){padding-top:8px}
 .shell:has(#accountPanel:not(.hidden))>header{min-height:38px;padding:0 0 6px}
 .shell:has(#accountPanel:not(.hidden))>header::after{display:none}
 .shell:has(#accountPanel:not(.hidden))>header .brand{font-size:16px}
 #accountPanel>.topline{min-height:40px;display:flex;flex-wrap:wrap}
 #accountPanel>.topline h1{font-size:15px}
 #driver-main-nav>button{flex:1;min-height:38px;padding:5px 4px;font-size:11px;line-height:14px}
 #accountPanel>#cd-betrieb{padding:8px}
 #cd-betrieb .ops-nav>button{flex:1 1 calc(50% - 6px);min-height:36px;font-size:11px;padding:5px 6px}
 #cd-betrieb .ops-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
 #cd-betrieb .ops-stat{display:block;padding:7px 6px;font-size:10px;overflow-wrap:anywhere}
 #cd-betrieb .ops-stat strong{font-size:18px;margin-top:4px}
 #cd-betrieb .ops-grid{grid-template-columns:1fr}
 #cd-betrieb .ops-actions button{flex:0 1 auto;min-height:36px}
 #cd-betrieb section{padding:10px}
}
@media(pointer:coarse){
 #driver-main-nav>button,#driver-tools>nav>button,.driver-ride-filters button,#cd-betrieb button{min-height:40px;height:auto}
}

/* Match the existing 22px / 10px WhatsApp and logout controls. */
#driver-main-nav>button,
.driver-ride-filters button,
#driver-tools>nav>button,
#cd-betrieb button,
#driverReportForm button,
#driverChatForm button,
#driver-assistant-panel form>button,
#driver-assistant-panel .da-shortcuts>button,
#driver-fleet-panel button,
.booking-actions button,
.trip-tools button,
.booking-details details button{
 height:22px!important;min-height:22px!important;
 padding:1px 3px!important;font:400 10px/14px system-ui!important;
 border-radius:6px;box-sizing:border-box;
}
#driver-main-nav>button,.driver-ride-filters button,
#driver-tools>nav>button,#cd-betrieb .ops-nav>button{
 width:auto;flex:0 1 auto;max-width:100%;white-space:nowrap;
 padding-left:8px!important;padding-right:8px!important;
}
#driverReportForm button,#driverChatForm button,
#driver-assistant-panel form>button,#driver-assistant-panel .da-shortcuts>button,
#driver-fleet-panel button,.booking-actions button:not(.trip-traffic-light){
 width:74px!important;max-width:74px!important;
}
#driver-main-nav{padding:5px 0;gap:6px}
.driver-ride-filters{padding:4px 0;gap:6px}
#cd-betrieb .ops-nav{gap:6px}
#accountPanel button svg,#accountPanel button img{max-width:14px;max-height:14px;object-fit:contain}

/* Compact, content-sized driver tool card with consistent control dimensions. */
#accountPanel>#driver-tools.driver-workspace-view{
 flex:0 1 auto;align-self:flex-start;width:min(420px,100%);max-width:100%;
 height:auto;max-height:100%;min-height:0;padding:12px 14px;
 scrollbar-gutter:auto;overflow-y:auto;
}
#driver-tools>#driverReports,#driver-tools>#driver-assistant-panel,#driver-tools>#driver-fleet-panel{width:100%;max-width:100%}
#driver-tools #driverReports>p,#driver-tools #driverReportForm,
#driver-tools #driver-assistant-panel>div,#driver-tools #driver-assistant-panel form,
#driver-tools #driver-fleet-panel>div,#driver-tools #driver-fleet-panel p{
 width:100%;max-width:100%;
}
#driver-tools #driverReportForm select,#driver-tools #driverReportForm textarea,
#driver-tools #driverChatForm,#driver-tools #driverChatText,#driver-tools .driver-chat-feed{
 width:100%!important;max-width:100%!important;
}
#accountPanel #driver-tools>nav>button,
#accountPanel #driver-tools button,
#accountPanel #driver-main-nav>button{
 height:22px!important;min-height:22px!important;padding:1px 3px!important;
 font:400 10px/14px system-ui!important;box-sizing:border-box;border-radius:6px;
}
#accountPanel #driver-tools>nav>button{
 width:74px!important;max-width:74px!important;flex:0 0 74px;
}
#driver-tools>nav{gap:8px;margin-bottom:8px}
#driver-tools #driverChat{width:100%;max-width:100%;margin-top:10px;padding-top:9px}
#driver-tools #driverChatForm button{width:auto!important;max-width:100%!important;padding:1px 7px!important}
#driver-tools #driverChat>summary{font-size:11px}
#driver-tools p,#driver-tools label{font-size:11px;line-height:1.4}
#driver-tools select,#driver-tools textarea{font-size:11px}
@media(max-width:450px){#accountPanel>#driver-tools.driver-workspace-view{width:100%;padding:10px}}

/* Keep the existing round brand logo visible on phone and tablet. */
@media(max-width:699px){
 .shell:has(#accountPanel:not(.hidden))>header{position:relative;min-height:48px;padding-right:60px}
 .shell:has(#accountPanel:not(.hidden))>header::after{content:"";display:block;position:absolute;right:0;top:-2px;width:46px;height:46px;background:url("logo-rund.png") center/contain no-repeat}
}

/* Phone ride cards use the same compact information hierarchy as desktop. */
@media(max-width:699px){
 #driver-rides-view .booking{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:8px;padding:9px;border-radius:9px;align-items:start}
 #driver-rides-view .booking-details,#driver-rides-view .booking-actions{min-width:0}
 #driver-rides-view .booking h2{font-size:13px;margin:0 0 5px}
 #driver-rides-view .booking p{font-size:11px;line-height:1.35;margin:3px 0;overflow-wrap:anywhere}
 #driver-rides-view .booking small{font-size:10px;line-height:1.35}
 #driver-rides-view .driver-passenger-needs>strong{display:block;font-size:11px;line-height:1.35;margin-top:5px}
 #driver-rides-view .booking summary{font-size:11px;line-height:1.4}
 #driver-rides-view .booking-actions{display:flex;flex-direction:column;gap:5px}
 #driver-rides-view .booking-actions p,#driver-rides-view .booking-actions label{font-size:10px;line-height:1.35;margin:2px 0}
 #driver-rides-view .booking-actions select{width:100%;max-width:100%;min-width:0;box-sizing:border-box;font-size:10px;padding:3px}
 #driver-rides-view .trip-traffic-light{width:100%!important;max-width:140px!important;white-space:normal!important;height:auto!important;min-height:22px!important}
 #driver-rides-view .cd-tracking-addon{width:100%;max-width:100%;padding:5px;margin-top:6px}
 #driver-rides-view .cd-tracking-addon summary{font-size:10px}
 #driver-rides-view .booking-details details input,#driver-rides-view .booking-details details textarea,#driver-rides-view .booking-details details select{max-width:100%;min-width:0;box-sizing:border-box;font-size:11px}
 #driver-rides-view .cards{gap:8px}
 #accountPanel>.topline{margin-bottom:0}
}
@media(max-width:359px){
 #driver-rides-view .booking{grid-template-columns:minmax(0,1fr)}
}

/* Show the existing business card alongside the mobile driver heading. */
@media(max-width:699px){
 #accountPanel>.topline{display:grid;grid-template-columns:minmax(0,1fr) 94px;align-items:center;gap:6px 10px}
 #accountPanel #dashboardVisitenkarte{display:block;width:94px;max-width:100%;height:46px;max-height:46px;object-fit:contain;justify-self:end}
 #accountPanel>.topline>.driver-alert-tools,#accountPanel>.topline>#driver-header-tools{grid-column:1/-1;justify-self:end;margin:0}
}

/* Mobile only: actions top-right, business card centered below the heading. */
@media(max-width:699px){
 #accountPanel>.topline{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:5px 6px}
 #accountPanel>.topline>div:first-child{grid-column:1;grid-row:1;min-width:0}
 #accountPanel>.topline>.driver-alert-tools,#accountPanel>.topline>#driver-header-tools{grid-column:2;grid-row:1;justify-self:end;align-self:start;margin:0}
 #accountPanel>.topline>.driver-alert-tools{grid-template-columns:repeat(3,54px);gap:4px}
 #accountPanel .driver-alert-tools #driver-alert-refresh,
 #accountPanel .driver-alert-tools #driver-header-tools #logout,
 #accountPanel .driver-alert-tools #driver-header-tools a{width:54px!important;max-width:54px!important;font:400 8px/12px system-ui!important;padding:1px!important;height:22px!important;min-height:22px!important}
 #accountPanel #dashboardVisitenkarte{grid-column:1/-1;grid-row:2;justify-self:center;display:block;width:106px;height:50px;max-height:50px;object-fit:contain;margin:0}
}

/* Explicitly approved mobile business-card centering and equal vertical spacing. */
@media(max-width:699px){
 #accountPanel>.topline{row-gap:0}
 #accountPanel #dashboardVisitenkarte{justify-self:center;align-self:center;margin:4px auto}
 #accountPanel>#driver-main-nav{padding-top:0}
}

/* Equal actual gaps between upper action buttons, card, and lower navigation. */
@media(max-width:699px){
 #accountPanel>.topline{grid-template-rows:22px 50px;row-gap:4px;min-height:0;margin-bottom:4px}
 #accountPanel>.topline>div:first-child{height:22px;overflow:visible;z-index:1}
 #accountPanel>.topline>div:first-child h1{font-size:13px;line-height:18px;margin:0}
 #accountPanel>.topline>div:first-child .muted{font-size:10px;line-height:13px;margin:2px 0 0;max-width:125px}
 #accountPanel #dashboardVisitenkarte{grid-row:2;margin:0 auto;align-self:center;justify-self:center;width:106px;height:50px;max-height:50px}
 #accountPanel>#driver-main-nav{padding-top:0;margin-top:0}
}

/* Mobile card slightly larger; prevent field-focus enlargement on iOS. */
@media(max-width:699px){
 html{width:100%;max-width:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}
 body{width:100%;max-width:100%;margin:0;overflow-x:clip}
 .shell:has(#accountPanel:not(.hidden)){width:calc(100% - 20px);max-width:100%;box-sizing:border-box}
 #accountPanel{min-width:0;max-width:100%}
 #accountPanel>.topline{grid-template-rows:22px 50px;row-gap:8px;margin-bottom:8px}
 #accountPanel #dashboardVisitenkarte{width:106px;height:50px;max-height:50px}
 #accountPanel input,#accountPanel select,#accountPanel textarea,
 #driver-rides-view .booking-actions select,
 #driver-rides-view .booking-details details input,
 #driver-rides-view .booking-details details textarea,
 #driver-rides-view .booking-details details select,
 #driver-tools select,#driver-tools textarea,
 #cd-betrieb input,#cd-betrieb select,#cd-betrieb textarea{font-size:16px!important;max-width:100%;min-width:0}
}

}

/* User-approved ride disclosure only; existing typography and controls retained. */
#driver-rides-view .booking.driver-trip-card{display:block}
.driver-trip-summary{display:block;cursor:pointer;list-style:none}
.driver-trip-summary::-webkit-details-marker{display:none}
.driver-trip-summary:focus-visible{outline:2px solid #e1c477;outline-offset:3px}
.driver-trip-summary>small{display:block;margin-top:6px;font-size:10px}
.driver-trip-summary::after{content:'▾';float:right;color:#e1c477}
.driver-trip-disclosure[open]>.driver-trip-summary::after{content:'▴'}
.driver-trip-expanded{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,38%);gap:12px;margin-top:10px}
.driver-trip-disclosure:not([open])>.driver-trip-expanded{display:none}
@media(max-width:699px){.driver-trip-expanded{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:8px}}
@media(max-width:359px){.driver-trip-expanded{grid-template-columns:minmax(0,1fr)}}

/* Approved slight enlargement for non-touch PCs only. */
@media(min-width:1000px) and (hover:hover) and (pointer:fine){
 html.driver-pc-size .shell:has(#accountPanel:not(.hidden)){width:min(1040px,calc(100% - 40px))}
 html.driver-pc-size #driver-rides-view .booking p{font-size:13px;line-height:1.4}
 html.driver-pc-size #driver-rides-view .booking h2{font-size:16px}
 html.driver-pc-size #driver-rides-view .booking small{font-size:12px}
 html.driver-pc-size #driver-rides-view .booking summary{font-size:13px}
 html.driver-pc-size #driver-rides-view .booking-actions p{font-size:12px}
 html.driver-pc-size #driver-rides-view .booking-actions select{font-size:12px;padding:5px}
 html.driver-pc-size #accountPanel>.topline h1{font-size:19px}
 html.driver-pc-size #accountPanel>.topline .muted{font-size:12px}
 html.driver-pc-size #accountPanel #driver-main-nav>button,
 html.driver-pc-size #accountPanel .driver-ride-filters button{font-size:11px!important;min-height:25px!important;height:25px!important;padding:3px 8px!important}
 html.driver-pc-size #accountPanel>#cd-betrieb{font-size:13px}
}

/* Explicitly approved PC header enlargement, ending at the main navigation line. */
@media(min-width:1000px) and (hover:hover) and (pointer:fine){
 html.driver-pc-size .shell:has(#accountPanel:not(.hidden))>header{min-height:72px;padding:0 100px 12px 0;margin-bottom:12px}
 html.driver-pc-size .shell:has(#accountPanel:not(.hidden))>header .brand{font-size:27px}
 html.driver-pc-size .shell:has(#accountPanel:not(.hidden))>header p{font-size:13px;margin:4px 0}
 html.driver-pc-size .shell:has(#accountPanel:not(.hidden))>header::after{width:82px;height:82px;top:-10px}
 html.driver-pc-size #accountPanel>.topline{min-height:70px;grid-template-columns:1fr 180px 1fr;gap:14px}
 html.driver-pc-size #accountPanel>.topline h1{font-size:22px}
 html.driver-pc-size #accountPanel>.topline .muted{font-size:13px;margin:4px 0}
 html.driver-pc-size #accountPanel #dashboardVisitenkarte{width:180px;height:68px;max-height:68px}
 html.driver-pc-size #accountPanel .driver-alert-tools{grid-template-columns:repeat(3,86px);gap:8px}
 html.driver-pc-size #accountPanel .driver-alert-tools #driver-alert-refresh,
 html.driver-pc-size #accountPanel .driver-alert-tools #driver-header-tools #logout,
 html.driver-pc-size #accountPanel .driver-alert-tools #driver-header-tools a{width:86px!important;height:28px!important;min-height:28px!important;font:400 11px/16px system-ui!important;padding:4px!important}
 html.driver-pc-size #accountPanel>#driver-main-nav{gap:8px;padding:9px 0;margin-bottom:10px}
 html.driver-pc-size #accountPanel #driver-main-nav>button{height:30px!important;min-height:30px!important;font:400 12px/18px system-ui!important;padding:5px 10px!important}
}

/* Approved PC business-card centering across the whole band between rules. */
@media(min-width:1000px) and (hover:hover) and (pointer:fine){
 html.driver-pc-size #accountPanel #dashboardVisitenkarte{transform:translateY(18.5px) scale(1.5);transform-origin:center}
}
