@charset "UTF-8";
/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS (and SCSS, if configured) file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *
 */
@font-face {
  font-family: 'GothamNarrow';
  /* Generic family name */
  src: url(/assets/GothamNarrow-Light-07427914fdb6c88fe0bddfba73de00f1b22da4a6b1938fab67253416d1d26de2.otf) format("opentype");
  font-weight: 300;
  /* Use numeric weight */
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'GothamNarrow';
  /* Same generic family name */
  src: url(/assets/GothamNarrow-Medium-5ccc50e9e27b577e04bb89988b13e572c9ed03fb9c2fef261e8daefde647e606.otf) format("opentype");
  font-weight: 400;
  /* Use numeric weight */
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'GothamNarrow';
  /* Same generic family name */
  src: url(/assets/GothamNarrow-Bold-d4a383f5eb59001c3a72489164d6b799a01a78da5ae7fba7f05106fc11d6116e.otf) format("opentype");
  font-weight: 700;
  /* Use numeric weight */
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'GothamNarrow';
  /* Same generic family name */
  src: url(/assets/GothamNarrow-BookItalic-141664cc9cefe8b83b7a222fa1a245763e7f80abb221d301b5ba30cf25b484f5.otf) format("opentype");
  font-weight: 300;
  /* Use numeric weight */
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'GothamNarrow';
  /* Same generic family name */
  src: url(/assets/GothamNarrow-Book-3e673e22df374032beb36e3604550c04d389252e8b230136efe65c209127834d.otf) format("opentype");
  font-weight: 300;
  /* Use numeric weight */
  font-style: normal;
  font-display: swap;
}

@tailwind base;
@tailwind components;
@tailwind utilities;
/* =================================================
   Admin V2 Theme System  (admin_v2_themes.css)
   To add a new theme: add a [data-v2-theme="name"]
   block with overridden custom properties. The
   @layer components section never needs to change.
   ================================================= */
/* --- Default theme: slate sidebar + blue accent --- */
/* line 13, app/assets/stylesheets/application.tailwind.css */
[data-v2-theme="default"],
[data-v2-theme] {
  --v2-sidebar-bg:           #1e293b;
  --v2-sidebar-text:         #94a3b8;
  --v2-sidebar-heading-text: #f1f5f9;
  --v2-sidebar-hover-bg:     #334155;
  --v2-sidebar-hover-text:   #f1f5f9;
  --v2-sidebar-active-bg:    #3b82f6;
  --v2-sidebar-active-text:  #ffffff;
  --v2-sidebar-divider:      rgba(148,163,184,0.15);
  --v2-sidebar-width:        220px;
  --v2-brand-bg:             #0f172a;
  --v2-brand-text:           #ffffff;
  --v2-page-bg:              #f1f5f9;
  --v2-topbar-bg:            #ffffff;
  --v2-topbar-border:        #e2e8f0;
  --v2-topbar-text:          #0f172a;
  --v2-surface-bg:           #ffffff;
  --v2-surface-border:       #e2e8f0;
  --v2-surface-shadow:       0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);
  --v2-surface-shadow-lg:    0 4px 16px rgba(0,0,0,.10), 0 2px 4px rgba(0,0,0,.06);
  --v2-table-header-bg:      #f8fafc;
  --v2-table-row-hover:      #f1f5f9;
  --v2-card-accent:          #3b82f6;
  --v2-card-alt-accent:      #6366f1;
  --v2-card-alert-accent:    #ef4444;
  --v2-card-alert-bg:        #fff5f5;
  --v2-btn-primary-bg:       #3b82f6;
  --v2-btn-primary-hover:    #2563eb;
  --v2-btn-primary-text:     #ffffff;
  --v2-btn-danger-bg:        #ef4444;
  --v2-btn-danger-hover:     #dc2626;
  --v2-btn-danger-text:      #ffffff;
  --v2-btn-action-bg:        #3b82f6;
  --v2-btn-action-hover:     #2563eb;
  --v2-btn-action-text:      #ffffff;
  --v2-badge-success-bg:     #dcfce7;
  --v2-badge-success-text:   #15803d;
  --v2-badge-pending-bg:     #fef9c3;
  --v2-badge-pending-text:   #854d0e;
  --v2-badge-danger-bg:      #fee2e2;
  --v2-badge-danger-text:    #b91c1c;
  --v2-text-primary:         #0f172a;
  --v2-text-secondary:       #64748b;
}

