﻿/* ================================================================
   SMG — USER PROFILE & SETTINGS STYLES (Fase 19)
   ================================================================ */

/* ── 1. LAYOUT FRAMEWORK ──────────────────────────────────────── */
.profile-layout{display:flex;gap:32px;max-width:1280px;margin:0 auto;padding:32px 24px 80px}
.profile-sidebar{width:280px;flex-shrink:0;position:sticky;top:100px;align-self:flex-start;height:fit-content}
.profile-content{flex:1;min-width:0}

/* Sidebar card */
.sidebar-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);overflow:hidden}
.sidebar-user{display:flex;flex-direction:column;align-items:center;padding:28px 20px 20px;text-align:center;border-bottom:1px solid var(--border-color)}
.sidebar-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--gold-primary),var(--gold-dark));display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;color:var(--bg-primary);margin-bottom:12px;overflow:hidden;border:3px solid var(--gold-primary)}
.sidebar-avatar img{width:100%;height:100%;object-fit:cover}
.sidebar-name{font-family:var(--font-heading);font-size:1.15rem;font-weight:600;color:var(--text-primary);margin-bottom:4px}
.sidebar-email{font-size:.82rem;color:var(--text-muted);margin-bottom:10px;word-break:break-all}
.sidebar-tier{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:4px 12px;border-radius:999px}
.tier-bronze{background:rgba(205,127,50,.15);color:#cd7f32}
.tier-silver{background:rgba(192,192,192,.15);color:#c0c0c0}
.tier-gold{background:rgba(212,175,55,.15);color:var(--gold-primary)}
.tier-platinum{background:rgba(229,228,226,.15);color:#e5e4e2}

.sidebar-menu{padding:8px 0}
.sidebar-menu-item{display:flex;align-items:center;gap:12px;padding:11px 20px;font-size:.88rem;color:var(--text-secondary);cursor:pointer;transition:all .2s;border:none;background:none;width:100%;text-align:left;font-family:inherit}
.sidebar-menu-item svg{width:18px;height:18px;flex-shrink:0;opacity:.6;transition:opacity .2s}
.sidebar-menu-item:hover{background:rgba(212,175,55,.06);color:var(--text-primary)}
.sidebar-menu-item:hover svg{opacity:1}
.sidebar-menu-item.active{background:rgba(212,175,55,.1);color:var(--gold-primary);font-weight:600}
.sidebar-menu-item.active svg{opacity:1;color:var(--gold-primary)}
.sidebar-menu-item.danger{color:var(--error-color)}
.sidebar-menu-item.danger:hover{background:rgba(220,38,38,.06)}
.sidebar-menu-divider{height:1px;background:var(--border-color);margin:6px 16px}

/* Mobile tab menu */
.profile-tab-menu{display:none;overflow-x:auto;gap:4px;padding:0 16px 12px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.profile-tab-menu::-webkit-scrollbar{display:none}
.profile-tab-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:999px;font-size:.8rem;white-space:nowrap;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .2s;font-family:inherit}
.profile-tab-btn svg{width:14px;height:14px}
.profile-tab-btn.active{background:var(--gold-primary);color:var(--bg-primary);border-color:var(--gold-primary);font-weight:600}

/* Content sections */
.profile-section{display:none}
.profile-section.active{display:block}
.profile-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:12px}
.profile-section-title{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--text-primary)}
.profile-section-subtitle{font-size:.88rem;color:var(--text-muted);margin-top:2px}

/* ── 2. DASHBOARD ─────────────────────────────────────────────── */
.dash-welcome{background:linear-gradient(135deg,rgba(212,175,55,.12),rgba(184,145,45,.06));border:1px solid rgba(212,175,55,.2);border-radius:var(--radius-xl);padding:28px 32px;margin-bottom:28px;display:flex;align-items:center;gap:24px}
.dash-welcome-icon{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--gold-primary),var(--gold-dark));display:flex;align-items:center;justify-content:center;flex-shrink:0}
.dash-welcome-icon svg{width:32px;height:32px;color:var(--bg-primary)}
.dash-welcome-text h2{font-family:var(--font-heading);font-size:1.35rem;font-weight:700;color:var(--text-primary);margin-bottom:4px}
.dash-welcome-text p{font-size:.88rem;color:var(--text-secondary)}
.dash-welcome-text .tier-inline{font-weight:700;margin-left:6px}

