/**
 * McLean Ambassador Program - Public Styles
 * Brand Colors: Dark theme with gold (#fcb316) accents
 */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap');

/* ==========================================
   Hide Page Title on Portal Pages
   ========================================== */

/* Hide entry-title when dealer or ambassador portal is displayed */
body:has(.mclean-dealer-portal) .entry-title,
body:has(.mclean-dealer-portal) article > header .entry-title,
body:has(.mclean-dealer-portal) .page-title,
body:has(.mclean-dealer-portal) h1.entry-title,
body:has(.mclean-portal) .entry-title,
body:has(.mclean-portal) article > header .entry-title,
body:has(.mclean-portal) .page-title,
body:has(.mclean-portal) h1.entry-title {
    display: none !important;
}

/* ==========================================
   CSS Variables
   ========================================== */

.mclean-ambassador-application,
.mclean-ambassador-portal,
.mclean-application-status {
    --bg-dark: #0a0a0a;
    --bg-card: #141414;
    --bg-elevated: #1a1a1a;
    --border: #2a2a2a;
    --border-light: #3a3a3a;
    --text: #ffffff;
    --text-muted: #b0b0b0;
    --text-dim: #808080;
    --primary: #fcb316;
    --primary-dark: #d4a84b;
    --primary-glow: rgba(252, 179, 22, 0.15);
    --success: #10b981;
    --error: #ef4444;
}

/* ==========================================
   Application Form Container
   ========================================== */

.mclean-ambassador-application {
    max-width: 900px !important;
    margin: 0 auto !important;
    padding: 60px 40px !important;
    background: var(--bg-dark) !important;
    color: var(--text) !important;
    font-family: -apple-system, 'system-ui', 'Segoe UI', Roboto, sans-serif !important;
    line-height: 1.6 !important;
    box-sizing: border-box !important;
}

.mclean-ambassador-application *,
.mclean-ambassador-application *::before,
.mclean-ambassador-application *::after {
    box-sizing: border-box !important;
}

.mclean-application-form {
    background: var(--bg-dark) !important;
}

/* ==========================================
   Form Sections
   ========================================== */

.mclean-ambassador-application .form-section {
    margin-bottom: 50px !important;
    padding-bottom: 50px !important;
    border-bottom: 1px solid var(--border) !important;
}

.mclean-ambassador-application .form-section:last-child {
    border-bottom: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.mclean-ambassador-application .form-section h3 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    color: var(--text) !important;
    margin: 0 0 25px 0 !important;
    padding: 0 0 15px 0 !important;
    border-bottom: 2px solid var(--primary) !important;
    display: inline-block !important;
}

.mclean-ambassador-application .section-description {
    color: var(--text-muted) !important;
    margin: 0 0 30px 0 !important;
    font-size: 0.95rem !important;
    line-height: 1.7 !important;
}

/* ==========================================
   Form Rows & Layout
   ========================================== */

.mclean-ambassador-application .form-row {
    margin-bottom: 25px !important;
}

.mclean-ambassador-application .form-row.two-col {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 30px !important;
    margin-bottom: 25px !important;
}

.mclean-ambassador-application .form-row.social-row {
    display: grid !important;
    grid-template-columns: 1fr 200px !important;
    gap: 20px !important;
    margin-bottom: 20px !important;
    align-items: end !important;
}

.mclean-ambassador-application .followers-field input {
    width: 100% !important;
    min-width: 180px !important;
    text-align: center !important;
}

/* ==========================================
   Form Fields
   ========================================== */

.mclean-ambassador-application .form-field {
    margin-bottom: 0 !important;
}

.mclean-ambassador-application .form-field label {
    display: block !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 0.75rem !important;
    margin-bottom: 10px !important;
    color: var(--text-muted) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
}

.mclean-ambassador-application .form-field .required {
    color: var(--primary) !important;
    font-weight: 700 !important;
}

/* ==========================================
   Input Styles
   ========================================== */

.mclean-ambassador-application .form-field input[type="text"],
.mclean-ambassador-application .form-field input[type="email"],
.mclean-ambassador-application .form-field input[type="tel"],
.mclean-ambassador-application .form-field input[type="url"],
.mclean-ambassador-application .form-field input[type="number"],
.mclean-ambassador-application .form-field textarea {
    width: 100% !important;
    padding: 16px 18px !important;
    background: var(--bg-card) !important;
    border: 1px solid var(--border) !important;
    border-radius: 6px !important;
    font-family: -apple-system, 'system-ui', 'Segoe UI', Roboto, sans-serif !important;
    font-size: 15px !important;
    color: var(--text) !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    outline: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    margin: 0 !important;
    line-height: 1.5 !important;
}

.mclean-ambassador-application .form-field input::placeholder,
.mclean-ambassador-application .form-field textarea::placeholder {
    color: var(--text-dim) !important;
    opacity: 1 !important;
}

.mclean-ambassador-application .form-field input:focus,
.mclean-ambassador-application .form-field textarea:focus {
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 3px var(--primary-glow) !important;
    outline: none !important;
}

.mclean-ambassador-application .form-field input:hover,
.mclean-ambassador-application .form-field textarea:hover {
    border-color: var(--border-light) !important;
}

.mclean-ambassador-application .form-field textarea {
    resize: vertical !important;
    min-height: 130px !important;
    line-height: 1.7 !important;
}

/* Number input - remove spinners */
.mclean-ambassador-application .form-field input[type="number"]::-webkit-outer-spin-button,
.mclean-ambassador-application .form-field input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

.mclean-ambassador-application .form-field input[type="number"] {
    -moz-appearance: textfield !important;
}

/* ==========================================
   Checkbox Field
   ========================================== */

.mclean-ambassador-application .checkbox-field {
    margin-bottom: 0 !important;
}

.mclean-ambassador-application .checkbox-field label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
    font-weight: 400 !important;
    cursor: pointer !important;
    text-transform: none !important;
    font-size: 0.95rem !important;
    color: var(--text-muted) !important;
    letter-spacing: normal !important;
    line-height: 1.6 !important;
}

.mclean-ambassador-application .checkbox-field input[type="checkbox"] {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
    accent-color: var(--primary) !important;
    cursor: pointer !important;
    border-radius: 4px !important;
}

/* ==========================================
   Tier Cards
   ========================================== */

.mclean-ambassador-application .tier-cards {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important;
    margin-top: 30px !important;
}

