/**
 * AffiliateWP Custom Styling
 * Brand Colors:
 * - Primary Dark: #003658 (Navy Blue)
 * - Primary Green: #6DAA4F (Green)
 * - Accent Hover Green: #5a9440 (Darker Green)
 * - Background Gray: #f8fafc
 * - Borders: #e8edf0 / #e0e8e3
 * - Font: 'Sofia Pro', sans-serif
 */

/* Container and Page Alignment */
.post-2287 .page-content,
.page-id-2287 .page-content,
.post-2288 .page-content,
.page-id-2288 .page-content,
.post-2286 .page-content,
.page-id-2286 .page-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #f8fafc;
    padding: 60px 20px;
    min-height: 60vh;
}

/* Hide default page header */
.post-2287 .page-header,
.post-2288 .page-header,
.post-2286 .page-header {
    display: none !important;
}

/* The Login Card Wrapper */
.affwp-login-form {
    width: 100%;
    max-width: 480px;
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid #e8edf0;
    box-shadow: 0 15px 35px rgba(0, 54, 88, 0.05), 0 5px 15px rgba(0, 0, 0, 0.02);
    padding: 40px;
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
    font-family: 'Sofia Pro', sans-serif;
}

/* Decorative Premium Top Bar Gradient */
.affwp-login-form::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(90deg, #6DAA4F 0%, #003658 100%);
}

/* Fieldset and Legend styling */
.affwp-login-form fieldset {
    border: none;
    margin: 0;
    padding: 0;
}

.affwp-login-form legend {
    font-size: 20px;
    font-weight: 600;
    color: #003658;
    margin-bottom: 28px;
    display: block;
    text-align: center;
    float: none;
    width: 100%;
    padding: 0;
}

/* Paragraph spacing for inputs */
.affwp-login-form p {
    margin: 0 0 20px 0;
    position: relative;
    text-align: left;
}

/* Input labels */
.affwp-login-form label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    font-size: 14px;
    color: #003658;
    cursor: pointer;
    font-family: 'Sofia Pro', sans-serif;
}

/* Inputs styling */
.affwp-login-form input[type="text"],
.affwp-login-form input[type="password"] {
    width: 100%;
    padding: 14px 16px;
    border: 1.5px solid #e0e8e3;
    border-radius: 12px;
    font-size: 15px;
    color: #003658;
    background-color: #fcfdfe;
    transition: all 0.25s ease;
    box-sizing: border-box;
    font-family: 'Sofia Pro', sans-serif;
}

/* Focus and hover states */
.affwp-login-form input[type="text"]:hover,
.affwp-login-form input[type="password"]:hover {
    border-color: #c5d4cc;
}

.affwp-login-form input[type="text"]:focus,
.affwp-login-form input[type="password"]:focus {
    outline: none;
    border-color: #6DAA4F;
    box-shadow: 0 0 0 4px rgba(109, 170, 79, 0.12);
    background-color: #ffffff;
}

/* Remember Me Checkbox styling */
.affwp-login-form p:has(.affwp-user-remember),
.affwp-login-form label.affwp-user-remember {
    margin-bottom: 24px;
}

.affwp-login-form label.affwp-user-remember {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: #555555;
    font-weight: 400;
    cursor: pointer;
    user-select: none;
}

.affwp-login-form input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    border: 1.5px solid #e0e8e3;
    border-radius: 6px;
    outline: none;
    background-color: #fcfdfe;
    cursor: pointer;
    display: inline-grid;
    place-content: center;
    transition: all 0.2s ease;
    margin: 0;
}

.affwp-login-form input[type="checkbox"]:hover {
    border-color: #c5d4cc;
}

.affwp-login-form input[type="checkbox"]:checked {
    background-color: #6DAA4F;
    border-color: #6DAA4F;
}

.affwp-login-form input[type="checkbox"]::before {
    content: "";
    width: 10px;
    height: 10px;
    transform: scale(0);
    transition: 120ms transform ease-in-out;
    box-shadow: inset 1em 1em white;
    transform-origin: center;
    clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}

.affwp-login-form input[type="checkbox"]:checked::before {
    transform: scale(1);
}

.affwp-login-form input[type="checkbox"]:focus {
    box-shadow: 0 0 0 4px rgba(109, 170, 79, 0.12);
}

