@import url('/css/fonts.css');
:root{--paper:#f5f3ef;--ink:#1d1e1c;--rust:#982e27;--muted:#69675f;--line:#d7d2c8}
*{box-sizing:border-box}
body{margin:0;display:grid;grid-template-columns:minmax(240px,30%) minmax(0,1fr);min-height:100vh;background:var(--paper);font-family:Manrope,Arial,sans-serif;color:var(--ink);font-size:14px;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none;touch-action:manipulation}
button,input{font:inherit}
button{cursor:pointer;touch-action:manipulation}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #bc6a53;outline-offset:3px}
.skip-link{position:fixed;left:16px;top:-80px;z-index:100;padding:14px 18px;background:var(--ink);color:#fff;border-radius:4px}
.skip-link:focus{top:16px}
.auth-story{padding:42px 36px;border-right:1px solid var(--line);background:#eeebe5}
.auth-brand{display:inline-flex;align-items:center;min-height:44px;font-size:30px;font-weight:800;letter-spacing:-1.5px}
.auth-brand span{color:var(--rust)}
.story-copy{max-width:270px;margin-top:84px}
.story-copy h1,.story-copy h2{font-family:Manrope,Arial,sans-serif;font-size:21px;font-weight:700;line-height:1.4;letter-spacing:-.5px;margin:0 0 16px}
.story-copy p{font-size:14px;color:var(--muted);line-height:1.9;margin:0}
.auth-main{padding:38px clamp(36px,7vw,120px) 26px;display:flex;flex-direction:column;min-width:0}
.auth-main:focus{outline:none}
.auth-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;font-size:12px;line-height:1.6;color:var(--muted)}
.auth-top a{display:inline-flex;align-items:center;min-height:44px}
.auth-top a:hover{text-decoration:underline;text-underline-offset:4px}
.auth-card{width:100%;max-width:440px;margin:42px auto 36px}
.auth-card>h1,.auth-card>h2{font-size:32px;font-weight:700;line-height:1.25;letter-spacing:-1px;margin:0 0 14px}
.auth-subtitle{font-size:14px;color:var(--muted);line-height:1.8;margin:0 0 28px}
.auth-card label{display:block;font-size:13px;font-weight:600;line-height:1.6;margin:20px 0 8px}
.auth-card input{width:100%;min-width:0;height:50px;border:1px solid #c9c3b8;border-radius:5px;background:#fffdf9;padding:12px 14px;font-size:14px;color:var(--ink)}
.auth-card input::placeholder{color:#858074;opacity:1}
.auth-card input[readonly]{background:#eeebe5;color:#69675f}
.password-label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 4px}
.password-label label{margin:0}
.password-label a,.recovery-link{color:var(--rust);font-size:12px;font-weight:600;line-height:1.7;display:inline-flex;align-items:center;min-height:44px}
.password-label a:hover,.recovery-link:hover{text-decoration:underline;text-underline-offset:4px}
.password-input{position:relative}
.password-input input{padding-right:76px}
.show-password{position:absolute;right:3px;top:3px;width:62px;height:44px;border:0;border-radius:3px;background:transparent;font-size:12px;font-weight:600;color:#625d52}
.show-password:hover{background:#eeebe5}
.submit-button,.demo-button{display:flex;align-items:center;justify-content:center;width:100%;padding:15px 18px;border-radius:5px;border:0;font-size:14px;font-weight:600;line-height:1.5;min-height:50px}
.submit-button{background:var(--rust);color:#fff;margin-top:26px}
.submit-button:hover{background:#7e241e}
.demo-button{border:1px solid #c9c3b8;background:transparent;color:#4f4c43;font-size:13px}
.demo-button:hover{background:#eeebe5}
.auth-switch{text-align:center;font-size:13px;line-height:1.8;color:var(--muted);margin:20px 0 0}
.auth-switch a{display:inline-flex;align-items:center;min-height:44px;color:var(--rust);font-weight:600;margin-left:4px}
.auth-switch a:hover{text-decoration:underline;text-underline-offset:4px}
.demo-divider,.auth-divider{display:flex;justify-content:center;align-items:center;gap:12px;margin:22px 0;color:#777165;font-size:12px;line-height:1.6}
.demo-divider:before,.demo-divider:after,.auth-divider:before,.auth-divider:after{content:'';height:1px;background:var(--line);flex:1}
.auth-main footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px 24px;margin-top:auto;font-size:11px;line-height:1.7;color:#777165}
.auth-main footer a{display:inline-flex;align-items:center;min-height:44px}
.auth-main footer a:hover{text-decoration:underline;text-underline-offset:4px}
.form-error{padding:16px 18px;background:#f2e5de;border:1px solid #dbb5a8;border-radius:5px;font-size:13px;line-height:1.8;color:#80332b;margin:18px 0;overflow-wrap:anywhere}
.form-error ul{padding-left:18px;margin:8px 0 0}
.form-error li{margin:3px 0}
.form-notice{background:#e8eee2;border:1px solid #cdd8c1;padding:16px 18px;color:#405c3b;border-radius:5px;font-size:13px;line-height:1.8;margin:18px 0;overflow-wrap:anywhere}
.signup-note,.recovery-note,.social-register-note{font-size:13px;line-height:1.8;color:var(--muted);margin:18px 0 0}
.recovery-link{margin-top:8px}
.social-providers{display:grid;gap:12px;margin:26px 0 14px}
.social-provider{display:grid;grid-template-columns:20px minmax(0,1fr);column-gap:12px;align-items:center;min-height:50px;width:100%;padding:13px 16px;border:1px solid #c9c3b8;border-radius:5px;background:#fffdf9;color:#242521;font-size:14px;font-weight:600;line-height:1.6;text-align:left}
.social-provider svg{width:20px;height:20px;flex:none;grid-column:1;grid-row:1}
.social-provider:not(:disabled):hover{border-color:#938a79;background:#fff}
.social-provider:disabled{cursor:not-allowed;background:#eeebe5;color:#625e54}
.provider-status{grid-column:2;font-size:11px;font-weight:400;color:#6f685b;margin-top:2px}
.social-setup-note{font-size:12px;line-height:1.8;color:var(--muted);margin:6px 0}
.social-setup-note a{display:inline-flex;align-items:center;min-height:44px;color:var(--rust);font-weight:600;text-decoration:underline;text-underline-offset:4px}
.verified-account,.connected-provider{padding:16px 18px;border:1px solid #cdd8c1;border-radius:5px;background:#e8eee2;margin:22px 0}
.verified-account strong,.connected-provider strong{display:block;font-size:13px;font-weight:600;line-height:1.6;color:#405c3b}
.verified-account p,.connected-provider p{font-size:14px;line-height:1.8;margin:6px 0 0;overflow-wrap:anywhere}
.verified-account small{display:block;font-size:12px;line-height:1.8;margin-top:8px;color:#5b6b53}
.connected-provider{margin:0}
.connected-provider strong{display:flex;justify-content:space-between;gap:12px}
.social-register-note strong{color:#504c43}

@media(max-width:1050px){
body{grid-template-columns:260px minmax(0,1fr)}
.auth-story{padding:36px 28px}
.auth-main{padding:30px 6% 24px}
.story-copy{margin-top:70px}
}
@media(max-width:760px){
body{display:block;min-height:0}
.auth-story{padding:20px 6% 8px;border:0;background:var(--paper)}
.auth-brand{font-size:27px}
.story-copy{display:none}
.auth-main{padding:0 6% 24px}
.auth-top{font-size:12px;gap:6px 20px}
.auth-card{max-width:480px;margin:28px auto 24px}
.auth-card>h1,.auth-card>h2{font-size:28px;letter-spacing:-.7px}
.auth-subtitle{font-size:14px;margin-bottom:24px}
.auth-card input{font-size:16px}
.auth-main footer{margin-top:20px;font-size:11px}
}
@media(max-width:400px){
.auth-top{gap:4px 16px}
.auth-card{margin-top:24px}
.auth-card>h1,.auth-card>h2{font-size:27px}
.password-label{gap:8px}
.password-label a{font-size:11px}
.social-provider{font-size:13px;padding:13px 14px}
.auth-switch{font-size:12px}
}