.mclean-ambassador-application .tier-card {
    background: var(--bg-card) !important;
    border: 1px solid var(--border) !important;
    border-radius: 8px !important;
    padding: 28px 22px !important;
    text-align: center !important;
    transition: border-color 0.3s ease, transform 0.3s ease !important;
}

.mclean-ambassador-application .tier-card:hover {
    border-color: var(--primary) !important;
    transform: translateY(-3px) !important;
}

.mclean-ambassador-application .tier-card h4 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    color: var(--text) !important;
    border: none !important;
}

.mclean-ambassador-application .tier-card .tier-requirement {
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 0.8rem !important;
    color: var(--primary) !important;
    margin-bottom: 22px !important;
}

.mclean-ambassador-application .tier-card .tier-benefits {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: left !important;
}

.mclean-ambassador-application .tier-card .tier-benefits li {
    padding: 12px 0 !important;
    font-size: 0.85rem !important;
    color: var(--text-muted) !important;
    border-bottom: 1px solid var(--border) !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 !important;
}

.mclean-ambassador-application .tier-card .tier-benefits li::before {
    content: '' !important;
    width: 6px !important;
    height: 6px !important;
    background: var(--primary) !important;
    border-radius: 50% !important;
    flex-shrink: 0 !important;
}

.mclean-ambassador-application .tier-card .tier-benefits li:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
}

.mclean-ambassador-application .tier-card .tier-benefits li strong {
    color: var(--primary) !important;
    font-weight: 700 !important;
}

/* ==========================================
   Select Dropdown Styles
   ========================================== */

.mclean-ambassador-application .form-field select {
    width: 100% !important;
    padding: 16px 18px !important;
    background: var(--bg-card) !important;
    border: 1px solid var(--border) !important;
    border-radius: 6px !important;
    font-family: -apple-system, 'system-ui', 'Segoe UI', Roboto, sans-serif !important;
    font-size: 15px !important;
    color: var(--text) !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    outline: none !important;
    cursor: pointer !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23fcb316' d='M6 8L1 3h10z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
    padding-right: 45px !important;
}

.mclean-ambassador-application .form-field select:focus {
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 3px var(--primary-glow) !important;
}

.mclean-ambassador-application .form-field select:hover {
    border-color: var(--border-light) !important;
}

.mclean-ambassador-application .form-field select option {
    background: var(--bg-card) !important;
    color: var(--text) !important;
    padding: 10px !important;
}

/* ==========================================
   Niche Selection Grid
   ========================================== */

.mclean-ambassador-application .niche-options {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 12px !important;
    margin-top: 20px !important;
}

.mclean-ambassador-application .niche-option {
    display: block !important;
    cursor: pointer !important;
}

.mclean-ambassador-application .niche-option input[type="checkbox"] {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.mclean-ambassador-application .niche-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    background: var(--bg-card) !important;
    border: 1px solid var(--border) !important;
    border-radius: 8px !important;
    padding: 20px 12px !important;
    min-height: 120px !important;
    transition: all 0.2s ease !important;
}

.mclean-ambassador-application .niche-card:hover {
    border-color: var(--border-light) !important;
    transform: translateY(-2px) !important;
}

.mclean-ambassador-application .niche-option input:checked + .niche-card {
    border-color: var(--primary) !important;
    background: linear-gradient(180deg, var(--bg-card) 0%, rgba(252, 179, 22, 0.1) 100%) !important;
    box-shadow: 0 0 0 1px var(--primary) !important;
}

.mclean-ambassador-application .niche-icon {
    width: 40px !important;
    height: 40px !important;
    margin-bottom: 12px !important;
    opacity: 0.7 !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    transition: opacity 0.2s ease !important;
}

.mclean-ambassador-application .niche-option input:checked + .niche-card .niche-icon {
    opacity: 1 !important;
}

/* Niche icons - SVG icons for each category */
/* Hunting - Crosshair/Scope icon */
.mclean-ambassador-application .niche-icon[data-icon="crosshair"] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fcb316' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Ccircle cx='12' cy='12' r='6'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3Cline x1='12' y1='2' x2='12' y2='6'/%3E%3Cline x1='12' y1='18' x2='12' y2='22'/%3E%3Cline x1='2' y1='12' x2='6' y2='12'/%3E%3Cline x1='18' y1='12' x2='22' y2='12'/%3E%3C/svg%3E") !important;
}

/* Military/LEO - Shield with star icon */
.mclean-ambassador-application .niche-icon[data-icon="shield"] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fcb316' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='M12 8l1.5 3 3.5.5-2.5 2.5.5 3.5-3-1.5-3 1.5.5-3.5L7 11l3.5-.5z' fill='%23fcb316'/%3E%3C/svg%3E") !important;
}

/* Sport Shooting - Target/Bullseye icon */
.mclean-ambassador-application .niche-icon[data-icon="target"] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fcb316' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Ccircle cx='12' cy='12' r='6'/%3E%3Ccircle cx='12' cy='12' r='2' fill='%23fcb316'/%3E%3C/svg%3E") !important;
}

/* Outdoor/Adventure - Mountain icon */
.mclean-ambassador-application .niche-icon[data-icon="mountain"] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fcb316' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 3l4 8 5-5 4 14H3z'/%3E%3Cpath d='M4.14 15.08c2.62-1.57 5.24-1.43 7.86.42 2.74 1.94 5.49 2 8.23.19'/%3E%3C/svg%3E") !important;
}

/* Other - Plus/Question icon */
.mclean-ambassador-application .niche-icon[data-icon="plus"] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fcb316' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E") !important;
}

.mclean-ambassador-application .niche-label {
    display: block !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    color: var(--text) !important;
    margin-bottom: 4px !important;
    line-height: 1.3 !important;
}

.mclean-ambassador-application .niche-desc {
    display: block !important;
    font-size: 0.65rem !important;
    color: var(--text-dim) !important;
    line-height: 1.4 !important;
}

/* ==========================================
   Follower Summary Box
   ========================================== */

.mclean-ambassador-application .follower-summary {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    background: var(--bg-card) !important;
    border: 1px solid var(--border) !important;
    border-radius: 8px !important;
    padding: 20px 25px !important;
    margin-bottom: 30px !important;
}

.mclean-ambassador-application .follower-summary .summary-label {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: var(--text-muted) !important;
}

.mclean-ambassador-application .follower-summary .summary-count {
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    color: var(--primary) !important;
}

.mclean-ambassador-application .follower-summary .summary-tier {
    font-size: 0.85rem !important;
    color: var(--text-dim) !important;
    margin-left: auto !important;
}

