:root {
  --bg:       #050810;
  --bg2:      #080d1a;
  --bg3:      #0d1426;
  --cyan:     #00f5ff;
  --pink:     #ff2d78;
  --yellow:   #ffe600;
  --green:    #00ff9f;
  --purple:   #a855f7;
  --text:     #e2e8f0;
  --muted:    #4a5568;
  --border:   rgba(0,245,255,0.15);
  --glow-c:   rgba(0,245,255,0.4);
  --glow-p:   rgba(255,45,120,0.4);
  --font-hd:  'Orbitron', monospace;
  --font-mono:'Share Tech Mono', monospace;
  --font-body:'Rajdhani', sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-body);
  font-size:16px;
  min-height:100vh;
  overflow-x:hidden;
}

/* ── Scanline overlay ── */
body::before{
  content:'';
  position:fixed;inset:0;
  background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,0.03) 2px,rgba(0,0,0,0.03) 4px);
  pointer-events:none;z-index:9999;
}

/* ── Noise texture ── */
body::after{
  content:'';
  position:fixed;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");
  opacity:0.4;pointer-events:none;z-index:9998;
}

/* ── Grid bg ── */
.grid-bg{
  position:fixed;inset:0;
  background-image:
    linear-gradient(rgba(0,245,255,0.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,245,255,0.03) 1px,transparent 1px);
  background-size:40px 40px;
  pointer-events:none;z-index:0;
}

/* ── Layout ── */
#app{position:relative;z-index:1;min-height:100vh;}

/* ── Navbar ── */
nav{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 24px;
  border-bottom:1px solid var(--border);
  background:rgba(5,8,16,0.9);
  backdrop-filter:blur(10px);
  position:sticky;top:0;z-index:100;
}
.logo{
  font-family:var(--font-hd);
  font-weight:900;font-size:1.1rem;
  letter-spacing:2px;
  background:linear-gradient(90deg,var(--cyan),var(--pink));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  text-shadow:none;
}
.logo span{
  font-size:0.6rem;display:block;
  color:var(--muted);-webkit-text-fill-color:var(--muted);
  letter-spacing:4px;
  font-family:var(--font-mono);
}
.nav-right{display:flex;align-items:center;gap:12px}
.avatar{width:34px;height:34px;border-radius:50%;border:2px solid var(--cyan);object-fit:cover}
.nav-username{font-family:var(--font-mono);font-size:0.8rem;color:var(--cyan)}
.tier-badge{
  font-family:var(--font-hd);font-size:0.55rem;font-weight:700;
  padding:3px 8px;border-radius:3px;letter-spacing:1px;
}
.tier-free  {background:rgba(100,100,100,0.2);color:#888;border:1px solid #444}
.tier-bronze{background:rgba(205,127,50,0.15);color:#cd7f32;border:1px solid rgba(205,127,50,0.4)}
.tier-silver{background:rgba(192,192,192,0.15);color:#c0c0c0;border:1px solid rgba(192,192,192,0.4)}
.tier-gold  {background:rgba(255,215,0,0.15);color:#ffd700;border:1px solid rgba(255,215,0,0.4)}

/* ── Sidebar + content ── */
.layout{display:flex;min-height:calc(100vh - 65px)}
aside{
  width:220px;flex-shrink:0;
  border-right:1px solid var(--border);
  padding:20px 0;
  background:rgba(8,13,26,0.6);
}
.nav-item{
  display:flex;align-items:center;gap:10px;
  padding:11px 20px;
  font-family:var(--font-mono);font-size:0.78rem;
  color:var(--muted);cursor:pointer;
  border-left:3px solid transparent;
  transition:all 0.2s;letter-spacing:1px;
}
.nav-item:hover{color:var(--cyan);background:rgba(0,245,255,0.05);border-left-color:var(--cyan)}
.nav-item.active{color:var(--cyan);background:rgba(0,245,255,0.08);border-left-color:var(--cyan)}
.nav-item .icon{font-size:1rem;width:20px;text-align:center}
.nav-section{
  font-family:var(--font-hd);font-size:0.5rem;font-weight:700;
  color:var(--muted);letter-spacing:3px;
  padding:16px 20px 6px;
}
.nav-divider{height:1px;background:var(--border);margin:8px 16px}

main{flex:1;padding:28px;overflow-y:auto}

/* ── Pages ── */
.page{display:none}
.page.active{display:block}

/* ── Cards ── */
.card{
  background:var(--bg2);
  border:1px solid var(--border);
  border-radius:6px;
  padding:20px;
  margin-bottom:20px;
  position:relative;
  overflow:hidden;
}
.card::before{
  content:'';position:absolute;
  top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--cyan),transparent);
  opacity:0.5;
}
.card-title{
  font-family:var(--font-hd);font-size:0.75rem;font-weight:700;
  color:var(--cyan);letter-spacing:2px;
  margin-bottom:16px;
  display:flex;align-items:center;gap:8px;
}
.card-title::before{content:'▸';color:var(--pink)}

/* ── Stats grid ── */
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:20px}
.stat-card{
  background:var(--bg3);border:1px solid var(--border);border-radius:6px;
  padding:16px;text-align:center;position:relative;overflow:hidden;
}
.stat-card::after{
  content:'';position:absolute;
  bottom:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--cyan),var(--pink));
}
.stat-val{font-family:var(--font-hd);font-size:1.8rem;font-weight:900;color:var(--cyan)}
.stat-val.pink{color:var(--pink)}
.stat-val.yellow{color:var(--yellow)}
.stat-val.green{color:var(--green)}
.stat-label{font-family:var(--font-mono);font-size:0.65rem;color:var(--muted);letter-spacing:2px;margin-top:4px}

