:root {
    --bg-color: #121212;
    --card-bg: #1a1b1e;
    --input-bg: #222327;
    --text-color: #ffffff;
    --text-muted: #888888;
    --primary-yellow: #FFC107;
    --accent-green: #00E676;
    --logo-green: #00C853;
    --border-radius: 12px;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Inter', sans-serif;
}

body {
    background-color: var(--bg-color);
    color: var(--text-color);
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    padding: 20px;
}

.app-container {
    width: 100%;
    max-width: 400px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    text-align: center;
}

/* Header */
.main-header {
    margin-bottom: 10px;
}

.logo {
    font-size: 2.2rem;
    font-weight: 700;
    color: #CCCC50;
    /* Base kinda yellowish */
    margin-bottom: 5px;
}

.logo .highlight {
    color: var(--logo-green);
}

.tagline {
    color: var(--text-muted);
    font-size: 0.9rem;
}

/* Notification Bar */
.notification-bar {
    background-color: #1e1e1e;
    padding: 12px;
    border-radius: 20px;
    font-size: 0.75rem;
    color: #ccc;
    border: 1px solid #333;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

.notification-bar .accent-text {
    color: var(--accent-green);
    font-weight: bold;
}

/* Bonus Card with Gradient Border effect */
.bonus-card {
    background: linear-gradient(180deg, #1f271b 0%, #151618 100%);
    /* Dark gradient top to bottom */
    border: 1px solid transparent;
    border-radius: var(--border-radius);
    padding: 25px 20px;
    position: relative;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);

    /* The border gradient trick */
    background-clip: padding-box, border-box;
    background-origin: padding-box, border-box;
    background-image:
        linear-gradient(180deg, #1f271b 0%, #151618 100%),
        linear-gradient(135deg, #FFC107 0%, #004d40 100%);
    /* Yellow to Dark Green border */

    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.trophy-icon {
    font-size: 2rem;
    margin-bottom: 5px;
    color: var(--primary-yellow);
}

.bonus-card h2 {
    font-size: 1rem;
    color: var(--primary-yellow);
    font-weight: 700;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 5px;
}

.bonus-card p {
    font-size: 0.85rem;
    color: #ccc;
}

/* Login Container */
.login-container {
    background-color: #111;
    padding: 25px;
    border-radius: var(--border-radius);
    border: 1px solid #222;
}

.login-container h2 {
    font-size: 1.2rem;
    margin-bottom: 20px;
    color: white;
}

/* Tabs */
.tab-switch {
    display: flex;
    background-color: #1a1a1a;
    border-radius: 8px;
    padding: 4px;
    margin-bottom: 20px;
    border: 1px solid #333;
}

.tab-btn {
    flex: 1;
    background: none;
    border: none;
    color: #666;
    padding: 10px;
    font-size: 0.9rem;
    cursor: pointer;
    border-radius: 6px;
    transition: all 0.3s ease;
}

.tab-btn.active {
    background-color: #222;
    color: white;
}

/* Form */
.login-form {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.input-group input {
    width: 100%;
    padding: 14px;
    background-color: var(--input-bg);
    border: 1px solid #333;
    border-radius: 8px;
    color: white;
    font-size: 0.95rem;
    outline: none;
}

.input-group input:focus {
    border-color: #555;
}

.submit-btn {
    background-color: var(--primary-yellow);
    color: black;
    border: none;
    padding: 14px;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 5px;
    transition: transform 0.1s ease;
}

.submit-btn:hover {
    filter: brightness(1.1);
}


.submit-btn:active {
    transform: scale(0.98);
}

/* Testimonials Section - YouTube Style */
.testimonials-section {
    width: 100%;
    margin-top: 20px;
    text-align: left;
    padding-top: 20px;
    border-top: 1px solid #333;
}

.testimonials-section h3 {
    color: #fff;
    font-size: 1.1rem;
    margin-bottom: 20px;
    font-weight: 700;
}

.testimonial-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.comment-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.comment-header {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.8rem;
}

.comment-header .author {
    color: #fff;
    font-weight: 600;
}

.comment-header .time {
    color: #aaa;
    font-size: 0.75rem;
}

.comment-text {
    color: #e0e0e0;
    font-size: 0.9rem;
    line-height: 1.4;
    margin-bottom: 4px;
}

.comment-actions {
    display: flex;
    align-items: center;
    gap: 16px;
}

.action-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #aaa;
    font-size: 0.8rem;
    cursor: pointer;
    transition: color 0.2s;
}

.action-btn:hover {
    color: #fff;
}


.action-btn.text-btn {
    font-weight: 600;
    font-size: 0.75rem;
}

/* Modal Styles */
.hidden {
    display: none !important;
}

.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.85);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
    animation: fadeIn 0.3s ease;
}

.modal-content {
    background: linear-gradient(135deg, #1f271b 0%, #1a1b1e 100%);
    padding: 30px;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 90%;
    width: 320px;
    border: 1px solid #333;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6);
    animation: slideUp 0.3s ease;
}

.modal-label {
    color: #ccc;
    font-size: 0.95rem;
    margin-bottom: 5px;
}

.win-amount-big {
    color: var(--accent-green);
    font-size: 2.8rem;
    font-weight: 800;
    margin-bottom: 25px;
    letter-spacing: -1px;
}

.modal-content h2 {
    color: var(--primary-yellow);
    font-size: 1.5rem;
    margin-bottom: 15px;
}

.modal-content p {
    color: #e0e0e0;
    font-size: 1.1rem;
    margin-bottom: 25px;
    line-height: 1.5;
}

.highlight-money {
    color: var(--accent-green);
    font-weight: 700;
}

/* Reuse submit-btn styles but maybe tweak a bit if needed */
#start-btn {
    width: 100%;
    font-size: 1.1rem;
    background-color: #ffffff;
    /* White bg for contrast or keep yellow? User asked for Green Circle emoji, implies maybe green button? existing design is yellow. keeping standard btn style for consistency but text says 'COMEÇAR' */
    background-color: var(--primary-yellow);
}

/* Success Modal Specific Styles - Updated for Congruency */
.success-modal {
    background: linear-gradient(135deg, #1f271b 0%, #1a1b1e 100%) !important;
    border: 1px solid #333 !important;
    color: #ffffff !important;
    padding: 30px 20px !important;
    border-radius: 20px !important;
    width: 340px !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.8) !important;
}

.success-icon-wrap {
    margin-bottom: 20px;
}

.money-fly-icon {
    font-size: 5.5rem;
    filter: drop-shadow(0 0 10px rgba(0, 230, 118, 0.3));
}

.success-title {
    color: var(--primary-yellow) !important;
    /* Congruent yellow */
    font-size: 1.8rem !important;
    font-weight: 800 !important;
    margin-bottom: 8px !important;
    text-transform: uppercase;
}

.success-msg {
    color: #ccc !important;
    font-size: 1.05rem !important;
    margin-bottom: 25px !important;
    font-weight: 500 !important;
    line-height: 1.4;
}

.sacar-btn {
    background: var(--primary-yellow) !important;
    /* System Yellow */
    color: #000000 !important;
    border: none !important;
    padding: 16px 20px !important;
    border-radius: 12px !important;
    /* matching app's border radius */
    font-size: 1.1rem !important;
    font-weight: 800 !important;
    cursor: pointer;
    box-shadow: 0 5px 15px rgba(255, 193, 7, 0.3) !important;
    width: 100% !important;
    /* Full width like other important buttons */
    max-width: 250px;
    display: inline-block !important;
    transition: all 0.2s ease !important;
    text-transform: uppercase;
}

.sacar-btn:active {
    transform: scale(0.96) !important;
}

/* Unified Dynamic Withdrawal Modal Styles */
.selection-modal {
    background: linear-gradient(135deg, #1f271b 0%, #1a1b1e 100%) !important;
    border: 1px solid #333 !important;
    color: #ffffff !important;
    padding: 25px 20px !important;
    border-radius: 20px !important;
    width: 380px !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.9) !important;
    text-align: center;
}

.selection-title {
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    margin-bottom: 25px !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.available-balance-box {
    background: #FF6701 !important;
    /* Orange box as in reference */
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 30px;
    box-shadow: 0 5px 15px rgba(255, 103, 1, 0.4);
}

.available-label {
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    color: #ffffff;
    margin-bottom: 5px;
    opacity: 0.9;
}

.available-amount {
    font-size: 2rem;
    font-weight: 900;
    color: #ffffff;
}

.methods-container {
    margin-bottom: 25px;
}

.method-row {
    margin-bottom: 12px;
}

.method-option-card {
    display: flex;
    align-items: center;
    background: rgba(255, 255, 255, 0.05);
    /* Dark subtle background */
    padding: 15px 20px;
    border-radius: 12px;
    cursor: pointer;
    border: 1px solid #333;
    transition: all 0.2s ease;
}

.method-option-card:has(input:checked) {
    border-color: #FF6701;
    background: rgba(255, 103, 1, 0.1);
}

.method-text {
    color: #ffffff;
    /* White text for dark theme */
    font-weight: 700;
    font-size: 1rem;
    margin-left: 15px;
}

.radio-circle {
    width: 22px;
    height: 22px;
    border: 2px solid #555;
    border-radius: 50%;
    position: relative;
    flex-shrink: 0;
}

.method-option-card input[type="radio"] {
    display: none;
}

.method-option-card input[type="radio"]:checked+.radio-circle {
    border-color: #FF6701;
}

.method-option-card input[type="radio"]:checked+.radio-circle::after {
    content: '';
    width: 12px;
    height: 12px;
    background: #FF6701;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.method-fields {
    background: transparent;
    padding: 15px 5px 5px 5px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    animation: slideDown 0.3s ease-out;
}

.form-input-simple {
    width: 100%;
    background: #1a1a1a;
    /* Dark input */
    border: 1px solid #333;
    padding: 15px;
    border-radius: 12px;
    color: #fff;
    font-size: 1rem;
    outline: none;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2);
}

.form-input-simple:focus {
    border-color: #FF6701;
}

.form-input-simple::placeholder {
    color: #999;
}

.concluir-saque-btn {
    background: #FF6701 !important;
    color: #fff !important;
    border: none !important;
    padding: 18px;
    border-radius: 50px;
    width: 100% !important;
    font-size: 1.2rem !important;
    font-weight: 900 !important;
    cursor: pointer;
    text-transform: uppercase;
    box-shadow: 0 8px 25px rgba(255, 103, 1, 0.4) !important;
    transition: transform 0.2s ease !important;
    margin-bottom: 15px;
}

.concluir-saque-btn:active {
    transform: scale(0.96) !important;
}

.back-link {
    color: #aaa;
    text-decoration: underline;
    font-size: 0.9rem;
    cursor: pointer;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Form Styles */
.form-group {
    text-align: left;
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    font-size: 0.85rem;
    color: #ccc;
    margin-bottom: 8px;
}

.form-input {
    width: 100%;
    background: #2a2a2a;
    border: 1px solid #444;
    padding: 15px;
    border-radius: 8px;
    color: #fff;
    font-size: 1rem;
    outline: none;
}

.form-input:focus {
    border-color: var(--primary-yellow);
}

.back-link-btn {
    background: none;
    border: none;
    color: #888;
    text-decoration: underline;
    margin-top: 15px;
    cursor: pointer;
    font-size: 0.9rem;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes slideUp {
    from {
        transform: translateY(20px);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

/* Withdrawal Processing Loading Screen Styles */
.processing-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.infinite-spinner {
    width: 60px;
    height: 60px;
    border: 5px solid rgba(255, 103, 1, 0.1);
    border-top: 5px solid #FF6701;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-bottom: 25px;
    box-shadow: 0 0 15px rgba(255, 103, 1, 0.2);
}

.processing-text {
    color: #ffffff;
    font-size: 1.4rem;
    font-weight: 700;
    margin-bottom: 10px;
}

.processing-subtext {
    color: #888;
    font-size: 0.95rem;
    text-align: center;
    max-width: 280px;
    line-height: 1.4;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* CSS updated */
.esconder {
    display: none !important;
}

.checkout-header h2 {
    text-shadow: 0 0 15px rgba(255, 193, 7, 0.2);
}