.mclean-ambassador-application .follower-summary .summary-tier.tier-match {
    color: var(--success) !important;
    font-weight: 600 !important;
}

.mclean-ambassador-application .follower-summary .summary-tier.tier-not-yet {
    color: var(--primary) !important;
}

/* ==========================================
   Tier Card Highlighting
   ========================================== */

.mclean-ambassador-application .tier-card .tier-badge-label {
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 0.6rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    color: var(--text-dim) !important;
    margin-bottom: 8px !important;
}

.mclean-ambassador-application .tier-card .tier-match-indicator {
    display: none !important;
    margin-top: 18px !important;
    padding-top: 15px !important;
    border-top: 1px solid var(--border) !important;
    text-align: center !important;
}

.mclean-ambassador-application .tier-card .tier-match-indicator .match-icon {
    display: inline-block !important;
    width: 20px !important;
    height: 20px !important;
    background: var(--success) !important;
    color: #fff !important;
    border-radius: 50% !important;
    font-size: 12px !important;
    line-height: 20px !important;
    margin-right: 6px !important;
}

.mclean-ambassador-application .tier-card .tier-match-indicator .match-text {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.7rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: var(--success) !important;
}

/* Highlighted tier (the tier user qualifies for) */
.mclean-ambassador-application .tier-card.tier-highlighted {
    border-color: var(--primary) !important;
    background: linear-gradient(180deg, var(--bg-card) 0%, rgba(252, 179, 22, 0.12) 100%) !important;
    box-shadow: 0 0 0 1px var(--primary), 0 8px 30px rgba(252, 179, 22, 0.2) !important;
    transform: translateY(-5px) scale(1.02) !important;
}

.mclean-ambassador-application .tier-card.tier-highlighted .tier-badge-label {
    color: var(--primary) !important;
}

.mclean-ambassador-application .tier-card.tier-highlighted .tier-match-indicator {
    display: block !important;
}

/* Qualified tiers (tiers user meets minimum for) */
.mclean-ambassador-application .tier-card.tier-qualified:not(.tier-highlighted) {
    border-color: var(--border-light) !important;
    opacity: 0.7 !important;
}

/* Pro Staff default highlight (removed - now dynamic) */
.mclean-ambassador-application .tier-card.tier-pro_staff {
    /* No default highlight - now handled by JS */
}

/* ==========================================
   Submit Section
   ========================================== */

.mclean-ambassador-application .form-submit-section {
    text-align: center !important;
    padding-top: 30px !important;
    border-bottom: none !important;
}

.mclean-ambassador-application .form-submit-section .checkbox-field {
    margin-bottom: 30px !important;
    display: flex !important;
    justify-content: center !important;
}

.mclean-ambassador-application .submit-button {
    display: inline-block !important;
    padding: 18px 50px !important;
    background: var(--primary) !important;
    color: #0a0a0a !important;
    border: none !important;
    border-radius: 4px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
}

.mclean-ambassador-application .submit-button:hover {
    background: var(--primary-dark) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(252, 179, 22, 0.35) !important;
}

/* ==========================================
   Messages
   ========================================== */

.mclean-ambassador-application .mclean-error-message {
    background: rgba(239, 68, 68, 0.1) !important;
    border: 1px solid var(--error) !important;
    color: #fca5a5 !important;
    padding: 20px 25px !important;
    border-radius: 8px !important;
    margin-bottom: 35px !important;
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
}

.mclean-ambassador-application .mclean-success-message {
    background: var(--bg-card) !important;
    border: 1px solid var(--success) !important;
    color: var(--text) !important;
    padding: 50px !important;
    border-radius: 8px !important;
    text-align: center !important;
}

.mclean-ambassador-application .mclean-success-message h3 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    margin: 0 0 20px 0 !important;
    padding: 0 !important;
    color: var(--success) !important;
    border-bottom: none !important;
    display: block !important;
}

.mclean-ambassador-application .mclean-success-message p {
    color: var(--text-muted) !important;
    line-height: 1.8 !important;
    margin: 0 0 12px 0 !important;
    font-size: 1rem !important;
}

.mclean-ambassador-application .mclean-success-message strong {
    color: var(--primary) !important;
}

/* ==========================================
   Application Status
   ========================================== */

.mclean-application-status {
    max-width: 650px !important;
    margin: 0 auto !important;
    padding: 60px 40px !important;
    background: var(--bg-dark) !important;
    color: var(--text) !important;
}

.mclean-application-status .status-message {
    padding: 50px !important;
    border-radius: 8px !important;
    text-align: center !important;
    background: var(--bg-card) !important;
    border: 1px solid var(--border) !important;
}

.mclean-application-status .status-message h3 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 1.3rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    margin: 0 0 20px 0 !important;
    padding: 0 !important;
    border-bottom: none !important;
}

.mclean-application-status .status-message p {
    color: var(--text-muted) !important;
    line-height: 1.8 !important;
    margin: 0 0 15px 0 !important;
}

.mclean-application-status .status-message.pending {
    border-color: var(--primary) !important;
}

.mclean-application-status .status-message.pending h3 {
    color: var(--primary) !important;
}

.mclean-application-status .status-message.approved {
    border-color: var(--success) !important;
}

.mclean-application-status .status-message.approved h3 {
    color: var(--success) !important;
}

.mclean-application-status .status-message.denied {
    border-color: var(--error) !important;
}

.mclean-application-status .status-message.denied h3 {
    color: var(--error) !important;
}

.mclean-application-status .status-message .button {
    display: inline-block !important;
    padding: 14px 35px !important;
    background: var(--primary) !important;
    color: #0a0a0a !important;
    text-decoration: none !important;
    border-radius: 4px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 0.8rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    margin-top: 20px !important;
    transition: all 0.3s ease !important;
}

.mclean-application-status .status-message .button:hover {
    background: var(--primary-dark) !important;
}

/* ==========================================
   Ambassador Portal
   ========================================== */

.mclean-ambassador-portal {
    max-width: 1000px !important;
    padding: 50px 40px !important;
    background: var(--bg-dark) !important;
    color: var(--text) !important;
    font-family: -apple-system, 'system-ui', 'Segoe UI', Roboto, sans-serif !important;
}

/* Portal Header */
.mclean-ambassador-portal .portal-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 45px !important;
    padding-bottom: 25px !important;
    border-bottom: 2px solid var(--primary) !important;
}