/* ── Progress bar ── */
.quota-bar{background:rgba(255,255,255,0.05);border-radius:2px;height:6px;overflow:hidden;margin:8px 0}
.quota-fill{height:100%;border-radius:2px;transition:width 0.5s ease;background:linear-gradient(90deg,var(--cyan),var(--pink))}
.quota-fill.danger{background:linear-gradient(90deg,var(--yellow),var(--pink))}

/* ── Buttons ── */
.btn{
  font-family:var(--font-hd);font-size:0.65rem;font-weight:700;
  letter-spacing:1.5px;padding:10px 18px;border-radius:3px;
  border:none;cursor:pointer;transition:all 0.2s;
  display:inline-flex;align-items:center;gap:6px;
}
.btn-primary{
  background:linear-gradient(135deg,var(--cyan),#0099aa);
  color:#000;
  box-shadow:0 0 20px rgba(0,245,255,0.3);
}
.btn-primary:hover{box-shadow:0 0 30px rgba(0,245,255,0.5);transform:translateY(-1px)}
.btn-primary:disabled{opacity:0.4;cursor:not-allowed;transform:none;box-shadow:none}
.btn-pink{
  background:linear-gradient(135deg,var(--pink),#aa0055);
  color:#fff;
  box-shadow:0 0 20px var(--glow-p);
}
.btn-pink:hover{box-shadow:0 0 30px var(--glow-p);transform:translateY(-1px)}
.btn-ghost{
  background:transparent;color:var(--cyan);
  border:1px solid var(--border);
}
.btn-ghost:hover{border-color:var(--cyan);background:rgba(0,245,255,0.05)}
.btn-sm{padding:6px 12px;font-size:0.6rem}
.btn-danger{background:rgba(255,45,120,0.15);color:var(--pink);border:1px solid rgba(255,45,120,0.3)}
.btn-danger:hover{background:rgba(255,45,120,0.25)}
.btn-success{background:rgba(0,255,159,0.15);color:var(--green);border:1px solid rgba(0,255,159,0.3)}
.btn-success:hover{background:rgba(0,255,159,0.25)}

/* ── Inputs ── */
label{
  display:block;font-family:var(--font-mono);font-size:0.65rem;
  color:var(--muted);letter-spacing:2px;margin-bottom:5px;
}
input,select,textarea{
  width:100%;background:var(--bg3);
  border:1px solid var(--border);border-radius:4px;
  color:var(--text);font-family:var(--font-mono);font-size:0.82rem;
  padding:10px 12px;outline:none;transition:border-color 0.2s;
}
input:focus,select:focus{border-color:var(--cyan);box-shadow:0 0 10px rgba(0,245,255,0.1)}
select option{background:var(--bg3)}
.input-group{margin-bottom:14px}
.row{display:flex;gap:12px}
.row .input-group{flex:1}

/* ── Toggle ── */
.toggle-group{display:flex;background:var(--bg3);border:1px solid var(--border);border-radius:4px;overflow:hidden;margin-bottom:14px}
.toggle-btn{
  flex:1;padding:9px;font-family:var(--font-hd);font-size:0.6rem;
  letter-spacing:1px;border:none;background:transparent;
  color:var(--muted);cursor:pointer;transition:all 0.2s;
}
.toggle-btn.active{background:rgba(0,245,255,0.1);color:var(--cyan)}

/* ── Dropzone ── */
.dropzone{
  border:2px dashed var(--muted);border-radius:6px;
  padding:40px 20px;text-align:center;cursor:pointer;
  transition:all 0.2s;background:var(--bg3);margin-bottom:14px;
}
.dropzone:hover,.dropzone.drag{
  border-color:var(--cyan);
  background:rgba(0,245,255,0.03);
  box-shadow:0 0 20px rgba(0,245,255,0.1) inset;
}
.dropzone .dz-icon{font-size:2.5rem;margin-bottom:10px;display:block}
.dropzone .dz-text{font-family:var(--font-mono);font-size:0.8rem;color:var(--muted)}
.dropzone .dz-sub{font-size:0.65rem;margin-top:4px;color:var(--muted);opacity:0.6}

/* ── File list ── */
.file-item{
  display:flex;align-items:center;gap:8px;padding:7px 10px;
  border-radius:4px;background:rgba(255,255,255,0.02);
  border:1px solid rgba(255,255,255,0.05);font-size:0.78rem;
  transition:all 0.2s;
}
.file-item.uploading{border-color:rgba(0,245,255,0.3);background:rgba(0,245,255,0.03)}
.file-item.success{border-color:rgba(0,255,159,0.3);background:rgba(0,255,159,0.03)}
.file-item.failed{border-color:rgba(255,45,120,0.3);background:rgba(255,45,120,0.03)}
.file-item-name{flex:1;font-family:var(--font-mono);font-size:0.72rem;word-break:break-all}
.file-item-size{font-size:0.65rem;color:var(--muted);flex-shrink:0}
.file-item-assetid{
  font-size:0.65rem;color:var(--cyan);cursor:pointer;
  font-family:var(--font-mono);margin-top:2px;
}
.file-item-assetid:hover{text-decoration:underline}

/* ── Progress ── */
.progress-wrap{margin:14px 0}
.progress-bar{background:rgba(255,255,255,0.05);border-radius:2px;height:4px;overflow:hidden}
.progress-fill{
  height:100%;border-radius:2px;
  background:linear-gradient(90deg,var(--cyan),var(--pink));
  transition:width 0.4s ease;width:0%;
  box-shadow:0 0 10px var(--cyan);
}
.progress-text{font-family:var(--font-mono);font-size:0.7rem;color:var(--muted);margin-top:6px}

/* ── Upload log ── */
.log-list{list-style:none;display:flex;flex-direction:column;gap:6px;max-height:280px;overflow-y:auto}
.log-item{
  display:flex;align-items:flex-start;gap:10px;
  padding:8px 12px;border-radius:4px;
  background:rgba(255,255,255,0.02);
  border-left:3px solid var(--muted);
  font-family:var(--font-mono);font-size:0.72rem;
}
.log-item.success{border-left-color:var(--green)}
.log-item.failed{border-left-color:var(--pink)}
.log-item.processing{border-left-color:var(--cyan)}
.log-name{color:var(--text)}
.log-detail{color:var(--muted);font-size:0.65rem;margin-top:2px}
.asset-id{color:var(--cyan);cursor:pointer}
.asset-id:hover{text-decoration:underline}

/* ── Tables ── */
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:0.75rem}
th{
  text-align:left;padding:10px 12px;
  font-family:var(--font-hd);font-size:0.55rem;font-weight:700;
  color:var(--muted);letter-spacing:2px;
  border-bottom:1px solid var(--border);
}
td{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,0.03);vertical-align:middle}
tr:hover td{background:rgba(0,245,255,0.02)}