/* Submit Button */
.affwp-login-form input[type="submit"].button {
    width: 100%;
    padding: 16px 24px;
    background: #6DAA4F;
    color: #ffffff;
    border: none;
    border-radius: 16px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    box-shadow: 0 4px 12px rgba(109, 170, 79, 0.2);
    font-family: 'Sofia Pro', sans-serif;
    margin-top: 10px;
}

/* Button Hover State */
.affwp-login-form input[type="submit"].button:hover {
    background: #5a9440;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(109, 170, 79, 0.3);
}

/* Button Press/Active State */
.affwp-login-form input[type="submit"].button:active {
    transform: translateY(0);
    box-shadow: 0 4px 10px rgba(109, 170, 79, 0.2);
}

/* Lost Password Link container */
.affwp-login-form .affwp-lost-password {
    text-align: center;
    margin: 20px 0 0 0;
    font-size: 14px;
}

.affwp-login-form .affwp-lost-password a {
    color: #003658;
    text-decoration: none;
    font-weight: 500;
    transition: all 0.2s ease;
}

/* Toggle link between login and register */
.affwp-login-register-toggle,
.affwp-form-toggle {
    text-align: center !important;
    margin-top: 32px !important;
    padding-top: 20px !important;
    border-top: 1px solid #e8edf0 !important;
    display: block !important;
    clear: both !important;
}

.affwp-login-register-toggle p,
.affwp-form-toggle p {
    margin: 0 !important;
    color: #555555 !important;
    font-size: 14px !important;
    text-align: center !important;
}

.affwp-login-register-toggle a,
.affwp-form-toggle a {
    color: #6DAA4F !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    transition: color 0.2s ease !important;
    display: inline-block !important;
    margin-top: 6px !important;
}

.affwp-login-register-toggle a:hover,
.affwp-form-toggle a:hover {
    color: #5a9440 !important;
    text-decoration: underline !important;
}

/* ═════════════════════════════════════════════════ */
/* REGISTRATION FORM STYLING                        */
/* ═════════════════════════════════════════════════ */

/* Registration Card Wrapper */
.affwp-register-form {
    width: 100%;
    max-width: 560px;
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid #e8edf0;
    box-shadow: 0 15px 35px rgba(0, 54, 88, 0.05), 0 5px 15px rgba(0, 0, 0, 0.02);
    padding: 40px;
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
    font-family: 'Sofia Pro', sans-serif;
    margin: 0 auto;
}

/* Decorative Premium Top Bar Gradient */
.affwp-register-form::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(90deg, #6DAA4F 0%, #003658 100%);
}

/* Fieldset and Legend */
.affwp-register-form fieldset {
    border: none;
    margin: 0;
    padding: 0;
}

.affwp-register-form legend {
    font-size: 20px;
    font-weight: 600;
    color: #003658;
    margin-bottom: 28px;
    display: block;
    text-align: center;
    float: none;
    width: 100%;
    padding: 0;
}

/* Paragraph spacing */
.affwp-register-form p {
    margin: 0 0 20px 0;
    position: relative;
    text-align: left;
}

/* Labels */
.affwp-register-form label,
.affwp-register-form .affwp-field-label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    font-size: 14px;
    color: #003658;
    cursor: pointer;
    font-family: 'Sofia Pro', sans-serif;
}

/* Required badge */
.affwp-register-form .required {
    color: #6DAA4F;
    font-weight: 400;
    font-size: 12px;
}

/* Text, email, url inputs */
.affwp-register-form input[type="text"],
.affwp-register-form input[type="email"],
.affwp-register-form input[type="url"],
.affwp-register-form input[type="password"] {
    width: 100%;
    padding: 14px 16px;
    border: 1.5px solid #e0e8e3;
    border-radius: 12px;
    font-size: 15px;
    color: #003658;
    background-color: #fcfdfe;
    transition: all 0.25s ease;
    box-sizing: border-box;
    font-family: 'Sofia Pro', sans-serif;
}

.affwp-register-form input[type="text"]:hover,
.affwp-register-form input[type="email"]:hover,
.affwp-register-form input[type="url"]:hover,
.affwp-register-form input[type="password"]:hover {
    border-color: #c5d4cc;
}