.mclean-ambassador-portal .portal-header h2 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 1.4rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    margin: 0 !important;
    color: var(--text) !important;
}

.mclean-ambassador-portal .tier-badge {
    display: inline-block !important;
    padding: 10px 22px !important;
    border-radius: 4px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 0.7rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
}

.mclean-ambassador-portal .tier-badge.tier-field_team {
    background: var(--primary-glow) !important;
    color: var(--primary) !important;
    border: 1px solid rgba(252, 179, 22, 0.3) !important;
}

.mclean-ambassador-portal .tier-badge.tier-pro_staff {
    background: var(--primary) !important;
    color: #0a0a0a !important;
}

.mclean-ambassador-portal .tier-badge.tier-elite {
    background: linear-gradient(135deg, var(--primary) 0%, #f59e0b 100%) !important;
    color: #0a0a0a !important;
}

/* Portal Sections */
.mclean-ambassador-portal .portal-section {
    background: var(--bg-card) !important;
    border: 1px solid var(--border) !important;
    border-radius: 8px !important;
    padding: 35px !important;
    margin-bottom: 30px !important;
}

.mclean-ambassador-portal .portal-section h3 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
    margin: 0 0 28px 0 !important;
    padding: 0 0 18px 0 !important;
    border-bottom: 1px solid var(--border) !important;
    color: var(--primary) !important;
}

/* Codes Section */
.mclean-ambassador-portal .codes-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 25px !important;
    margin-bottom: 20px !important;
}

.mclean-ambassador-portal .code-card {
    background: var(--bg-elevated) !important;
    border: 1px solid var(--border) !important;
    border-radius: 8px !important;
    padding: 30px !important;
    text-align: center !important;
}

.mclean-ambassador-portal .code-card .code-label {
    display: block !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.65rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
    color: var(--text-dim) !important;
    margin-bottom: 8px !important;
}

.mclean-ambassador-portal .code-card .code-discount {
    display: block !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 2rem !important;
    font-weight: 800 !important;
    color: var(--primary) !important;
    margin-bottom: 22px !important;
}

.mclean-ambassador-portal .discount-code {
    display: block !important;
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 1.4rem !important;
    font-weight: 500 !important;
    background: var(--bg-dark) !important;
    color: var(--text) !important;
    padding: 16px 22px !important;
    border-radius: 6px !important;
    margin-bottom: 18px !important;
    letter-spacing: 3px !important;
    border: 1px solid var(--border) !important;
}

.mclean-ambassador-portal .copy-code-btn {
    display: inline-block !important;
    padding: 12px 28px !important;
    background: var(--primary) !important;
    color: #0a0a0a !important;
    border: none !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
    transition: all 0.3s ease !important;
}

.mclean-ambassador-portal .copy-code-btn:hover {
    background: var(--primary-dark) !important;
    transform: translateY(-1px) !important;
}

.mclean-ambassador-portal .code-note {
    text-align: center !important;
    color: var(--text-dim) !important;
    font-size: 0.85rem !important;
    margin: 0 !important;
}

/* Stats Section */
.mclean-ambassador-portal .stats-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important;
    margin-bottom: 22px !important;
}

.mclean-ambassador-portal .stat-card {
    background: var(--bg-elevated) !important;
    border: 1px solid var(--border) !important;
    border-radius: 8px !important;
    padding: 28px !important;
    text-align: center !important;
}

.mclean-ambassador-portal .stat-card .stat-value {
    display: block !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 2rem !important;
    font-weight: 800 !important;
    color: var(--text) !important;
    margin-bottom: 6px !important;
}

.mclean-ambassador-portal .stat-card .stat-label {
    display: block !important;
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 0.65rem !important;
    color: var(--text-dim) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
}

.mclean-ambassador-portal .stat-card.highlight {
    border-color: var(--primary) !important;
    background: linear-gradient(180deg, var(--bg-elevated) 0%, rgba(252, 179, 22, 0.08) 100%) !important;
}

.mclean-ambassador-portal .stat-card.highlight .stat-value {
    color: var(--primary) !important;
}

.mclean-ambassador-portal .payout-ready {
    background: rgba(16, 185, 129, 0.12) !important;
    border: 1px solid var(--success) !important;
    color: #6ee7b7 !important;
    padding: 16px 22px !important;
    border-radius: 6px !important;
    text-align: center !important;
    margin: 0 !important;
    font-weight: 500 !important;
}

.mclean-ambassador-portal .payout-threshold {
    color: var(--text-dim) !important;
    text-align: center !important;
    margin: 0 !important;
    font-size: 0.9rem !important;
}

/* Month Stats */
.mclean-ambassador-portal .month-stats {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important;
}

.mclean-ambassador-portal .month-stat {
    text-align: center !important;
    padding: 22px !important;
    background: var(--bg-elevated) !important;
    border-radius: 6px !important;
    border: 1px solid var(--border) !important;
}

.mclean-ambassador-portal .month-stat .month-value {
    display: block !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    color: var(--text) !important;
}

.mclean-ambassador-portal .month-stat .month-label {
    display: block !important;
    font-size: 0.7rem !important;
    color: var(--text-dim) !important;
    margin-top: 6px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
}

/* Tables */
.mclean-ambassador-portal .transactions-table,
.mclean-ambassador-portal .payouts-table {
    width: 100% !important;
    border-collapse: collapse !important;
    background: var(--bg-elevated) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    border: 1px solid var(--border) !important;
}

.mclean-ambassador-portal .transactions-table th,
.mclean-ambassador-portal .transactions-table td,
.mclean-ambassador-portal .payouts-table th,
.mclean-ambassador-portal .payouts-table td {
    padding: 16px 20px !important;
    text-align: left !important;
    border-bottom: 1px solid var(--border) !important;
}

.mclean-ambassador-portal .transactions-table th,
.mclean-ambassador-portal .payouts-table th {
    background: var(--bg-dark) !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 0.7rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: var(--text-muted) !important;
}

.mclean-ambassador-portal .transactions-table td,
.mclean-ambassador-portal .payouts-table td {
    color: var(--text-muted) !important;
    font-size: 0.9rem !important;
}

.mclean-ambassador-portal .transactions-table tbody tr:last-child td,
.mclean-ambassador-portal .payouts-table tbody tr:last-child td {
    border-bottom: none !important;
}

.mclean-ambassador-portal .transactions-table tbody tr:hover,
.mclean-ambassador-portal .payouts-table tbody tr:hover {
    background: rgba(255, 255, 255, 0.02) !important;
}

