/* ---------- PROFILE MODAL ---------- */
.profile-modal,
.reviews-modal,
.delete-review-modal,
.url-input-modal,
.tg-account-modal {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .6);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: fadeIn .25s;
    z-index: 1000;
    pointer-events: auto;
}

@keyframes fadeIn {
    from {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

.profile-modal-content,
.reviews-modal-content,
.delete-review-modal-content,
.url-input-modal-content,
.tg-account-modal-content {
    background: linear-gradient(135deg, rgba(30, 32, 60, .25), rgba(127, 83, 172, .25));
    border-radius: 20px;
    padding: 28px;
    color: #fff;
    box-shadow: 0 0 25px rgba(127, 83, 172, .35), 0 0 40px rgba(67, 233, 123, .25);
    backdrop-filter: blur(18px);
    position: relative;
    z-index: 1010;
}

@keyframes zoom {
    from {
        transform: scale(.8);
        opacity: 0
    }
    to {
        transform: scale(1);
        opacity: 1
    }
}

.profile-modal-content,
.reviews-modal-content,
.delete-review-modal-content,
.url-input-modal-content,
.tg-account-modal-content {
    animation: zoom .3s;
}

.profile-modal-content h4,
.reviews-modal-content h4,
.delete-review-modal-content h4,
.url-input-modal-content h4,
.tg-account-modal-content h4 {
    text-align: center;
    margin: 0 0 16px;
}

.modal-btns {
    display: flex;
    flex-direction: column;
    gap: 10px;
    z-index: 1015;
    position: relative;
}

.modal-btn {
    border: none;
    border-radius: 14px;
    padding: 10px;
    font-weight: 600;
    cursor: pointer;
    color: #fff;
    transition: .25s;
    background: linear-gradient(90deg, #1e3c72, #43e97b);
    z-index: 1015;
    position: relative;
}

.modal-btn:hover {
    transform: scale(1.03);
}

.modal-btn.danger {
    background: linear-gradient(90deg, #ff3b3b, #fa8bff);
}

.close-btn {
    position: absolute;
    right: 14px;
    top: 8px;
    background: none;
    border: none;
    color: #fff;
    font-size: 1.5rem;
    cursor: pointer;
    z-index: 1020;
}

/* LIGHT THEME MODAL */
body.light .profile-modal-content,
body.light .reviews-modal-content,
body.light .delete-review-modal-content,
body.light .url-input-modal-content,
body.light .tg-account-modal-content {
    background: linear-gradient(135deg, rgba(240, 240, 250, .3), rgba(220, 220, 255, .35));
    color: #1e1e2b;
}

body.light .modal-btn {
    background: linear-gradient(90deg, #1e3c72, #43e97b);
}

body.light .modal-btn.danger {
    background: linear-gradient(90deg, #ff3b3b, #fa8bff);
}

/* ---------- REVIEWS MODAL ---------- */
.reviews-modal-content {
    width: 90%;
    max-width: 600px;
    max-height: 80vh;
    overflow-y: auto;
}

.reviews-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 20px 0;
}

.review-item {
    background: rgba(255, 255, 255, .1);
    border-radius: 12px;
    padding: 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background .3s;
}

.review-item:hover {
    background: rgba(255, 255, 255, .15);
}

.review-info {
    flex: 1;
}

.review-company {
    font-weight: 600;
    font-size: 1rem;
    margin-bottom: 4px;
}

.review-date {
    font-size: .85rem;
    opacity: .8;
}

.review-status {
    padding: 4px 8px;
    border-radius: 8px;
    font-size: .8rem;
    font-weight: 600;
    margin-right: 10px;
}

.review-status.passed {
    background: linear-gradient(135deg, #43e97b, #1e3c72);
}

.review-status.failed {
    background: linear-gradient(135deg, #ff3b3b, #fa8bff);
}

.delete-review-btn {
    background: linear-gradient(135deg, #ff3b3b, #fa8bff);
    border: none;
    border-radius: 8px;
    padding: 6px 12px;
    color: #fff;
    font-size: .8rem;
    font-weight: 600;
    cursor: pointer;
    transition: transform .2s;
}

.delete-review-btn:hover {
    transform: scale(1.05);
}

/* ---------- DELETE REVIEW MODAL ---------- */
.delete-review-modal-content,
.url-input-modal-content {
    width: 400px;
}

.delete-review-info {
    background: rgba(255, 255, 255, .1);
    border-radius: 12px;
    padding: 15px;
    margin: 15px 0;
}

.delete-review-actions,
.url-input-actions {
    display: flex;
    gap: 10px;
    justify-content: center;
}

.confirm-delete-btn,
.confirm-url-btn {
    background: linear-gradient(135deg, #ff3b3b, #fa8bff);
    border: none;
    border-radius: 10px;
    padding: 10px 20px;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
    flex: 1;
}

.cancel-delete-btn,
.cancel-url-btn {
    background: linear-gradient(135deg, #5f72bd, #1e3c72);
    border: none;
    border-radius: 10px;
    padding: 10px 20px;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
    flex: 1;
}

/* URL INPUT MODAL */
.url-input {
    width: 100%;
    padding: 12px;
    border-radius: 10px;
    border: none;
    background: rgba(255, 255, 255, .1);
    color: #fff;
    font-size: 1rem;
    margin-bottom: 15px;
    outline: none;
}

.url-input:focus {
    background: rgba(255, 255, 255, .15);
}

.confirm-url-btn {
    background: linear-gradient(135deg, #43e97b, #1e3c72);
}

/* ---------- TG ACCOUNT MODAL ---------- */
.tg-account-modal-content {
    width: 360px;
    max-height: 80vh;
    overflow-y: auto;
}

.tg-account-details {
    background: linear-gradient(135deg, rgba(127, 83, 172, .15), rgba(67, 233, 123, .1));
    border-radius: 16px;
    padding: 20px;
    margin: 10px 0;
    color: #fff;
    font-size: .9rem;
}

.tg-account-details-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
    padding: 4px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .1);
}

.tg-account-details-label {
    font-weight: 600;
    opacity: .8;
}

.tg-account-details-value {
    font-weight: 400;
}

.tg-account-details-value.status-ready {
    color: var(--secondary);
}

.tg-account-details-value.status-waiting {
    color: var(--warning);
}

.tg-account-details-value.status-error {
    color: var(--danger);
}

.tg-account-details-value.status-queue {
    color: var(--primary);
}

.tg-account-details-value.status-writing {
    color: var(--accent);
}

.tg-account-details-value.status-tries {
    color: var(--warning);
}

.tg-account-details-value.status-ban {
    color: var(--danger);
}

/* LIGHT THEME REVIEWS MODAL */
body.light .review-item {
    background: rgba(0, 0, 0, .07);
}

body.light .review-item:hover {
    background: rgba(0, 0, 0, .12);
}

body.light .delete-review-info {
    background: rgba(0, 0, 0, .07);
}

body.light .url-input {
    background: rgba(0, 0, 0, .07);
    color: #1e1e2b;
}

body.light .url-input:focus {
    background: rgba(0, 0, 0, .12);
}

/* LIGHT THEME TG DETAILS */
body.light .tg-account-details {
    background: linear-gradient(135deg, rgba(180, 180, 255, .1), rgba(180, 255, 210, .08));
    color: #1e1e2b;
}

body.light .tg-account-details-row {
    border-bottom: 1px solid rgba(0, 0, 0, .1);
}

/* LIGHT THEME TG MODAL */
body.light .tg-account-modal-content {
    background: linear-gradient(135deg, rgba(240, 240, 250, .3), rgba(220, 220, 255, .35));
    color: #1e1e2b;
}

body.light .modal-btn {
    background: linear-gradient(135deg, var(--primary), var(--accent));
}

body.light .modal-btn.secondary {
    background: linear-gradient(135deg, var(--secondary), var(--primary));
}

body.light .modal-btn.warning {
    background: linear-gradient(135deg, var(--warning), var(--accent));
}

body.light .modal-btn.danger {
    background: linear-gradient(135deg, var(--danger), var(--primary));
}