/* ── Status badges ── */
.badge{
  display:inline-block;padding:2px 8px;border-radius:3px;
  font-family:var(--font-hd);font-size:0.5rem;font-weight:700;letter-spacing:1px;
}
.badge-pending{background:rgba(255,230,0,0.1);color:var(--yellow);border:1px solid rgba(255,230,0,0.3)}
.badge-approved,.badge-success{background:rgba(0,255,159,0.1);color:var(--green);border:1px solid rgba(0,255,159,0.3)}
.badge-rejected,.badge-failed{background:rgba(255,45,120,0.1);color:var(--pink);border:1px solid rgba(255,45,120,0.3)}

/* ── Range slider ── */
.slider-wrap{margin-bottom:14px}
.slider-label{display:flex;justify-content:space-between;margin-bottom:6px}
.slider-val{font-family:var(--font-hd);font-size:0.7rem;color:var(--cyan)}
input[type=range]{
  -webkit-appearance:none;height:4px;padding:0;
  background:linear-gradient(90deg,var(--cyan) 0%,var(--cyan) var(--val,50%),rgba(255,255,255,0.1) var(--val,50%));
  border:none;border-radius:2px;
}
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;width:14px;height:14px;
  border-radius:50%;background:var(--cyan);cursor:pointer;
  box-shadow:0 0 8px var(--cyan);
}