.dash-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}
.dash-stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px;transition:border-color .2s}
.dash-stat-card:hover{border-color:rgba(212,175,55,.3)}
.dash-stat-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:12px}
.dash-stat-icon svg{width:20px;height:20px}
.dash-stat-icon.orders{background:rgba(59,130,246,.12);color:#3b82f6}
.dash-stat-icon.spending{background:rgba(16,185,129,.12);color:#10b981}
.dash-stat-icon.wishlist{background:rgba(244,63,94,.12);color:#f43f5e}
.dash-stat-icon.points{background:rgba(245,180,66,.12);color:#f5b442}
.dash-stat-value{font-family:var(--font-heading);font-size:1.45rem;font-weight:700;color:var(--text-primary);margin-bottom:2px}
.dash-stat-label{font-size:.8rem;color:var(--text-muted)}
.dash-stat-link{font-size:.78rem;color:var(--gold-primary);margin-top:8px;display:inline-block;cursor:pointer}
.dash-stat-link:hover{text-decoration:underline}

.dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:28px}
.dash-widget{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px}
.dash-widget-title{font-family:var(--font-heading);font-size:1.05rem;font-weight:600;color:var(--text-primary);margin-bottom:16px;display:flex;align-items:center;justify-content:space-between}
.dash-widget-title a{font-size:.8rem;color:var(--gold-primary);font-weight:500}

/* Recent order mini list */
.dash-order-item{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border-subtle)}
.dash-order-item:last-child{border-bottom:none}
.dash-order-id{font-family:var(--font-mono);font-size:.8rem;color:var(--text-primary);font-weight:500}
.dash-order-date{font-size:.75rem;color:var(--text-muted)}
.dash-order-status{font-size:.72rem;padding:3px 8px;border-radius:999px;font-weight:600}
.dash-order-total{font-size:.85rem;font-weight:600;color:var(--text-primary)}

/* Investment widget */
.dash-invest{background:linear-gradient(135deg,rgba(212,175,55,.08),transparent);border:1px solid rgba(212,175,55,.15);border-radius:var(--radius-lg);padding:24px;margin-bottom:28px}
.dash-invest-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.dash-invest-header h3{font-family:var(--font-heading);font-size:1.05rem;font-weight:600;color:var(--text-primary)}

/* ── 3. EDIT PROFILE ──────────────────────────────────────────── */
.profile-form-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:28px;margin-bottom:20px}
.profile-form-card h3{font-family:var(--font-heading);font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}

.avatar-upload{display:flex;align-items:center;gap:20px;margin-bottom:28px}
.avatar-preview{width:96px;height:96px;border-radius:50%;background:linear-gradient(135deg,var(--gold-primary),var(--gold-dark));display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:700;color:var(--bg-primary);overflow:hidden;border:3px solid var(--gold-primary);flex-shrink:0;position:relative}
.avatar-preview img{width:100%;height:100%;object-fit:cover}
.avatar-actions{display:flex;flex-direction:column;gap:8px}
.avatar-actions .btn{font-size:.82rem;padding:6px 16px}
.avatar-note{font-size:.75rem;color:var(--text-muted)}

.pf-form-group{margin-bottom:20px}
.pf-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pf-label{display:block;font-size:.85rem;font-weight:500;color:var(--text-secondary);margin-bottom:6px}
.pf-label .required{color:var(--error-color);margin-left:2px}
.pf-input,.pf-select,.pf-textarea{width:100%;padding:10px 14px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:.88rem;font-family:inherit;transition:border-color .2s}
.pf-input:focus,.pf-select:focus,.pf-textarea:focus{outline:none;border-color:var(--gold-primary);box-shadow:0 0 0 3px rgba(212,175,55,.12)}
.pf-input:disabled{opacity:.6;cursor:not-allowed}
.pf-input-icon-wrap{position:relative}
.pf-input-icon-wrap .pf-input{padding-right:40px}
.pf-input-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--text-muted)}
.pf-textarea{min-height:80px;resize:vertical}
.pf-char-count{font-size:.72rem;color:var(--text-muted);text-align:right;margin-top:4px}
.pf-error{font-size:.78rem;color:var(--error-color);margin-top:4px;display:none}
.pf-form-group.has-error .pf-input,.pf-form-group.has-error .pf-select,.pf-form-group.has-error .pf-textarea{border-color:var(--error-color)}
.pf-form-group.has-error .pf-error{display:block}
.pf-verified-badge{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;font-weight:600;color:#10b981;margin-left:8px}
.pf-verified-badge svg{width:14px;height:14px}
.pf-verify-btn{font-size:.78rem;color:var(--gold-primary);cursor:pointer;margin-left:8px;background:none;border:none;font-family:inherit;font-weight:600}
.pf-verify-btn:hover{text-decoration:underline}

.pf-form-actions{display:flex;gap:12px;margin-top:28px;padding-top:20px;border-top:1px solid var(--border-color)}

/* ── 4. ALAMAT MANAGEMENT ─────────────────────────────────────── */
.addr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;margin-bottom:20px}
.addr-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px;position:relative;transition:border-color .2s}
.addr-card:hover{border-color:rgba(212,175,55,.3)}
.addr-card.is-default{border-color:var(--gold-primary)}
.addr-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.addr-label-badge{display:flex;align-items:center;gap:8px}
.addr-label{font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--gold-primary);padding:3px 10px;border-radius:999px;background:rgba(212,175,55,.1)}
.addr-default-badge{font-size:.72rem;font-weight:600;color:#10b981;padding:3px 8px;border-radius:999px;background:rgba(16,185,129,.1)}
.addr-actions{display:flex;gap:4px}
.addr-action-btn{width:32px;height:32px;border:1px solid var(--border-light);background:var(--bg-tertiary);cursor:pointer;border-radius:var(--radius-md);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:all .2s}
.addr-action-btn:hover{background:rgba(212,175,55,.1);color:var(--gold-primary);border-color:rgba(212,175,55,.3)}
.addr-action-btn.delete:hover{background:rgba(239,68,68,.08);color:var(--error-color);border-color:rgba(239,68,68,.25)}
.addr-action-btn svg{width:15px;height:15px}
.addr-name{font-weight:600;font-size:.92rem;color:var(--text-primary);margin-bottom:2px}
.addr-phone{font-size:.82rem;color:var(--text-muted);margin-bottom:8px}
.addr-full{font-size:.84rem;color:var(--text-secondary);line-height:1.5}
.addr-set-default{font-size:.78rem;color:var(--gold-primary);cursor:pointer;margin-top:10px;background:none;border:none;font-family:inherit;font-weight:600;padding:0}
.addr-set-default:hover{text-decoration:underline}

/* Address modal */
.addr-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;pointer-events:none;transition:opacity .3s}
.addr-modal-overlay.active{opacity:1;pointer-events:all}
.addr-modal{background:var(--bg-card);border-radius:var(--radius-xl);width:560px;max-width:95vw;max-height:90vh;overflow-y:auto;padding:28px;position:relative}
.addr-modal-title{font-family:var(--font-heading);font-size:1.2rem;font-weight:700;color:var(--text-primary);margin-bottom:20px}
.addr-modal-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border:none;background:none;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all .2s}
.addr-modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}
.addr-modal-close svg{width:18px;height:18px}

