    :root {
      --brand-primary: #EC6A4A;
      --brand-accent: #F0A94B;
      --brand-deep: #8F2E15;
      --err-bg: rgba(234,84,85,0.08);
      --err-border: rgba(234,84,85,0.2);
      --success-color: #28C76F;
      --glass-bg: rgba(255,255,255,0.06);
      --glass-border: rgba(255,255,255,0.08);
      --transition-smooth: 0.35s cubic-bezier(0.22, 1, 0.36, 1);
    }

    *, *::before, *::after { box-sizing: border-box; }
    body {
      font-family: var(--bs-font-sans-serif);
      background: var(--bs-paper-bg);
      overflow-y: auto;
      overflow-x: hidden;
    }
    html { overflow-y: auto; }

    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
      }
    }

    /* ═══ LAYOUT ═══ */
    .auth-shell {
      display: flex;
      min-height: 100vh;
      min-height: 100dvh;
    }

    /* ── FORM PANEL ── */
    .form-panel {
      flex: 0 0 460px;
      width: 460px;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 3rem 2.5rem;
      background: var(--bs-paper-bg);
      position: relative;
      z-index: 2;
    }
    [dir="rtl"] .form-panel { box-shadow: -8px 0 40px rgba(0,0,0,0.06); }
    [dir="ltr"] .form-panel { box-shadow: 8px 0 40px rgba(0,0,0,0.06); }
    .form-inner { width: 100%; max-width: 400px; }

    /* ── COVER ── */
    .cover-panel {
      flex: 1;
      position: relative;
      overflow: hidden;
      background: linear-gradient(160deg, #1a1a2e 0%, #16213e 25%, #0f3460 50%, #1a1a2e 100%);
      display: flex; align-items: center; justify-content: center;
      z-index: 1;
    }
    .cover-panel::before {
      content: '';
      position: absolute; inset: 0;
      background-image:
        linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
      background-size: 50px 50px;
      z-index: 0;
    }
    .cover-rings { position: relative; z-index: 1; }
    .cover-ring {
      position: absolute;
      border-radius: 50%;
      border: 0.5px solid rgba(255,255,255,0.06);
      top: 50%; left: 50%;
      transform: translate(-50%, -50%);
    }
    .cover-ring.r1 { width: 520px; height: 520px; animation: pulseRing 7s ease-in-out infinite; }
    .cover-ring.r2 { width: 380px; height: 380px; animation: pulseRing 5s ease-in-out infinite 1s; border-width: 0.4px; }
    .cover-ring.r3 { width: 260px; height: 260px; animation: pulseRing 4s ease-in-out infinite 0.5s; border-width: 0.3px; }
    @keyframes pulseRing {
      0%,100% { transform: translate(-50%,-50%) scale(1); opacity:0.5; }
      50% { transform: translate(-50%,-50%) scale(1.05); opacity:1; }
    }
    .cover-lock {
      font-size: 4rem;
      color: rgba(236,106,74,0.3);
      position: relative; z-index: 2;
    }
    .cover-text {
      position: relative; z-index: 2; text-align: center; margin-top: 1rem;
    }
    .cover-text h2 {
      color: rgba(255,255,255,0.9);
      font-weight: 300; font-size: 1.5rem; letter-spacing: 0.03em;
    }
    .cover-text p {
      color: rgba(255,255,255,0.45);
      font-size: 0.8rem; margin-top: 0.5rem;
    }

    /* ── Language Switch ── */
    .lang-switch {
      position: absolute;
      top: 16px;
      z-index: 10;
      display: inline-flex; align-items: center; gap: 6px;
      padding: 6px 14px;
      border-radius: 50px;
      border: 1px solid var(--bs-border-color, #e0e0e0);
      background: var(--bs-paper-bg, #fff);
      font-size: 0.72rem; font-weight: 600;
      color: var(--bs-body-color);
      cursor: pointer;
      text-decoration: none;
      transition: all var(--transition-smooth);
      opacity: 0.7;
      box-shadow: 0 2px 8px rgba(0,0,0,0.04);
    }
    [dir="rtl"] .lang-switch { left: 16px; }
    [dir="ltr"] .lang-switch { right: 16px; }
    .lang-switch:hover { opacity: 1; border-color: var(--brand-accent); color: var(--brand-accent); transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,0,0,0.08); }
    .lang-switch i { font-size: 0.95rem; }
    @media (max-width: 991.98px) {
      .lang-switch { top: 10px; padding: 5px 10px; font-size: 0.68rem; }
      [dir="rtl"] .lang-switch { left: 10px; }
      [dir="ltr"] .lang-switch { right: 10px; }
    }

    /* ── Brand Header ── */
    .brand-header { margin-bottom: 2.5rem; }
    .brand-header .brand-mark {
      font-size: 1.8rem; font-weight: 800; letter-spacing: -0.02em;
      background: linear-gradient(135deg, var(--brand-primary), var(--brand-accent));
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }
    .brand-header .brand-sub {
      font-size: 0.72rem; color: var(--bs-body-color); opacity: 0.55; margin-top: 0.25rem;
      letter-spacing: 0.08em;
    }

    .section-title {
      font-size: 1.25rem; font-weight: 700; margin-bottom: 0.5rem;
      color: var(--bs-heading-color);
    }
    .section-desc {
      font-size: 0.82rem; color: var(--bs-body-color); opacity: 0.65; margin-bottom: 2rem;
    }

    /* ── Input ── */
    .ef-group { margin-bottom: 1.5rem; position: relative; }
    .ef-label {
      display: block; font-size: 0.78rem; font-weight: 600;
      margin-bottom: 0.4rem; color: var(--bs-body-color);
      opacity: 0.7;
    }
    .ef-input-wrap { position: relative; display: flex; align-items: center; }
    .ef-icon {
      position: absolute; color: var(--bs-body-color); opacity: 0.4;
      font-size: 0.95rem; transition: color var(--transition-smooth);
      pointer-events: none; z-index: 2;
    }
    [dir="rtl"] .ef-icon { right: 14px; }
    [dir="ltr"] .ef-icon { left: 14px; }
    .ef-input {
      width: 100%; padding: 0.7rem 0.9rem;
      font-size: 0.88rem; line-height: 1.5;
      border: 1px solid var(--bs-border-color, #e0e0e0);
      border-radius: 12px;
      background: var(--bs-input-bg, #fff);
      color: var(--bs-body-color);
      transition: all var(--transition-smooth);
      outline: none;
    }
    [dir="rtl"] .ef-input { padding-right: 2.5rem; }
    [dir="ltr"] .ef-input { padding-left: 2.5rem; }
    .ef-input:focus {
      border-color: var(--brand-accent);
      box-shadow: 0 0 0 3px rgba(240,169,75,0.12);
    }
    .ef-input:focus ~ .ef-icon,
    .ef-input-wrap:focus-within .ef-icon { color: var(--brand-accent); opacity: 0.8; }
    .ef-input.error {
      border-color: var(--err-border);
      background: var(--err-bg);
    }

    /* ── Error ── */
    .err-banner {
      padding: 0.75rem 1rem;
      border-radius: 10px;
      margin-bottom: 1.25rem;
      font-size: 0.8rem;
      font-weight: 600;
      border: 1px solid var(--err-border);
      background: var(--err-bg);
      color: #EA5455;
      display: none;
      align-items: center;
      gap: 0.5rem;
    }
    .err-banner.active { display: flex; }

    /* ── Success ── */
    .success-panel {
      text-align: center;
      padding: 2rem 1rem;
      display: none;
    }
    .success-panel.active { display: block; }
    .success-circle {
      width: 64px; height: 64px;
      border-radius: 50%;
      background: rgba(40,199,111,0.1);
      display: inline-flex; align-items: center; justify-content: center;
      margin-bottom: 1rem;
    }
    .success-circle i {
      font-size: 1.8rem;
      color: var(--success-color);
    }
    .success-title {
      font-size: 1.1rem; font-weight: 700;
      color: var(--bs-heading-color);
      margin-bottom: 0.5rem;
    }
    .success-meta {
      font-size: 0.78rem; color: var(--bs-body-color); opacity: 0.6;
      margin-bottom: 1.5rem;
    }

    /* ── Button ── */
    .btn-enterprise {
      display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
      width: 100%; padding: 0.8rem 1.5rem; font-size: 0.85rem; font-weight: 700;
      border: none; border-radius: 12px;
      cursor: pointer;
      text-align: center;
      color: #fff;
      background: linear-gradient(135deg, var(--brand-primary), var(--brand-accent));
      transition: all var(--transition-smooth);
      letter-spacing: 0.02em;
      box-shadow: 0 4px 16px rgba(236,106,74,0.2);
      position: relative;
      overflow: hidden;
    }
    .btn-enterprise:hover {
      transform: translateY(-1px);
      box-shadow: 0 6px 24px rgba(236,106,74,0.3);
    }
    .btn-enterprise:active { transform: translateY(0); }
    .btn-enterprise:disabled {
      opacity: 0.5; cursor: not-allowed; transform: none;
      box-shadow: none;
    }

    .btn-outline-link {
      display: block; text-align: center; margin-top: 1rem;
      font-size: 0.78rem; color: var(--bs-body-color); opacity: 0.5;
      text-decoration: none;
      transition: all var(--transition-smooth);
    }
    .btn-outline-link:hover { opacity: 0.8; color: var(--brand-primary); }

    /* ── Spinner ── */
    .btn-spinner {
      width: 16px; height: 16px; border: 2px solid rgba(255,255,255,0.3);
      border-top-color: #fff; border-radius: 50%;
      animation: spin 0.6s linear infinite;
      display: none;
    }
    .btn-enterprise.loading .btn-spinner { display: inline-block; }
    .btn-enterprise.loading .btn-text { display: none; }
    @keyframes spin { to { transform: rotate(360deg); } }

    /* ── Responsive ── */
    @media (max-width: 991.98px) {
      .cover-panel { display: none; }
      .auth-shell { display: block; }
      .form-panel {
        flex: auto; width: 100%; padding: 2rem 1.25rem; min-height: 100dvh;
        box-shadow: none !important;
      }
      .form-inner { max-width: 100%; }
      .brand-header { margin-bottom: 1.5rem; }
      .section-title { font-size: 1.1rem; }
      .section-desc { margin-bottom: 1.25rem; }
    }

    /* a11y */
    :focus-visible { outline: 3px solid var(--brand-accent); outline-offset: 2px; }
