/* DiagnostiX mobile browser app — Android activity and PID gauge parity v309.
   This stylesheet is isolated to smartphone widths. */
@media (max-width: 767px) {
  :root {
    --dx303-bg: #081018;
    --dx303-surface: rgba(17,26,36,.80);
    --dx303-header: rgba(26,36,48,.83);
    --dx303-panel: rgba(23,35,48,.70);
    --dx303-panel-strong: rgba(27,42,56,.82);
    --dx303-line: rgba(255,255,255,.12);
    --dx303-line-soft: rgba(255,255,255,.075);
    --dx303-text: #f5f8fc;
    --dx303-text2: #b8c4d0;
    --dx303-muted: #7e90a2;
    --dx303-blue: #4ca7ff;
    --dx303-cyan: #46d7ff;
    --dx303-green: #3ed98c;
    --dx303-teal: #36c7b6;
    --dx303-amber: #ffb84d;
    --dx303-orange: #ff8757;
    --dx303-red: #ff6b6b;
    --dx303-magenta: #e35bff;
    --dx303-purple: #8d74ff;
    --dx303-health: #7dd3a7;
    --dx303-safe-top: env(safe-area-inset-top, 0px);
    --dx303-safe-bottom: env(safe-area-inset-bottom, 0px);
    --dx303-x: 16px;
    --dx303-top: 14px;
    --dx303-footer-h: 96px;
    --dx303-footer-gap: 16px;
  }

  html.dx-v303-mobile-html,
  body.dx-v303-mobile {
    width: 100%;
    height: 100%;
    min-height: 100%;
    margin: 0 !important;
    overflow: hidden !important;
    background: #081018 !important;
    color: var(--dx303-text) !important;
    color-scheme: dark;
    overscroll-behavior: none;
    -webkit-tap-highlight-color: transparent;
  }

  body.dx-v303-mobile > .beta-banner,
  body.dx-v303-mobile > .cookie-consent,
  body.dx-v303-mobile .mobile-bottom-nav,
  body.dx-v303-mobile .mobile-quick-sheet,
  body.dx-v303-mobile > footer,
  body.dx-v303-mobile .diagnostix-app-v2 footer,
  body.dx-v303-mobile .diagnostix-app-shell footer,
  body.dx-v303-mobile .platform-footer-v96 { display: none !important; }

  /* Keep the functional platform alive, but outside the visual viewport. */
  body.dx-v303-mobile .diagnostix-app-shell,
  body.dx-v303-mobile .diagnostix-app-v2 {
    position: fixed !important;
    left: -220vw !important;
    top: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    max-width: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    overflow: hidden !important;
  }

  #dxAndroidExactAppV303 {
    position: fixed;
    inset: 0;
    z-index: 2147482000;
    width: 100vw;
    height: 100dvh;
    min-height: 100dvh;
    overflow: hidden;
    background: var(--dx303-bg);
    color: var(--dx303-text);
    font-family: Roboto, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 14px;
    line-height: 1.35;
    isolation: isolate;
  }
  #dxAndroidExactAppV303::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background: var(--dx303-bg);
  }
  #dxAndroidExactAppV303.has-background::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
      linear-gradient(rgba(0,0,0,.33),rgba(0,0,0,.33)),
      url('/android-app-exact-v303/dashboard_background.webp?v=307') center/cover no-repeat;
    opacity: .42;
  }
  #dxAndroidExactAppV303 *, #dxAndroidExactAppV303 *::before, #dxAndroidExactAppV303 *::after { box-sizing: border-box; }
  #dxAndroidExactAppV303 button,
  #dxAndroidExactAppV303 input,
  #dxAndroidExactAppV303 select,
  #dxAndroidExactAppV303 textarea { font: inherit; }
  #dxAndroidExactAppV303 button { -webkit-appearance: none; appearance: none; }
  #dxAndroidExactAppV303 button:focus-visible,
  #dxAndroidExactAppV303 input:focus-visible,
  #dxAndroidExactAppV303 select:focus-visible {
    outline: 2px solid var(--dx303-blue);
    outline-offset: 2px;
  }
  .dx303-hidden { display: none !important; }

  .dx303-screen {
    position: absolute;
    inset: 0;
    display: none;
    min-width: 0;
    min-height: 0;
    background: transparent;
  }
  .dx303-screen.is-active { display: block; }

  /* Exact MainActivity structure. */
  #dx303HomeScreen {
    padding: calc(var(--dx303-safe-top) + var(--dx303-top)) var(--dx303-x) 0;
  }
  .dx303-home-fixed {
    position: relative;
    z-index: 5;
    width: 100%;
    height: auto;
  }
  .dx303-top-pill {
    width: 100%;
    overflow: hidden;
    padding: 5px 10px 8px;
    border-radius: 30px;
    background: var(--dx303-surface);
    backdrop-filter: blur(18px) saturate(125%);
    -webkit-backdrop-filter: blur(18px) saturate(125%);
  }
  .dx303-header-collapsible {
    overflow: hidden;
    max-height: 250px;
    opacity: 1;
    transition: max-height .20s ease, opacity .16s ease;
  }
  .dx303-top-pill.is-collapsed .dx303-header-collapsible { max-height: 0; opacity: 0; }
  .dx303-vehicle-header {
    width: 100%;
    min-height: 100px;
    padding: 14px 16px;
    border-radius: 28px;
    background: var(--dx303-header);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
  }
  .dx303-row { display: flex; align-items: center; min-width: 0; }
  .dx303-grow { flex: 1 1 auto; min-width: 0; }
  .dx303-title-line { display: flex; align-items: center; gap: 8px; min-width: 0; }
  .dx303-title-line strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--dx303-text);
    font-size: 17px;
    font-weight: 800;
  }
  .dx303-live-dot {
    width: 8px; height: 8px; flex: 0 0 8px;
    border-radius: 50%;
    background: var(--dx303-green);
    box-shadow: 0 0 0 4px rgba(62,217,140,.10);
  }
  .dx303-live-dot.offline { background: var(--dx303-muted); box-shadow: none; }
  .dx303-vehicle-model {
    display: block;
    margin-top: 3px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--dx303-text2);
    font-size: 12px;
    font-weight: 650;
  }
  .dx303-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-height: 32px;
    margin-left: 10px;
    padding: 7px 12px;
    border: 0;
    border-radius: 16px;
    background: var(--dx303-panel);
    color: var(--dx303-text);
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
  }
  .dx303-header-meta { margin-top: 10px; gap: 10px; }
  .dx303-vin, .dx303-vehicle-meta {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .dx303-vin { color: var(--dx303-text2); font-size: 12px; font-weight: 700; }
  .dx303-vehicle-meta { margin-top: 3px; color: var(--dx303-muted); font-size: 11px; }
  .dx303-voltage {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 32px;
    margin-left: 10px;
    padding: 8px 10px;
    border-radius: 16px;
    background: var(--dx303-panel);
    color: var(--dx303-text);
    font-size: 12px;
    font-weight: 750;
    white-space: nowrap;
  }
  .dx303-voltage img { width: 16px; height: 16px; object-fit: contain; }

  .dx303-status-row {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 4px;
    width: 100%;
    height: 36px;
    margin-top: 8px;
  }
  .dx303-status-card {
    display: flex;
    align-items: center;
    min-width: 0;
    height: 36px;
    padding: 0 7px 0 8px;
    border: 0;
    border-radius: 16px;
    background: var(--dx303-panel);
    color: var(--dx303-text);
    text-align: left;
  }
  .dx303-status-card img {
    width: 15px; height: 15px; flex: 0 0 15px;
    margin-right: 6px;
    object-fit: contain;
  }
  .dx303-status-copy { min-width: 0; }
  .dx303-status-copy small,
  .dx303-status-copy strong {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .dx303-status-copy small {
    color: var(--dx303-muted);
    font-size: 7.5px;
    font-weight: 800;
    letter-spacing: .06em;
    line-height: 1.05;
    text-transform: uppercase;
  }
  .dx303-status-copy strong {
    margin-top: 2px;
    color: var(--dx303-text);
    font-size: 10.5px;
    font-weight: 800;
    line-height: 1.05;
  }
  .dx303-status-card.is-connected { background: rgba(76,167,255,.10); }
  .dx303-status-card.is-connected img { color: var(--dx303-blue); }
  .dx303-status-card.is-ready { background: rgba(255,184,77,.10); }
  .dx303-status-card.is-ready img { color: var(--dx303-amber); }
  .dx303-status-card.is-live { background: rgba(70,215,255,.10); }
  .dx303-status-card.is-live img { color: var(--dx303-cyan); }

  .dx303-top-actions {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 6px;
    width: 100%;
    height: 46px;
    margin-top: 8px;
  }
  .dx303-top-action {
    position: relative;
    display: grid;
    place-items: center;
    min-width: 0;
    height: 46px;
    padding: 0;
    border: 0;
    border-radius: 20px;
    background: var(--dx303-panel);
    color: var(--dx303-text);
  }
  .dx303-top-action img { width: 27px; height: 27px; object-fit: contain; }
  .dx303-top-action .dx303-badge {
    position: absolute;
    top: 4px; right: calc(50% - 23px);
    min-width: 18px; height: 18px;
    display: grid; place-items: center;
    padding: 0 4px;
    border-radius: 999px;
    background: #ff4d67;
    color: #fff;
    font-size: 9px;
    font-weight: 900;
  }
  .dx303-header-handle {
    width: 100%; height: 20px;
    display: grid; place-items: center;
    padding: 0;
    border: 0;
    background: transparent;
  }
  .dx303-header-handle::before {
    content: "";
    width: 56px; height: 5px;
    border-radius: 999px;
    background: rgba(255,255,255,.40);
  }

  .dx303-info-banner {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    width: 100%;
    margin-top: 10px;
    padding: 12px 38px 12px 12px;
    border-radius: 20px;
    background: var(--dx303-panel);
    color: var(--dx303-text2);
    font-size: 12px;
    line-height: 1.45;
  }
  .dx303-info-banner img { width: 18px; height: 18px; flex: 0 0 18px; color: var(--dx303-blue); }
  .dx303-info-close {
    position: absolute; top: 5px; right: 5px;
    width: 28px; height: 28px;
    display: grid; place-items: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--dx303-text2);
    font-size: 20px;
  }

  .dx303-widget-scroll {
    position: absolute;
    left: var(--dx303-x); right: var(--dx303-x);
    top: var(--dx303-widget-top, 250px);
    bottom: calc(var(--dx303-footer-gap) + var(--dx303-footer-h) + var(--dx303-safe-bottom) + 10px);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scrollbar-width: none;
    padding: 0 0 10px;
  }
  .dx303-widget-scroll::-webkit-scrollbar { display: none; }
  .dx303-widget-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 0;
    align-items: start;
    width: calc(100% + 12px);
    margin-left: -6px;
  }
  #dxAndroidExactAppV303.is-one-column .dx303-widget-grid { grid-template-columns: minmax(0,1fr); }
  .dx303-empty-widgets {
    grid-column: 1 / -1;
    margin: 6px;
    padding: 28px 20px;
    border-radius: 28px;
    background: var(--dx303-surface);
    color: var(--dx303-text2);
    text-align: center;
  }
  .dx303-empty-widgets strong { display:block; color:var(--dx303-text); font-size:16px; margin-bottom:6px; }

  /* Exact widget_item.xml hierarchy. */
  .dx303-widget {
    position: relative;
    min-width: 0;
    margin: 6px;
    padding: 14px;
    border: 0;
    border-radius: 28px;
    background: var(--dx303-surface);
    color: var(--dx303-text);
    overflow: hidden;
    touch-action: pan-y;
  }
  .dx303-widget-accent { width: 44px; height: 4px; border-radius: 99px; background: var(--widget-accent,var(--dx303-blue)); }
  .dx303-widget-head { display:flex; align-items:center; margin-top:10px; min-width:0; }
  .dx303-widget-icon-shell {
    width: 48px; height: 48px; flex: 0 0 48px;
    display:grid; place-items:center;
    border-radius:18px;
    background:var(--dx303-panel-strong);
  }
  .dx303-widget-icon-shell img { width:22px; height:22px; object-fit:contain; }
  .dx303-widget-headcopy { min-width:0; margin-left:12px; }
  .dx303-widget-chips { display:flex; gap:6px; align-items:center; min-width:0; }
  .dx303-widget-family,
  .dx303-widget-live {
    display:inline-flex; align-items:center; min-height:18px;
    padding:4px 8px;
    border-radius:12px;
    background:var(--dx303-panel);
    color:var(--dx303-muted);
    font-size:9px; font-weight:850; line-height:1;
    white-space:nowrap;
  }
  .dx303-widget-live { background:var(--dx303-panel-strong); color:var(--widget-accent,var(--dx303-blue)); }
  .dx303-widget-label {
    display:block; margin-top:7px;
    max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
    color:var(--dx303-text); font-size:15px; font-weight:800;
  }
  .dx303-widget-sub {
    display:block; margin-top:2px;
    max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
    color:var(--dx303-muted); font-size:11px;
  }
  .dx303-widget-hero {
    margin-top:12px;
    padding:16px 14px 14px;
    border-radius:22px;
    background:var(--dx303-panel-strong);
  }
  .dx303-widget-value-row { display:flex; align-items:flex-end; min-width:0; }
  .dx303-widget-value {
    min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
    color:var(--dx303-text); font-size:28px; line-height:1; font-weight:900;
    letter-spacing:-.035em;
  }
  .dx303-widget-unit { margin:0 0 4px 8px; color:var(--dx303-text2); font-size:11px; font-weight:700; }
  .dx303-widget-trend { margin-top:5px; color:var(--widget-accent,var(--dx303-blue)); font-size:11px; font-weight:700; }
  .dx303-chart-shell {
    height:86px;
    margin-top:12px;
    padding:8px;
    border-radius:20px;
    background:var(--dx303-panel);
    overflow:hidden;
  }
  .dx303-chart-shell svg { display:block; width:100%; height:100%; overflow:visible; }
  .dx303-chart-grid line { stroke:rgba(255,255,255,.08); stroke-width:.8; vector-effect:non-scaling-stroke; }
  .dx303-chart-line { fill:none; stroke:var(--widget-accent,var(--dx303-blue)); stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
  .dx303-widget-meta { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:10px; }
  .dx303-widget-meta span {
    min-width:0; padding:8px;
    border-radius:16px;
    background:var(--dx303-panel);
    color:var(--dx303-muted);
    font-size:10px; font-weight:700;
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  }
  .dx303-widget-edit-tools {
    position:absolute; inset:8px 8px auto auto;
    display:none; gap:5px; z-index:4;
  }
  .dx303-widget.is-editing .dx303-widget-edit-tools,
  #dxAndroidExactAppV303.is-widget-editing .dx303-widget-edit-tools { display:flex; }
  .dx303-widget-tool {
    width:30px; height:30px; display:grid; place-items:center;
    padding:0; border:0; border-radius:12px;
    background:#1d2a38; color:#fff; font-size:15px; font-weight:900;
  }
  .dx303-widget-tool.delete { color:#ff7d7d; }

  .dx303-footer {
    position:absolute;
    left:var(--dx303-footer-gap);
    right:var(--dx303-footer-gap);
    bottom:calc(var(--dx303-footer-gap) + var(--dx303-safe-bottom));
    z-index:10;
    height:var(--dx303-footer-h);
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    align-items:center;
    padding:4px 5px;
    border-radius:30px;
    background:var(--dx303-surface);
    backdrop-filter:blur(20px) saturate(130%);
    -webkit-backdrop-filter:blur(20px) saturate(130%);
  }
  .dx303-footer-item {
    min-width:0; height:100%;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:4px; padding:0;
    border:0; background:transparent; color:var(--dx303-text2);
  }
  .dx303-footer-icon-shell {
    width:54px; height:54px;
    display:grid; place-items:center;
    border-radius:18px;
    background:var(--dx303-panel-strong);
  }
  .dx303-footer-item.health .dx303-footer-icon-shell { width:58px; height:58px; border-radius:20px; }
  .dx303-footer-icon-shell img { width:34px; height:34px; object-fit:contain; }
  .dx303-footer-item.health .dx303-footer-icon-shell img { width:32px; height:32px; color:var(--dx303-health); }
  .dx303-footer-label {
    max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
    color:var(--dx303-text2); font-size:10px; font-weight:750; line-height:1;
  }

  /* Android activity screens. */
  .dx303-activity {
    position:absolute; inset:0;
    display:flex; flex-direction:column;
    min-width:0; min-height:0;
    padding:calc(var(--dx303-safe-top) + 17px) 15px calc(var(--dx303-safe-bottom) + 14px);
    background:#000;
    overflow:hidden;
  }
  .dx303-activity.is-dashboard-tone { background:var(--dx303-bg); }
  .dx303-toolbar {
    flex:0 0 48px;
    height:48px;
    display:grid;
    grid-template-columns:36px minmax(0,1fr) 36px;
    align-items:center;
    padding:0 10px;
    border-radius:12px;
    background:rgba(255,255,255,.063);
  }
  .dx303-toolbar.compact { flex-basis:40px; height:40px; padding:0 12px; }
  .dx303-toolbar-btn {
    width:36px; height:36px; display:grid; place-items:center;
    padding:7px; border:0; border-radius:50%; background:transparent; color:#fff;
  }
  .dx303-toolbar-btn img { width:100%; height:100%; object-fit:contain; color:currentColor; }
  .dx303-toolbar-title {
    min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
    color:#fff; font-size:18px; font-weight:850; text-align:center;
  }
  .dx303-toolbar-title.accent { color:#f90080; }
  .dx303-activity-body {
    flex:1 1 auto;
    min-width:0; min-height:0;
    margin-top:12px;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior-y:contain;
    scrollbar-width:none;
  }
  .dx303-activity-body::-webkit-scrollbar { display:none; }
  .dx303-activity-headline { margin:20px 0 0; color:#fff; font-size:28px; font-weight:900; line-height:1.12; }
  .dx303-activity-description { margin:10px 0 0; color:#b8c0cc; font-size:15px; line-height:1.48; }
  .dx303-glass-card { border-radius:22px; background:rgba(255,255,255,.063); }
  .dx303-section-label { margin:18px 4px 8px; color:#8fa3bf; font-size:11px; font-weight:900; letter-spacing:.10em; text-transform:uppercase; }

  /* AddWidgetActivity exact visual structure. */
  .dx303-search-card {
    display:flex; align-items:center;
    margin-top:18px; padding:9px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:24px;
    background:rgba(255,255,255,.078);
  }
  .dx303-search-icon {
    width:38px; height:38px; flex:0 0 38px;
    display:grid; place-items:center;
    border-radius:14px; background:rgba(255,255,255,.08); color:#fff;
  }
  .dx303-search-card input {
    min-width:0; flex:1; height:44px; margin-left:12px;
    padding:0; border:0; outline:0; background:transparent;
    color:#fff; font-size:15px;
  }
  .dx303-search-card input::placeholder { color:#7f8998; }
  .dx303-tabs {
    display:flex; gap:8px; margin-top:14px; padding-bottom:3px;
    overflow-x:auto; scrollbar-width:none;
  }
  .dx303-tabs::-webkit-scrollbar { display:none; }
  .dx303-tab {
    flex:0 0 auto; height:38px; padding:0 12px;
    border:1px solid rgba(255,255,255,.12); border-radius:19px;
    background:rgba(255,255,255,.06); color:#b8c4d0;
    font-size:13px; font-weight:800;
  }
  .dx303-tab.is-active { background:#4ca7ff; border-color:#4ca7ff; color:#06111c; }
  .dx303-result-summary { margin-top:12px; padding:12px 14px; border-radius:18px; background:rgba(255,255,255,.045); color:#8fa3bf; font-size:12px; }
  .dx303-result-summary strong { display:block; color:#fff; font-size:14px; }
  .dx303-result-summary span { display:block; margin-top:4px; line-height:1.4; }
  .dx303-support-card {
    display:flex; align-items:flex-start; gap:10px;
    margin-top:14px; padding:14px;
    border:1px solid rgba(255,255,255,.10); border-radius:20px;
    background:rgba(255,255,255,.055); color:#b8c4d0; font-size:13px; line-height:1.45;
  }
  .dx303-support-card img { width:22px; height:22px; flex:0 0 22px; color:#4ca7ff; }
  .dx303-sensor-list { display:flex; flex-direction:column; gap:10px; margin-top:10px; padding-bottom:20px; }
  .dx303-sensor-row {
    display:grid; grid-template-columns:50px minmax(0,1fr) auto; align-items:center; gap:12px;
    min-height:74px; padding:10px 12px;
    border:1px solid rgba(255,255,255,.10); border-radius:22px;
    background:linear-gradient(135deg,#1d2634,#141b27);
    color:#fff; text-align:left;
  }
  .dx303-sensor-row-icon {
    width:50px; height:50px; display:grid; place-items:center;
    border-radius:18px; background:rgba(255,255,255,.08);
  }
  .dx303-sensor-row-icon img { width:28px; height:28px; object-fit:contain; }
  .dx303-sensor-row-copy { min-width:0; }
  .dx303-sensor-row-copy strong,
  .dx303-sensor-row-copy small,
  .dx303-sensor-row-copy span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .dx303-sensor-row-copy strong { font-size:15px; }
  .dx303-sensor-row-copy small,
  .dx303-sensor-row-copy span { margin-top:4px; color:#8fa3bf; font-size:12px; }
  .dx303-sensor-row-state {
    min-width:64px; padding:7px 9px; border-radius:14px;
    background:rgba(76,167,255,.12); color:#9ac7ff; font-size:11px; font-weight:850; text-align:center;
  }
  .dx303-sensor-row.is-added,
  .dx303-sensor-row.is-selected { opacity:.72; }
  .dx303-sensor-row.is-added .dx303-sensor-row-state,
  .dx303-sensor-row.is-selected .dx303-sensor-row-state { color:#7dd3a7; background:rgba(62,217,140,.12); }
  .dx303-sensor-row-state strong,
  .dx303-sensor-row-state small,
  .dx303-sensor-row-state span { display:block; }
  .dx303-sensor-row-state strong { font-size:12px; }
  .dx303-sensor-row-state small { margin-top:1px; font-size:9px; opacity:.82; }
  .dx303-sensor-row-state span { margin-top:2px; font-size:14px; }

  /* DiagnosticsActivity. */
  .dx303-diagnostics-body { padding-bottom:84px; }
  .dx303-diagnostic-card {
    display:flex; align-items:center; gap:14px;
    width:100%; margin-bottom:10px; padding:14px;
    border:1px solid rgba(62,101,141,.13); border-radius:22px;
    background:linear-gradient(135deg,#1d2634,#141b27);
  }
  .dx303-diagnostic-icon {
    width:54px; height:54px; flex:0 0 54px;
    display:grid; place-items:center;
    border-radius:18px; background:rgba(255,255,255,.08);
  }
  .dx303-diagnostic-icon img { width:28px; height:28px; object-fit:contain; }
  .dx303-diagnostic-copy { min-width:0; flex:1; }
  .dx303-diagnostic-copy b { display:inline-flex; padding:5px 10px; border-radius:13px; background:rgba(154,199,255,.08); color:#9ac7ff; font-size:12px; }
  .dx303-diagnostic-copy strong { display:block; margin-top:10px; color:#fff; font-size:16px; }
  .dx303-diagnostic-copy span { display:block; margin-top:6px; color:#ff7aae; font-size:14px; }
  .dx303-dtc-results { margin-top:10px; color:#e5e5e5; }
  .dx303-dtc-results .empty { color:#8fa3bf; text-align:center; padding:16px; }
  .dx303-diagnostic-toolbar {
    position:absolute; left:15px; right:15px; bottom:calc(14px + var(--dx303-safe-bottom));
    z-index:4; height:72px;
    display:grid; grid-template-columns:1fr 1px 1fr; align-items:center;
    padding:10px 20px; border-radius:12px; background:rgba(255,255,255,.063);
  }
  .dx303-diagnostic-toolbar::before { content:""; width:1px; height:40px; background:rgba(255,255,255,.25); grid-column:2; }
  .dx303-scan-action {
    grid-row:1; display:grid; place-items:center; height:100%; padding:0; border:0; background:transparent;
  }
  .dx303-scan-action.read { grid-column:1; }
  .dx303-scan-action.clear { grid-column:3; }
  .dx303-scan-action img { width:53px; height:53px; object-fit:contain; }

  /* HealthActivity. */
  .dx303-health-activity { background:#000; }
  .dx303-health-body { display:grid; grid-template-rows:minmax(185px,34vh) minmax(0,1fr); gap:10px; overflow:hidden; }
  .dx303-health-hero { position:relative; min-height:0; overflow:hidden; }
  .dx303-health-hero::before,
  .dx303-health-hero::after {
    content:""; position:absolute; border-radius:50%; filter:blur(2px); opacity:.8;
  }
  .dx303-health-hero::before { width:190px; height:190px; left:50%; top:48%; transform:translate(-50%,-50%); background:radial-gradient(circle,rgba(66,165,245,.25),transparent 68%); }
  .dx303-health-car { position:absolute; left:50%; bottom:0; width:min(92%,390px); transform:translateX(-50%); object-fit:contain; }
  .dx303-health-percent {
    position:absolute; left:50%; top:4px; transform:translateX(-50%);
    z-index:2; padding:0 8px; color:#fff; font-size:32px; font-weight:900;
  }
  .dx303-health-report {
    min-height:0; display:flex; flex-direction:column;
    padding:12px 16px 14px; border-radius:12px; background:rgba(255,255,255,.063); overflow:hidden;
  }
  .dx303-card-handle { width:48px; height:4px; margin:0 auto; border-radius:3px; background:rgba(255,255,255,.20); }
  .dx303-health-report h2 { margin:12px 0 0; color:#fff; font-size:18px; }
  .dx303-health-report p { margin:2px 0 0; color:#8fa3bf; font-size:12px; }
  .dx303-health-divider { height:1px; margin-top:12px; background:rgba(255,255,255,.07); }
  .dx303-health-list { flex:1; min-height:0; margin-top:12px; overflow-y:auto; scrollbar-width:none; }
  .dx303-health-list::-webkit-scrollbar { display:none; }
  .dx303-health-badge { display:inline-flex; padding:5px 10px; border-radius:13px; background:rgba(34,255,102,.063); color:#76e2a3; font-size:11px; font-weight:850; }
  .dx303-health-row { padding:10px 0; }
  .dx303-health-row-head { display:flex; align-items:center; gap:10px; }
  .dx303-health-row-head strong { flex:1; min-width:0; color:#fff; font-size:14px; }
  .dx303-health-row-head span { color:#b8c4d0; font-size:13px; }
  .dx303-health-track { position:relative; height:12px; margin-top:8px; border-radius:6px; background:rgba(255,255,255,.10); overflow:hidden; }
  .dx303-health-fill { height:100%; width:var(--health-width,0%); border-radius:6px; background:#3ed98c; }
  .dx303-health-marker { position:absolute; top:0; left:var(--health-width,0%); width:2px; height:100%; background:rgba(255,255,255,.9); }
  .dx303-health-check { flex:0 0 54px; height:54px; margin-top:12px; border:0; border-radius:14px; background:#77c400; color:#07110a; font-size:16px; font-weight:900; }

  /* SettingsActivity and native preference rows. */
  .dx303-settings-scroll { padding-bottom:22px; }
  .dx303-setting-hero-card {
    display:grid; grid-template-columns:20px minmax(0,1fr) 18px; align-items:center; gap:12px;
    min-height:72px; margin-bottom:10px; padding:14px 16px;
    border:1px solid rgba(255,255,255,.10); border-radius:22px;
    background:rgba(255,255,255,.065); color:#fff; text-align:left;
  }
  .dx303-setting-hero-card > img:first-child { width:20px; height:20px; object-fit:contain; }
  .dx303-setting-hero-card > img:last-child { width:18px; height:18px; object-fit:contain; color:#fff; opacity:.8; }
  .dx303-setting-hero-copy strong { display:block; font-size:16px; }
  .dx303-setting-hero-copy span { display:block; margin-top:4px; color:rgba(255,255,255,.80); font-size:13px; }
  .dx303-pref-category { margin:18px 5px 8px; color:#7e90a2; font-size:11px; font-weight:900; letter-spacing:.10em; text-transform:uppercase; }
  .dx303-pref-list { overflow:hidden; border-radius:18px; background:rgba(255,255,255,.045); }
  .dx303-pref-row {
    width:100%; min-height:62px;
    display:grid; grid-template-columns:42px minmax(0,1fr) 18px; align-items:center; gap:12px;
    padding:8px 14px; border:0; border-bottom:1px solid rgba(255,255,255,.07);
    background:transparent; color:#fff; text-align:left;
  }
  .dx303-pref-row:last-child { border-bottom:0; }
  .dx303-pref-icon {
    width:42px; height:42px; display:grid; place-items:center;
    border-radius:14px; background:rgba(255,255,255,.07); color:#60b8ff; font-size:12px; font-weight:900;
  }
  .dx303-pref-icon img { width:22px; height:22px; object-fit:contain; }
  .dx303-pref-copy { min-width:0; }
  .dx303-pref-copy strong,
  .dx303-pref-copy span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .dx303-pref-copy strong { font-size:14px; }
  .dx303-pref-copy span { margin-top:3px; color:#8fa3bf; font-size:12px; }
  .dx303-pref-arrow { width:18px; height:18px; color:#fff; opacity:.7; }

  /* VehicleSelectionActivity parity. */
  .dx303-vehicle-description { margin:10px 5px 0; color:#b8c0cc; font-size:14px; line-height:1.45; }
  .dx303-toolbar-add { color:#fff; font-size:28px; font-weight:400; line-height:1; }
  .dx303-vehicle-summary { margin:10px 5px 0; color:#8fa3bf; font-size:12px; }
  .dx303-vehicle-list { display:flex; flex-direction:column; gap:10px; margin-top:12px; padding-bottom:18px; }
  .dx303-vehicle-row {
    width:100%; min-height:84px;
    display:grid; grid-template-columns:64px minmax(0,1fr) 18px; align-items:center; gap:14px;
    padding:10px 14px 10px 10px; border:1px solid rgba(255,255,255,.10); border-radius:24px;
    background:rgba(255,255,255,.055); color:#fff; text-align:left;
  }
  .dx303-vehicle-row.is-active { border-color:rgba(76,167,255,.42); background:rgba(76,167,255,.11); }
  .dx303-vehicle-initial {
    width:64px; height:64px; display:grid; place-items:center;
    border-radius:50%; background:linear-gradient(145deg,#26394d,#101823);
    color:#fff; font-size:30px; font-weight:900; text-transform:uppercase;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);
  }
  .dx303-vehicle-copy { min-width:0; }
  .dx303-vehicle-copy strong,.dx303-vehicle-copy small,.dx303-vehicle-copy em { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .dx303-vehicle-copy strong { font-size:16px; }
  .dx303-vehicle-copy small { margin-top:4px; color:#aab6c4; font-size:12px; }
  .dx303-vehicle-copy em { margin-top:5px; color:#4ca7ff; font-size:11px; font-style:normal; font-weight:800; }
  .dx303-vehicle-row > img { width:18px; height:18px; opacity:.78; }

  /* TrackingActivity parity. */
  .dx303-tracking-map {
    position:relative; min-height:225px; display:flex; flex-direction:column; align-items:center; justify-content:center;
    padding:24px; overflow:hidden; border-radius:12px; background:rgba(255,255,255,.063); text-align:center;
  }
  .dx303-tracking-map::before {
    content:""; position:absolute; inset:0; opacity:.34;
    background:linear-gradient(30deg,transparent 48%,rgba(76,167,255,.10) 49%,rgba(76,167,255,.10) 51%,transparent 52%) 0 0/38px 38px,
               linear-gradient(120deg,transparent 48%,rgba(255,255,255,.055) 49%,rgba(255,255,255,.055) 51%,transparent 52%) 0 0/54px 54px;
  }
  .dx303-tracking-map > img { position:relative; z-index:2; width:58px; height:58px; object-fit:contain; }
  .dx303-tracking-map > strong { position:relative; z-index:2; margin-top:14px; color:#fff; font-size:17px; }
  .dx303-tracking-map > span { position:relative; z-index:2; max-width:280px; margin-top:6px; color:#9daabd; font-size:12px; line-height:1.45; }
  .dx303-map-route { position:absolute; inset:0; }
  .dx303-map-route i { position:absolute; width:9px; height:9px; border-radius:50%; background:#4ca7ff; box-shadow:0 0 0 6px rgba(76,167,255,.12); }
  .dx303-map-route i:nth-child(1){left:20%;top:28%}.dx303-map-route i:nth-child(2){right:22%;top:38%}.dx303-map-route i:nth-child(3){left:39%;bottom:22%}
  .dx303-tracking-tabs { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; margin-top:10px; padding:5px; border-radius:16px; background:rgba(255,255,255,.055); }
  .dx303-tracking-tabs button { min-width:0; height:36px; padding:0 6px; border:0; border-radius:12px; background:transparent; color:#8fa3bf; font-size:11px; font-weight:800; }
  .dx303-tracking-tabs button.is-active { background:rgba(76,167,255,.16); color:#fff; }
  .dx303-tracking-card { margin-top:10px; padding:16px; border-radius:28px; background:rgba(255,255,255,.063); }
  .dx303-tracking-icon { width:45px; height:45px; flex:0 0 45px; display:grid; place-items:center; margin-right:12px; border-radius:16px; background:rgba(76,167,255,.10); }
  .dx303-tracking-icon img { width:45px; height:45px; object-fit:contain; }
  .dx303-tracking-card .dx303-grow strong { display:block; color:#fff; font-size:15px; }
  .dx303-tracking-card .dx303-grow small { display:block; margin-top:4px; color:#99a7b8; font-size:12px; }
  .dx303-native-history { margin-top:14px; border-top:1px solid rgba(255,255,255,.07); }
  .dx303-native-history-row { display:grid; grid-template-columns:10px minmax(0,1fr); gap:10px; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.06); }
  .dx303-native-history-row > span { width:8px; height:8px; margin-top:5px; border-radius:50%; background:#4ca7ff; }
  .dx303-native-history-row strong,.dx303-native-history-row small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .dx303-native-history-row strong { color:#fff; font-size:13px; }
  .dx303-native-history-row small { margin-top:3px; color:#8190a3; font-size:11px; }
  .dx303-native-empty { padding:22px 0 8px; color:#8190a3; font-size:13px; text-align:center; }

  /* Android connection bottom sheet. */
  .dx303-sheet-backdrop {
    position:absolute; inset:0; z-index:100;
    display:none; align-items:flex-end;
    background:rgba(0,0,0,.58);
  }
  .dx303-sheet-backdrop.is-open { display:flex; }
  .dx303-sheet {
    width:100%;
    padding:8px 0 calc(24px + var(--dx303-safe-bottom));
    border-radius:24px 24px 0 0;
    background:#1c1c1e;
    box-shadow:0 -18px 50px rgba(0,0,0,.38);
  }
  .dx303-sheet-handle { width:40px; height:4px; margin:0 auto 16px; border-radius:2px; background:#4a4a4d; }
  .dx303-sheet-title { margin:0 0 16px; color:#fff; font-size:20px; font-weight:900; text-align:center; }
  .dx303-sheet-choice {
    width:100%; min-height:58px; display:flex; align-items:center; gap:16px;
    padding:0 24px; border:0; background:transparent; color:#fff; text-align:left; font-size:16px;
  }
  .dx303-sheet-choice img { width:24px; height:24px; color:#42a5f5; }

  /* Generic native activity host for existing platform screens. */
  .dx303-portal-activity { background:#000; }
  .dx303-portal-body { position:relative; flex:1; min-height:0; margin-top:12px; overflow:auto; scrollbar-width:none; }
  .dx303-portal-body::-webkit-scrollbar { display:none; }
  .dx303-portal-host { min-height:100%; }
  .dx303-portal-host > .app-page,
  .dx303-portal-host > section,
  .dx303-portal-host > article {
    display:block !important; position:relative !important; inset:auto !important;
    width:100% !important; min-height:0 !important; margin:0 !important; padding:0 0 24px !important;
    background:transparent !important; opacity:1 !important; visibility:visible !important; pointer-events:auto !important;
  }
  .dx303-portal-host .section-head,
  .dx303-portal-host .app-section-title-v2,
  .dx303-portal-host .platform-section-head-v96 { display:none !important; }
  .dx303-portal-host .glass,
  .dx303-portal-host .glass-dark,
  .dx303-portal-host .platform-panel-v96,
  .dx303-portal-host .platform-metro-card-v96,
  .dx303-portal-host .platform-action-card-v96,
  .dx303-portal-host .vehicle-card,
  .dx303-portal-host .mobile-info-card,
  .dx303-portal-host .mobile-status-card {
    border-radius:22px !important;
    background:rgba(255,255,255,.063) !important;
    border:1px solid rgba(255,255,255,.09) !important;
    box-shadow:none !important;
  }
  .dx303-portal-host button,
  .dx303-portal-host .btn { min-height:44px; border-radius:18px; }
  .dx303-portal-host input,
  .dx303-portal-host select,
  .dx303-portal-host textarea { font-size:16px !important; }

  /* Activity overlay/loading parity. */
  .dx303-loading-overlay {
    position:absolute; inset:0; z-index:180;
    display:none; place-items:center;
    background:rgba(3,8,13,.72);
    backdrop-filter:blur(9px);
    -webkit-backdrop-filter:blur(9px);
  }
  .dx303-loading-overlay.is-open { display:grid; }
  .dx303-loading-card {
    width:240px; min-height:160px;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    padding:20px; border-radius:18px; background:rgba(255,255,255,.10); color:#fff; text-align:center;
  }
  .dx303-spinner { width:38px; height:38px; border:4px solid rgba(255,255,255,.18); border-top-color:#4ca7ff; border-radius:50%; animation:dx303-spin .8s linear infinite; }
  .dx303-loading-card span { margin-top:14px; font-size:15px; }
  @keyframes dx303-spin { to { transform:rotate(360deg); } }

  @media (max-width: 360px) {
    :root { --dx303-x: 12px; --dx303-footer-gap: 12px; }
    .dx303-vehicle-header { padding-left:13px; padding-right:13px; }
    .dx303-title-line strong { font-size:15px; }
    .dx303-chip { padding-left:9px; padding-right:9px; font-size:10px; }
    .dx303-status-card { padding-left:6px; padding-right:5px; }
    .dx303-status-card img { width:14px; height:14px; margin-right:4px; }
    .dx303-status-copy small { font-size:6.8px; }
    .dx303-status-copy strong { font-size:9.5px; }
    .dx303-widget { padding:12px; border-radius:24px; }
    .dx303-widget-icon-shell { width:42px; height:42px; flex-basis:42px; border-radius:16px; }
    .dx303-widget-headcopy { margin-left:9px; }
    .dx303-widget-label { font-size:13px; }
    .dx303-widget-value { font-size:24px; }
    .dx303-footer-icon-shell { width:48px; height:48px; border-radius:16px; }
    .dx303-footer-item.health .dx303-footer-icon-shell { width:52px; height:52px; }
    .dx303-footer-label { font-size:9px; }
  }

  @media (prefers-reduced-motion: reduce) {
    #dxAndroidExactAppV303 *, #dxAndroidExactAppV303 *::before, #dxAndroidExactAppV303 *::after {
      scroll-behavior:auto !important;
      animation-duration:.01ms !important;
      animation-iteration-count:1 !important;
      transition-duration:.01ms !important;
    }
  }
}


/* v304 — exact Android activity geometry and PID full-screen gauge. */
@media (max-width: 767px) {
  /* Every Android top bar uses an absolute, symmetric center title. */
  #dxAndroidExactAppV303 .dx303-toolbar {
    position: relative;
    display: block;
    flex: 0 0 auto;
    width: 100%;
    padding: 0 10px;
    border-radius: 12px;
    background: rgba(255,255,255,.063);
    overflow: hidden;
  }
  #dxAndroidExactAppV303 .dx303-toolbar-40 { height: 40px; min-height: 40px; }
  #dxAndroidExactAppV303 .dx303-toolbar-48 { height: 48px; min-height: 48px; }
  #dxAndroidExactAppV303 .dx303-toolbar-btn {
    position: absolute;
    top: 50%;
    left: 10px;
    z-index: 2;
    width: 36px;
    height: 36px;
    padding: 7px;
    transform: translateY(-50%);
    border-radius: 50%;
    display: grid;
    place-items: center;
  }
  #dxAndroidExactAppV303 .dx303-toolbar-btn:last-child:not(:first-child) { left: auto; right: 10px; }
  #dxAndroidExactAppV303 .dx303-toolbar-btn img { width: 22px; height: 22px; object-fit: contain; }
  #dxAndroidExactAppV303 .dx303-toolbar-title {
    position: absolute;
    inset: 0 52px;
    min-width: 0;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #fff;
    font-size: 18px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    pointer-events: none;
  }
  #dxAndroidExactAppV303 .dx303-toolbar-40 .dx303-toolbar-title { font-size: 18px; }
  #dxAndroidExactAppV303 .dx303-toolbar-title.accent { color: #9ac7ff; }
  #dxAndroidExactAppV303 .dx303-toolbar-add {
    padding: 0;
    font-size: 28px;
    line-height: 36px;
    text-align: center;
  }

  /* Per-Activity padding follows the original Android XML instead of one generic layout. */
  #dxAndroidExactAppV303 .dx303-activity-add {
    padding: calc(var(--dx303-safe-top) + 16px) 14px calc(var(--dx303-safe-bottom) + 24px);
  }
  #dxAndroidExactAppV303 .dx303-activity-diagnostics,
  #dxAndroidExactAppV303 .dx303-activity-settings {
    padding: calc(var(--dx303-safe-top) + 18px) 15px calc(var(--dx303-safe-bottom) + 14px);
  }
  #dxAndroidExactAppV303 .dx303-health-activity {
    padding: calc(var(--dx303-safe-top) + 17px) 15px calc(var(--dx303-safe-bottom) + 14px);
  }
  #dxAndroidExactAppV303 .dx303-vehicle-activity {
    padding: calc(var(--dx303-safe-top) + 18px) 18px calc(var(--dx303-safe-bottom) + 18px);
  }
  #dxAndroidExactAppV303 .dx303-tracking-activity {
    padding: calc(var(--dx303-safe-top) + 16px) 16px calc(var(--dx303-safe-bottom) + 16px);
  }
  #dxAndroidExactAppV303 .dx303-portal-activity {
    padding: calc(var(--dx303-safe-top) + 17px) 15px calc(var(--dx303-safe-bottom) + 14px);
  }
  #dxAndroidExactAppV303 .dx303-activity-body,
  #dxAndroidExactAppV303 .dx303-diagnostics-body {
    margin-top: 12px;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scrollbar-width: none;
  }
  #dxAndroidExactAppV303 .dx303-activity-body::-webkit-scrollbar,
  #dxAndroidExactAppV303 .dx303-diagnostics-body::-webkit-scrollbar { display: none; }
  #dxAndroidExactAppV303 .dx303-activity-add .dx303-activity-body { margin-top: 0; }
  #dxAndroidExactAppV303 .dx303-activity-headline { margin-top: 20px; }
  #dxAndroidExactAppV303 .dx303-vehicle-description { margin: 22px 2px 0; }
  #dxAndroidExactAppV303 .dx303-vehicle-activity .dx303-search-card { margin-top: 16px; }
  #dxAndroidExactAppV303 .dx303-tracking-activity .dx303-activity-body { margin-top: 12px; }

  /* Top dashboard geometry is kept 1:1 with activity_main.xml. */
  #dxAndroidExactAppV303 .dx303-vehicle-header { min-height: 96px; }
  #dxAndroidExactAppV303 .dx303-top-actions { gap: 4px; }
  #dxAndroidExactAppV303 .dx303-top-action { height: 46px; border-radius: 16px; }
  #dxAndroidExactAppV303 .dx303-top-action img { width: 30px; height: 30px; padding: 1px; }
  #dxAndroidExactAppV303 .dx303-footer { padding: 8px; }
  #dxAndroidExactAppV303 .dx303-footer-item { gap: 6px; }
  #dxAndroidExactAppV303 .dx303-footer-label { font-size: 11px; }
  #dxAndroidExactAppV303 button:active { transform: scale(.975); }
  #dxAndroidExactAppV303 .dx303-toolbar-btn:active,
  #dxAndroidExactAppV303 .dx304-fs-action:active { transform: translateY(-50%) scale(.94); }

  /* Native platform pages inside the Android activity host. */
  #dxAndroidExactAppV303 .dx303-portal-body { margin-top: 12px; }
  #dxAndroidExactAppV303 .dx303-portal-host { color: #f5f8fc; }
  #dxAndroidExactAppV303 .dx303-portal-host .app-page {
    padding: 0 0 20px !important;
    overflow: visible !important;
  }
  #dxAndroidExactAppV303 .dx303-portal-host .platform-grid-v96,
  #dxAndroidExactAppV303 .dx303-portal-host .vehicle-grid,
  #dxAndroidExactAppV303 .dx303-portal-host .sensor-grid,
  #dxAndroidExactAppV303 .dx303-portal-host .report-grid {
    grid-template-columns: minmax(0,1fr) !important;
    gap: 10px !important;
  }
  #dxAndroidExactAppV303 .dx303-portal-host .glass,
  #dxAndroidExactAppV303 .dx303-portal-host .glass-dark,
  #dxAndroidExactAppV303 .dx303-portal-host .platform-panel-v96,
  #dxAndroidExactAppV303 .dx303-portal-host .platform-metro-card-v96,
  #dxAndroidExactAppV303 .dx303-portal-host .platform-action-card-v96,
  #dxAndroidExactAppV303 .dx303-portal-host .vehicle-card,
  #dxAndroidExactAppV303 .dx303-portal-host .mobile-info-card,
  #dxAndroidExactAppV303 .dx303-portal-host .mobile-status-card {
    border-radius: 22px !important;
    background: linear-gradient(135deg,#1d2634,#141b27) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    box-shadow: none !important;
  }
  #dxAndroidExactAppV303 .dx303-portal-host h1,
  #dxAndroidExactAppV303 .dx303-portal-host h2,
  #dxAndroidExactAppV303 .dx303-portal-host h3 { color: #fff !important; }
  #dxAndroidExactAppV303 .dx303-portal-host p,
  #dxAndroidExactAppV303 .dx303-portal-host small,
  #dxAndroidExactAppV303 .dx303-portal-host label { color: #9daabd !important; }

  /* FullScreenWidget / activity_full_screen_chart.xml parity. */
  #dxAndroidExactAppV303 .dx304-fullscreen-activity {
    position: absolute;
    inset: 0;
    background: #000;
    color: #fff;
    overflow: hidden;
  }
  #dxAndroidExactAppV303 .dx304-fs-scroll {
    position: absolute;
    inset: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scrollbar-width: none;
    padding: calc(var(--dx303-safe-top) + 16px) 0 calc(var(--dx303-safe-bottom) + 28px);
  }
  #dxAndroidExactAppV303 .dx304-fs-scroll::-webkit-scrollbar { display: none; }
  #dxAndroidExactAppV303 .dx304-fs-toolbar {
    position: relative;
    width: calc(100% - 32px);
    min-height: 78px;
    margin: 0 16px;
    padding: 6px 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #dxAndroidExactAppV303 .dx304-fs-toolbar h1 {
    min-width: 0;
    margin: 0 58px;
    color: #fff;
    font-size: 20px;
    font-weight: 900;
    line-height: 1.15;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  #dxAndroidExactAppV303 .dx304-fs-action {
    position: absolute;
    top: 50%;
    z-index: 3;
    width: 42px;
    height: 42px;
    padding: 10px;
    transform: translateY(-50%);
    border: 0;
    border-radius: 50%;
    background: rgba(255,255,255,.08);
    display: grid;
    place-items: center;
  }
  #dxAndroidExactAppV303 .dx304-fs-action:first-child { left: 0; }
  #dxAndroidExactAppV303 .dx304-fs-action:last-child { right: 0; }
  #dxAndroidExactAppV303 .dx304-fs-action img { width: 22px; height: 22px; object-fit: contain; }
  #dxAndroidExactAppV303 .dx304-live-gauge {
    width: min(calc(100% - 32px),380px);
    aspect-ratio: 1;
    margin: 0 auto;
  }
  #dxAndroidExactAppV303 .dx304-gauge-wrap { position: relative; width: 100%; height: 100%; }
  #dxAndroidExactAppV303 .dx304-gauge-svg { display: block; width: 100%; height: 100%; overflow: visible; }
  #dxAndroidExactAppV303 .dx304-gauge-outline { fill: none; stroke: rgba(242,242,242,.82); stroke-width: 1.8; }
  #dxAndroidExactAppV303 .dx304-gauge-base { fill: none; stroke: #07103c; stroke-width: 16; stroke-linecap: round; }
  #dxAndroidExactAppV303 .dx304-gauge-progress { fill: none; stroke: url(#dx304GaugeGradient); stroke-width: 16; stroke-linecap: round; }
  #dxAndroidExactAppV303 .dx304-gauge-ticks line { stroke: #121a44; stroke-width: 3; stroke-linecap: round; }
  #dxAndroidExactAppV303 .dx304-gauge-ticks line.major { stroke-width: 4; }
  #dxAndroidExactAppV303 .dx304-gauge-ticks line.active { stroke: #5364ff; }
  #dxAndroidExactAppV303 .dx304-gauge-inner { fill: #030406; }
  #dxAndroidExactAppV303 .dx304-gauge-labels text { fill: #989eaf; font-size: 10px; text-anchor: middle; font-weight: 500; }
  #dxAndroidExactAppV303 .dx304-gauge-value { fill: #fff; font-size: 50px; text-anchor: middle; font-weight: 900; letter-spacing: -2px; }
  #dxAndroidExactAppV303 .dx304-gauge-unit { fill: #c2c7d6; font-size: 16px; text-anchor: middle; }
  #dxAndroidExactAppV303 .dx304-heart {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 46px;
    height: 46px;
    padding: 11px;
    border: 0;
    border-radius: 50%;
    background: rgba(255,255,255,.08);
  }
  #dxAndroidExactAppV303 .dx304-heart img { width: 24px; height: 24px; object-fit: contain; }

  #dxAndroidExactAppV303 .dx304-trend-stage {
    position: relative;
    display: grid;
    grid-template-columns: 82px minmax(0,1fr) 82px;
    align-items: center;
    gap: 2px;
    width: 100%;
    min-height: 220px;
    margin-top: 5px;
    padding: 8px 0 0;
  }
  #dxAndroidExactAppV303 .dx304-ring-shell {
    position: relative;
    width: 100%;
    max-width: 230px;
    aspect-ratio: 1;
    margin: 0 auto;
    border-radius: 50%;
    background: conic-gradient(from 130deg,#2234ff 0deg,#ff1761 var(--dx304-angle),#10172a var(--dx304-angle),#10172a 275deg,transparent 275deg 360deg);
    padding: 18px;
  }
  #dxAndroidExactAppV303 .dx304-ring-shell::before {
    content: "";
    position: absolute;
    inset: 10px;
    border-radius: 50%;
    background: #030407;
  }
  #dxAndroidExactAppV303 .dx304-ring-inner {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 50%;
    background: #060a12;
  }
  #dxAndroidExactAppV303 .dx304-ring-inner svg { width: 100%; height: 100%; display: block; }
  #dxAndroidExactAppV303 .dx304-ring-line { fill: none; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
  #dxAndroidExactAppV303 .dx304-metrics {
    min-height: 200px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 20px;
    padding: 22px 8px;
    background: linear-gradient(90deg,rgba(18,27,43,.95),rgba(8,12,20,.25));
  }
  #dxAndroidExactAppV303 .dx304-metrics.left { border-radius: 0 34px 34px 0; text-align: center; }
  #dxAndroidExactAppV303 .dx304-metrics.right { border-radius: 34px 0 0 34px; text-align: center; background: linear-gradient(270deg,rgba(18,27,43,.95),rgba(8,12,20,.25)); }
  #dxAndroidExactAppV303 .dx304-metric small,
  #dxAndroidExactAppV303 .dx304-metric strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  #dxAndroidExactAppV303 .dx304-metric small { color: #8b96b4; font-size: 10px; font-weight: 800; text-transform: uppercase; }
  #dxAndroidExactAppV303 .dx304-metric strong { margin-top: 4px; color: #fff; font-size: 15px; font-weight: 900; }
  #dxAndroidExactAppV303 .dx304-chart-current { display: flex; flex-direction: column; align-items: center; margin-top: 8px; }
  #dxAndroidExactAppV303 .dx304-chart-current strong { color: #fff; font-size: 22px; font-weight: 900; }
  #dxAndroidExactAppV303 .dx304-chart-current span { margin-top: 2px; color: #b9c5d8; font-size: 12px; font-weight: 800; }
  #dxAndroidExactAppV303 .dx304-recent-chip {
    width: max-content;
    max-width: calc(100% - 32px);
    min-height: 34px;
    margin: 10px auto 0;
    padding: 9px 14px;
    border-radius: 17px;
    background: #101722;
    color: #d9e6f2;
    font-size: 12px;
    font-weight: 800;
    text-align: center;
  }
  #dxAndroidExactAppV303 .dx304-chart-toggle {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
    width: min(calc(100% - 32px),480px);
    margin: 10px auto 0;
    padding: 6px;
    border-radius: 24px;
    background: #101722;
  }
  #dxAndroidExactAppV303 .dx304-chart-toggle button {
    height: 42px;
    border: 0;
    border-radius: 21px;
    background: #172239;
    color: #fff;
    font-weight: 800;
  }
  #dxAndroidExactAppV303 .dx304-chart-toggle button.is-active { background: linear-gradient(135deg,#2740ff,#ff1b66); }
  #dxAndroidExactAppV303 .dx304-analysis {
    width: min(calc(100% - 32px),480px);
    margin: 10px auto 0;
    padding: 12px 14px;
    border-radius: 18px;
    background: #101722;
  }
  #dxAndroidExactAppV303 .dx304-analysis strong,
  #dxAndroidExactAppV303 .dx304-analysis span { display: block; }
  #dxAndroidExactAppV303 .dx304-analysis strong { color: #d7e3f4; font-size: 14px; }
  #dxAndroidExactAppV303 .dx304-analysis span { margin-top: 4px; color: #afc0d8; font-size: 12px; line-height: 1.4; }
  #dxAndroidExactAppV303 .dx304-analysis.good { background: #0b2118; }
  #dxAndroidExactAppV303 .dx304-analysis.good strong { color: #7ee2aa; }
  #dxAndroidExactAppV303 .dx304-analysis.medium,
  #dxAndroidExactAppV303 .dx304-analysis.warn { background: #251d0c; }
  #dxAndroidExactAppV303 .dx304-analysis.medium strong,
  #dxAndroidExactAppV303 .dx304-analysis.warn strong { color: #ffd36e; }
  #dxAndroidExactAppV303 .dx304-analysis.bad { background: #2a1116; }
  #dxAndroidExactAppV303 .dx304-analysis.bad strong { color: #ff8090; }

  @media (max-width: 360px) {
    #dxAndroidExactAppV303 .dx304-trend-stage { grid-template-columns: 72px minmax(0,1fr) 72px; }
    #dxAndroidExactAppV303 .dx304-metrics { padding-left: 5px; padding-right: 5px; }
    #dxAndroidExactAppV303 .dx304-metric strong { font-size: 13px; }
    #dxAndroidExactAppV303 .dx304-gauge-value { font-size: 45px; }
  }
}

@media (min-width: 768px) {
  #dxAndroidExactAppV303 { display:none !important; }
}

/* v305 — exact Android screen parity based on the original XML layouts and supplied app captures. */
@media (max-width: 767px) {
  :root {
    --dx303-safe-top: max(env(safe-area-inset-top, 0px), 24px);
    --dx303-safe-bottom: max(env(safe-area-inset-bottom, 0px), 8px);
    --dx303-x: 15px;
    --dx303-top: 14px;
    --dx303-footer-h: 89px;
    --dx303-footer-gap: 15px;
  }
  #dxAndroidExactAppV303 { background:#081018; }
  #dxAndroidExactAppV303.has-background::after { display:none; }
  #dxAndroidExactAppV303[data-mobile-background="midnight"]::before { background:radial-gradient(circle at 15% 0%,#182638 0,#081018 48%,#050a0f 100%); }
  #dxAndroidExactAppV303[data-mobile-background="ocean"]::before { background:radial-gradient(circle at 50% 0%,#0b3141 0,#081018 50%,#040a10 100%); }
  #dxAndroidExactAppV303[data-mobile-background="custom"]::before { background:linear-gradient(rgba(8,16,24,.62),rgba(8,16,24,.78)),var(--dx305-custom-bg) center/cover no-repeat; }

  #dx303HomeScreen { padding:calc(var(--dx303-safe-top) + var(--dx303-top)) var(--dx303-x) 0; }
  .dx303-top-pill { padding:5px 10px 8px; border-radius:30px; background:#111b27; backdrop-filter:none; -webkit-backdrop-filter:none; }
  .dx303-vehicle-header { min-height:108px; padding:14px 16px 12px; border-radius:28px; background:#1a2635; }
  .dx305-brand-row,.dx305-vehicle-bottom { display:flex; align-items:center; gap:10px; min-width:0; }
  .dx305-brand-row .dx303-title-line { flex:1; }
  .dx303-title-line strong { font-size:17px; letter-spacing:-.02em; text-transform:none; }
  .dx303-live-dot { width:8px;height:8px;flex-basis:8px;box-shadow:none; }
  .dx303-chip { min-height:30px; padding:7px 13px; border-radius:17px; background:#29384a; font-size:10px; }
  .dx305-vehicle-label { margin-top:4px; color:#c0cad7; font-size:12px; font-weight:800; }
  .dx305-vehicle-label b { font-weight:800; }
  .dx305-vehicle-main { margin-top:11px; color:#d9e2ed; font-size:14px; font-weight:800; }
  .dx305-vehicle-bottom { margin-top:8px; color:#8193a8; font-size:11px; }
  .dx305-vehicle-bottom > span:first-child { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .dx303-voltage { min-height:0; margin:0; padding:0; border-radius:0; background:transparent; color:#8294a9; font-size:12px; }
  .dx303-voltage img { width:14px;height:14px;opacity:.75; }
  .dx303-status-row { gap:5px; }
  .dx303-status-card { border-radius:17px; background:#26303c; }
  .dx303-status-card.is-connected,.dx303-status-card.is-ready,.dx303-status-card.is-live { background:#26303c; }
  .dx303-status-copy small { font-size:7px; color:#8191a5; }
  .dx303-status-copy strong { font-size:10px; }
  .dx303-top-actions { gap:7px; }
  .dx303-top-action { border-radius:21px; background:#142230; }
  .dx303-top-action img { width:26px;height:26px; }
  .dx303-top-action .dx303-badge { top:2px;right:calc(50% - 24px);min-width:18px;height:18px;font-size:9px;background:#ff443d; }
  .dx303-header-handle::before { width:52px;height:5px;background:#858b92; }
  .dx303-info-banner { display:none!important; }

  .dx303-widget-scroll { left:20px;right:20px;top:var(--dx303-widget-top,310px);bottom:calc(var(--dx303-footer-gap) + var(--dx303-footer-h) + var(--dx303-safe-bottom) + 12px);padding:0 0 18px; }
  .dx303-widget-grid { width:100%;margin:0;gap:12px; }
  .dx303-widget { min-height:206px;margin:0;padding:12px;border-radius:24px;background:#0f1925;display:flex;flex-direction:column; }
  .dx303-widget-accent,.dx303-widget-chips { display:none; }
  .dx303-widget-head { margin:0;align-items:flex-start;min-height:48px; }
  .dx303-widget-icon-shell { width:44px;height:44px;flex:0 0 44px;border-radius:18px;background:#25303c; }
  .dx303-widget-icon-shell img { width:24px;height:24px; }
  .dx303-widget-headcopy { flex:1;margin-left:10px;padding-top:4px; }
  .dx303-widget-label { margin:0;font-size:14px;line-height:1.15; }
  .dx303-widget-sub { margin-top:3px;color:#a2afbf;font-size:11px; }
  .dx303-widget-live { flex:0 0 auto;min-height:22px;padding:6px 8px;border-radius:12px;background:#111e2c;color:#fff;font-size:9px; }
  .dx303-widget-hero { margin:11px 0 0;padding:0;background:transparent;border-radius:0;text-align:center; }
  .dx303-widget-value-row { justify-content:center;min-height:27px;align-items:center; }
  .dx303-widget-value { font-size:26px; }
  .dx303-widget-unit { margin:3px 0 0 5px;font-size:10px; }
  .dx303-widget-trend { margin-top:7px;min-height:17px;font-size:11px;text-align:center;color:var(--widget-accent); }
  .dx303-chart-shell { height:40px;margin-top:11px;padding:5px;border-radius:19px;background:#27313d; }
  .dx303-chart-shell svg { opacity:.35; }
  .dx303-chart-grid { display:none; }
  .dx303-widget-meta { margin-top:auto;padding-top:12px;gap:10px; }
  .dx303-widget-meta span { padding:0;background:transparent;border-radius:0;color:#f5f8fc;font-size:10px;font-weight:900;text-align:center; }
  .dx303-empty-widgets { margin:0; }

  .dx303-footer { left:15px;right:15px;bottom:calc(15px + var(--dx303-safe-bottom));height:89px;padding:4px 5px;border-radius:29px;background:#101b27;backdrop-filter:none;-webkit-backdrop-filter:none; }
  .dx303-footer-item { gap:5px; }
  .dx303-footer-icon-shell,.dx303-footer-item.health .dx303-footer-icon-shell { width:52px;height:52px;border-radius:18px;background:#172634; }
  .dx303-footer-icon-shell img { width:31px;height:31px; }
  .dx303-footer-item.health .dx303-footer-icon-shell img { width:31px;height:31px; }
  .dx303-footer-label { font-size:10px;font-weight:800; }

  /* Universal Android toolbar: mathematically centred title regardless of side controls. */
  .dx303-activity { padding:calc(var(--dx303-safe-top) + 17px) 13px calc(var(--dx303-safe-bottom) + 12px);background:#0d141d; }
  .dx303-toolbar { position:relative;flex:0 0 44px;height:44px;display:block;padding:0;border-radius:11px;background:#20252d; }
  .dx303-toolbar.dx303-toolbar-48 { flex-basis:44px;height:44px; }
  .dx303-toolbar.dx303-toolbar-40 { flex-basis:40px;height:40px; }
  .dx303-toolbar-btn { position:absolute;top:50%;left:9px;width:36px;height:36px;padding:7px;transform:translateY(-50%);z-index:2; }
  .dx303-toolbar-btn:last-child,.dx303-toolbar-add { left:auto;right:9px; }
  .dx303-toolbar-title { position:absolute;left:54px;right:54px;top:50%;transform:translateY(-50%);font-size:17px;line-height:1;text-align:center; }
  .dx303-toolbar > span:last-child { display:none; }
  .dx303-activity-body { margin-top:0;padding-top:0; }

  /* Sensor chooser, exact Android AddWidget activity. */
  .dx303-activity-add .dx303-activity-body { padding:20px 0 18px; }
  .dx303-activity-headline { margin:0;color:#f8f9fc;font-size:24px;line-height:1.28;font-weight:900;letter-spacing:-.025em; }
  .dx303-activity-description { margin:13px 0 0;color:#b8c0cd;font-size:14px;line-height:1.42; }
  .dx303-search-card { display:flex;align-items:center;height:54px;margin-top:18px;padding:0 16px;border-radius:21px;background:#252a32; }
  .dx303-search-icon { width:38px;height:38px;display:grid;place-items:center;border-radius:14px;background:#21445c;font-size:18px; }
  .dx303-search-card input { flex:1;min-width:0;margin-left:12px;border:0;background:transparent;color:#fff;font-size:15px;outline:0; }
  .dx303-search-card input::placeholder { color:#92949b; }
  .dx303-tabs { display:flex;gap:8px;margin-top:14px;padding-bottom:2px;overflow-x:auto;scrollbar-width:none; }
  .dx303-tabs::-webkit-scrollbar { display:none; }
  .dx303-tab { flex:0 0 auto;height:38px;padding:0 15px;border:0;border-radius:20px;background:#0f2a38;color:#edf5fa;font-size:12px;font-weight:900;letter-spacing:.02em; }
  .dx303-tab.is-active { background:#0786ed;color:#fff; }
  .dx305-result-summary { margin-top:11px;color:#91a6c6;font-size:11px; }
  .dx303-support-card { position:relative;display:flex;align-items:center;gap:11px;margin-top:14px;padding:13px 42px 13px 14px;border-radius:20px;background:#20252d;color:#eef1f5;font-size:12px;line-height:1.25; }
  .dx303-support-card > img { width:21px;height:21px;flex:0 0 21px; }
  .dx303-support-card > button { position:absolute;right:10px;top:50%;width:30px;height:30px;border:0;background:transparent;color:#bfc4cb;font-size:30px;line-height:1;transform:translateY(-50%); }
  .dx303-sensor-list { margin-top:15px; }
  .dx305-sensor-group { margin-top:13px; }
  .dx305-category-head { height:35px;display:flex;align-items:center;margin:0 4px 12px;padding:0 11px;border-radius:18px;background:color-mix(in srgb,var(--category-color) 11%,#102027);color:var(--category-color); }
  .dx305-category-head strong { flex:1;font-size:12px; }
  .dx305-category-head span { min-width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--category-count);color:#edf7f5;font-size:11px; }
  .dx303-sensor-row { position:relative;display:grid;grid-template-columns:49px minmax(0,1fr) 34px;grid-template-rows:auto auto;gap:0 12px;min-height:139px;margin:0 2px 12px;padding:14px 14px 13px 15px;border:0;border-radius:22px;background:#23282f;color:#fff;text-align:left;overflow:hidden; }
  .dx305-sensor-accent { position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--sensor-color); }
  .dx303-sensor-row-icon { grid-row:1;grid-column:1;width:42px;height:42px;display:grid;place-items:center;margin-top:4px;border-radius:18px;background:color-mix(in srgb,var(--sensor-color) 15%,#1a2830); }
  .dx303-sensor-row-icon img { width:25px;height:25px; }
  .dx303-sensor-row-copy { grid-row:1;grid-column:2;min-width:0; }
  .dx305-sensor-title-line { display:flex;align-items:center;gap:8px;min-width:0; }
  .dx305-sensor-title-line strong { flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sensor-color);font-size:15px; }
  .dx305-sensor-title-line em { flex:0 0 auto;padding:4px 7px;border-radius:10px;background:color-mix(in srgb,var(--sensor-color) 13%,#15262c);color:var(--sensor-color);font-size:9px;font-style:normal;font-weight:800; }
  .dx303-sensor-row-copy small { display:block;margin-top:7px;color:#b7bdc7;font-size:11px;line-height:1.28;white-space:normal;overflow:visible; }
  .dx305-sensor-info { grid-row:1;grid-column:3;width:28px;height:28px;display:grid;place-items:center;margin-top:13px;padding:3px;border:0;background:transparent; }
  .dx305-sensor-info img { width:22px;height:22px; }
  .dx305-sensor-bottom { grid-row:2;grid-column:1 / 3;align-self:end;margin-top:16px; }
  .dx305-sensor-bottom b,.dx305-sensor-bottom small { display:block; }
  .dx305-sensor-bottom b { color:#f1f3f5;font-size:15px; }
  .dx305-sensor-bottom small { margin-top:8px;color:#bfc5ce;font-size:11px; }
  .dx303-sensor-row-state { grid-row:2;grid-column:3;align-self:end;text-align:right;background:transparent!important;color:#ff636a!important; }
  .dx303-sensor-row-state strong,.dx303-sensor-row-state small { display:inline-flex;justify-content:center;min-width:50px;padding:6px 8px;border-radius:15px;background:#4a2a2d;color:#ff656d;font-size:10px; }
  .dx303-sensor-row-state small { margin-top:8px; }
  .dx303-sensor-row.is-selected { opacity:1;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sensor-color) 45%,transparent); }

  /* Vehicle health screenshot parity. */
  .dx303-health-activity { background:#000; }
  .dx303-health-body { grid-template-rows:minmax(270px,40vh) minmax(0,1fr);gap:10px;margin-top:10px; }
  .dx303-health-hero { margin:0 3px;background-color:#001307;background-image:linear-gradient(rgba(31,91,49,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(31,91,49,.16) 1px,transparent 1px),radial-gradient(ellipse at 60% 52%,rgba(31,255,85,.19),transparent 35%);background-size:26px 26px,26px 26px,auto; }
  .dx303-health-hero::before,.dx303-health-hero::after,.dx303-health-percent { display:none; }
  .dx303-health-car { width:100%;max-width:none;bottom:18%;object-fit:contain; }
  .dx303-health-report { border-radius:13px;background:#111; padding:10px 15px 16px; }
  .dx303-card-handle { width:45px;height:4px;margin:0 auto;border-radius:3px;background:#4a4a4a; }
  .dx303-health-report h2 { margin:13px 0 0;font-size:17px; }
  .dx303-health-report p { margin-top:5px;color:#929292;font-size:11px; }
  .dx303-health-list { margin-top:11px; }
  .dx303-health-badge { padding:7px 10px;border-radius:0;background:#05250f;color:#9cffb4;font-size:10px; }
  .dx305-health-copy { margin-top:13px;color:#e2e2e2;font-size:14px;line-height:1.55; }
  .dx303-health-check { position:relative;height:52px;flex-basis:52px;margin-top:12px;border-radius:3px;background:#68bd00;color:#071007;letter-spacing:.08em;font-size:15px; }
  .dx305-lock { position:absolute;left:50%;top:50%;width:36px;height:36px;display:grid;place-items:center;transform:translate(-50%,-50%);border-radius:10px;background:#f0f3f6; }
  .dx305-lock img { width:23px;height:23px; }

  /* Settings exact list. */
  .dx303-activity-settings { background:#0d141d; }
  .dx303-settings-scroll { padding:11px 1px 30px; }
  .dx303-setting-hero-card { display:grid;grid-template-columns:30px minmax(0,1fr) 18px;align-items:center;gap:11px;width:100%;min-height:66px;margin:0 0 10px;padding:13px 15px;border:1px solid #4d535b;border-radius:21px;background:#272b33;color:#fff;text-align:left; }
  .dx303-setting-hero-card .dx303-pref-icon { width:30px;height:30px;display:grid;place-items:center;background:transparent;color:#fff;font-size:18px; }
  .dx303-setting-hero-card .dx303-pref-icon img { width:19px;height:19px; }
  .dx303-setting-hero-copy strong { font-size:15px; }
  .dx303-setting-hero-copy span { margin-top:4px;color:#d0d1d4;font-size:12px; }
  .dx303-pref-category { margin:20px 0 9px;padding-left:20px;color:#b9d6dd;font-size:11px;font-weight:900;letter-spacing:.04em; }
  .dx303-pref-list { display:grid;gap:14px; }
  .dx303-pref-row { display:grid;grid-template-columns:32px minmax(0,1fr) 18px;align-items:center;gap:12px;min-height:79px;padding:15px;border:0;border-radius:13px;background:#20252c;color:#fff;text-align:left; }
  .dx303-pref-icon { width:30px;height:30px;display:grid;place-items:center;color:#eef1f4;font-size:20px;font-weight:900; }
  .dx303-pref-copy strong { display:block;font-size:15px; }
  .dx303-pref-copy span { display:block;margin-top:5px;color:#b7d0d7;font-size:12px;line-height:1.28; }
  .dx303-pref-arrow { width:17px;height:17px;opacity:.85; }

  /* Native settings detail pages. */
  .dx305-detail-activity { background:#0d141d; }
  .dx305-detail-body { flex:1;min-height:0;margin-top:11px;padding:0 1px 24px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none; }
  .dx305-detail-body::-webkit-scrollbar { display:none; }
  .dx305-detail-intro,.dx305-choice-list > p { margin:4px 4px 14px;color:#aeb9c7;font-size:13px;line-height:1.45; }
  .dx305-choice-list,.dx305-native-form,.dx305-native-document,.dx305-help-list { display:grid;gap:11px; }
  .dx305-native-choice { display:flex;align-items:center;gap:12px;min-height:70px;padding:14px 16px;border:1px solid #3b4550;border-radius:18px;background:#202731;color:#fff;text-align:left; }
  .dx305-native-choice > span { flex:1; }
  .dx305-native-choice strong,.dx305-native-choice small { display:block; }
  .dx305-native-choice small { margin-top:5px;color:#aeb9c7; }
  .dx305-native-choice i { width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#303a46;color:#fff;font-style:normal; }
  .dx305-native-choice.is-active { border-color:#4ca7ff;background:#172d42; }
  .dx305-native-choice.is-active i { background:#168cf4; }
  .dx305-unit-row { margin-bottom:12px;padding:15px;border-radius:18px;background:#202731; }
  .dx305-unit-row > strong { display:block;margin-bottom:12px;font-size:14px; }
  .dx305-unit-row > div { display:flex;flex-wrap:wrap;gap:8px; }
  .dx305-unit-row button { min-height:36px;padding:0 12px;border:1px solid #3f4b59;border-radius:18px;background:#141c25;color:#c8d1dc;font-size:11px;font-weight:800; }
  .dx305-unit-row button.is-active { border-color:#168cf4;background:#168cf4;color:#fff; }
  .dx305-account-card { padding:22px 18px;border-radius:22px;background:#1b2530;text-align:center; }
  .dx305-avatar { width:66px;height:66px;display:grid;place-items:center;margin:0 auto;border-radius:23px;background:#28425b;color:#fff;font-size:22px;font-weight:900; }
  .dx305-account-card h2 { margin:12px 0 0;font-size:20px; }
  .dx305-account-card p { margin:4px 0 0;color:#aeb9c7; }
  .dx305-sync-state { display:inline-flex;margin-top:12px;padding:7px 11px;border-radius:15px;background:#123a2a;color:#71dfa5;font-size:11px;font-weight:800; }
  .dx305-native-form { margin-top:12px;padding:16px;border-radius:20px;background:#202731; }
  .dx305-native-form label,.dx305-native-form > strong { color:#c8d2df;font-size:12px;font-weight:800; }
  .dx305-native-form input { width:100%;height:48px;margin-top:8px;padding:0 14px;border:1px solid #44505e;border-radius:15px;background:#111923;color:#fff;outline:0; }
  .dx305-color-grid { display:flex;gap:10px; }
  .dx305-color-grid button { width:43px;height:43px;display:grid;place-items:center;border:2px solid transparent;border-radius:15px;background:#131b24; }
  .dx305-color-grid button.is-active { border-color:#fff; }
  .dx305-color-grid i { width:25px;height:25px;border-radius:50%;background:#718096; }
  .dx305-color-grid i.blue { background:#3b82f6; }.dx305-color-grid i.green { background:#22c55e; }.dx305-color-grid i.violet { background:#8b5cf6; }.dx305-color-grid i.slate { background:#64748b; }.dx305-color-grid i.auto { background:linear-gradient(135deg,#3b82f6,#22c55e,#8b5cf6); }
  .dx305-primary,.dx305-secondary { min-height:50px;padding:0 16px;border:0;border-radius:15px;background:#168cf4;color:#fff;font-weight:900; }
  .dx305-secondary { background:#263443; }
  .dx305-premium-hero,.dx305-native-info-hero { padding:25px 18px;border-radius:24px;background:#1b2530;text-align:center; }
  .dx305-premium-hero > img,.dx305-native-info-hero > img { width:68px;height:68px;object-fit:contain; }
  .dx305-premium-hero h2,.dx305-native-info-hero h2 { margin:15px 0 0;font-size:21px; }
  .dx305-premium-hero p,.dx305-native-info-hero p { margin:10px 0 18px;color:#b5c1ce;line-height:1.5; }
  .dx305-feature-list { display:grid;gap:9px;margin:0 0 20px;text-align:left;color:#dce5ee; }
  .dx305-background-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px; }
  .dx305-background-grid button { padding:7px;border:2px solid transparent;border-radius:17px;background:#1c2530;color:#fff; }
  .dx305-background-grid button.is-active { border-color:#4ca7ff; }
  .dx305-background-grid span { display:block;aspect-ratio:1;border-radius:12px;background:#081018; }
  .dx305-background-grid span.midnight { background:radial-gradient(circle at 20% 0,#324861,#081018 75%); }
  .dx305-background-grid span.ocean { background:radial-gradient(circle at 50% 0,#12607c,#081018 75%); }
  .dx305-background-grid strong { display:block;margin-top:7px;font-size:10px; }
  .dx305-upload-button { display:grid;place-items:center;min-height:50px;margin-top:14px;border-radius:15px;background:#263443;color:#fff;font-weight:800; }
  .dx305-upload-button input { display:none; }
  .dx305-protocol-grid { display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:16px 0; }
  .dx305-protocol-grid span { padding:12px;border-radius:13px;background:#1d2935;color:#cfe0ef;text-align:center;font-size:11px;font-weight:800; }
  .dx305-help-row { display:grid;grid-template-columns:40px minmax(0,1fr) 18px;align-items:center;gap:11px;min-height:74px;padding:13px;border:0;border-radius:17px;background:#202731;color:#fff;text-align:left; }
  .dx305-help-row > span { width:36px;height:36px;display:grid;place-items:center;border-radius:14px;background:#293746;font-size:18px;font-weight:900; }
  .dx305-help-row strong,.dx305-help-row small { display:block; }.dx305-help-row small { margin-top:4px;color:#aeb9c7; }.dx305-help-row img { width:17px;height:17px; }
  .dx305-native-legal { padding:16px;border-radius:18px;background:#171f29;color:#d8e0e9;line-height:1.55; }
  .dx305-native-legal h1,.dx305-native-legal h2,.dx305-native-legal h3 { color:#fff; }
  .dx305-native-legal a { color:#4ca7ff; }
  .dx305-legal-loading { min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#aeb9c7; }
  .dx305-toggle-card { display:flex;align-items:center;gap:16px;padding:18px;border-radius:20px;background:#202731; }
  .dx305-toggle-card > div { flex:1; }.dx305-toggle-card strong { font-size:16px; }.dx305-toggle-card p { margin:7px 0 0;color:#aeb9c7;font-size:12px;line-height:1.45; }
  .dx305-switch { width:52px;height:30px;padding:3px;border:0;border-radius:18px;background:#485463; }
  .dx305-switch span { display:block;width:24px;height:24px;border-radius:50%;background:#fff;transition:transform .16s ease; }.dx305-switch.is-on { background:#20b96b; }.dx305-switch.is-on span { transform:translateX(22px); }
  .dx305-webview { position:absolute;inset:0;display:flex;flex-direction:column;background:#0d141d; }.dx305-webview-note { padding:10px;color:#aeb9c7;font-size:11px;text-align:center; }.dx305-webview iframe { flex:1;width:100%;border:0;background:#fff; }

  /* Portal content remains inside the app shell, with all website chrome stripped. */
  .dx303-portal-host .app-page { position:relative!important;inset:auto!important;width:100%!important;min-height:0!important;margin:0!important;padding:0!important;background:transparent!important; }
  .dx303-portal-host .page-hero,.dx303-portal-host .content-header,.dx303-portal-host .platform-page-header,.dx303-portal-host .app-sidebar,.dx303-portal-host .topbar { display:none!important; }
  .dx303-portal-host .card,.dx303-portal-host .panel,.dx303-portal-host .section-card { border-radius:18px!important;background:#1c2530!important;box-shadow:none!important; }

  @media (max-width:350px) {
    :root { --dx303-x:10px;--dx303-footer-gap:10px; }
    .dx303-widget-scroll { left:13px;right:13px; }
    .dx303-widget-grid { gap:8px; }
    .dx303-widget { padding:10px;border-radius:21px; }
    .dx303-widget-label { font-size:12px; }.dx303-widget-sub { font-size:9.5px; }
    .dx303-widget-icon-shell { width:39px;height:39px;flex-basis:39px; }
    .dx303-footer-icon-shell,.dx303-footer-item.health .dx303-footer-icon-shell { width:45px;height:45px; }
    .dx303-footer-label { font-size:8.5px; }
  }
}
@media (max-width: 767px) {
  #dxAndroidExactAppV303 .dx303-toolbar { position:relative;display:block;padding:0;border-radius:11px;background:#20252d; }
  #dxAndroidExactAppV303 .dx303-toolbar-title { position:absolute;inset:0 52px;display:flex;align-items:center;justify-content:center;margin:0;transform:none;font-size:17px;line-height:1;text-align:center; }
  #dxAndroidExactAppV303 .dx303-toolbar-btn { top:50%;left:9px;transform:translateY(-50%); }
  #dxAndroidExactAppV303 .dx303-toolbar-btn:last-child:not(:first-child),#dxAndroidExactAppV303 .dx303-toolbar-add { left:auto;right:9px; }
  #dxAndroidExactAppV303 .dx303-activity-add .dx303-activity-body { margin-top:0;padding-top:20px; }
  #dxAndroidExactAppV303 .dx303-activity-headline { margin-top:0; }
  #dxAndroidExactAppV303 .dx303-sensor-row { grid-template-columns:49px minmax(0,1fr) 66px; }
  #dxAndroidExactAppV303 .dx303-sensor-row-state { width:66px; }
  #dxAndroidExactAppV303 .dx303-sensor-row-state strong,#dxAndroidExactAppV303 .dx303-sensor-row-state small { min-width:58px; }
}
@media (max-width:767px){
  .dx305-health-result-list{display:grid;gap:12px;margin:16px 0}.dx305-health-result-list>div{padding:13px;border-radius:15px;background:#202731}.dx305-health-result-list span,.dx305-health-result-list strong{display:block}.dx305-health-result-list span{color:#b6c3d1;font-size:12px}.dx305-health-result-list strong{margin-top:5px;color:#fff;font-size:15px}.dx305-health-result-list i{display:block;height:8px;margin-top:10px;border-radius:5px;background:#101720;overflow:hidden}.dx305-health-result-list i b{display:block;height:100%;border-radius:5px;background:#54cf83}
}
@media(max-width:767px){
 #dxAndroidExactAppV303 .dx303-vehicle-header{min-height:96px;padding:14px 16px}
 #dxAndroidExactAppV303 .dx305-brand-row,#dxAndroidExactAppV303 .dx305-vehicle-second-row{display:flex;align-items:center;gap:10px;min-width:0}
 #dxAndroidExactAppV303 .dx305-header-left{flex:1;min-width:0}
 #dxAndroidExactAppV303 .dx305-vehicle-label{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#c0cad7;font-size:12px;font-weight:800}
 #dxAndroidExactAppV303 .dx305-vehicle-second-row{margin-top:10px}
 #dxAndroidExactAppV303 .dx305-vehicle-main{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#c0cad7;font-size:12px;font-weight:800}
 #dxAndroidExactAppV303 .dx305-vehicle-meta{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8193a8;font-size:11px}
 #dxAndroidExactAppV303 .dx303-voltage{min-height:36px;margin-left:10px;padding:8px 10px;border-radius:18px;background:#1b2938}
}
@media(max-width:767px){
  /* Exact Android AddWidgetActivity: category color owns card accent; selection does not recolor the card. */
  #dxAndroidExactAppV303 .dx303-sensor-row.is-selected{box-shadow:none!important;outline:0!important}
  #dxAndroidExactAppV303 .dx303-sensor-row.is-selected::after{content:'✓';position:absolute;left:61px;bottom:12px;display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:var(--sensor-color);color:#071018;font-size:11px;font-weight:1000}
  #dxAndroidExactAppV303 .dx303-sensor-row{position:relative}
  #dxAndroidExactAppV303 .dx305-brand-row{align-items:flex-start}
  #dxAndroidExactAppV303 .dx303-chip{flex:0 0 auto;align-self:flex-start}
  #dxAndroidExactAppV303 .dx305-vehicle-second-row{align-items:flex-end}
  #dxAndroidExactAppV303 .dx305-vehicle-label b{font-weight:inherit}
}
@media(max-width:767px){
  #dxAndroidExactAppV303 .dx303-sensor-row.is-selected{box-shadow:none!important;outline:0!important}
  #dxAndroidExactAppV303 .dx303-sensor-row.is-selected::after{content:none!important}
  #dxAndroidExactAppV303 .dx305-dialog-backdrop{position:fixed;inset:0;z-index:2147483646;display:none;align-items:center;justify-content:center;padding:28px;background:rgba(0,0,0,.68);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
  #dxAndroidExactAppV303 .dx305-dialog-backdrop.is-open{display:flex}
  #dxAndroidExactAppV303 .dx305-native-dialog{width:min(100%,340px);overflow:hidden;border:1px solid rgba(255,255,255,.13);border-radius:22px;background:#252a32;color:#fff;box-shadow:0 24px 70px rgba(0,0,0,.48)}
  #dxAndroidExactAppV303 .dx305-native-dialog h2{margin:0;padding:22px 22px 10px;font-size:20px;line-height:1.25;text-align:left}
  #dxAndroidExactAppV303 .dx305-native-dialog p{margin:0;padding:0 22px 22px;color:#d4d8de;font-size:14px;line-height:1.5}
  #dxAndroidExactAppV303 .dx305-native-dialog button{width:100%;height:52px;border:0;border-top:1px solid rgba(255,255,255,.12);background:transparent;color:#5db3ff;font-size:15px;font-weight:900}
}
@media(max-width:767px){
  /* Pixel parity with Android watchlist_item.xml. */
  #dxAndroidExactAppV303 .dx303-sensor-row{grid-template-columns:40px minmax(0,1fr) 20px;grid-template-rows:auto auto;column-gap:12px;min-height:0;margin:0 2px 12px;padding:12px;border-radius:20px}
  #dxAndroidExactAppV303 .dx303-sensor-row-icon{width:40px;height:40px;margin-top:0;border-radius:20px}
  #dxAndroidExactAppV303 .dx303-sensor-row-icon img{width:20px;height:20px}
  #dxAndroidExactAppV303 .dx305-sensor-title-line{gap:8px}
  #dxAndroidExactAppV303 .dx305-sensor-title-line strong{font-size:16px;line-height:1.18;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
  #dxAndroidExactAppV303 .dx305-sensor-title-line em{padding:3px 7px;font-size:9px}
  #dxAndroidExactAppV303 .dx303-sensor-row-copy small{margin-top:4px;font-size:12px;line-height:1.25;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
  #dxAndroidExactAppV303 .dx305-sensor-info{width:20px;height:20px;margin:0;padding:1px;align-self:center}
  #dxAndroidExactAppV303 .dx305-sensor-info img{width:20px;height:20px}
  #dxAndroidExactAppV303 .dx305-sensor-bottom{margin-top:12px}
  #dxAndroidExactAppV303 .dx305-sensor-bottom b{font-size:22px;line-height:1.05}
  #dxAndroidExactAppV303 .dx305-sensor-bottom small{margin-top:4px;font-size:12px}
  #dxAndroidExactAppV303 .dx303-sensor-row-state{width:auto;min-width:62px;justify-self:end}
  #dxAndroidExactAppV303 .dx303-sensor-row-state strong,#dxAndroidExactAppV303 .dx303-sensor-row-state small{min-width:0;padding:5px 10px;font-size:11px}
  #dxAndroidExactAppV303 .dx303-sensor-row-state small{margin-top:8px}
  /* VehicleParticlesView crop from the Android health screen. */
  #dxAndroidExactAppV303 .dx303-health-car{width:122%;max-width:none;left:50%;bottom:17%;transform:translateX(-50%)}
}
@media(max-width:767px){
  #dxAndroidExactAppV303 .dx303-sensor-row .dx305-sensor-title-line{display:flex!important;align-items:center!important;margin:0!important}
  #dxAndroidExactAppV303 .dx303-sensor-row-state{padding:0!important;border:0!important;border-radius:0!important}
}
@media(max-width:767px){
  #dxAndroidExactAppV303 .dx303-health-car{width:105%;bottom:18%}
}

/* v306 — requested mobile-only corrections: clean home header, stable native scrolling,
   Android FullScreenWidget parity and direct HealthActivity scan flow. */
@media (max-width:767px){
  /* Chat and route/map action are intentionally disabled. Keep the Android grid action
     in its original right-hand slot without a notification badge. */
  #dxAndroidExactAppV303 .dx306-grid-only-actions{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:7px;
  }
  #dxAndroidExactAppV303 .dx306-grid-only-actions>span{display:block;min-width:0}
  #dxAndroidExactAppV303 .dx306-grid-only{grid-column:3}
  #dxAndroidExactAppV303 .dx303-badge,#dxAndroidExactAppV303 #dx303ChatBadge{display:none!important}

  /* Native Activity scroll ownership. No periodic render, focus or language event may
     snap a Settings page/subpage back to the top. */
  #dxAndroidExactAppV303 .dx303-settings-scroll,
  #dxAndroidExactAppV303 .dx305-detail-body,
  #dxAndroidExactAppV303 .dx303-activity-body,
  #dxAndroidExactAppV303 .dx304-fs-scroll,
  #dxAndroidExactAppV303 .dx303-health-list{
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-y:contain;
    overflow-anchor:none;
    touch-action:pan-y;
  }
  #dxAndroidExactAppV303 .dx303-settings-scroll,
  #dxAndroidExactAppV303 .dx305-detail-body{scroll-behavior:auto!important}
  #dxAndroidExactAppV303 .dx305-detail-activity,
  #dxAndroidExactAppV303 .dx303-activity-settings{min-height:0;overflow:hidden}

  /* Android activity_full_screen_chart.xml. */
  #dxAndroidExactAppV303 .dx304-fullscreen-activity{background:#000}
  #dxAndroidExactAppV303 .dx304-fs-scroll{
    padding:calc(var(--dx303-safe-top) + 16px) 0 calc(var(--dx303-safe-bottom) + 28px);
    background:#000;
  }
  #dxAndroidExactAppV303 .dx304-fs-toolbar{
    width:calc(100% - 32px);
    min-height:78px;
    margin:0 16px;
    padding:6px 0;
  }
  #dxAndroidExactAppV303 .dx304-fs-action{
    width:42px;height:42px;padding:10px;border-radius:50%;
    background:linear-gradient(135deg,#121a28,#090d14);
  }
  #dxAndroidExactAppV303 .dx304-fs-toolbar h1{
    position:absolute;left:58px;right:58px;margin:0;
    font-size:20px;font-weight:900;line-height:1.15;
  }
  #dxAndroidExactAppV303 .dx304-live-gauge{
    width:min(calc(100% - 32px),380px);
    aspect-ratio:1/1;
    margin:0 auto;
  }
  #dxAndroidExactAppV303 .dx304-gauge-outline{stroke:#d0f2f2f2;stroke-width:1.8}
  #dxAndroidExactAppV303 .dx304-gauge-base{stroke:#07103c;stroke-width:16;stroke-linecap:round}
  #dxAndroidExactAppV303 .dx304-gauge-progress{stroke:url(#dx304GaugeGradient);stroke-width:16;stroke-linecap:round}
  #dxAndroidExactAppV303 .dx304-gauge-ticks line{stroke-width:3;stroke-linecap:round}
  #dxAndroidExactAppV303 .dx304-gauge-ticks line.major{stroke-width:4}
  #dxAndroidExactAppV303 .dx304-gauge-inner{fill:#030406}
  #dxAndroidExactAppV303 .dx304-heart{
    top:16px;right:16px;width:46px;height:46px;padding:11px;
    background:linear-gradient(135deg,#121a28,#090d14);
  }

  #dxAndroidExactAppV303 .dx304-trend-stage{
    display:grid;
    grid-template-columns:92px minmax(0,1fr) 92px;
    align-items:center;
    gap:4px;
    width:100%;
    min-height:0;
    margin-top:5px;
    padding:8px 0 14px;
    overflow:hidden;
  }
  #dxAndroidExactAppV303 .dx304-ring-shell{
    width:100%;max-width:320px;aspect-ratio:1/1;margin:0 auto;padding:0;
    border-radius:0;background:none;
  }
  #dxAndroidExactAppV303 .dx304-ring-shell::before{display:none}
  #dxAndroidExactAppV303 .dx306-ring-svg{display:block;width:100%;height:100%;overflow:visible}
  #dxAndroidExactAppV303 .dx306-ring-outline{fill:none;stroke:#d0f2f2f2;stroke-width:1.6}
  #dxAndroidExactAppV303 .dx306-ring-base{fill:none;stroke:#10172a;stroke-width:27;stroke-linecap:round}
  #dxAndroidExactAppV303 .dx306-ring-progress{fill:none;stroke:url(#dx306RingGradient);stroke-width:27;stroke-linecap:round}
  #dxAndroidExactAppV303 .dx306-ring-center{fill:#030407}
  #dxAndroidExactAppV303 .dx306-chart-bg{fill:#060a12;stroke:#182133;stroke-width:1.4}
  #dxAndroidExactAppV303 .dx306-ring-grid circle,
  #dxAndroidExactAppV303 .dx306-ring-grid line{fill:none;stroke:rgba(139,150,180,.15);stroke-width:1}
  #dxAndroidExactAppV303 .dx306-ring-line{fill:none;stroke:url(#dx306RingGradient);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
  #dxAndroidExactAppV303 .dx306-ring-fill{fill:url(#dx306RingFill);stroke:none}
  #dxAndroidExactAppV303 .dx306-ring-bars rect{fill:url(#dx306RingGradient);filter:drop-shadow(0 0 4px rgba(255,27,103,.25))}

  #dxAndroidExactAppV303 .dx304-metrics{
    height:100%;min-height:0;align-self:stretch;justify-content:center;gap:16px;
    padding:28px 6px;
    background:#0a1220;
  }
  #dxAndroidExactAppV303 .dx304-metrics.left{
    margin-left:-10px;
    padding-left:20px;padding-right:6px;
    border-radius:0;
    clip-path:polygon(9% 9%,32% 2%,96% 15%,96% 85%,32% 98%,9% 91%);
    background:linear-gradient(90deg,#0a1220 0%,#101d3359 72%,#0a1220 100%);
  }
  #dxAndroidExactAppV303 .dx304-metrics.right{
    margin-right:-10px;
    padding-left:6px;padding-right:20px;
    border-radius:0;
    clip-path:polygon(91% 9%,68% 2%,4% 15%,4% 85%,68% 98%,91% 91%);
    background:linear-gradient(270deg,#0a1220 0%,#101d3359 72%,#0a1220 100%);
  }
  #dxAndroidExactAppV303 .dx304-metric{min-width:0}
  #dxAndroidExactAppV303 .dx304-metric small{font-size:10px;color:#8b96b4}
  #dxAndroidExactAppV303 .dx304-metric strong{font-size:15px;color:#fff}
  #dxAndroidExactAppV303 .dx304-chart-current{margin-top:10px}
  #dxAndroidExactAppV303 .dx304-recent-chip{
    height:34px;min-height:34px;margin-top:10px;padding:8px 14px;
    background:linear-gradient(90deg,#101724,#0a1018);
  }
  #dxAndroidExactAppV303 .dx304-chart-toggle{
    width:min(calc(100% - 32px),480px);margin-top:10px;padding:6px;
    border-radius:999px;background:linear-gradient(90deg,#101724,#0a1018);
  }
  #dxAndroidExactAppV303 .dx304-chart-toggle button{height:42px;border-radius:21px;background:#172239}
  #dxAndroidExactAppV303 .dx304-analysis{width:min(calc(100% - 32px),480px);margin-top:10px;border-radius:18px;background:#101722}

  /* Android HealthActivity: 45% hero, fixed report card and direct scan/result replacement. */
  #dxAndroidExactAppV303 .dx303-health-body{
    grid-template-rows:minmax(190px,45%) minmax(260px,55%);
    gap:10px;
    margin-top:8px;
  }
  #dxAndroidExactAppV303 .dx303-health-hero{margin:0 0 0;background-color:#001307}
  #dxAndroidExactAppV303 .dx303-health-car{width:112%;bottom:11%}
  #dxAndroidExactAppV303 .dx306-health-score{
    position:absolute;left:50%;bottom:2px;z-index:3;transform:translateX(-50%);
    padding:0 8px;color:#fff;font-size:32px;font-weight:900;
  }
  #dxAndroidExactAppV303 .dx303-health-report{
    min-height:260px;padding:12px 16px 14px;border-radius:13px;background:#111;
  }
  #dxAndroidExactAppV303 .dx303-health-list{padding-bottom:8px}
  #dxAndroidExactAppV303 .dx306-health-results{display:grid;gap:10px;margin-top:12px}
  #dxAndroidExactAppV303 .dx306-health-row{padding:10px 0;border-bottom:1px solid rgba(255,255,255,.06)}
  #dxAndroidExactAppV303 .dx306-health-row:last-child{border-bottom:0}
  #dxAndroidExactAppV303 .dx306-health-row>div{display:flex;align-items:center;gap:10px}
  #dxAndroidExactAppV303 .dx306-health-row strong{flex:1;color:#fff;font-size:13px}
  #dxAndroidExactAppV303 .dx306-health-row span{color:#b8c4d0;font-size:12px}
  #dxAndroidExactAppV303 .dx306-health-row i{display:block;height:10px;margin-top:8px;border-radius:5px;background:#252a2f;overflow:hidden}
  #dxAndroidExactAppV303 .dx306-health-row i b{display:block;height:100%;border-radius:5px;background:#59cf7c}
  #dxAndroidExactAppV303 .dx306-health-results.is-scanning i b{width:38%;animation:dx306-health-scan 1.1s ease-in-out infinite alternate}
  #dxAndroidExactAppV303 .dx303-health-activity.is-scanning .dx303-health-car{animation:dx306-car-scan 1.35s ease-in-out infinite}
  #dxAndroidExactAppV303 .dx303-health-check{
    display:flex;align-items:center;justify-content:center;width:100%;height:54px;
    margin:12px auto 0;border-radius:3px;text-align:center;
  }
  #dxAndroidExactAppV303 .dx303-health-check:disabled{opacity:.5}

  @keyframes dx306-health-scan{from{transform:translateX(-20%);width:28%}to{transform:translateX(165%);width:42%}}
  @keyframes dx306-car-scan{0%,100%{filter:brightness(.95)}50%{filter:brightness(1.2) drop-shadow(0 0 12px rgba(65,255,100,.25))}}

  @media(max-width:370px){
    #dxAndroidExactAppV303 .dx304-trend-stage{grid-template-columns:78px minmax(0,1fr) 78px;gap:0}
    #dxAndroidExactAppV303 .dx304-metrics.left{margin-left:-8px;padding-left:16px}
    #dxAndroidExactAppV303 .dx304-metrics.right{margin-right:-8px;padding-right:16px}
    #dxAndroidExactAppV303 .dx304-metric strong{font-size:13px}
  }
}

/* v307 — mobile-only stability, Bluetooth-only connection and dashboard-synced gauge. */
@media (max-width:767px){
  /* The browser chrome/safe areas use the same tone as the active native screen. */
  #dxAndroidExactAppV303[data-active-screen="gauge"],
  #dxAndroidExactAppV303[data-active-screen="health"],
  #dxAndroidExactAppV303[data-active-screen="gauge"]::before,
  #dxAndroidExactAppV303[data-active-screen="health"]::before{
    background:#000!important;
  }
  #dxAndroidExactAppV303[data-active-screen="gauge"] .dx303-screen.is-active,
  #dxAndroidExactAppV303[data-active-screen="health"] .dx303-screen.is-active{
    background:#000!important;
  }

  /* Quick-Scan owns its own scroll region. The read/clear dock participates in
     layout and can no longer cover fault cards or their actions. */
  #dxAndroidExactAppV303 .dx303-activity-diagnostics{
    display:grid;
    grid-template-rows:40px minmax(0,1fr) 72px;
    row-gap:12px;
    min-height:0;
  }
  #dxAndroidExactAppV303 .dx303-diagnostics-body{
    min-height:0;
    margin:0;
    padding:0 0 16px;
    overflow-x:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-y:contain;
    overflow-anchor:none;
    touch-action:pan-y;
    scrollbar-width:none;
  }
  #dxAndroidExactAppV303 .dx303-diagnostics-body::-webkit-scrollbar{display:none}
  #dxAndroidExactAppV303 .dx303-diagnostic-toolbar{
    position:relative;
    left:auto;
    right:auto;
    bottom:auto;
    z-index:4;
    width:100%;
    height:72px;
    margin:0;
    align-self:end;
  }
  #dxAndroidExactAppV303 .dx303-dtc-results{
    padding-bottom:4px;
  }
  #dxAndroidExactAppV303 .dx303-dtc-results .dtc-card-v16{
    margin:12px 0 0!important;
    max-width:100%!important;
  }
  #dxAndroidExactAppV303 .dx303-dtc-results .dtc-actions-v128{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  #dxAndroidExactAppV303 .dx303-dtc-results .dtc-actions-v128>*{
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    white-space:normal!important;
  }

  /* Health check is available directly; no lock artwork or premium overlay. */
  #dxAndroidExactAppV303 .dx305-lock{display:none!important}
  #dxAndroidExactAppV303 .dx303-health-check{opacity:1}

  /* Full-screen gauge keeps one permanent scroller. Dynamic readings only update
     the gauge/chart hosts, so the page never jumps back to the top. */
  #dxAndroidExactAppV303 .dx307-gauge-svg-host{
    width:100%;
    height:100%;
  }
  #dxAndroidExactAppV303 .dx307-chart-area{
    width:100%;
    min-height:290px;
    padding-bottom:2px;
  }
  #dxAndroidExactAppV303 .dx304-trend-stage{
    min-height:260px;
    margin-top:8px;
    padding:10px 0 14px;
  }
  #dxAndroidExactAppV303 .dx304-ring-shell{
    max-width:320px;
    min-width:0;
  }
  /* RingTrendChartView in Android has a clean inner surface without a visible
     radar grid/outer outline. */
  #dxAndroidExactAppV303 .dx306-ring-outline,
  #dxAndroidExactAppV303 .dx306-ring-grid circle,
  #dxAndroidExactAppV303 .dx306-ring-grid line{
    stroke:transparent!important;
  }
  #dxAndroidExactAppV303 .dx306-chart-bg{
    fill:#060a12!important;
    stroke:transparent!important;
  }
  #dxAndroidExactAppV303 .dx306-ring-line{
    stroke-width:1.8!important;
    filter:drop-shadow(0 0 4px rgba(78,86,255,.25));
  }
  #dxAndroidExactAppV303 .dx306-ring-fill{opacity:.82}
  #dxAndroidExactAppV303 .dx304-metrics{
    gap:18px;
  }
  #dxAndroidExactAppV303 .dx304-chart-toggle button:not(.is-active){
    color:#8d98aa;
    background:transparent;
  }
  #dxAndroidExactAppV303 .dx304-chart-toggle button.is-active{
    color:#fff;
    background:#172239;
  }
  #dxAndroidExactAppV303 .dx307-chart-waiting{
    width:min(calc(100% - 32px),480px);
    min-height:252px;
    margin:12px auto 0;
    padding:28px 22px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    border:1px solid rgba(255,255,255,.08);
    border-radius:26px;
    background:linear-gradient(180deg,#101722,#080d14);
  }
  #dxAndroidExactAppV303 .dx307-chart-waiting-icon{
    width:64px;
    height:64px;
    display:grid;
    place-items:center;
    border-radius:22px;
    background:#172239;
  }
  #dxAndroidExactAppV303 .dx307-chart-waiting-icon img{width:34px;height:34px}
  #dxAndroidExactAppV303 .dx307-chart-waiting strong{margin-top:16px;font-size:17px;color:#fff}
  #dxAndroidExactAppV303 .dx307-chart-waiting p{max-width:320px;margin:8px 0 0;color:#aeb9c7;font-size:13px;line-height:1.5}
  #dxAndroidExactAppV303 .dx307-chart-waiting button{
    min-height:46px;
    margin-top:18px;
    padding:0 20px;
    border:0;
    border-radius:16px;
    background:#168cf4;
    color:#fff;
    font-weight:850;
  }

  /* Bluetooth-only connection sheet and the in-app Bluefy/legal notice. */
  #dxAndroidExactAppV303 .dx307-sheet-copy{
    margin:0 0 14px;
    color:#aeb9c7;
    font-size:13px;
    line-height:1.45;
    text-align:center;
  }
  #dxAndroidExactAppV303 .dx307-bluefy-sheet{
    max-height:min(82dvh,690px);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-y:contain;
    scrollbar-width:none;
  }
  #dxAndroidExactAppV303 .dx307-bluefy-sheet::-webkit-scrollbar{display:none}
  #dxAndroidExactAppV303 .dx307-bluefy-icon{
    width:68px;
    height:68px;
    margin:4px auto 14px;
    display:grid;
    place-items:center;
    border-radius:23px;
    background:#172d42;
  }
  #dxAndroidExactAppV303 .dx307-bluefy-icon img{width:36px;height:36px}
  #dxAndroidExactAppV303 .dx307-bluefy-sheet>p{
    margin:10px 0 0;
    color:#c1cad6;
    font-size:13px;
    line-height:1.52;
    text-align:left;
  }
  #dxAndroidExactAppV303 .dx307-legal-note{
    margin-top:16px;
    padding:14px;
    border:1px solid rgba(255,184,77,.22);
    border-radius:18px;
    background:rgba(255,184,77,.07);
  }
  #dxAndroidExactAppV303 .dx307-legal-note strong,
  #dxAndroidExactAppV303 .dx307-legal-note span{display:block}
  #dxAndroidExactAppV303 .dx307-legal-note strong{color:#ffd18a;font-size:13px}
  #dxAndroidExactAppV303 .dx307-legal-note span{margin-top:6px;color:#c5cbd4;font-size:11.5px;line-height:1.5}
  #dxAndroidExactAppV303 .dx307-sheet-primary{
    width:100%;
    min-height:50px;
    margin-top:16px;
    border:0;
    border-radius:17px;
    background:#168cf4;
    color:#fff;
    font-weight:900;
  }

  @media(max-width:370px){
    #dxAndroidExactAppV303 .dx303-activity-diagnostics{grid-template-rows:40px minmax(0,1fr) 66px}
    #dxAndroidExactAppV303 .dx303-diagnostic-toolbar{height:66px;padding:8px 16px}
    #dxAndroidExactAppV303 .dx303-scan-action img{width:48px;height:48px}
    #dxAndroidExactAppV303 .dx304-trend-stage{min-height:235px}
  }
}
@media (max-width:767px){
  #dxAndroidExactAppV303 .dx307-ring-dot{
    fill:#ff1b66;
    filter:drop-shadow(0 0 5px rgba(255,27,102,.45));
  }
}
@media (max-width:767px){
  #dxAndroidExactAppV303,
  #dxAndroidExactAppV303::before{
    background:var(--dx307-active-bg,var(--dx303-bg))!important;
  }
}

/* v308 — mobile-only Android sensor/header parity and persistent lower gauge diagram. */
@media (max-width:767px){
  /* Vehicle header: show model and VIN as two explicit Android-style rows. */
  #dxAndroidExactAppV303 .dx305-vehicle-label,
  #dxAndroidExactAppV303 .dx305-vehicle-main{
    display:grid;
    grid-template-columns:58px minmax(0,1fr);
    align-items:center;
    gap:8px;
    min-width:0;
  }
  #dxAndroidExactAppV303 .dx305-vehicle-label span,
  #dxAndroidExactAppV303 .dx305-vehicle-main span{
    color:#8193a8;
    font-size:10px;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
  }
  #dxAndroidExactAppV303 .dx305-vehicle-label b,
  #dxAndroidExactAppV303 .dx305-vehicle-main b{
    min-width:0;
    overflow:hidden;
    color:#eef4fb;
    font-size:12px;
    font-weight:900;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  #dxAndroidExactAppV303 .dx305-vehicle-main b{
    color:#d9e2ed;
    font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
    font-size:11px;
    letter-spacing:.025em;
  }
  #dxAndroidExactAppV303 .dx305-vehicle-meta{
    padding-left:66px;
  }

  /* Android AddWidgetActivity search and category selector. */
  #dxAndroidExactAppV303 .dx303-search-card{
    height:52px;
    padding:0 15px;
    border:1px solid rgba(255,255,255,.055);
    border-radius:18px;
    background:#20272f;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
  }
  #dxAndroidExactAppV303 .dx303-search-icon{
    width:24px;
    height:24px;
    display:grid;
    flex:0 0 24px;
    place-items:center;
    color:#92a2b5;
  }
  #dxAndroidExactAppV303 .dx303-search-icon svg{
    width:21px;
    height:21px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
    stroke-linecap:round;
  }
  #dxAndroidExactAppV303 .dx303-search-card input{
    margin-left:11px;
    font-size:15px;
    font-weight:650;
  }
  #dxAndroidExactAppV303 .dx303-tabs{
    gap:8px;
    margin-top:13px;
    padding:1px 1px 5px;
  }
  #dxAndroidExactAppV303 .dx303-tab{
    height:42px;
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:0 13px 0 9px;
    border:1px solid rgba(255,255,255,.055);
    border-radius:21px;
    background:#10202b;
    color:#dfe8f1;
    font-size:11px;
    font-weight:900;
    box-shadow:none;
  }
  #dxAndroidExactAppV303 .dx303-tab.is-active{
    border-color:color-mix(in srgb,#168cf4 62%,transparent);
    background:#168cf4;
    color:#fff;
  }
  #dxAndroidExactAppV303 .dx308-tab-icon{
    width:27px;
    height:27px;
    display:grid;
    flex:0 0 27px;
    place-items:center;
    border-radius:50%;
    background:rgba(255,255,255,.075);
  }
  #dxAndroidExactAppV303 .dx303-tab.is-active .dx308-tab-icon{
    background:rgba(3,20,34,.2);
  }
  #dxAndroidExactAppV303 .dx308-tab-icon img{
    width:16px;
    height:16px;
    object-fit:contain;
  }

  /* Sensor cards use the same category icon family and compact Android status stack. */
  #dxAndroidExactAppV303 .dx303-sensor-row{
    grid-template-columns:40px minmax(0,1fr) 74px;
  }
  #dxAndroidExactAppV303 .dx303-sensor-row-state{
    min-width:74px;
  }
  #dxAndroidExactAppV303 .dx303-sensor-row-state strong,
  #dxAndroidExactAppV303 .dx303-sensor-row-state small{
    min-width:70px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:4px;
    padding:5px 8px;
    border-radius:14px;
    color:#aab6c5;
    background:#303740;
    white-space:nowrap;
  }
  #dxAndroidExactAppV303 .dx303-sensor-row-state strong i{
    display:grid;
    width:14px;
    height:14px;
    place-items:center;
    border-radius:50%;
    background:#47515d;
    color:#d6dde5;
    font-size:9px;
    font-style:normal;
    font-weight:1000;
  }
  #dxAndroidExactAppV303 .dx303-sensor-row-state.is-live strong,
  #dxAndroidExactAppV303 .dx303-sensor-row-state.is-live small{
    color:#5ff0ac;
    background:#15372c;
  }
  #dxAndroidExactAppV303 .dx303-sensor-row-state.is-live strong i{
    background:#36d98c;
    color:#062015;
  }
  #dxAndroidExactAppV303 .dx303-sensor-row-state small{
    margin-top:7px;
    font-size:8.5px;
  }

  /* The lower chart is always present. Idle mode keeps the complete Android geometry visible. */
  #dxAndroidExactAppV303 .dx307-chart-area{
    min-height:360px;
  }
  #dxAndroidExactAppV303 .dx304-trend-stage.is-idle .dx306-ring-progress{
    opacity:.3;
  }
  #dxAndroidExactAppV303 .dx304-trend-stage.is-idle .dx306-ring-line,
  #dxAndroidExactAppV303 .dx304-trend-stage.is-idle .dx306-ring-fill,
  #dxAndroidExactAppV303 .dx304-trend-stage.is-idle .dx306-ring-bars{
    opacity:.25;
  }
  #dxAndroidExactAppV303 .dx308-chart-state{
    width:max-content;
    max-width:calc(100% - 32px);
    min-height:28px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    margin:0 auto 2px;
    padding:6px 11px;
    border-radius:14px;
    background:#111923;
    color:#93a2b5;
    font-size:10px;
    font-weight:800;
    text-align:center;
  }
  #dxAndroidExactAppV303 .dx308-chart-state>span{
    width:7px;
    height:7px;
    flex:0 0 7px;
    border-radius:50%;
    background:#64748b;
  }
  #dxAndroidExactAppV303 .dx308-chart-state.is-live{
    color:#75e8b2;
    background:#0b241b;
  }
  #dxAndroidExactAppV303 .dx308-chart-state.is-live>span{
    background:#36d98c;
    box-shadow:0 0 0 4px rgba(54,217,140,.1);
  }
  #dxAndroidExactAppV303 .dx304-chart-current strong:empty::before{
    content:'—';
  }
}

@media (max-width:370px){
  #dxAndroidExactAppV303 .dx303-sensor-row{
    grid-template-columns:38px minmax(0,1fr) 66px;
    column-gap:9px;
    padding-left:10px;
    padding-right:10px;
  }
  #dxAndroidExactAppV303 .dx303-sensor-row-state{
    min-width:66px;
  }
  #dxAndroidExactAppV303 .dx303-sensor-row-state strong,
  #dxAndroidExactAppV303 .dx303-sensor-row-state small{
    min-width:64px;
    padding-left:6px;
    padding-right:6px;
  }
  #dxAndroidExactAppV303 .dx305-vehicle-label,
  #dxAndroidExactAppV303 .dx305-vehicle-main{
    grid-template-columns:48px minmax(0,1fr);
    gap:6px;
  }
  #dxAndroidExactAppV303 .dx305-vehicle-meta{
    padding-left:54px;
  }
}


/* v309 — smartphone-only Android vehicle identity, exact AddWidget search and browser safe-area fix. */
@media (max-width:767px){
  html.dx-v303-mobile-html,
  body.dx-v303-mobile{
    background:var(--dx309-active-bg,#081018)!important;
  }
  #dxAndroidExactAppV303{
    top:var(--dx309-viewport-top,0px);
    right:0;
    bottom:auto;
    left:0;
    height:var(--dx309-viewport-height,100dvh);
    min-height:0;
    background:#081018;
  }
  #dxAndroidExactAppV303::before{
    background:var(--dx307-active-bg,#081018)!important;
  }

  /* toolbar_logo.xml parity: one vehicle line, raw VIN below it and Android live metadata. */
  #dxAndroidExactAppV303 .dx303-vehicle-header{
    min-height:96px;
    padding:14px 16px;
  }
  #dxAndroidExactAppV303 .dx303-vehicle-model{
    display:block;
    margin-top:3px;
    overflow:hidden;
    color:#b8c4d0;
    font-size:12px;
    font-weight:700;
    line-height:1.25;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  #dxAndroidExactAppV303 .dx303-vin{
    display:block;
    overflow:hidden;
    color:#b8c4d0;
    font-family:Roboto,Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-size:12px;
    font-weight:700;
    letter-spacing:0;
    line-height:1.25;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  #dxAndroidExactAppV303 .dx305-vehicle-meta{
    margin-top:3px;
    padding-left:0;
    overflow:hidden;
    color:#7e90a2;
    font-size:11px;
    line-height:1.25;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  #dxAndroidExactAppV303 .dx305-vehicle-label,
  #dxAndroidExactAppV303 .dx305-vehicle-main{
    display:none!important;
  }

  /* activity_add_widget.xml parity. */
  #dxAndroidExactAppV303 .dx303-search-card{
    width:100%;
    min-height:56px;
    height:auto;
    margin-top:18px;
    padding:9px;
    border:0;
    border-radius:24px;
    background:rgba(255,255,255,.078);
    box-shadow:none;
  }
  #dxAndroidExactAppV303 .dx303-search-icon{
    width:38px;
    height:38px;
    flex:0 0 38px;
    display:grid;
    place-items:center;
    border-radius:14px;
    background:linear-gradient(135deg,rgba(73,168,255,.188),rgba(0,212,255,.094));
    color:#fff;
    font-size:16px;
    line-height:1;
  }
  #dxAndroidExactAppV303 .dx303-search-icon svg{display:none!important}
  #dxAndroidExactAppV303 .dx303-search-card input{
    width:0;
    min-width:0;
    height:38px;
    flex:1 1 auto;
    margin-left:12px;
    padding:9px 2px;
    border:0;
    border-radius:0;
    outline:0;
    background:transparent;
    color:#fff;
    caret-color:#4ca7ff;
    font-size:15px;
    font-weight:400;
    line-height:20px;
    -webkit-appearance:none;
    appearance:none;
  }
  #dxAndroidExactAppV303 .dx303-search-card input::placeholder{
    color:rgba(255,255,255,.50);
    opacity:1;
  }
  #dxAndroidExactAppV303 .dx303-search-card input::-webkit-search-decoration,
  #dxAndroidExactAppV303 .dx303-search-card input::-webkit-search-cancel-button,
  #dxAndroidExactAppV303 .dx303-search-card input::-webkit-search-results-button,
  #dxAndroidExactAppV303 .dx303-search-card input::-webkit-search-results-decoration{
    -webkit-appearance:none;
  }

  /* Visible-viewport anchoring for Safari and Chrome browser bars. */
  #dxAndroidExactAppV303 .dx303-footer{
    left:15px;
    right:15px;
    bottom:max(8px,calc(var(--dx303-safe-bottom) + 6px));
    height:86px;
    padding:4px 5px;
    border-radius:29px;
  }
  #dxAndroidExactAppV303 .dx303-widget-scroll{
    bottom:calc(max(8px,calc(var(--dx303-safe-bottom) + 6px)) + 98px);
  }
}


/* v310 — smartphone-only chart grid, stable search fields and native vehicle editor. */
@media (max-width:767px){
  /* RingTrendChart: no green surface. A restrained technical grid stays visible
     behind the blue/pink Android line and bar data. */
  #dxAndroidExactAppV303 .dx306-chart-bg{
    fill:#060a12!important;
    stroke:rgba(93,117,153,.28)!important;
    stroke-width:1.15!important;
  }
  #dxAndroidExactAppV303 .dx306-ring-grid circle,
  #dxAndroidExactAppV303 .dx306-ring-grid line{
    stroke:rgba(112,132,164,.23)!important;
    stroke-width:.9!important;
  }
  #dxAndroidExactAppV303 .dx306-ring-fill{
    fill:url(#dx306RingFill)!important;
    opacity:.62!important;
  }
  #dxAndroidExactAppV303 .dx306-ring-line{
    stroke:url(#dx306RingGradient)!important;
    stroke-width:2.05!important;
    filter:drop-shadow(0 0 4px rgba(71,80,255,.34));
  }
  #dxAndroidExactAppV303 .dx306-ring-bars rect{
    fill:url(#dx306RingGradient)!important;
    filter:drop-shadow(0 0 3px rgba(89,67,255,.30));
  }

  /* Real 18 px magnifier instead of an oversized text/emoji glyph. */
  #dxAndroidExactAppV303 .dx303-search-icon svg{
    display:block!important;
    width:18px!important;
    height:18px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.9!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }
  #dxAndroidExactAppV303 .dx310-search-tile{
    width:38px;
    height:38px;
    flex:0 0 38px;
  }
  #dxAndroidExactAppV303 .dx310-search-plain{
    width:22px;
    height:22px;
    flex:0 0 22px;
    border-radius:0;
    background:transparent;
    color:#ccd7e5;
  }
  #dxAndroidExactAppV303 .dx310-vehicle-search{
    min-height:54px;
    padding:8px 16px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:22px;
    background:rgba(255,255,255,.078);
  }
  #dxAndroidExactAppV303 .dx310-vehicle-search input{
    margin-left:10px;
  }

  /* iOS Safari zooms focused controls below 16px. All native mobile inputs stay
     at 16px while retaining the compact Android geometry. */
  #dxAndroidExactAppV303 input,
  #dxAndroidExactAppV303 textarea,
  #dxAndroidExactAppV303 select,
  #dxAndroidExactAppV303 .dx303-search-card input{
    font-size:16px!important;
    -webkit-text-size-adjust:100%;
  }
  #dxAndroidExactAppV303 .dx303-search-card,
  #dxAndroidExactAppV303 .dx303-search-card input{
    touch-action:manipulation;
  }

  /* VehicleSetupFragment-inspired editor, rendered completely inside the app UI. */
  #dxAndroidExactAppV303 .dx310-toolbar-close{
    color:#fff;
    font-size:26px;
    font-weight:400;
    line-height:1;
  }
  #dxAndroidExactAppV303 .dx310-vehicle-editor{
    padding:10px 0 calc(var(--dx303-safe-bottom) + 18px);
  }
  #dxAndroidExactAppV303 .dx310-vin-detect{
    display:grid;
    grid-template-columns:48px minmax(0,1fr) 38px;
    align-items:center;
    gap:12px;
    min-height:92px;
    padding:14px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:22px;
    background:linear-gradient(145deg,rgba(32,42,54,.96),rgba(18,25,34,.96));
  }
  #dxAndroidExactAppV303 .dx310-vin-detect.has-vin{
    border-color:rgba(72,215,153,.28);
    background:linear-gradient(145deg,rgba(23,54,47,.94),rgba(16,31,31,.97));
  }
  #dxAndroidExactAppV303 .dx310-vin-icon{
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border-radius:17px;
    background:rgba(76,167,255,.13);
  }
  #dxAndroidExactAppV303 .dx310-vin-icon img{width:42px;height:42px;object-fit:contain}
  #dxAndroidExactAppV303 .dx310-vin-copy{min-width:0}
  #dxAndroidExactAppV303 .dx310-vin-copy strong,
  #dxAndroidExactAppV303 .dx310-vin-copy small,
  #dxAndroidExactAppV303 .dx310-vin-copy b{display:block}
  #dxAndroidExactAppV303 .dx310-vin-copy strong{color:#fff;font-size:14px;font-weight:900}
  #dxAndroidExactAppV303 .dx310-vin-copy small{margin-top:3px;color:#95a4b6;font-size:11px;line-height:1.35}
  #dxAndroidExactAppV303 .dx310-vin-copy b{
    margin-top:7px;
    overflow:hidden;
    color:#cfe5fb;
    font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
    font-size:11px;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  #dxAndroidExactAppV303 .dx310-vin-detect>button{
    width:38px;
    height:38px;
    border:0;
    border-radius:14px;
    background:rgba(255,255,255,.08);
    color:#fff;
    font-size:21px;
  }
  #dxAndroidExactAppV303 .dx310-vehicle-form-error{
    margin-top:12px;
    padding:11px 13px;
    border:1px solid rgba(255,122,122,.24);
    border-radius:15px;
    background:rgba(104,28,36,.28);
    color:#ffb6bb;
    font-size:12px;
    line-height:1.4;
  }
  #dxAndroidExactAppV303 .dx310-vehicle-form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin-top:16px;
  }
  #dxAndroidExactAppV303 .dx310-vehicle-field{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:7px;
  }
  #dxAndroidExactAppV303 .dx310-vehicle-field.is-wide{grid-column:1/-1}
  #dxAndroidExactAppV303 .dx310-vehicle-field>span{
    padding-left:3px;
    color:#aeb9c7;
    font-size:11px;
    font-weight:800;
  }
  #dxAndroidExactAppV303 .dx310-vehicle-field input,
  #dxAndroidExactAppV303 .dx310-vehicle-field textarea{
    width:100%;
    min-width:0;
    min-height:52px;
    padding:13px 14px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:17px;
    outline:0;
    background:#20272f;
    color:#fff;
    caret-color:#4ca7ff;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
    -webkit-appearance:none;
    appearance:none;
  }
  #dxAndroidExactAppV303 .dx310-vehicle-field textarea{
    min-height:96px;
    resize:none;
    line-height:1.4;
  }
  #dxAndroidExactAppV303 .dx310-vehicle-field input:focus,
  #dxAndroidExactAppV303 .dx310-vehicle-field textarea:focus{
    border-color:rgba(76,167,255,.62);
    box-shadow:0 0 0 3px rgba(76,167,255,.10);
  }
  #dxAndroidExactAppV303 .dx310-vehicle-field input::placeholder,
  #dxAndroidExactAppV303 .dx310-vehicle-field textarea::placeholder{color:#717f90;opacity:1}
  #dxAndroidExactAppV303 .dx310-vehicle-form-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin-top:20px;
  }
  #dxAndroidExactAppV303 .dx310-vehicle-form-actions button{
    min-height:54px;
    border:0;
    border-radius:18px;
    font-size:15px;
    font-weight:900;
  }
  #dxAndroidExactAppV303 .dx310-primary{background:#0a84ff;color:#fff}
  #dxAndroidExactAppV303 .dx310-secondary{background:#20272f;color:#dce5ef}
}

@media (max-width:390px){
  #dxAndroidExactAppV303 .dx310-vehicle-form-grid{grid-template-columns:1fr}
  #dxAndroidExactAppV303 .dx310-vehicle-field.is-wide{grid-column:auto}
}
