/* ==========================================================================
   Vaytax v2 — App UI polish (2026-04-23)
   Load on: login, register, dashboard, file, pay, reset-password, update-password,
   client, dauerfrist. CSS-only visual upgrade — preserves ALL existing form
   logic, data bindings, and routes.

   Activated by <body class="v2-app"> on the page.
   ========================================================================== */

/* ---------- Headings: Marcellus navy ---------- */
.v2-app h1, .v2-app h2, .v2-app h3, .v2-app h4 {
  font-family: 'Marcellus', serif !important;
  font-weight: 400 !important;
  color: #233985;
  letter-spacing: -0.2px;
}
.v2-app h1 { font-size: 2rem; }
.v2-app h2 { font-size: 1.5rem; }
.v2-app h1 em, .v2-app h2 em { color: #8a6d3b; font-style: italic; font-weight: 400; }

/* ---------- Generic card: flag-stripe top ---------- */
.v2-app .card,
.v2-app .panel,
.v2-app .form-card,
.v2-app .dash-card {
  position: relative;
  border-radius: 10px;
}
.v2-app .card.v2-accent::before,
.v2-app .panel.v2-accent::before,
.v2-app .dash-card.primary::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(
    90deg,
    #000 0%, #000 33.333%,
    #dd0000 33.333%, #dd0000 66.666%,
    #ffcc00 66.666%, #ffcc00 100%
  );
  border-radius: 10px 10px 0 0;
}

/* ---------- Primary button: navy with hover lift ---------- */
.v2-app .btn-primary,
.v2-app .btn-next,
.v2-app button[type="submit"]:not(.btn-outline):not(.btn-ghost):not(.btn-secondary):not(.btn-danger) {
  background: #233985;
  color: #fff;
  border: 1px solid #233985;
}
.v2-app .btn-primary:hover,
.v2-app .btn-next:hover {
  background: #14203b;
  border-color: #14203b;
}

/* ---------- Dash-nav tabs ---------- */
.v2-app .dash-nav a,
.v2-app .tab-nav a,
.v2-app .tabs a {
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.v2-app .dash-nav a.active,
.v2-app .tab-nav a.active,
.v2-app .tabs a.active {
  color: #233985;
  border-bottom-color: #233985;
}

/* ---------- App header (dashboard/file) ---------- */
.v2-app .app-header,
.v2-app .page-header,
.v2-app .dash-header {
  background: #fff;
  border-bottom: 1px solid #e6e6e6;
}

/* ---------- Page footer ---------- */
.v2-app .page-footer {
  background: #f8f9fb;
  border-top: 1px solid #e6e6e6;
  color: #7a7a7a;
  font-size: 12px;
}

/* ---------- Registration wizard: flag-stripe top on progress header ---------- */
.v2-app .wizard-header,
.v2-app .register-header,
.v2-app .step-header {
  position: relative;
  background: linear-gradient(135deg, #14203b 0%, #233985 100%);
  color: #fff;
}
.v2-app .wizard-header::before,
.v2-app .register-header::before,
.v2-app .step-header::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(
    90deg,
    #000 0%, #000 33.333%,
    #dd0000 33.333%, #dd0000 66.666%,
    #ffcc00 66.666%, #ffcc00 100%
  );
}

/* ---------- Stats numbers (Roboto Mono for amounts) ---------- */
.v2-app .amount,
.v2-app .mono {
  font-family: 'Roboto Mono', Menlo, monospace;
  font-variant-numeric: tabular-nums;
  color: #14203b;
}

/* ---------- Tables ---------- */
.v2-app table.filings,
.v2-app table.data-table,
.v2-app table.admin-table {
  border-collapse: collapse; width: 100%;
}
.v2-app table.filings th,
.v2-app table.data-table th,
.v2-app table.admin-table th {
  font-family: 'Montserrat', sans-serif;
  font-size: 10px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 1px;
  color: #7a7a7a;
  background: #fafbfc;
  padding: 14px 16px;
  text-align: left;
  border-bottom: 1px solid #e6e6e6;
}
.v2-app table.filings td,
.v2-app table.data-table td {
  padding: 16px;
  border-bottom: 1px solid #f5f5f5;
}

/* ---------- Status badges ---------- */
.v2-app .status-badge,
.v2-app .badge-status,
.v2-app .filing-status {
  font-family: 'Montserrat', sans-serif;
  font-size: 10px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 1px;
  padding: 4px 10px; border-radius: 999px;
  display: inline-block;
}
.v2-app .status-ready, .v2-app .filing-status.pending { background: #fff8e1; color: #b8770e; }
.v2-app .status-filed, .v2-app .filing-status.filed { background: #e8f5e9; color: #1f8a4c; }
.v2-app .status-confirmed, .v2-app .filing-status.confirmed { background: #e0f2fe; color: #075985; }
.v2-app .status-submitted, .v2-app .filing-status.submitted { background: #f0f4ff; color: #233985; }