.affwp-register-form input[type="text"]:focus,
.affwp-register-form input[type="email"]:focus,
.affwp-register-form input[type="url"]:focus,
.affwp-register-form input[type="password"]:focus {
    outline: none;
    border-color: #6DAA4F;
    box-shadow: 0 0 0 4px rgba(109, 170, 79, 0.12);
    background-color: #ffffff;
}

/* Textarea */
.affwp-register-form textarea {
    width: 100%;
    padding: 14px 16px;
    border: 1.5px solid #e0e8e3;
    border-radius: 12px;
    font-size: 15px;
    color: #003658;
    background-color: #fcfdfe;
    transition: all 0.25s ease;
    box-sizing: border-box;
    font-family: 'Sofia Pro', sans-serif;
    resize: vertical;
    min-height: 100px;
}

.affwp-register-form textarea:hover {
    border-color: #c5d4cc;
}

.affwp-register-form textarea:focus {
    outline: none;
    border-color: #6DAA4F;
    box-shadow: 0 0 0 4px rgba(109, 170, 79, 0.12);
    background-color: #ffffff;
}

/* Submit Button */
.affwp-register-form input[type="submit"].button {
    width: 100%;
    padding: 16px 24px;
    background: #6DAA4F;
    color: #ffffff;
    border: none;
    border-radius: 16px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    box-shadow: 0 4px 12px rgba(109, 170, 79, 0.2);
    font-family: 'Sofia Pro', sans-serif;
    margin-top: 10px;
}

.affwp-register-form input[type="submit"].button:hover {
    background: #5a9440;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(109, 170, 79, 0.3);
}

.affwp-register-form input[type="submit"].button:active {
    transform: translateY(0);
    box-shadow: 0 4px 10px rgba(109, 170, 79, 0.2);
}

/* Error/Notification notice styling for AffiliateWP */
.affwp-notice,
.affwp-errors,
.affwp-error {
    background-color: #fdf2f2 !important;
    border: none !important;
    border-radius: 12px !important;
    padding: 16px 20px !important;
    color: #de2c2c !important;
    margin-bottom: 24px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    list-style: none !important;
    box-sizing: border-box !important;
    font-family: 'Sofia Pro', sans-serif !important;
}

/* Responsive adjustments */
@media (max-width: 480px) {

    .post-2287 .page-content,
    .page-id-2287 .page-content,
    .post-2288 .page-content,
    .page-id-2288 .page-content,
    .post-2286 .page-content,
    .page-id-2286 .page-content {
        padding: 40px 15px;
    }

    .affwp-login-form,
    .affwp-register-form {
        padding: 30px 20px;
        border-radius: 16px;
    }

    .affwp-register-form {
        max-width: 100%;
    }

    #affwp-affiliate-dashboard {
        padding: 30px 20px;
    }
}

/* ═════════════════════════════════════════════════ */
/* AFFILIATE AREA DASHBOARD — PENDING & ACTIVE       */
/* ═════════════════════════════════════════════════ */

/* Active Dashboard Container (Standard width and layout) */
#affwp-affiliate-dashboard {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    box-sizing: border-box;
    font-family: 'Sofia Pro', sans-serif;
}

/* Pending approval state card style (when the dashboard has no tabs) */
#affwp-affiliate-dashboard:not(:has(#affwp-affiliate-dashboard-tabs)) {
    max-width: 520px;
    min-height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid #e8edf0;
    box-shadow: 0 15px 35px rgba(0, 54, 88, 0.05), 0 5px 15px rgba(0, 0, 0, 0.02);
    padding: 40px;
    position: relative;
    overflow: hidden;
}

/* Top gradient accent bar for the Pending card */
#affwp-affiliate-dashboard:not(:has(#affwp-affiliate-dashboard-tabs))::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(90deg, #6DAA4F 0%, #003658 100%);
}

/* Pending approval notice text */
#affwp-affiliate-dashboard:not(:has(#affwp-affiliate-dashboard-tabs)) .affwp-notice {
    background-color: transparent !important;
    border: none !important;
    border-left: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    color: #92400e !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 1.6 !important;
    margin: 0 !important;
    text-align: center !important;
    font-family: 'Sofia Pro', sans-serif !important;
}