/* --- Ocean theme: deep teal sidebar + teal accent --- */
/* line 60, app/assets/stylesheets/application.tailwind.css */
[data-v2-theme="ocean"] {
  --v2-sidebar-bg:           #042f2e;
  --v2-sidebar-text:         #5eead4;
  --v2-sidebar-heading-text: #ffffff;
  --v2-sidebar-hover-bg:     #0d3b36;
  --v2-sidebar-hover-text:   #ccfbf1;
  --v2-sidebar-active-bg:    #0d9488;
  --v2-sidebar-active-text:  #ffffff;
  --v2-sidebar-divider:      rgba(94,234,212,0.15);
  --v2-sidebar-width:        220px;
  --v2-brand-bg:             #021a1a;
  --v2-brand-text:           #ccfbf1;
  --v2-page-bg:              #f0fdfa;
  --v2-topbar-bg:            #ffffff;
  --v2-topbar-border:        #99f6e4;
  --v2-topbar-text:          #042f2e;
  --v2-surface-bg:           #ffffff;
  --v2-surface-border:       #99f6e4;
  --v2-surface-shadow:       0 1px 3px rgba(13,148,136,.10), 0 1px 2px rgba(13,148,136,.06);
  --v2-surface-shadow-lg:    0 4px 16px rgba(13,148,136,.14), 0 2px 4px rgba(13,148,136,.08);
  --v2-table-header-bg:      #f0fdfa;
  --v2-table-row-hover:      #ccfbf1;
  --v2-card-accent:          #0d9488;
  --v2-card-alt-accent:      #0891b2;
  --v2-card-alert-accent:    #e11d48;
  --v2-card-alert-bg:        #fff1f2;
  --v2-btn-primary-bg:       #0d9488;
  --v2-btn-primary-hover:    #0f766e;
  --v2-btn-primary-text:     #ffffff;
  --v2-btn-danger-bg:        #e11d48;
  --v2-btn-danger-hover:     #be123c;
  --v2-btn-danger-text:      #ffffff;
  --v2-btn-action-bg:        #0d9488;
  --v2-btn-action-hover:     #0f766e;
  --v2-btn-action-text:      #ffffff;
  --v2-badge-success-bg:     #dcfce7;
  --v2-badge-success-text:   #15803d;
  --v2-badge-pending-bg:     #ffedd5;
  --v2-badge-pending-text:   #c2410c;
  --v2-badge-danger-bg:      #ffe4e6;
  --v2-badge-danger-text:    #be123c;
  --v2-text-primary:         #042f2e;
  --v2-text-secondary:       #0f766e;
}

