/* Layout */
.hsc-login-wrapper{
    max-width:420px;
    margin:0 auto;
    padding:28px;
    background:#ffffff;
    border:1px solid #e6e6e6;
    border-radius:18px;
    box-shadow:0 14px 40px rgba(15, 23, 42, 0.08);
}

.hsc-login-form p,
.hsc-register-form p,
.hsc-reset-password-form p,
.hsc-login-links {
    margin:0 0 16px;
}

.hsc-login-form label,
.hsc-register-form label,
.hsc-reset-password-form label {
    display:block;
    margin-bottom:8px;
    font-size:14px;
    font-weight:600;
    color:#1f2937;
}

.hsc-login-form input[type="email"],
.hsc-login-form input[type="password"],
.hsc-register-form input[type="email"],
.hsc-register-form input[type="password"],
.hsc-register-form input[type="text"],
.hsc-register-form select,
.hsc-reset-password-form input[type="password"],
.nsl-registration-form input[type="email"],
.nsl-registration-form input[type="password"],
.nsl-registration-form input[type="text"],
.nsl-registration-form select {
    width:100%;
    padding:14px 16px;
    border:1px solid #d1d5db;
    border-radius:12px;
    background:#f8fafc;
    font-size:14px;
    color:#111827;
    box-sizing:border-box;
}

.nsl-registration-form p {
    margin:0 0 16px;
}

.nsl-registration-form label {
    display:block;
    margin-bottom:8px;
    font-size:14px;
    font-weight:600;
    color:#1f2937;
}

.hsc-login-button {
    width:100%;
    padding:14px 16px;
    border:0;
    border-radius:12px;
    background:#0f62fe;
    color:#ffffff;
    font-size:16px;
    font-weight:700;
    cursor:pointer;
    transition:background .2s ease, transform .2s ease;
}

.hsc-login-button:hover {
    background:#0054d6;
}

.hsc-divider {
    position:relative;
    text-align:center;
    margin:28px 0;
    color:#6b7280;
    font-size:14px;
}

.hsc-divider::before,
.hsc-divider::after {
    content:'';
    position:absolute;
    top:50%;
    width:36%;
    height:1px;
    background:#d1d5db;
}

.hsc-divider::before {
    left:0;
}

.hsc-divider::after {
    right:0;
}

.hsc-divider span {
    display:inline-block;
    background:#ffffff;
    padding:0 12px;
}

.hsc-social-button{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    padding:14px 18px;
    margin-bottom:15px;
    background:#ffffff;
    border:1px solid #d9d9d9;
    border-radius:12px;
    cursor:pointer;
    font-size:16px;
    font-weight:600;
    transition:all .25s ease;
    box-sizing:border-box;
}

.hsc-social-button:hover{
    background:#f7f7f7;
    border-color:#bdbdbd;
    transform:translateY(-1px);
}

.hsc-social-button:active{
    transform:translateY(0);
}

.hsc-social-button img{
    width:22px;
    height:22px;
    flex-shrink:0;
}

.hsc-social-button span{
    flex:1;
    text-align:center;
}

.hsc-google-button{
    color:#3c4043;
}

.hsc-linkedin-button{
    background:#0A66C2;
    color:#ffffff;
    border-color:#0A66C2;
}

.hsc-linkedin-button:hover{
    background:#004182;
    border-color:#004182;
}

.hsc-consent {
    margin-top:8px;
    margin-bottom:18px;
}

.hsc-consent label {
    display:flex;
    align-items:flex-start;
    gap:10px;
    font-size:14px;
    line-height:1.5;
}

.hsc-consent input {
    margin-top:4px;
}

.hsc-consent a {
    color:#0f62fe;
    text-decoration:underline;
}

.hsc-login-links a {
    color:#0f62fe;
    text-decoration:underline;
    font-size:14px;
}

.hsc-social-extra-fields {
    display: inline-block;
    width: 16.5rem;

}

.hsc-error{
    display:none;
    margin:0 0 20px;
    padding:10px 12px;
    border-radius:10px;
    background:#fdeaea;
    color:#b42318;
    font-size:14px;
}

.hsc-notice{
    padding:15px;
    margin-bottom:20px;
    border-radius:6px;
}

.hsc-notice-error{
    background:#ffe5e5;
    color:#a10000;
}

.hsc-notice-success{
    background:#e7f8e7;
    color:#006600;
}