/* TOURGANIQ System Design 1.2 / V58 — verbindliche Endschicht */

@font-face {
  font-family: "Inter";
  src: url("./fonts/Inter-Regular.woff2?v=58") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("./fonts/Inter-Medium.woff2?v=58") format("woff2");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("./fonts/Inter-SemiBold.woff2?v=58") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("./fonts/Inter-Bold.woff2?v=58") format("woff2");
  font-style: normal;
  font-weight: 700 900;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("./fonts/Inter-Italic.woff2?v=58") format("woff2");
  font-style: italic;
  font-weight: 400;
  font-display: swap;
}

:root {
  --font-ui: "Inter", Arial, sans-serif;
  --accent: #159447;
  --accent-strong: #0d7f3b;
  --primary: #159447;
  --primary-strong: #0d7f3b;
  --dashboard-accent: #159447;
  --ink: #151b26;
  --ink-soft: #465266;
  --ink-muted: #6a7485;
  --muted: #6a7485;
  --line: #dfe4eb;
  --line-strong: #cbd3de;
  --line-soft: #edf0f4;
  --panel: #fff;
  --panel-soft: #f7f8fa;
  --panel-strong: #f3f5f7;
  --bg: #f7f8fa;
  --radius-sm: 5px;
  --radius-md: 7px;
  --radius-lg: 8px;
  --radius-xl: 9px;
  --wa-green: #159447;
  --wa-green-dark: #0d7f3b;
  --wa-ink: #151b26;
  --wa-muted: #6a7485;
  --wa-line: #dfe4eb;
  --wa-soft: #f7f8fa;
  --fibu-accent: #159447;
  --fibu-ink: #151b26;
  --fibu-muted: #6a7485;
  --fibu-line: #dfe4eb;
  --fibu-soft-line: #edf0f4;
  --fibu-bg: #f7f8fa;
}

html,
body,
body *:not(svg):not(path):not(circle):not(rect):not(line):not(polyline):not(polygon) {
  font-family: "Inter", Arial, sans-serif !important;
}

body {
  color: #354052;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: -.006em;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  font-synthesis: none;
}

body strong,
body b { font-weight: 600; }
body h1,
body h2,
body h3,
body h4 { font-weight: 700; }

