/**
 * MhSys SaaS - Affiliate Partner Network & Marketing Portal Stylesheet
 * Modificado: 2026-08-22 20:53:19
 */


/* ========================================================
   AFILIADOS: AFILIADOS_PAINEL (BLOCK 1)
   ======================================================== */
:root {
            --bg-gradient: linear-gradient(135deg, hsl(222, 47%, 9%) 0%, hsl(224, 64%, 4%) 100%);
            --primary: hsl(252, 78%, 60%);
            --primary-hover: hsl(252, 78%, 52%);
            --accent: #10b981;
            --accent-glow: rgba(16, 185, 129, 0.15);
            --text-main: hsl(210, 40%, 98%);
            --text-muted: hsl(215, 20%, 65%);
            --card-bg: rgba(15, 23, 42, 0.6);
            --card-border: rgba(255, 255, 255, 0.06);
            --input-bg: rgba(10, 15, 30, 0.7);
            --input-border: rgba(255, 255, 255, 0.1);
        }

        body {
            font-family: 'Inter', sans-serif;
            background: var(--bg-gradient);
            color: var(--text-main);
            min-height: 100vh;
            overflow-x: hidden;
            padding-bottom: 50px;
        }

        /* Top Navbar */
        .premium-nav {
            background: rgba(15, 23, 42, 0.8);
            border-bottom: 1px solid var(--card-border);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
            padding: 15px 0;
            position: sticky;
            top: 0;
            z-index: 100;
        }

        .navbar-brand-custom {
            font-family: 'Outfit', sans-serif;
            font-weight: 800;
            color: #fff !important;
            font-size: 1.35rem;
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .navbar-brand-custom img {
            max-height: 35px;
            filter: drop-shadow(0 0 8px rgba(139, 92, 246, 0.3));
        }

        .btn-logout {
            background: rgba(239, 68, 68, 0.1);
            border: 1px solid rgba(239, 68, 68, 0.2);
            color: #f87171 !important;
            border-radius: 12px;
            padding: 8px 16px;
            font-weight: 600;
            font-size: 0.9rem;
            transition: all 0.2s ease;
        }

        .btn-logout:hover {
            background: #ef4444;
            color: #fff !important;
            box-shadow: 0 4px 12px rgba(239, 68, 68, 0.2);
        }

        /* Glass Cards */
        .glass-card {
            background: var(--card-bg);
            border: 1px solid var(--card-border);
            border-radius: 24px;
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
            padding: 30px;
            height: 100%;
        }

        /* Link Box Callout */
        .link-callout-box {
            background: rgba(139, 92, 246, 0.05);
            border: 1px dashed var(--primary);
            border-radius: 18px;
            padding: 24px;
            margin-bottom: 30px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 20px;
        }

        .link-input-group {
            display: flex;
            width: 100%;
            gap: 10px;
        }

        .btn-copy {
            background: var(--primary);
            border: none;
            color: #fff;
            font-weight: 600;
            padding: 12px 24px;
            border-radius: 12px;
            transition: all 0.25s ease;
            box-shadow: 0 4px 15px rgba(139, 92, 246, 0.25);
        }

        .btn-copy:hover {
            background: var(--primary-hover);
            transform: translateY(-1px);
            box-shadow: 0 6px 20px rgba(139, 92, 246, 0.35);
        }

        /* Metrics */
        .metric-card {
            background: rgba(255, 255, 255, 0.02);
            border: 1px solid rgba(255, 255, 255, 0.04);
            border-radius: 20px;
            padding: 20px;
            display: flex;
            align-items: center;
            gap: 16px;
            transition: transform 0.25s ease;
        }

        .metric-card:hover {
            transform: translateY(-2px);
            border-color: rgba(255, 255, 255, 0.06);
        }

        .metric-icon {
            width: 54px;
            height: 54px;
            border-radius: 16px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.5rem;
        }

        .metric-value {
            font-family: 'Outfit', sans-serif;
            font-size: 1.6rem;
            font-weight: 700;
            color: #fff;
            margin-bottom: 2px;
        }

        .metric-label {
            font-size: 0.8rem;
            color: var(--text-muted);
            text-transform: uppercase;
            letter-spacing: 0.5px;
            font-weight: 600;
        }

        /* Tablas */
        .table-custom {
            color: var(--text-main);
        }

        .table-custom th {
            font-size: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            color: var(--text-muted);
            font-weight: 700;
            padding: 15px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
        }

        .table-custom td {
            padding: 15px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.04);
            font-size: 0.9rem;
        }

        .table-custom tr:last-child td {
            border-bottom: none;
        }

