@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');
    
:root{
--bg-primary:#050505;
--bg-secondary:#0a0a0a;
--bg-tertiary:#111;
--text-primary:#fff;
--text-secondary:#a8b3c0;
--text-muted:#7a8698;
--accent:#00ff88;
--accent-dark:#00d26a;
--border:rgba(255,255,255,.08);
--card-bg:#111;
--shadow:0 28px 80px rgba(0,0,0,.26);
--shadow-soft:0 16px 38px rgba(0,0,0,.18);
--vip-gold:#ffd700;
--vip-orange:#ff9500;
--danger:#ff4d6d;
--info:#3b82f6;
--review-bg:#0d1117;
--radius:28px;
--radius-sm:16px;
--space-xxs:8px;
--space-xs:12px;
--space-sm:18px;
--space-md:24px;
--space-lg:32px;
}

[data-theme="light"]{
--bg-primary:#f5f5f5;
--bg-secondary:#fff;
--bg-tertiary:#f0f0f0;
--text-primary:#111;
--text-secondary:#555;
--text-muted:#888;
--accent:#00d26a;
--accent-dark:#00b359;
--border:rgba(0,0,0,.1);
--card-bg:#fff;
--shadow:rgba(0,0,0,.1);
--review-bg:#f8f9fa;
}

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Inter',sans-serif;
-webkit-tap-highlight-color:transparent;
}

body{
    /* Mejora del diseño vertical */
    background: linear-gradient(180deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);
    overflow-x: hidden;
    min-height: 100vh;
    transition: background .3s,color .3s;
    display: block;
    padding: 0;

background:var(--bg-primary);
color:var(--text-primary);
overflow-x:hidden;
min-height:100vh;
transition:background .3s,color .3s;
}

.maintenance-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.93);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:999999;
  padding:24px;
  text-align:center;
}

.maintenance-panel{
  width:min(560px,100%);
  background:linear-gradient(180deg, rgba(10,10,10,.98), rgba(12,12,18,.99));
  border:1px solid rgba(0,255,136,.16);
  border-radius:28px;
  padding:38px 30px;
  box-shadow:0 40px 100px rgba(0,0,0,.75);
  position:relative;
  overflow:hidden;
}

.maintenance-panel::before{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(circle at top right, rgba(0,255,136,.12), transparent 30%),
              radial-gradient(circle at bottom left, rgba(0,145,80,.1), transparent 25%);
  pointer-events:none;
}

.maintenance-icon{
  width:78px;
  height:78px;
  border-radius:22px;
  margin:0 auto 22px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(0,255,136,.14);
  color:var(--accent);
  font-size:30px;
  box-shadow:0 0 30px rgba(0,255,136,.12);
}

.maintenance-panel h2{
  font-size:30px;
  margin-bottom:14px;
  color:#fff;
  letter-spacing:1px;
}

.maintenance-panel p{
  color:var(--text-secondary);
  line-height:1.8;
  margin-bottom:28px;
  font-size:15px;
}

.maintenance-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-content:center;
}

.maintenance-actions .btn{
  min-width:150px;
  padding:14px 18px;
  border-radius:16px;
  font-weight:700;
  letter-spacing:1px;
}

.maintenance-actions .btn-primary{
  background:linear-gradient(90deg, var(--accent), var(--accent-dark));
  color:#000;
}

.maintenance-actions .btn-secondary{
  background:rgba(255,255,255,.06);
  color:var(--text-primary);
  border:1px solid rgba(255,255,255,.12);
}

.welcome-modal{
position:fixed;
inset:0;
background:rgba(0,0,0,.95);
backdrop-filter:blur(20px);
z-index:99999;
display:flex;
align-items:center;
justify-content:center;
padding:20px;
animation:fadeIn .5s ease;
}


.site-top-bar{
    position:fixed;
    top:0;
    left:0;
    right:0;
    height:60px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 14px;
    background:linear-gradient(90deg, rgba(0,0,0,.45), rgba(0,0,0,.25));
    border-bottom:1px solid rgba(255,255,255,.04);
    z-index:99998;
    backdrop-filter: blur(6px);
}
.site-top-bar .brand{font-weight:900;color:var(--accent);display:flex;align-items:center;gap:10px}
.site-top-bar .brand i{font-size:20px}
.site-top-bar .actions{display:flex;gap:8px;align-items:center}
.site-top-bar .actions button{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.04);padding:8px 10px;border-radius:12px;color:var(--text-primary)}
.site-top-bar .actions button:focus{outline:none}

@media (max-width:767px){
    .auth-container{padding-top:80px}
    .site-top-bar{height:56px}
    .welcome-content{padding-top:70px}

    .top-bar{display:none}

    .site-user .top-meta{display:none !important}
    .site-user{gap:10px}
    .site-stats{gap:10px}
    .top-photo,
    .top-photo-icon{width:36px;height:36px}
    .top-photo-icon i{font-size:16px}

    .site-top-bar .actions button,
    .top-icons button,
    .site-top-bar .actions button i,
    .top-icons button i{font-size:16px}
    .site-top-bar .actions button{padding:6px 8px;border-radius:12px}
    .top-icons button{width:40px;height:40px}

    .language-select{display:none}

    .notification-count{top:4px;right:4px;min-width:16px;height:16px;font-size:10px;padding:0 4px}

    .menu-box{top:66px;right:10px}
    .notification-panel{top:66px;right:10px;width:300px}

    .dashboard-content{
        margin:20px auto;
        padding:24px 18px;
        width:min(100%, calc(100% - 24px));
    }

    .tabs-container{
        padding:10px;
        gap:10px;
        justify-content:center;
    }

    .tab-btn{
        min-width:110px;
        font-size:13px;
        padding:10px 14px;
    }

    .stats-grid{
        grid-template-columns:1fr;
    }

    .profile-hero{
        padding:22px;
        border-radius:24px;
    }

    .container{
        grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
        gap:18px;
    }
}


.site-user{display:flex;align-items:center;gap:10px;color:var(--text-primary)}
.top-photo{width:42px;height:42px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.06)}
.top-photo-icon{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.04);color:var(--text-primary);border:2px solid rgba(255,255,255,.03)}
.top-meta{display:flex;flex-direction:column}
.top-meta #topUserName{font-weight:800;color:var(--accent)}
.top-sub{font-size:12px;color:var(--text-secondary)}
.site-stats{display:flex;gap:12px;align-items:center;margin-left:12px}
.site-stats .stat{display:flex;flex-direction:column;align-items:flex-end}
.site-stats .stat strong{font-size:14px}
.site-stats .stat-label{font-size:11px;color:var(--text-secondary)}

@media (max-width:480px){
    .site-stats{display:none}
    .top-meta #topUserName{font-size:13px}
    .duration-selector-group{margin-bottom:12px}
    .duration-select{padding:10px 14px;font-size:13px}
    .duration-info{font-size:11px}
    .buy-btn{padding:12px 16px;font-size:13px}
}
.welcome-content{
width:100%;
max-width:500px;
background:linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-tertiary) 100%);
border-radius:32px;
padding:50px 40px;
border:1px solid var(--border);
position:relative;
overflow:hidden;
text-align:center;
box-shadow:0 25px 100px rgba(0,255,136,.15), 0 0 0 1px rgba(0,255,136,.1);
}

.welcome-content::before{
content:'';
position:absolute;
top:0;
left:0;
right:0;
height:4px;
background:linear-gradient(90deg,var(--accent),var(--accent-dark),var(--accent));
}

.welcome-glow{
position:absolute;
width:300px;
height:300px;
background:radial-gradient(circle,rgba(0,255,136,.2) 0%,transparent 70%);
border-radius:50%;
top:-100px;
left:50%;
transform:translateX(-50%);
filter:blur(40px);
}

.welcome-icon{
width:100px;
height:100px;
border-radius:50%;
background:linear-gradient(135deg,var(--accent),var(--accent-dark));
display:flex;
align-items:center;
justify-content:center;
margin:0 auto 30px;
font-size:48px;
color:#000;
position:relative;
box-shadow:0 10px 40px rgba(0,255,136,.4);
animation:pulse 2s infinite;
}

@keyframes pulse{
0%,100%{transform:scale(1);}
50%{transform:scale(1.05);}
}

.welcome-content h1{
font-size:36px;
font-weight:900;
margin-bottom:15px;
background:linear-gradient(45deg,var(--text-primary),var(--accent));
-webkit-background-clip:text;
color:transparent;
}

.welcome-content p{
color:var(--text-secondary);
font-size:16px;
line-height:1.6;
margin-bottom:30px;
}

.welcome-features{
display:flex;
flex-direction:column;
gap:12px;
margin-bottom:30px;
text-align:left;
}

.welcome-feature{
display:flex;
align-items:center;
gap:15px;
padding:15px 20px;
background:var(--bg-primary);
border-radius:16px;
border:1px solid var(--border);
}

.welcome-feature i{
color:var(--accent);
font-size:20px;
}

.welcome-feature span{
color:var(--text-primary);
font-size:14px;
font-weight:600;
}

.welcome-btn{
width:100%;
padding:20px;
border:none;
border-radius:20px;
background:linear-gradient(90deg,var(--accent),var(--accent-dark));
color:#000;
font-size:18px;
font-weight:800;
cursor:pointer;
transition:transform .2s;
display:flex;
align-items:center;
justify-content:center;
gap:10px;
}

.welcome-btn:hover{
transform:translateY(-2px);
}


.auth-container{
position:fixed;
inset:0;
background:var(--bg-primary);
z-index:10000;
display:flex;
align-items:center;
justify-content:center;
padding:20px;
overflow-y:auto;
}

.auth-box{
width:100%;
max-width:420px;
background:var(--bg-secondary);
border-radius:32px;
padding:40px 30px;
border:1px solid var(--border);
box-shadow:0 25px 80px rgba(0,0,0,.6);
position:relative;
overflow:hidden;
}

