@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500&display=swap');

:root {
  --bg: #000000;
  --sidebar: #080808;
  --surface: #101010;
  --elevated: #161616;
  --border: rgba(255, 255, 255, 0.08);
  --border-subtle: rgba(255, 255, 255, 0.04);
  --text: #FFFFFF;
  --text-2: #A1A1AA;
  --text-3: #71717A;
  --accent: #DC2626; /* Solid Matte Spider Crimson Red - NO NEON */
  --accent-h: #B91C1C; /* Darker Deep Crimson */
  --accent-dim: rgba(220, 38, 38, 0.12);
  --green: #10B981;
  --green-dim: rgba(16, 185, 129, 0.1);
  --red: #EF4444;
  --red-dim: rgba(239, 68, 68, 0.1);
  --shadow: 0 4px 16px rgba(0, 0, 0, 0.6);
  --shadow-lg: 0 12px 36px rgba(0, 0, 0, 0.8);
  --shadow-xl: 0 24px 64px rgba(0, 0, 0, 0.95);
  --sw: 210px;
  --r: 16px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
::selection{background:rgba(220, 38, 38, 0.3);color:var(--text)}

body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  background:var(--bg);color:var(--text);
  min-height:100vh;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}

/* ===== SHELL ===== */
.app{display:flex;min-height:100vh}

