*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
:root {
  --white:#ffffff; --off:#f8f9fc; --off2:#f1f4f9;
  --border:#e4e9f0; --border2:#d0d9e8;
  --text:#0f1b2d; --text2:#3d5170; --muted:#8494ae;
  --accent:#1a56db; --acl:#eff4ff;
  --green:#059669; --greenl:#ecfdf5;
  --red:#dc2626; --redl:#fef2f2;
  --gold:#d97706; --goldl:#fffbeb;
  --warn:#92400e; --warnl:#fff7ed; --warnb:#fed7aa;
  --font:'DM Sans',sans-serif; --mono:'DM Mono',monospace; --display:'Playfair Display',serif;
  --shadow:0 1px 3px rgba(15,27,45,.08),0 4px 16px rgba(15,27,45,.04);
  --shadowl:0 8px 32px rgba(15,27,45,.12),0 2px 8px rgba(15,27,45,.06);
  --r:14px;
}
html,body{font-family:var(--font);background:var(--off);color:var(--text);height:100%;overflow:hidden;}
.page{display:none;height:100vh;overflow:hidden;flex-direction:column;}
.page.active{display:flex;}

/* ── LOGO ── */
.logo-wrap{display:flex;align-items:center;gap:10px;}
.logo-svg{flex-shrink:0;}
.logo-text{font-size:18px;font-weight:700;letter-spacing:-.3px;}
.logo-text span{color:var(--accent);}
.edu-chip{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0;font-size:10px;font-weight:600;padding:3px 8px;border-radius:100px;letter-spacing:.08em;font-family:var(--mono);}

/* ── BUTTONS ── */
.btn-primary{background:var(--accent);border:none;color:white;font-family:var(--font);font-size:14px;font-weight:600;padding:10px 22px;border-radius:10px;cursor:pointer;transition:all .18s;box-shadow:0 2px 8px rgba(26,86,219,.25);}
.btn-primary:hover{background:#1648c0;transform:translateY(-1px);}
.btn-ghost{background:none;border:1px solid var(--border2);color:var(--text2);font-family:var(--font);font-size:14px;font-weight:500;padding:9px 20px;border-radius:10px;cursor:pointer;transition:all .18s;}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent);}
.btn-large{background:var(--accent);border:none;color:white;font-family:var(--font);font-size:16px;font-weight:600;padding:14px 32px;border-radius:12px;cursor:pointer;transition:all .18s;box-shadow:0 4px 16px rgba(26,86,219,.3);}
.btn-large:hover{background:#1648c0;transform:translateY(-2px);}

/* ══════════════════ LANDING ══════════════════ */
#page-landing{background:var(--white);overflow-y:auto;}
.sebi-topbar{background:var(--warnl);border-bottom:1px solid var(--warnb);padding:8px 48px;display:flex;align-items:center;gap:10px;font-size:12px;color:var(--warn);font-weight:500;flex-shrink:0;}
.sebi-topbar strong{font-weight:700;}
.sebi-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);flex-shrink:0;animation:pulse-g 2s infinite;}
@keyframes pulse-g{0%,100%{opacity:1;}50%{opacity:.4;}}
.nav{display:flex;align-items:center;justify-content:space-between;padding:18px 48px;border-bottom:1px solid var(--border);background:rgba(255,255,255,.96);backdrop-filter:blur(12px);position:sticky;top:0;z-index:100;flex-shrink:0;}
.nav-right{display:flex;gap:12px;align-items:center;}