/* Dashboard Tabs Navigation */
#affwp-affiliate-dashboard-tabs {
    list-style: none !important;
    margin: 0 0 35px 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    border-bottom: 2px solid #e2e8f0 !important;
    padding-bottom: 15px !important;
    width: 100% !important;
}

.affwp-affiliate-dashboard-tab {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.affwp-affiliate-dashboard-tab a {
    display: inline-block !important;
    padding: 10px 18px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    color: #475569 !important;
    transition: all 0.2s ease-in-out !important;
    text-decoration: none !important;
    font-family: 'Sofia Pro', sans-serif !important;
    background: transparent !important;
}

.affwp-affiliate-dashboard-tab a:hover {
    color: #003658 !important;
    background-color: #f1f5f9 !important;
}

/* Active tab style */
.affwp-affiliate-dashboard-tab.active a {
    background-color: #003658 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(0, 54, 88, 0.15) !important;
}

/* Log out tab specifically */
.affwp-affiliate-dashboard-tab a[href*="logout"] {
    color: #ef4444 !important;
}

.affwp-affiliate-dashboard-tab a[href*="logout"]:hover {
    background-color: #fef2f2 !important;
    color: #dc2626 !important;
}

/* Card Panels inside Tabs */
#affwp-affiliate-dashboard .affwp-card {
    background: #ffffff !important;
    border-radius: 16px !important;
    border: 1px solid #e8edf0 !important;
    box-shadow: 0 10px 25px rgba(0, 54, 88, 0.03) !important;
    padding: 30px !important;
    margin-bottom: 30px !important;
    position: relative !important;
    box-sizing: border-box !important;
    text-align: left !important;
}

#affwp-affiliate-dashboard .affwp-card__header {
    border-bottom: 1px solid #f1f5f9 !important;
    padding-bottom: 20px !important;
    margin-bottom: 20px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
}

#affwp-affiliate-dashboard .affwp-card__header h3 {
    margin: 0 0 6px 0 !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #003658 !important;
    line-height: 1.3 !important;
    font-family: 'Sofia Pro', sans-serif !important;
}

#affwp-affiliate-dashboard .affwp-card__header p {
    margin: 0 !important;
    font-size: 14px !important;
    color: #64748b !important;
    line-height: 1.5 !important;
}

/* Tooltip SVG link icon */
#affwp-affiliate-dashboard .affwp-card__tooltip svg {
    width: 22px !important;
    height: 22px !important;
    color: #94a3b8 !important;
    cursor: pointer !important;
    transition: color 0.2s !important;
}

#affwp-affiliate-dashboard .affwp-card__tooltip svg:hover {
    color: #003658 !important;
}

/* Card Content & Forms */
#affwp-affiliate-dashboard .affwp-card__content {
    padding: 0 !important;
}

/* Copy Link Container */
.affwp-affiliate-link__display {
    display: flex !important;
    gap: 12px !important;
    align-items: center !important;
    width: 100% !important;
}

.affwp-affiliate-link__input {
    flex-grow: 1 !important;
    background-color: #f8fafc !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 10px !important;
    padding: 14px 16px !important;
    font-size: 15px !important;
    color: #334155 !important;
    outline: none !important;
    transition: all 0.2s !important;
    font-family: monospace !important;
}

.affwp-affiliate-link__input:focus {
    border-color: #6DAA4F !important;
    background-color: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(109, 170, 79, 0.15) !important;
}

.affwp-affiliate-link-copy-link {
    background-color: #6DAA4F !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 14px 24px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    white-space: nowrap !important;
}

.affwp-affiliate-link-copy-link:hover {
    background-color: #5a9440 !important;
    transform: translateY(-1px) !important;
}

.affwp-affiliate-link-copy-link:active {
    transform: translateY(0) !important;
}

/* Custom Link Generator Fields */
.affwp-card__content--form>div {
    margin-bottom: 20px !important;
}

.affwp-card__content--form label {
    display: block !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    color: #003658 !important;
    margin-bottom: 8px !important;
    font-family: 'Sofia Pro', sans-serif !important;
}

.affwp-card__content--form input[type="url"],
.affwp-card__content--form input[type="text"] {
    width: 100% !important;
    background-color: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 10px !important;
    padding: 14px 16px !important;
    font-size: 15px !important;
    color: #003658 !important;
    box-sizing: border-box !important;
    outline: none !important;
    transition: all 0.2s !important;
    font-family: 'Sofia Pro', sans-serif !important;
}

