.auth-page { padding:0!important; width:100%; max-width:none; }
body:has(.auth-page) .app-shell { border:0; margin:0; background:var(--color-bg); min-height:100dvh; border-radius:0; }
body:has(.auth-page) .theme-standalone { z-index:5; right:24px; top:20px; }
.auth-layout { display:grid; grid-template-columns:minmax(440px,1fr) minmax(430px,.92fr); min-height:100dvh; max-width:1600px; margin:auto; padding:22px; gap:24px; }
.auth-entry { display:flex; flex-direction:column; padding:24px clamp(30px,5vw,90px); }
.auth-brand { display:flex; align-items:center; gap:12px; text-decoration:none; font-size:18px; font-weight:650; letter-spacing:-.5px; width:fit-content; }
.auth-mark { width:44px; height:44px; display:grid; place-items:center; border-radius:14px; color:white; background:#f56336; }
.auth-brand small { display:block; font-size:11px; font-weight:400; letter-spacing:.2px; color:var(--color-ink-muted); margin-top:1px; }
.auth-form-wrap { max-width:410px; width:100%; margin:auto; padding:65px 0; }
.auth-eyebrow { font-size:10px; font-weight:650; letter-spacing:1.8px; color:#8b593d; margin:0 0 16px; }
.auth-form-wrap h1 { font-size:clamp(32px,3.1vw,46px); font-weight:550; letter-spacing:-1.7px; line-height:1.12; margin:0 0 18px; }
.auth-intro { font-size:14px; color:var(--color-ink-muted); line-height:1.7; margin-bottom:34px; max-width:360px; }
.auth-form .field { margin-bottom:22px; }
.auth-form label { display:block; font-size:13px; font-weight:550; margin-bottom:8px; }
.auth-form input:not([type="hidden"]):not([type="checkbox"]),.auth-form select { display:block; width:100%; min-height:54px; border:1px solid #dfe3da; border-radius:12px; background:white; color:var(--color-ink); padding:13px 16px; font:inherit; font-size:16px; transition:border-color .15s,box-shadow .15s; }
.auth-form input:focus-visible { border-color:#c96743; box-shadow:0 0 0 4px #f5633614; outline:2px solid transparent; }
.auth-form .auth-submit { width:100%; min-height:54px; border-radius:12px; display:flex; align-items:center; justify-content:space-between; font-size:15px; font-weight:600; margin-top:25px; }
.auth-submit span { font-size:22px; }
.auth-options { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:12px; }
.auth-form .auth-remember { display:flex; align-items:center; gap:8px; margin:0; min-height:44px; font-size:12px; cursor:pointer; }
.auth-remember input { width:17px; height:17px; accent-color:#f56336; }
.auth-options a { text-underline-offset:4px; min-height:44px; display:flex; align-items:center; }
.auth-hint { display:flex; gap:9px; align-items:flex-start; color:var(--color-ink-muted); font-size:11px; line-height:1.6; margin-top:24px; }
.auth-hint svg { flex-shrink:0; }
.auth-error,.auth-form .errorlist { background:#fff0e9; color:#8a331c; border-radius:10px; padding:12px 15px; font-size:13px; margin-bottom:20px; }
.auth-footer { display:flex; justify-content:space-between; gap:20px; color:var(--color-ink-muted); font-size:10px; }
.auth-story { position:relative; border-radius:24px; background:#242c25; color:#f7f5ed; padding:65px clamp(35px,4vw,70px) 30px; display:flex; flex-direction:column; overflow:hidden; }
.auth-story-kicker { display:flex; align-items:center; gap:9px; font-size:11px; color:#ccd4c5; }
.auth-story-kicker>span { width:7px; height:7px; border-radius:50%; background:#ff9b73; }
.auth-story h2 { font-size:clamp(35px,4vw,61px); font-weight:450; letter-spacing:-2.2px; line-height:1.08; margin:40px 0 22px; }
.auth-story h2 em { color:#ffb28e; font-weight:400; font-family:Georgia,serif; }
.auth-story>p { font-size:13px; line-height:1.8; color:#c0c9bd; }
.auth-illustration { flex:1; position:relative; min-height:290px; margin-top:22px; display:grid; place-items:center; }
.auth-orbit { position:absolute; border:1px solid #7a887452; width:360px; height:360px; border-radius:50%; }
.auth-orbit::before { content:''; position:absolute; inset:35px; border:1px solid #7a887433; border-radius:50%; }
.auth-sheet { position:relative; transform:rotate(-6deg); padding:24px; border-radius:17px; background:#eff1e8; color:#303c30; width:min(280px,100%); box-shadow:0 22px 50px #0002; }
.auth-sheet-tag { font-size:8px; letter-spacing:1.8px; color:#687462; }
.auth-sheet-title { display:flex; gap:12px; align-items:center; margin:17px 0; }
.auth-sheet-title span { background:#e6c7b5; padding:9px; font-size:11px; border-radius:10px; }
.auth-sheet-title strong { font-size:15px; font-weight:550; }
.auth-sheet-line { display:flex; align-items:center; gap:8px; border-top:1px solid #d9decf; padding:12px 0; font-size:10px; }
.auth-sheet-line b { margin-left:auto; font-weight:400; }
.auth-sheet-line i { width:6px; height:6px; background:#748569; border-radius:50%; }
.auth-float { position:absolute; bottom:14px; right:-8px; background:#ff956a; color:#33271f; padding:17px 19px; border-radius:12px; font-size:10px; box-shadow:0 10px 30px #0002; transform:rotate(3deg); }
.auth-float span { margin-left:18px; }
.auth-story-footer { border-top:1px solid #53634f; padding-top:24px; display:flex; justify-content:space-between; font-size:11px; color:#c0c9bd; margin-top:35px; }
.auth-story-footer span { font-size:23px; color:#ffb28e; }
[data-theme="dark"] .auth-form input:not([type="hidden"]):not([type="checkbox"]),[data-theme="dark"] .auth-form select { background:#252c25; border-color:#475043; }
[data-theme="dark"] .auth-eyebrow { color:#ffad85; }
[data-theme="dark"] .auth-error { background:#4f2e24; color:#ffd2bf; }
@media(max-width:1000px) { .auth-layout { grid-template-columns:minmax(360px,1fr) minmax(320px,.85fr); gap:12px; padding:16px; } .auth-entry { padding:20px; } .auth-story { padding:65px 28px 25px; } .auth-story h2 { font-size:40px; } }
@media(max-width:760px) { .auth-layout { display:block; padding:0; } .auth-story { display:none; } .auth-entry { min-height:100dvh; padding:24px max(24px,env(safe-area-inset-right)) 22px max(24px,env(safe-area-inset-left)); } .auth-brand { font-size:17px; padding-right:40px; } .auth-brand small { font-size:10px; } .auth-mark { width:40px;height:40px; } .auth-form-wrap { padding:50px 0; } .auth-form-wrap h1 { font-size:37px; } .auth-footer { font-size:9px; } .auth-intro { margin-bottom:28px; } body:has(.auth-page) .theme-standalone { right:18px;top:25px; } }