/* ── 5. NOTIFIKASI ────────────────────────────────────────────── */
.notif-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px;margin-bottom:16px}
.notif-card-title{font-family:var(--font-heading);font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:4px}
.notif-card-desc{font-size:.82rem;color:var(--text-muted);margin-bottom:16px}
.notif-item{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border-subtle)}
.notif-item:last-child{border-bottom:none}
.notif-item-label{font-size:.88rem;color:var(--text-secondary)}

/* Toggle switch */
.toggle-switch{position:relative;width:44px;height:24px;flex-shrink:0}
.toggle-switch input{opacity:0;width:0;height:0;position:absolute}
.toggle-slider{position:absolute;inset:0;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:999px;cursor:pointer;transition:all .3s}
.toggle-slider::before{content:'';position:absolute;width:18px;height:18px;left:3px;top:50%;transform:translateY(-50%);background:#fff;border-radius:50%;transition:all .3s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.toggle-switch input:checked+.toggle-slider{background:var(--gold-primary);border-color:var(--gold-primary)}
.toggle-switch input:checked+.toggle-slider::before{left:calc(100% - 21px)}

/* ── 6. KEAMANAN ──────────────────────────────────────────────── */
.security-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px;margin-bottom:16px}
.security-card h3{font-family:var(--font-heading);font-size:1.05rem;font-weight:600;color:var(--text-primary);margin-bottom:16px}
.security-card.danger{border-color:rgba(220,38,38,.2)}
.security-card.danger h3{color:var(--error-color)}