/* ── Toggle switch ── */
.switch-wrap{display:flex;align-items:center;justify-content:space-between;padding:10px 0}
.switch{position:relative;width:40px;height:20px;flex-shrink:0}
.switch input{opacity:0;width:0;height:0}
.switch-slider{
  position:absolute;inset:0;cursor:pointer;
  background:rgba(255,255,255,0.1);border-radius:20px;
  transition:0.3s;border:1px solid var(--border);
}
.switch-slider::before{
  content:'';position:absolute;
  width:14px;height:14px;left:2px;bottom:2px;
  background:var(--muted);border-radius:50%;transition:0.3s;
}
input:checked+.switch-slider{background:rgba(0,245,255,0.2);border-color:var(--cyan)}
input:checked+.switch-slider::before{transform:translateX(20px);background:var(--cyan)}
.switch-label{font-family:var(--font-mono);font-size:0.75rem;color:var(--text)}

/* ── Toast ── */
#toast{
  position:fixed;bottom:24px;right:24px;z-index:9999;
  font-family:var(--font-mono);font-size:0.78rem;
  padding:12px 18px;border-radius:4px;
  background:var(--bg2);border:1px solid var(--cyan);
  color:var(--cyan);
  opacity:0;transform:translateY(10px);
  transition:all 0.3s;pointer-events:none;
  box-shadow:0 0 20px rgba(0,245,255,0.2);
}
#toast.show{opacity:1;transform:translateY(0)}