@layer components {
  /* Page shell */
  /* line 108, app/assets/stylesheets/application.tailwind.css */
  .v2-page {
    @apply flex flex-col min-h-screen w-full;
    background-color: var(--v2-page-bg);
  }
  /* line 112, app/assets/stylesheets/application.tailwind.css */
  .v2-page-title {
    @apply px-8 py-4 text-lg font-semibold tracking-tight border-b flex-none;
    background-color: var(--v2-topbar-bg);
    border-color: var(--v2-topbar-border);
    color: var(--v2-topbar-text);
    box-shadow: var(--v2-surface-shadow);
    position: relative;
    z-index: 1;
  }
  /* line 121, app/assets/stylesheets/application.tailwind.css */
  .v2-page-body {
    @apply flex flex-1;
    min-height: 0;
  }
  /* line 125, app/assets/stylesheets/application.tailwind.css */
  .v2-page-sidebar {
    @apply flex-none flex flex-col;
    width: var(--v2-sidebar-width);
    background-color: var(--v2-sidebar-bg);
    order: -1;
    min-height: 100%;
  }
  /* line 132, app/assets/stylesheets/application.tailwind.css */
  .v2-page-content {
    @apply flex-1 p-8 overflow-x-auto;
    min-width: 0;
  }
  /* Sidebar navigation */
  /* line 138, app/assets/stylesheets/application.tailwind.css */
  .v2-nav-brand {
    @apply flex items-center px-5 py-4 text-sm font-bold uppercase select-none flex-none;
    background-color: var(--v2-brand-bg);
    color: var(--v2-brand-text);
    letter-spacing: 0.12em;
  }
  /* line 144, app/assets/stylesheets/application.tailwind.css */
  .v2-nav {
    @apply flex flex-col flex-1 py-3 overflow-y-auto;
  }
  /* line 147, app/assets/stylesheets/application.tailwind.css */
  .v2-nav-aside {
    @apply w-full;
  }
  /* line 150, app/assets/stylesheets/application.tailwind.css */
  .v2-nav-link {
    @apply flex items-center px-5 py-2.5 text-sm font-medium transition-colors duration-150 select-none;
    color: var(--v2-sidebar-text);
    text-decoration: none;
  }
  /* line 155, app/assets/stylesheets/application.tailwind.css */
  .v2-nav-link:hover {
    background-color: var(--v2-sidebar-hover-bg);
    color: var(--v2-sidebar-hover-text);
    text-decoration: none;
  }
  /* line 160, app/assets/stylesheets/application.tailwind.css */
  .v2-nav-link-active {
    background-color: var(--v2-sidebar-active-bg);
    color: var(--v2-sidebar-active-text);
    font-weight: 600;
  }
  /* line 165, app/assets/stylesheets/application.tailwind.css */
  .v2-nav-link-active:hover {
    background-color: var(--v2-sidebar-active-bg);
    color: var(--v2-sidebar-active-text);
  }
  /* line 169, app/assets/stylesheets/application.tailwind.css */
  .v2-nav-divider {
    @apply mx-5 my-3;
    border: none;
    border-top: 1px solid var(--v2-sidebar-divider);
  }
  /* line 174, app/assets/stylesheets/application.tailwind.css */
  .v2-nav-section-label {
    @apply px-5 pb-1 pt-2 text-xs font-semibold uppercase tracking-widest;
    color: var(--v2-sidebar-text);
    opacity: 0.55;
  }
  /* Tables */
  /* line 181, app/assets/stylesheets/application.tailwind.css */
  .v2-table {
    @apply w-full text-sm rounded-xl overflow-hidden;
    background-color: var(--v2-surface-bg);
    border: 1px solid var(--v2-surface-border);
    box-shadow: var(--v2-surface-shadow);
    border-collapse: separate;
    border-spacing: 0;
  }
  /* line 189, app/assets/stylesheets/application.tailwind.css */
  .v2-th {
    @apply px-5 py-3 text-left text-xs font-semibold uppercase tracking-wide;
    background-color: var(--v2-table-header-bg);
    border-bottom: 1px solid var(--v2-surface-border);
    color: var(--v2-text-secondary);
  }
  /* line 195, app/assets/stylesheets/application.tailwind.css */
  .v2-th:first-child {
    border-radius: 0.75rem 0 0 0;
  }
  /* line 196, app/assets/stylesheets/application.tailwind.css */
  .v2-th:last-child {
    border-radius: 0 0.75rem 0 0;
  }
  /* line 197, app/assets/stylesheets/application.tailwind.css */
  .v2-td {
    @apply px-5 py-3;
    border-bottom: 1px solid var(--v2-surface-border);
    color: var(--v2-text-primary);
    transition: background-color 100ms;
  }
  /* line 203, app/assets/stylesheets/application.tailwind.css */
  .v2-td-actions {
    @apply px-4 py-2 flex items-center gap-1.5 flex-wrap;
    border-bottom: 1px solid var(--v2-surface-border);
    transition: background-color 100ms;
  }
  /* line 208, app/assets/stylesheets/application.tailwind.css */
  .v2-table tbody tr:hover .v2-td,
.v2-table tbody tr:hover .v2-td-actions {
    background-color: var(--v2-table-row-hover);
  }
  /* line 212, app/assets/stylesheets/application.tailwind.css */
  .v2-table tbody tr:last-child .v2-td,
.v2-table tbody tr:last-child .v2-td-actions {
    border-bottom: none;
  }
  /* line 216, app/assets/stylesheets/application.tailwind.css */
  .v2-table tbody tr:last-child .v2-td:first-child {
    border-radius: 0 0 0 0.75rem;
  }
  /* line 217, app/assets/stylesheets/application.tailwind.css */
  .v2-table tbody tr:last-child .v2-td:last-child,
.v2-table tbody tr:last-child .v2-td-actions:last-child {
    border-radius: 0 0 0.75rem 0;
  }
  /* Buttons */
  /* line 221, app/assets/stylesheets/application.tailwind.css */
  .v2-btn-primary {
    @apply inline-flex items-center px-3 py-1.5 text-xs font-semibold rounded-md transition-colors duration-150 cursor-pointer whitespace-nowrap;
    color: var(--v2-btn-primary-text);
    background-color: var(--v2-btn-primary-bg);
    border: none;
  }
  /* line 227, app/assets/stylesheets/application.tailwind.css */
  .v2-btn-primary:hover {
    background-color: var(--v2-btn-primary-hover);
  }
  /* line 229, app/assets/stylesheets/application.tailwind.css */
  .v2-btn-danger {
    @apply inline-flex items-center px-3 py-1.5 text-xs font-semibold rounded-md transition-colors duration-150 cursor-pointer whitespace-nowrap;
    color: var(--v2-btn-danger-text);
    background-color: var(--v2-btn-danger-bg);
    border: none;
  }
  /* line 235, app/assets/stylesheets/application.tailwind.css */
  .v2-btn-danger:hover {
    background-color: var(--v2-btn-danger-hover);
  }
  /* line 237, app/assets/stylesheets/application.tailwind.css */
  .v2-btn-action {
    @apply inline-flex items-center px-4 py-2 text-sm font-semibold rounded-lg transition-colors duration-150 cursor-pointer whitespace-nowrap;
    color: var(--v2-btn-action-text);
    background-color: var(--v2-btn-action-bg);
    border: none;
    box-shadow: var(--v2-surface-shadow);
    text-decoration: none;
  }
  /* line 245, app/assets/stylesheets/application.tailwind.css */
  .v2-btn-action:hover {
    background-color: var(--v2-btn-action-hover);
    color: var(--v2-btn-action-text);
    text-decoration: none;
  }
  /* Dashboard stat cards */
  /* line 252, app/assets/stylesheets/application.tailwind.css */
  .v2-card-container {
    @apply w-full grid gap-5;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  }
  /* line 256, app/assets/stylesheets/application.tailwind.css */
  .v2-card-grid {
    @apply contents;
  }
  /* line 257, app/assets/stylesheets/application.tailwind.css */
  .v2-card,
.v2-card-alt {
    @apply p-5 rounded-xl flex flex-col gap-1;
    background-color: var(--v2-surface-bg);
    border: 1px solid var(--v2-surface-border);
    border-top: 4px solid var(--v2-card-accent);
    box-shadow: var(--v2-surface-shadow);
  }
  /* line 265, app/assets/stylesheets/application.tailwind.css */
  .v2-card-alt {
    border-top-color: var(--v2-card-alt-accent);
  }
  /* line 266, app/assets/stylesheets/application.tailwind.css */
  .v2-card-alert {
    @apply p-5 rounded-xl flex flex-col gap-1;
    background-color: var(--v2-card-alert-bg);
    border: 1px solid var(--v2-surface-border);
    border-top: 4px solid var(--v2-card-alert-accent);
    box-shadow: var(--v2-surface-shadow);
  }
  /* line 273, app/assets/stylesheets/application.tailwind.css */
  .v2-card-title {
    @apply text-xs font-semibold uppercase tracking-wide;
    color: var(--v2-text-secondary);
  }
  /* line 277, app/assets/stylesheets/application.tailwind.css */
  .v2-card-value {
    @apply text-3xl font-bold tabular-nums mt-1;
    color: var(--v2-text-primary);
  }
  /* Filter / stats bar */
  /* line 283, app/assets/stylesheets/application.tailwind.css */
  .v2-filter-bar {
    @apply mb-6 p-4 rounded-xl flex items-center gap-4 flex-wrap;
    background-color: var(--v2-surface-bg);
    border: 1px solid var(--v2-surface-border);
    box-shadow: var(--v2-surface-shadow);
  }
  /* line 289, app/assets/stylesheets/application.tailwind.css */
  .v2-filter-select {
    @apply text-sm rounded-lg px-3 py-1.5 outline-none border;
    background-color: var(--v2-surface-bg);
    border-color: var(--v2-surface-border);
    color: var(--v2-text-primary);
  }
  /* line 295, app/assets/stylesheets/application.tailwind.css */
  .v2-filter-select:focus {
    border-color: var(--v2-btn-primary-bg);
  }
  /* line 296, app/assets/stylesheets/application.tailwind.css */
  .v2-filter-select-inline {
    @apply text-xs font-semibold rounded-md px-2 py-1 outline-none border cursor-pointer;
    background-color: var(--v2-table-header-bg);
    border-color: var(--v2-surface-border);
    color: var(--v2-text-secondary);
  }
  /* line 302, app/assets/stylesheets/application.tailwind.css */
  .v2-stat-count {
    @apply text-3xl font-bold tabular-nums;
    color: var(--v2-text-primary);
  }
  /* line 306, app/assets/stylesheets/application.tailwind.css */
  .v2-stat-label {
    @apply text-sm;
    color: var(--v2-text-secondary);
  }
  /* Forms */
  /* line 312, app/assets/stylesheets/application.tailwind.css */
  .v2-form-card {
    @apply p-6 rounded-xl max-w-lg;
    background-color: var(--v2-surface-bg);
    border: 1px solid var(--v2-surface-border);
    box-shadow: var(--v2-surface-shadow-lg);
  }
  /* line 318, app/assets/stylesheets/application.tailwind.css */
  .v2-form-row {
    @apply flex items-center gap-3 py-2;
  }
  /* line 321, app/assets/stylesheets/application.tailwind.css */
  .v2-form-label {
    @apply text-sm font-medium w-32 flex-none;
    color: var(--v2-text-secondary);
  }
  /* line 325, app/assets/stylesheets/application.tailwind.css */
  .v2-form-input {
    @apply flex-1 text-sm px-3 py-1.5 rounded-lg border outline-none transition-colors duration-150;
    border-color: var(--v2-surface-border);
    color: var(--v2-text-primary);
    background-color: var(--v2-surface-bg);
  }
  /* line 331, app/assets/stylesheets/application.tailwind.css */
  .v2-form-input:focus {
    border-color: var(--v2-btn-primary-bg);
  }
  /* line 332, app/assets/stylesheets/application.tailwind.css */
  .v2-form-file-label {
    @apply block text-sm font-medium mb-2;
    color: var(--v2-text-secondary);
  }
  /* line 336, app/assets/stylesheets/application.tailwind.css */
  .v2-form-file {
    @apply text-sm rounded-lg px-3 py-2 w-full border outline-none;
    border-color: var(--v2-surface-border);
    color: var(--v2-text-primary);
    background-color: var(--v2-surface-bg);
  }
  /* Status badges */
  /* line 344, app/assets/stylesheets/application.tailwind.css */
  .v2-badge {
    @apply inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium;
  }
  /* line 347, app/assets/stylesheets/application.tailwind.css */
  .v2-badge-success {
    background-color: var(--v2-badge-success-bg);
    color: var(--v2-badge-success-text);
  }
  /* line 351, app/assets/stylesheets/application.tailwind.css */
  .v2-badge-pending {
    background-color: var(--v2-badge-pending-bg);
    color: var(--v2-badge-pending-text);
  }
  /* line 355, app/assets/stylesheets/application.tailwind.css */
  .v2-badge-danger {
    background-color: var(--v2-badge-danger-bg);
    color: var(--v2-badge-danger-text);
  }
  /* line 360, app/assets/stylesheets/application.tailwind.css */
  .v2-chart-card {
    @apply p-5 rounded-xl;
    background-color: var(--v2-surface-bg);
    border: 1px solid var(--v2-surface-border);
    box-shadow: var(--v2-surface-shadow);
  }
  /* Login page */
  /* line 368, app/assets/stylesheets/application.tailwind.css */
  .v2-login-page {
    @apply min-h-screen flex items-center justify-center;
    background-color: var(--v2-page-bg);
  }
  /* line 372, app/assets/stylesheets/application.tailwind.css */
  .v2-login-card {
    @apply w-80 p-8 rounded-2xl;
    background-color: var(--v2-surface-bg);
    border: 1px solid var(--v2-surface-border);
    box-shadow: var(--v2-surface-shadow-lg);
  }
  /* line 378, app/assets/stylesheets/application.tailwind.css */
  .v2-login-title {
    @apply text-xl font-bold mb-6 text-center;
    color: var(--v2-text-primary);
  }
  /* line 382, app/assets/stylesheets/application.tailwind.css */
  .v2-login-btn {
    @apply w-full py-2.5 text-sm font-semibold rounded-lg transition-colors duration-150 cursor-pointer;
    color: var(--v2-btn-primary-text);
    background-color: var(--v2-btn-primary-bg);
    border: none;
  }
  /* line 388, app/assets/stylesheets/application.tailwind.css */
  .v2-login-btn:hover {
    background-color: var(--v2-btn-primary-hover);
  }
}