.affwp-card__content--form input[type="url"]:focus,
.affwp-card__content--form input[type="text"]:focus {
    border-color: #6DAA4F !important;
    box-shadow: 0 0 0 3px rgba(109, 170, 79, 0.15) !important;
}

/* Toggle Campaign name link */
.affwp-generator-campaign-text-link-wrap {
    margin: 15px 0 !important;
}

#affwp-generator-toggle-campaign {
    font-size: 14px !important;
    color: #6DAA4F !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: color 0.2s !important;
}

#affwp-generator-toggle-campaign:hover {
    color: #5a9440 !important;
    text-decoration: underline !important;
}

/* Card footer submit section */
.affwp-card__footer {
    border-top: 1px solid #f1f5f9 !important;
    padding-top: 20px !important;
    margin-top: 20px !important;
    text-align: right !important;
}

#affwp-generator-submit-btn {
    background-color: #6DAA4F !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 14px 28px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    font-family: 'Sofia Pro', sans-serif !important;
}

#affwp-generator-submit-btn:hover {
    background-color: #5a9440 !important;
    transform: translateY(-1px) !important;
}

#affwp-generator-submit-btn:active {
    transform: translateY(0) !important;
}

/* Dashboard Tables Styling */
.affwp-table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    margin: 25px 0 !important;
    background: #ffffff !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03) !important;
}

.affwp-table th {
    background-color: #f8fafc !important;
    color: #003658 !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    text-align: left !important;
    padding: 16px 20px !important;
    border-bottom: 2px solid #e2e8f0 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    font-family: 'Sofia Pro', sans-serif !important;
}

.affwp-table td {
    padding: 16px 20px !important;
    color: #475569 !important;
    font-size: 15px !important;
    border-bottom: 1px solid #f1f5f9 !important;
    font-family: 'Sofia Pro', sans-serif !important;
    vertical-align: middle !important;
}

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

.affwp-table tr:hover td {
    background-color: #f8fafc !important;
}

/* Responsiveness rules consolidated at the bottom of the stylesheet */

/* ═════════════════════════════════════════════════ */
/* TABS PANELS & FORMS (SETTINGS / GRAPHS / ETC.)   */
/* ═════════════════════════════════════════════════ */

/* Card Panels for tab contents (except URL generator which has individual card styling) */
#affwp-affiliate-dashboard .affwp-tab-content {
    background: #ffffff !important;
    border-radius: 16px !important;
    border: 1px solid #e8edf0 !important;
    box-shadow: 0 10px 25px rgba(0, 54, 88, 0.03) !important;
    padding: 35px !important;
    box-sizing: border-box !important;
    text-align: left !important;
    margin-bottom: 30px !important;
}

#affwp-affiliate-dashboard #affwp-affiliate-dashboard-url-generator {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* Settings Page & Form styling */
.affwp-tab-content h4 {
    margin-top: 0 !important;
    margin-bottom: 24px !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #003658 !important;
    border-bottom: 1px solid #f1f5f9 !important;
    padding-bottom: 12px !important;
    font-family: 'Sofia Pro', sans-serif !important;
}

/* Payment Email Wrap */
.affwp-wrap {
    margin-bottom: 24px !important;
}

.affwp-wrap label {
    display: block !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    color: #003658 !important;
    margin-bottom: 8px !important;
    font-family: 'Sofia Pro', sans-serif !important;
}

.affwp-wrap input[type="email"],
.affwp-wrap input[type="text"] {
    width: 100% !important;
    max-width: 500px !important;
    background-color: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 10px !important;
    padding: 14px 16px !important;
    font-size: 15px !important;
    color: #003658 !important;
    box-sizing: border-box !important;
    outline: none !important;
    transition: all 0.2s !important;
    font-family: 'Sofia Pro', sans-serif !important;
}

.affwp-wrap input[type="email"]:focus,
.affwp-wrap input[type="text"]:focus {
    border-color: #6DAA4F !important;
    box-shadow: 0 0 0 3px rgba(109, 170, 79, 0.15) !important;
}

/* Checkbox (Notifications Settings) styling */
.affwp-send-notifications-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 20px 0 30px 0 !important;
}