.mclean-ambassador-portal .transactions-table code {
    font-family: 'JetBrains Mono', monospace !important;
    background: var(--bg-dark) !important;
    padding: 5px 10px !important;
    border-radius: 4px !important;
    font-size: 0.8rem !important;
    color: var(--primary) !important;
    border: 1px solid var(--border) !important;
}

/* Status Badges */
.mclean-ambassador-portal .status-badge {
    display: inline-block !important;
    padding: 6px 14px !important;
    border-radius: 4px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.6rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
}

.mclean-ambassador-portal .status-badge.status-pending {
    background: var(--primary-glow) !important;
    color: var(--primary) !important;
    border: 1px solid rgba(252, 179, 22, 0.3) !important;
}

.mclean-ambassador-portal .status-badge.status-paid {
    background: rgba(16, 185, 129, 0.15) !important;
    color: var(--success) !important;
    border: 1px solid rgba(16, 185, 129, 0.3) !important;
}

/* No Data */
.mclean-ambassador-portal .no-data {
    color: var(--text-dim) !important;
    font-style: italic !important;
    text-align: center !important;
    padding: 35px !important;
}

/* Guidelines */
.mclean-ambassador-portal .guidelines-content {
    background: var(--bg-elevated) !important;
    padding: 28px !important;
    border-radius: 6px !important;
    border: 1px solid var(--border) !important;
}

.mclean-ambassador-portal .guidelines-content ul {
    margin: 0 0 22px 0 !important;
    padding-left: 22px !important;
    color: var(--text-muted) !important;
}

.mclean-ambassador-portal .guidelines-content li {
    padding: 8px 0 !important;
    line-height: 1.7 !important;
}

.mclean-ambassador-portal .guidelines-content p {
    margin: 0 !important;
    color: var(--text-dim) !important;
    font-size: 0.9rem !important;
}

/* ==========================================
   Responsive
   ========================================== */

@media (max-width: 768px) {
    .mclean-ambassador-application {
        padding: 40px 25px !important;
    }

    .mclean-ambassador-application .form-row.two-col {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }

    .mclean-ambassador-application .form-row.social-row {
        grid-template-columns: 1fr !important;
        gap: 15px !important;
    }

    .mclean-ambassador-application .niche-options {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
    }

    .mclean-ambassador-application .niche-card {
        min-height: 100px !important;
        padding: 15px 10px !important;
    }

    .mclean-ambassador-application .follower-summary {
        flex-direction: column !important;
        text-align: center !important;
        gap: 10px !important;
        padding: 18px 20px !important;
    }

    .mclean-ambassador-application .follower-summary .summary-tier {
        margin-left: 0 !important;
    }

    .mclean-ambassador-application .tier-cards {
        grid-template-columns: 1fr !important;
        gap: 15px !important;
    }

    .mclean-ambassador-application .tier-card.tier-highlighted {
        transform: none !important;
    }

    .mclean-ambassador-portal {
        padding: 35px 25px !important;
    }

    .mclean-ambassador-portal .codes-grid {
        grid-template-columns: 1fr !important;
    }

    .mclean-ambassador-portal .stats-grid,
    .mclean-ambassador-portal .month-stats {
        grid-template-columns: 1fr !important;
    }

    .mclean-ambassador-portal .portal-header {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 15px !important;
    }

    .mclean-ambassador-portal .transactions-table,
    .mclean-ambassador-portal .payouts-table {
        font-size: 13px !important;
    }

    .mclean-ambassador-portal .transactions-table th,
    .mclean-ambassador-portal .transactions-table td,
    .mclean-ambassador-portal .payouts-table th,
    .mclean-ambassador-portal .payouts-table td {
        padding: 12px 14px !important;
    }

    .mclean-ambassador-portal .discount-code {
        font-size: 1.1rem !important;
        letter-spacing: 2px !important;
    }

    .mclean-application-status {
        padding: 40px 25px !important;
    }
}

@media (max-width: 480px) {
    .mclean-ambassador-application {
        padding: 30px 20px !important;
    }

    .mclean-ambassador-application .form-section h3 {
        font-size: 1rem !important;
    }

    .mclean-ambassador-application .submit-button {
        padding: 16px 35px !important;
        font-size: 0.8rem !important;
    }
}

/* ==========================================
   NEW AMBASSADOR PORTAL - McLean Brand Theme
   ========================================== */

.mclean-portal {
    --bg-dark: #0a0a0a;
    --bg-card: #141414;
    --bg-elevated: #1a1a1a;
    --border: #2a2a2a;
    --border-light: #3a3a3a;
    --text: #ffffff;
    --text-muted: #b0b0b0;
    --text-dim: #808080;
    --primary: #fcb316;
    --primary-dark: #d4a84b;
    --primary-glow: rgba(252, 179, 22, 0.15);
    --success: #10b981;
    --success-glow: rgba(16, 185, 129, 0.15);

    position: relative;
    background: var(--bg-dark);
    color: var(--text);
    font-family: -apple-system, 'system-ui', 'Segoe UI', Roboto, sans-serif;
    padding: 40px;
    border-radius: 12px;
    min-height: 600px;
}

/* Corner Accents */
.mclean-portal .corner-accent {
    position: absolute;
    width: 30px;
    height: 30px;
    pointer-events: none;
}

.mclean-portal .corner-accent::before,
.mclean-portal .corner-accent::after {
    content: '';
    position: absolute;
    background: var(--primary);
}

.mclean-portal .corner-accent.top-left { top: 15px; left: 15px; }
.mclean-portal .corner-accent.top-left::before { width: 2px; height: 20px; top: 0; left: 0; }
.mclean-portal .corner-accent.top-left::after { width: 20px; height: 2px; top: 0; left: 0; }

.mclean-portal .corner-accent.top-right { top: 15px; right: 15px; }
.mclean-portal .corner-accent.top-right::before { width: 2px; height: 20px; top: 0; right: 0; }
.mclean-portal .corner-accent.top-right::after { width: 20px; height: 2px; top: 0; right: 0; }

.mclean-portal .corner-accent.bottom-left { bottom: 15px; left: 15px; }
.mclean-portal .corner-accent.bottom-left::before { width: 2px; height: 20px; bottom: 0; left: 0; }
.mclean-portal .corner-accent.bottom-left::after { width: 20px; height: 2px; bottom: 0; left: 0; }