/* line 20, app/assets/stylesheets/application.scss */
:root {
  /* Default root size */
  font-size: clamp(0.75rem, calc(1vw + 0.5rem), 20px);
  line-height: calc(1vw + 1.5rem);
  font-family: 'GothamNarrow', sans-serif;
  font-weight: 300;
}

/* line 27, app/assets/stylesheets/application.scss */
.content {
  margin: 0 auto;
  padding: calc(1vw + 1rem) calc(1vw + 1rem);
}

/* line 33, app/assets/stylesheets/application.scss */
h1, h2, h3, h4 {
  color: #002e59;
  font-size: 2rem;
  line-height: 2rem;
  margin: 1rem 0;
}

/* line 39, app/assets/stylesheets/application.scss */
h2 {
  font-size: 1.5rem;
  line-height: 2rem;
}

/* line 43, app/assets/stylesheets/application.scss */
h3 {
  font-size: 1.2rem;
  line-height: 1.5rem;
}

/* line 47, app/assets/stylesheets/application.scss */
h4 {
  font-size: 1rem;
  line-height: 1.2rem;
}

/* line 51, app/assets/stylesheets/application.scss */
hr {
  border-width: 2px;
}

/* line 54, app/assets/stylesheets/application.scss */
a {
  color: #0065ca;
}