/* Hero */
.hero{padding:64px 48px 48px;max-width:1060px;margin:0 auto;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:#f0fdf4;color:#166534;border:1px solid #bbf7d0;font-size:12px;font-weight:600;padding:6px 14px;border-radius:100px;margin-bottom:20px;font-family:var(--mono);letter-spacing:.05em;}
.hero h1{font-family:var(--display);font-size:48px;line-height:1.1;letter-spacing:-1px;margin-bottom:16px;}
.hero h1 em{font-style:normal;color:var(--accent);}
.hero-sub{font-size:16px;color:var(--text2);line-height:1.65;margin-bottom:16px;max-width:460px;}
.edu-note{background:var(--warnl);border:1px solid var(--warnb);border-radius:10px;padding:12px 16px;font-size:12px;color:var(--warn);line-height:1.55;margin-bottom:26px;display:flex;gap:10px;align-items:flex-start;}
.hero-cta{display:flex;gap:12px;align-items:center;margin-bottom:36px;}
.cta-note{font-size:13px;color:var(--muted);}
.hero-stats{display:flex;gap:32px;padding-top:26px;border-top:1px solid var(--border);}
.hstat-val{font-size:26px;font-weight:700;font-family:var(--display);letter-spacing:-.5px;}
.hstat-val span{color:var(--accent);}
.hstat-label{font-size:11px;color:var(--muted);margin-top:2px;font-family:var(--mono);letter-spacing:.05em;}

/* Hero right — illustration panel */
.hero-right-panel{background:var(--off);border:1px solid var(--border);border-radius:20px;padding:32px;box-shadow:var(--shadowl);}
.hrp-title{font-size:11px;font-weight:600;color:var(--muted);font-family:var(--mono);letter-spacing:.12em;margin-bottom:24px;}
.hrp-module{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);}
.hrp-module:last-child{border:none;}
.hrp-icon{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;}
.hrp-icon-buy{background:var(--greenl);}
.hrp-icon-neut{background:var(--off2);}
.hrp-name{font-size:13px;font-weight:600;flex:1;}
.hrp-status{font-size:11px;font-family:var(--mono);font-weight:600;padding:3px 10px;border-radius:6px;}
.hrp-bull{background:var(--greenl);color:var(--green);}
.hrp-neut{background:var(--off2);color:var(--muted);}
.hrp-footer{margin-top:20px;padding-top:16px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.hrp-score{font-size:22px;font-weight:800;font-family:var(--mono);color:var(--accent);}
.hrp-score-label{font-size:11px;color:var(--muted);font-family:var(--mono);}
.hrp-result{font-size:12px;font-family:var(--mono);font-weight:600;padding:6px 14px;border-radius:8px;background:var(--warnl);color:var(--warn);border:1px solid var(--warnb);}

/* Learn section */
.learn-section{background:var(--off2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:48px;}
.learn-inner{max-width:1060px;margin:0 auto;}
.section-eyebrow{font-size:11px;font-weight:600;letter-spacing:.15em;color:var(--accent);font-family:var(--mono);margin-bottom:8px;}
.section-title{font-family:var(--display);font-size:32px;font-weight:800;margin-bottom:7px;}
.section-sub{font-size:14px;color:var(--text2);margin-bottom:32px;}
.learn-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.learn-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:22px;box-shadow:var(--shadow);}
.learn-icon{font-size:26px;margin-bottom:12px;}
.learn-title{font-size:14px;font-weight:700;margin-bottom:7px;}
.learn-desc{font-size:13px;color:var(--text2);line-height:1.55;}

/* Disclaimer section */
.disc-section{padding:48px;max-width:1060px;margin:0 auto;}
/* Dropdown / accordion */
.disc-section details { cursor:pointer; }
.disc-section summary {
  display:flex; align-items:center; justify-content:space-between;
  list-style:none; cursor:pointer; user-select:none;
  padding:18px 22px;
  background:var(--warnl); border:2px solid var(--warnb);
  border-radius:var(--r);
  transition:border-radius .2s;
}
.disc-section details[open] summary { border-radius:var(--r) var(--r) 0 0; }
.disc-section summary::-webkit-details-marker { display:none; }
.disc-summary-left { display:flex; align-items:center; gap:12px; }
.disc-summary-icon { font-size:22px; }
.disc-summary-label { font-size:16px; font-weight:800; color:var(--warn); }
.disc-summary-sub   { font-size:12px; color:#b45309; margin-top:2px; }
.disc-chevron {
  font-size:18px; color:var(--warn); transition:transform .3s; flex-shrink:0;
}
.disc-section details[open] .disc-chevron { transform:rotate(180deg); }
.disc-body {
  background:var(--warnl); border:2px solid var(--warnb); border-top:none;
  border-radius:0 0 var(--r) var(--r);
  padding:0 22px 22px;
  animation:fadeUp .3s ease;
}

/* Fixed grid: single column so numbers + text align properly */
.disc-grid { display:flex; flex-direction:column; gap:12px; margin-top:4px; }
.dp {
  display:flex; align-items:flex-start; gap:12px;
  font-size:13px; color:var(--warn); line-height:1.6;
  padding:10px 14px;
  background:rgba(255,255,255,.5);
  border:1px solid var(--warnb);
  border-radius:10px;
}
.dp-n {
  font-family:var(--mono); font-weight:700; font-size:11px;
  background:var(--warnb); padding:3px 8px; border-radius:6px;
  flex-shrink:0; min-width:28px; text-align:center; margin-top:2px;
  color:var(--warn);
}

/* Privacy section */
.priv-section{padding:0 48px 48px;max-width:1060px;margin:0 auto;}
.priv-box{background:var(--acl);border:1px solid #c7d9fb;border-radius:var(--r);padding:24px;}
.priv-box h3{font-size:15px;font-weight:700;color:var(--accent);margin-bottom:12px;display:flex;align-items:center;gap:8px;}
.priv-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.pp{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--text2);line-height:1.5;}
.pp-icon{flex-shrink:0;font-size:13px;}

/* Footer */
.footer{background:var(--off);border-top:1px solid var(--border);padding:20px 48px;text-align:center;font-size:12px;color:var(--muted);line-height:1.8;}

/* ══════════════════ SIGNUP ══════════════════ */
#page-signup{background:var(--off);align-items:center;justify-content:flex-start;overflow-y:auto;}
.signup-wrap{width:100%;max-width:580px;padding:24px 24px 48px;margin:0 auto;}

/* Agreement modal overlay */
.agr-modal-overlay{display:none;position:fixed;inset:0;background:rgba(15,27,45,.6);z-index:2000;align-items:center;justify-content:center;backdrop-filter:blur(4px);padding:20px;}
.agr-modal-overlay.open{display:flex;}
.agr-modal{background:var(--white);border-radius:20px;width:100%;max-width:540px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 24px 64px rgba(15,27,45,.25);overflow:hidden;}
.agr-modal-head{background:var(--warnl);border-bottom:2px solid var(--warnb);padding:18px 22px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-shrink:0;}
.agr-modal-title{font-size:15px;font-weight:800;color:var(--warn);}
.agr-modal-sub{font-size:12px;color:#b45309;margin-top:3px;}
.agr-modal-close{background:none;border:none;font-size:20px;cursor:pointer;color:var(--muted);padding:2px 6px;border-radius:6px;line-height:1;}
.agr-modal-close:hover{background:var(--warnb);color:var(--warn);}
.agr-modal-scroll{overflow-y:auto;padding:20px 22px;flex:1;}
.agr-modal-scroll .agr-box{background:var(--off);border:1px solid var(--border2);border-radius:10px;padding:14px;font-size:11px;color:var(--text2);line-height:1.7;margin-bottom:16px;font-family:var(--mono);}
.agr-modal-scroll .agr-box h4{font-size:11px;font-weight:700;color:var(--text);margin-bottom:8px;letter-spacing:.05em;}
.agr-modal-scroll .agr-box p{margin-bottom:6px;}
.agr-modal-scroll .check-item{display:flex;align-items:flex-start;gap:11px;padding:11px;background:var(--off);border:1px solid var(--border);border-radius:10px;margin-bottom:8px;cursor:pointer;transition:all .18s;}
.agr-modal-scroll .check-item:hover{border-color:var(--accent);background:var(--acl);}
.agr-modal-scroll .check-item.checked{border-color:var(--green);background:var(--greenl);}
.agr-modal-scroll .check-item input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--accent);flex-shrink:0;margin-top:2px;}
.agr-modal-scroll .check-item label{font-size:12px;color:var(--text2);line-height:1.45;cursor:pointer;}
.agr-modal-scroll .check-item label strong{color:var(--text);}
.agr-modal-foot{padding:16px 22px;border-top:1px solid var(--border);background:var(--off);flex-shrink:0;}
.agr-modal-progress{font-size:11px;color:var(--muted);font-family:var(--mono);margin-bottom:10px;display:flex;align-items:center;gap:8px;}
.agr-prog-bar{flex:1;height:4px;background:var(--border2);border-radius:10px;overflow:hidden;}
.agr-prog-fill{height:100%;background:var(--green);border-radius:10px;transition:width .3s;}
.agr-accept-btn{width:100%;padding:13px;background:#94a3b8;border:none;border-radius:10px;color:white;font-family:var(--font);font-size:14px;font-weight:600;cursor:not-allowed;transition:all .2s;}
.agr-accept-btn.ready{background:var(--green);cursor:pointer;box-shadow:0 3px 12px rgba(5,150,105,.25);}
.agr-accept-btn.ready:hover{background:#047857;}

/* Single accept trigger button (replaces checkboxes in form) */
.agr-trigger{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:var(--off);border:2px dashed var(--border2);border-radius:12px;cursor:pointer;transition:all .2s;margin-bottom:16px;}
.agr-trigger:hover{border-color:var(--accent);background:var(--acl);}
.agr-trigger.accepted{border-style:solid;border-color:var(--green);background:var(--greenl);}
.agr-trigger-left{display:flex;align-items:center;gap:12px;}
.agr-trigger-icon{font-size:22px;}
.agr-trigger-title{font-size:13px;font-weight:700;color:var(--text);}
.agr-trigger-sub{font-size:11px;color:var(--muted);margin-top:2px;}
.agr-trigger-badge{font-size:11px;font-weight:600;font-family:var(--mono);padding:4px 10px;border-radius:6px;}
.agr-badge-pending{background:var(--warnl);color:var(--warn);border:1px solid var(--warnb);}
.agr-badge-done{background:var(--greenl);color:var(--green);border:1px solid #a7f3d0;}
.signup-logo{text-align:center;margin-bottom:24px;cursor:pointer;}
.signup-card{background:var(--white);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadowl);overflow:hidden;}

/* Beta full banner */
.beta-full-banner{background:var(--redl);border-bottom:2px solid #fecaca;padding:24px 28px;text-align:center;}
.bfb-icon{font-size:36px;margin-bottom:10px;}
.bfb-title{font-size:18px;font-weight:800;color:var(--red);margin-bottom:6px;}
.bfb-sub{font-size:13px;color:#991b1b;line-height:1.55;margin-bottom:14px;}
.bfb-chip{display:inline-block;background:var(--redl);border:2px solid #fecaca;border-radius:10px;padding:8px 20px;font-size:14px;font-weight:700;color:var(--red);font-family:var(--mono);}

/* Signup header */
.signup-warn-header{background:var(--warnl);border-bottom:2px solid var(--warnb);padding:18px 26px;display:flex;gap:12px;align-items:flex-start;}
.swh-icon{font-size:26px;flex-shrink:0;}
.swh-title{font-size:15px;font-weight:800;color:var(--warn);margin-bottom:3px;}
.swh-sub{font-size:12px;color:#b45309;line-height:1.45;}

.signup-body{padding:26px;}
.signup-body h3{font-size:16px;font-weight:800;margin-bottom:5px;}
.signup-body > p{font-size:13px;color:var(--text2);margin-bottom:20px;}

/* Slots indicator */
.slots-bar{display:flex;align-items:center;justify-content:space-between;background:var(--off2);border:1px solid var(--border);border-radius:10px;padding:10px 16px;margin-bottom:20px;}
.slots-label{font-size:12px;color:var(--text2);}
.slots-count{font-family:var(--mono);font-size:13px;font-weight:700;}
.slots-dots{display:flex;gap:5px;align-items:center;}
.slot-dot{width:10px;height:10px;border-radius:50%;border:2px solid var(--border2);}
.slot-dot.filled{background:var(--accent);border-color:var(--accent);}

.form-field{margin-bottom:15px;}
.form-field label{display:block;font-size:11px;font-weight:600;color:var(--text2);letter-spacing:.06em;font-family:var(--mono);margin-bottom:5px;}
.form-field input{width:100%;background:var(--off);border:1px solid var(--border2);border-radius:10px;padding:11px 14px;font-family:var(--mono);font-size:13px;color:var(--text);outline:none;transition:all .2s;}
.form-field input:focus{border-color:var(--accent);background:var(--white);box-shadow:0 0 0 3px rgba(26,86,219,.08);}
.field-hint{display:block;font-size:11px;color:var(--muted);font-family:var(--mono);margin-top:5px;min-height:16px;transition:color .2s;}

/* Signature upload */
.sig-upload-area{border:2px dashed var(--border2);border-radius:10px;padding:20px;text-align:center;cursor:pointer;transition:all .2s;background:var(--off);margin-bottom:15px;}
.sig-upload-area:hover{border-color:var(--accent);background:var(--acl);}
.sig-upload-area.has-sig{border-color:var(--green);background:var(--greenl);border-style:solid;}
.sig-upload-icon{font-size:28px;margin-bottom:8px;}
.sig-upload-title{font-size:13px;font-weight:600;color:var(--text2);margin-bottom:4px;}
.sig-upload-sub{font-size:11px;color:var(--muted);font-family:var(--mono);}
#sig-preview{max-width:100%;max-height:80px;margin-top:10px;display:none;border-radius:6px;}
#sig-file{display:none;}

/* Agreement box */
.agr-box{background:var(--off);border:1px solid var(--border2);border-radius:10px;padding:14px;font-size:11px;color:var(--text2);line-height:1.7;max-height:180px;overflow-y:auto;margin-bottom:14px;font-family:var(--mono);}
.agr-box h4{font-size:11px;font-weight:700;color:var(--text);margin-bottom:8px;letter-spacing:.05em;}
.agr-box p{margin-bottom:6px;}
.agr-box strong{color:var(--text);}

/* Checkboxes */
.check-item{display:flex;align-items:flex-start;gap:11px;padding:11px;background:var(--off);border:1px solid var(--border);border-radius:10px;margin-bottom:8px;cursor:pointer;transition:all .18s;}
.check-item:hover{border-color:var(--accent);background:var(--acl);}
.check-item input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--accent);flex-shrink:0;margin-top:2px;}
.check-item label{font-size:12px;color:var(--text2);line-height:1.45;cursor:pointer;}
.check-item label strong{color:var(--text);}

/* Typed name confirm */
.name-confirm{background:var(--off);border:1px solid var(--border2);border-radius:10px;padding:14px;margin-bottom:18px;}
.name-confirm p{font-size:11px;color:var(--text2);margin-bottom:8px;line-height:1.45;}
.name-confirm input{width:100%;background:var(--white);border:1px solid var(--border2);border-radius:8px;padding:9px 12px;font-family:var(--mono);font-size:13px;color:var(--text);outline:none;transition:all .2s;}
.name-confirm input:focus{border-color:var(--accent);}

.signup-submit{width:100%;padding:13px;background:#94a3b8;border:none;border-radius:10px;color:white;font-family:var(--font);font-size:14px;font-weight:600;cursor:not-allowed;transition:all .2s;}
.signup-submit.ready{background:var(--accent);cursor:pointer;box-shadow:0 3px 12px rgba(26,86,219,.25);}
.signup-submit.ready:hover{background:#1648c0;transform:translateY(-1px);}
.signup-error{display:none;background:var(--redl);border:1px solid #fecaca;border-radius:8px;padding:9px 13px;font-size:12px;color:var(--red);margin-bottom:14px;font-family:var(--mono);}

/* Success state */
.signup-success{display:none;padding:32px;text-align:center;}
.ss-icon{font-size:48px;margin-bottom:16px;}
.ss-title{font-size:20px;font-weight:800;margin-bottom:10px;}
.ss-msg{font-size:13px;color:var(--text2);line-height:1.65;margin-bottom:20px;}
.ss-chips{display:flex;flex-direction:column;gap:8px;margin-bottom:24px;}
.ss-chip{background:var(--off);border:1px solid var(--border);border-radius:10px;padding:10px 16px;font-size:12px;color:var(--text2);display:flex;align-items:center;gap:8px;text-align:left;}
.ss-chip-icon{font-size:16px;flex-shrink:0;}
.ss-download-btn{width:100%;padding:12px;background:var(--green);border:none;border-radius:10px;color:white;font-family:var(--font);font-size:14px;font-weight:600;cursor:pointer;margin-bottom:10px;}
.ss-download-btn:hover{background:#047857;}
.back-link{text-align:center;margin-top:14px;font-size:12px;color:var(--muted);}
.back-link a{color:var(--accent);text-decoration:none;cursor:pointer;}

/* ══════════════════ SIGNIN ══════════════════ */
#page-signin{background:var(--off);align-items:center;justify-content:center;}
.signin-wrap{width:100%;max-width:400px;padding:20px;}
.signin-logo{text-align:center;margin-bottom:26px;cursor:pointer;}
.signin-card{background:var(--white);border:1px solid var(--border);border-radius:20px;padding:32px;box-shadow:var(--shadowl);}
.signin-card h2{font-family:var(--display);font-size:24px;font-weight:800;margin-bottom:5px;}
.signin-card > p{font-size:13px;color:var(--text2);margin-bottom:22px;}
.signin-notice{background:var(--warnl);border:1px solid var(--warnb);border-radius:8px;padding:10px 13px;font-size:11px;color:var(--warn);margin-bottom:16px;display:flex;gap:7px;line-height:1.5;}
.signin-error{display:none;background:var(--redl);border:1px solid #fecaca;border-radius:8px;padding:9px 13px;font-size:12px;color:var(--red);margin-bottom:13px;font-family:var(--mono);}
.signin-submit{width:100%;padding:12px;background:var(--accent);border:none;border-radius:10px;color:white;font-family:var(--font);font-size:14px;font-weight:600;cursor:pointer;transition:all .18s;box-shadow:0 3px 12px rgba(26,86,219,.25);margin-top:4px;}
.signin-submit:hover{background:#1648c0;transform:translateY(-1px);}
.signin-footer{text-align:center;margin-top:16px;font-size:12px;color:var(--muted);}
.signin-footer a{color:var(--accent);text-decoration:none;cursor:pointer;}

/* ══════════════════ DASHBOARD ══════════════════ */
#page-dashboard{background:var(--off);}
.dash-topbar{background:var(--white);border-bottom:1px solid var(--border);padding:0 24px;height:54px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
.edu-bar{background:#f0fdf4;border-bottom:1px solid #bbf7d0;padding:6px 24px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:#166534;font-weight:500;flex-shrink:0;}
.sebi-bar{background:var(--warnl);border-bottom:1px solid var(--warnb);padding:5px 24px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:11px;color:var(--warn);font-weight:600;flex-shrink:0;font-family:var(--mono);letter-spacing:.03em;}
.dash-nav{display:flex;gap:2px;border-bottom:1px solid var(--border);padding:0 24px;background:var(--white);flex-shrink:0;}
.dash-tab{padding:11px 16px;font-size:13px;font-weight:500;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;transition:all .18s;white-space:nowrap;}
.dash-tab:hover{color:var(--text2);}
.dash-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600;}
.dash-content{flex:1;overflow-y:auto;padding:20px 24px;}
.tab-panel{display:none;}
.tab-panel.active{display:block;}

/* Cards */
.card{background:var(--white);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);}
.card-header{padding:14px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.card-title{font-size:11px;font-weight:600;color:var(--text2);letter-spacing:.07em;font-family:var(--mono);}
.card-body{padding:18px;}

/* Signal card */
.sig-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden;margin-bottom:16px;}
.sig-bar-top{height:4px;}
.sig-bar-top.buy{background:linear-gradient(90deg,var(--green),#34d399);}
.sig-bar-top.sell{background:linear-gradient(90deg,var(--red),#f87171);}
.sig-inner{padding:20px;}
.sig-edu-note{background:var(--warnl);border:1px solid var(--warnb);border-radius:8px;padding:8px 12px;font-size:11px;color:var(--warn);font-family:var(--mono);margin-bottom:14px;line-height:1.5;}
.sig-row1{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px;}
.sig-status{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--green);font-family:var(--mono);letter-spacing:.08em;margin-bottom:7px;}
.sig-dir{font-family:var(--display);font-size:48px;font-weight:800;line-height:1;margin-bottom:4px;}
.sig-sub{font-size:14px;font-weight:600;color:var(--text2);}
.sig-ts{font-size:11px;color:var(--muted);font-family:var(--mono);margin-top:3px;}
.conf-badge{display:inline-block;padding:4px 12px;border-radius:8px;font-size:11px;font-weight:700;font-family:var(--mono);letter-spacing:.06em;margin-bottom:5px;}
.conf-high{background:var(--goldl);color:var(--gold);border:1px solid #fde68a;}
.score-line{font-size:11px;color:var(--muted);font-family:var(--mono);}
.lev-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px;}
.lc{background:var(--off);border:1px solid var(--border);border-radius:10px;padding:12px;text-align:center;}
.lc-l{font-size:10px;font-family:var(--mono);color:var(--muted);letter-spacing:.1em;margin-bottom:6px;}
.lc-v{font-size:20px;font-weight:700;font-family:var(--mono);}
.buy-c{color:var(--green);}
.sell-c{color:var(--red);}
.mod-row{display:flex;flex-wrap:wrap;gap:6px;padding-top:13px;border-top:1px solid var(--border);}
.mod-lbl{font-size:10px;color:var(--muted);font-family:var(--mono);letter-spacing:.1em;width:100%;margin-bottom:3px;}
.mt{padding:4px 9px;border-radius:6px;font-size:11px;font-family:var(--mono);font-weight:500;}
.mt-bull{background:var(--greenl);color:var(--green);border:1px solid #a7f3d0;}
.mt-neut{background:var(--off2);color:var(--muted);border:1px solid var(--border);}
.mt-bear{background:var(--redl);color:var(--red);border:1px solid #fecaca;}
/* Stats */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;}
.stat-tile{background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:15px;box-shadow:var(--shadow);}
.st-l{font-size:10px;color:var(--muted);font-family:var(--mono);letter-spacing:.08em;margin-bottom:6px;}
.st-v{font-size:22px;font-weight:700;font-family:var(--mono);line-height:1;}

/* Market closed */
.mclosed{background:var(--warnl);border:1px solid var(--warnb);border-radius:var(--r);padding:18px 20px;margin-bottom:16px;display:flex;align-items:flex-start;gap:13px;}
.mclosed-icon{font-size:28px;flex-shrink:0;}
.mclosed-title{font-size:14px;font-weight:700;color:var(--warn);margin-bottom:2px;}
.mclosed-sub{font-size:12px;color:#b45309;}
.mclosed-next{font-size:11px;color:var(--muted);font-family:var(--mono);margin-top:4px;}
.last-sig-label{background:var(--off2);border-bottom:1px solid var(--border);padding:7px 18px;font-size:10px;font-weight:600;color:var(--muted);font-family:var(--mono);letter-spacing:.1em;display:flex;justify-content:space-between;}

/* History table */
.htable{width:100%;border-collapse:collapse;}
.htable th{text-align:left;font-size:10px;font-weight:600;color:var(--muted);font-family:var(--mono);letter-spacing:.08em;padding:9px 12px;border-bottom:1px solid var(--border);background:var(--off);}
.htable td{padding:11px 12px;font-size:12px;border-bottom:1px solid var(--border);font-family:var(--mono);}
.htable tr:last-child td{border-bottom:none;}
.htable tr:hover td{background:var(--off);}
.dtag{display:inline-block;padding:2px 8px;border-radius:5px;font-size:10px;font-weight:700;}
.dtag-buy{background:var(--greenl);color:var(--green);}
.dtag-sell{background:var(--redl);color:var(--red);}
.otag{display:inline-block;padding:2px 8px;border-radius:5px;font-size:10px;font-weight:700;}
.otag-win{background:var(--greenl);color:var(--green);}
.otag-loss{background:var(--redl);color:var(--red);}
.otag-open{background:var(--acl);color:var(--accent);}

/* User menu */
.user-menu{display:flex;align-items:center;gap:10px;}
.avatar{width:30px;height:30px;border-radius:50%;background:var(--accent);color:white;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.uname{font-size:13px;font-weight:600;}
.uplan{font-size:11px;color:var(--muted);font-family:var(--mono);}
.signout-btn{background:none;border:1px solid var(--border2);color:var(--muted);font-family:var(--font);font-size:12px;padding:5px 11px;border-radius:8px;cursor:pointer;}

/* Dashboard footer disclaimer */
.dash-footer{background:var(--warnl);border-top:2px solid var(--warnb);padding:16px 24px;flex-shrink:0;}
.dash-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:100%;}
.dfi-left{font-size:11px;color:var(--warn);line-height:1.6;font-family:var(--mono);}
.dfi-left strong{font-weight:700;}
.dfi-right{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.dfi-chip{font-size:10px;font-weight:700;font-family:var(--mono);padding:4px 10px;border-radius:6px;letter-spacing:.05em;}
.dfc-red{background:var(--redl);color:var(--red);border:1px solid #fecaca;}
.dfc-warn{background:var(--warnb);color:var(--warn);}
.dfc-blue{background:var(--acl);color:var(--accent);border:1px solid #c7d9fb;}

/* Performance charts */
.ptab{padding:4px 10px;border-radius:6px;font-size:11px;font-family:var(--mono);font-weight:600;cursor:pointer;border:1px solid var(--border2);color:var(--muted);background:var(--off);transition:all .15s;}
.ptab.active{background:var(--accent);color:white;border-color:var(--accent);}
.perf-y-label{font-size:9px;font-family:var(--mono);color:var(--muted);width:44px;text-align:right;padding-right:6px;}
.perf-x-label{font-size:9px;font-family:var(--mono);color:var(--muted);}
.mod-acc-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.mod-acc-name{font-size:12px;font-family:var(--mono);color:var(--text2);width:120px;flex-shrink:0;}
.mod-acc-bar-wrap{flex:1;height:7px;background:var(--off2);border-radius:10px;overflow:hidden;}
.mod-acc-fill{height:100%;border-radius:10px;transition:width 1s ease;}
.mod-acc-pct{font-size:11px;font-family:var(--mono);font-weight:600;width:34px;text-align:right;flex-shrink:0;}

/* Contact page */
#page-contact{background:var(--off);overflow-y:auto;}
.contact-wrap{max-width:640px;margin:0 auto;padding:48px 24px;}
.contact-header{text-align:center;margin-bottom:36px;}
.contact-header .section-eyebrow{margin-bottom:8px;}
.contact-header h2{font-family:var(--display);font-size:36px;font-weight:800;margin-bottom:10px;}
.contact-header p{font-size:14px;color:var(--text2);line-height:1.65;}
.contact-email-box{background:var(--acl);border:1.5px solid #c7d9fb;border-radius:var(--r);padding:18px 22px;display:flex;align-items:center;gap:14px;margin-bottom:28px;}
.contact-email-icon{font-size:28px;flex-shrink:0;}
.contact-email-label{font-size:11px;color:var(--accent);font-family:var(--mono);font-weight:600;letter-spacing:.08em;margin-bottom:3px;}
.contact-email-addr{font-size:15px;font-weight:700;color:var(--text);font-family:var(--mono);}
.contact-card{background:var(--white);border:1px solid var(--border);border-radius:20px;padding:28px;box-shadow:var(--shadowl);}
.contact-card h3{font-size:16px;font-weight:800;margin-bottom:5px;}
.contact-card > p{font-size:13px;color:var(--text2);margin-bottom:22px;}
.contact-success{display:none;text-align:center;padding:24px;}
.contact-success-icon{font-size:44px;margin-bottom:12px;}
.contact-success h3{font-size:18px;font-weight:800;margin-bottom:8px;}
.contact-success p{font-size:13px;color:var(--text2);line-height:1.6;}

/* Password strength */
.pw-rules{margin-top:8px;display:flex;flex-direction:column;gap:5px;}
.pw-rule{display:flex;align-items:center;gap:7px;font-size:11px;font-family:var(--mono);color:var(--muted);transition:color .2s;}
.pw-rule.ok{color:var(--green);}
.pw-rule.fail{color:var(--red);}
.pw-rule-dot{width:7px;height:7px;border-radius:50%;background:var(--border2);flex-shrink:0;transition:background .2s;}
.pw-rule.ok .pw-rule-dot{background:var(--green);}
.pw-rule.fail .pw-rule-dot{background:var(--red);}
.pw-strength-bar{height:4px;border-radius:10px;background:var(--border2);margin-top:8px;overflow:hidden;}
.pw-strength-fill{height:100%;border-radius:10px;transition:width .3s,background .3s;width:0%;}

/* CS */
.cs-wrap{position:relative;margin-bottom:16px;}
.cs-blur{filter:blur(3px);pointer-events:none;user-select:none;}
.cs-badge{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--white);border:1px solid var(--border2);border-radius:12px;padding:13px 24px;text-align:center;box-shadow:var(--shadowl);white-space:nowrap;}
.cs-title{font-size:13px;font-weight:700;margin-bottom:2px;}
.cs-sub{font-size:11px;color:var(--muted);}

/* Session overlay */
.session-overlay{display:none;position:fixed;inset:0;background:rgba(15,27,45,.55);z-index:9999;align-items:center;justify-content:center;backdrop-filter:blur(4px);}
.session-overlay.show{display:flex;}
.session-box{background:var(--white);border:1px solid var(--border);border-radius:20px;padding:34px;max-width:340px;text-align:center;box-shadow:var(--shadowl);}
.session-box h3{font-size:18px;font-weight:800;margin-bottom:8px;}
.session-box p{font-size:13px;color:var(--text2);margin-bottom:20px;line-height:1.55;}

/* Animations */
@keyframes fadeUp{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}
.au{animation:fadeUp .4s ease forwards;opacity:0;}
.d1{animation-delay:.05s;}.d2{animation-delay:.1s;}.d3{animation-delay:.15s;}.d4{animation-delay:.2s;}.d5{animation-delay:.25s;}
::-webkit-scrollbar{width:4px;}
::-webkit-scrollbar-thumb{background:var(--border2);border-radius:10px;}

/* Ldot */
.ldot{width:7px;height:7px;border-radius:50%;background:var(--green);animation:pg 1.8s infinite;flex-shrink:0;}
@keyframes pg{0%,100%{box-shadow:0 0 0 0 rgba(5,150,105,.5);}50%{box-shadow:0 0 0 5px rgba(5,150,105,0);}}

/* ── INDEX SELECTOR ── */
.index-selector-bar{background:var(--white);border-bottom:1px solid var(--border);padding:8px 24px;display:flex;align-items:center;gap:10px;flex-shrink:0;}
.index-selector-label{font-size:11px;font-weight:600;color:var(--muted);font-family:var(--mono);letter-spacing:.08em;white-space:nowrap;}
.index-select-wrap{position:relative;display:inline-flex;align-items:center;}
.index-select{appearance:none;-webkit-appearance:none;background:var(--off);border:1.5px solid var(--border2);border-radius:10px;padding:7px 34px 7px 12px;font-family:var(--mono);font-size:13px;font-weight:600;color:var(--text);cursor:pointer;outline:none;transition:all .2s;min-width:180px;}
.index-select:focus,.index-select:hover{border-color:var(--accent);background:var(--acl);}
.index-select-arrow{position:absolute;right:10px;pointer-events:none;font-size:12px;color:var(--muted);}
.index-active-chip{display:inline-flex;align-items:center;gap:5px;background:var(--greenl);border:1px solid #a7f3d0;color:var(--green);font-size:11px;font-weight:700;font-family:var(--mono);padding:4px 10px;border-radius:6px;letter-spacing:.05em;}
.index-alpha-chip{display:inline-flex;align-items:center;gap:5px;background:#f5f3ff;border:1px solid #ddd6fe;color:#7c3aed;font-size:11px;font-weight:700;font-family:var(--mono);padding:4px 10px;border-radius:6px;letter-spacing:.05em;}

/* ── BANK NIFTY ALPHA OVERLAY ── */
.alpha-overlay{display:none;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;}
.alpha-overlay.show{display:flex;}
.alpha-badge-big{display:inline-flex;align-items:center;gap:8px;background:#f5f3ff;border:2px solid #ddd6fe;color:#7c3aed;font-size:13px;font-weight:800;font-family:var(--mono);padding:8px 20px;border-radius:12px;letter-spacing:.1em;margin-bottom:20px;}
.alpha-title{font-family:var(--display);font-size:32px;font-weight:800;margin-bottom:10px;color:var(--text);}
.alpha-title span{color:#7c3aed;}
.alpha-sub{font-size:14px;color:var(--text2);line-height:1.65;max-width:400px;margin-bottom:24px;}
.alpha-specs{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;margin-bottom:28px;}
.alpha-spec{background:var(--off);border:1px solid var(--border);border-radius:10px;padding:12px 18px;text-align:center;}
.alpha-spec-val{font-size:16px;font-weight:700;font-family:var(--mono);color:var(--text);margin-bottom:2px;}
.alpha-spec-label{font-size:10px;color:var(--muted);font-family:var(--mono);letter-spacing:.08em;}
.alpha-eta{background:#f5f3ff;border:1px solid #ddd6fe;border-radius:12px;padding:14px 22px;font-size:12px;color:#7c3aed;font-family:var(--mono);line-height:1.6;}

/* ═══════════════════════════════════════════
   RESPONSIVE ADDITIONS — Mobile & Tablet
   Appended separately — zero impact on base
   ═══════════════════════════════════════════ */

/* Dashboard internal scroll fix */
#page-dashboard.active {
  display: flex;
  flex-direction: column;
  height: 100vh;
  overflow: hidden;
}
#nifty50-content {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  overflow: hidden;
}
.dash-nav { flex-shrink: 0; }
.dash-content {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}

/* Chart 2-col base */
.chart-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }

/* ── Hamburger button ── */
.hamburger-btn {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  background: none;
  border: 1px solid var(--border2);
  border-radius: 8px;
  padding: 8px 10px;
  cursor: pointer;
  flex-shrink: 0;
  margin-left: auto;
}
.hamburger-btn span {
  display: block;
  width: 20px;
  height: 2px;
  background: var(--text);
  border-radius: 2px;
  transition: all .25s;
}
.hamburger-btn.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger-btn.open span:nth-child(2) { opacity: 0; }
.hamburger-btn.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ── Mobile dropdown menu ── */
.mobile-menu {
  display: none;
  flex-direction: column;
  background: #fff;
  border-bottom: 1px solid var(--border);
  padding: 12px 16px 18px;
  gap: 8px;
  z-index: 999;
  box-shadow: 0 8px 24px rgba(0,0,0,.1);
  position: relative;
}
.mobile-menu.open { display: flex; }
.mobile-menu button {
  background: none;
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 13px 16px;
  font-family: var(--font);
  font-size: 15px;
  font-weight: 500;
  color: var(--text);
  cursor: pointer;
  text-align: left;
  width: 100%;
  transition: background .15s, border-color .15s;
}
.mobile-menu button:hover { background: var(--off); border-color: var(--accent); }
.mobile-menu .m-primary {
  background: var(--accent) !important;
  border-color: var(--accent) !important;
  color: #fff !important;
  font-weight: 700 !important;
  text-align: center !important;
}

/* ══ TABLET ≤900px ══ */
@media (max-width: 900px) {
  .nav { padding: 14px 20px !important; }
  .nav-right { display: none !important; }
  .hamburger-btn { display: flex !important; }

  .hero { grid-template-columns: 1fr !important; gap: 24px !important; padding: 36px 20px 28px !important; }
  .hero h1 { font-size: 34px !important; }
  .hero > div:last-child { display: none !important; }

  .learn-section { padding: 32px 20px !important; }
  .learn-grid { grid-template-columns: repeat(2,1fr) !important; }
  .disc-section { padding: 24px 20px !important; }
  .priv-section { padding: 0 20px 32px !important; }
  .priv-grid { grid-template-columns: 1fr !important; }
  .sebi-topbar { padding: 7px 20px !important; font-size: 11px !important; }

  .stats-grid { grid-template-columns: repeat(2,1fr) !important; }
  .chart-2col { grid-template-columns: 1fr !important; }
  .dash-footer { display: none !important; }
}

/* ══ MOBILE ≤600px ══ */
@media (max-width: 600px) {
  html, body { overflow-x: hidden; }

  /* Nav */
  .nav { padding: 10px 14px !important; }
  .edu-chip { display: none !important; }

  /* SEBI bar */
  .sebi-topbar {
    font-size: 10px !important;
    padding: 6px 14px !important;
    line-height: 1.7 !important;
    white-space: normal !important;
    display: block !important;
  }

  /* Hero */
  .hero {
    display: flex !important;
    flex-direction: column !important;
    padding: 20px 16px 24px !important;
    gap: 16px !important;
  }
  .hero > div:last-child { display: none !important; }
  .hero h1 { font-size: 26px !important; line-height: 1.15 !important; }
  .hero-sub { font-size: 14px !important; }
  .hero-cta { flex-direction: column !important; gap: 10px !important; }
  .hero-cta .btn-large { width: 100% !important; text-align: center !important; }
  .cta-note { text-align: center !important; }
  .hero-stats { gap: 16px !important; flex-wrap: wrap !important; }
  .hero-badge { font-size: 11px !important; padding: 5px 10px !important; }

  /* Sections */
  .learn-section { padding: 24px 16px !important; }
  .learn-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
  .section-title { font-size: 22px !important; }
  .disc-section { padding: 20px 16px !important; }
  .priv-section { padding: 0 16px 24px !important; }
  .priv-grid { grid-template-columns: 1fr !important; }

  /* Footer */
  .footer {
    padding: 14px 16px !important;
    font-size: 11px !important;
    flex-direction: column !important;
    gap: 8px !important;
    text-align: center !important;
  }

  /* Dashboard topbar */
  .dash-topbar { padding: 8px 12px !important; height: auto !important; }
  .logo-text { font-size: 14px !important; }
  .uname { font-size: 12px !important; }
  .uplan { font-size: 9px !important; }
  .avatar { width: 28px !important; height: 28px !important; font-size: 11px !important; }
  .signout-btn { font-size: 11px !important; padding: 5px 10px !important; }
  .edu-bar { font-size: 10px !important; padding: 6px 12px !important; }
  .sebi-bar { font-size: 9px !important; padding: 4px 10px !important; text-align: center !important; }
  .dash-footer { display: none !important; }

  /* Index selector */
  .index-selector-bar { padding: 6px 12px !important; flex-wrap: wrap !important; gap: 6px !important; }
  .index-selector-label { font-size: 10px !important; }
  .index-select { font-size: 12px !important; padding: 4px 8px !important; }

  /* Tabs scroll */
  .dash-nav {
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    padding: 0 12px !important;
  }
  .dash-nav::-webkit-scrollbar { display: none !important; }
  .dash-tab {
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    padding: 9px 12px !important;
    font-size: 11px !important;
  }

  /* Dash content */
  .dash-content { padding: 10px !important; }

  /* Stats 2x2 */
  .stats-grid { grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
  .stat-tile { padding: 10px !important; }
  .st-l { font-size: 9px !important; }
  .st-v { font-size: 16px !important; }

  /* Charts stacked */
  .chart-2col { grid-template-columns: 1fr !important; gap: 10px !important; }
  #tab-account .chart-2col { display: flex !important; flex-direction: column !important; }

  /* Signup */
  .signup-wrap { padding: 16px 14px 40px !important; }
}

/* ══ TINY ≤380px ══ */
@media (max-width: 380px) {
  .hero h1 { font-size: 21px !important; }
  .hero-stats { display: none !important; }
  .dash-tab { padding: 8px 10px !important; font-size: 10px !important; }
  .st-v { font-size: 14px !important; }
}

/* ══ LARGE DESKTOP ≥1200px ══ */
@media (min-width: 1200px) {
  .hero { padding: 72px 64px 56px !important; }
  .dash-content { padding: 24px 32px !important; }
}