/* ── Login screen ── */
#loginScreen{
  position:fixed;inset:0;
  background:linear-gradient(135deg, #0a0e1a 0%, #0f1426 50%, #0a1220 100%);
  display:flex;align-items:center;justify-content:center;
  padding:24px;
  overflow:auto;
  z-index:1000;
}
#loginScreen::before{
  content:'';position:fixed;inset:0;background:radial-gradient(circle at 20% 50%, rgba(0,255,159,0.06) 0%, transparent 50%), radial-gradient(circle at 80% 80%, rgba(79,70,229,0.06) 0%, transparent 50%);
  pointer-events:none;z-index:0;
}
.login-screen{
  display:grid;grid-template-columns:1.8fr 1fr;
  gap:28px;max-width:1280px;width:100%;align-items:center;position:relative;z-index:1;
}
.landing-panel{
  display:flex;flex-direction:column;
  gap:28px;padding:0;position:relative;
}
.landing-panel::before{
  content:'';position:absolute;top:-120px;left:-120px;width:300px;height:300px;background:radial-gradient(circle, rgba(0,255,159,0.15) 0%, transparent 70%);border-radius:50%;filter:blur(40px);z-index:-1;
}
.landing-panel::after{
  content:'';position:absolute;bottom:-80px;right:-80px;width:250px;height:250px;background:radial-gradient(circle, rgba(79,70,229,0.12) 0%, transparent 70%);border-radius:50%;filter:blur(40px);z-index:-1;
}
.hero-top{display:flex;flex-direction:column;gap:24px;}
.hero-badge{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border-radius:999px;background:rgba(0,255,159,0.15);color:var(--green);font-family:var(--font-mono);font-size:0.78rem;letter-spacing:1.2px;text-transform:uppercase;width:fit-content;border:1px solid rgba(0,255,159,0.25);animation:float 3s ease-in-out infinite;}
.hero-title{font-family:var(--font-hd);font-size:4.2rem;line-height:1;color:#fff;max-width:740px;letter-spacing:-1px;background:linear-gradient(135deg, #fff 0%, rgba(255,255,255,0.9) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.hero-text{font-family:var(--font-mono);font-size:1.1rem;color:rgba(255,255,255,0.72);line-height:1.7;max-width:680px;}
.hero-actions{display:flex;flex-wrap:wrap;gap:18px;margin-top:12px;}
.hero-actions .discord-btn{min-width:200px;padding:14px 32px;font-size:0.9rem;}
.hero-actions .secondary-btn{min-width:200px;}
.secondary-btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 32px;border-radius:999px;border:2px solid rgba(255,255,255,0.2);background:transparent;color:#fff;text-decoration:none;font-family:var(--font-hd);font-size:0.9rem;letter-spacing:0.8px;transition:all 0.3s;font-weight:700;position:relative;overflow:hidden;}
.secondary-btn::before{
  content:'';position:absolute;inset:0;background:rgba(0,245,255,0.08);transform:translateX(-100%);transition:transform 0.3s;z-index:-1;
}
.secondary-btn:hover{border-color:var(--cyan);background:rgba(0,245,255,0.08);transform:translateY(-2px);}
.secondary-btn:hover::before{transform:translateX(0);}
.landing-pills{display:none;}
.landing-pill{font-family:var(--font-mono);font-size:0.78rem;padding:10px 14px;border-radius:999px;border:1px solid rgba(255,255,255,0.08);color:rgba(255,255,255,0.78);background:rgba(255,255,255,0.03);}
.panel-grid{display:none;}
.hero-panel{display:none;}
.stats-grid-landing{display:none;}
.stats-card{display:none;}
.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px;}
.feature-card{background:rgba(255,255,255,0.03);border:2px solid rgba(255,255,255,0.1);border-radius:20px;padding:28px;position:relative;overflow:hidden;transition:all 0.3s;}
.feature-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg, var(--green), var(--cyan), transparent);transform:scaleX(0);transform-origin:left;transition:transform 0.3s;
}
.feature-card:hover{border-color:var(--cyan);background:rgba(0,245,255,0.06);transform:translateY(-4px);box-shadow:0 20px 50px rgba(0,245,255,0.1);}
.feature-card:hover::before{transform:scaleX(1);}
.feature-card h4{font-family:var(--font-hd);font-size:1.2rem;color:#fff;margin-bottom:12px;}
.feature-card p{font-family:var(--font-mono);font-size:0.95rem;color:rgba(255,255,255,0.76);line-height:1.7;}
.demo-panel{display:none;}
.demo-card{display:none;}
.login-box{
  position:sticky;top:24px;text-align:center;padding:46px 38px;
  background:linear-gradient(135deg, rgba(10,20,40,0.98) 0%, rgba(15,20,40,0.96) 100%);
  border:2px solid rgba(255,255,255,0.12);border-radius:28px;
  max-width:100%;width:100%;box-shadow:0 40px 120px rgba(0,0,0,0.4), 0 0 80px rgba(79,70,229,0.12);
}
.login-box::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--pink),var(--cyan),var(--pink));animation:shimmer 2s ease-in-out infinite;}
@keyframes shimmer{0%,100%{box-shadow:0 0 0 rgba(79,70,229,0.3);} 50%{box-shadow:0 0 20px rgba(79,70,229,0.5);}}
@keyframes float{0%,100%{transform:translateY(0px);} 50%{transform:translateY(-8px);}}
.login-title{font-family:var(--font-hd);font-weight:900;font-size:3rem;letter-spacing:-1px;margin-bottom:10px;color:#fff;background:linear-gradient(135deg, #fff 0%, rgba(0,255,159,0.8) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.login-sub{font-family:var(--font-mono);font-size:0.82rem;color:rgba(255,255,255,0.68);letter-spacing:1px;margin-bottom:16px;text-transform:uppercase;}
.login-copy{font-family:var(--font-mono);font-size:0.98rem;color:rgba(255,255,255,0.72);line-height:1.8;margin-bottom:32px;}
.discord-btn{display:inline-flex;align-items:center;gap:10px;background:linear-gradient(135deg,#0062ff,#4f46e5);color:#fff;padding:14px 32px;border-radius:999px;text-decoration:none;font-family:var(--font-hd);font-size:0.9rem;font-weight:800;letter-spacing:1.2px;transition:all 0.3s;box-shadow:0 24px 60px rgba(0,98,255,0.24);position:relative;overflow:hidden;}
.discord-btn::before{
  content:'';position:absolute;inset:0;background:linear-gradient(135deg, rgba(255,255,255,0.1), transparent);transform:translateX(-100%);transition:transform 0.3s;
}
.discord-btn:hover{box-shadow:0 0 40px rgba(0,98,255,0.35);transform:translateY(-2px);}
.discord-btn:hover::before{transform:translateX(100%);}
.login-action{width:100%;justify-content:center;}
.login-deco{font-family:var(--font-mono);font-size:0.78rem;color:rgba(255,255,255,0.62);margin-top:24px;letter-spacing:0.7px;}
.step-list{display:grid;gap:14px;margin-top:28px;}
.step-item{display:flex;gap:16px;align-items:flex-start;padding:20px;border:2px solid rgba(255,255,255,0.08);border-radius:16px;background:rgba(255,255,255,0.02);transition:all 0.3s;position:relative;overflow:hidden;}
.step-item::before{
  content:'';position:absolute;inset:0;background:linear-gradient(135deg, rgba(0,255,159,0.05), transparent);transform:translateX(-100%);transition:transform 0.3s;z-index:-1;
}
.step-item:hover{border-color:rgba(0,255,159,0.4);background:rgba(0,255,159,0.05);transform:translateX(4px);}
.step-item:hover::before{transform:translateX(0);}
.step-number{min-width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg, rgba(0,255,159,0.2), rgba(0,255,159,0.1));color:var(--green);font-weight:900;font-family:var(--font-hd);font-size:1.1rem;flex-shrink:0;border:2px solid rgba(0,255,159,0.3);}
.step-meta{font-family:var(--font-mono);color:rgba(255,255,255,0.78);font-size:0.95rem;line-height:1.6;}
@media(max-width:1000px){
  .login-screen{grid-template-columns:1fr;}
  .login-box{position:relative;top:0;}
  .hero-title{font-size:3.6rem;}
  .feature-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:700px){
  .hero-title{font-size:2.8rem;}
  .feature-grid{grid-template-columns:1fr;}
  .hero-actions{flex-direction:column;}
}
@media(max-width:560px){
  #loginScreen{padding:16px;}
  .login-box,.landing-panel{border-radius:20px;}
  .hero-title{font-size:2.4rem;}
  .login-title{font-size:2.4rem;}
  .feature-card{padding:20px;}
}


/* ── Pricing cards ── */
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}
.price-card{
  background:var(--bg3);border:1px solid var(--border);
  border-radius:6px;padding:20px;text-align:center;
  transition:all 0.2s;cursor:pointer;position:relative;
}
.price-card:hover{border-color:var(--cyan);box-shadow:0 0 20px rgba(0,245,255,0.1)}
.price-card.current{border-color:var(--cyan);box-shadow:0 0 20px rgba(0,245,255,0.15)}
.price-card.current::after{
  content:'AKTIF';position:absolute;top:8px;right:8px;
  font-family:var(--font-hd);font-size:0.45rem;font-weight:700;
  color:var(--cyan);letter-spacing:1px;
}
.price-name{font-family:var(--font-hd);font-size:0.8rem;font-weight:700;margin-bottom:8px}
.price-limit{font-family:var(--font-mono);font-size:0.7rem;color:var(--muted);margin-bottom:12px}
.price-amount{font-family:var(--font-hd);font-size:1.2rem;font-weight:900;margin-bottom:14px}

/* ── Orb animations ── */
@keyframes orb1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(30px,-40px) scale(1.1)}}
@keyframes orb2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-40px,30px) scale(0.9)}}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.5;transform:scale(1.4)}}
@keyframes countUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.stat-val{animation:countUp 0.6s ease forwards}
.stat-card:hover{transform:translateY(-3px);box-shadow:0 8px 30px rgba(0,245,255,0.1);transition:all 0.3s}