/* line 56, app/assets/stylesheets/application.scss */
a:hover {
  text-decoration: underline;
}

/* line 60, app/assets/stylesheets/application.scss */
p {
  font-size: 1.2rem;
  line-height: 1.8rem;
}

/* line 66, app/assets/stylesheets/application.scss */
.cta {
  background-color: #54722d;
  color: #fff;
  font-size: 1.8rem;
  margin: calc(1vw + 1rem) auto;
  padding: clamp(0.75rem, calc(1vw + 2rem), 33px);
  border-radius: .5rem;
  border-color: #54722d;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.5);
  display: block;
  width: fit-content;
}

/* line 79, app/assets/stylesheets/application.scss */
.cta:hover {
  background-color: rgba(84, 114, 45, 0.8);
  cursor: pointer;
}

/* line 85, app/assets/stylesheets/application.scss */
header .content {
  padding: 0 calc(1vw + 1rem);
}

/* line 88, app/assets/stylesheets/application.scss */
.usaa-header {
  color: #fff;
  background-color: #123a5c;
  padding: calc(1vw + 0.5rem) 0;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.5);
}

/* line 96, app/assets/stylesheets/application.scss */
.usaa-header a {
  color: #fff;
}

/* line 97, app/assets/stylesheets/application.scss */
.sub-header {
  display: flex;
  justify-content: space-between;
  margin: calc(1vw + 1.5rem) auto;
}

