    * { margin: 0; padding: 0; box-sizing: border-box; }
    body {
      font-family: 'Geist Sans', -apple-system, BlinkMacSystemFont, sans-serif;
      background: #f0f2f5;
      display: flex;
      align-items: center;
      justify-content: center;
      min-height: 100vh;
      padding: 20px;
    }
    .card {
      background: #fff;
      border-radius: 12px;
      box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
      width: 400px;
      max-width: 100%;
      overflow: hidden;
    }
    .card-header {
      background: #0066b3;
      padding: 24px 32px;
      text-align: center;
    }
    .card-header h1 {
      color: #fff;
      font-size: 1.15rem;
      font-weight: 600;
    }
    .card-body {
      padding: 32px;
    }
    .card-body p {
      font-size: 0.9rem;
      color: #64748b;
      line-height: 1.5;
      margin-bottom: 20px;
    }
    .field {
      margin-bottom: 16px;
    }
    .field label {
      display: block;
      font-size: 0.82rem;
      font-weight: 600;
      color: #334155;
      margin-bottom: 6px;
    }
    .field input {
      width: 100%;
      padding: 10px 14px;
      border: 1px solid #e2e8f0;
      border-radius: 8px;
      font-size: 0.9rem;
      font-family: inherit;
      outline: none;
      transition: border-color 0.15s;
    }
    .field input:focus {
      border-color: #0066b3;
      box-shadow: 0 0 0 3px rgba(0, 102, 179, 0.1);
    }
    .btn {
      width: 100%;
      padding: 11px;
      background: #0066b3;
      color: #fff;
      border: none;
      border-radius: 8px;
      font-size: 0.9rem;
      font-weight: 600;
      font-family: inherit;
      cursor: pointer;
      transition: background 0.15s;
    }
    .btn:hover { background: #005299; }
    .btn:disabled { background: #94a3b8; cursor: not-allowed; }
    .msg {
      margin-top: 16px;
      padding: 10px 14px;
      border-radius: 8px;
      font-size: 0.85rem;
      display: none;
    }
    .msg.success { display: block; background: #f0fdf4; color: #16a34a; border: 1px solid #dcfce7; }
    .msg.error { display: block; background: #fef2f2; color: #dc2626; border: 1px solid #fecaca; }
    .back-link {
      display: block;
      text-align: center;
      margin-top: 16px;
      font-size: 0.85rem;
      color: #0066b3;
      text-decoration: none;
    }
    .back-link:hover { text-decoration: underline; }
    .strength {
      height: 4px;
      border-radius: 2px;
      margin-top: 6px;
      transition: all 0.2s;
    }
    .strength.weak { background: #dc2626; width: 33%; }
    .strength.medium { background: #f59e0b; width: 66%; }
    .strength.strong { background: #16a34a; width: 100%; }
