/* SolarQuery login redesign v3.1. © ThinkStart Private Limited. */
.sq-auth-page { background:#f4f8f7; display:flex; flex-direction:column; min-height:100svh; }
.sq-auth-page .sq-header { flex:none; }
.sq-auth-page .sq-header-inner { min-height:5rem; }
.sq-auth-main { width:calc(100% - 3rem); max-width:78rem; margin:0 auto; padding:1.25rem 0; flex:1 0 auto; display:grid; align-items:center; }
.sq-auth-layout { display:grid; grid-template-columns:minmax(0,1.04fr) minmax(0,1fr); background:#fff; border:1px solid var(--sq-border); border-radius:1.5rem; box-shadow:0 16px 48px #193e3010; }
.sq-auth-story { display:flex; flex-direction:column; background:#e8f4ef; border-radius:1.5rem 0 0 1.5rem; min-width:0; }
.sq-auth-intro { padding:1.5rem 2rem 1.25rem; }
.sq-auth-tagline { font-size:1rem; line-height:1.5; font-weight:600; color:var(--sq-action-dark); margin-bottom:.625rem; }
.sq-auth-intro h1 { font-size:clamp(2rem,2.6vw,2.75rem); line-height:1.1; letter-spacing:-.035em; margin-bottom:.75rem; }
.sq-auth-intro h1 span { color:var(--sq-action-dark); }
.sq-auth-subtitle { font-size:1.125rem; line-height:1.45; color:#415b51; max-width:29rem; }
.sq-auth-image { position:relative; flex:1; min-height:10rem; margin:0 1.25rem; border-radius:1rem; background:#d0e4d9; overflow:hidden; }
.sq-auth-image img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; object-position:center 39%; }
.sq-auth-image figcaption { position:absolute; bottom:.75rem; left:.75rem; right:.75rem; width:max-content; max-width:calc(100% - 1.5rem); padding:.25rem .625rem; border-radius:.375rem; background:#fff; color:#364c42; font-size:1rem; line-height:1.5; }
.sq-auth-trust { display:grid; gap:.75rem; padding:1.25rem 2rem; }
.sq-auth-trust-item { display:flex; align-items:flex-start; gap:.75rem; }
.sq-auth-trust-icon { width:2.25rem; height:2.25rem; display:grid; place-items:center; background:#fff; color:var(--sq-action-dark); border-radius:.625rem; flex:none; }
.sq-auth-trust h2 { font-size:1rem; line-height:1.5; letter-spacing:0; font-weight:650; }
.sq-auth-trust p { font-size:1rem; line-height:1.4; color:#415b51; }
.sq-auth-panel { padding:1.5rem 2.5rem; min-width:0; display:flex; flex-direction:column; justify-content:center; }
.sq-auth-tabs { display:grid; grid-template-columns:1fr 1fr; gap:.25rem; border:1px solid var(--sq-control-border); border-radius:.75rem; padding:.25rem; background:#f1f6f3; margin-bottom:1rem; }
.sq-auth-tabs a { display:flex; justify-content:center; align-items:center; padding:.5rem; min-height:2.75rem; border-radius:.5rem; color:#475e54; font-size:1rem; line-height:1.5; font-weight:600; }
.sq-auth-tabs a[aria-current=page] { background:#fff; box-shadow:0 2px 8px #254d3312; color:var(--sq-action-dark); outline:2px solid var(--sq-action-dark); outline-offset:-2px; }
.sq-auth-tabs a:focus-visible { outline:3px solid #102e25; outline-offset:3px; }
.sq-auth-field { margin-bottom:.75rem; }
.sq-auth-field label { display:block; font-size:1rem; font-weight:600; line-height:1.5; margin-bottom:.25rem; }
.sq-auth-input-wrap { position:relative; }
.sq-auth-input-wrap>.sq-icon { position:absolute; top:.75rem; left:.875rem; pointer-events:none; width:1.25rem; height:1.25rem; color:#536b60; }
.sq-auth-page .sq-auth-field input:not([type=checkbox]) { min-height:2.875rem; border-radius:.625rem; padding:.625rem .875rem .625rem 2.75rem; font-size:1rem; line-height:1.5; background:#fcfefd; }
.sq-auth-page .sq-auth-field input[name=password] { padding-right:3.25rem; }
.sq-auth-eye { display:grid; place-items:center; position:absolute; right:.125rem; top:.0625rem; width:2.75rem; min-height:2.75rem; background:none; border:0; border-radius:.5rem; color:#415b51; }
.sq-auth-eye .sq-icon { width:1.25rem; height:1.25rem; }
.sq-auth-options { display:flex; justify-content:space-between; align-items:center; gap:.75rem; flex-wrap:wrap; font-size:1rem; line-height:1.5; margin-top:-.375rem; }
.sq-auth-remember { display:flex; align-items:center; gap:.5rem; cursor:pointer; min-height:2.75rem; }
.sq-auth-remember input { accent-color:var(--sq-action-dark); width:1.25rem; height:1.25rem; margin:0; flex:none; }
.sq-auth-page .sq-auth-options a { display:flex; align-items:center; min-height:2.75rem; }
.sq-auth-panel a:not(.sq-auth-tabs a) { color:var(--sq-action-dark); text-decoration:underline; text-underline-offset:.2em; }
.sq-auth-submit { width:100%; min-height:2.875rem; border-radius:.625rem; padding:.625rem 1rem; font-size:1rem; line-height:1.5; }
.sq-auth-switch { display:flex; align-items:center; justify-content:center; width:100%; padding:.5rem .25rem; min-height:2.75rem; background:none; border:0; border-radius:.5rem; color:var(--sq-action-dark); font-size:1rem; line-height:1.5; font-weight:600; text-decoration:underline; text-underline-offset:.2em; }
.sq-auth-divider { display:flex; align-items:center; gap:.75rem; font-size:1rem; line-height:1.5; color:#596561; margin:.375rem 0; }
.sq-auth-divider::before,.sq-auth-divider::after { content:""; height:1px; background:#d3ded7; flex:1; }
.sq-auth-socials { display:grid; grid-template-columns:repeat(3,1fr); gap:.75rem; }
.sq-auth-social { min-height:2.75rem; display:grid; place-items:center; border:1px solid var(--sq-control-border); border-radius:.625rem; background:#fff; color:#242a29; }
.sq-auth-social svg { width:1.375rem; height:1.375rem; }
.sq-auth-social:hover,.sq-auth-eye:hover { background:#e8f4ef; }
.sq-auth-bottom { margin-top:.75rem; font-size:1rem; line-height:1.5; text-align:center; }
.sq-auth-bottom p { font-size:1rem; line-height:1.5; }
.sq-auth-bottom>p+p { margin-top:.375rem; }
.sq-auth-bottom a { font-weight:600; }
.sq-auth-footer { max-width:78rem; width:calc(100% - 3rem); margin:auto; min-height:3.5rem; display:flex; align-items:center; justify-content:space-between; gap:.5rem 1.5rem; flex-wrap:wrap; font-size:1rem; line-height:1.5; padding-bottom:.25rem; }
.sq-auth-footer p { font-size:1rem; }
.sq-auth-footer nav { display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; }
.sq-auth-footer a { min-height:2.75rem; display:inline-flex; align-items:center; text-decoration:underline; text-underline-offset:.2em; }
.sq-auth-otp h2 { font-size:1.375rem; line-height:1.3; margin-bottom:.5rem; }
.sq-auth-otp>p { font-size:1rem; line-height:1.5; margin-bottom:1rem; }
.sq-auth-phone { display:flex; align-items:stretch; }
.sq-auth-phone-prefix { display:flex; align-items:center; justify-content:center; min-height:2.875rem; padding:0 .875rem; border:1px solid var(--sq-control-border); border-right:0; border-radius:.625rem 0 0 .625rem; background:#edf5f0; font-size:1rem; line-height:1; white-space:nowrap; box-sizing:border-box; }
.sq-auth-page .sq-auth-field .sq-auth-phone input { flex:1 1 auto; min-height:2.875rem; border-radius:0 .625rem .625rem 0; padding-left:.75rem; }
.sq-auth-page .sq-auth-field input.sq-auth-code { padding-inline:1rem; letter-spacing:.25em; }
.sq-auth-otp-tools { display:flex; justify-content:space-between; gap:.5rem; flex-wrap:wrap; }
.sq-auth-otp-tools button { width:auto; }
.sq-auth-message { background:#edf5f0; color:#324e40; padding:.75rem; border:1px solid #718078; border-radius:.625rem; font-size:1rem; line-height:1.5; margin-block:.75rem; }
.sq-auth-error { color:#843126; font-size:1rem; line-height:1.5; margin-top:.25rem; }
.sq-auth-modal { width:calc(100% - 2rem); max-width:29rem; padding:2rem; border:1px solid var(--sq-border); border-radius:1rem; color:var(--sq-ink); max-height:calc(100svh - 2rem); overflow:auto; }
.sq-auth-modal::backdrop { background:#11281d80; }
.sq-auth-modal h2 { font-size:1.5rem; margin-bottom:1rem; }
.sq-auth-modal p { font-size:1rem; line-height:1.65; margin-bottom:1.5rem; }
.sq-auth-noscript { margin:.75rem 0; font-size:1rem; }
/* Fit is achieved through spacing, never tiny text, clipping, or an inner form scrollbar. */
@media (min-width:58em) and (max-height:50em) {
 .sq-auth-main { padding-block:.5rem; }
 .sq-auth-panel { padding:1rem 2rem; }
 .sq-auth-tabs { margin-bottom:.625rem; }
 .sq-auth-field { margin-bottom:.5rem; }
 .sq-auth-intro { padding:1.25rem 1.5rem 1rem; }
 .sq-auth-intro h1 { font-size:2.25rem; }
 .sq-auth-trust { padding:1rem 1.5rem; gap:.625rem; }
 .sq-auth-bottom { margin-top:.625rem; }
}
@media (max-width:57.999em) {
 .sq-auth-main { max-width:40rem; width:calc(100% - 2rem); min-height:auto; padding-block:1rem; }
 .sq-auth-layout { grid-template-columns:minmax(0,1fr); }
 .sq-auth-panel { order:-1; padding:1.5rem; }
 .sq-auth-story { border-radius:0 0 1.5rem 1.5rem; }
 .sq-auth-image { flex:none; aspect-ratio:1.65; min-height:0; }
 .sq-auth-intro { padding:1.5rem; }
 .sq-auth-trust { padding:1.5rem; }
 .sq-auth-footer { width:calc(100% - 2rem); max-width:40rem; padding-block:.5rem; justify-content:center; text-align:center; }
 .sq-auth-footer nav { justify-content:center; }
}
@media (max-width:30em) {
 .sq-auth-main { width:calc(100% - 1rem); padding-top:.5rem; }
 .sq-auth-panel { padding:1rem; }
 .sq-auth-options { gap:0 .5rem; }
 .sq-auth-intro { padding:1.25rem; }
 .sq-auth-intro h1 { font-size:2rem; }
 .sq-auth-trust { padding:1.25rem; }
 .sq-auth-tabs { margin-bottom:.75rem; }
}
@media (prefers-reduced-motion:reduce) { .sq-auth-page *, .sq-auth-page *::before,.sq-auth-page *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
@media (forced-colors:active) { .sq-auth-tabs a[aria-current=page] { outline:2px solid Highlight; } .sq-auth-social,.sq-auth-submit,.sq-auth-eye { border:1px solid ButtonText; } }