.auth-box::before{
content:'';
position:absolute;
top:0;
left:0;
right:0;
height:4px;
background:linear-gradient(90deg,var(--accent),var(--accent-dark));
}

.auth-logo{
text-align:center;
margin-bottom:30px;
}

.auth-logo i{
font-size:48px;
color:var(--accent);
margin-bottom:15px;
display:block;
}

.auth-logo h1{
font-size:32px;
font-weight:900;
background:linear-gradient(45deg,var(--text-primary),var(--accent));
-webkit-background-clip:text;
color:transparent;
}

.auth-logo p{
color:var(--text-secondary);
margin-top:8px;
font-size:14px;
}

.auth-tabs{
display:flex;
gap:10px;
margin-bottom:30px;
background:var(--bg-tertiary);
padding:6px;
border-radius:16px;
}

.auth-tab{
flex:1;
padding:14px;
border:none;
border-radius:12px;
background:transparent;
color:var(--text-secondary);
font-weight:600;
font-size:15px;
cursor:pointer;
transition:all .3s;
}

.social-login-btn{
width:100%;
display:flex;
align-items:center;
justify-content:center;
gap:10px;
padding:16px;
border:none;
border-radius:16px;
background:rgba(0,189,255,.12);
color:#8ef2ff;
font-weight:700;
font-size:15px;
margin-bottom:18px;
backdrop-filter: blur(12px);
}

.social-login-btn:hover{
background:rgba(0,189,255,.2);
}

.auth-divider{
position:relative;
display:flex;
align-items:center;
text-transform:uppercase;
font-size:12px;
letter-spacing:1px;
color:var(--text-secondary);
text-align:center;
margin-bottom:20px;
}

.auth-divider::before,
.auth-divider::after{
content:'';
flex:1;
height:1px;
background:var(--border);
}

.auth-divider::before{
margin-right:12px;
}

.auth-divider::after{
margin-left:12px;
}

.auth-bottom-actions{
display:flex;
gap:12px;
margin-top:20px;
}

.register-title{
font-size:22px;
font-weight:800;
color:var(--text-primary);
margin-bottom:20px;
text-align:center;
}

.social-secondary-btn{
flex:1;
padding:14px;
border:none;
border-radius:16px;
background:var(--bg-tertiary);
color:var(--text-primary);
font-weight:700;
display:flex;
align-items:center;
justify-content:center;
gap:8px;
transition:all .2s;
}

.social-secondary-btn:hover{
background:rgba(0,255,136,.08);
}

.whatsapp-group{
display:grid;
grid-template-columns: 1fr 1.5fr;
gap:12px;
align-items:center;
position:relative;
}

.whatsapp-prefix{
display:flex;
align-items:center;
gap:8px;
padding:0 14px;
border:1px solid var(--border);
border-radius:16px;
background:var(--bg-tertiary);
color:var(--text-secondary);
height:52px;
font-weight:700;
}

.whatsapp-prefix span{
font-size:18px;
}

.whatsapp-select,
.whatsapp-input{
width:100%;
background:var(--bg-tertiary);
border:1px solid var(--border);
border-radius:16px;
color:var(--text-primary);
font-size:15px;
padding:16px 18px;
outline:none;
}

.whatsapp-select{
appearance:none;
-webkit-appearance:none;
-moz-appearance:none;
}

.whatsapp-input{
}

.auth-hint{
font-size:12px;
color:var(--text-secondary);
margin-bottom:16px;
}

.terms-row{
margin-bottom:18px;
background:rgba(255,255,255,.03);
border:1px solid var(--border);
border-radius:18px;
padding:16px 18px;
}

.terms-row label{
display:flex;
align-items:flex-start;
gap:12px;
font-size:13px;
line-height:1.6;
color:var(--text-secondary);
}

.terms-row input[type="checkbox"]{
margin-top:4px;
width:18px;
height:18px;
accent:var(--accent);
}

.terms-row a{
color:var(--accent);
text-decoration:none;
}

.terms-row a:hover{
text-decoration:underline;
}

.social-secondary-btn{
flex:1;
padding:14px;
border:none;
border-radius:16px;
background:var(--bg-tertiary);
color:var(--text-primary);
font-weight:700;
display:flex;
align-items:center;
justify-content:center;
gap:8px;
transition:all .2s;
}

.social-secondary-btn:hover{
background:rgba(0,255,136,.08);
}

.auth-switch{
text-align:center;
color:var(--text-secondary);
font-size:14px;
margin-top:16px;
}

.auth-switch a{
color:var(--accent);
text-decoration:none;
font-weight:600;
cursor:pointer;
}

.auth-tab.active{
background:var(--accent);
color:#000;
box-shadow:0 4px 15px rgba(0,255,136,.3);
}

.auth-form{
display:none;
animation:fadeIn .4s ease;
}

.auth-form.active{
display:block;
}

.input-group{
margin-bottom:20px;
position:relative;
}

.input-group i{
position:absolute;
left:18px;
top:50%;
transform:translateY(-50%);
color:var(--accent);
font-size:18px;
}

.input-group input, .input-group select{
width:100%;
padding:16px 16px 16px 50px;
border:none;
border-radius:16px;
background:var(--bg-tertiary);
color:var(--text-primary);
font-size:15px;
border:1px solid var(--border);
transition:all .2s;
}

.input-group input:focus, .input-group select:focus{
border-color:var(--accent);
outline:none;
}

.input-group input::placeholder{
color:var(--text-muted);
}

.auth-btn{
width:100%;
padding:18px;
border:none;
border-radius:16px;
background:linear-gradient(90deg,var(--accent),var(--accent-dark));
color:#000;
font-size:16px;
font-weight:800;
cursor:pointer;
margin-bottom:15px;
display:flex;
align-items:center;
justify-content:center;
gap:10px;
transition:transform .2s;
}

.auth-btn:hover{
transform:translateY(-2px);
}

.auth-btn:disabled{
opacity:.6;
cursor:not-allowed;
transform:none;
}

.auth-switch{
text-align:center;
color:var(--text-secondary);
font-size:14px;
}

.auth-switch a{
color:var(--accent);
text-decoration:none;
font-weight:600;
cursor:pointer;
}


.photo-upload{
width:120px;
height:120px;
border-radius:50%;
background:var(--bg-tertiary);
margin:0 auto 20px;
display:flex;
align-items:center;
justify-content:center;
position:relative;
cursor:pointer;
border:3px solid var(--border);
overflow:hidden;
}

.photo-upload img{
width:100%;
height:100%;
object-fit:cover;
}

.photo-upload i{
font-size:40px;
color:var(--text-muted);
}

.photo-upload .overlay{
position:absolute;
inset:0;
background:rgba(0,0,0,.7);
display:flex;
align-items:center;
justify-content:center;
opacity:0;
transition:opacity .3s;
}

.photo-upload:hover .overlay{
opacity:1;
}

.photo-upload .overlay i{
font-size:24px;
color:#fff;
}


.bg-effect{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
pointer-events:none;
z-index:-1;
overflow:hidden;
}

.bg-gradient{
position:absolute;
width:600px;
height:600px;
background:radial-gradient(circle,rgba(0,255,136,.15) 0%,transparent 70%);
border-radius:50%;
top:-200px;
right:-200px;
animation:float 20s ease-in-out infinite;
}

.bg-gradient-2{
position:absolute;
width:400px;
height:400px;
background:radial-gradient(circle,rgba(109,28,255,.1) 0%,transparent 70%);
border-radius:50%;
bottom:-100px;
left:-100px;
animation:float 15s ease-in-out infinite reverse;
}

.bg-grid{
position:absolute;
width:100%;
height:100%;
background-image:
linear-gradient(rgba(0,255,136,.03) 1px,transparent 1px),
linear-gradient(90deg,rgba(0,255,136,.03) 1px,transparent 1px);
background-size:50px 50px;
opacity:.5;
}

@keyframes float{
0%,100%{transform:translate(0,0) scale(1);}
50%{transform:translate(30px,30px) scale(1.1);}
}

button,input,select{
outline:none;
border:none;
font-family:inherit;
}

button{
transition:all .2s ease;
cursor:pointer;
}

button:active{
transform:scale(.97);
}

a{
text-decoration:none;
color:inherit;
}


.top-bar{
position:fixed;
top:0;
left:0;
right:0;
height:68px;
background:rgba(10,10,10,.98);
backdrop-filter:blur(10px);
display:flex;
align-items:center;
justify-content:space-between;
padding:0 18px;
z-index:999;
border-bottom:1px solid var(--border);
transition:background .3s;
}

.logo-small{
font-size:22px;
font-weight:900;
background:linear-gradient(45deg,var(--text-primary),var(--accent),var(--accent-dark));
-webkit-background-clip:text;
color:transparent;
display:flex;
align-items:center;
gap:8px;
}

.top-icons{
display:flex;
align-items:center;
gap:10px;
}

.top-icons button{
width:46px;
height:46px;
border:none;
border-radius:50%;
background:var(--bg-tertiary);
color:var(--text-primary);
font-size:16px;
display:flex;
align-items:center;
justify-content:center;
border:1px solid var(--border);
}

.top-icons button:hover{
background:var(--accent);
color:#000;
}

.language-select{
background:var(--bg-tertiary);
color:var(--text-primary);
border:1px solid var(--border);
border-radius:16px;
padding:0 12px;
height:46px;
font-size:14px;
cursor:pointer;
}

.notification-btn{
position:relative;
}

.notification-count{
position:absolute;
top:6px;
right:6px;
min-width:18px;
height:18px;
display:none;
align-items:center;
justify-content:center;
background:var(--danger);
color:#fff;
border-radius:999px;
font-size:11px;
font-weight:700;
padding:0 6px;
}

