.driver-theme {
  --ground: #111111;
  --sheet: #1c1c1e;
  --raised: #29292c;
  --ink: #f5f5f6;
  --quiet: #b4b4b9;
  --faint: #9e9ea6;
  --line: #353538;
  --blue: #ffdc31;
  --blue-hover: #ffe466;
  --radius: 20px;
  background: var(--ground);
}
.driver-theme :is(a, button, input, select):focus-visible {
  outline-color: #ffe466;
}
.driver-theme .button {
  min-height: 48px;
  border-radius: 16px;
  font-size: 15px;
}
.driver-theme .button-primary {
  color: #181712;
}
.driver-theme .demo-actions .button {
  flex: 0 1 auto;
  min-height: 38px;
  padding: 4px 11px;
  border-radius: 11px;
  font-size: 13px;
  gap: 6px;
}
.driver-theme .demo-scan .icon {
  width: 14px;
  height: 14px;
}
@media (pointer: coarse) {
  .driver-theme .demo-actions .button { min-height: 44px; }
}
.driver-theme .region-panel-floating {
  background: #202022;
  border-color: #454549;
  border-radius: 18px;
}
.driver-theme .region-panel-floating :is(.region-modes, .region-search input, .region-territory-trigger, .region-territory-options) {
  background: #171719;
  border-color: #515154;
}
.driver-theme .region-panel-floating :is(.region-modes button[aria-pressed="true"], .region-list button:hover, .region-list button[aria-current="true"], .region-territory-options button[aria-pressed="true"], .region-territory-options button:hover) {
  background: #393939;
}
.driver-theme .region-panel-floating :is(.region-check, .region-pin) {
  color: #f3d356;
}
.driver-theme .button-secondary {
  border-color: #414145;
}
.driver-theme .button-secondary:hover {
  background: #2d2d30;
  border-color: #5e5e64;
}
.driver-theme .brand-mark,
.driver-theme .wordmark-dot {
  color: var(--blue);
}
.landing.driver-theme .header-register {
  color: #181712;
  background: var(--blue);
  border-color: var(--blue);
}
.landing.driver-theme .header-register:hover {
  background: var(--blue-hover);
}
.landing.driver-theme .header-webapp {
  background: #242426;
  border-color: #48484a;
}
.landing.driver-theme .header-webapp:hover {
  background: #333335;
  border-color: #666668;
}
.landing.driver-theme .header-webapp .icon {
  color: var(--blue);
}
.webapp.driver-theme .app-header {
  min-height: 64px;
}
.webapp.driver-theme .app-title h1 {
  font-size: clamp(20px, 3.1vw, 30px);
  line-height: 1.15;
}
.webapp.driver-theme .app-actions .region-trigger,
.webapp.driver-theme :is(.app-tariff-gear, .map-controls button) {
  background: #252527;
  border-color: #4b4b50;
  color: #f5f5f6;
  border-radius: 14px;
}
.webapp.driver-theme :is(.app-tariff-gear, .map-controls button, .region-trigger):is(:hover,[aria-expanded="true"]) {
  background: #373734;
  border-color: #777568;
}
.webapp.driver-theme :is(.app-tariff-menu, .region-panel, .app-driver-card, .app-location-edit) {
  background: #202022;
  border-color: #454549;
  border-radius: 18px;
}
.webapp.driver-theme :is(.app-tariff-menu-heading, .app-tariff-menu-footer) {
  border-color: var(--line);
}
.webapp.driver-theme :is(.app-filters label:hover, .region-list button:hover, .region-list button[aria-current="true"]) {
  background: #333335;
}
.webapp.driver-theme .app-filters input {
  accent-color: var(--blue);
}
.webapp.driver-theme :is(.app-tariff-menu-heading span, .app-map-note, .app-point) {
  color: var(--quiet);
}
.webapp.driver-theme :is(.region-trigger .icon, .app-drawer-toggle .icon, .region-check) {
  color: #f3d356;
}
.webapp.driver-theme .app-actions [data-locate] {
  background: var(--blue);
  border-color: var(--blue);
  color: #151515;
}
.webapp.driver-theme .app-actions [data-locate]:hover {
  background: var(--blue-hover);
}
.webapp.driver-theme .app-point-marker {
  background: #ffdc31;
  border-color: #fff4b0;
}
.webapp.driver-theme .app-community-toolbar {
  background: #202022;
  border-color: #454549;
  border-radius: 14px;
}
.webapp.driver-theme .app-community-toolbar button:is(:hover,[aria-pressed="true"],[aria-expanded="true"]) {
  background: #383632;
  color: #fff0a6;
}
@media(max-width:720px), (max-height:540px) and (max-width:1024px) {
  .webapp.driver-theme .app-header { min-height: 56px; }
  .webapp.driver-theme .app-header-actions .button { min-height: 40px; font-size: 12px; border-radius: 12px; }
  .webapp.driver-theme .app-actions [data-locate] { min-height: 44px; border-radius: 14px; }
  .webapp.driver-theme .app-tariff-panel { border-radius: 18px; }
}
