    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --bg:        #050a0f;
      --surface:   #0b1520;
      --surface2:  #0f1e2e;
      --border:    #1a3a55;
      --accent:    #00c8ff;
      --accent2:   #00ff9d;
      --danger:    #ff4060;
      --text:      #c8dce8;
      --text-dim:  #5a7a90;
      --font-mono: 'Share Tech Mono', monospace;
      --font-head: 'Rajdhani', sans-serif;
      --font-body: 'Exo 2', sans-serif;
    }

    html, body { height: 100%; }

    body {
      background: var(--bg);
      color: var(--text);
      font-family: var(--font-body);
      font-size: 16px;
      line-height: 1.7;
      overflow-x: hidden;
      min-height: 100vh;
      display: flex;
      flex-direction: column;
    }

    /* ── GRID BACKGROUND ── */
    body::before {
      content: '';
      position: fixed; inset: 0;
      background-image:
        linear-gradient(rgba(0,200,255,0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0,200,255,0.04) 1px, transparent 1px);
      background-size: 40px 40px;
      pointer-events: none; z-index: 0;
    }
    body::after {
      content: '';
      position: fixed; inset: 0;
      background: repeating-linear-gradient(
        0deg, transparent, transparent 2px,
        rgba(0,0,0,0.08) 2px, rgba(0,0,0,0.08) 4px
      );
      pointer-events: none; z-index: 0;
    }

    /* ── NAVBAR ── */
    nav {
      position: relative; z-index: 10;
      display: flex; align-items: center;
      justify-content: space-between;
      padding: 0 2.5rem; height: 64px;
      background: rgba(5,10,15,0.95);
      border-bottom: 1px solid var(--border);
    }
    .nav-logo {
      font-family: var(--font-mono); font-size: 1.1rem;
      color: var(--accent); text-decoration: none; letter-spacing: 0.1em;
    }
    .nav-logo span { color: var(--accent2); }
    .nav-back {
      font-family: var(--font-head); font-size: 0.85rem; font-weight: 600;
      letter-spacing: 0.12em; text-transform: uppercase;
      color: var(--text-dim); text-decoration: none;
      display: flex; align-items: center; gap: 0.4rem;
      transition: color 0.2s;
    }
    .nav-back:hover { color: var(--accent); }
    .nav-back::before { content: '←'; }

    /* ── MAIN LAYOUT ── */
    main {
      flex: 1;
      position: relative; z-index: 1;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 3rem 1.5rem;
    }

    /* ── AUTH CONTAINER ── */
    .auth-container {
      width: 100%;
      max-width: 880px;
    }

    /* ── HEADER ── */
    .auth-header {
      text-align: center;
      margin-bottom: 2.5rem;
    }
    .auth-badge {
      font-family: var(--font-mono); font-size: 0.72rem;
      color: var(--accent2); letter-spacing: 0.25em; text-transform: uppercase;
      border: 1px solid var(--accent2); padding: 0.25rem 0.9rem;
      display: inline-block; margin-bottom: 1rem;
      animation: pulse-border 2.5s ease-in-out infinite;
    }
    @keyframes pulse-border {
      0%,100% { box-shadow: 0 0 8px rgba(0,255,157,0.3); }
      50%      { box-shadow: 0 0 20px rgba(0,255,157,0.7); }
    }
    .auth-header h1 {
      font-family: var(--font-head); font-size: 2.6rem; font-weight: 700;
      line-height: 1.1; margin-bottom: 0.5rem;
    }
    .auth-header h1 span { color: var(--accent); }
    .auth-header p { color: var(--text-dim); font-size: 0.95rem; }

    /* ── TABS ── */
    .tabs {
      display: flex;
      border-bottom: 1px solid var(--border);
      margin-bottom: 0;
    }
    .tab-btn {
      flex: 1;
      font-family: var(--font-head); font-size: 1rem; font-weight: 700;
      letter-spacing: 0.12em; text-transform: uppercase;
      color: var(--text-dim);
      background: var(--surface);
      border: 1px solid var(--border);
      border-bottom: none;
      padding: 1rem;
      cursor: pointer;
      transition: color 0.2s, background 0.2s;
      position: relative;
    }
    .tab-btn:first-child { border-right: none; }
    .tab-btn.active {
      color: var(--accent);
      background: var(--surface2);
      border-top: 2px solid var(--accent);
    }
    .tab-btn:not(.active):hover { color: var(--text); }

    /* ── PANEL ── */
    .auth-panel {
      background: var(--surface2);
      border: 1px solid var(--border);
      border-top: none;
      padding: 2.5rem;
    }

    .tab-content { display: none; }
    .tab-content.active { display: block; }

    /* ── FORM ── */
    .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
    .form-full  { grid-column: 1 / -1; }

    .form-group { display: flex; flex-direction: column; }
    .form-group label {
      font-family: var(--font-mono); font-size: 0.7rem;
      color: var(--accent2); letter-spacing: 0.2em;
      text-transform: uppercase; margin-bottom: 0.4rem;
    }
    .form-group input,
    .form-group select {
      background: var(--bg); border: 1px solid var(--border);
      color: var(--text); font-family: var(--font-mono); font-size: 0.9rem;
      padding: 0.8rem 1rem; outline: none;
      transition: border-color 0.2s, box-shadow 0.2s;
    }
    .form-group input:focus,
    .form-group select:focus {
      border-color: var(--accent);
      box-shadow: 0 0 0 2px rgba(0,200,255,0.1);
    }
    .form-group input::placeholder { color: var(--text-dim); }
    .form-group select option { background: var(--bg); }

    .form-actions { margin-top: 1.8rem; }
    .btn-form {
      width: 100%;
      font-family: var(--font-head); font-weight: 700; font-size: 1rem;
      letter-spacing: 0.1em; text-transform: uppercase;
      color: var(--bg); background: var(--accent);
      padding: 0.95rem; border: none; cursor: pointer;
      clip-path: polygon(8px 0%, 100% 0%, calc(100% - 8px) 100%, 0% 100%);
      transition: background 0.2s, transform 0.15s;
    }
    .btn-form:hover { background: var(--accent2); transform: translateY(-1px); }

    .form-footer {
      margin-top: 1.2rem; text-align: center;
      font-size: 0.85rem; color: var(--text-dim);
    }
    .form-footer a {
      color: var(--accent); text-decoration: none; cursor: pointer;
      transition: color 0.2s;
    }
    .form-footer a:hover { color: var(--accent2); }

    /* ── MESSAGES ── */
    .form-msg {
      display: none; margin-top: 1.2rem; padding: 0.8rem 1rem;
      font-family: var(--font-mono); font-size: 0.8rem; border-left: 3px solid;
    }
    .form-msg.success { color: var(--accent2); border-color: var(--accent2); background: rgba(0,255,157,0.05); }
    .form-msg.error   { color: var(--danger);  border-color: var(--danger);  background: rgba(255,64,96,0.05); }

    /* ── DB NOTE ── */
    .db-note {
      margin-bottom: 1.5rem; padding: 0.85rem 1rem;
      background: rgba(255,200,0,0.04);
      border: 1px dashed rgba(255,200,0,0.35);
      font-family: var(--font-mono); font-size: 0.7rem; color: #ffc84a; line-height: 1.7;
    }
    .db-note strong { color: #ffd700; }
    .db-note code   { background: rgba(255,200,0,0.1); padding: 0 0.3rem; }

    /* ── DIVIDER ── */
    .or-divider {
      display: flex; align-items: center; gap: 1rem;
      margin: 1.5rem 0; color: var(--text-dim); font-size: 0.8rem;
      font-family: var(--font-mono);
    }
    .or-divider::before, .or-divider::after {
      content: ''; flex: 1; height: 1px; background: var(--border);
    }

    /* ── SECURITY BADGE ROW ── */
    .security-badges {
      display: flex; gap: 1.5rem; justify-content: center;
      margin-top: 2.5rem; flex-wrap: wrap;
    }
    .sec-badge {
      display: flex; align-items: center; gap: 0.5rem;
      font-family: var(--font-mono); font-size: 0.7rem; color: var(--text-dim);
    }
    .sec-badge span:first-child { color: var(--accent2); }

    /* ── PASSWORD STRENGTH ── */
    .pass-strength { margin-top: 0.4rem; height: 3px; background: var(--border); }
    .pass-strength-bar {
      height: 100%; width: 0%; transition: width 0.3s, background 0.3s;
    }
    .pass-hint {
      font-family: var(--font-mono); font-size: 0.65rem;
      color: var(--text-dim); margin-top: 0.3rem;
    }

    /* ── TOAST ── */
    #toast {
      position: fixed; bottom: 2rem; right: 2rem; z-index: 9999;
      background: var(--surface2); border: 1px solid var(--accent2);
      border-left: 4px solid var(--accent2);
      padding: 1rem 1.5rem;
      font-family: var(--font-mono); font-size: 0.82rem; color: var(--accent2);
      transform: translateY(6rem); opacity: 0;
      transition: all 0.3s ease; max-width: 320px;
    }
    #toast.show { transform: translateY(0); opacity: 1; }
    #toast.error { border-color: var(--danger); color: var(--danger); }

    /* ── FOOTER ── */
    footer {
      position: relative; z-index: 1;
      text-align: center; padding: 1.5rem;
      border-top: 1px solid var(--border);
      font-family: var(--font-mono); font-size: 0.72rem; color: var(--text-dim);
    }
    footer a { color: var(--accent); text-decoration: none; }
    footer a:hover { color: var(--accent2); }

    /* ── RESPONSIVE ── */
    @media (max-width: 640px) {
      .form-grid { grid-template-columns: 1fr; }
      .form-full  { grid-column: 1; }
      .auth-panel { padding: 1.5rem; }
      .auth-header h1 { font-size: 2rem; }
    }