.notification-panel{
position:fixed;
top:78px;
right:15px;
width:360px;
max-height:75vh;
overflow:hidden;
background:rgba(5,5,10,.92);
border:1px solid rgba(0,255,136,.2);
border-radius:24px;
box-shadow:0 35px 90px rgba(0,0,0,.5), 0 0 40px rgba(0,255,136,.15);
padding:0;
z-index:1000;
display:none;
opacity:0;
transform:translateY(-20px) scale(0.95);
transition:all .3s cubic-bezier(.34,.69,.7,1.3);
backdrop-filter:blur(12px);
-webkit-backdrop-filter:blur(12px);
}

.notification-panel.active{
display:flex;
flex-direction:column;
opacity:1;
transform:translateY(0) scale(1);
}

.notification-header{
display:flex;
align-items:flex-start;
justify-content:space-between;
padding:22px 24px 20px;
background:linear-gradient(135deg, rgba(0,255,136,.15), rgba(0,255,136,.06));
border-bottom:1px solid rgba(0,255,136,.15);
backdrop-filter:blur(8px);
}

.notification-title{
display:flex;
align-items:center;
gap:12px;
font-size:18px;
font-weight:700;
color:var(--accent);
letter-spacing:-.5px;
}

.notification-title i{
font-size:20px;
filter:drop-shadow(0 0 8px rgba(0,255,136,.3));
}

.notification-subtitle{
font-size:13px;
color:var(--text-secondary);
margin-top:6px;
}