/* ========================================================
   AFILIADOS: SAAS_PARCEIRO (BLOCK 1)
   ======================================================== */
:root {
        --parceiro-primary: hsl(252, 78%, 60%);
        --parceiro-primary-hover: hsl(252, 78%, 52%);
        --parceiro-accent: #10b981;
        --parceiro-bg-glass: rgba(255, 255, 255, 0.45);
        --parceiro-border: rgba(255, 255, 255, 0.25);
    }
    
    body.dark-theme {
        --parceiro-bg-glass: rgba(15, 23, 42, 0.6);
        --parceiro-border: rgba(255, 255, 255, 0.06);
    }

    /* Glass Cards */
    .glass-card-premium {
        background: var(--parceiro-bg-glass);
        border: 1px solid var(--parceiro-border);
        border-radius: 20px;
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
        padding: 24px;
        transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    }

    body.dark-theme .glass-card-premium {
        box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3);
    }

    .glass-card-premium:hover {
        transform: translateY(-2px);
        box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
    }
    
    body.dark-theme .glass-card-premium:hover {
        box-shadow: 0 20px 45px rgba(0, 0, 0, 0.4);
    }

    /* Copy Box */
    .link-copy-container {
        background: rgba(139, 92, 246, 0.06);
        border: 1px dashed var(--parceiro-primary);
        border-radius: 14px;
        padding: 16px 20px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
    }

    .btn-copy-link {
        background: var(--parceiro-primary);
        border: none;
        color: #fff !important;
        font-weight: 600;
        padding: 10px 20px;
        border-radius: 10px;
        transition: all 0.2s ease;
        box-shadow: 0 4px 12px rgba(139, 92, 246, 0.2);
    }

    .btn-copy-link:hover {
        background: var(--parceiro-primary-hover);
        transform: translateY(-1px);
        box-shadow: 0 6px 16px rgba(139, 92, 246, 0.3);
    }

    /* Metric Cards */
    .metric-premium-card {
        background: var(--parceiro-bg-glass);
        border: 1px solid var(--parceiro-border);
        border-radius: 16px;
        padding: 20px;
        display: flex;
        align-items: center;
        gap: 16px;
        transition: all 0.25s ease;
    }

    .metric-premium-card:hover {
        transform: translateY(-3px);
    }

    .metric-premium-icon {
        width: 52px;
        height: 52px;
        border-radius: 14px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.5rem;
    }

    .metric-premium-value {
        font-family: 'Outfit', sans-serif;
        font-size: 1.5rem;
        font-weight: 700;
        margin-bottom: 2px;
    }

    .metric-premium-label {
        font-size: 0.75rem;
        color: #64748b;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        font-weight: 600;
    }

    body.dark-theme .metric-premium-label {
        color: #94a3b8;
    }

    /* Custom Tables */
    .table-premium {
        color: inherit;
    }

    .table-premium th {
        font-size: 0.75rem;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        color: #64748b;
        font-weight: 700;
        padding: 12px;
        border-bottom: 1px solid var(--parceiro-border);
    }

    body.dark-theme .table-premium th {
        color: #94a3b8;
    }

    .table-premium td {
        padding: 12px;
        border-bottom: 1px solid rgba(0, 0, 0, 0.03);
        font-size: 0.88rem;
    }

    body.dark-theme .table-premium td {
        border-bottom: 1px solid rgba(255, 255, 255, 0.04);
    }

    .table-premium tr:last-child td {
        border-bottom: none;
    }

/* ========================================================
   AFILIADOS: SAAS_CADASTRO (BLOCK 1)
   ======================================================== */