/* Verbindlicher App-Rahmen */
body.has-app-shell { background: #f7f8fa !important; }
body.has-app-shell .app-topbar { height: 64px; min-height: 64px; background: #fff !important; border-bottom: 1px solid #dfe4eb !important; }
body.has-app-shell .app-brand { height: 64px; background: #142131 !important; }
body.has-app-shell .app-brand__logo { width: 198px !important; height: 42px; max-height: 42px; }
body.has-app-shell .app-page-context strong { color: #151b26; font-size: 15px; font-weight: 600; }
body.has-app-shell .app-nav.app-nav--dropdown { background: linear-gradient(180deg,#142131,#101b29) !important; }
body.has-app-shell .app-nav__link,
body.has-app-shell .app-nav__toggle { font-size: 12px !important; font-weight: 500 !important; }
body.has-app-shell .app-nav__sublink { font-size: 11px !important; font-weight: 450 !important; }
body.has-app-shell .app-nav__link.is-active,
body.has-app-shell .app-nav__dropdown.is-active > .app-nav__toggle { font-weight: 600 !important; }
body.has-app-shell .app-user__name { font-size: 11px; font-weight: 600; }
body.has-app-shell .app-user__role { font-size: 10px; }
body.has-app-shell .container { background: #f7f8fa; }

/* Einheitliche Seitentitel */
body.has-app-shell :is(
  .dashboard-hero,
  .vehicle-register-head,
  .revenue-hero,
  .settings-content__head,
  .users-access-hero,
  .profile-hero,
  .notification-page__head,
  .global-search-head,
  .license-page-head,
  .driver-pwa-hero,
  .fare-page-head,
  .billing-head,
  .event-head
) {
  border: 1px solid #dfe4eb !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: #151b26 !important;
  box-shadow: 0 2px 9px rgba(20,33,49,.035) !important;
}

body.has-app-shell :is(
  .dashboard-hero,
  .vehicle-register-head,
  .revenue-hero,
  .settings-content__head,
  .users-access-hero,
  .profile-hero,
  .notification-page__head,
  .global-search-head,
  .license-page-head,
  .driver-pwa-hero,
  .billing-head,
  .event-head
) h1,
body.has-app-shell :is(.settings-content__head,.global-search-head) h2 { color: #151b26 !important; font-size: 22px !important; line-height: 1.2; }

body.has-app-shell :is(
  .dashboard-hero,
  .vehicle-register-head,
  .revenue-hero,
  .settings-content__head,
  .users-access-hero,
  .profile-hero,
  .notification-page__head,
  .global-search-head,
  .license-page-head,
  .driver-pwa-hero,
  .billing-head,
  .event-head
) p { color: #6a7485 !important; font-size: 11.5px !important; }

body.has-app-shell .fare-page-head { padding: 18px 20px !important; }
body.has-app-shell .fare-page-head h1 { color: #151b26 !important; font-size: 22px !important; }
body.has-app-shell .fare-page-head p { color: #6a7485 !important; }

/* Karten und Abschnitte in allen Modulen */
body.has-app-shell :is(
  .card,
  .page-section,
  .details-card,
  .customer-subform,
  .customer-profile-card,
  .customer-trips-card,
  .customer-notes-card,
  .customer-documents-card,
  .customer-invoices-card,
  .customer-communication-card,
  .vehicle-register-panel,
  .vehicle-record-card,
  .event-panel,
  .event-form-panel,
  .structured-form-section,
  .fare-simple-section,
  .fare-result,
  .fare-offer,
  .report-kpi,
  .proto-block,
  .proto-card-dark,
  .settings-section-card,
  .settings-logo-panel,
  .license-panel,
  .tracking-card,
  .notification-item,
  .global-search-group,
  .driver-message-row,
  .driver-pwa-setup,
  .driver-trip-card,
  .request-route-box,
  .wa-panel,
  .wa-editor-card,
  .fibu-panel,
  .billing-export-card
) {
  border: 1px solid #dfe4eb !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: #354052 !important;
  box-shadow: 0 2px 9px rgba(20,33,49,.035) !important;
}

body.has-app-shell :is(
  .page-section__header,
  .details-card__header,
  .vehicle-register-panel__head,
  .vehicle-record-card > header,
  .event-form-panel__head,
  .structured-form-section__head,
  .fare-simple-section__head,
  .fare-result__head,
  .settings-section-card__head,
  .license-panel__head,
  .tracking-card__head,
  .wa-panel__header,
  .wa-editor-card > header,
  .fibu-panel__head
) {
  border-color: #edf0f4 !important;
  background: #fbfcfd !important;
  color: #151b26 !important;
}

body.has-app-shell :is(.page-section__title,.event-panel__title,.fare-simple-section__head h2,.wa-panel__header h2,.fibu-panel__head h2) {
  color: #151b26 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}

body.has-app-shell :is(.section-kicker,.settings-kicker,.fare-eyebrow,.license-eyebrow,.wa-panel__header span,.fibu-panel__head > div:first-child > span) {
  color: #159447 !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase;
}

/* Formulare – identisch in Stammdaten, Planung, Faktura und FiBu */
body :is(input,select,textarea,button) { font-family: "Inter", Arial, sans-serif !important; }
body.has-app-shell :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),
  select,
  textarea,
  .wa-search,
  .fibu-search,
  .customer-search__field,
  .vehicle-register-search,
  .masterdata-search
) {
  min-height: 40px !important;
  border: 1px solid #d8dee7 !important;
  border-radius: 5px !important;
  background: #fff !important;
  color: #283447 !important;
  font-size: 11.5px !important;
  font-weight: 400 !important;
  box-shadow: none !important;
}

body.has-app-shell :is(input,select,textarea):focus {
  border-color: #55ae74 !important;
  outline: 3px solid rgba(21,148,71,.11) !important;
  box-shadow: none !important;
}

body.has-app-shell :is(input,textarea)::placeholder { color: #98a2b1 !important; }
body.has-app-shell :is(label,legend,.form-field label,.settings-field label,.fare-field > label) {
  color: #485365 !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: .005em !important;
  text-transform: none !important;
}

body.has-app-shell :is(.form-helper-text,.settings-field small,.fare-policy-note,.customer-data-missing,.vehicle-data-missing) {
  color: #6a7485 !important;
  font-size: 9.5px !important;
}

body.has-app-shell input[type="checkbox"],
body.has-app-shell input[type="radio"] { accent-color: #159447; }

body.has-app-shell :is(.settings-toggle__control,.fare-check__box) { border-radius: 999px !important; }
body.has-app-shell .settings-toggle input:checked + .settings-toggle__control { background: #159447 !important; }

/* Buttons und Aktionen */
body.has-app-shell :is(
  .btn,
  .wa-button,
  .fare-submit,
  .fare-icon-button,
  .fare-text-button,
  .masterdata-action,
  .customer-row-icon,
  .trip-actions-toggle,
  .pdf-dropdown__summary,
  .chat-send-button
) {
  min-height: 36px;
  border-radius: 5px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

body.has-app-shell :is(.btn-primary,.wa-button--primary,.fare-submit,.chat-send-button) {
  border-color: #159447 !important;
  background: #159447 !important;
  color: #fff !important;
}
body.has-app-shell :is(.btn-primary,.wa-button--primary,.fare-submit,.chat-send-button):hover {
  border-color: #0d7f3b !important;
  background: #0d7f3b !important;
}
body.has-app-shell :is(.btn-ghost,.wa-button--secondary) { border-color: #d7dde5 !important; background: #fff !important; color: #344054 !important; }
body.has-app-shell :is(.btn-danger,.wa-button--danger,.masterdata-action--danger) { border-color: #efb1b1 !important; background: #fff !important; color: #d63838 !important; }

/* Tabellen und Listen */
body.has-app-shell :is(.table-wrapper,.wa-table-wrap,.vehicle-register-table-wrap,.customer-directory-wrap,.event-directory-wrap,.events-directory-wrap,.event-trips-overview-wrap) {
  overflow: auto;
  border: 1px solid #dfe4eb !important;
  border-radius: 7px !important;
  background: #fff !important;
  box-shadow: none !important;
}

body.has-app-shell :is(table,.table,.data-table,.wa-table,.fibu-table) { border-collapse: collapse !important; background: #fff !important; }
body.has-app-shell :is(table,.table,.data-table,.wa-table,.fibu-table) th {
  padding: 10px 12px !important;
  border-right: 0 !important;
  border-bottom: 1px solid #dfe4eb !important;
  background: #fafbfc !important;
  color: #667184 !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: .045em !important;
  text-transform: uppercase !important;
}
body.has-app-shell :is(table,.table,.data-table,.wa-table,.fibu-table) td {
  padding: 11px 12px !important;
  border-right: 0 !important;
  border-bottom: 1px solid #edf0f4 !important;
  color: #354052 !important;
  font-size: 10.5px !important;
  line-height: 1.4;
}
body.has-app-shell :is(table,.table,.data-table,.wa-table,.fibu-table) tbody tr:hover td { background: #fafdfb !important; }

body.has-app-shell :is(.masterdata-directory__head,.masterdata-directory__row,.vehicle-directory__head,.vehicle-directory__row) { border-color: #edf0f4 !important; }
body.has-app-shell :is(.masterdata-directory__head,.vehicle-directory__head) { background: #fafbfc !important; color: #667184 !important; font-size: 9px !important; }
body.has-app-shell :is(.masterdata-directory__row,.vehicle-directory__row) { min-height: 60px; background: #fff; }
body.has-app-shell :is(.masterdata-directory__row,.vehicle-directory__row):hover { background: #fafdfb !important; }

/* Badges, Zustände und Hinweise */
body.has-app-shell :is(.badge,.trip-status,.role-badge,.customer-status,.vehicle-state,.event-kpi-pill,.pickup-status,.wa-status,.license-state,.driver-network-state) {
  min-height: 24px;
  padding: 5px 8px;
  border-radius: 4px !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: 1.15;
  text-transform: none !important;
}
body.has-app-shell :is(.badge-success,.trip-status--success,.customer-status.is-active,.vehicle-state.is-active,.wa-status.is-paid) { border: 1px solid #acdcb9 !important; background: #eef9f1 !important; color: #147d3a !important; }
body.has-app-shell :is(.badge-info,.badge-ended,.trip-status--info) { border: 1px solid #b9d2f9 !important; background: #edf5ff !important; color: #216bd0 !important; }
body.has-app-shell :is(.badge-request,.trip-status--warning,.event-kpi-pill--warn) { border: 1px solid #f1c78e !important; background: #fff7e9 !important; color: #c96d09 !important; }
body.has-app-shell :is(.badge-danger,.trip-status--danger) { border: 1px solid #efb2b2 !important; background: #fff1f1 !important; color: #d53b3b !important; }
body.has-app-shell :is(.badge-neutral,.vehicle-state.is-inactive,.customer-status.is-inactive) { border: 1px solid #d6dce4 !important; background: #f3f5f7 !important; color: #697386 !important; }

body.has-app-shell :is(.flash,.flash-err,.wa-notice,.fare-alert,.license-config-warning,.tracking-privacy-note,.billing-export-notice) {
  border-radius: 5px !important;
  box-shadow: none !important;
  font-size: 10.5px !important;
}

/* Pop-ups, Akten, Dialoge und Dropdowns */
body.has-app-shell :is(
  .trip-detail-panel,
  .trip-form-panel,
  .route-panel,
  .customer-detail-panel,
  .vehicle-form-panel,
  .vehicle-record-panel,
  .wa-drawer,
  .fibu-drawer
) {
  top: 64px !important;
  bottom: 0 !important;
  border: 0 !important;
  border-left: 1px solid #dfe4eb !important;
  border-radius: 0 !important;
  background: #f7f8fa !important;
  box-shadow: -10px 0 32px rgba(20,33,49,.16) !important;
}

body.has-app-shell :is(
  .trip-detail-panel__head,
  .trip-form-panel__head,
  .route-panel__head,
  .customer-detail-panel__head,
  .vehicle-form-panel__head,
  .wa-drawer > header,
  .fibu-drawer > header
) {
  border-bottom: 1px solid #dfe4eb !important;
  background: #fff !important;
  color: #151b26 !important;
}

body.has-app-shell :is(.trip-detail-panel__head,.trip-form-panel__head,.customer-detail-panel__head,.vehicle-form-panel__head,.wa-drawer>header,.fibu-drawer>header) h2,
body.has-app-shell .trip-detail-panel__head h3 { color: #151b26 !important; font-size: 18px !important; }
body.has-app-shell :is(.trip-detail-panel__body,.trip-form-panel__body,.customer-detail-panel__body,.vehicle-form-panel__body,.wa-drawer__body,.fibu-drawer__body) { background: #f7f8fa !important; }

body.has-app-shell :is(.trip-actions-dropdown__menu,.pdf-dropdown__panel,.suggest-box,.wa-row-menu>div,.fibu-row-menu>div) {
  overflow: hidden;
  border: 1px solid #dfe4eb !important;
  border-radius: 6px !important;
  background: #fff !important;
  box-shadow: 0 12px 28px rgba(20,33,49,.14) !important;
}
body.has-app-shell :is(.trip-actions-dropdown__item,.pdf-dropdown__item,.wa-row-menu a,.fibu-row-menu a) { border-radius: 4px !important; color: #354052 !important; font-size: 10px !important; }
body.has-app-shell :is(.trip-actions-dropdown__item,.pdf-dropdown__item,.wa-row-menu a,.fibu-row-menu a):hover { background: #f0f8f2 !important; color: #0d7f3b !important; }

body.has-app-shell :is(dialog,.driver-pwa-dialog) { border: 1px solid #dfe4eb !important; border-radius: 8px !important; background: #fff !important; box-shadow: 0 24px 60px rgba(20,33,49,.2) !important; }

body.has-app-shell .reservation-trip-panel {
  top: 64px !important;
  bottom: 0 !important;
  border: 0 !important;
  border-left: 1px solid #dfe4eb !important;
  border-radius: 0 !important;
  background: #f7f8fa !important;
  box-shadow: -10px 0 32px rgba(20,33,49,.16) !important;
}
body.has-app-shell :is(.reservation-trip-panel__head,.reservation-panel-head,.reservation-link-manager__head) { border-color: #dfe4eb !important; background: #fff !important; color: #151b26 !important; }
body.has-app-shell :is(.reservation-trip-panel-title,.reservation-panel-head h3,.reservation-link-manager__head h3) { color: #151b26 !important; font-size: 15px !important; }
body.has-app-shell :is(.reservation-editor-panel,.reservation-preview-panel,.reservation-history-panel,.reservation-detail-panel,.reservation-link-manager,.reservation-route-card,.reservation-mail-preview,.reservation-toggle-card,.reservation-notice) { border: 1px solid #dfe4eb !important; border-radius: 6px !important; background: #fff !important; box-shadow: none !important; }
body.has-app-shell :is(.reservation-tabs,.reservation-context-bar,.reservation-trip-panel__context) { border-color: #dfe4eb !important; background: #fbfcfd !important; }
body.has-app-shell .reservation-tab { color: #566174 !important; font-size: 10px !important; }
body.has-app-shell .reservation-tab.is-active { border-color: #159447 !important; color: #0d7f3b !important; }
body.has-app-shell :is(.reservation-status,.reservation-link-state) { border-radius: 4px !important; font-size: 9px !important; font-weight: 600 !important; text-transform: none !important; }
body.has-app-shell :is(.reservation-document-preview,.reservation-mail-preview) { color: #354052 !important; font-family: "Inter",Arial,sans-serif !important; }
body.has-app-shell :is(.reservation-document-preview__label,.reservation-kicker) { color: #343434 !important; }

/* Dashboard */
body.page-dashboard .kpi-row { gap: 14px !important; border: 0 !important; background: transparent !important; }
body.page-dashboard .kpi-card { min-height: 104px; border: 1px solid #dfe4eb !important; border-radius: 7px !important; background: #fff !important; }
body.page-dashboard .kpi-card--primary { background: #fff !important; color: #354052 !important; }
body.page-dashboard .kpi-card--primary :is(.kpi-value,.kpi-label,.kpi-unit) { color: inherit !important; }
body.page-dashboard .kpi-icon { border: 0 !important; border-radius: 6px; background: #eef8ea; }
body.page-dashboard .dashboard-section:not(.dashboard-kpi-section) { overflow: hidden; padding: 0 !important; border: 1px solid #dfe4eb !important; border-radius: 7px !important; }
body.page-dashboard .next-trip-card { border-radius: 0 !important; }
body.page-dashboard .next-trip-card__date { border-radius: 5px !important; background: #142131 !important; }

/* Kunden- und Fahrzeugakten */
body.page-customers :is(.customer-kpi-strip,.customer-detail-summary,.customer-invoice-kpis),
body.page-vehicles :is(.vehicle-register-summary,.vehicle-record-kpis,.vehicle-deadline-grid) {
  overflow: hidden;
  border: 1px solid #dfe4eb !important;
  border-radius: 6px !important;
  background: #fff !important;
}
body.page-customers :is(.customer-kpi-strip,.customer-detail-summary,.customer-invoice-kpis) > *,
body.page-vehicles :is(.vehicle-register-summary,.vehicle-record-kpis,.vehicle-deadline-grid) > * { border-color: #edf0f4 !important; }
body.page-customers .customer-detail-panel { width: min(1120px,calc(100vw - 255px)) !important; }
body.page-customers .customer-record-nav { border-color: #dfe4eb !important; background: #fff !important; }
body.page-customers .customer-record-nav a { color: #566174; font-size: 10px; }
body.page-customers .customer-record-nav a.is-active { border-color: #159447; color: #0d7f3b; }

/* Veranstaltungen und Kalkulation */
body:is(.page-events,.page-event-view) :is(.event-kpi-card,.pickup-mini-kpi,.event-occupancy,.event-pickup-control,.pickup-point-card,.pickup-passenger-summary__item) { border: 1px solid #dfe4eb !important; border-radius: 6px !important; background: #fff !important; box-shadow: none !important; }
body.page-event-view :is(.pickup-planner,.pickup-selected-preview,.event-route-summary,.stopover-box) { border-color: #dfe4eb !important; border-radius: 6px !important; background: #fbfcfd !important; }
body.page-fahrt-kalkulieren :is(.fare-route-row,.fare-stop-row,.fare-ledger-row,.fare-result-route-details,.fare-policy-note) { border-color: #dfe4eb !important; border-radius: 5px !important; }
body.page-fahrt-kalkulieren .fare-result__price { color: #159447 !important; }

/* Protokolle und Berichte */
body:is(.page-driver-log-reports,.page-trip-log,.page-trip-log-view,.page-umsaetze) .report-kpi-grid { gap: 14px !important; border: 0 !important; }
body.page-driver-log-reports .report-kpi { min-height: 98px; padding: 16px; }
body.page-driver-log-reports .report-kpi__value { color: #151b26 !important; font-size: 19px !important; }
body.page-driver-log-reports .report-kpi__label { color: #6a7485 !important; font-size: 10px !important; }
body:is(.page-trip-log,.page-trip-log-view) :is(.signature-canvas,.payment-highlight,.trip-log-route-card,.proto-img) { border: 1px solid #dfe4eb !important; border-radius: 6px !important; background: #fff !important; }
body.page-trip-log .proto-card-dark,
body.page-trip-log-view .proto-card-dark { background: #fff !important; color: #354052 !important; }
body:is(.page-trip-log,.page-trip-log-view) .proto-card-dark__title { color: #151b26 !important; }

/* Einstellungen, Suche, Lizenz und Nachrichten */
body:is(.page-settings,.page-users,.page-license) .settings-sidebar { border: 1px solid #dfe4eb !important; border-radius: 7px !important; background: #fff !important; }
body:is(.page-settings,.page-users,.page-license) .settings-nav-item { border-color: #edf0f4 !important; color: #4c586a !important; }
body:is(.page-settings,.page-users,.page-license) .settings-nav-item.is-active { border-color: #159447 !important; background: #f0f8f2 !important; color: #0d7f3b !important; }
body.page-license :is(.license-summary-grid,.license-content-grid,.license-feature-grid,.license-limit-strip) > * { border-color: #dfe4eb !important; border-radius: 6px !important; background: #fff !important; }
body.page-search .global-search-form { border: 1px solid #dfe4eb !important; border-radius: 6px !important; background: #fff !important; }
body.page-driver-messages .driver-message-list { gap: 10px; }

/* Faktura und Buchhaltung */
body.has-app-shell .wa-toolbar,
body.has-app-shell .fibu-toolbar { border-color: #dfe4eb !important; background: #fff !important; }
body.has-app-shell :is(.wa-kpis,.fibu-kpi-grid) { gap: 14px !important; }
body.has-app-shell :is(.wa-kpis article,.fibu-kpi-grid article) { border: 1px solid #dfe4eb !important; border-radius: 7px !important; background: #fff !important; box-shadow: none !important; }
body.has-app-shell :is(.wa-kpis article,.fibu-kpi-grid article)::before { display: none !important; }
body.has-app-shell :is(.wa-kpis article,.fibu-kpi-grid article) > span { color: #6a7485 !important; font-size: 10px !important; font-weight: 500 !important; letter-spacing: 0 !important; text-transform: none !important; }
body.has-app-shell :is(.wa-kpis article,.fibu-kpi-grid article) strong { color: #151b26 !important; font-size: 19px !important; }
body.has-app-shell :is(.wa-kpis article,.fibu-kpi-grid article) small { color: #6a7485 !important; font-size: 9.5px !important; }
body.has-app-shell :is(.wa-filterbar,.fibu-list-tools,.fibu-period-bar) { border-color: #dfe4eb !important; background: #fbfcfd !important; }
body.has-app-shell :is(.wa-profit-strip,.fibu-summary-strip,.fibu-status-grid) { border-color: #dfe4eb !important; border-radius: 6px !important; background: #fff !important; }

/* Fahrer-App, Kundenportal und öffentliche Bereiche */
body.page-driver-app .driver-trip-date { border-radius: 5px !important; background: #142131 !important; }
body.page-driver-app .driver-trip-card.is-priority { border-color: #9bd0ac !important; box-shadow: inset 3px 0 0 #159447 !important; }
body.page-driver-app .driver-trip-progress > * { border-color: #159447 !important; }
body.page-trip-request :is(.request-stop-row,.request-stop-empty,.portal-terms) { border-color: #dfe4eb !important; border-radius: 6px !important; background: #fbfcfd !important; }

body.has-auth-shell,
body.chat-page,
body.tq-public-page { font-family: "Inter", Arial, sans-serif !important; }
body.has-auth-shell *:not(svg):not(path),
body.chat-page *:not(svg):not(path),
body.tq-public-page *:not(svg):not(path) { font-family: "Inter", Arial, sans-serif !important; }
body.has-auth-shell .login-box,
body.chat-page .chat-layout,
body.tq-public-page :is(.header,.card) { border: 1px solid #dfe4eb !important; border-radius: 8px !important; background: #fff !important; }
body.has-auth-shell .login-form input,
body.chat-page .chat-input-field { min-height: 43px; border: 1px solid #d8dee7 !important; border-radius: 5px !important; font-size: 12px !important; }
body.has-auth-shell .btn-login,
body.chat-page .chat-send-button { border-radius: 5px !important; background: #159447 !important; }

/* Responsive: gleiche Gestaltung ohne abgeschnittene Funktionen */
@media (max-width: 980px) {
  body.has-app-shell :is(.trip-detail-panel,.trip-form-panel,.route-panel,.customer-detail-panel,.vehicle-form-panel,.vehicle-record-panel,.wa-drawer,.fibu-drawer) {
    top: 0 !important;
    width: min(100vw,760px) !important;
    max-width: 100vw !important;
  }
  body.has-app-shell :is(.trip-detail-panel-backdrop,.trip-form-backdrop,.route-panel-backdrop,.customer-detail-backdrop,.vehicle-form-backdrop,.wa-drawer-backdrop,.fibu-drawer-backdrop) { inset: 0 !important; }
  body.page-customers .customer-detail-panel { width: min(100vw,760px) !important; }
  body.has-app-shell .reservation-trip-panel { top: 0 !important; width: min(100vw,760px) !important; max-width: 100vw !important; }
  body.has-app-shell .reservation-trip-panel-backdrop { inset: 0 !important; }
}

@media (max-width: 760px) {
  body.has-app-shell .container { padding: 16px 12px 84px !important; }
  body.has-app-shell :is(.dashboard-hero,.vehicle-register-head,.revenue-hero,.settings-content__head,.users-access-hero,.profile-hero,.notification-page__head,.global-search-head,.license-page-head,.driver-pwa-hero,.fare-page-head,.billing-head,.event-head) { padding: 16px !important; }
  body.has-app-shell :is(.kpi-row,.revenue-kpis,.wa-kpis,.fibu-kpi-grid,.event-kpi-grid,.report-kpi-grid,.tracking-grid) { grid-template-columns: 1fr !important; }
  body.has-app-shell :is(.table-wrapper,.wa-table-wrap,.vehicle-register-table-wrap,.customer-directory-wrap,.event-directory-wrap,.event-trips-overview-wrap) { border-radius: 6px !important; }
  body.has-app-shell .settings-field-grid { grid-template-columns: 1fr !important; }
  body.has-app-shell .settings-field--wide { grid-column: auto !important; }
  body.has-app-shell .settings-section-card--footer .settings-field-grid { grid-template-columns: 1fr !important; }
  body.has-app-shell :is(.trip-detail-panel,.trip-form-panel,.route-panel,.customer-detail-panel,.vehicle-form-panel,.vehicle-record-panel,.wa-drawer,.fibu-drawer) { width: 100vw !important; }
  body.has-app-shell .reservation-trip-panel { width: 100vw !important; }
}

@media print {
  body,
  body *:not(svg):not(path) { font-family: "Inter", Arial, sans-serif !important; }
  body.has-app-shell :is(.app-topbar,.app-nav,.app-footer) { display: none !important; }
}