.btn-mark-read{
padding:12px 16px;
border:none;
border-radius:16px;
background:linear-gradient(135deg, #00ff88, #00d26a);
color:#000;
font-weight:700;
font-size:13px;
cursor:pointer;
box-shadow:0 6px 20px rgba(0,255,136,.2);
}

.notification-close{
width:38px;
height:38px;
border:none;
border-radius:12px;
background:rgba(255,255,255,.08);
color:var(--text-primary);
font-size:16px;
}

.notification-list{
display:flex;
flex-direction:column;
gap:14px;
overflow-y:auto;
max-height:calc(75vh - 88px);
padding:18px 18px 20px;
}

.notification-item{
background:rgba(10,10,15,.95);
border:1px solid rgba(0,255,136,.12);
border-radius:22px;
padding:18px 18px 16px;
box-shadow:0 10px 40px rgba(0,255,136,.08);
position:relative;
}

.notification-item::before{
content:'';
position:absolute;
top:18px;
left:18px;
width:4px;
height:32px;
background:linear-gradient(180deg, #00ff88, #00d26a);
border-radius:12px;
}

.notification-item strong{
display:flex;
align-items:center;
gap:10px;
margin-bottom:10px;
font-size:15px;
font-weight:700;
color:#fff;
}

.notification-item strong .notification-status{
margin-left:auto;
padding:4px 10px;
border-radius:999px;
background:rgba(0,255,136,.12);
color:#00ff88;
font-size:11px;
font-weight:700;
text-transform:uppercase;
}

.notification-item p{
margin:0;
font-size:14px;
line-height:1.7;
color:var(--text-secondary);
padding-left:4px;
}

.notification-item small{
display:block;
margin-top:12px;
color:var(--text-secondary);
font-size:12px;
}

.toast-notification{
position:fixed;
bottom:24px;
right:24px;
background:rgba(0,0,0,.92);
color:#ffffff;
padding:14px 18px;
border-radius:18px;
box-shadow:0 24px 40px rgba(0,0,0,.35);
font-weight:700;
font-size:13px;
letter-spacing:.02em;
opacity:1;
transition:opacity .3s ease;
z-index:2000;
max-width:320px;
}

.menu-box{
position:fixed;
top:78px;
right:15px;
width:280px;
background:var(--bg-secondary);
padding:15px;
border-radius:22px;
display:none;
z-index:999;
border:1px solid var(--border);
box-shadow:0 10px 40px var(--shadow);
}

.menu-box button{
width:100%;
padding:13px;
border:none;
border-radius:16px;
font-weight:600;
margin-top:10px;
color:var(--text-primary);
font-size:14px;
background:var(--bg-tertiary);
display:flex;
align-items:center;
gap:10px;
border:1px solid var(--border);
}

.menu-box button:hover{
background:var(--accent);
color:#000;
}

.menu-box button:first-child{
margin-top:0;
}

.menu-box button.logout{
background:linear-gradient(90deg,#ff4d6d,#ff0080);
color:#fff;
border:none;
}


.floating-menu{
position:fixed;
bottom:90px;
right:18px;
background:var(--bg-secondary);
border:1px solid var(--border);
border-radius:20px;
padding:10px;
z-index:998;
box-shadow:0 10px 40px rgba(0,0,0,.4);
display:none;
flex-direction:column;
gap:5px;
min-width:160px;
}

.floating-menu button{
display:flex;
align-items:center;
gap:12px;
padding:14px;
background:transparent;
border:none;
color:var(--text-primary);
width:100%;
border-radius:12px;
cursor:pointer;
font-size:14px;
font-weight:600;
}

.floating-menu button:hover{
background:var(--bg-tertiary);
}

.floating-menu button i{
color:var(--accent);
font-size:18px;
width:20px;
text-align:center;
}


.header{
text-align:center;
padding:115px 20px 35px;
position:relative;
}

.shop-title{
font-size:46px;
font-weight:900;
background:linear-gradient(45deg,var(--text-primary),var(--accent),var(--accent-dark));
-webkit-background-clip:text;
color:transparent;
}

.subtitle{
margin-top:8px;
font-size:12px;
letter-spacing:5px;
color:var(--text-secondary);
}


.search-box{
max-width:560px;
margin:30px auto 0;
position:relative;
}

.search-box i{
position:absolute;
left:18px;
top:50%;
transform:translateY(-50%);
color:var(--accent);
}

.search-input{
width:100%;
padding:17px 18px 17px 50px;
border:none;
border-radius:18px;
background:var(--bg-secondary);
color:var(--text-primary);
font-size:15px;
border:1px solid var(--border);
}

.search-input:focus{
border-color:var(--accent);
}


.filter-tabs{
display:flex;
gap:10px;
justify-content:center;
margin:32px auto;
max-width:920px;
padding:0 20px;
flex-wrap:wrap;
}

.filter-btn{
padding:12px 20px;
border-radius:999px;
background:rgba(255,255,255,.04);
color:var(--text-secondary);
font-size:14px;
font-weight:700;
border:1px solid rgba(255,255,255,.08);
display:flex;
align-items:center;
gap:8px;
transition:all .2s ease;
}

.filter-btn:hover{
background:rgba(255,255,255,.08);
}

.filter-btn.active{
background:rgba(0,255,136,.18);
color:var(--accent);
border-color:rgba(0,255,136,.2);
}

.filter-btn.vip-tab{
background:linear-gradient(135deg,#ffd700,#ff9500);
color:#000;
border:none;
}

.filter-btn.vip-tab.active{
box-shadow:0 14px 40px rgba(255,215,0,.24);
}

.container,
.catalog{
max-width:1400px;
margin:auto;
padding:20px;
padding-bottom:110px;
}

.container{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:24px;
}

.catalog{
display:block;
}

.category-section{
margin-bottom:48px;
}

.category-header{
display:flex;
align-items:center;
justify-content:space-between;
margin-bottom:22px;
padding-bottom:14px;
border-bottom:1px solid rgba(255,255,255,0.08);
}

.category-header h2{
font-size:22px;
font-weight:800;
color:var(--text-primary);
display:flex;
align-items:center;
gap:10px;
}

.category-header h2 i{
color:var(--accent);
}

.category-count{
font-size:13px;
color:var(--text-muted);
font-weight:600;
background:var(--bg-tertiary);
padding:6px 12px;
border-radius:50px;
}

.category-grid{
display:grid;
grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
gap:24px;
}

.loading{
text-align:center;
padding:60px 20px;
color:var(--text-muted);
font-size:16px;
font-weight:600;
}

.loading i{
font-size:32px;
margin-bottom:16px;
display:block;
animation:spin 1s linear infinite;
}

.empty-state{
text-align:center;
padding:60px 20px;
color:var(--text-muted);
}

.empty-state i{
font-size:48px;
margin-bottom:16px;
color:var(--text-secondary);
}

.empty-state p{
font-size:16px;
font-weight:600;
}

@keyframes spin{
from{transform:rotate(0deg);}
to{transform:rotate(360deg);}
}

.product-card{
background:rgba(255,255,255,.03);
border-radius:28px;
overflow:hidden;
border:1px solid rgba(255,255,255,.08);
transition:all .35s ease;
position:relative;
display:flex;
flex-direction:column;
}

.product-card:hover{
transform:translateY(-8px);
box-shadow:var(--shadow-soft);
border-color:rgba(0,255,136,.2);
}

.vip-badge{
position:absolute;
top:15px;
right:15px;
background:linear-gradient(135deg,#ffd700,#ff9500);
color:#000;
padding:8px 16px;
border-radius:50px;
font-size:12px;
font-weight:800;
display:flex;
align-items:center;
gap:6px;
z-index:10;
box-shadow:0 4px 20px rgba(255,215,0,.4);
}

.product-img-container{
position:relative;
width:100%;
height:200px;
overflow:hidden;
}

.product-img{
width:100%;
height:100%;
object-fit:cover;
transition:transform .5s ease;
}

.product-card:hover .product-img{
transform:scale(1.1);
}

.product-info{
padding:24px;
flex:1;
display:flex;
flex-direction:column;
}

.product-info h3{
font-size:22px;
margin-bottom:10px;
font-weight:700;
color:var(--text-primary);
}

.product-info p{
font-size:14px;
color:var(--text-secondary);
line-height:1.6;
margin-bottom:15px;
flex:1;
}

.product-meta{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:15px;
}

.product-price{
font-size:26px;
font-weight:900;
color:#ff8a00;
}

.product-old-price{
font-size:13px;
color:rgba(255,255,255,0.45);
text-decoration:line-through;
}

.product-stock-wrap{
text-align:right;
}

.stock-count{
font-size:12px;
color:var(--text-secondary);
margin-top:6px;
}

.category-badge{
position:absolute;
left:14px;
top:14px;
background:linear-gradient(90deg,#00f0ff,#7d16ff);
padding:6px 10px;
border-radius:12px;
color:#000;
font-weight:800;
display:flex;
align-items:center;
gap:8px;
font-size:13px;
z-index:10;
}

.price-sale{
font-size:26px;
font-weight:800;
color:var(--accent);
}

.stock-info{
font-size:13px;
color:var(--text-muted);
display:flex;
align-items:center;
gap:5px;
}

.stock-info.in-stock{
color:var(--accent);
}

.stock-info.low-stock{
color:#fbbf24;
}

.duration-selector-group{
margin-bottom:16px;
}

.duration-label{
display:flex;
align-items:center;
gap:6px;
font-size:12px;
font-weight:600;
color:var(--text-secondary);
text-transform:uppercase;
letter-spacing:0.5px;
margin-bottom:8px;
}

.duration-select{
width:100%;
padding:12px 16px;
background:linear-gradient(135deg,rgba(0,0,0,0.8),rgba(10,10,10,0.9));
border:1.5px solid rgba(0,255,136,0.3);
border-radius:12px;
color:var(--text-primary);
font-size:14px;
font-weight:600;
cursor:pointer;
transition:all 0.3s ease;
appearance:none;
padding-right:40px;
background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%2300ff88" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg>');
background-repeat:no-repeat;
background-position:right 12px center;
background-size:20px;
}

.duration-select:hover{
border-color:rgba(0,255,136,0.6);
box-shadow:0 0 16px rgba(0,255,136,0.2),inset 0 0 16px rgba(0,255,136,0.05);
}

.duration-select:focus{
outline:none;
border-color:var(--accent);
box-shadow:0 0 24px rgba(0,255,136,0.4),inset 0 0 16px rgba(0,255,136,0.1);
}

.duration-select option{
background:#0a0a0a;
color:var(--text-primary);
}

.duration-info{
display:flex;
align-items:center;
justify-content:space-between;
font-size:12px;
color:var(--text-secondary);
margin-top:8px;
padding-top:8px;
border-top:1px solid rgba(0,255,136,0.1);
}

.catalog-info{
display:flex;
justify-content:space-between;
align-items:center;
background:var(--bg-tertiary);
padding:12px 16px;
border-radius:14px;
margin-bottom:15px;
font-size:13px;
color:var(--text-secondary);
}

.catalog-info span{
color:var(--accent);
font-weight:700;
}

.product-actions{
display:flex;
gap:10px;
}

.card-controls{
display:none;
flex-direction:column;
gap:10px;
align-items:stretch;
margin-bottom:12px;
}

.qty-selector{
display:flex;
align-items:center;
gap:6px;
border-radius:12px;
background:var(--bg-tertiary);
padding:6px;
border:1px solid rgba(0,255,136,0.06);
}

.qty-selector button{
width:40px;
height:40px;
border-radius:10px;
background:transparent;
border:none;
color:var(--text-primary);
font-size:20px;
cursor:pointer;
}

.qty-selector input{
width:60px;
text-align:center;
background:transparent;
border:none;
color:var(--text-primary);
font-weight:700;
font-size:16px;
}

.buy-summary{
background:var(--bg-tertiary);
padding:12px;
border-radius:12px;
border:1px solid rgba(255,255,255,0.03);
}

.summary-row{
display:flex;
justify-content:space-between;
font-size:13px;
color:var(--text-secondary);
margin-bottom:6px;
}

.summary-row.total{
font-size:16px;
font-weight:800;
color:#00f0ff;
margin-top:8px;
margin-bottom:0;
}

.buy-btn{
flex:1;
padding:16px;
border:none;
border-radius:16px;
font-weight:700;
color:#000;
font-size:15px;
background:linear-gradient(90deg,var(--accent),var(--accent-dark));
box-shadow:0 4px 20px rgba(0,255,136,.3);
display:flex;
align-items:center;
justify-content:center;
gap:8px;
cursor:pointer;
transition:all .3s ease;
}

.buy-btn:hover:not(:disabled){
transform:translateY(-2px);
box-shadow:0 8px 30px rgba(0,255,136,.4);
}

.buy-btn:disabled{
opacity:0.5;
cursor:not-allowed;
background:rgba(0,255,136,0.3);
box-shadow:none;
}

.review-btn{
width:50px;
height:50px;
border:none;
border-radius:16px;
background:var(--bg-tertiary);
border:1px solid var(--border);
color:var(--text-secondary);
font-size:18px;
display:flex;
align-items:center;
justify-content:center;
}

.review-btn:hover{
background:var(--accent);
color:#000;
border-color:var(--accent);
}

.duration-section{
    margin-bottom:18px;
}
.duration-label{
    font-weight:700;
    margin-bottom:12px;
    color:var(--text-primary);
}
.duration-buttons{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
    gap:10px;
}
.duration-buttons button{
    background:var(--bg-tertiary);
    border:1px solid var(--border);
    border-radius:18px;
    padding:14px 16px;
    color:var(--text-primary);
    font-weight:700;
    cursor:pointer;
    transition:all .25s ease;
    min-height:72px;
    text-align:left;
}
.duration-buttons button:hover,
.duration-buttons button.active{
    background:linear-gradient(90deg,var(--accent),var(--accent-dark));
    color:#000;
    border-color:transparent;
    box-shadow:0 14px 30px rgba(0,255,136,.2);
}
.duration-summary{
    border:1px solid var(--border);
    border-radius:20px;
    padding:18px;
    background:var(--bg-tertiary);
    margin-bottom:18px;
}
.duration-summary .summary-title{
    font-weight:700;
    margin-bottom:12px;
    color:var(--text-primary);
}
.duration-summary .summary-row{
    display:flex;
    justify-content:space-between;
    gap:12px;
    margin-bottom:10px;
    color:var(--text-secondary);
}
.duration-summary .summary-row.total{
    font-size:16px;
    font-weight:700;
    color:var(--text-primary);
}
.top-rank-badge,
.profile-rank-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:8px 14px;
    border-radius:999px;
    background:rgba(0,255,136,.08);
    color:var(--accent);
    font-size:13px;
    font-weight:700;
    margin-top:10px;
}
.discount-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:6px 12px;
    border-radius:999px;
    background:rgba(0,255,136,.12);
    color:var(--accent);
    font-size:12px;
    font-weight:700;
    margin:10px 0 0;
}


.reviews-modal{
display:none;
position:fixed;
inset:0;
background:rgba(0,0,0,.95);
z-index:9999;
overflow-y:auto;
animation:fadeIn .3s ease;
}

.reviews-content{
min-height:100vh;
padding:20px;
max-width:800px;
margin:0 auto;
}

.reviews-header{
display:flex;
align-items:center;
justify-content:space-between;
margin-bottom:30px;
padding-top:20px;
}

.reviews-header h2{
font-size:28px;
font-weight:800;
display:flex;
align-items:center;
gap:12px;
}

.reviews-header h2 i{
color:var(--accent);
}

.rating-summary{
background:var(--card-bg);
border-radius:24px;
padding:30px;
border:1px solid var(--border);
margin-bottom:30px;
display:flex;
align-items:center;
gap:40px;
}

.rating-big{
text-align:center;
}

.rating-big .number{
font-size:64px;
font-weight:900;
color:var(--accent);
line-height:1;
}

.rating-big .stars{
color:var(--vip-gold);
font-size:24px;
margin-top:10px;
}

.rating-big .total{
color:var(--text-muted);
font-size:14px;
margin-top:5px;
}

.rating-bars{
flex:1;
}

.rating-bar{
display:flex;
align-items:center;
gap:15px;
margin-bottom:10px;
}

.rating-bar span{
width:30px;
font-size:14px;
color:var(--text-secondary);
}

.rating-bar .bar{
flex:1;
height:8px;
background:var(--bg-tertiary);
border-radius:4px;
overflow:hidden;
}

.rating-bar .fill{
height:100%;
background:linear-gradient(90deg,var(--accent),var(--accent-dark));
border-radius:4px;
transition:width .5s ease;
}

.review-card{
background:var(--card-bg);
border-radius:20px;
padding:24px;
border:1px solid var(--border);
margin-bottom:20px;
animation:slideUp .4s ease;
}

.review-header{
display:flex;
align-items:center;
gap:15px;
margin-bottom:15px;
}

.reviewer-avatar{
width:50px;
height:50px;
border-radius:50%;
background:var(--bg-tertiary);
display:flex;
align-items:center;
justify-content:center;
font-size:20px;
color:var(--text-secondary);
border:2px solid var(--border);
overflow:hidden;
}

.reviewer-avatar img{
width:100%;
height:100%;
object-fit:cover;
}

.reviewer-info{
flex:1;
}

.reviewer-name{
font-weight:700;
color:var(--text-primary);
margin-bottom:3px;
}

.reviewer-badge{
display:inline-flex;
align-items:center;
gap:4px;
padding:4px 10px;
background:rgba(0,255,136,.1);
border-radius:20px;
font-size:11px;
color:var(--accent);
font-weight:600;
}

.review-date{
font-size:12px;
color:var(--text-muted);
}

.review-stars{
color:var(--vip-gold);
margin-bottom:10px;
font-size:16px;
}

.review-text{
color:var(--text-secondary);
font-size:15px;
line-height:1.7;
}

.review-images{
display:flex;
gap:10px;
margin-top:15px;
flex-wrap:wrap;
}

.review-images img{
width:80px;
height:80px;
border-radius:12px;
object-fit:cover;
cursor:pointer;
border:2px solid var(--border);
transition:all .2s;
}

.review-images img:hover{
border-color:var(--accent);
transform:scale(1.05);
}

.add-review-btn{
width:100%;
padding:18px;
background:var(--accent);
border:none;
border-radius:20px;
color:#000;
font-weight:800;
font-size:16px;
margin-bottom:30px;
display:flex;
align-items:center;
justify-content:center;
gap:10px;
}


.add-review-form{
background:var(--card-bg);
border-radius:24px;
padding:30px;
border:1px solid var(--border);
margin-bottom:30px;
display:none;
}

.add-review-form.active{
display:block;
animation:slideUp .4s ease;
}

.add-review-form h3{
margin-bottom:20px;
font-size:20px;
}

.star-rating-input{
display:flex;
gap:10px;
margin-bottom:20px;
font-size:32px;
color:var(--text-muted);
cursor:pointer;
}

.star-rating-input i:hover,
.star-rating-input i.active{
color:var(--vip-gold);
}

.review-textarea{
width:100%;
min-height:120px;
padding:16px;
background:var(--bg-tertiary);
border:1px solid var(--border);
border-radius:16px;
color:var(--text-primary);
font-size:15px;
resize:vertical;
margin-bottom:15px;
}

.review-textarea::placeholder{
color:var(--text-muted);
}

.review-image-upload{
border:2px dashed var(--border);
border-radius:16px;
padding:30px;
text-align:center;
cursor:pointer;
margin-bottom:20px;
transition:all .2s;
}

.review-image-upload:hover{
border-color:var(--accent);
background:rgba(0,255,136,.02);
}

.review-image-upload i{
font-size:32px;
color:var(--text-muted);
margin-bottom:10px;
}

.review-image-upload p{
color:var(--text-secondary);
font-size:14px;
}

.review-images-preview{
display:flex;
gap:10px;
margin-bottom:20px;
flex-wrap:wrap;
}

.review-image-preview{
position:relative;
width:80px;
height:80px;
border-radius:12px;
overflow:hidden;
border:2px solid var(--border);
}

.review-image-preview img{
width:100%;
height:100%;
object-fit:cover;
}

.review-image-preview .remove{
position:absolute;
top:5px;
right:5px;
width:24px;
height:24px;
background:rgba(255,77,109,.9);
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
color:#fff;
font-size:12px;
cursor:pointer;
}

.form-actions{
display:flex;
gap:12px;
}


.my-reviews-panel{
display:none;
position:fixed;
inset:0;
background:var(--bg-primary);
z-index:9999;
overflow-y:auto;
}

.my-reviews-content{
min-height:100vh;
padding:20px;
max-width:800px;
margin:0 auto;
}


.top-vip-section{
display:none;
padding:18px;
max-width:1200px;
margin:0 auto;
}

.top-vip-section.active{
display:block;
}

.top-vip-header{
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:10px;
margin-bottom:42px;
}

.top-vip-header h2{
font-size:34px;
font-weight:900;
background:linear-gradient(135deg,#ffd700,#ff9500);
-webkit-background-clip:text;
color:transparent;
letter-spacing:1px;
}

.top-vip-header p{
color:var(--text-secondary);
font-size:15px;
max-width:720px;
line-height:1.8;
text-align:center;
}


.top-vip-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
gap:22px;
margin-bottom:40px;
}

.vip-card{
background:rgba(255,255,255,.03);
border-radius:24px;
padding:24px 18px;
text-align:center;
border:1px solid rgba(255,255,255,.08);
position:relative;
transition:all .3s ease;
box-shadow:0 16px 40px rgba(0,0,0,.18);
}

.vip-card:hover{
transform:translateY(-6px);
box-shadow:0 22px 50px rgba(0,0,0,.28);
}

.vip-card.rank-1{
border-color:#ffd700;
background:linear-gradient(180deg,rgba(255,215,0,.14),rgba(255,255,255,.02));
box-shadow:0 24px 60px rgba(255,215,0,.18);
}

.vip-card.rank-2{
border-color:#c0c0c0;
background:linear-gradient(180deg,rgba(192,192,192,.08),rgba(255,255,255,.02));
}

.vip-card.rank-3{
border-color:#cd7f32;
background:linear-gradient(180deg,rgba(205,127,50,.08),rgba(255,255,255,.02));
}

.vip-rank{
position:absolute;
top:16px;
left:16px;
font-size:13px;
letter-spacing:.15em;
text-transform:uppercase;
color:var(--text-secondary);
font-weight:700;
}

.vip-avatar{
width:96px;
height:96px;
margin:0 auto 16px;
border-radius:50%;
overflow:hidden;
display:flex;
align-items:center;
justify-content:center;
background:rgba(255,255,255,.06);
position:relative;
}

.vip-avatar img{
width:100%;
height:100%;
object-fit:cover;
}

.vip-avatar i{
font-size:36px;
color:var(--accent);
}

.vip-crown{
position:absolute;
bottom:-6px;
right:-6px;
font-size:18px;
color:#ffd700;
text-shadow:0 0 10px rgba(255,215,0,.35);
}

.vip-name{
font-size:18px;
font-weight:800;
margin-bottom:6px;
color:var(--text-primary);
}

.vip-amount{
font-size:20px;
font-weight:900;
color:var(--accent);
margin-bottom:8px;
}

.vip-label{
font-size:11px;
letter-spacing:0.2em;
text-transform:uppercase;
color:var(--text-secondary);
margin-bottom:18px;
}

.vip-stats{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:10px;
}

.vip-stat{
background:rgba(255,255,255,.05);
padding:14px 12px;
border-radius:14px;
}

.vip-stat-value{
font-size:16px;
font-weight:800;
color:var(--text-primary);
}

.vip-stat-label{
font-size:12px;
color:var(--text-secondary);
margin-top:4px;
}

.vip-card.rank-1 .vip-rank{
background:linear-gradient(135deg,#ffd700,#ff9500);
color:#000;
width:70px;
height:70px;
font-size:32px;
top:-25px;
}

.vip-card.rank-2 .vip-rank{
background:linear-gradient(135deg,#e0e0e0,#a0a0a0);
color:#000;
}

.vip-card.rank-3 .vip-rank{
background:linear-gradient(135deg,#cd7f32,#8b4513);
color:#fff;
}

.vip-card.rank-4 .vip-rank,
.vip-card.rank-5 .vip-rank{
background:var(--bg-tertiary);
color:var(--text-secondary);
border:2px solid var(--border);
}

.vip-avatar{
width:100px;
height:100px;
border-radius:50%;
background:var(--bg-tertiary);
margin:30px auto 20px;
display:flex;
align-items:center;
justify-content:center;
font-size:40px;
color:var(--text-secondary);
border:4px solid var(--border);
overflow:hidden;
position:relative;
}

.vip-card.rank-1 .vip-avatar{
width:140px;
height:140px;
border-color:#ffd700;
box-shadow:0 0 40px rgba(255,215,0,.3);
margin-top:40px;
}

.vip-avatar img{
width:100%;
height:100%;
object-fit:cover;
}

.vip-crown{
position:absolute;
top:-10px;
right:-10px;
font-size:24px;
color:#ffd700;
filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));
}

.vip-name{
font-size:20px;
font-weight:800;
margin-bottom:8px;
color:var(--text-primary);
}

.vip-card.rank-1 .vip-name{
font-size:28px;
}

.vip-amount{
font-size:28px;
font-weight:900;
color:var(--accent);
margin-bottom:5px;
}

.vip-card.rank-1 .vip-amount{
font-size:36px;
background:linear-gradient(135deg,#ffd700,#ff9500);
-webkit-background-clip:text;
color:transparent;
}

.vip-label{
font-size:12px;
color:var(--text-muted);
text-transform:uppercase;
letter-spacing:2px;
}

.vip-stats{
display:flex;
justify-content:center;
gap:20px;
margin-top:20px;
padding-top:20px;
border-top:1px solid var(--border);
}

.vip-stat{
text-align:center;
}

.vip-stat-value{
font-size:20px;
font-weight:800;
color:var(--text-primary);
}

.vip-stat-label{
font-size:11px;
color:var(--text-muted);
text-transform:uppercase;
letter-spacing:1px;
margin-top:3px;
}


.modal{
display:none;
position:fixed;
inset:0;
background:rgba(0,0,0,.95);
z-index:9999;
overflow-y:auto;
animation:fadeIn .2s ease;
}

@keyframes fadeIn{
from{opacity:0}
to{opacity:1}
}

.modal-content{
min-height:100vh;
padding:20px;
position:relative;
background:var(--bg-primary);
}


.stepper-header{
display:flex;
align-items:center;
justify-content:space-between;
margin-bottom:24px;
padding-top:10px;
}

.stepper-left{
display:flex;
align-items:center;
gap:15px;
}

.back-btn{
width:44px;
height:44px;
border-radius:50%;
background:var(--bg-tertiary);
color:var(--text-primary);
display:flex;
align-items:center;
justify-content:center;
font-size:16px;
border:1px solid var(--border);
}

.back-btn:hover{
background:var(--accent);
color:#000;
}

.step-info h2{
font-size:26px;
font-weight:800;
color:var(--text-primary);
}

.step-counter{
color:var(--accent);
font-size:13px;
font-weight:600;
letter-spacing:1px;
margin-bottom:4px;
}

.close-btn{
width:44px;
height:44px;
border-radius:50%;
background:var(--bg-tertiary);
color:var(--text-primary);
display:flex;
align-items:center;
justify-content:center;
font-size:18px;
border:1px solid var(--border);
}

.close-btn:hover{
background:#ff4d6d;
color:#fff;
}

.step-title{
font-size:15px;
color:var(--text-secondary);
margin-top:8px;
}


.step-panel{
display:none;
animation:slideUp .3s ease;
}

.step-panel.active{
display:block;
}

@keyframes slideUp{
from{opacity:0;transform:translateY(20px);}
to{opacity:1;transform:translateY(0);}
}


.method-cards{
display:flex;
flex-direction:column;
gap:16px;
margin-top:24px;
}

.method-card{
background:var(--card-bg);
border:1px solid var(--border);
border-radius:24px;
padding:20px;
display:flex;
align-items:center;
gap:16px;
cursor:pointer;
transition:all .2s;
position:relative;
overflow:hidden;
}

.method-card:hover{
border-color:var(--accent);
transform:translateX(4px);
}

.method-card.selected{
border-color:var(--accent);
background:linear-gradient(145deg,rgba(0,255,136,.05),var(--card-bg));
}

.method-icon{
width:60px;
height:60px;
border-radius:20px;
display:flex;
align-items:center;
justify-content:center;
font-size:24px;
flex-shrink:0;
}

.method-card:first-child .method-icon{
background:linear-gradient(135deg,#1a3a5c,#2d5a87);
color:#60a5fa;
}

.method-card:last-child .method-icon{
background:linear-gradient(135deg,#3d2914,#5c4420);
color:#fbbf24;
}

.method-info h3{
font-size:20px;
font-weight:700;
margin-bottom:4px;
color:var(--text-primary);
}

.method-info p{
font-size:13px;
color:var(--text-secondary);
}

.method-arrow{
margin-left:auto;
color:var(--text-muted);
font-size:20px;
}

.country-flags{
display:flex;
gap:6px;
margin-top:8px;
flex-wrap:wrap;
}

.country-flags span{
font-size:18px;
}


.country-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:12px;
margin-top:24px;
}

.country-card{
background:var(--card-bg);
border:1px solid var(--border);
border-radius:20px;
padding:16px;
cursor:pointer;
transition:all .2s;
}

.country-card:hover{
border-color:var(--accent);
transform:translateY(-2px);
}

.country-card.selected{
border-color:var(--accent);
background:rgba(0,255,136,.05);
}

.country-flag{
font-size:32px;
margin-bottom:10px;
}

.country-name{
font-size:16px;
font-weight:700;
margin-bottom:4px;
color:var(--text-primary);
}

.country-methods{
font-size:12px;
color:var(--text-muted);
}

.continue-btn{
width:100%;
padding:18px;
border:none;
border-radius:20px;
background:var(--accent);
color:#000;
font-size:18px;
font-weight:800;
margin-top:24px;
display:flex;
align-items:center;
justify-content:center;
gap:10px;
}

.continue-btn:disabled{
background:var(--bg-tertiary);
color:var(--text-muted);
cursor:not-allowed;
}


.amount-section{
margin-top:24px;
}

.selected-country-display{
background:var(--card-bg);
border:1px solid var(--border);
border-radius:16px;
padding:14px 18px;
display:flex;
align-items:center;
justify-content:space-between;
margin-bottom:24px;
}

.selected-country-display .left{
display:flex;
align-items:center;
gap:12px;
}

.selected-country-display .flag{
font-size:28px;
}

.selected-country-display .name{
font-weight:600;
color:var(--text-primary);
}

.change-btn{
color:var(--accent);
font-size:14px;
font-weight:600;
background:none;
}

.amount-label{
font-size:15px;
color:var(--text-secondary);
margin-bottom:12px;
}

.amount-presets{
display:flex;
gap:10px;
flex-wrap:wrap;
margin-bottom:20px;
}

.amount-preset{
padding:16px 24px;
background:var(--card-bg);
border:1px solid var(--border);
border-radius:16px;
font-size:18px;
font-weight:700;
color:var(--text-primary);
cursor:pointer;
min-width:80px;
text-align:center;
}

.amount-preset:hover{
border-color:var(--accent);
}

.amount-preset.selected{
background:var(--accent);
color:#000;
border-color:var(--accent);
}

.custom-amount{
background:var(--card-bg);
border:1px solid var(--border);
border-radius:16px;
padding:16px;
display:flex;
align-items:center;
gap:12px;
margin-bottom:20px;
}

.custom-amount i{
color:var(--accent);
font-size:20px;
}

.custom-amount input{
flex:1;
background:transparent;
color:var(--text-primary);
font-size:18px;
font-weight:600;
}

.custom-amount span{
color:var(--text-muted);
font-size:14px;
}


.instruction-card{
background:var(--card-bg);
border:1px solid var(--border);
border-radius:24px;
padding:20px;
margin-bottom:20px;
}

.instruction-header{
display:flex;
align-items:center;
gap:12px;
margin-bottom:16px;
}

.instruction-header .flag{
font-size:32px;
}

.instruction-header .info h3{
font-size:18px;
font-weight:700;
color:var(--text-primary);
}

.instruction-header .info p{
font-size:13px;
color:var(--text-secondary);
}

.amount-display{
text-align:right;
}

.amount-display .label{
font-size:12px;
color:var(--text-secondary);
}

.amount-display .value{
font-size:28px;
font-weight:800;
color:var(--accent);
}

.amount-display .converted{
font-size:14px;
color:var(--text-muted);
margin-top:4px;
}

.divider{
height:1px;
background:var(--border);
margin:16px 0;
}

.wallet-credit{
display:flex;
justify-content:space-between;
align-items:center;
}

.wallet-credit span{
color:var(--text-secondary);
}

.wallet-credit strong{
font-size:24px;
color:var(--accent);
}


.rules-box{
background:rgba(234,179,8,.1);
border:1px solid rgba(234,179,8,.4);
border-radius:16px;
padding:16px;
margin-bottom:20px;
}

.rules-box-header{
display:flex;
align-items:center;
gap:10px;
margin-bottom:12px;
}

.rules-box-header i{
color:#eab308;
font-size:20px;
}

.rules-box-header h4{
color:#eab308;
font-size:16px;
font-weight:700;
}

.rules-box ul{
list-style:none;
}

.rules-box li{
font-size:13px;
color:#eab308;
line-height:1.8;
padding-left:20px;
position:relative;
}

.rules-box li:before{
content:"•";
position:absolute;
left:8px;
color:#eab308;
}


.payment-details{
background:var(--card-bg);
border:1px solid var(--border);
border-radius:20px;
padding:20px;
margin-bottom:20px;
}

.payment-details h4{
font-size:14px;
color:var(--text-secondary);
margin-bottom:16px;
text-transform:uppercase;
letter-spacing:1px;
}

.payment-row{
display:flex;
align-items:center;
padding:12px 0;
border-bottom:1px solid var(--border);
}

.payment-row:last-child{
border-bottom:none;
}

.payment-row i{
width:30px;
color:var(--accent);
font-size:16px;
}

.payment-row .label{
width:100px;
font-size:13px;
color:var(--text-secondary);
}

.payment-row .value{
flex:1;
font-size:15px;
font-weight:600;
color:var(--text-primary);
font-family:'Courier New',monospace;
}

.payment-row .value.amount{
color:var(--accent);
font-size:18px;
}

.copy-btn-small{
padding:10px 16px;
background:rgba(0,255,136,.1);
border:1px solid var(--accent);
border-radius:12px;
color:var(--accent);
font-size:13px;
font-weight:600;
display:flex;
align-items:center;
gap:6px;
margin-left:12px;
}

.rate-info{
background:rgba(59,130,246,.1);
border:1px solid rgba(59,130,246,.3);
border-radius:16px;
padding:16px;
margin-bottom:20px;
}

.rate-info p{
font-size:13px;
color:#60a5fa;
line-height:1.6;
}

.upload-btn-large{
width:100%;
padding:18px;
background:var(--accent);
border:none;
border-radius:20px;
color:#000;
font-size:16px;
font-weight:800;
display:flex;
align-items:center;
justify-content:center;
gap:10px;
}


.upload-area{
border:2px dashed var(--border);
border-radius:24px;
padding:40px 20px;
text-align:center;
margin-top:24px;
transition:all .2s;
background:var(--card-bg);
}

.upload-area:hover{
border-color:var(--accent);
background:rgba(0,255,136,.02);
}

.upload-area i{
font-size:48px;
color:var(--text-muted);
margin-bottom:16px;
}

.upload-area h3{
font-size:18px;
margin-bottom:8px;
color:var(--text-primary);
}

.upload-area p{
font-size:13px;
color:var(--text-muted);
}

.upload-area.has-file{
border-color:var(--accent);
background:rgba(0,255,136,.05);
}

.upload-area.has-file i{
color:var(--accent);
}

.select-gallery-btn{
width:100%;
padding:16px;
background:var(--bg-tertiary);
border:1px solid var(--border);
border-radius:16px;
color:var(--text-primary);
font-size:15px;
display:flex;
align-items:center;
justify-content:center;
gap:10px;
margin-top:20px;
}

.notes-section{
margin-top:24px;
}

.notes-section label{
display:block;
font-size:14px;
color:var(--text-secondary);
margin-bottom:10px;
}

.notes-input{
width:100%;
padding:16px;
background:var(--card-bg);
border:1px solid var(--border);
border-radius:16px;
color:var(--text-primary);
font-size:15px;
}

.whatsapp-notice{
background:rgba(0,255,136,.08);
border:1px solid var(--accent);
border-radius:16px;
padding:16px;
display:flex;
gap:12px;
align-items:flex-start;
margin-top:20px;
}

.whatsapp-notice i{
color:var(--accent);
font-size:20px;
}

.whatsapp-notice p{
font-size:13px;
color:var(--text-secondary);
line-height:1.6;
}

.send-proof-btn{
width:100%;
padding:18px;
background:var(--accent);
border:none;
border-radius:20px;
color:#000;
font-size:16px;
font-weight:800;
margin-top:24px;
display:flex;
align-items:center;
justify-content:center;
gap:10px;
}

.send-proof-btn:disabled{
background:var(--bg-tertiary);
color:var(--text-muted);
}


.dashboard-panel{
display:none;
position:fixed;
inset:0;
background:rgba(5,5,5,0.78);
backdrop-filter:blur(18px);
z-index:9999;
overflow-y:auto;
pointer-events:auto;
}

.dashboard-content{
width:min(960px,calc(100% - 48px));
max-width:980px;
margin:40px auto;
padding:32px;
background:rgba(10,10,10,.96);
border:1px solid rgba(255,255,255,.08);
border-radius:32px;
box-shadow:0 36px 90px rgba(0,0,0,.40);
min-height:auto;
}

.dashboard-header{
display:flex;
align-items:center;
justify-content:space-between;
margin-bottom:30px;
padding-top:10px;
}

.dashboard-title{
font-size:28px;
font-weight:800;
color:var(--text-primary);
}

.rank-summary{
display:grid;
grid-template-columns:1fr;
gap:18px;
margin-bottom:24px;
}
.rank-card{
background:linear-gradient(180deg, rgba(14,14,14,0.95), rgba(28,28,28,0.95));
border:1px solid rgba(0,255,136,0.18);
border-radius:24px;
padding:24px;
box-shadow:0 20px 50px rgba(0,255,136,0.08);
}
.rank-card h3{
font-size:28px;
margin:10px 0 0;
color:#00ff88;
}
.rank-card p{
color:var(--text-secondary);
line-height:1.6;
}
.rank-progress-bar{
width:100%;
height:14px;
background:rgba(255,255,255,0.06);
border-radius:999px;
overflow:hidden;
margin:16px 0 0;
}
.rank-progress-fill{
height:100%;
width:0%;
background:linear-gradient(90deg,#00ff88,#00d26a);
transition:width .4s ease;
}
.rank-benefits{
background:rgba(255,255,255,0.04);
border:1px solid rgba(255,255,255,0.08);
border-radius:22px;
padding:22px;
}
.rank-benefits h4{
margin-bottom:16px;
color:#fff;
}
.rank-benefits ul{
list-style:none;
padding:0;
margin:0;
display:grid;
gap:12px;
}
.rank-benefits li{
position:relative;
padding-left:24px;
color:#c9f7d1;
font-size:14px;
}
.rank-benefits li::before{
content:'▹';
position:absolute;
left:0;
top:1px;
color:#00ff88;
}
.rank-progress-info{
margin-top:10px;
color:#fff;
font-size:14px;
}

.profile-hero{
background:linear-gradient(135deg,var(--bg-secondary),var(--bg-tertiary));
border-radius:28px;
padding:30px;
text-align:center;
border:1px solid var(--border);
margin-bottom:24px;
position:relative;
overflow:hidden;
}

.profile-hero::before{
content:'';
position:absolute;
top:0;
left:0;
right:0;
height:4px;
background:linear-gradient(90deg,var(--accent),var(--accent-dark));
}

.profile-photo-large{
width:120px;
height:120px;
border-radius:50%;
background:var(--bg-tertiary);
margin:0 auto 20px;
display:flex;
align-items:center;
justify-content:center;
font-size:50px;
color:var(--text-secondary);
border:4px solid var(--accent);
overflow:hidden;
position:relative;
}

.profile-photo-large img{
width:100%;
height:100%;
object-fit:cover;
}

.profile-photo-large .edit-overlay{
position:absolute;
inset:0;
background:rgba(0,0,0,.7);
display:flex;
align-items:center;
justify-content:center;
opacity:0;
transition:opacity .3s;
cursor:pointer;
}

.profile-photo-large:hover .edit-overlay{
opacity:1;
}

.profile-photo-large .edit-overlay i{
font-size:24px;
color:#fff;
}

.profile-hero h2{
font-size:26px;
font-weight:800;
color:var(--text-primary);
margin-bottom:8px;
}

.profile-hero p{
color:var(--text-secondary);
font-size:15px;
display:flex;
align-items:center;
justify-content:center;
gap:8px;
}

.profile-hero .user-id-badge{
display:inline-flex;
align-items:center;
gap:8px;
background:var(--bg-tertiary);
padding:8px 16px;
border-radius:50px;
margin-top:12px;
font-size:13px;
color:var(--accent);
font-family:'Courier New',monospace;
}


.stats-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:12px;
margin-bottom:24px;
}

.stat-box{
background:var(--card-bg);
padding:24px;
border-radius:20px;
border:1px solid var(--border);
text-align:center;
}

.stat-box h3{
font-size:32px;
font-weight:800;
color:var(--accent);
margin-bottom:4px;
}

.stat-box p{
font-size:13px;
color:var(--text-secondary);
text-transform:uppercase;
letter-spacing:1px;
}


.info-card{
background:rgba(255,255,255,.03);
border:1px solid rgba(0,255,136,.12);
border-radius:24px;
padding:24px;
margin-bottom:18px;
box-shadow:0 18px 40px rgba(0,0,0,.25);
}

.info-card h4{
font-size:13px;
color:var(--text-secondary);
margin-bottom:16px;
text-transform:uppercase;
letter-spacing:1.2px;
}

.info-row{
display:flex;
align-items:center;
padding:16px 0;
border-bottom:1px solid rgba(255,255,255,.08);
}

.info-row:last-child{
border-bottom:none;
}

.info-row i{
width:46px;
height:46px;
border-radius:16px;
background:linear-gradient(180deg, rgba(0,255,136,.14), rgba(0,255,136,.05));
display:flex;
align-items:center;
justify-content:center;
color:var(--accent);
font-size:18px;
margin-right:16px;
box-shadow:0 8px 20px rgba(0,255,136,.12);
}

.info-row .content{
flex:1;
}

.info-row .content .label{
font-size:12px;
color:var(--text-muted);
margin-bottom:4px;
}

.info-row .content .value{
font-size:16px;
font-weight:700;
color:var(--text-primary);
}

.info-row .edit-btn{
padding:11px 14px;
background:rgba(255,255,255,.02);
border:1px solid var(--border);
border-radius:14px;
color:var(--text-secondary);
font-size:14px;
cursor:pointer;
transition:all .2s ease;
}

.info-row .edit-btn:hover{
background:rgba(0,255,136,.08);
border-color:var(--accent);
color:var(--accent);
}


.edit-form{
display:none;
background:rgba(255,255,255,.02);
border:1px solid rgba(0,255,136,.12);
border-radius:24px;
padding:26px;
margin-bottom:18px;
box-shadow:0 20px 50px rgba(0,0,0,.22);
}

.edit-form.active{
display:block;
animation:slideUp .3s ease;
}

.edit-form h4{
margin-bottom:22px;
color:var(--text-primary);
letter-spacing:0.5px;
}

.form-group{
margin-bottom:16px;
}

.form-group label{
display:block;
font-size:13px;
color:var(--text-secondary);
margin-bottom:10px;
text-transform:uppercase;
letter-spacing:1px;
}

.form-group input{
width:100%;
padding:16px;
background:rgba(255,255,255,.03);
border:1px solid rgba(255,255,255,.08);
border-radius:14px;
color:var(--text-primary);
font-size:15px;
}

.form-actions{
display:flex;
gap:12px;
margin-top:26px;
}

.btn-save{
flex:1;
padding:15px;
background:linear-gradient(90deg, var(--accent), var(--accent-dark));
border:none;
border-radius:16px;
color:#000;
font-weight:800;
font-size:15px;
box-shadow:0 12px 30px rgba(0,255,136,.22);
}

.btn-cancel{
flex:1;
padding:15px;
background:rgba(255,255,255,.04);
border:1px solid rgba(255,255,255,.1);
border-radius:16px;
color:var(--text-primary);
font-weight:700;
font-size:15px;
}


.tabs-container{
display:flex;
flex-wrap:wrap;
gap:12px;
align-items:center;
background:rgba(255,255,255,.03);
border:1px solid rgba(255,255,255,.08);
border-radius:24px;
padding:12px;
margin-bottom:32px;
}

.tabs{
display:flex;
gap:10px;
flex-wrap:wrap;
width:100%;
}

.tab-btn{
  flex:0 1 auto;
  padding:13px 18px;
  border:none;
  border-radius:18px;
  background:rgba(255,255,255,.04);
  color:var(--text-secondary);
  font-weight:700;
  letter-spacing:.02em;
  font-size:14px;
  transition:all .22s ease;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:120px;
}

.tab-btn::after{
  content:'';
  position:absolute;
  inset:0;
  border-radius:18px;
  pointer-events:none;
  transition:opacity .22s ease;
  opacity:0;
}

.tab-btn.active{
  color:var(--accent);
  background:rgba(0,255,136,.16);
  box-shadow:0 18px 40px rgba(0,255,136,.10);
}

.tab-btn.active::after{
  opacity:1;
}

.hidden-tab{display:none !important}

.tab-content{
  display:none;
  opacity:0;
  transform:translateY(10px);
  transition:opacity .25s ease, transform .25s ease;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  border-radius:28px;
  padding:28px;
  margin:0 auto 30px;
  width:100%;
  box-shadow:var(--shadow-soft);
}

.tab-content.active{
  display:block;
  opacity:1;
  transform:translateY(0);
}

.tab-content > *{
  max-width:100%;
  margin:0 auto;
}

.tab-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 32px rgba(0,255,136,.12);
}


.transfer-section{
background:var(--card-bg);
border-radius:24px;
padding:30px;
border:1px solid var(--border);
margin-bottom:24px;
}

.transfer-section h3{
font-size:20px;
margin-bottom:10px;
display:flex;
align-items:center;
gap:10px;
}

.transfer-section h3 i{
color:var(--accent);
}

.transfer-section p{
color:var(--text-secondary);
font-size:14px;
margin-bottom:25px;
}

.transfer-balance{
background:var(--bg-tertiary);
border-radius:16px;
padding:20px;
text-align:center;
margin-bottom:25px;
}

.transfer-balance .label{
font-size:13px;
color:var(--text-muted);
margin-bottom:8px;
}

.transfer-balance .amount{
font-size:42px;
font-weight:900;
color:var(--accent);
}

.transfer-form{
display:flex;
flex-direction:column;
gap:20px;
}

.transfer-input-group{
position:relative;
}

.transfer-input-group label{
display:block;
font-size:13px;
color:var(--text-secondary);
margin-bottom:8px;
text-transform:uppercase;
letter-spacing:1px;
}

.transfer-input-group input{
width:100%;
padding:16px;
background:var(--bg-tertiary);
border:1px solid var(--border);
border-radius:16px;
color:var(--text-primary);
font-size:16px;
}

.transfer-input-group i{
position:absolute;
right:16px;
top:42px;
color:var(--text-muted);
}

.transfer-btn{
width:100%;
padding:18px;
background:linear-gradient(90deg,var(--accent),var(--accent-dark));
border:none;
border-radius:16px;
color:#000;
font-size:16px;
font-weight:800;
display:flex;
align-items:center;
justify-content:center;
gap:10px;
margin-top:10px;
}

.transfer-history{
margin-top:30px;
}

.transfer-history h4{
font-size:16px;
margin-bottom:15px;
color:var(--text-secondary);
}

.transfer-item{
background:var(--bg-tertiary);
border-radius:16px;
padding:16px;
margin-bottom:12px;
display:flex;
align-items:center;
gap:15px;
}

.transfer-item.sent{
border-left:4px solid #ff4d6d;
}

.transfer-item.received{
border-left:4px solid var(--accent);
}

.transfer-icon{
width:45px;
height:45px;
border-radius:12px;
background:var(--card-bg);
display:flex;
align-items:center;
justify-content:center;
font-size:18px;
}

.transfer-item.sent .transfer-icon{
color:#ff4d6d;
}

.transfer-item.received .transfer-icon{
color:var(--accent);
}

.transfer-details{
flex:1;
}

.transfer-details .type{
font-weight:700;
font-size:14px;
color:var(--text-primary);
}

.transfer-details .user{
font-size:12px;
color:var(--text-muted);
margin-top:2px;
}

.transfer-details .date{
font-size:11px;
color:var(--text-muted);
margin-top:2px;
}

.transfer-amount{
font-size:18px;
font-weight:800;
}

.transfer-item.sent .transfer-amount{
color:#ff4d6d;
}

.transfer-item.received .transfer-amount{
color:var(--accent);
}


.compra-card{
background:var(--card-bg);
padding:24px;
border-radius:20px;
border:1px solid var(--border);
margin-bottom:16px;
}

.compra-top{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:16px;
}

.compra-top h3{
font-size:18px;
color:var(--text-primary);
}

.badge{
padding:8px 14px;
border-radius:12px;
font-size:12px;
font-weight:700;
}

.badge.aprobada{
background:rgba(0,255,136,.15);
color:var(--accent);
}

.badge.pendiente{
background:rgba(251,191,36,.15);
color:#fbbf24;
}

.badge.rechazada{
background:rgba(255,77,109,.15);
color:#ff4d6d;
}

.key-box{
background:var(--bg-tertiary);
padding:16px;
border-radius:14px;
font-family:'Courier New',monospace;
font-size:13px;
color:var(--accent);
word-break:break-all;
margin-top:16px;
border:1px solid var(--border);
position:relative;
}

.garantia{
margin-top:16px;
padding:14px;
border-radius:12px;
background:var(--bg-tertiary);
font-size:13px;
color:var(--accent);
display:flex;
align-items:center;
gap:8px;
}

.garantia.expirada{
color:#ff4d6d;
}

.refund-btn{
width:100%;
padding:14px;
border:none;
border-radius:14px;
background:linear-gradient(90deg,#ff4d6d,#ff0080);
color:#fff;
font-weight:700;
margin-top:16px;
}


.contact-hero{
background:linear-gradient(135deg,var(--bg-secondary),var(--bg-tertiary));
border-radius:28px;
padding:40px 30px;
text-align:center;
border:1px solid var(--border);
margin-bottom:30px;
}

.contact-hero i{
font-size:60px;
color:var(--accent);
margin-bottom:20px;
}

.contact-hero h2{
font-size:32px;
font-weight:800;
margin-bottom:12px;
}

.contact-hero p{
color:var(--text-secondary);
font-size:16px;
}

.contact-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:20px;
margin-bottom:30px;
}

.contact-card{
background:var(--card-bg);
border:1px solid var(--border);
border-radius:24px;
padding:30px;
text-align:center;
transition:all .3s;
cursor:pointer;
}

.contact-card:hover{
transform:translateY(-5px);
border-color:var(--accent);
box-shadow:0 10px 30px rgba(0,255,136,.1);
}

.contact-card i{
font-size:40px;
color:var(--accent);
margin-bottom:16px;
}

.contact-card h3{
font-size:20px;
margin-bottom:8px;
}

.contact-card p{
color:var(--text-secondary);
font-size:14px;
margin-bottom:16px;
}

.contact-btn{
display:inline-flex;
align-items:center;
gap:8px;
padding:12px 24px;
background:var(--accent);
border-radius:50px;
color:#000;
font-weight:700;
font-size:14px;
}


.dashboard-btn{
position:fixed;
right:18px;
bottom:18px;
width:60px;
height:60px;
border-radius:50%;
background:var(--accent);
color:#000;
border:none;
font-size:22px;
display:flex;
align-items:center;
justify-content:center;
z-index:997;
box-shadow:0 4px 20px rgba(0,255,136,.4);
}


.footer{
background:var(--bg-secondary);
border-top:1px solid var(--border);
padding:40px 20px;
text-align:center;
margin-top:40px;
}

.footer-logo{
font-size:24px;
font-weight:900;
background:linear-gradient(45deg,var(--text-primary),var(--accent));
-webkit-background-clip:text;
color:transparent;
margin-bottom:12px;
display:flex;
align-items:center;
justify-content:center;
gap:10px;
}

.footer-tagline{
font-size:14px;
color:var(--text-secondary);
margin-bottom:20px;
letter-spacing:2px;
text-transform:uppercase;
}

.footer-links{
display:flex;
justify-content:center;
gap:30px;
margin-bottom:24px;
flex-wrap:wrap;
}

.footer-links a{
color:var(--text-muted);
font-size:14px;
transition:color .2s;
}

.footer-links a:hover{
color:var(--accent);
}

.footer-social{
display:flex;
justify-content:center;
gap:16px;
margin-bottom:24px;
}

.footer-social a{
width:44px;
height:44px;
border-radius:50%;
background:var(--bg-tertiary);
display:flex;
align-items:center;
justify-content:center;
color:var(--text-secondary);
font-size:18px;
border:1px solid var(--border);
transition:all .2s;
}

.footer-social a:hover{
background:var(--accent);
color:#000;
border-color:var(--accent);
transform:translateY(-3px);
}


@media(max-width:768px){
.shop-title{
font-size:36px;
}
.country-grid{
grid-template-columns:1fr;
}
.auth-box{
padding:30px 20px;
}
.whatsapp-group{
grid-template-columns:1fr;
}
.auth-bottom-actions{
flex-direction:column;
}
.top-vip-grid{
grid-template-columns:1fr;
}
.vip-card.rank-1{
grid-column:span 1;
}
.rating-summary{
flex-direction:column;
gap:20px;
}
.container{
grid-template-columns:1fr;
}
}

@media(max-width:600px){
.vip-card.rank-1 .vip-avatar{
width:100px;
height:100px;
}
.vip-card.rank-1 .vip-name{
font-size:20px;
}
}


.referral-hero{
background:linear-gradient(135deg,var(--bg-secondary),var(--bg-tertiary));
border-radius:20px;
padding:28px;
text-align:center;
border:1px solid var(--border);
margin-bottom:24px;
}

.referral-hero h3{
font-size:24px;
margin-bottom:8px;
color:var(--text-primary);
}

.referral-hero p{
color:var(--text-secondary);
font-size:14px;
}

.referral-stats{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:16px;
margin-bottom:24px;
}

.ref-stat{
background:var(--card-bg);
padding:12px;
border-radius:12px;
border:1px solid var(--border);
text-align:center;
}

.ref-label{
font-size:12px;
color:var(--text-secondary);
margin-bottom:6px;
}

.ref-value{
font-size:18px;
font-weight:700;
color:var(--accent);
}

.referral-link-box{
background:var(--card-bg);
padding:20px;
border-radius:16px;
border:1px solid var(--border);
margin-bottom:24px;
}

.referral-link-box h4{
margin-bottom:12px;
color:var(--text-primary);
}

.referral-link-input{
display:flex;
gap:8px;
}

.referral-link-input input{
flex:1;
background:var(--bg-tertiary);
border:1px solid var(--border);
border-radius:10px;
padding:12px;
color:var(--accent);
font-size:12px;
font-family:'Courier New',monospace;
}

.copy-ref-btn{
background:var(--accent);
color:#000;
border:none;
border-radius:10px;
padding:12px 16px;
font-weight:600;
cursor:pointer;
transition:all .3s;
}

.copy-ref-btn:hover{
background:var(--accent-dark);
transform:scale(1.05);
}

.referral-history{
margin-top:24px;
}

.referral-history h4{
margin-bottom:16px;
color:var(--text-primary);
}

.ref-item{
background:var(--card-bg);
padding:14px;
border-radius:12px;
border-left:3px solid var(--accent);
margin-bottom:10px;
display:flex;
justify-content:space-between;
align-items:center;
}

.ref-item-name{
font-weight:600;
color:var(--text-primary);
}

.ref-item-earnings{
color:var(--accent);
font-weight:700;
}

@media(max-width:600px){
.referral-stats{
grid-template-columns:1fr;
}

.ref-stat{
padding:14px;
}

.ref-value{
font-size:18px;
}
}

@keyframes patchPulse { from { opacity: 0.4; transform: scale(0.9); } to { opacity: 1; transform: scale(1.1); } }
      #transferHistoryList::-webkit-scrollbar { width: 4px; }
      #transferHistoryList::-webkit-scrollbar-track { background: transparent; }
      #transferHistoryList::-webkit-scrollbar-thumb { background: rgba(0, 255, 136, 0.2); border-radius: 10px; }

@keyframes footerPulse { from { opacity: 0.3; transform: scale(0.9); } to { opacity: 1; transform: scale(1.1); } }
