/* Scoped to the login route; leaves the Vue form and dashboard untouched. */
body.csq-login-page { background:#fafafa; color:#222126; }
.csq-login-shell.csq-login-shell { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:stretch; min-height:100svh; padding:0; overflow:visible; background:#fafafa; font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif; }
.csq-login-shell > .absolute { display:none; }
.csq-login-cover { display:flex; flex-direction:column; justify-content:space-between; min-height:100svh; padding:44px 52px 30px; background:#421e2b; color:#fff7fa; overflow:hidden; position:relative; }
.csq-wordmark { display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:20px; font-weight:750; letter-spacing:-.8px; }
.csq-wordmark span { font-size:12px; letter-spacing:0; font-weight:400; color:#e3c9d2; }
.csq-cover-main { position:relative; padding:50px 0; }
.csq-cover-main h1 { position:relative; margin:20px 0 25px; font-size:60px; line-height:1.09; font-weight:450; letter-spacing:-2.8px; }
.csq-cover-main h1 em { font-family:Georgia,"Times New Roman",serif; font-weight:400; }
.csq-cover-main p { position:relative; font-size:15px; line-height:1.95; color:#e3c9d2; }
.csq-weave { height:172px; width:240px; position:relative; margin:10px 0 36px 6px; transform:rotate(-12deg); }
.csq-weave i { position:absolute; width:124px; height:124px; border:1px solid #bf8a9c; border-radius:50% 50% 2px 50%; transform:rotate(45deg); top:20px; left:0; }
.csq-weave i:nth-child(2) { left:28px; }
.csq-weave i:nth-child(3) { left:56px; }
.csq-weave i:nth-child(4) { left:84px; }
.csq-weave i:nth-child(5) { left:112px; }
.csq-cover-foot { display:flex; justify-content:space-between; gap:16px; padding-top:24px; border-top:1px solid #714754; color:#e3c9d2; font-size:11px; line-height:1.6; }
.csq-login-content.csq-login-content { align-self:center; justify-self:center; width:100%; max-width:440px; padding:56px 28px; margin:0; }
.csq-login-content > .mb-8.text-center { display:none; }
.csq-form-brand { font-size:12px; font-weight:650; color:#69545d; letter-spacing:1px; margin-bottom:54px; }
.csq-login-content .card-glass { padding:0; border:0; border-radius:0; box-shadow:none; backdrop-filter:none; background:transparent; color:#222126; }
.csq-login-content .card-glass > .space-y-6 > .text-center { text-align:left; margin-bottom:34px; }
.csq-login-content h2 { color:#222126!important; font-size:32px; line-height:1.3; letter-spacing:-.8px; font-weight:650; }
.csq-login-content .card-glass > .space-y-6 > .text-center p { color:#62606a!important; margin-top:12px; font-size:14px; line-height:1.7; }
.csq-login-content .input-label { color:#33313a!important; margin-bottom:9px; font-size:13px; font-weight:550; }
.csq-login-content input.input { height:52px; min-width:0; font-size:16px; color:#25222a!important; background:#fff!important; border:1px solid #c9c5ca; border-radius:8px; box-shadow:none; transition:border-color .15s,box-shadow .15s; }
.csq-login-content input.input::placeholder { color:#737079!important; opacity:1; }
.csq-login-content input.input:focus { outline:0; border-color:#71334c; box-shadow:0 0 0 3px #71334c20; }
.csq-login-content input.input-error { border-color:#b42335; }
.csq-login-content input:disabled { opacity:.65; }
.csq-login-content form > div > .relative svg { color:#716974; }
.csq-login-content form .relative button { min-width:44px; justify-content:center; padding:0; color:#615962; }
.csq-login-content button[type=submit] { margin-top:28px; height:52px; border:1px solid #522336; border-radius:8px; background:#522336!important; color:#fff!important; box-shadow:none; font-size:15px; font-weight:600; transition:background .15s,transform .15s; }
.csq-login-content button[type=submit]:hover:not(:disabled) { background:#6b3047!important; }
.csq-login-content button[type=submit]:active:not(:disabled) { transform:translateY(1px); }
.csq-login-content button:disabled { opacity:.55; cursor:not-allowed; }
.csq-login-content button:focus-visible,.csq-login-content a:focus-visible { outline:3px solid #a77589; outline-offset:4px; }
.csq-access-note { margin-top:24px; color:#6c6570; text-align:center; font-size:12px; line-height:1.7; }
.csq-login-content > .mt-8.text-center { color:#716974!important; font-size:11px; margin-top:52px; }
@media(min-width:1600px) { .csq-login-cover { padding:56px 80px 36px; } .csq-cover-main h1 { font-size:76px; } }
@media(max-width:1100px) { .csq-login-cover { padding:36px 32px 28px; } .csq-cover-main h1 { font-size:48px; letter-spacing:-2px; } .csq-wordmark { flex-direction:column; align-items:flex-start; gap:6px; } }
@media(max-width:760px) { .csq-login-shell.csq-login-shell { display:block; } .csq-login-cover { min-height:0; padding:26px 24px 30px; } .csq-wordmark { flex-direction:row; align-items:center; font-size:18px; } .csq-cover-main { padding:0; } .csq-cover-main h1 { font-size:34px; line-height:1.15; letter-spacing:-1px; margin:28px 0 0; } .csq-cover-main h1 br { display:none; } .csq-cover-main h1 em { display:block; } .csq-cover-main p,.csq-weave,.csq-cover-foot { display:none; } .csq-login-content.csq-login-content { max-width:460px; margin:auto; padding:36px 24px max(28px,env(safe-area-inset-bottom)); } .csq-form-brand { display:none; } .csq-login-content h2 { font-size:27px; } .csq-login-content .card-glass > .space-y-6 > .text-center { margin-bottom:26px; } .csq-login-content > .mt-8.text-center { margin-top:32px; } }
@media(prefers-reduced-motion:reduce) { .csq-login-content * { transition:none!important; } }
