:root {
        --brand-navy: #2c4364;
        --brand-navy-dark: #1e3050;
        --brand-yellow: #ffcd00;
        --brand-yellow-bright: #fff112;
        --brand-yellow-hover: #ffe600;
        --brand-gray-text: #64748b;
        --brand-success: #10b981;
        --color-page-bg: #f8fafc;
        --color-border: #e8eff7;
        --color-border-soft: #f1f5f9;
        --color-input-border: #e2e8f0;
        --color-muted: #94a3b8;
        --color-muted-light: #cbd5e1;
        --color-error: #ef4444;
        --color-error-bg: #fee2e2;
        --font-family-base: "Poppins", sans-serif;
        --text-xs: 0.68rem;
        --text-sm: 0.72rem;
        --text-md: 0.78rem;
        --text-label: 0.82rem;
        --text-button: 0.85rem;
        --text-body: 0.9rem;
        --text-strong: 0.95rem;
        --radius-sm: 0.4rem;
        --radius-md: 0.5rem;
        --radius-lg: 0.75rem;
        --radius-xl: 1.25rem;
        --space-2xs: 0.3rem;
        --space-xs: 0.4rem;
        --space-sm: 0.6rem;
        --space-md: 0.75rem;
        --space-lg: 1rem;
        --space-xl: 1.25rem;
        --space-2xl: 1.5rem;
        --space-3xl: 1.75rem;
        --shadow-card: 0 4px 24px rgba(0, 0, 0, 0.08);
        --shadow-card-hover: 0 12px 36px rgba(0, 0, 0, 0.13);
      }

      

      body {
        font-family: var(--font-family-base);
        background: var(--color-page-bg);
        color: var(--brand-navy);
        min-height: 100vh;
        display: flex;
        flex-direction: column;
      }

      /* ── CANVAS BACKGROUND ── */
      #bg-canvas {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 0;
        pointer-events: none;
      }

      /* ── HEADER ── */
      

      

      

      

      /* Nav menu (igual à home) */
      

      

      

      

      

      

      

      
      

      

      

      /* ── MAIN ── */
      main {
        position: relative;
        z-index: 1;
        flex: 1;
        padding: 3.5rem 1.5rem 5rem;
      }

      .page-inner {
        max-width: 680px;
        margin: 0 auto;
      }

      /* ── TÍTULO ── */
      .page-title {
        text-align: center;
        margin-bottom: 2.25rem;
      }

      .page-title h1 {
        font-size: clamp(1.6rem, 4vw, 2.4rem);
        font-weight: 900;
        color: var(--brand-navy);
        line-height: 1.15;
      }

      .page-title h1 span {
        background: var(--brand-yellow-bright);
        color: var(--brand-navy);
        padding: 0.05em 0.3em;
        border-radius: var(--radius-sm);
        display: inline-block;
      }

      /* Divisor */
      .page-rule {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        margin: 1rem auto 0.6rem;
        max-width: 360px;
        justify-content: center;
      }

      .page-rule-line {
        flex: 1;
        height: 2px;
        background: linear-gradient(90deg, rgba(44, 67, 100, 0.03), rgba(44, 67, 100, 0.18));
      }

      .page-rule-line.rev {
        background: linear-gradient(90deg, rgba(44, 67, 100, 0.18), rgba(44, 67, 100, 0.03));
      }

      .page-rule-icon {
        display: block;
        flex-shrink: 0;
      }

      .page-subtitle {
        text-align: center;
        font-size: var(--text-body);
        color: var(--brand-gray-text);
        margin-top: 0.6rem;
      }

      /* ── CARD DE BUSCA ── */
      .search-card {
        background: #fff;
        border-radius: var(--radius-xl);
        padding: 2rem 1.75rem;
        box-shadow: var(--shadow-card);
        border: 1.5px solid var(--color-border);
        margin-bottom: 1.5rem;
      }

      .search-label {
        display: block;
        font-size: var(--text-label);
        font-weight: 700;
        color: var(--brand-navy);
        margin-bottom: 0.5rem;
        letter-spacing: 0.02em;
      }

      .search-row {
        display: flex;
        gap: 0.75rem;
      }

      .search-input {
        flex: 1;
        height: 3rem;
        border: 1.5px solid var(--color-input-border);
        border-radius: var(--radius-lg);
        padding: 0 1rem;
        font-family: inherit;
        font-size: var(--text-strong);
        font-weight: 600;
        color: var(--brand-navy);
        letter-spacing: 0.05em;
        text-transform: uppercase;
        outline: none;
        transition:
          border-color 0.2s,
          box-shadow 0.2s;
      }

      .search-input::placeholder {
        text-transform: none;
        font-weight: 400;
        color: var(--color-muted);
        letter-spacing: 0;
      }

      .search-input:focus {
        border-color: var(--brand-navy);
        box-shadow: 0 0 0 3px rgba(44, 67, 100, 0.1);
      }

      .search-btn {
        height: 3rem;
        padding: 0 1.5rem;
        background: var(--brand-navy);
        color: #fff;
        border: none;
        border-radius: var(--radius-lg);
        font-family: inherit;
        font-size: var(--text-button);
        font-weight: 700;
        letter-spacing: 0.04em;
        cursor: pointer;
        display: flex;
        align-items: center;
        gap: 0.4rem;
        white-space: nowrap;
        transition:
          background 0.2s,
          box-shadow 0.2s;
      }

      .search-btn:hover {
        background: var(--brand-navy-dark);
        box-shadow: 0 4px 16px rgba(44, 67, 100, 0.3);
      }

      .search-btn:disabled {
        opacity: 0.6;
        cursor: not-allowed;
      }

      .search-hint {
        margin-top: 0.6rem;
        font-size: var(--text-sm);
        color: var(--brand-gray-text);
        display: flex;
        align-items: center;
        gap: 0.3rem;
      }

      /* ── AVISO: intermediadora de fretes ── */
      .tracking-notice {
        display: flex;
        align-items: flex-start;
        gap: var(--space-md);
        max-width: 560px;
        margin: var(--space-lg) auto 0;
        padding: var(--space-lg) var(--space-xl);
        background: #fffdf2;
        border: 1.5px solid var(--color-border);
        border-left: 4px solid var(--brand-yellow);
        border-radius: var(--radius-lg);
        box-shadow: var(--shadow-card);
      }

      .tracking-notice-icon {
        flex-shrink: 0;
        width: 34px;
        height: 34px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background: var(--brand-yellow);
        color: var(--brand-navy);
        margin-top: 1px;
      }

      .tracking-notice-text {
        font-size: var(--text-md);
        line-height: 1.55;
        color: var(--brand-navy);
      }

      .tracking-notice-text strong {
        font-weight: 700;
      }

      /* ── RESULTADO ── */
      .result-area {
        display: none;
        animation: fadeUp 0.4s ease both;
      }

      .result-area.show {
        display: block;
      }

      @keyframes fadeUp {
        from {
          opacity: 0;
          transform: translateY(16px);
        }
        to {
          opacity: 1;
          transform: translateY(0);
        }
      }

      /* Card de status */
      .result-card {
        background: #fff;
        border-radius: var(--radius-xl);
        box-shadow: var(--shadow-card);
        border: 1.5px solid var(--color-border);
        overflow: hidden;
        margin-bottom: 1.25rem;
      }

      .result-header {
        background: var(--brand-navy);
        padding: 1.25rem 1.75rem;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        flex-wrap: wrap;
      }

      .result-code {
        font-size: var(--text-strong);
        font-weight: 800;
        color: #fff;
        letter-spacing: 0.06em;
      }

      .result-badge {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        background: var(--brand-yellow-bright);
        color: var(--brand-navy);
        font-size: var(--text-sm);
        font-weight: 800;
        padding: 0.3rem 0.85rem;
        border-radius: 999px;
        text-transform: uppercase;
        letter-spacing: 0.06em;
      }

      .result-body {
        padding: 1.5rem 1.75rem;
      }

      /* Timeline de eventos */
      .timeline {
        position: relative;
        display: flex;
        flex-direction: column;
        gap: 0;
      }

      .timeline-item {
        display: flex;
        gap: 1rem;
        position: relative;
      }

      .timeline-item:not(:last-child)::after {
        content: "";
        position: absolute;
        left: 0.9rem;
        top: 2.2rem;
        bottom: -0.5rem;
        width: 2px;
        background: var(--color-border);
      }

      .timeline-dot {
        flex-shrink: 0;
        width: 1.8rem;
        height: 1.8rem;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-top: 0.1rem;
      }

      .timeline-dot.active {
        background: var(--brand-navy);
        box-shadow: 0 0 0 4px rgba(44, 67, 100, 0.12);
      }

      .timeline-dot.done {
        background: var(--color-border);
      }

      .timeline-content {
        padding-bottom: 1.25rem;
        flex: 1;
      }

      .timeline-status {
        font-size: var(--text-button);
        font-weight: 700;
        color: var(--brand-navy);
      }

      .timeline-item:not(.is-active) .timeline-status {
        color: var(--color-muted);
      }

      .timeline-desc {
        font-size: var(--text-md);
        color: var(--brand-gray-text);
        margin-top: 0.15rem;
      }

      .timeline-date {
        font-size: var(--text-sm);
        color: var(--color-muted-light);
        margin-top: 0.2rem;
      }

      /* Estado de loading */
      .loading-state {
        display: none;
        text-align: center;
        padding: 2.5rem 1rem;
      }

      .loading-state.show {
        display: block;
      }

      .spinner {
        width: 2.5rem;
        height: 2.5rem;
        border: 3px solid var(--color-border);
        border-top-color: var(--brand-navy);
        border-radius: 50%;
        animation: spin 0.8s linear infinite;
        margin: 0 auto 1rem;
      }

      @keyframes spin {
        to {
          transform: rotate(360deg);
        }
      }

      .loading-text {
        font-size: var(--text-button);
        color: var(--brand-gray-text);
        font-weight: 500;
      }

      /* Estado de erro */
      .error-state {
        display: none;
        text-align: center;
        padding: 2rem 1.5rem;
        background: #fff;
        border-radius: var(--radius-xl);
        border: 1.5px solid var(--color-error-bg);
        box-shadow: var(--shadow-card);
        margin-bottom: 1.25rem;
      }

      .error-state.show {
        display: block;
      }

      .error-icon {
        width: 3rem;
        height: 3rem;
        border-radius: 50%;
        background: var(--color-error-bg);
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto 0.75rem;
        color: var(--color-error);
      }

      .error-title {
        font-size: var(--text-strong);
        font-weight: 700;
        color: var(--brand-navy);
        margin-bottom: 0.3rem;
      }

      .error-desc {
        font-size: var(--text-label);
        color: var(--brand-gray-text);
        line-height: 1.6;
      }

      /* CTA rastrear em outra transportadora */
      .alt-track-card {
        background: var(--brand-navy);
        border-radius: var(--radius-xl);
        padding: 1.5rem 1.75rem;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        flex-wrap: wrap;
      }

      .alt-track-text {
        font-size: var(--text-button);
        color: rgba(255, 255, 255, 0.8);
        line-height: 1.5;
      }

      .alt-track-text strong {
        color: #fff;
        display: block;
        margin-bottom: 0.2rem;
      }

      .alt-track-btn {
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
        background: var(--brand-yellow-bright);
        color: var(--brand-navy);
        font-weight: 700;
        font-size: var(--text-md);
        padding: 0.65rem 1.25rem;
        border-radius: 0.6rem;
        text-decoration: none;
        white-space: nowrap;
        transition: background 0.2s;
        flex-shrink: 0;
      }

      .alt-track-btn:hover {
        background: var(--brand-yellow-hover);
      }

      /* ── FOOTER ── */
      

      

      

      .footer-mission-wrap {
        text-align: center;
      }

      

      

      

      

      

      

      


      /* ── RESPONSIVO ── */
      @media (max-width: 480px) {
        .search-row {
          flex-direction: column;
        }
        .search-btn {
          width: 100%;
          justify-content: center;
        }
        .result-header {
          flex-direction: column;
          align-items: flex-start;
        }
      }