/* ── Glitch anim ── */
@keyframes glitch{
  0%,100%{text-shadow:2px 0 var(--pink),-2px 0 var(--cyan)}
  25%{text-shadow:-2px 0 var(--pink),2px 0 var(--cyan)}
  50%{text-shadow:2px 2px var(--pink),-2px -2px var(--cyan)}
  75%{text-shadow:-2px 2px var(--pink),2px -2px var(--cyan)}
}
.glitch{animation:glitch 4s infinite}

/* ── Scrollbar ── */
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}
::-webkit-scrollbar-thumb:hover{background:var(--cyan)}

/* ── Mobile ── */
/* ── Hamburger button ── */
.hamburger{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  width:36px;height:36px;padding:6px;cursor:pointer;
  background:transparent;border:1px solid var(--border);border-radius:4px;
  flex-shrink:0;
}
.hamburger span{
  display:block;height:2px;background:var(--cyan);border-radius:2px;
  transition:all 0.3s;
}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ── Sidebar overlay mobile ── */
.sidebar-overlay{
  display:none;position:fixed;inset:0;
  background:rgba(0,0,0,0.6);z-index:199;
}
.sidebar-overlay.visible{display:block}

@media(max-width:700px){
  .hamburger{display:flex}
  aside{
    display:block;
    position:fixed;left:-240px;top:0;bottom:0;
    width:220px;z-index:200;
    transition:left 0.3s ease;
    padding-top:60px;
    background:rgba(5,8,16,0.98);
  }
  aside.open{left:0}
  .stats-grid{grid-template-columns:1fr 1fr}
  .pricing-grid{grid-template-columns:1fr}
  nav{padding:12px 16px}
  main{padding:16px}
  .logo{font-size:0.9rem}
}

