/* ===================================================
   settings.css — Settings page styles
   Requires: global.css
   =================================================== */

.app-header { justify-content: space-between; }

.profile-mini {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #f8f9fa;
    padding: 5px 15px 5px 5px;
    border-radius: 30px;
}

.profile-pic {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--primary-gold);
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    font-size: 14px;
}

/* Settings sections */
.settings-container { padding: 20px; }

.settings-group { margin-bottom: 25px; }

.group-title {
    font-size: 13px;
    font-weight: 700;
    color: var(--text-muted);
    margin-bottom: 10px;
    padding-right: 10px;
}

.settings-card {
    background-color: var(--card-bg);
    border-radius: var(--border-radius);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.02);
    overflow: hidden;
}

.setting-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    border-bottom: 1px solid #f1f1f1;
    text-decoration: none;
    color: var(--text-main);
    cursor: pointer;
    transition: 0.2s;
}

.setting-item:active { background-color: #f9f9f9; }
.setting-item:last-child { border-bottom: none; }

.setting-info {
    display: flex;
    align-items: center;
    gap: 15px;
}

.setting-info i {
    font-size: 18px;
    color: var(--text-muted);
    width: 20px;
    text-align: center;
}

.setting-info span { font-size: 15px; font-weight: 600; }

.setting-action { color: var(--text-muted); font-size: 14px; }

.btn-export { color: #27ae60 !important; font-weight: 700 !important; }
.btn-export i { color: #27ae60 !important; }

.btn-danger { color: var(--danger) !important; font-weight: 700 !important; }
.btn-danger i { color: var(--danger) !important; }

/* Toggle switch */
.switch {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 24px;
}

.switch input { opacity: 0; width: 0; height: 0; }

.slider {
    position: absolute;
    cursor: pointer;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: #ccc;
    transition: .4s;
    border-radius: 34px;
}

.slider:before {
    position: absolute;
    content: "";
    height: 18px;
    width: 18px;
    left: 3px;
    bottom: 3px;
    background-color: white;
    transition: .4s;
    border-radius: 50%;
}

input:checked + .slider { background-color: var(--primary-gold); }
input:checked + .slider:before { transform: translateX(20px); }

/* ─── Modal overlay ──────────────────────────────────────────────────────── */
.modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.45);
    display: flex;
    align-items: flex-end;
    justify-content: center;
    z-index: 3000;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s;
}

.modal-overlay.show {
    opacity: 1;
    pointer-events: all;
}

.modal-card {
    background: var(--card-bg);
    width: 100%;
    max-width: 480px;
    border-radius: 24px 24px 0 0;
    padding: 28px 24px 36px;
    position: relative;
    transform: translateY(30px);
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.modal-overlay.show .modal-card { transform: translateY(0); }

.modal-close {
    position: absolute;
    top: 16px;
    left: 16px;
    background: #f1f1f1;
    border: none;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    color: var(--text-muted);
}

.modal-title {
    font-size: 17px;
    font-weight: 800;
    color: var(--text-main);
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.modal-title i { color: var(--primary-gold); }

.btn-modal-submit {
    width: 100%;
    background: var(--primary-gold);
    color: white;
    border: none;
    padding: 14px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    margin-top: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    transition: opacity 0.2s;
}

.btn-modal-submit:disabled { opacity: 0.6; cursor: not-allowed; }

/* ─── Danger Zone modal ──────────────────────────────────────────────────── */
.danger-icon {
    font-size: 48px;
    color: var(--danger);
    text-align: center;
    margin-bottom: 12px;
}

.danger-title { color: var(--danger); justify-content: center; }

.danger-warning {
    font-size: 14px;
    line-height: 1.8;
    color: var(--text-muted);
    text-align: center;
    margin-bottom: 6px;
}

.btn-danger-confirm {
    background: var(--danger);
    box-shadow: 0 4px 14px rgba(231, 76, 60, 0.3);
}

/* ─── Dark mode overrides ────────────────────────────────────────────────── */
[data-theme="dark"] .modal-close { background: #1e2d4a; }
[data-theme="dark"] .profile-mini { background: #1e2d4a; }