:root {
            --primary: hsl(243, 75%, 59%);
            --primary-light: hsl(243, 85%, 68%);
            --bg-grad: linear-gradient(135deg, hsl(244, 40%, 12%) 0%, hsl(260, 45%, 18%) 100%);
            --glass-bg: rgba(255, 255, 255, 0.05);
            --glass-border: rgba(255, 255, 255, 0.08);
            --text-color: hsl(210, 40%, 98%);
            --text-muted: hsl(215, 20%, 75%);
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: 'Inter', sans-serif;
            background: var(--bg-grad);
            color: var(--text-color);
            min-height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 20px;
            overflow-x: hidden;
            position: relative;
        }

        /* Abstract Premium Blobs */
        body::before, body::after {
            content: '';
            position: absolute;
            width: 400px;
            height: 400px;
            border-radius: 50%;
            background: radial-gradient(circle, var(--primary-light) 0%, transparent 70%);
            filter: blur(100px);
            z-index: 1;
            opacity: 0.4;
            animation: pulse-blob 8s infinite alternate;
        }

        body::before {
            top: -100px;
            left: -100px;
        }

        body::after {
            bottom: -150px;
            right: -100px;
            background: radial-gradient(circle, hsl(325, 75%, 59%) 0%, transparent 70%);
            animation-delay: 4s;
        }

        @keyframes pulse-blob {
            0% { transform: scale(1); }
            100% { transform: scale(1.2); }
        }

        .container {
            width: 100%;
            max-width: 550px;
            z-index: 10;
        }

        .card {
            background: var(--glass-bg);
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            border: 1px solid var(--glass-border);
            border-radius: 24px;
            padding: 40px;
            box-shadow: 0 30px 60px rgba(0, 0, 0, 0.4);
            animation: card-appear 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
        }

        @keyframes card-appear {
            0% { transform: translateY(30px); opacity: 0; }
            100% { transform: translateY(0); opacity: 1; }
        }

        .logo-area {
            text-align: center;
            margin-bottom: 30px;
        }

        .logo-area i {
            font-size: 40px;
            color: var(--primary-light);
            text-shadow: 0 0 20px rgba(111, 98, 241, 0.5);
            display: inline-block;
            margin-bottom: 12px;
            animation: spin-logo 20s linear infinite;
        }

        @keyframes spin-logo {
            100% { transform: rotate(360deg); }
        }

        .logo-area h1 {
            font-family: 'Outfit', sans-serif;
            font-size: 28px;
            font-weight: 800;
            letter-spacing: -0.5px;
            margin-bottom: 8px;
        }

        .logo-area p {
            color: var(--text-muted);
            font-size: 14px;
        }

        .alert {
            padding: 16px;
            border-radius: 12px;
            font-size: 14px;
            margin-bottom: 24px;
            line-height: 1.5;
            display: flex;
            align-items: center;
            gap: 12px;
            animation: alert-shake 0.4s ease;
        }

        @keyframes alert-shake {
            0%, 100% { transform: translateX(0); }
            25% { transform: translateX(-5px); }
            75% { transform: translateX(5px); }
        }

        .alert-error {
            background: rgba(239, 68, 68, 0.15);
            border: 1px solid rgba(239, 68, 68, 0.25);
            color: hsl(0, 85%, 75%);
        }

        .form-group {
            margin-bottom: 20px;
            position: relative;
        }

        .form-group i.input-icon {
            position: absolute;
            left: 16px;
            top: 50%;
            transform: translateY(-50%);
            color: var(--text-muted);
            font-size: 18px;
            transition: color 0.3s ease;
        }

        .form-control {
            width: 100%;
            padding: 16px 16px 16px 48px;
            background: rgba(0, 0, 0, 0.2);
            border: 1px solid var(--glass-border);
            border-radius: 12px;
            color: var(--text-color);
            font-family: 'Inter', sans-serif;
            font-size: 15px;
            transition: all 0.3s ease;
            outline: none;
        }

        .form-control:focus {
            border-color: var(--primary-light);
            box-shadow: 0 0 15px rgba(111, 98, 241, 0.2);
            background: rgba(0, 0, 0, 0.3);
        }

        .form-control:focus + i.input-icon {
            color: var(--primary-light);
        }

        .btn-submit {
            width: 100%;
            padding: 16px;
            background: var(--primary);
            border: none;
            border-radius: 12px;
            color: #ffffff;
            font-family: 'Outfit', sans-serif;
            font-size: 16px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            margin-top: 10px;
            box-shadow: 0 10px 20px rgba(79, 70, 229, 0.3);
        }

        .btn-submit:hover {
            background: var(--primary-light);
            transform: translateY(-2px);
            box-shadow: 0 15px 25px rgba(79, 70, 229, 0.4);
        }

        .btn-submit:active {
            transform: translateY(0);
        }

        .footer-link {
            text-align: center;
            margin-top: 24px;
            font-size: 14px;
            color: var(--text-muted);
        }

        .footer-link a {
            color: var(--primary-light);
            text-decoration: none;
            font-weight: 600;
            transition: color 0.3s ease;
        }

        .footer-link a:hover {
            color: #ffffff;
            text-decoration: underline;
        }

