* { box-sizing: border-box; margin: 0; padding: 0; }
    body {
      min-height: 100vh;
      display: flex;
      font-family: 'Segoe UI', system-ui, sans-serif;
      background: #f5f7fb;
    }
    .left {
      width: 45%;
      background: linear-gradient(135deg, #1D9E75 0%, #0F6E56 100%);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 48px;
      color: #fff;
    }
    .left-icon { font-size: 64px; margin-bottom: 20px; }
    .left h1 { font-size: 34px; font-weight: 800; margin-bottom: 12px; }
    .left p  { font-size: 15px; opacity: .85; text-align: center; line-height: 1.6; max-width: 300px; }
    .features { margin-top: 40px; display: flex; flex-direction: column; gap: 12px; width: 100%; max-width: 300px; }
    .feat { display: flex; align-items: center; gap: 12px; background: rgba(255,255,255,.15); border-radius: 14px; padding: 12px 16px; font-size: 14px; font-weight: 600; }
    .feat i { font-size: 20px; }
    .right { flex: 1; display: flex; align-items: center; justify-content: center; padding: 48px 40px; }
    .login-box { width: 100%; max-width: 400px; }
    .login-box h2 { font-size: 26px; font-weight: 800; color: #121826; margin-bottom: 6px; }
    .login-box p  { font-size: 14px; color: #9ca3af; margin-bottom: 32px; }
    .form-group { margin-bottom: 16px; }
    label { display: block; font-size: 11px; font-weight: 700; color: #4b5563; text-transform: uppercase; letter-spacing: .4px; margin-bottom: 6px; }
    input { width: 100%; padding: 12px 16px; border: 1.5px solid #e8ecf0; border-radius: 14px; font-size: 14px; color: #121826; outline: none; transition: border-color .15s, box-shadow .15s; background: #fafbfc; }
    input:focus { border-color: #1D9E75; box-shadow: 0 0 0 3px rgba(29,158,117,.12); background: #fff; }
    .btn-login { width: 100%; padding: 14px; background: linear-gradient(135deg, #1D9E75, #0F6E56); color: #fff; border: none; border-radius: 14px; font-size: 15px; font-weight: 800; cursor: pointer; margin-top: 24px; display: flex; align-items: center; justify-content: center; gap: 8px; transition: filter .15s, transform .15s; }
    .btn-login:hover { filter: brightness(1.06); transform: translateY(-1px); }
    .btn-login:disabled { opacity: .6; cursor: not-allowed; transform: none; }
    .error-msg { background: #fef2f2; border: 1px solid #fecaca; color: #dc2626; padding: 10px 14px; border-radius: 12px; font-size: 13px; font-weight: 600; margin-top: 14px; display: none; }
    .spinner { width: 18px; height: 18px; border: 2.5px solid rgba(255,255,255,.4); border-top-color: #fff; border-radius: 50%; animation: spin .7s linear infinite; display: none; }
    @keyframes spin { to { transform: rotate(360deg); } }
    @media (max-width: 768px) { .left { display: none; } .right { padding: 24px; } }
