/* ============================================================
   Request Payout modal - standalone overlay (mirrors buy-service.css).
   Použito v Tipsters.MyService.payoutButtonClick - vlastní DOM shell
   bez Tipsters.Modal generic kontejneru. Header gradient = orange/red
   (peníze ven), CTA = green (potvrzení). Stejné design tokeny jako buy
   modal pro vizuální konzistenci v platebním kontextu.
   ============================================================ */
.payout-overlay {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(15, 22, 41, 0.55);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    z-index: 999999990;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 50px 16px;
    opacity: 0;
    transition: opacity 200ms ease;
}

.payout-overlay.is-visible { opacity: 1; }

/* Swal nad payout modalem (stejný trick jako buy-service.css). */
.swal2-container {
    z-index: 999999999 !important;
}

.payout-modal {
    background: #fff;
    border-radius: 14px;
    width: 100%;
    max-width: 540px;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.28);
    transform: translateY(-12px);
    transition: transform 250ms cubic-bezier(0.2, 0.8, 0.2, 1);
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 100px);
    font-family: Montserrat, sans-serif;
}

.payout-overlay.is-visible .payout-modal { transform: translateY(0); }

.payout-modal-loader {
    padding: 80px 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.payout-modal-close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    cursor: pointer;
    z-index: 10;
    transition: background 150ms ease;
}

.payout-modal-close:hover { background: rgba(255, 255, 255, 0.32); }

.payout-modal-close svg, .payout-modal-close i {
    width: 16px;
    height: 16px;
}

/* Header - gradient s peníze-ven motivem (orange→pink) aby se vizuálně
   odlišil od buy modalu (blue) a CTA payout (green). */