.affwp-send-notifications-wrap input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 4px !important;
    accent-color: #6DAA4F !important;
    cursor: pointer !important;
}

.affwp-send-notifications-wrap label {
    display: inline-block !important;
    margin-bottom: 0 !important;
    font-weight: 500 !important;
    font-size: 15px !important;
    color: #334155 !important;
    cursor: pointer !important;
}

/* Stripe Payout Settings section */
.affwp-stripe-payouts {
    background-color: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 24px !important;
    margin-top: 30px !important;
    margin-bottom: 30px !important;
    max-width: 650px !important;
}

.affwp-stripe-payouts__title {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #003658 !important;
    margin-top: 0 !important;
    margin-bottom: 10px !important;
    border-bottom: none !important;
    padding-bottom: 0 !important;
}

.affwp-stripe-payouts__description {
    font-size: 14px !important;
    color: #64748b !important;
    line-height: 1.6 !important;
    margin-bottom: 20px !important;
}

.affwp-stripe-payouts__link--connect {
    display: inline-block !important;
    background-color: #635bff !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 12px 24px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.2s !important;
    text-align: center !important;
}

.affwp-stripe-payouts__link--connect:hover {
    background-color: #4f46e5 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(99, 91, 255, 0.2) !important;
}

/* Save profile settings button */
.affwp-save-profile-wrap {
    margin-top: 30px !important;
}

.affwp-save-profile-wrap input[type="submit"] {
    background-color: #6DAA4F !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 14px 28px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    font-family: 'Sofia Pro', sans-serif !important;
}

.affwp-save-profile-wrap input[type="submit"]:hover {
    background-color: #5a9440 !important;
    transform: translateY(-1px) !important;
}

.affwp-save-profile-wrap input[type="submit"]:active {
    transform: translateY(0) !important;
}

/* Graphs filter form */
#affwp-graphs-filter {
    margin-bottom: 25px !important;
}

#affwp-graphs-filter .tablenav {
    display: flex !important;
    gap: 12px !important;
    align-items: center !important;
    flex-wrap: wrap !important;
}

#affwp-graphs-date-options {
    background-color: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    padding: 10px 16px !important;
    font-size: 14px !important;
    color: #003658 !important;
    outline: none !important;
    transition: all 0.2s !important;
    cursor: pointer !important;
    font-family: 'Sofia Pro', sans-serif !important;
}

#affwp-graphs-date-options:focus {
    border-color: #6DAA4F !important;
}

#affwp-date-range-options {
    display: flex !important;
    align-items: center !important;
}

.affwp-search-date {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.affwp-search-date span {
    font-size: 14px !important;
    color: #475569 !important;
    font-weight: 500 !important;
}

.affwp-datepicker {
    background-color: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    padding: 10px 16px !important;
    font-size: 14px !important;
    color: #003658 !important;
    outline: none !important;
    width: 180px !important;
    box-sizing: border-box !important;
    font-family: 'Sofia Pro', sans-serif !important;
}

.affwp-datepicker:focus {
    border-color: #6DAA4F !important;
}

#affwp-graphs-filter #submit {
    background-color: #003658 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 10px 24px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    font-family: 'Sofia Pro', sans-serif !important;
}

#affwp-graphs-filter #submit:hover {
    background-color: #00253d !important;
    transform: translateY(-1px) !important;
}

/* Graph container canvas styling */
.affwp-graph {
    background-color: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    /* No padding here — padding shrinks the inner canvas and hides axis labels */
    padding: 0 !important;
    margin-top: 20px !important;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.01) !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    position: relative !important;
}

/* The actual Flot chart wrapper needs breathing room */
.affwp-graph > div {
    padding: 20px !important;
    box-sizing: border-box !important;
}

.affwp-graph .tickLabels {
    color: #64748b !important;
    font-family: 'Sofia Pro', sans-serif !important;
    font-size: 12px !important;
}

/* Legend: compact horizontal strip, repositioned to top via JS */
.affwp-graph-legend-top {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px 16px !important;
    align-items: center !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 0 0 12px 0 !important;
    padding: 8px 14px !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important;
}

.affwp-graph-legend-top .affwp-legend-item {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-family: 'Sofia Pro', sans-serif !important;
    font-size: 12px !important;
    color: #003658 !important;
    white-space: nowrap !important;
}