/* ========================================================
   AFILIADOS: SAAS_SUSPENSO (BLOCK 1)
   ======================================================== */
:root {
            --primary: hsl(243, 75%, 59%);
            --primary-light: hsl(243, 85%, 68%);
            --coral: hsl(346, 84%, 61%);
            --bg-grad: linear-gradient(135deg, hsl(244, 40%, 12%) 0%, hsl(260, 45%, 18%) 100%);
            --glass-bg: rgba(255, 255, 255, 0.05);
            --glass-border: rgba(255, 255, 255, 0.08);
            --text-color: hsl(210, 40%, 98%);
            --text-muted: hsl(215, 20%, 75%);
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: 'Inter', sans-serif;
            background: var(--bg-grad);
            color: var(--text-color);
            min-height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 20px;
            overflow-x: hidden;
            position: relative;
        }

        body::before {
            content: '';
            position: absolute;
            width: 400px;
            height: 400px;
            border-radius: 50%;
            background: radial-gradient(circle, var(--coral) 0%, transparent 70%);
            filter: blur(100px);
            z-index: 1;
            opacity: 0.25;
            animation: pulse-blob 8s infinite alternate;
            top: -100px;
            left: -100px;
        }

        @keyframes pulse-blob {
            0% { transform: scale(1); }
            100% { transform: scale(1.2); }
        }

        .container {
            width: 100%;
            max-width: 550px;
            z-index: 10;
        }

        .card {
            background: var(--glass-bg);
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            border: 1px solid var(--glass-border);
            border-radius: 24px;
            padding: 40px;
            box-shadow: 0 30px 60px rgba(0, 0, 0, 0.4);
            text-align: center;
            animation: card-appear 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
        }

        @keyframes card-appear {
            0% { transform: translateY(30px); opacity: 0; }
            100% { transform: translateY(0); opacity: 1; }
        }

        .icon-area {
            margin-bottom: 30px;
        }

        .icon-area i {
            font-size: 56px;
            color: var(--coral);
            text-shadow: 0 0 25px rgba(251, 113, 133, 0.4);
            display: inline-block;
            margin-bottom: 15px;
        }

        .card h1 {
            font-family: 'Outfit', sans-serif;
            font-size: 26px;
            font-weight: 800;
            letter-spacing: -0.5px;
            margin-bottom: 16px;
            line-height: 1.25;
        }

        .card p {
            color: var(--text-muted);
            font-size: 15px;
            line-height: 1.6;
            margin-bottom: 30px;
            font-weight: 450;
        }

        .btn-back {
            width: 100%;
            padding: 16px;
            background: rgba(255, 255, 255, 0.08);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 12px;
            color: #ffffff;
            font-family: 'Outfit', sans-serif;
            font-size: 15px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            text-decoration: none;
        }

        .btn-back:hover {
            background: rgba(255, 255, 255, 0.15);
            transform: translateY(-2px);
        }

        .btn-back:active {
            transform: translateY(0);
        }