.payout-header {
    background: linear-gradient(135deg, #f57c2c 0%, #e35b8c 100%);
    color: #fff;
    padding: 22px 28px 24px 28px;
    display: flex;
    align-items: center;
    gap: 16px;
    position: relative;
}

.payout-header-icon {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.payout-header-icon i, .payout-header-icon svg {
    width: 28px;
    height: 28px;
    color: #fff;
}

.payout-header-text { flex: 1; min-width: 0; }

.payout-title {
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 4px 0;
    color: #fff;
    line-height: 1.25;
}

.payout-subtitle {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.86);
    line-height: 1.4;
}

/* Body */
.payout-body {
    padding: 22px 28px 24px 28px;
    overflow-y: auto;
    flex: 1;
}

.payout-section {
    margin-bottom: 18px;
}

.payout-section-title {
    font-size: 13px;
    font-weight: 600;
    color: #2b3343;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.payout-section-title i, .payout-section-title svg {
    width: 14px;
    height: 14px;
    opacity: 0.7;
}

.payout-form-row {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 10px;
}

.payout-form-label {
    font-size: 12px;
    color: #6b7390;
    font-weight: 500;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
}

.payout-form-label .payout-label-hint {
    font-weight: 400;
    opacity: 0.8;
    font-size: 11.5px;
}

.payout-input,
.payout-select,
.payout-textarea {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid #d8dde8;
    border-radius: 8px;
    background: #fff;
    font-family: Montserrat, sans-serif;
    font-size: 14px;
    color: #2b3343;
    transition: border-color 150ms ease, box-shadow 150ms ease;
    box-sizing: border-box;
}

.payout-input:focus,
.payout-select:focus,
.payout-textarea:focus {
    outline: none;
    border-color: #2aabee;
    box-shadow: 0 0 0 3px rgba(42, 171, 238, 0.12);
}

.payout-textarea {
    resize: vertical;
    min-height: 60px;
    line-height: 1.4;
}

.payout-amount-wrap {
    position: relative;
}

.payout-amount-wrap .payout-amount-suffix {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #8a93b2;
    font-weight: 600;
    pointer-events: none;
    font-size: 14px;
}

.payout-amount-wrap .payout-input { padding-right: 36px; }

.payout-method-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.payout-method-option {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border: 1.5px solid #e1e5ee;
    border-radius: 10px;
    cursor: pointer;
    transition: border-color 150ms ease, background 150ms ease;
    background: #fff;
}

.payout-method-option:hover { border-color: #c5cbd9; }

.payout-method-option.is-selected {
    border-color: #2aabee;
    background: rgba(42, 171, 238, 0.06);
}

.payout-method-option input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.payout-method-radio {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 2px solid #c5cbd9;
    flex-shrink: 0;
    position: relative;
    transition: border-color 150ms ease;
}

.payout-method-option.is-selected .payout-method-radio { border-color: #2aabee; }

.payout-method-option.is-selected .payout-method-radio::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #2aabee;
}

.payout-method-icon {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6b7390;
    flex-shrink: 0;
}

.payout-method-option.is-selected .payout-method-icon { color: #2aabee; }

.payout-method-icon svg, .payout-method-icon i { width: 20px; height: 20px; }

.payout-method-name {
    font-size: 13.5px;
    font-weight: 600;
    color: #2b3343;
}

.payout-balance-summary {
    margin-bottom: 16px;
    padding: 12px 16px;
    background: linear-gradient(135deg, rgba(42, 171, 238, 0.08) 0%, rgba(61, 172, 120, 0.08) 100%);
    border: 1px solid rgba(42, 171, 238, 0.18);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.payout-balance-label {
    font-size: 12px;
    color: #6b7390;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.payout-balance-value {
    font-size: 22px;
    font-weight: 700;
    color: #2d9166;
    line-height: 1.1;
}

.payout-balance-value .payout-balance-currency {
    font-weight: 400;
    margin-left: 4px;
    font-size: 16px;
}

.payout-alert {
    padding: 12px 16px;
    border-radius: 10px;
    font-size: 13px;
    line-height: 1.5;
    margin-bottom: 14px;
}

.payout-alert-warning {
    background: rgba(245, 158, 11, 0.10);
    border: 1px solid rgba(245, 158, 11, 0.30);
    color: #7d5400;
}

.payout-alert-error {
    background: rgba(220, 80, 80, 0.10);
    border: 1px solid rgba(220, 80, 80, 0.30);
    color: #b94747;
}

.payout-alert-pending-meta {
    margin-top: 6px;
    font-size: 11.5px;
    opacity: 0.75;
}

.payout-cta {
    width: 100%;
    padding: 14px 18px;
    border: none;
    border-radius: 10px;
    background: linear-gradient(135deg, #3dac78 0%, #2d9166 100%);
    color: #fff;
    font-family: Montserrat, sans-serif;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: transform 150ms ease, box-shadow 150ms ease;
    margin-top: 6px;
}

.payout-cta:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(45, 145, 102, 0.32);
}

.payout-cta:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

.payout-cta i, .payout-cta svg {
    width: 18px;
    height: 18px;
    color: #fff;
}

.payout-cancel {
    width: 100%;
    padding: 12px 18px;
    margin-top: 8px;
    border: 1px solid #d8dde8;
    border-radius: 10px;
    background: transparent;
    color: #6b7390;
    font-family: Montserrat, sans-serif;
    font-size: 13.5px;
    font-weight: 600;
    cursor: pointer;
    transition: background 150ms ease, color 150ms ease;
}

.payout-cancel:hover {
    background: #f5f7fb;
    color: #2b3343;
}

/* ---- Dark mode ---- */
html.is-dark .payout-modal,
body.is-dark .payout-modal {
    background: #1b2030;
    color: #e7eaf3;
}

html.is-dark .payout-section-title,
body.is-dark .payout-section-title {
    color: #e7eaf3;
}

html.is-dark .payout-form-label,
body.is-dark .payout-form-label {
    color: #9aa0b7;
}

html.is-dark .payout-input,
html.is-dark .payout-select,
html.is-dark .payout-textarea,
body.is-dark .payout-input,
body.is-dark .payout-select,
body.is-dark .payout-textarea {
    background: #232a3e;
    border-color: #2a3148;
    color: #e7eaf3;
}

html.is-dark .payout-input:focus,
html.is-dark .payout-select:focus,
html.is-dark .payout-textarea:focus,
body.is-dark .payout-input:focus,
body.is-dark .payout-select:focus,
body.is-dark .payout-textarea:focus {
    border-color: #6abdee;
    box-shadow: 0 0 0 3px rgba(106, 189, 238, 0.18);
}

html.is-dark .payout-amount-wrap .payout-amount-suffix,
body.is-dark .payout-amount-wrap .payout-amount-suffix {
    color: #9aa0b7;
}

html.is-dark .payout-method-option,
body.is-dark .payout-method-option {
    background: #232a3e;
    border-color: #2a3148;
}

html.is-dark .payout-method-option:hover,
body.is-dark .payout-method-option:hover {
    border-color: #3a4365;
}

html.is-dark .payout-method-option.is-selected,
body.is-dark .payout-method-option.is-selected {
    border-color: #6abdee;
    background: rgba(106, 189, 238, 0.08);
}

html.is-dark .payout-method-name,
body.is-dark .payout-method-name {
    color: #e7eaf3;
}

html.is-dark .payout-method-radio,
body.is-dark .payout-method-radio {
    border-color: #3a4365;
}

html.is-dark .payout-method-option.is-selected .payout-method-radio,
body.is-dark .payout-method-option.is-selected .payout-method-radio {
    border-color: #6abdee;
}

html.is-dark .payout-method-option.is-selected .payout-method-radio::after,
body.is-dark .payout-method-option.is-selected .payout-method-radio::after {
    background: #6abdee;
}

html.is-dark .payout-method-option.is-selected .payout-method-icon,
body.is-dark .payout-method-option.is-selected .payout-method-icon {
    color: #6abdee;
}

html.is-dark .payout-balance-summary,
body.is-dark .payout-balance-summary {
    background: linear-gradient(135deg, rgba(106, 189, 238, 0.10) 0%, rgba(78, 199, 146, 0.10) 100%);
    border-color: rgba(106, 189, 238, 0.20);
}

html.is-dark .payout-balance-label,
body.is-dark .payout-balance-label {
    color: #9aa0b7;
}

html.is-dark .payout-balance-value,
body.is-dark .payout-balance-value {
    color: #4ec792;
}

html.is-dark .payout-alert-warning,
body.is-dark .payout-alert-warning {
    background: rgba(245, 158, 11, 0.12);
    border-color: rgba(245, 158, 11, 0.32);
    color: #e0a554;
}

html.is-dark .payout-alert-error,
body.is-dark .payout-alert-error {
    background: rgba(220, 80, 80, 0.12);
    border-color: rgba(220, 80, 80, 0.30);
    color: #e88a8a;
}

html.is-dark .payout-cancel,
body.is-dark .payout-cancel {
    border-color: #2a3148;
    color: #9aa0b7;
}

html.is-dark .payout-cancel:hover,
body.is-dark .payout-cancel:hover {
    background: #232a3e;
    color: #e7eaf3;
}

/* Mobile */
@media (max-width: 600px) {
    .payout-overlay {
        padding: 16px 8px;
        align-items: stretch;
    }
    .payout-modal {
        max-height: calc(100vh - 32px);
    }
    .payout-header {
        padding: 18px 22px 20px 22px;
    }
    .payout-body {
        padding: 18px 22px 22px 22px;
    }
    .payout-title { font-size: 16px; }
    .payout-method-grid {
        grid-template-columns: 1fr;
    }
}