/* ===== SIDEBAR (OLED MATTE) ===== */
.sidebar{
  width:var(--sw);position:fixed;top:0;left:0;bottom:0;z-index:200;
  background:var(--sidebar);
  border-right:1px solid var(--border);
  display:flex;flex-direction:column;transition:transform .25s;
}
.s-brand{padding:28px 24px 32px}
.s-brand h2{font-size:.85rem;font-weight:700;letter-spacing:-.2px;color:#FFFFFF;display:flex;align-items:center;gap:8px}
.s-brand h2 i{color:var(--accent);font-size:.9rem}
.s-brand span{font-size:.55rem;color:var(--text-3);font-weight:600;text-transform:uppercase;letter-spacing:1.5px;display:block;margin-top:4px}

.s-nav{flex:1;padding:0 10px;display:flex;flex-direction:column;gap:2px}
.s-label{font-size:.52rem;font-weight:700;color:var(--text-3);text-transform:uppercase;letter-spacing:1.5px;padding:24px 14px 8px}
.s-nav a{
  display:flex;align-items:center;gap:10px;
  padding:10px 14px;border-radius:10px;
  color:var(--text-2);font-size:.76rem;font-weight:500;
  text-decoration:none;cursor:pointer;transition:all .15s ease;
  position:relative;
}
.s-nav a i{width:16px;text-align:center;font-size:.78rem;opacity:.7;transition:color .15s}
.s-nav a:hover{color:#FFFFFF;background:rgba(255,255,255,.05)}
.s-nav a:hover i{opacity:1;color:#FFFFFF}
.s-nav a.active{
  color:#FFFFFF;
  background:rgba(220, 38, 38, 0.08);
  font-weight:600;
}
.s-nav a.active i{opacity:1;color:var(--accent)}
.s-nav a.active::before{
  content:'';position:absolute;left:0;top:8px;bottom:8px;width:3px;
  border-radius:0 3px 3px 0;background:var(--accent);
}
.s-foot{padding:20px 24px;font-size:.62rem;color:var(--text-3);display:flex;align-items:center;gap:8px;border-top:1px solid var(--border-subtle)}
.s-foot .dot{width:6px;height:6px;border-radius:50%;background:var(--green)}

.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:199;opacity:0;transition:opacity .25s}
.sidebar-overlay.visible{display:block;opacity:1}
.sidebar-toggle{display:none;width:32px;height:32px;border-radius:8px;background:var(--surface);border:1px solid var(--border);color:var(--text-2);font-size:.82rem;cursor:pointer;align-items:center;justify-content:center}

/* ===== MAIN ===== */
.main{flex:1;margin-left:var(--sw);display:flex;flex-direction:column;min-height:100vh}

/* ===== TOPBAR ===== */
.topbar{
  height:48px;padding:0 40px;display:flex;align-items:center;justify-content:space-between;
  position:sticky;top:0;z-index:100;
  background:rgba(0,0,0,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border-subtle);
}
.topbar-l{display:flex;align-items:center;gap:12px}
.topbar-t{font-size:.72rem;font-weight:600;color:var(--text-3);letter-spacing:.3px}
.topbar-r{display:flex;gap:10px;align-items:center}
.dot-status{display:flex;align-items:center;gap:6px;font-size:.62rem;color:var(--text-2);font-weight:500;padding:4px 10px;background:var(--surface);border:1px solid var(--border);border-radius:8px}
.dot-status .d{width:6px;height:6px;border-radius:50%;background:var(--green)}
.dot-status .d.w{background:var(--accent)}
.dot-status .d.o{background:var(--text-3)}

/* ===== CONTENT ===== */
.content{flex:1;overflow-y:auto}
.page{display:none;animation:up .35s ease}
.page.active{display:block}
@keyframes up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* ===== HERO (OLED BLACK EDITION) ===== */
.hero{position:relative;padding:60px 60px 40px;min-height:calc(100vh - 48px);display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:#000000}
.hero-glow{position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(220,38,38,.12) 0%,transparent 70%);filter:blur(100px);top:-150px;right:-50px;pointer-events:none}
.hero-glow-2{position:absolute;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(220,38,38,.06) 0%,transparent 70%);filter:blur(80px);bottom:-80px;left:10%;pointer-events:none}
.hero-line{position:absolute;top:30%;right:12%;width:1px;height:140px;background:linear-gradient(to bottom,transparent,rgba(220,38,38,.2),transparent);pointer-events:none}

.hero-tag{display:inline-flex;align-items:center;gap:8px;font-size:.65rem;font-weight:600;color:var(--accent);background:var(--accent-dim);border:1px solid rgba(220,38,38,.25);padding:6px 14px;border-radius:20px;margin-bottom:28px;letter-spacing:.5px}
.hero-tag .d{width:6px;height:6px;border-radius:50%;background:var(--accent)}

.hero-content-wrapper{display:flex;align-items:center;justify-content:space-between;gap:30px;width:100%;min-height:calc(100vh - 180px);position:relative;z-index:2}
.hero-left{flex:1;max-width:540px}
.hero-right{flex:1.3;display:flex;justify-content:center;align-items:center;perspective:1200px;height:100%}

.hero h1{font-size:clamp(3rem,6vw,5.2rem);font-weight:900;letter-spacing:-3px;line-height:1.02;margin-bottom:24px;color:#FFFFFF}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero p{font-size:1.05rem;line-height:1.8;color:var(--text-2);max-width:440px;margin-bottom:40px}
.hero-acts{display:flex;gap:14px;align-items:center}

/* ===== HERO ART STAGE (FULL SCREEN SPIDER-MAN) ===== */
.hero-art-stage{
  position:relative;width:100%;max-width:680px;height:680px;
  display:flex;align-items:center;justify-content:center;
  perspective:1200px;transform-style:preserve-3d;
}
.hero-bg-text{
  position:absolute;font-size:clamp(12rem,18vw,20rem);font-weight:900;letter-spacing:-8px;
  color:transparent;-webkit-text-stroke:2px rgba(220,38,38,.16);
  user-select:none;pointer-events:none;z-index:1;
  transform:translateZ(-50px);will-change:transform;
}
.hero-glow-back{
  position:absolute;width:560px;height:560px;border-radius:50%;
  background:radial-gradient(circle,rgba(220,38,38,.35) 0%,rgba(153,27,27,.15) 50%,transparent 70%);
  filter:blur(80px);z-index:1;pointer-events:none;
}

.hero-spiderman-img{
  position:relative;width:auto;height:100%;max-height:680px;object-fit:contain;
  z-index:2;filter:drop-shadow(0 30px 45px rgba(0,0,0,.95)) drop-shadow(0 0 35px rgba(220,38,38,.3));
  transform-style:preserve-3d;
  will-change:transform, filter;
}

.hero-floating-badge{
  position:absolute;display:flex;align-items:center;gap:12px;padding:12px 22px;
  background:rgba(16,16,16,.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border:1px solid rgba(220,38,38,.3);border-radius:18px;box-shadow:0 18px 40px rgba(0,0,0,.8);
  z-index:3;pointer-events:none;transform-style:preserve-3d;will-change:transform;
}
.badge-top{top:40px;right:-10px}
.badge-bot{bottom:50px;left:-20px}
.badge-icon{font-size:1.3rem}
.badge-info{display:flex;flex-direction:column}
.badge-title{font-size:.82rem;font-weight:700;color:#FFFFFF}
.badge-sub{font-size:.68rem;color:var(--text-3);font-weight:500}

/* ===== CONTEXT STRIP ===== */
.ctx{display:flex;padding:56px 60px;gap:64px;border-top:1px solid var(--border-subtle);background:#000000}
.ctx-item{display:flex;flex-direction:column}
.ctx-val{font-size:1.5rem;font-weight:800;letter-spacing:-.5px;margin-bottom:4px;color:#FFFFFF}
.ctx-lbl{font-size:.68rem;color:var(--text-2);font-weight:600}
.ctx-desc{font-size:.62rem;color:var(--text-3);margin-top:2px}

/* ===== SECTION ===== */
.sec{padding:56px 60px}
.sec-head{margin-bottom:40px}
.sec-head h1{font-size:1.8rem;font-weight:800;letter-spacing:-.8px;margin-bottom:6px;color:#FFFFFF}
.sec-head p{color:var(--text-3);font-size:.85rem;max-width:400px}

/* ===== SURFACE ===== */
.surf{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:28px;box-shadow:var(--shadow);transition:box-shadow .2s}
.surf:hover{box-shadow:var(--shadow-lg);border-color:rgba(255,255,255,.12)}
.surf-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.surf-t{font-size:.8rem;font-weight:600;display:flex;align-items:center;gap:10px;color:#FFFFFF}
.surf-badge{font-size:.58rem;font-weight:600;padding:4px 12px;border-radius:20px;background:var(--elevated);border:1px solid var(--border);color:var(--text-2)}

/* ===== CAMPAIGN WORKSPACE (2-COLUMN) ===== */
.campaign-workspace{
  display:grid;grid-template-columns:1.25fr 1fr;gap:28px;align-items:start;
}
.campaign-left{display:flex;flex-direction:column;gap:20px}
.campaign-right{display:flex;flex-direction:column}

/* ===== PHONE PREVIEW ===== */
.phone{
  width:100%;max-width:360px;background:#050505;border:1px solid var(--border);border-radius:28px;
  box-shadow:var(--shadow-xl);overflow:hidden;margin:0 auto;
}
.phone-bar{padding:14px 20px 10px;display:flex;align-items:center;gap:8px;font-size:.7rem;color:#8696A0;font-weight:500;background:#0A0A0A;border-bottom:1px solid rgba(255,255,255,.05)}
.phone-bar i{font-size:.75rem}
.phone-body{padding:14px 16px 22px;min-height:300px;max-height:480px;overflow-y:auto;background:#050505}
.phone-body::-webkit-scrollbar{width:3px}
.phone-body::-webkit-scrollbar-thumb{background:rgba(255,255,255,.06);border-radius:3px}
.bubble{
  background:#0F3325;border-radius:10px 10px 2px 10px;
  padding:12px 14px;font-size:.8rem;line-height:1.7;
  color:#E9EDEF;white-space:pre-wrap;font-family:'Inter',sans-serif;
  max-width:96%;border:1px solid rgba(16,185,129,.2);
}
.bubble-time{text-align:right;font-size:.58rem;color:#8696A0;margin-top:4px}

/* ===== AUDIENCE CARDS ===== */
.aud-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.aud-card{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:20px 22px;
  box-shadow:var(--shadow);cursor:pointer;transition:all .15s;
  display:flex;align-items:center;justify-content:space-between;
}
.aud-card:hover{box-shadow:var(--shadow-lg);background:var(--elevated);border-color:rgba(255,255,255,.15)}
.aud-card:has(input:checked){background:var(--accent-dim);border-color:var(--accent)}
.aud-card-info{display:flex;align-items:center;gap:12px}
.aud-card-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:.85rem}
.aud-card-icon.wa{background:var(--green-dim);color:var(--green)}
.aud-card-icon.tg{background:var(--accent-dim);color:var(--accent)}
.aud-card-name{font-size:.78rem;font-weight:600;margin-bottom:1px;color:#FFFFFF}
.aud-card-sub{font-size:.62rem;color:var(--text-3);font-weight:500}
.aud-card input[type="checkbox"]{accent-color:var(--accent);width:15px;height:15px;cursor:pointer}

.aud-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.aud-title{font-size:.82rem;font-weight:600;color:#FFFFFF}
.aud-acts{display:flex;gap:6px}

.aud-summary{display:flex;gap:48px;margin-bottom:32px}
.aud-stat-val{font-size:1.4rem;font-weight:800;letter-spacing:-.5px;color:#FFFFFF}
.aud-stat-lbl{font-size:.62rem;color:var(--text-3);font-weight:600;text-transform:uppercase;letter-spacing:.5px}

/* ===== PRODUCT CARDS ===== */
.prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.prod-card{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:24px;
  box-shadow:var(--shadow);transition:all .15s;
}
.prod-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);border-color:rgba(255,255,255,.15)}
.prod-name{font-size:.82rem;font-weight:600;margin-bottom:12px;line-height:1.3;color:#FFFFFF}
.prod-meta{display:flex;align-items:center;gap:8px}
.prod-tag{font-size:.58rem;font-weight:600;padding:3px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.3px}
.prod-tag.ok{background:var(--green-dim);color:var(--green)}
.prod-tag.out{background:var(--red-dim);color:var(--red)}
.prod-stock{font-size:.65rem;color:var(--text-3)}

/* ===== TIMELINE ===== */
.tl{position:relative;padding-left:24px}
.tl::before{content:'';position:absolute;left:6px;top:10px;bottom:10px;width:1px;background:rgba(255,255,255,.06)}
.terminal-box{background:transparent;border:none;padding:0;max-height:500px;overflow-y:auto}
.log-entry{position:relative;padding:10px 0 10px 16px;font-size:.78rem;color:var(--text-2);line-height:1.7;font-family:'Inter',sans-serif}
.log-entry::before{content:'';position:absolute;left:-19px;top:16px;width:7px;height:7px;border-radius:50%;background:var(--elevated);box-shadow:0 0 0 2px var(--bg)}
.log-time{color:var(--text-3);font-size:.65rem;margin-right:10px;font-family:'JetBrains Mono',monospace}

.log-tab-btn{padding:6px 14px;font-size:.65rem;border-radius:20px;background:transparent;border:1px solid var(--border);color:var(--text-3);cursor:pointer;font-weight:500;font-family:inherit;transition:all .12s}
.log-tab-btn:hover{color:var(--text-2);background:rgba(255,255,255,.05)}
.log-tab-btn.active-log-tab{background:var(--accent-dim);border-color:var(--accent);color:var(--accent);font-weight:600}

/* ===== BUTTONS (SOLID MATTE - NO NEON) ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 22px;border-radius:12px;font-weight:600;font-size:.78rem;cursor:pointer;border:none;font-family:inherit;transition:all .15s;white-space:nowrap}
.btn-accent{background:var(--accent);color:#FFFFFF}
.btn-accent:hover{background:var(--accent-h);transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--text-2);border:1px solid var(--border)}
.btn-ghost:hover{color:#FFFFFF;background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.15)}
.btn-soft{background:var(--surface);border:1px solid var(--border);color:var(--text-2);box-shadow:var(--shadow)}
.btn-soft:hover{color:#FFFFFF;box-shadow:var(--shadow-lg);border-color:rgba(255,255,255,.15)}
.btn-green{background:var(--green);color:#FFFFFF}
.btn-green:hover{opacity:.9;transform:translateY(-1px)}
.btn-lg{padding:14px 32px;font-size:.85rem;border-radius:14px}
.btn-sm{padding:6px 14px;font-size:.68rem;border-radius:8px}
.btn-full{width:100%}

/* ===== FORMS ===== */
.fg{margin-bottom:18px}
.fl{display:block;font-size:.68rem;font-weight:500;margin-bottom:8px;color:var(--text-2)}
.fi{width:100%;padding:12px 16px;background:var(--elevated);border:1px solid var(--border);border-radius:12px;color:var(--text);font-family:inherit;font-size:.8rem;transition:border-color .15s}
.fi:focus{outline:none;border-color:var(--accent)}
.fi::placeholder{color:var(--text-3)}
.fi-hint{font-size:.6rem;color:var(--text-3);margin-top:5px}
.fi-hint.warn{color:var(--accent)}
.conn-box{text-align:center;padding:28px;background:var(--elevated);border:1px solid var(--border);border-radius:var(--r)}

/* ===== GRID ===== */
.g2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.fcol{display:flex;flex-direction:column;gap:24px}

/* ===== SCROLL ===== */
::-webkit-scrollbar{width:3px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.08);border-radius:3px}

/* ===== RESPONSIVE ===== */
/* ===== RESPONSIVE ===== */
@media(max-width:1024px){
  .hero-content-wrapper{flex-direction:column;text-align:center;gap:36px;min-height:auto}
  .hero-left{max-width:100%;display:flex;flex-direction:column;align-items:center}
  .hero-right{width:100%;height:auto;margin-top:10px}
  .hero-art-stage{width:360px;height:420px}
  .hero-spiderman-img{max-height:380px}
  .hero-bg-text{font-size:8rem;letter-spacing:-4px}
  .hero-glow-back{width:320px;height:320px}
  .campaign-workspace{grid-template-columns:1fr}
  .ctx{flex-wrap:wrap;gap:32px;justify-content:center}
  .aud-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:768px){
  .sidebar{transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}
  .sidebar-toggle{display:flex}.main{margin-left:0}
  
  .hero{padding:40px 20px 32px;min-height:auto}
  .hero h1{font-size:2.2rem;letter-spacing:-1px;line-height:1.05;margin-bottom:14px}
  .hero p{font-size:.88rem;line-height:1.6;margin-bottom:24px;max-width:340px}
  .hero-tag{margin-bottom:20px}
  .hero-acts{flex-direction:column;width:100%;gap:10px}
  .hero-acts .btn{width:100%}
  
  .hero-right{width:100%;height:auto;margin-top:16px;display:flex;justify-content:center}
  .hero-art-stage{width:280px;height:320px;max-width:100%}
  .hero-spiderman-img{max-height:290px;width:auto}
  .hero-bg-text{font-size:5.5rem;letter-spacing:-2px;-webkit-text-stroke:1.5px rgba(220,38,38,.2)}
  .hero-glow-back{width:240px;height:240px;filter:blur(50px)}
  
  .ctx{padding:28px 20px;display:grid;grid-template-columns:1fr 1fr;gap:20px}
  .sec{padding:28px 20px}.sec-head h1{font-size:1.4rem}
  .campaign-workspace{grid-template-columns:1fr;gap:20px}
  .phone{width:100%;max-width:340px}
  .phone-body{min-height:240px;max-height:360px}
  
  .topbar{padding:0 16px}.topbar-r{display:none}
  .g2{grid-template-columns:1fr}.aud-grid{grid-template-columns:1fr}
  .prod-grid{grid-template-columns:1fr 1fr}.aud-summary{flex-direction:column;gap:16px}
  .surf{padding:20px}
  .fg>div[style*="display:flex"]{flex-direction:column;gap:6px!important}
  .fg>div[style*="display:flex"] button,.fg>div[style*="display: flex"] button{width:100%}
}

@media(max-width:480px){
  .hero{padding:32px 16px 24px}
  .hero h1{font-size:1.9rem;letter-spacing:-.8px}
  .hero p{font-size:.82rem}
  .hero-art-stage{width:240px;height:270px}
  .hero-spiderman-img{max-height:250px}
  .hero-bg-text{font-size:4.6rem}
  .ctx{grid-template-columns:1fr 1fr;gap:14px;padding:20px 16px}
  .ctx-val{font-size:1.25rem}
  .prod-grid{grid-template-columns:1fr}
}

/* ===== SLEEK TOAST NOTIFICATIONS ===== */
#toast-container {
  position: fixed;
  top: 24px;
  right: 24px;
  z-index: 99999;
  display: flex;
  flex-direction: column;
  gap: 10px;
  pointer-events: none;
}

.sleek-toast {
  pointer-events: auto;
  min-width: 300px;
  max-width: 420px;
  background: rgba(15, 17, 23, 0.95);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 12px;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.7), 0 0 1px rgba(255, 255, 255, 0.2);
  transform: translateX(120%);
  opacity: 0;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.sleek-toast.show {
  transform: translateX(0);
  opacity: 1;
}

.sleek-toast.hide {
  transform: translateX(120%);
  opacity: 0;
}

.toast-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 0.95rem;
}

.toast-body {
  flex: 1;
  font-size: 0.8rem;
  line-height: 1.4;
  color: #FFFFFF;
}

.toast-title {
  font-weight: 700;
  font-size: 0.82rem;
  margin-bottom: 2px;
}

.toast-msg {
  font-size: 0.75rem;
  color: var(--text-2);
}

/* Types */
.toast-success {
  border-color: rgba(34, 197, 94, 0.4);
}
.toast-success .toast-icon {
  background: rgba(34, 197, 94, 0.15);
  color: #22C55E;
}
.toast-success .toast-title {
  color: #22C55E;
}

.toast-error {
  border-color: rgba(239, 68, 68, 0.4);
}
.toast-error .toast-icon {
  background: rgba(239, 68, 68, 0.15);
  color: #EF4444;
}
.toast-error .toast-title {
  color: #EF4444;
}

.toast-info {
  border-color: rgba(56, 189, 248, 0.4);
}
.toast-info .toast-icon {
  background: rgba(56, 189, 248, 0.15);
  color: #38BDF8;
}
.toast-info .toast-title {
  color: #38BDF8;
}

/* =========================================
   APPLE FROSTED GLASS LOGIN UI
   ========================================= */
.login-overlay {
  position: fixed;
  inset: 0;
  background: #090a10;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  overflow: hidden;
}

/* Ambient Floating Glow Orbs */
.login-mesh {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}

.mesh-orb-1 {
  position: absolute;
  width: 500px;
  height: 500px;
  top: -100px;
  left: 20%;
  background: radial-gradient(circle, rgba(225, 29, 72, 0.28) 0%, rgba(225, 29, 72, 0) 70%);
  filter: blur(80px);
  border-radius: 50%;
  animation: floatOrb1 14s ease-in-out infinite alternate;
}

.mesh-orb-2 {
  position: absolute;
  width: 450px;
  height: 450px;
  bottom: -80px;
  right: 15%;
  background: radial-gradient(circle, rgba(99, 102, 241, 0.25) 0%, rgba(99, 102, 241, 0) 70%);
  filter: blur(90px);
  border-radius: 50%;
  animation: floatOrb2 16s ease-in-out infinite alternate;
}

.mesh-orb-3 {
  position: absolute;
  width: 350px;
  height: 350px;
  top: 40%;
  left: 60%;
  background: radial-gradient(circle, rgba(236, 72, 153, 0.18) 0%, rgba(236, 72, 153, 0) 70%);
  filter: blur(70px);
  border-radius: 50%;
  animation: floatOrb3 12s ease-in-out infinite alternate;
}

@keyframes floatOrb1 {
  0% { transform: translate(0, 0) scale(1); }
  100% { transform: translate(60px, 80px) scale(1.15); }
}

@keyframes floatOrb2 {
  0% { transform: translate(0, 0) scale(1); }
  100% { transform: translate(-80px, -60px) scale(1.1); }
}

@keyframes floatOrb3 {
  0% { transform: translate(0, 0) scale(1); }
  100% { transform: translate(-50px, 40px) scale(0.9); }
}

/* Apple Frosted Glass Card */
.login-card {
  position: relative;
  z-index: 10;
  width: 100%;
  max-width: 380px;
  background: rgba(22, 24, 38, 0.55);
  backdrop-filter: blur(35px) saturate(190%);
  -webkit-backdrop-filter: blur(35px) saturate(190%);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 24px;
  padding: 36px 32px 30px;
  box-shadow: 0 30px 70px rgba(0, 0, 0, 0.5), inset 0 1px 1px rgba(255, 255, 255, 0.15);
  animation: glassAppear 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes glassAppear {
  from { opacity: 0; transform: translateY(16px) scale(0.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.login-brand {
  text-align: center;
  margin-bottom: 28px;
}

.login-logo-pill {
  width: 48px;
  height: 48px;
  margin: 0 auto 14px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: #fb7185;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25), inset 0 1px 1px rgba(255, 255, 255, 0.2);
}

.login-brand h2 {
  font-size: 21px;
  font-weight: 600;
  color: #f8fafc;
  margin: 0 0 6px;
  letter-spacing: -0.3px;
}

.login-brand p {
  font-size: 13px;
  color: #94a3b8;
  margin: 0;
  font-weight: 400;
}

.login-field {
  margin-bottom: 18px;
}

.login-field label {
  display: block;
  font-size: 12px;
  font-weight: 500;
  color: #94a3b8;
  margin-bottom: 7px;
  letter-spacing: 0.2px;
}

.login-input-wrap {
  position: relative;
}

.login-field input {
  width: 100%;
  padding: 13px 16px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 12px;
  color: #f8fafc;
  font-size: 14px;
  outline: none;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  box-sizing: border-box;
}

.login-field input:focus {
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(251, 113, 133, 0.6);
  box-shadow: 0 0 0 4px rgba(244, 63, 94, 0.12);
}

.login-field input::placeholder {
  color: #475569;
}

.pwd-eye-btn {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: #64748b;
  cursor: pointer;
  font-size: 14px;
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.pwd-eye-btn:hover {
  color: #cbd5e1;
}

.login-alert {
  padding: 10px 14px;
  background: rgba(239, 68, 68, 0.12);
  border: 1px solid rgba(239, 68, 68, 0.25);
  border-radius: 10px;
  color: #fca5a5;
  font-size: 12px;
  margin-bottom: 16px;
  text-align: center;
  animation: glassAppear 0.2s ease;
}

.login-btn {
  width: 100%;
  padding: 13px;
  font-size: 14px;
  font-weight: 600;
  border-radius: 12px;
  background: linear-gradient(180deg, #f43f5e 0%, #e11d48 100%);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #ffffff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 8px 24px rgba(225, 29, 72, 0.3), inset 0 1px 1px rgba(255, 255, 255, 0.25);
  margin-top: 8px;
}

.login-btn:hover {
  background: linear-gradient(180deg, #fb7185 0%, #f43f5e 100%);
  box-shadow: 0 10px 28px rgba(225, 29, 72, 0.45);
  transform: translateY(-1px);
}

.login-btn:active {
  transform: translateY(0);
}