/* ========================================================
   AFILIADOS: AFILIADO_PLANOS (BLOCK 1)
   ======================================================== */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap');

    .plans-wrapper {
        font-family: 'Inter', sans-serif;
        background-color: #f8fafc;
        min-height: 100vh;
    }

    .outfit-font {
        font-family: 'Outfit', sans-serif;
    }

    /* Elegant CSS Micro-animations and Transitions */
    .premium-card {
        border-radius: 20px;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        background: #ffffff;
        position: relative;
        overflow: hidden;
    }

    .premium-card:hover {
        transform: translateY(-8px);
        box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.05), 0 10px 10px -5px rgba(0, 0, 0, 0.02) !important;
    }

    .premium-card::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 5px;
        background: linear-gradient(90deg, hsl(243, 75%, 59%) 0%, hsl(265, 80%, 60%) 100%);
        opacity: 0;
        transition: opacity 0.3s ease;
    }

    .premium-card:hover::before {
        opacity: 1;
    }

    .card-plan-title {
        font-weight: 800;
        color: #0f172a;
        letter-spacing: -0.02em;
    }

    /* Badges & Periodicities */
    .cycle-badge {
        font-size: 0.78rem;
        font-weight: 600;
        padding: 6px 12px;
        border-radius: 8px;
        display: inline-flex;
        align-items: center;
        gap: 6px;
    }

    .cycle-mensal {
        background-color: hsl(210, 100%, 96%);
        color: hsl(210, 100%, 40%);
        border: 1px solid hsl(210, 100%, 90%);
    }

    .cycle-semestral {
        background-color: hsl(270, 100%, 97%);
        color: hsl(270, 100%, 45%);
        border: 1px solid hsl(270, 100%, 92%);
    }

    .cycle-anual {
        background-color: hsl(142, 70%, 95%);
        color: hsl(142, 76%, 25%);
        border: 1px solid hsl(142, 70%, 88%);
    }

    .feature-item {
        font-size: 0.88rem;
        color: #475569;
        display: flex;
        align-items: center;
        gap: 10px;
        margin-bottom: 12px;
    }

    .feature-check {
        color: hsl(142, 76%, 36%);
        font-weight: bold;
        flex-shrink: 0;
    }

    .feature-cross {
        color: hsl(354, 70%, 54%);
        font-weight: bold;
        flex-shrink: 0;
    }

    /* Action bar */
    .action-bar {
        background: rgba(255, 255, 255, 0.7);
        backdrop-filter: blur(12px);
        border: 1px solid rgba(255, 255, 255, 0.4);
        border-radius: 20px;
    }

    .btn-premium-primary {
        background: linear-gradient(135deg, hsl(243, 75%, 59%) 0%, hsl(265, 80%, 58%) 100%);
        border: none;
        color: white;
        font-weight: 600;
        padding: 12px 24px;
        border-radius: 12px;
        transition: all 0.2s ease;
    }

    .btn-premium-primary:hover {
        transform: translateY(-2px);
        box-shadow: 0 10px 15px -3px rgba(79, 70, 229, 0.3);
        color: white;
    }

    .btn-premium-secondary {
        border: 2px solid #e2e8f0;
        background-color: transparent;
        color: #475569;
        font-weight: 600;
        padding: 10px 20px;
        border-radius: 12px;
        transition: all 0.2s ease;
    }

    .btn-premium-secondary:hover {
        border-color: #cbd5e1;
        background-color: #f8fafc;
        color: #1e293b;
        transform: translateY(-1px);
    }

/* ========================================================
   AFILIADOS: AFILIADO_DEMANDAS (BLOCK 1)
   ======================================================== */
:root {
        --purple-primary: hsl(243, 75%, 59%);
        --purple-light: hsl(243, 85%, 68%);
        --purple-dark: hsl(243, 75%, 45%);
        --accent-pink: hsl(325, 75%, 59%);
        --glass-card: rgba(255, 255, 255, 0.02);
        --glass-border: rgba(255, 255, 255, 0.08);
    }

    /* CSS Customizations matching the Outfit/Inter Premium theme */
    .partner-dashboard {
        font-family: 'Inter', sans-serif;
    }

    .partner-dashboard h1, 
    .partner-dashboard h2, 
    .partner-dashboard h3, 
    .partner-dashboard h4, 
    .partner-dashboard h5, 
    .partner-dashboard .btn-outfit {
        font-family: 'Outfit', sans-serif;
        font-weight: 600;
    }

    /* KPI Cards Styling */
    .kpi-card {
        transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
        border: 1px solid var(--glass-border) !important;
        border-radius: 16px !important;
        background: var(--glass-card);
    }

    .kpi-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15) !important;
        border-color: rgba(111, 98, 241, 0.25) !important;
    }

    .kpi-icon {
        width: 48px;
        height: 48px;
        border-radius: 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 24px;
        background: rgba(111, 98, 241, 0.08);
        color: var(--purple-light);
    }

    /* Dynamic Badges */
    .badge-status {
        padding: 6px 12px;
        border-radius: 50px;
        font-size: 12px;
        font-weight: 600;
        letter-spacing: 0.3px;
    }

    /* File upload box */
    .upload-container {
        border: 2px dashed rgba(111, 98, 241, 0.2);
        background: rgba(111, 98, 241, 0.02);
        border-radius: 12px;
        padding: 16px;
        transition: all 0.3s ease;
        position: relative;
        text-align: center;
        cursor: pointer;
    }

    .upload-container:hover {
        border-color: var(--purple-light);
        background: rgba(111, 98, 241, 0.05);
    }

    .upload-container input[type="file"] {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        opacity: 0;
        cursor: pointer;
    }

    .upload-container i {
        font-size: 24px;
        color: var(--purple-light);
        display: block;
        margin-bottom: 8px;
    }

    .upload-container span {
        font-size: 13px;
        color: var(--text-muted);
    }

    /* Collapse Area */
    .form-collapse {
        border: 1px solid var(--glass-border);
        border-radius: 16px;
        background: var(--glass-card);
        padding: 24px;
    }