.mclean-portal .corner-accent.bottom-right { bottom: 15px; right: 15px; }
.mclean-portal .corner-accent.bottom-right::before { width: 2px; height: 20px; bottom: 0; right: 0; }
.mclean-portal .corner-accent.bottom-right::after { width: 20px; height: 2px; bottom: 0; right: 0; }

/* Header */
.mclean-portal .portal-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 40px;
    padding-bottom: 30px;
    border-bottom: 2px solid var(--primary);
}

.mclean-portal .section-number {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.75rem;
    color: var(--primary);
    margin-bottom: 8px;
}

.mclean-portal .portal-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.75rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    margin: 0 0 8px 0;
    color: var(--text);
}

.mclean-portal .portal-welcome {
    color: var(--text-muted);
    margin: 0;
    font-size: 1rem;
}

.mclean-portal .portal-welcome .highlight {
    color: var(--primary);
    font-weight: 600;
}

.mclean-portal .header-badge {
    text-align: right;
}

.mclean-portal .tier-label {
    display: block;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--text-dim);
    margin-bottom: 6px;
}

.mclean-portal .tier-name {
    display: inline-block;
    padding: 8px 16px;
    background: var(--primary-glow);
    border: 1px solid var(--primary);
    border-radius: 4px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--primary);
}

/* Sections */
.mclean-portal .portal-section {
    margin-bottom: 40px;
}

.mclean-portal .portal-section .section-header {
    margin-bottom: 20px;
}

.mclean-portal .section-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text);
    margin: 0;
}

/* Codes Grid */
.mclean-portal .codes-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 20px;
}

.mclean-portal .code-card {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 24px;
    text-align: center;
}

.mclean-portal .code-card.personal {
    border-left: 3px solid var(--primary);
}

.mclean-portal .code-card.follower {
    border-left: 3px solid var(--success);
}

.mclean-portal .code-type {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--text-dim);
    margin-bottom: 8px;
}

.mclean-portal .code-discount {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 15px;
}

.mclean-portal .code-card.follower .code-discount {
    color: var(--success);
}

.mclean-portal .code-value {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 10px;
}

.mclean-portal .code-value code {
    font-family: 'JetBrains Mono', monospace;
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--text);
    background: var(--bg-elevated);
    padding: 10px 20px;
    border-radius: 6px;
    border: 1px solid var(--border);
    letter-spacing: 0.05em;
}

.mclean-portal .copy-btn {
    background: var(--bg-elevated);
    border: 1px solid var(--border);
    border-radius: 6px;
    padding: 10px;
    cursor: pointer;
    color: var(--text-muted);
    transition: all 0.2s ease;
}

.mclean-portal .copy-btn:hover {
    border-color: var(--primary);
    color: var(--primary);
}

.mclean-portal .copy-btn.copied {
    background: var(--success-glow);
    border-color: var(--success);
    color: var(--success);
}

.mclean-portal .code-desc {
    font-size: 0.8rem;
    color: var(--text-dim);
}

.mclean-portal .commission-note {
    text-align: center;
    color: var(--text-muted);
    font-size: 0.9rem;
    padding: 15px;
    background: var(--bg-card);
    border-radius: 6px;
    border: 1px solid var(--border);
}

.mclean-portal .commission-note strong {
    color: var(--primary);
}

/* Stats Grid */
.mclean-portal .stats-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 25px;
}

.mclean-portal .stat-card {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 24px;
    text-align: center;
}

.mclean-portal .stat-card.highlight {
    border-color: var(--primary);
    background: linear-gradient(180deg, var(--bg-card) 0%, var(--primary-glow) 100%);
}

.mclean-portal .stat-icon {
    color: var(--text-dim);
    margin-bottom: 12px;
}

.mclean-portal .stat-card.highlight .stat-icon {
    color: var(--primary);
}

.mclean-portal .stat-value {
    font-family: 'JetBrains Mono', monospace;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--text);
    margin-bottom: 6px;
}

.mclean-portal .stat-card.highlight .stat-value {
    color: var(--primary);
}

.mclean-portal .stat-label {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-dim);
}

/* Payout Section */
.mclean-portal .payout-section {
    text-align: center;
}

.mclean-portal .btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--primary);
    color: #0a0a0a;
    border: none;
    padding: 15px 30px;
    border-radius: 6px;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.9rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    cursor: pointer;
    transition: all 0.2s ease;
}

.mclean-portal .btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 25px rgba(252, 179, 22, 0.4);
}

.mclean-portal .payout-status {
    display: flex;
    align-items: center;
    gap: 15px;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 20px;
    text-align: left;
}

.mclean-portal .payout-status.pending {
    border-left: 3px solid var(--primary);
}

.mclean-portal .payout-status .status-icon {
    font-size: 2rem;
}

.mclean-portal .payout-status .status-text strong {
    display: block;
    color: var(--primary);
    margin-bottom: 5px;
}

.mclean-portal .payout-status .status-text p {
    margin: 0;
    color: var(--text-muted);
    font-size: 0.9rem;
}

.mclean-portal .payout-threshold {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 20px;
}

.mclean-portal .payout-threshold .threshold-icon {
    display: block;
    font-size: 2rem;
    margin-bottom: 10px;
}

.mclean-portal .payout-threshold p {
    margin: 0;
    color: var(--text-muted);
}

.mclean-portal .payout-threshold strong {
    color: var(--primary);
}

.mclean-portal .threshold-progress {
    margin-top: 8px !important;
    font-size: 0.85rem;
    color: var(--text-dim) !important;
}

/* Month Stats */
.mclean-portal .month-stats {
    display: flex;
    gap: 30px;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 25px;
}

.mclean-portal .month-stat {
    flex: 1;
    text-align: center;
}

.mclean-portal .month-value {
    display: block;
    font-family: 'JetBrains Mono', monospace;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--text);
    margin-bottom: 5px;
}

.mclean-portal .month-label {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--text-dim);
}

/* Tables */
.mclean-portal .transactions-table-wrap {
    overflow-x: auto;
}

.mclean-portal .portal-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
}

.mclean-portal .portal-table th {
    text-align: left;
    padding: 12px 15px;
    background: var(--bg-elevated);
    color: var(--text-dim);
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 600;
    border-bottom: 1px solid var(--border);
}

.mclean-portal .portal-table td {
    padding: 15px;
    border-bottom: 1px solid var(--border);
    color: var(--text-muted);
}

.mclean-portal .portal-table tbody tr:hover {
    background: var(--bg-card);
}

