/* Fleet Tracer consent panel: floats just above the existing fixed bottom navigation. */
.ft-consent-panel, .ft-consent-privacy-link { font-family: "Google Sans", "Google Sans Text", Roboto, sans-serif; }
.ft-consent-panel, .ft-consent-panel * { box-sizing: border-box; }
.ft-consent-panel[hidden], .ft-consent-panel [hidden], .ft-consent-spacer[hidden] { display: none !important; }
.ft-consent-panel {
  position: fixed;
  z-index: 1020;
  left: 50%;
  bottom: var(--ft-consent-footer-height, 64px);
  transform: translateX(-50%);
  width: min(100%, 1000px);
  max-height: calc(100dvh - var(--ft-consent-footer-height, 64px) - 62px);
  overflow-y: auto;
  overscroll-behavior: contain;
  background: #fff;
  color: #003366;
  border: 1px solid #c6d8ea;
  border-radius: 12px 12px 0 0;
  padding: 12px 16px;
  box-shadow: 0 -9px 28px rgba(0, 40, 90, .13);
  font-size: 14px;
  line-height: 1.4;
}
.ft-consent-content { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: center; }
.ft-consent-copy h2 { margin: 0 0 4px; font-size: 16px; font-weight: 800; color: #003366; line-height: 1.3; }
.ft-consent-copy p { margin: 0; color: #25364a; font-size: 13px; line-height: 1.4; }
.ft-consent-copy a { color: #004b8d; text-underline-offset: 3px; }
.ft-consent-actions { display: grid; grid-template-columns: 1fr 1fr .85fr; gap: 6px; min-width: 0; }
.ft-consent-panel button { font-family: inherit; cursor: pointer; }
.ft-consent-actions button, .ft-consent-settings-actions button {
  min-height: 44px; min-width: 0; margin: 0; padding: 7px 10px;
  border: 1px solid #004b8d; border-radius: 7px;
  color: #003366; background: #e8f2ff; font-size: 13px;
  font-weight: 700; line-height: 1.2; white-space: nowrap;
}
.ft-consent-actions button[data-ft-action="settings"], .ft-consent-settings-actions button[data-ft-action="back"] {
  background: #fff; border-color: #b7c8d8;
}
.ft-consent-actions button:hover, .ft-consent-settings-actions button:hover { background: #dbeaff; }
.ft-consent-panel button:focus-visible, .ft-consent-privacy-open:focus-visible,
.ft-consent-panel a:focus-visible { outline: 3px solid #0058a5; outline-offset: 2px; }
.ft-consent-settings { border-top: 1px solid #dae3ed; margin-top: 12px; padding-top: 12px; }
.ft-consent-settings p { margin: 0 0 8px; font-size: 13px; }
.ft-consent-settings label { display: flex; align-items: center; gap: 8px; min-height: 44px; font-weight: 700; }
.ft-consent-settings input { width: 20px; height: 20px; flex: 0 0 20px; accent-color: #004b8d; }
.ft-consent-settings .ft-consent-explainer { color: #46566a; }
.ft-consent-settings-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.ft-consent-spacer { height: calc(var(--ft-consent-banner-height, 0px) + 10px); pointer-events: none; }
.ft-consent-privacy-link { padding: 12px 14px 16px; text-align: center; }
.ft-consent-privacy-open { border: none; background: transparent; color: #004b8d; font: inherit; font-size: 13px; text-decoration: underline; cursor: pointer; min-height: 44px; padding: 7px; }
body.ft-consent-open #scrollUpBtn { bottom: calc(var(--ft-consent-footer-height, 64px) + var(--ft-consent-banner-height, 0px) + 45px) !important; }
body.ft-consent-open #scrollDownBtn { bottom: calc(var(--ft-consent-footer-height, 64px) + var(--ft-consent-banner-height, 0px) + 2px) !important; }
@media (max-width: 900px) {
  .ft-consent-content { grid-template-columns: minmax(0, 1fr); gap: 9px; }
  .ft-consent-actions { width: 100%; }
}
@media (max-width: 767px) {
  .ft-consent-panel { width: calc(100% - 12px); padding: 10px; border-radius: 12px 12px 0 0; }
  .ft-consent-copy h2 { font-size: 15px; }
  .ft-consent-copy p { font-size: 12px; }
  .ft-consent-actions button { padding: 6px 3px; font-size: 12px; }
  body.ft-consent-open .ft-help-launcher {
    bottom: calc(var(--ft-consent-footer-height, 64px) + var(--ft-consent-banner-height, 0px) + 12px) !important;
  }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  body.ft-consent-open .ft-help-launcher {
    bottom: calc(var(--ft-consent-footer-height, 64px) + var(--ft-consent-banner-height, 0px) + 12px) !important;
  }
}