/* line 102, app/assets/stylesheets/application.scss */
.usaa-perks-logo {
  max-height: calc(1vw + 2rem);
}

/* line 107, app/assets/stylesheets/application.scss */
.powered-by {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: end;
}

/* line 113, app/assets/stylesheets/application.scss */
.powered-by span {
  margin-right: calc(1vw + 1rem);
}

/* line 116, app/assets/stylesheets/application.scss */
.powered-by img {
  max-height: calc(1vw + 1.5rem);
}

/* line 121, app/assets/stylesheets/application.scss */
.hero {
  display: flex;
  height: calc(1vw + 25rem);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 85%;
}

/* line 128, app/assets/stylesheets/application.scss */
.hero .oem, .hero .oem .content {
  display: flex;
  align-self: flex-end;
  background-color: #000;
  flex-grow: 1;
}

/* line 134, app/assets/stylesheets/application.scss */
.hero .oem .content {
  justify-content: space-between;
  align-items: flex-end;
  padding: calc(1vw + 0.8rem) calc(1vw + 1rem);
}

/* line 139, app/assets/stylesheets/application.scss */
.hero .oem img {
  width: auto;
  height: 100%;
  object-fit: contain;
}

/* line 144, app/assets/stylesheets/application.scss */
.hero .oem .oem-name {
  height: calc(1vw + .8rem);
}

/* line 147, app/assets/stylesheets/application.scss */
.hero .oem .oem-logo {
  height: calc(1vw + 3rem);
}

/* line 152, app/assets/stylesheets/application.scss */
.incentive-details {
  text-align: center;
  justify-content: center;
}

/* line 158, app/assets/stylesheets/application.scss */
.how-it-works {
  justify-items: center;
}

/* line 161, app/assets/stylesheets/application.scss */
.how-it-works ol {
  margin: 0 calc(1vw + 0.8rem);
  list-style: none;
  counter-reset: list-counter;
  /* Resets counter */
  padding-left: 0;
}

/* line 167, app/assets/stylesheets/application.scss */
.how-it-works ol li {
  counter-increment: list-counter;
  /* Increments counter */
  display: flex;
  align-items: center;
  margin: 2rem auto 1rem;
}

/* line 176, app/assets/stylesheets/application.scss */
.how-it-works ol li::before {
  content: counter(list-counter);
  /* Displays counter */
  font-weight: bold;
  font-size: 2rem;
  width: clamp(0.75rem, calc(1vw + 3rem), 5rem);
  height: clamp(0.75rem, calc(1vw + 3rem), 5rem);
  line-height: 3.5rem;
  justify-content: center;
  margin-right: 1.5rem;
  background-color: #002e59;
  color: white;
  border-radius: 50%;
  display: inline-flex;
  flex-shrink: 0;
}

