        * { box-sizing: border-box; margin: 0; padding: 0; font-family: 'Segoe UI', sans-serif; }
        body { background: #f4f6f9; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 24px; min-height: 100vh; padding: 20px 20px 0; }
        body > .site-footer { margin-top: auto; margin-left: -20px; margin-right: -20px; width: calc(100% + 40px); }
        .auth-container { background: #fff; padding: 40px; border-radius: 12px; box-shadow: 0 4px 20px rgba(0,0,0,0.08); width: 100%; max-width: 500px; animation: popIn 0.4s; }
        @keyframes popIn { 0%{transform:scale(0.9); opacity:0;} 100%{transform:scale(1); opacity:1;} }
        .brand { text-align: center; margin-bottom: 25px; }
        .brand h1 { color: #2c3e50; font-size: 24px; }
        .brand span { color: #0056b3; font-weight: 900; font-size: 32px; }
        .form-group { margin-bottom: 18px; }
        .form-group label { display: block; margin-bottom: 6px; font-weight: bold; font-size: 13px; color: #555; }
        .form-group input { width: 100%; padding: 12px; border: 1px solid #ddd; border-radius: 6px; font-size: 15px; outline: none; transition: 0.3s; }
        .form-group input:focus { border-color: #3498db; box-shadow: 0 0 5px rgba(52, 152, 219, 0.3); }
        .grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
        .btn { width: 100%; padding: 12px; background: #0056b3; color: white; border: none; border-radius: 6px; font-size: 16px; font-weight: bold; cursor: pointer; transition: 0.3s; margin-top: 10px; }
        .btn:hover { background: #004494; }
        .msg { padding: 12px; border-radius: 6px; margin-bottom: 20px; font-size: 14px; font-weight: bold; text-align: center; }
        .msg-error { background: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }
        .msg-success { background: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
        .bottom-link { text-align: center; margin-top: 20px; font-size: 14px; color: #555; }
        .bottom-link a { color: #0056b3; text-decoration: none; font-weight: bold; }
    
        .hint { display: block; margin-top: 6px; color: #7f8c8d; font-size: 12px; line-height: 1.4; }
        input:invalid { border-color: #e74c3c; }

        .form-group small { display: block; margin-top: 5px; color: #7f8c8d; font-size: 12px; line-height: 1.4; }
        .icab-box { background: #f8f9fa; padding: 15px; border-radius: 6px; border: 1px dashed #bdc3c7; margin-bottom: 18px; }
        input:invalid { border-color: #e74c3c; }
        @media (max-width: 640px) { .grid-2 { grid-template-columns: 1fr; } .auth-container { padding: 25px; } }

        .brand-logo {
            display: block;
            width: 88px;
            height: 88px;
            max-width: 88px;
            margin: 0 auto 8px;
            object-fit: cover;
            border-radius: 12px;
            box-shadow: 0 5px 16px rgba(220, 38, 38, .22);
            flex: 0 0 auto;
        }

        .auth-hotline {
            display: block;
            margin: 0 auto 12px;
            color: #e50914;
            font-size: 14px;
            font-weight: 800;
            letter-spacing: .2px;
            text-decoration: none;
        }

        .auth-hotline:hover,
        .auth-hotline:focus-visible {
            color: #b8000a;
            text-decoration: underline;
        }

        @media (max-width: 480px) {
            .brand-logo { width: 80px; height: 80px; max-width: 80px; }
        }

    .password-field {
      position: relative;
      display: flex;
      align-items: center;
    }

    .password-field input {
      padding-right: 72px;
    }

    .password-toggle {
      position: absolute;
      right: 8px;
      top: 50%;
      transform: translateY(-50%);
      min-width: 52px;
      padding: 7px 8px;
      border: 0;
      border-radius: 5px;
      background: #eef3f8;
      color: #0056b3;
      font-size: 12px;
      font-weight: 700;
      line-height: 1;
      cursor: pointer;
    }

    .password-toggle:hover,
    .password-toggle:focus-visible {
      background: #dfeaf5;
      outline: 2px solid rgba(0, 86, 179, 0.25);
      outline-offset: 1px;
    }

    .optional-label { color: #7f8c8d; font-weight: 600; }
    .auth-divider { display: flex; align-items: center; gap: 12px; margin: 20px 0; color: #8a94a0; font-size: 13px; }
    .auth-divider::before, .auth-divider::after { content: ''; height: 1px; background: #e4e8ed; flex: 1; }
    .google-auth-btn { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; padding: 11px 14px; border: 1px solid #ccd4dc; border-radius: 6px; background: #fff; color: #263238; text-decoration: none; font-weight: 700; transition: .2s; }
    .google-auth-btn:hover, .google-auth-btn:focus-visible { border-color: #4285f4; background: #f8fbff; box-shadow: 0 2px 8px rgba(66,133,244,.15); }
    .google-g { color: #4285f4; font-size: 19px; font-weight: 900; font-family: Arial, sans-serif; }
    .profile-intro { color: #667085; font-size: 13px; line-height: 1.5; margin-top: 7px; }
    .form-group input.readonly-field { background: #f4f6f8; color: #5f6b76; cursor: not-allowed; }