.mclean-portal .portal-table code {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.8rem;
    background: var(--bg-elevated);
    padding: 4px 8px;
    border-radius: 4px;
    color: var(--text);
}

.mclean-portal .portal-table .commission {
    color: var(--success);
    font-weight: 600;
}

.mclean-portal .portal-table .order-id {
    color: var(--text-dim);
    font-family: 'JetBrains Mono', monospace;
}

.mclean-portal .status-pill {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
}

.mclean-portal .status-pill.status-pending {
    background: rgba(252, 179, 22, 0.15);
    color: var(--primary);
}

.mclean-portal .status-pill.status-paid {
    background: var(--success-glow);
    color: var(--success);
}

/* Empty State */
.mclean-portal .empty-state {
    text-align: center;
    padding: 40px;
    background: var(--bg-card);
    border: 1px dashed var(--border);
    border-radius: 8px;
}

.mclean-portal .empty-icon {
    font-size: 3rem;
    margin-bottom: 15px;
}

.mclean-portal .empty-state p {
    color: var(--text-dim);
    margin: 0;
}

/* Brand Assets Section */
.mclean-portal .brand-assets .section-intro {
    color: var(--text-muted);
    margin-bottom: 20px;
}

.mclean-portal .brand-assets-grid {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.mclean-portal .brand-asset-card {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 8px;
    text-decoration: none;
    color: var(--text);
    transition: all 0.2s ease;
}

.mclean-portal .brand-asset-card:hover {
    border-color: var(--primary);
    background: var(--bg-elevated);
    transform: translateY(-2px);
}

.mclean-portal .brand-asset-card .asset-icon {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--primary-glow);
    border-radius: 8px;
    flex-shrink: 0;
}

.mclean-portal .brand-asset-card .asset-icon svg {
    stroke: var(--primary);
}

.mclean-portal .brand-asset-card .asset-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.mclean-portal .brand-asset-card .asset-info strong {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 1rem;
}

.mclean-portal .brand-asset-card .asset-info span {
    color: var(--text-muted);
    font-size: 0.85rem;
}

.mclean-portal .brand-asset-card .asset-arrow {
    opacity: 0.5;
    transition: opacity 0.2s ease;
}

.mclean-portal .brand-asset-card:hover .asset-arrow {
    opacity: 1;
}

.mclean-portal .brand-asset-card .asset-arrow svg {
    stroke: var(--primary);
}

/* Guidelines */
.mclean-portal .guidelines-list {
    list-style: none;
    padding: 0;
    margin: 0 0 20px 0;
}

.mclean-portal .guidelines-list li {
    position: relative;
    padding: 12px 0 12px 30px;
    border-bottom: 1px solid var(--border);
    color: var(--text-muted);
}

.mclean-portal .guidelines-list li::before {
    content: '→';
    position: absolute;
    left: 0;
    color: var(--primary);
    font-weight: bold;
}

.mclean-portal .guidelines-list li strong {
    color: var(--primary);
}

.mclean-portal .contact-info {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 6px;
    padding: 15px 20px;
    color: var(--text-muted);
}

.mclean-portal .contact-info a {
    color: var(--primary);
    text-decoration: none;
}

.mclean-portal .contact-info a:hover {
    text-decoration: underline;
}

/* Portal Responsive */
@media (max-width: 768px) {
    .mclean-portal {
        padding: 25px;
    }

    .mclean-portal .portal-header {
        flex-direction: column;
        gap: 20px;
    }

    .mclean-portal .header-badge {
        text-align: left;
    }

    .mclean-portal .codes-grid {
        grid-template-columns: 1fr;
    }

    .mclean-portal .stats-grid {
        grid-template-columns: 1fr;
    }

    .mclean-portal .month-stats {
        flex-direction: column;
        gap: 20px;
    }

    .mclean-portal .portal-table {
        font-size: 0.8rem;
    }

    .mclean-portal .portal-table th,
    .mclean-portal .portal-table td {
        padding: 10px 8px;
    }
}

/* ==========================================
   Dealer Pricing Display (Product Pages)
   ========================================== */

/*
 * Elementor Isolation Layer
 * Prevents Elementor from overriding dealer-specific elements
 */
.dealer-pricing-display,
.dealer-pricing-display *,
.mclean-dealer-badge,
.mclean-dealer-notice,
.mclean-dealer-notice * {
    /* Reset Elementor's common overrides */
    --e-global-color-primary: initial !important;
    --e-global-color-secondary: initial !important;
    --e-global-color-text: initial !important;
    --e-global-typography-primary-font-family: initial !important;
    --e-global-typography-secondary-font-family: initial !important;
}

/* Block Elementor widget styling from affecting dealer elements */
.elementor-widget-container .dealer-pricing-display,
.elementor-widget-container .mclean-dealer-badge,
.elementor-widget-container .mclean-dealer-notice,
.elementor .dealer-pricing-display,
.elementor .mclean-dealer-badge,
.elementor .mclean-dealer-notice {
    all: revert !important;
}