/* ========================================================
   AFILIADOS: PUBLIC_VALIDAR (BLOCK 1)
   ======================================================== */
:root {
            --primary: hsl(243, 75%, 59%);
            --primary-light: hsl(243, 85%, 68%);
            --bg-grad: linear-gradient(135deg, hsl(210, 40%, 96%) 0%, hsl(220, 30%, 90%) 100%);
            --card-bg: rgba(255, 255, 255, 0.85);
            --card-border: rgba(255, 255, 255, 0.9);
            --text-dark: hsl(222, 47%, 11%);
            --text-muted: hsl(215, 16%, 47%);
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: 'Inter', sans-serif;
            background: var(--bg-grad);
            color: var(--text-dark);
            min-height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 30px;
            overflow-x: hidden;
            position: relative;
        }

        /* Abstract blobs */
        body::before, body::after {
            content: '';
            position: absolute;
            width: 350px;
            height: 350px;
            border-radius: 50%;
            background: radial-gradient(circle, rgba(79, 70, 229, 0.15) 0%, transparent 70%);
            filter: blur(80px);
            z-index: 1;
        }

        body::before {
            top: 5%;
            left: 5%;
        }

        body::after {
            bottom: 5%;
            right: 5%;
            background: radial-gradient(circle, rgba(16, 185, 129, 0.12) 0%, transparent 70%);
        }

        .container {
            width: 100%;
            max-width: 650px;
            z-index: 10;
        }

        .card {
            background: var(--card-bg);
            border: 1px solid var(--card-border);
            backdrop-filter: blur(15px);
            -webkit-backdrop-filter: blur(15px);
            border-radius: 24px;
            padding: 40px;
            box-shadow: 0 20px 40px rgba(15, 23, 42, 0.08);
            animation: card-appear 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
        }

        @keyframes card-appear {
            0% { transform: translateY(20px); opacity: 0; }
            100% { transform: translateY(0); opacity: 1; }
        }

        .header {
            text-align: center;
            margin-bottom: 30px;
        }

        .header i.logo {
            font-size: 44px;
            color: var(--primary);
            display: inline-block;
            margin-bottom: 12px;
            animation: pulse-logo 2s infinite ease-in-out;
        }

        @keyframes pulse-logo {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-5px); }
        }

        .header h1 {
            font-family: 'Outfit', sans-serif;
            font-size: 24px;
            font-weight: 800;
            color: var(--text-dark);
            margin-bottom: 8px;
            letter-spacing: -0.5px;
        }

        .header p {
            color: var(--text-muted);
            font-size: 14px;
        }

        .details-box {
            background: rgba(255, 255, 255, 0.5);
            border: 1px solid rgba(0, 0, 0, 0.03);
            border-radius: 16px;
            padding: 24px;
            margin-bottom: 30px;
        }

        .detail-row {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 12px 0;
            border-bottom: 1px dashed rgba(0, 0, 0, 0.05);
        }

        .detail-row:last-child {
            border-bottom: none;
            padding-bottom: 0;
            margin-top: 10px;
            font-size: 18px;
        }

        .detail-label {
            font-weight: 500;
            color: var(--text-muted);
            font-size: 14px;
        }

        .detail-val {
            font-weight: 600;
            color: var(--text-dark);
            font-size: 14px;
        }

        .detail-val.total {
            font-size: 22px;
            color: var(--primary);
            font-family: 'Outfit', sans-serif;
            font-weight: 800;
        }

        .downloads {
            margin-bottom: 30px;
        }

        .downloads h3 {
            font-family: 'Outfit', sans-serif;
            font-size: 15px;
            font-weight: 600;
            color: var(--text-dark);
            margin-bottom: 12px;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .download-btn {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 16px 20px;
            background: #ffffff;
            border: 1px solid rgba(0, 0, 0, 0.06);
            border-radius: 12px;
            color: var(--text-dark);
            text-decoration: none;
            font-size: 14px;
            font-weight: 500;
            transition: all 0.3s ease;
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.01);
        }

        .download-btn:hover {
            border-color: var(--primary);
            transform: translateY(-2px);
            box-shadow: 0 8px 15px rgba(79, 70, 229, 0.08);
        }

        .download-btn i.arrow {
            color: var(--primary);
            font-size: 18px;
        }

        .actions {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 16px;
        }

        .btn {
            padding: 16px;
            border: none;
            border-radius: 12px;
            font-family: 'Outfit', sans-serif;
            font-size: 15px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
        }

        .btn-approve {
            background: hsl(142, 70%, 45%);
            color: #ffffff;
            box-shadow: 0 10px 20px rgba(16, 185, 129, 0.2);
        }

        .btn-approve:hover {
            background: hsl(142, 76%, 39%);
            transform: translateY(-2px);
            box-shadow: 0 15px 25px rgba(16, 185, 129, 0.3);
        }

        .btn-reject {
            background: #ffffff;
            border: 1px solid rgba(0, 0, 0, 0.08);
            color: hsl(0, 75%, 55%);
        }

        .btn-reject:hover {
            background: hsl(0, 75%, 98%);
            border-color: hsl(0, 75%, 85%);
            transform: translateY(-2px);
        }

        .btn:active {
            transform: translateY(0);
        }

        /* Success & Reject States */
        .state-card {
            text-align: center;
            padding: 20px 0;
        }

        .state-card i {
            font-size: 72px;
            margin-bottom: 20px;
            display: inline-block;
        }

        .state-card.success i {
            color: hsl(142, 70%, 45%);
            text-shadow: 0 0 20px rgba(16, 185, 129, 0.2);
        }

        .state-card.reject i {
            color: hsl(0, 75%, 55%);
            text-shadow: 0 0 20px rgba(239, 68, 68, 0.2);
        }

        .state-card h2 {
            font-family: 'Outfit', sans-serif;
            font-size: 26px;
            font-weight: 800;
            margin-bottom: 12px;
        }

        .state-card p {
            color: var(--text-muted);
            font-size: 14px;
            line-height: 1.6;
            max-width: 450px;
            margin: 0 auto 30px;
        }

        .btn-home {
            background: var(--primary);
            color: #ffffff;
            box-shadow: 0 10px 20px rgba(79, 70, 229, 0.2);
            padding: 14px 40px;
            display: inline-flex;
            text-decoration: none;
            border-radius: 12px;
            font-family: 'Outfit', sans-serif;
            font-weight: 600;
            transition: all 0.3s ease;
        }

        .btn-home:hover {
            background: var(--primary-light);
            transform: translateY(-2px);
            box-shadow: 0 15px 25px rgba(79, 70, 229, 0.3);
        }

