/* Existing sign-in/registration forms and Google One Tap remain untouched. */
body.gw-signin { overflow:hidden; }
.gw-signin::before { filter:saturate(.65); }
.gw-signin::after {
    background:linear-gradient(100deg,#cde1df22,#f5f6ef99) !important;
    pointer-events:none;
}
.gw-signin .scroll-container { padding:0 28px 20px; display:block; }
.gw-signin-header {
    max-width:1240px; margin:auto; min-height:82px; display:flex;
    align-items:center; gap:12px; border-bottom:1px solid #344e5c22;
    color:#263b4b; font-size:13px; padding-right:90px;
}
.gw-signin-header img { object-fit:contain; }
.gw-signin .login-container {
    display:grid; grid-template-columns:minmax(0,1fr) 420px;
    grid-template-rows:auto auto auto; column-gap:clamp(35px,7vw,120px);
    row-gap:50px; align-items:start; max-width:1160px; width:100%;
    min-height:calc(100dvh - 105px); padding:75px 0 0; margin:0 auto;
    background:transparent; border:0; box-shadow:none; backdrop-filter:none;
    border-radius:0; text-align:left;
}
.gw-signin .language-switcher { position:fixed; top:25px; right:30px; display:flex; gap:10px; z-index:20; }
.gw-signin .lang-flag { box-shadow:none; transform:none; opacity:.65; }
.gw-signin .lang-flag.active { opacity:1; }
.gw-signin .lang-flag img { width:25px; height:18px; }
.gw-signin .gw-signin-hero { grid-column:1; grid-row:1; align-self:end; }
.gw-signin .medical-logo { display:none; }
.gw-signin .app-title { font-family:Georgia,"Times New Roman",serif; font-size:clamp(48px,6vw,88px); font-weight:500; color:#153842; letter-spacing:-.06em; margin:0 0 22px; }
.gw-signin .app-title::after { content:"."; color:#c97753; }
.gw-signin .gw-signin-tagline { font-family:Georgia,"Times New Roman",serif; font-size:clamp(24px,2.5vw,33px); color:#263b4b; line-height:1.3; margin:0 0 12px; }
.gw-signin .app-subtitle { white-space:normal; font-size:14px; color:#435e68; margin:0; }
.gw-signin #actionButtons, .gw-signin #loginForm, .gw-signin #registerForm {
    grid-column:2; grid-row:1 / span 2; width:100%;
    align-self:center; padding:35px; background:#fffefaee;
    border:1px solid #fff; border-radius:6px; box-shadow:0 8px 24px #19344514;
    position:relative;
}
.gw-signin #actionButtons::before, .gw-signin .form-container::before {
    content:""; position:absolute; left:35px; top:0; width:64px; height:3px; background:#c97753;
}
.gw-signin .gw-signin-decoration {
    position:absolute; right:18px; bottom:12px; width:76px; height:76px;
    object-fit:contain; pointer-events:none; user-select:none;
}
.gw-signin #actionButtons h2 { font-family:Georgia,"Times New Roman",serif; font-size:29px; color:#263b4b; margin-bottom:10px; }
.gw-signin .gw-signin-eyebrow { font-size:10px; font-weight:700; letter-spacing:.15em; color:#435e68; margin-bottom:18px; }
.gw-signin .gw-signin-description { font-size:13px; line-height:1.6; color:#536b74; margin-bottom:30px; }
.gw-signin .btn-professional-login {
    padding:12px 16px; margin-bottom:12px; background:#30415c !important;
    border:1px solid #30415c; border-radius:4px; font-size:15px; box-shadow:none;
    transition:background-color .15s; color:#fffaf3 !important;
}
.gw-signin .btn-professional-login:hover { transform:none; background:#243047 !important; }
.gw-signin #actionButtons > button:nth-of-type(2) { background:transparent !important; color:#30415c !important; border-color:#b9c7cf; }
.gw-signin .btn-demo-sparkle::before { display:none; }
.gw-signin #actionButtons > a { background:transparent !important; border:0; padding:12px 0; font-size:13px; color:#304b68 !important; box-shadow:none; margin:0; }
.gw-signin #actionButtons > a:first-of-type { margin-top:10px; border-top:1px solid #cbd5d9; border-radius:0; }
.gw-signin .faq-link-button { font-size:13px; }
.gw-signin .form-container .form-control { border:1px solid #b9c7cf !important; border-radius:4px !important; padding:10px 12px !important; font-size:16px !important; }
.gw-signin .features-grid {
    grid-column:1; grid-row:2; margin:35px 0 0; padding:16px;
    background:#fffefaee; border:1px solid #fff; border-radius:6px; gap:12px 24px;
}
.gw-signin .feature-item { display:grid; grid-template-columns:22px minmax(0,1fr); column-gap:10px; align-content:start; background:none; border:0; border-top:1px solid #cbd5d9; border-radius:0; padding:12px 0 0; text-align:left; transform:none; }
.gw-signin .feature-icon { display:flex; grid-column:1; grid-row:1 / span 2; color:#b5643e; font-size:22px; line-height:1; margin:0; text-shadow:none; }
.gw-signin .gw-feature-symbol { display:block; flex:none; width:22px; height:22px; }
.gw-signin .feature-title, .gw-signin .feature-desc { grid-column:2; }
.gw-signin .feature-title { font-size:13px; font-weight:600; color:#263b4b; margin:0 0 4px; }
.gw-signin .feature-desc { font-size:12px; color:#435e68; line-height:1.45; }
.gw-signin .legal-footer { grid-column:1 / -1; grid-row:3; margin-top:0 !important; padding:18px 0 !important; border-top:1px solid #344e5c22 !important; text-align:right !important; }
.gw-signin .legal-footer a { color:#435e68 !important; font-size:12px; }
.gw-signin .login-container > .alert { grid-column:1 / -1; }
@media(max-width:800px) {
    .gw-signin .login-container { grid-template-columns:minmax(0,1fr) 340px; column-gap:25px; padding-top:55px; }
    .gw-signin #actionButtons,.gw-signin #loginForm,.gw-signin #registerForm { padding:24px; }
}
@media(max-width:650px) {
    .gw-signin .scroll-container { padding:0 18px 20px; }
    .gw-signin-header { min-height:68px; font-size:11px; gap:8px; padding-right:65px; }
    .gw-signin-header img { width:34px; height:34px; }
    .gw-signin .language-switcher { right:16px; top:23px; gap:6px; }
    .gw-signin .lang-flag img { width:19px; height:14px; }
    .gw-signin .login-container { display:flex; flex-direction:column; gap:24px; padding-top:34px; min-height:0; }
    .gw-signin .gw-signin-hero { order:0; width:100%; }
    .gw-signin .app-title { font-size:54px; margin-bottom:14px; }
    .gw-signin .gw-signin-tagline { font-size:24px; }
    .gw-signin .features-grid { order:2; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0; width:100%; gap:12px 16px; padding:12px; }
    .gw-signin #actionButtons,.gw-signin #loginForm,.gw-signin #registerForm { order:1; }
    .gw-signin .legal-footer { order:3; width:100%; text-align:center !important; }
    .gw-signin .legal-footer a { display:inline-block; margin:6px !important; }
}
/* Reserve decoration space after the compact-card padding overrides too. */
.gw-signin #actionButtons { padding-bottom:90px; }