/* Re-apply our styles after the reset */
.dealer-pricing-display {
    background: linear-gradient(135deg, #141414 0%, #1a1a1a 100%) !important;
    border: 1px solid #2a2a2a !important;
    border-radius: 8px !important;
    padding: 15px !important;
    margin: 10px 0 !important;
    font-family: -apple-system, 'system-ui', 'Segoe UI', Roboto, sans-serif !important;
    box-sizing: border-box !important;
    color: #ffffff !important;
}

.dealer-pricing-display .dealer-badge {
    display: inline-block !important;
    background: linear-gradient(135deg, #fcb316 0%, #d4a84b 100%) !important;
    color: #0a0a0a !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    padding: 4px 10px !important;
    border-radius: 4px !important;
    margin-bottom: 12px !important;
    line-height: 1.4 !important;
}

.dealer-price-table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: 0.85rem !important;
    background: transparent !important;
    border: none !important;
}

.dealer-price-table th {
    text-align: left !important;
    color: #808080 !important;
    font-weight: 500 !important;
    font-size: 0.7rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    padding: 8px 10px !important;
    border-bottom: 1px solid #2a2a2a !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    background: transparent !important;
}

.dealer-price-table td {
    padding: 10px !important;
    color: #ffffff !important;
    border-bottom: 1px solid #1a1a1a !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    background: transparent !important;
}

.dealer-price-table tr:last-child td {
    border-bottom: none !important;
}

.dealer-price-table tr.tier-retail td {
    color: #b0b0b0 !important;
}

.dealer-price-table tr.tier-1 td,
.dealer-price-table tr.tier-2 td,
.dealer-price-table tr.tier-3 td {
    color: #ffffff !important;
}

.dealer-price-table tr.tier-3 {
    background: rgba(252, 179, 22, 0.08) !important;
}

.dealer-price-table tr.tier-3 td {
    background: transparent !important;
}

.dealer-price-table .no-discount {
    color: #808080 !important;
    font-size: 0.75rem !important;
}

.dealer-price-table .margin-badge {
    display: inline-block !important;
    background: rgba(16, 185, 129, 0.15) !important;
    color: #10b981 !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    padding: 2px 8px !important;
    border-radius: 4px !important;
}

.dealer-price-table .margin-badge.best {
    background: linear-gradient(135deg, #fcb316 0%, #d4a84b 100%) !important;
    color: #0a0a0a !important;
}

/* Dealer Eligible Badge (Shop/Product Pages) */
.mclean-dealer-badge {
    display: inline-block !important;
    background: linear-gradient(135deg, #fcb316 0%, #d4a84b 100%) !important;
    color: #0a0a0a !important;
    font-size: 0.65rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    padding: 3px 8px !important;
    border-radius: 3px !important;
    margin: 5px 0 !important;
    line-height: 1.4 !important;
}

/* Dealer Notice Box */
.mclean-dealer-notice {
    background: linear-gradient(135deg, #141414 0%, #1a1a1a 100%) !important;
    border: 1px solid #fcb316 !important;
    border-radius: 6px !important;
    padding: 12px 15px !important;
    margin: 15px 0 !important;
    color: #ffffff !important;
    font-size: 0.9rem !important;
}

.mclean-dealer-notice strong {
    color: #fcb316 !important;
}

/* Dealer Cart Notice Styling */
.dealer-cart-notice,
.dealer-checkout-notice {
    background: linear-gradient(135deg, #141414 0%, #1a1a1a 100%) !important;
    border: 1px solid #2a2a2a !important;
    border-left: 4px solid #fcb316 !important;
    color: #ffffff !important;
    padding: 15px 20px !important;
}

.dealer-cart-notice strong,
.dealer-checkout-notice strong {
    color: #fcb316;
}

.dealer-cart-notice em,
.dealer-checkout-notice em {
    color: #10b981;
    font-style: normal;
}

/* WooCommerce Price Display Override for Dealers */
.woocommerce .dealer-pricing-display .woocommerce-Price-amount {
    color: #ffffff;
    font-weight: 600;
}

.woocommerce .dealer-price-table tr.tier-retail .woocommerce-Price-amount {
    color: #b0b0b0;
}

/* Responsive Dealer Pricing Table */
@media (max-width: 480px) {
    .dealer-pricing-display {
        padding: 12px;
    }

    .dealer-price-table {
        font-size: 0.8rem;
    }

    .dealer-price-table th,
    .dealer-price-table td {
        padding: 8px 6px;
    }

    .dealer-price-table .margin-badge {
        font-size: 0.7rem;
        padding: 2px 6px;
    }
}

/* ==========================================
   WooCommerce Stock Status - White Background Fix
   Ensures stock/availability text is visible on light backgrounds
   ========================================== */

/* Fix for stock status text on product cards and pages */
.woocommerce .stock,
.woocommerce .availability,
.woocommerce p.stock,
.woocommerce .product .stock,
.woocommerce-loop-product__link .stock,
.products .stock,
.product-info .stock {
    color: #333333 !important;
}

.woocommerce .stock.in-stock,
.woocommerce p.stock.in-stock,
.woocommerce .product .stock.in-stock {
    color: #10b981 !important;
}

.woocommerce .stock.out-of-stock,
.woocommerce p.stock.out-of-stock,
.woocommerce .product .stock.out-of-stock {
    color: #ef4444 !important;
}

/* ==========================================
   Dealer Price Display (Catalog/Product Pages)
   Matches tactical theme: Bebas Neue, gold, minimal
   ========================================== */

@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap');

.mclean-dealer-price {
    line-height: 1.4 !important;
}

.mclean-dealer-price .mclean-dealer-from {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    color: #888888 !important;
    text-transform: none !important;
}

.mclean-dealer-price .mclean-dealer-amount {
    font-family: 'Bebas Neue', sans-serif !important;
    font-size: 2.5rem !important;
    color: #fcb316 !important;
    line-height: 1 !important;
    letter-spacing: 0.02em !important;
}

.mclean-dealer-price .mclean-dealer-amount .woocommerce-Price-amount {
    font-family: 'Bebas Neue', sans-serif !important;
    font-size: 2.5rem !important;
    color: #fcb316 !important;
}

.mclean-dealer-price .mclean-dealer-amount .woocommerce-Price-currencySymbol {
    font-family: 'Bebas Neue', sans-serif !important;
    font-size: 2.5rem !important;
    color: #fcb316 !important;
}

.mclean-dealer-price .mclean-dealer-hint {
    display: block !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    color: #888888 !important;
    margin-top: 5px !important;
}

.mclean-dealer-price .mclean-dealer-tier1 {
    display: block !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    color: #b0b0b0 !important;
    margin-top: 8px !important;
}

.mclean-dealer-price .mclean-dealer-tier1 .woocommerce-Price-amount {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.85rem !important;
    color: #b0b0b0 !important;
}

/* Catalog/shop page - smaller sizing */
.woocommerce ul.products .mclean-dealer-price .mclean-dealer-amount,
.woocommerce ul.products .mclean-dealer-price .mclean-dealer-amount .woocommerce-Price-amount,
.woocommerce ul.products .mclean-dealer-price .mclean-dealer-amount .woocommerce-Price-currencySymbol {
    font-size: 1.8rem !important;
}

/* JetWooBuilder grid compatibility */
.jet-woo-products .mclean-dealer-price .mclean-dealer-amount,
.jet-woo-products .mclean-dealer-price .mclean-dealer-amount .woocommerce-Price-amount,
.jet-woo-products .mclean-dealer-price .mclean-dealer-amount .woocommerce-Price-currencySymbol {
    font-size: 1.8rem !important;
}

/* Responsive dealer pricing */
@media (max-width: 768px) {
    .mclean-dealer-price .mclean-dealer-amount,
    .mclean-dealer-price .mclean-dealer-amount .woocommerce-Price-amount,
    .mclean-dealer-price .mclean-dealer-amount .woocommerce-Price-currencySymbol {
        font-size: 2rem !important;
    }
}