/* ========================================================
   AFILIADOS: AFILIADOS_ADMIN (BLOCK 1)
   ======================================================== */
.admin-affiliates {
        font-family: 'Inter', sans-serif;
    }

    .admin-affiliates h1, 
    .admin-affiliates h2, 
    .admin-affiliates h3, 
    .admin-affiliates h4, 
    .admin-affiliates h5, 
    .admin-affiliates .btn-outfit {
        font-family: 'Outfit', sans-serif;
        font-weight: 600;
    }

    .bulk-bar {
        background: rgba(255, 255, 255, 0.02);
        border: 1px solid rgba(255, 255, 255, 0.08);
        border-radius: 12px;
        padding: 16px;
    }

    .table-container {
        background: rgba(255, 255, 255, 0.02);
        border: 1px solid rgba(255, 255, 255, 0.08);
        border-radius: 16px;
    }

    .badge-status {
        padding: 6px 12px;
        border-radius: 50px;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.5px;
        text-transform: uppercase;
    }

/* ========================================================
   AFILIADOS: COMERCIAL_AFILIADOS (BLOCK 1)
   ======================================================== */
@keyframes slideUpBulk {
        from { transform: translate(-50%, 50px); opacity: 0; }
        to { transform: translate(-50%, 0); opacity: 1; }
    }

/* ========================================================
   AFILIADOS: COMERCIAL_CUPONS (BLOCK 1)
   ======================================================== */
@keyframes slideUpBulk {
        from { transform: translate(-50%, 50px); opacity: 0; }
        to { transform: translate(-50%, 0); opacity: 1; }
    }