/* ════════════════════════════════════════════════════════════
   RESPONSIVE — ALL DEVICES
   ════════════════════════════════════════════════════════════ */

/* ── Large Desktop (1400px+) ── */
@media(min-width:1400px){
  .login-screen{max-width:1400px}
  .hero-title{font-size:5rem}
  main{padding:36px}
}

/* ── Desktop (1001px - 1399px) ── */
@media(max-width:1399px) and (min-width:1001px){
  .hero-title{font-size:3.8rem}
}

/* ── Tablet Landscape (768px - 1000px) ── */
@media(max-width:1000px){
  .login-screen{grid-template-columns:1fr;gap:20px;padding:20px 0}
  .login-box{position:relative;top:0;max-width:500px;margin:0 auto}
  .hero-title{font-size:3.2rem}
  .feature-grid{grid-template-columns:repeat(2,1fr);gap:16px}
  aside{width:200px}
  main{padding:20px}
  .stats-grid{grid-template-columns:repeat(3,1fr)}
}

/* ── Tablet Portrait (600px - 767px) ── */
@media(max-width:767px){
  .hero-title{font-size:2.6rem}
  .feature-grid{grid-template-columns:1fr}
  .hero-actions{flex-direction:column;align-items:stretch}
  .hero-actions .discord-btn,
  .hero-actions .secondary-btn{min-width:unset;width:100%;justify-content:center}
  .stats-grid{grid-template-columns:repeat(2,1fr)!important}
  .row{flex-direction:column;gap:0}
}