.pw-strength{height:4px;border-radius:999px;background:var(--bg-tertiary);margin-top:8px;overflow:hidden}
.pw-strength-fill{height:100%;border-radius:999px;transition:width .3s,background .3s}
.pw-strength-fill.weak{width:25%;background:#ef4444}
.pw-strength-fill.fair{width:50%;background:#f59e0b}
.pw-strength-fill.good{width:75%;background:#3b82f6}
.pw-strength-fill.strong{width:100%;background:#10b981}
.pw-strength-text{font-size:.75rem;margin-top:4px;font-weight:600}
.pw-strength-text.weak{color:#ef4444}
.pw-strength-text.fair{color:#f59e0b}
.pw-strength-text.good{color:#3b82f6}
.pw-strength-text.strong{color:#10b981}
.pw-requirements{margin-top:8px;list-style:none;padding:0}
.pw-requirements li{font-size:.78rem;color:var(--text-muted);padding:2px 0;display:flex;align-items:center;gap:6px}
.pw-requirements li svg{width:14px;height:14px;flex-shrink:0}
.pw-requirements li.met{color:#10b981}
.pw-requirements li.met svg{color:#10b981}

.verification-status{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border-subtle)}
.verification-status:last-child{border-bottom:none}
.verif-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.verif-icon.verified{background:rgba(16,185,129,.12);color:#10b981}
.verif-icon.unverified{background:rgba(245,158,11,.12);color:#f59e0b}
.verif-info{flex:1}
.verif-info strong{font-size:.88rem;color:var(--text-primary);display:block}
.verif-info span{font-size:.8rem;color:var(--text-muted)}
.verif-badge{font-size:.75rem;font-weight:600;padding:3px 10px;border-radius:999px}
.verif-badge.verified{background:rgba(16,185,129,.1);color:#10b981}
.verif-badge.unverified{background:rgba(245,158,11,.1);color:#f59e0b;cursor:pointer}

/* Session list */
.session-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border-subtle)}
.session-item:last-child{border-bottom:none}
.session-device-icon{width:36px;height:36px;border-radius:var(--radius-md);background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.session-device-icon svg{width:18px;height:18px;color:var(--text-muted)}
.session-info{flex:1}
.session-info strong{font-size:.85rem;color:var(--text-primary);display:block}
.session-info span{font-size:.78rem;color:var(--text-muted)}
.session-current{font-size:.72rem;font-weight:600;color:#10b981;padding:2px 8px;border-radius:999px;background:rgba(16,185,129,.1)}

/* Delete account */
.danger-zone{border:1px solid rgba(220,38,38,.25);border-radius:var(--radius-lg);overflow:hidden}
.danger-zone-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;cursor:pointer;background:rgba(220,38,38,.04);transition:background .2s}
.danger-zone-header:hover{background:rgba(220,38,38,.08)}
.danger-zone-header h3{font-size:.92rem;font-weight:600;color:var(--error-color);display:flex;align-items:center;gap:8px;margin:0}
.danger-zone-header h3 svg{width:18px;height:18px}
.danger-chevron{width:18px;height:18px;color:var(--error-color);transition:transform .3s}
.danger-zone.open .danger-chevron{transform:rotate(180deg)}
.danger-zone-body{max-height:0;overflow:hidden;transition:max-height .3s ease}
.danger-zone.open .danger-zone-body{max-height:500px}
.danger-zone-content{padding:20px}
.danger-zone-content p{font-size:.85rem;color:var(--text-secondary);margin-bottom:16px;line-height:1.6}
.delete-confirm-input{margin-bottom:16px}
.delete-confirm-input label{font-size:.82rem;color:var(--text-secondary);display:block;margin-bottom:6px}
.delete-confirm-input label strong{color:var(--error-color)}

/* OTP Modal */
.otp-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;pointer-events:none;transition:opacity .3s}
.otp-modal-overlay.active{opacity:1;pointer-events:all}
.otp-modal{background:var(--bg-card);border-radius:var(--radius-xl);width:400px;max-width:95vw;padding:32px;text-align:center}
.otp-modal h3{font-family:var(--font-heading);font-size:1.15rem;font-weight:700;color:var(--text-primary);margin-bottom:8px}
.otp-modal p{font-size:.85rem;color:var(--text-secondary);margin-bottom:24px}
.otp-inputs{display:flex;gap:8px;justify-content:center;margin-bottom:20px}
.otp-inputs input{width:44px;height:52px;text-align:center;font-size:1.3rem;font-weight:700;font-family:var(--font-mono);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);transition:border-color .2s}
.otp-inputs input:focus{outline:none;border-color:var(--gold-primary)}
.otp-resend{font-size:.82rem;color:var(--text-muted);margin-top:12px}
.otp-resend button{color:var(--gold-primary);background:none;border:none;cursor:pointer;font-weight:600;font-family:inherit;font-size:.82rem}
.otp-resend button:disabled{color:var(--text-muted);cursor:not-allowed}

/* ── 7. PREFERENSI ────────────────────────────────────────────── */
.pref-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px;margin-bottom:16px}
.pref-card h3{font-family:var(--font-heading);font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:4px}
.pref-card p{font-size:.82rem;color:var(--text-muted);margin-bottom:16px}
.pref-options{display:flex;gap:10px;flex-wrap:wrap}
.pref-option{display:flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .2s;font-size:.86rem;color:var(--text-secondary);background:var(--bg-primary)}
.pref-option:hover{border-color:rgba(212,175,55,.3)}
.pref-option.active{border-color:var(--gold-primary);background:rgba(212,175,55,.08);color:var(--gold-primary);font-weight:600}
.pref-option input[type="radio"]{display:none}
.pref-option svg{width:18px;height:18px}

/* ── 8. WISHLIST ──────────────────────────────────────────────── */
.wish-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:12px;flex-wrap:wrap}
.wish-count{font-size:.88rem;color:var(--text-muted)}
.wish-sort{display:flex;align-items:center;gap:8px}
.wish-sort select{padding:7px 12px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:.82rem;font-family:inherit}
.wish-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.wish-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;transition:all .2s}
.wish-card:hover{border-color:rgba(212,175,55,.3);transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.wish-card-img{aspect-ratio:1;background:linear-gradient(135deg,rgba(212,175,55,.08),rgba(184,145,45,.04));display:flex;align-items:center;justify-content:center;position:relative}
.wish-card-img svg{width:48px;height:48px;color:var(--gold-primary);opacity:.5}
.wish-remove{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:50%;background:rgba(0,0,0,.5);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#f43f5e;transition:all .2s}
.wish-remove:hover{background:rgba(244,63,94,.2)}
.wish-remove svg{width:16px;height:16px;fill:currentColor}
.wish-card-body{padding:14px}
.wish-card-brand{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:4px}
.wish-card-name{font-size:.9rem;font-weight:600;color:var(--text-primary);margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.wish-card-price{font-family:var(--font-heading);font-size:1.05rem;font-weight:700;color:var(--gold-primary);margin-bottom:10px}
.wish-card-actions{display:flex;gap:8px}
.wish-card-actions .btn{flex:1;font-size:.78rem;padding:7px 10px}

/* ── 9. VOUCHER & REWARDS ─────────────────────────────────────── */
.vr-tabs{display:flex;border-bottom:2px solid var(--border-color);margin-bottom:24px;gap:0}
.vr-tab{padding:12px 24px;font-size:.9rem;font-weight:500;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s;background:none;border-top:none;border-left:none;border-right:none;font-family:inherit}
.vr-tab.active{color:var(--gold-primary);border-bottom-color:var(--gold-primary);font-weight:600}
.vr-tab:hover:not(.active){color:var(--text-primary)}

.voucher-subtabs{display:flex;gap:8px;margin-bottom:20px}
.voucher-subtab{padding:6px 16px;font-size:.82rem;border-radius:999px;border:1px solid var(--border-color);background:none;color:var(--text-muted);cursor:pointer;font-family:inherit;transition:all .2s}
.voucher-subtab.active{background:var(--gold-primary);color:var(--bg-primary);border-color:var(--gold-primary);font-weight:600}

.voucher-list{display:grid;gap:14px}
.voucher-card{display:flex;border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-card);transition:border-color .2s}
.voucher-card:hover{border-color:rgba(212,175,55,.3)}
.voucher-card.used,.voucher-card.expired{opacity:.55;pointer-events:none}
.voucher-left{width:120px;flex-shrink:0;background:linear-gradient(135deg,var(--gold-primary),var(--gold-dark));display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--bg-primary);padding:16px;position:relative}
.voucher-left::after{content:'';position:absolute;right:-8px;top:50%;transform:translateY(-50%);width:16px;height:16px;background:var(--bg-card);border-radius:50%}
.voucher-discount{font-size:1.5rem;font-weight:800;line-height:1}
.voucher-discount-label{font-size:.7rem;text-transform:uppercase;margin-top:2px}
.voucher-right{flex:1;padding:16px 20px;display:flex;flex-direction:column;justify-content:center}
.voucher-code{font-family:var(--font-mono);font-size:.85rem;font-weight:600;color:var(--gold-primary);letter-spacing:.08em;margin-bottom:4px;display:flex;align-items:center;gap:8px}
.voucher-code button{background:none;border:none;cursor:pointer;color:var(--text-muted);transition:color .2s}
.voucher-code button:hover{color:var(--gold-primary)}
.voucher-code button svg{width:14px;height:14px}
.voucher-desc{font-size:.85rem;color:var(--text-primary);font-weight:500;margin-bottom:4px}
.voucher-terms{font-size:.75rem;color:var(--text-muted)}
.voucher-meta{display:flex;align-items:center;justify-content:space-between;margin-top:8px}
.voucher-expiry{font-size:.75rem;color:var(--text-muted)}
.voucher-use-btn{font-size:.78rem;font-weight:600;color:var(--gold-primary);background:none;border:1px solid var(--gold-primary);border-radius:var(--radius-sm);padding:4px 14px;cursor:pointer;transition:all .2s;font-family:inherit}
.voucher-use-btn:hover{background:var(--gold-primary);color:var(--bg-primary)}

/* Reward points */
.reward-dashboard{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}
.reward-balance-card{background:linear-gradient(135deg,rgba(212,175,55,.12),rgba(184,145,45,.06));border:1px solid rgba(212,175,55,.2);border-radius:var(--radius-lg);padding:24px;text-align:center}
.reward-balance-num{font-family:var(--font-heading);font-size:2.2rem;font-weight:800;color:var(--gold-primary)}
.reward-balance-label{font-size:.82rem;color:var(--text-muted);margin-top:2px}
.reward-balance-equiv{font-size:.88rem;color:var(--text-secondary);margin-top:4px}
.reward-tier-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px}
.reward-tier-card h4{font-size:.92rem;font-weight:600;color:var(--text-primary);margin-bottom:12px}
.reward-progress{height:8px;background:var(--bg-tertiary);border-radius:999px;overflow:hidden;margin-bottom:6px}
.reward-progress-fill{height:100%;background:linear-gradient(90deg,var(--gold-primary),var(--gold-light));border-radius:999px;transition:width .5s}
.reward-progress-text{font-size:.75rem;color:var(--text-muted)}

.reward-section-title{font-family:var(--font-heading);font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:16px}

/* History table */
.reward-history{width:100%;border-collapse:collapse;margin-bottom:24px}
.reward-history th{font-size:.78rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding:10px 12px;text-align:left;border-bottom:1px solid var(--border-color)}
.reward-history td{padding:10px 12px;font-size:.84rem;color:var(--text-secondary);border-bottom:1px solid var(--border-subtle)}
.reward-history .points-earn{color:#10b981;font-weight:600}
.reward-history .points-spend{color:#ef4444;font-weight:600}

/* Redeem grid */
.redeem-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.redeem-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px;text-align:center;transition:all .2s}
.redeem-card:hover{border-color:rgba(212,175,55,.3);transform:translateY(-2px)}
.redeem-icon{width:48px;height:48px;border-radius:50%;background:rgba(212,175,55,.1);display:flex;align-items:center;justify-content:center;margin:0 auto 12px;color:var(--gold-primary)}
.redeem-icon svg{width:24px;height:24px}
.redeem-name{font-size:.88rem;font-weight:600;color:var(--text-primary);margin-bottom:4px}
.redeem-cost{font-size:.82rem;color:var(--gold-primary);font-weight:700;margin-bottom:12px}
.redeem-card .btn{width:100%;font-size:.8rem;padding:7px}
.redeem-card .btn:disabled{opacity:.5;cursor:not-allowed}

/* ── 10. BANTUAN & FAQ ────────────────────────────────────────── */
.help-search{margin-bottom:28px}
.help-search-input{width:100%;padding:14px 20px 14px 48px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:.92rem;color:var(--text-primary);font-family:inherit;transition:border-color .2s}
.help-search-input:focus{outline:none;border-color:var(--gold-primary)}
.help-search-wrap{position:relative}
.help-search-wrap svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--text-muted)}

.faq-section{margin-bottom:28px}
.faq-category-title{font-family:var(--font-heading);font-size:1.05rem;font-weight:600;color:var(--text-primary);margin-bottom:12px;display:flex;align-items:center;gap:8px}
.faq-category-title svg{width:18px;height:18px;color:var(--gold-primary)}
.faq-item{border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:8px;overflow:hidden;background:var(--bg-card)}
.faq-question{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;cursor:pointer;font-size:.88rem;font-weight:500;color:var(--text-primary);transition:background .2s}
.faq-question:hover{background:rgba(212,175,55,.04)}
.faq-chevron{width:16px;height:16px;color:var(--text-muted);transition:transform .3s;flex-shrink:0}
.faq-item.open .faq-chevron{transform:rotate(180deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq-item.open .faq-answer{max-height:500px}
.faq-answer-inner{padding:0 18px 14px;font-size:.84rem;color:var(--text-secondary);line-height:1.7}

/* Contact section */
.contact-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-bottom:28px}
.contact-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px;text-align:center;transition:all .2s;cursor:pointer}
.contact-card:hover{border-color:rgba(212,175,55,.3);transform:translateY(-2px)}
.contact-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 12px}
.contact-icon svg{width:24px;height:24px}
.contact-icon.chat{background:rgba(59,130,246,.12);color:#3b82f6}
.contact-icon.email{background:rgba(16,185,129,.12);color:#10b981}
.contact-icon.wa{background:rgba(37,211,102,.12);color:#25d366}
.contact-icon.phone{background:rgba(245,158,11,.12);color:#f59e0b}
.contact-card h4{font-size:.9rem;font-weight:600;color:var(--text-primary);margin-bottom:4px}
.contact-card p{font-size:.78rem;color:var(--text-muted)}

/* Feedback form */
.feedback-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px}
.feedback-card h3{font-family:var(--font-heading);font-size:1.05rem;font-weight:600;color:var(--text-primary);margin-bottom:4px}
.feedback-card>p{font-size:.84rem;color:var(--text-muted);margin-bottom:20px}
.feedback-stars{display:flex;gap:6px;margin-bottom:16px}
.feedback-star{width:36px;height:36px;cursor:pointer;color:var(--border-color);transition:all .15s}
.feedback-star.active{color:#f5b442}
.feedback-star:hover{transform:scale(1.15)}
.feedback-star svg{width:100%;height:100%;fill:currentColor}

/* Contact form modal */
.contact-form-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s}
.contact-form-overlay.active{opacity:1;pointer-events:all}
.contact-form-modal{background:var(--bg-card);border-radius:var(--radius-xl);width:500px;max-width:95vw;max-height:90vh;overflow-y:auto;padding:28px}

/* ── 11. EMPTY STATE ──────────────────────────────────────────── */
.profile-empty{text-align:center;padding:48px 20px}
.profile-empty svg{width:64px;height:64px;color:var(--text-muted);opacity:.4;margin-bottom:16px}
.profile-empty h3{font-family:var(--font-heading);font-size:1.1rem;color:var(--text-primary);margin-bottom:6px}
.profile-empty p{font-size:.85rem;color:var(--text-muted);margin-bottom:20px}

/* ── 12. RESPONSIVE ───────────────────────────────────────────── */
@media(max-width:1024px){
    .dash-stats{grid-template-columns:repeat(2,1fr)}
    .dash-grid{grid-template-columns:1fr}
    .reward-dashboard{grid-template-columns:1fr}
}

@media(max-width:768px){
    .profile-layout{flex-direction:column;gap:0;padding:16px 16px 80px}
    .profile-sidebar{display:none;width:100%}
    .profile-tab-menu{display:flex;flex-wrap:wrap;overflow-x:visible;gap:6px;padding:0 16px 12px}
    .dash-welcome{flex-direction:column;text-align:center;padding:20px}
    .dash-stats{grid-template-columns:1fr 1fr;gap:10px}
    .dash-stat-value{font-size:1.15rem}
    .voucher-card{flex-direction:column}
    .voucher-left{width:100%;flex-direction:row;gap:6px;padding:12px}
    .voucher-left::after{display:none}
    .pf-form-row{grid-template-columns:1fr}
    .avatar-upload{flex-direction:column;text-align:center}
    .addr-grid{grid-template-columns:1fr}
    .wish-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
    .otp-inputs input{width:38px;height:44px;font-size:1.1rem}
    .vr-tabs{gap:0}
    .vr-tab{padding:10px 14px;font-size:.82rem}
    .redeem-grid{grid-template-columns:1fr 1fr}
    .contact-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:480px){
    .dash-stats{grid-template-columns:1fr}
    .wish-grid{grid-template-columns:1fr}
    .redeem-grid{grid-template-columns:1fr}
    .contact-grid{grid-template-columns:1fr}
    .reward-balance-num{font-size:1.8rem}
    .profile-tab-menu{gap:4px;padding:0 12px 10px}
    .profile-tab-btn{padding:6px 10px;font-size:.72rem;gap:4px}
    .profile-tab-btn svg{width:12px;height:12px}
}

/* Order status badges (dashboard widget) */
.status-badge{font-size:.72rem;font-weight:600;padding:3px 10px;border-radius:999px}
.status-pending{background:rgba(245,158,11,.12);color:#f59e0b}
.status-processing{background:rgba(59,130,246,.12);color:#3b82f6}
.status-shipped{background:rgba(139,92,246,.12);color:#8b5cf6}
.status-delivered{background:rgba(16,185,129,.12);color:#10b981}
.status-completed{background:rgba(16,185,129,.12);color:#10b981}
.status-cancelled{background:rgba(239,68,68,.12);color:#ef4444}

/* ── ENHANCED PORTFOLIO SECTION ───────────────────────────────── */
.invest-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:20px}
.invest-metric{background:rgba(255,255,255,.03);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:16px}
.invest-metric-label{font-size:.78rem;color:var(--text-muted);margin-bottom:6px}
.invest-metric-val{font-family:var(--font-heading);font-size:1.15rem;font-weight:600;color:var(--text-primary)}
.invest-total-gram{font-family:var(--font-heading);font-size:1.8rem;font-weight:700;color:var(--gold-primary)}
.invest-total-value{font-family:var(--font-heading);font-size:1.3rem;font-weight:700;color:var(--text-primary)}
.invest-chart{margin-bottom:16px;padding:16px 0}
.invest-chart-label{font-size:.78rem;color:var(--text-muted);margin-bottom:10px}
.invest-sparkline{width:100%;min-height:60px}
.invest-sparkline svg{display:block}
.invest-chart-range{display:flex;justify-content:space-between;font-size:.7rem;color:var(--text-muted);margin-top:6px}
.invest-actions{display:flex;gap:10px;flex-wrap:wrap}
.btn-gold{background:linear-gradient(135deg,var(--gold-primary),var(--gold-dark));color:var(--bg-primary);font-weight:600;border:none;cursor:pointer;transition:all .2s;text-decoration:none}
.btn-gold:hover{filter:brightness(1.1);transform:translateY(-1px)}
.btn-outline-gold{background:transparent;color:var(--gold-primary);border:1px solid var(--gold-primary);font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none}
.btn-outline-gold:hover{background:rgba(212,175,55,.1)}
.btn-sm{padding:8px 18px;font-size:.82rem;border-radius:var(--radius-md);display:inline-flex;align-items:center;gap:6px;font-family:inherit}
.invest-growth{display:inline-flex;align-items:center;gap:4px;font-size:.88rem;font-weight:600;margin-top:4px}
.invest-growth.up{color:#10b981}
.invest-growth.down{color:#ef4444}
.invest-growth svg{width:14px;height:14px}

/* ── REFERRAL PROGRAM ─────────────────────────────────────────── */
.ref-hero{background:linear-gradient(135deg,rgba(212,175,55,.12),rgba(184,145,45,.06));border:1px solid rgba(212,175,55,.2);border-radius:var(--radius-xl);padding:32px;text-align:center;margin-bottom:24px}
.ref-hero-icon{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--gold-primary),var(--gold-dark));display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.ref-hero-icon svg{width:32px;height:32px;color:var(--bg-primary)}
.ref-hero h3{font-family:var(--font-heading);font-size:1.4rem;font-weight:700;color:var(--text-primary);margin-bottom:8px}
.ref-hero p{font-size:.9rem;color:var(--text-secondary);max-width:500px;margin:0 auto;line-height:1.6}
.ref-hero strong{color:var(--gold-primary)}

.ref-code-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px;margin-bottom:20px;text-align:center}
.ref-code-label{font-size:.82rem;color:var(--text-muted);margin-bottom:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:600}
.ref-code-box{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:16px}
.ref-code-text{font-family:var(--font-mono);font-size:1.4rem;font-weight:700;color:var(--gold-primary);letter-spacing:.1em;background:rgba(212,175,55,.08);padding:10px 24px;border-radius:var(--radius-md);border:1px dashed rgba(212,175,55,.4)}
.ref-copy-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;background:linear-gradient(135deg,var(--gold-primary),var(--gold-dark));color:var(--bg-primary);border:none;border-radius:var(--radius-md);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit}
.ref-copy-btn svg{width:16px;height:16px}
.ref-copy-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}

.ref-share-row{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
.ref-share-label{font-size:.82rem;color:var(--text-muted)}
.ref-share-btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--border-color);background:var(--bg-card);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}
.ref-share-btn svg{width:18px;height:18px}
.ref-share-btn.whatsapp:hover{background:#25d366;border-color:#25d366;color:#fff}
.ref-share-btn.whatsapp:hover svg{fill:#fff}
.ref-share-btn.telegram:hover{background:#0088cc;border-color:#0088cc;color:#fff}
.ref-share-btn.telegram:hover svg{fill:#fff}
.ref-share-btn.twitter:hover{background:#1da1f2;border-color:#1da1f2;color:#fff}
.ref-share-btn.twitter:hover svg{fill:#fff}
.ref-share-btn.email:hover{background:var(--gold-primary);border-color:var(--gold-primary);color:var(--bg-primary)}
.ref-share-btn.email:hover svg{stroke:var(--bg-primary)}

.ref-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}
.ref-stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px;text-align:center;transition:border-color .2s}
.ref-stat-card:hover{border-color:rgba(212,175,55,.3)}
.ref-stat-card.highlight{border-color:rgba(212,175,55,.3);background:linear-gradient(135deg,rgba(212,175,55,.06),transparent)}
.ref-stat-val{font-family:var(--font-heading);font-size:1.6rem;font-weight:700;color:var(--text-primary);margin-bottom:4px}
.ref-stat-card.highlight .ref-stat-val{color:var(--gold-primary)}
.ref-stat-lbl{font-size:.8rem;color:var(--text-muted)}

.ref-how{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px;margin-bottom:24px}
.ref-how h3{font-family:var(--font-heading);font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:20px}
.ref-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ref-step{display:flex;align-items:flex-start;gap:12px}
.ref-step-num{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--gold-primary),var(--gold-dark));display:flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:700;color:var(--bg-primary);flex-shrink:0}
.ref-step-text strong{font-size:.88rem;color:var(--text-primary);display:block;margin-bottom:2px}
.ref-step-text p{font-size:.78rem;color:var(--text-muted);margin:0;line-height:1.4}

.ref-list-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px}
.ref-list-card h3{font-family:var(--font-heading);font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:16px}
.ref-table-wrap{overflow-x:auto}
.ref-table{width:100%;border-collapse:collapse;font-size:.85rem}
.ref-table th{text-align:left;padding:10px 12px;font-weight:600;color:var(--text-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-color);white-space:nowrap}
.ref-table td{padding:12px;border-bottom:1px solid var(--border-subtle);color:var(--text-secondary)}
.ref-table tr:last-child td{border-bottom:none}
.ref-table tr:hover td{background:rgba(212,175,55,.03)}
.ref-status{font-size:.78rem;font-weight:600;padding:3px 10px;border-radius:999px;white-space:nowrap}
.ref-status.converted{background:rgba(16,185,129,.12);color:#10b981}
.ref-status.pending{background:rgba(245,158,11,.12);color:#f59e0b}
.ref-reward{font-family:var(--font-mono);font-weight:600;color:var(--gold-primary)}

/* Referral responsive */
@media(max-width:768px){
    .ref-stats{grid-template-columns:1fr}
    .ref-steps{grid-template-columns:1fr 1fr}
    .ref-code-text{font-size:1rem;padding:8px 16px}
    .ref-code-box{flex-direction:column}
}
@media(max-width:480px){
    .ref-steps{grid-template-columns:1fr}
    .invest-grid{grid-template-columns:1fr 1fr}
}
