/* Sign-in is a regular site page; only the form is narrower for readability. */
.sign-in-heading { border-bottom:1px solid var(--border); }
.sign-in-heading h1 { margin:0 0 12px; }
.sign-in-heading p { color:var(--muted); font-size:16px; margin:0; }
.sign-in-panel { display:block; max-width:460px; margin:32px auto 8px; }
.sign-in-panel .form-group { margin-bottom:20px; }
.sign-in-panel .input-wrapper { display:flex; flex-direction:column; position:relative; gap:8px; }
.sign-in-panel .input-wrapper label { order:-1; color:var(--text); font-size:15px; font-weight:500; }
.sign-in-panel .password-wrapper input { padding-right:76px; }
.sign-in-panel .password-toggle { position:absolute; bottom:3px; right:4px; min-height:38px; padding:6px 10px; font-size:14px; color:var(--primary); background:transparent; border:0; cursor:pointer; }
.sign-in-panel :is(.ripple-container,.input-line,.toggle-ripple,.btn-ripple,.social-ripple,.checkbox-material) { display:none; }
.sign-in-panel .form-options { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; margin:20px 0; font-size:14px; }
.sign-in-panel .checkbox-wrapper { display:flex; align-items:center; gap:8px; }
.sign-in-panel .checkbox-label { cursor:pointer; }
.sign-in-panel a { color:var(--primary); text-decoration:underline; text-underline-offset:3px; }
.sign-in-panel .material-btn { display:flex; align-items:center; justify-content:center; width:100%; position:relative; min-height:44px; cursor:pointer; }
.sign-in-panel .btn-loader { display:none; width:22px; height:22px; }
.sign-in-panel .material-btn.loading .btn-text { display:none; }
.sign-in-panel .material-btn.loading .btn-loader { display:block; }
.sign-in-panel .loader-circle { width:22px; height:22px; animation:sign-in-spin 1s linear infinite; }
.sign-in-panel .loader-path { stroke-dasharray:50 25; }
.sign-in-panel .material-btn:disabled { opacity:.6; cursor:wait; }
.sign-in-panel .divider { display:flex; align-items:center; gap:16px; color:var(--muted); margin:22px 0; font-size:14px; }
.sign-in-panel .divider::before,.sign-in-panel .divider::after { content:''; height:1px; background:var(--border); flex:1; }
.sign-in-panel .social-btn { display:flex; align-items:center; justify-content:center; gap:12px; width:100%; min-height:44px; padding:10px 16px; border:1px solid var(--border); border-radius:4px; background:var(--surface); color:var(--text); font-size:15px; cursor:pointer; }
.sign-in-panel .social-icon { width:20px; height:20px; }
.sign-in-panel .signup-link { margin-top:20px; font-size:14px; color:var(--muted); text-align:center; }
.sign-in-panel .signup-link p { margin:0; overflow-wrap:anywhere; }
.sign-in-panel .error-message { display:none; color:#b33a3a; font-size:14px; margin-top:6px; }
.sign-in-panel .error-message.show { display:block; }
.sign-in-panel .form-group.error input { border-color:#b33a3a!important; }
html[data-theme="dark"] .sign-in-panel .error-message { color:#ff9e9e; }
.sign-in-panel .success-message { display:none; padding:24px 0; text-align:center; }
.sign-in-panel .success-message.show { display:block; }
.sign-in-panel .success-icon { width:36px; height:36px; margin:auto; color:var(--primary); }
.sign-in-panel .success-icon svg { fill:currentColor; }
.sign-in-panel .success-message h3 { font-size:22px; margin:12px 0 8px; }
.sign-in-panel .success-message p { color:var(--muted); }
@keyframes sign-in-spin { to { transform:rotate(360deg); } }
@media(max-width:600px) { .sign-in-panel { margin-top:24px; } }