/* ── Mobile (max 699px) ── */
@media(max-width:699px){
  /* Hamburger */
  .hamburger{display:flex}

  /* Sidebar slide-in */
  aside{
    display:block;
    position:fixed;left:-240px;top:0;bottom:0;
    width:220px;z-index:200;
    transition:left 0.3s ease;
    padding-top:60px;
    background:rgba(5,8,16,0.98);
    border-right:1px solid var(--border);
  }
  aside.open{left:0;box-shadow:4px 0 30px rgba(0,0,0,0.5)}

  /* Navbar */
  nav{padding:12px 16px}
  .logo{font-size:0.85rem}
  .nav-username{display:none}
  .nav-right{gap:8px}

  /* Main content */
  main{padding:14px}

  /* Stats */
  .stats-grid{grid-template-columns:1fr 1fr!important;gap:10px}
  .stat-val{font-size:1.6rem!important}
  .stat-label{font-size:0.55rem}
  .stat-card{padding:12px}

  /* Cards */
  .card{padding:14px;margin-bottom:14px}
  .card-title{font-size:0.68rem}

  /* Dashboard grid 2 col → 1 col */
  #page-dashboard [style*="grid-template-columns:1fr 1fr"]{
    display:flex!important;flex-direction:column!important;gap:14px!important
  }

  /* Quick actions grid */
  #page-dashboard [style*="grid-template-columns:repeat(auto-fit"]{
    grid-template-columns:1fr 1fr!important
  }

  /* Tables */
  table{font-size:0.68rem}
  th,td{padding:7px 8px}
  th{font-size:0.5rem}

  /* Pricing grid */
  .pricing-grid{grid-template-columns:1fr 1fr!important}
  .price-card{padding:14px}

  /* Dropzone */
  .dropzone{padding:28px 14px}
  .dropzone .dz-icon{font-size:2rem}

  /* Buttons */
  .btn{font-size:0.6rem;padding:9px 14px}
  .btn-sm{padding:5px 10px;font-size:0.55rem}

  /* Slider */
  .slider-wrap{margin-bottom:10px}

  /* Toast */
  #toast{bottom:16px;right:16px;left:16px;text-align:center;font-size:0.72rem}

  /* Login screen */
  #loginScreen{padding:14px;align-items:flex-start;overflow-y:auto}
  .login-screen{padding:0}
  .hero-title{font-size:2.2rem;line-height:1.1}
  .login-box{padding:24px 20px;border-radius:16px;max-width:100%}
  .login-title-main{font-size:1.8rem!important}
  .feature-card{padding:16px}
  .feature-card h4{font-size:1rem}
  .feature-card p{font-size:0.82rem}
  .step-item{padding:14px}
  .step-meta{font-size:0.82rem}

  /* Admin table scroll hint */
  .table-wrap{
    position:relative;
    -webkit-overflow-scrolling:touch;
  }
  .table-wrap::after{
    content:'← scroll →';
    position:absolute;bottom:-18px;left:50%;transform:translateX(-50%);
    font-family:var(--font-mono);font-size:0.6rem;color:var(--muted);
    white-space:nowrap;
  }
}

/* ── Small Mobile (max 400px) ── */
@media(max-width:400px){
  .hero-title{font-size:1.8rem}
  .stats-grid{grid-template-columns:1fr!important}
  .pricing-grid{grid-template-columns:1fr!important}
  nav{padding:10px 12px}
  .logo{font-size:0.75rem}
  .avatar{width:28px;height:28px}
  main{padding:10px}
  .card{padding:12px}
  .stat-val{font-size:1.4rem!important}
  .btn{font-size:0.55rem;padding:8px 12px}
  .login-box{padding:20px 16px}
  .hero-badge{font-size:0.65rem;padding:7px 12px}
  .discord-btn{padding:12px 20px;font-size:0.75rem}
}

/* ── Touch device optimizations ── */
@media(hover:none){
  .btn:hover{transform:none}
  .feature-card:hover{transform:none}
  .stat-card:hover{transform:none}
  .btn:active{opacity:0.8;transform:scale(0.97)}
  .feature-card:active{opacity:0.9}

  /* Bigger touch targets */
  .nav-item{padding:14px 20px;min-height:48px}
  input,select{min-height:44px}
  .toggle-btn{min-height:44px}
}

/* ── Landscape mobile fix ── */
@media(max-width:699px) and (orientation:landscape){
  #loginScreen{align-items:flex-start;padding:10px}
  .login-screen{gap:16px}
  .hero-title{font-size:1.8rem}
  .feature-grid{grid-template-columns:repeat(3,1fr)!important}
  main{padding:10px}
}
