/* USABusca — acabamento minimalista premium */
:root {
  --ink: #1d1d1f;
  --paper: #f5f5f7;
  --line: #dedfe4;
  --muted: #6e6e73;
  --red: #c92139;
  --red-dark: #a9182e;
  --shadow: 0 8px 30px rgba(0, 0, 0, .045);
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Arial, sans-serif;
  background: var(--paper);
  color: var(--ink);
  letter-spacing: -.005em;
}
h1, h2, h3, .brand {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Arial, sans-serif;
  font-weight: 650;
}
h1, h2, h3 { letter-spacing: -.035em; }
button, input { font-family: inherit; }
button { letter-spacing: -.01em; }

/* Navegação discreta */
.sidebar {
  background: #0c0e12;
  border-right: 1px solid #202228;
  box-shadow: none;
}
.brand-mark {
  background: #c92139;
  border: 0;
  border-radius: 11px;
  box-shadow: none;
  font-weight: 700;
}
.brand-mark::after { display: none; }
.brand strong { font-weight: 650; letter-spacing: -.025em; }
.brand span { color: #86868b; font-weight: 500; }
.nav-item {
  color: #a1a1a6;
  border: 0;
  border-radius: 10px;
  font-weight: 550;
}
.nav-item:hover {
  color: #f5f5f7;
  background: rgba(255, 255, 255, .055);
  transform: none;
}
.nav-item.active {
  color: #fff;
  background: rgba(255, 255, 255, .1);
  border: 0;
  box-shadow: none;
}
.nav-item.active::before {
  content: '';
  width: 3px;
  height: 17px;
  margin-left: -8px;
  border-radius: 3px;
  background: #e1374e;
}
.source-badge { border-top-color: #25272d; }
.status-dot {
  background: #d8d8dc;
  box-shadow: none;
}
.logout-button:hover { color: #f5f5f7; }

/* Cabeçalho limpo */
.main { padding-top: 30px; }
.topbar {
  padding: 3px 1px 18px;
  margin-bottom: 22px;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(210, 210, 215, .75);
  border-radius: 0;
  box-shadow: none;
  backdrop-filter: none;
}
.topbar .eyebrow { color: #86868b; }
.avatar {
  width: 38px;
  height: 38px;
  color: #1d1d1f;
  background: #e8e8ed;
  border: 0;
  font-weight: 600;
}

/* Hero fosco e tipografia precisa */
.lookup-hero {
  padding: 38px;
  background: #111318;
  border: 1px solid #22252c;
  border-radius: 20px;
  box-shadow: 0 14px 35px rgba(0, 0, 0, .12);
}
.lookup-hero::before { display: none; }
.lookup-hero::after {
  left: 38px;
  width: 48px;
  height: 3px;
  background: #d32640;
}
.lookup-hero h2 {
  max-width: 530px;
  font-size: clamp(27px, 2.6vw, 36px);
  font-weight: 650;
  letter-spacing: -.045em;
}
.lookup-hero p:not(.eyebrow) { color: #a1a1aa; }
.lookup-hero .eyebrow { color: #d8d8dc; opacity: .72; }
.vin-form {
  padding: 19px;
  background: rgba(255, 255, 255, .055);
  border: 1px solid rgba(255, 255, 255, .11);
  border-radius: 15px;
  backdrop-filter: blur(20px) saturate(120%);
}
.vin-form > label { color: #c7c7cc; font-weight: 550; }
.vin-input-row input {
  min-height: 54px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 11px;
  box-shadow: none;
  color: #111318;
  font-weight: 550;
}
.vin-input-row input:focus {
  border-color: rgba(255, 255, 255, .75);
  box-shadow: 0 0 0 3px rgba(255, 255, 255, .1);
}
.input-meta { color: #86868b; }

/* Botões flat, sem aparência de Android */
.button {
  min-height: 47px;
  padding: 12px 19px;
  border-radius: 11px;
  font-weight: 600;
  box-shadow: none;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease, opacity .16s ease;
}
.button:hover { transform: none; box-shadow: none; }
.button.accent {
  color: #fff;
  background: #c92139;
  border: 1px solid #c92139;
  box-shadow: none;
}
.button.accent:hover {
  background: #ae1b30;
  border-color: #ae1b30;
  box-shadow: none;
}
.button.primary {
  color: #fff;
  background: #111318;
  border: 1px solid #111318;
  box-shadow: none;
}
.button.primary:hover { background: #2c2c2e; }
.button.secondary {
  color: #1d1d1f;
  background: rgba(255, 255, 255, .75);
  border: 1px solid #d2d2d7;
  box-shadow: none;
}
.button.secondary:hover {
  background: #fff;
  border-color: #aeaeb2;
  box-shadow: none;
}
.scan-button {
  color: #f5f5f7;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, .24);
}
.scan-button:hover { background: rgba(255, 255, 255, .08); }
.text-button {
  color: #33415c;
  font-weight: 550;
}
.text-button:hover { background: rgba(0, 0, 0, .04); }

/* Superfícies claras e quase sem sombra */
.empty-state,
.result,
.data-card,
.checklist-section,
.history-item,
.guide-grid article {
  border-color: #e1e1e6;
  box-shadow: none;
}
.empty-state {
  background: rgba(255, 255, 255, .72);
  border-radius: 18px;
  backdrop-filter: blur(18px);
}
.empty-icon {
  color: #1d1d1f;
  background: #e8e8ed;
  border: 0;
  box-shadow: none;
}
.empty-features span {
  color: #6e6e73;
  background: transparent;
  border-color: #d2d2d7;
  padding: 7px 11px;
  font-weight: 500;
}
.result { border-radius: 18px; box-shadow: 0 8px 30px rgba(0, 0, 0, .04); }
.result-head h2 { font-weight: 650; }
.source-pill {
  color: #48484a;
  background: #f5f5f7;
  border-color: #e1e1e6;
}
.vin-strip { background: #17181c; }
.vin-strip .text-button:hover { background: rgba(255, 255, 255, .08); }
.data-card { border-radius: 13px; }
.data-card:hover {
  transform: none;
  border-color: #c7c7cc;
  box-shadow: none;
}
.data-card strong { font-weight: 600; }
.scope-note {
  background: #fafafa;
  border-color: #e1e1e6;
  border-left-color: #c92139;
}
.checklist-section { border-radius: 15px; }
.progress { background: #e8e8ed; }
.progress span { background: #c92139; }
.check-item:hover { background: #f5f5f7; }
.history-item { border-radius: 13px; }
.history-item:hover {
  transform: none;
  border-color: #c7c7cc;
  box-shadow: none;
}
.history-vin {
  color: #3a3a3c;
  background: #f5f5f7;
  border-color: #e1e1e6;
  font-weight: 550;
}
.guide-grid article { border-radius: 15px; }
.guide-grid article:hover { transform: none; box-shadow: none; }
.provider-card {
  background: #111318;
  border-color: #24262c;
  border-radius: 16px;
  box-shadow: none;
}

/* Login e scanner */
.login-brand { background: #0c0e12; }
.login-brand::before { width: 54px; height: 3px; background: #c92139; }
.login-brand::after { display: none; }
.login-brand > p:not(.eyebrow) { color: #a1a1aa; }
.login-card {
  border: 1px solid #e1e1e6;
  border-radius: 20px;
  box-shadow: 0 18px 55px rgba(0, 0, 0, .065);
}
.login-card input { border-radius: 10px; }
.login-card input:focus {
  border-color: #86868b;
  box-shadow: 0 0 0 3px rgba(0, 0, 0, .055);
}
.login-card .button.primary { background: #111318; box-shadow: none; }
.scanner-dialog { border-radius: 19px; box-shadow: 0 25px 80px rgba(0, 0, 0, .3); }
.scanner-close { border-radius: 10px; }
.scanner-view { border-radius: 13px; }
.scanner-frame::after { background: #fff; box-shadow: 0 0 8px rgba(255, 255, 255, .55); }
.scanner-status { color: #1d1d1f; }

/* Navegação móvel flutuante estilo iOS */
@media (max-width: 760px) {
  .main { padding: 18px 15px 112px; }
  .topbar { padding: 2px 1px 15px; margin-bottom: 18px; }
  .lookup-hero { padding: 27px 20px 21px; border-radius: 19px; }
  .lookup-hero::after { left: 20px; }
  .lookup-hero h2 { font-size: 27px; }
  .vin-form { padding: 13px; border-radius: 14px; }
  .button { min-height: 48px; }
  .mobile-nav {
    left: 14px;
    right: 14px;
    bottom: calc(12px + env(safe-area-inset-bottom));
    max-width: 430px;
    margin: 0 auto;
    padding: 7px;
    background: rgba(18, 19, 23, .88);
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 20px;
    box-shadow: 0 12px 35px rgba(0, 0, 0, .2);
    backdrop-filter: blur(24px) saturate(140%);
  }
  .mobile-nav button {
    min-width: 0;
    flex: 1;
    padding: 7px 14px;
    border-radius: 14px;
    color: #a1a1a6;
  }
  .mobile-nav button.active {
    color: #fff;
    background: rgba(255, 255, 255, .11);
  }
  .toast { border-radius: 13px; }
}