/* line 193, app/assets/stylesheets/application.scss */
.what-are-member-incentives {
  background-repeat: no-repeat;
  background-size: clamp(375px, 200%, 2000px) auto;
  background-position: bottom center;
  background-color: #5598bd;
  text-align: center;
  color: #fff;
  height: calc(1vw + 38rem);
}

/* line 202, app/assets/stylesheets/application.scss */
.what-are-member-incentives h1 {
  color: #fff;
}

/* line 211, app/assets/stylesheets/application.scss */
.eligible-models {
  text-align: center;
}

/* line 214, app/assets/stylesheets/application.scss */
.eligible-models h1 {
  letter-spacing: -0.05rem;
}

/* line 217, app/assets/stylesheets/application.scss */
.eligible-models ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  /* 2 equal columns */
  gap: 1.5rem 1rem;
  /* Space between items */
  list-style: none;
  margin-top: 3rem;
}

/* line 224, app/assets/stylesheets/application.scss */
.eligible-models ul li {
  justify-items: center;
  width: 100%;
}

/* line 228, app/assets/stylesheets/application.scss */
.eligible-models ul li img {
  width: 90%;
}

/* line 231, app/assets/stylesheets/application.scss */
.eligible-models ul li h2 {
  color: #000;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 238, app/assets/stylesheets/application.scss */
.eligible-models ul li h4 {
  font-size: 1.8rem;
  line-height: 2rem;
}

/* line 242, app/assets/stylesheets/application.scss */
.eligible-models ul li h4,
.eligible-models ul li h3 {
  color: #53722d;
  font-weight: 700;
}

/* line 249, app/assets/stylesheets/application.scss */
.registration.content {
  padding-top: 0;
}

/* line 252, app/assets/stylesheets/application.scss */
.registration .info-card {
  margin-bottom: 0.5rem;
}

/* line 255, app/assets/stylesheets/application.scss */
.registration .registration-form {
  margin: 2rem 0;
}

/* line 258, app/assets/stylesheets/application.scss */
.registration .registration-form-fields {
  display: grid;
  gap: 10px;
}

/* line 263, app/assets/stylesheets/application.scss */
.input-group {
  height: 6rem;
}

/* line 268, app/assets/stylesheets/application.scss */
.error-msg {
  color: red;
  font-style: italic;
  font-size: .8rem;
  display: none;
  margin: 0;
}

/* line 276, app/assets/stylesheets/application.scss */
input.input-error,
.input-error {
  border: 1px solid red;
}

/* line 281, app/assets/stylesheets/application.scss */
label {
  font-size: 1.2rem;
  display: block;
}

/* line 287, app/assets/stylesheets/application.scss */
input {
  border: 1px solid #0f0f0f;
  padding: .5rem;
  font-size: 1.2rem;
  width: 100%;
}

/* line 293, app/assets/stylesheets/application.scss */
input::placeholder {
  font-style: italic;
}

/* line 296, app/assets/stylesheets/application.scss */
input:focus {
  border-color: #002e59;
}

/* line 299, app/assets/stylesheets/application.scss */
input[type="checkbox"] {
  width: 2rem;
  height: 2rem;
  margin: 1rem 1rem 1rem 0;
}

/* line 305, app/assets/stylesheets/application.scss */
.tac {
  display: flex;
  align-items: center;
}

/* line 309, app/assets/stylesheets/application.scss */
.tac-checkbox-label {
  font-size: 1.4rem;
  font-style: italic;
}

/* line 316, app/assets/stylesheets/application.scss */
.coupon.content {
  padding-top: 0;
}

/* line 319, app/assets/stylesheets/application.scss */
.coupon hr {
  margin: 2.5rem auto;
}

/* line 322, app/assets/stylesheets/application.scss */
.coupon .oem-logo {
  width: clamp(3rem, 80vw, 15rem);
  height: auto;
  margin: 2rem auto;
}

/* line 327, app/assets/stylesheets/application.scss */
.coupon .offer-code-label,
.coupon .offer-code {
  font-weight: 400;
  text-align: center;
}

/* line 332, app/assets/stylesheets/application.scss */
.coupon .offer-code-label {
  font-size: 2rem;
  margin-bottom: calc(1vw + 1.5rem);
  color: #002e59;
}

/* line 337, app/assets/stylesheets/application.scss */
.coupon .offer-code {
  font-size: calc(1vw + 3.3rem);
  color: #000;
}

/* line 343, app/assets/stylesheets/application.scss */
.print-form .oem-logo {
  width: clamp(3rem, 10vw, 15rem);
  height: auto;
  display: block;
  margin: 0 auto 2rem;
}

/* line 349, app/assets/stylesheets/application.scss */
.print-form section {
  margin-top: 2rem;
}

/* line 352, app/assets/stylesheets/application.scss */
.pricing-table {
  width: 95%;
  margin: 2rem auto;
}

/* line 356, app/assets/stylesheets/application.scss */
.pricing-table h2 {
  margin-bottom: 0;
}

/* line 359, app/assets/stylesheets/application.scss */
.pricing-table p {
  margin-top: 0;
}

/* line 362, app/assets/stylesheets/application.scss */
.print-form table {
  width: 100%;
  border: 1px solid #ccc;
  border-spacing: 0;
}

/* line 367, app/assets/stylesheets/application.scss */
.print-form table tr th {
  padding: 0 .5rem;
  border: 1px solid #ddd;
  background-color: #ccc;
}

/* line 372, app/assets/stylesheets/application.scss */
.print-form table tr td {
  padding: 0 .5rem;
  border: 1px solid #ccc;
  width: 25%;
}

/* line 377, app/assets/stylesheets/application.scss */
.print-form table tr:nth-child(odd) {
  background-color: #fff;
}

/* line 380, app/assets/stylesheets/application.scss */
.print-form table tr:nth-child(even) {
  background-color: #f5f5f5;
}

/* line 383, app/assets/stylesheets/application.scss */
.print-form .eligible-models {
  font-style: italic;
  text-align: left;
  margin-top: 1rem;
  font-size: 1rem;
}

/* line 389, app/assets/stylesheets/application.scss */
.contact-oem-form tr td:nth-child(odd) {
  background-color: #eee;
  font-weight: bold;
}

/* line 393, app/assets/stylesheets/application.scss */
.print-form .fine-print ol {
  padding-left: 2rem;
}

/* line 396, app/assets/stylesheets/application.scss */
.contact-dealer-form td {
  vertical-align: top;
  font-weight: 700;
}

/* line 400, app/assets/stylesheets/application.scss */
.contact-dealer-form td,
.contact-oem-form td {
  width: 50%;
  height: 3.2rem;
  line-height: 1.8rem;
}

/* line 406, app/assets/stylesheets/application.scss */
.contact-dealer-form td div {
  font-weight: 300;
}

/* line 411, app/assets/stylesheets/application.scss */
.disclosures {
  background-color: #ebeae7;
  padding: 1rem 2rem;
}

/* line 415, app/assets/stylesheets/application.scss */
.disclosures p {
  font-size: clamp(0.6rem, 0.85vw, 0.8rem);
  line-height: 1.4;
  margin-bottom: 0.4em;
}

/* Plus size phones (≥ 430px) */
@media (min-width: 430px) {
  /* line 423, app/assets/stylesheets/application.scss */
  .hero {
    height: calc(1vw + 27rem);
  }
  /* line 428, app/assets/stylesheets/application.scss */
  .what-are-member-incentives {
    height: calc(1vw + 40rem);
  }
}

/* Tablets (≥ 600px) */
@media (min-width: 600px) {
  /* Styles for tablets */
}

/* Small Laptops (≥ 768px) */
@media (min-width: 768px) {
  /* line 439, app/assets/stylesheets/application.scss */
  .hero {
    height: calc(1vw + 37rem);
  }
  /* line 444, app/assets/stylesheets/application.scss */
  .what-are-member-incentives {
    height: calc(1vw + 46rem);
  }
  /* line 449, app/assets/stylesheets/application.scss */
  .eligible-models ul {
    /* 3 equal columns */
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  /* line 454, app/assets/stylesheets/application.scss */
  .registration .registration-form-fields {
    display: grid;
    /* 2 equal columns */
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  /* line 459, app/assets/stylesheets/application.scss */
  .input-group {
    height: 7rem;
  }
}

/* Desktops (≥ 1024px) */
@media (min-width: 1024px) {
  /* Styles for desktops */
  /* line 467, app/assets/stylesheets/application.scss */
  .content {
    max-width: 1024px;
  }
  /* line 471, app/assets/stylesheets/application.scss */
  .hero {
    height: calc(1vw + 41rem);
  }
  /* line 476, app/assets/stylesheets/application.scss */
  .what-are-member-incentives {
    height: calc(1vw + 49rem);
  }
}

/* Large Screens (≥ 1440px) */
@media (min-width: 1440px) {
  /* Styles for large screens */
  /* line 487, app/assets/stylesheets/application.scss */
  .hero {
    background-size: cover;
  }
  /* line 493, app/assets/stylesheets/application.scss */
  .what-are-member-incentives {
    background-size: cover;
  }
}