.affwp-graph-legend-top .affwp-legend-swatch {
    display: inline-block !important;
    width: 12px !important;
    height: 12px !important;
    border-radius: 3px !important;
    flex-shrink: 0 !important;
}

/* Hide the original Flot-generated legend (replaced by our custom one above) */
.affwp-graph .legend {
    display: none !important;
}

/* Hide the "/" separator appended after dates in the graph x-axis tick labels */
.affwp-graph .xAxis .tickLabel::after,
.affwp-graph .flot-x-axis .tickLabel::after {
    content: none !important;
    display: none !important;
}

p.affwp-notice a {
    color: #6DAA4F;
    text-decoration: underline;
}

/* ═════════════════════════════════════════════════ */
/* RESPONSIVENESS AND DEVICE ADAPTATION             */
/* ═════════════════════════════════════════════════ */

/* Tablet & Mobile adaptation (below 991px) */
@media (max-width: 991px) {

    #affwp-affiliate-dashboard .affwp-card,
    #affwp-affiliate-dashboard .affwp-tab-content {
        padding: 30px !important;
    }

    /* Horizontal scroll for wide tables to prevent layout breaking */
    .affwp-table {
        display: block !important;
        overflow-x: auto !important;
        width: 100% !important;
        -webkit-overflow-scrolling: touch !important;
    }

    /* Horizontal scroll for graphs to prevent compression */
    .affwp-graph {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    .affwp-graph canvas {
        min-width: 600px !important;
    }
}

/* Mobile Portrait & Landscape adaptation (below 768px) */
@media (max-width: 768px) {

    /* Horizontal scrollbar for tabs navigation bar */
    #affwp-affiliate-dashboard-tabs {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        padding-bottom: 8px !important;
        gap: 6px !important;
        border-bottom: 2px solid #e2e8f0 !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none;
        /* Hide scrollbar Firefox */
    }

    #affwp-affiliate-dashboard-tabs::-webkit-scrollbar {
        display: none;
        /* Hide scrollbar Chrome/Safari */
    }

    .affwp-affiliate-dashboard-tab {
        flex-shrink: 0 !important;
    }

    .affwp-affiliate-dashboard-tab a {
        padding: 8px 14px !important;
        font-size: 13px !important;
    }

    /* Stack URL generator & copy section */
    .affwp-affiliate-link__display {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
    }

    .affwp-affiliate-link-copy-link {
        width: 100% !important;
        text-align: center !important;
        padding: 12px 20px !important;
    }

    .affwp-affiliate-link__input {
        padding: 12px 14px !important;
    }

    /* Stack Graph filter inputs */
    #affwp-graphs-filter .tablenav {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
    }

    #affwp-graphs-date-options,
    .affwp-datepicker,
    #affwp-graphs-filter #submit {
        width: 100% !important;
    }

    .affwp-search-date {
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important;
        gap: 6px !important;
    }

    #affwp-generator-submit-btn {
        width: 100% !important;
    }

    .affwp-card__footer {
        text-align: center !important;
    }
}

/* Tiny mobile devices (below 480px) */
@media (max-width: 480px) {

    #affwp-affiliate-dashboard .affwp-card,
    #affwp-affiliate-dashboard .affwp-tab-content {
        padding: 20px !important;
        border-radius: 12px !important;
    }

    #affwp-affiliate-dashboard .affwp-card__header {
        flex-direction: column;
    }
}

/* Custom Frontend Inline Error Styling */
.affwp-inline-error-msg {
    color: #de2c2c !important;
    font-size: 13px !important;
    margin-top: 6px !important;
    display: block !important;
    font-family: 'Sofia Pro', sans-serif !important;
    font-weight: 500 !important;
}

.affwp-register-form input.affwp-input-error {
    border-color: #f05252 !important;
    background-color: #fdf2f2 !important;
}

.affwp-register-form input.affwp-input-error:focus {
    box-shadow: 0 0 0 4px rgba(240, 82, 82, 0.12) !important;
}

/* Capitalize Payout Method in AffiliateWP Dashboard Payouts Table */
#affwp-affiliate-dashboard-payouts td[data-th="Payout Method"],
.affwp-table td[data-th="Payout Method"] {
    text-transform: capitalize !important;
}