/* Sign-in uses the same atelier palette, typography and surfaces as the workspace. */
body.login-page {
  min-height:100vh; min-height:100svh; display:flex; flex-direction:column;
  margin:0; background:var(--bg); color:var(--ink);
}
.login-page .osten-bar { flex:none; width:100%; min-height:90px; position:static; padding:24px clamp(24px,5vw,76px); border-bottom:1px solid var(--line); background:transparent; }
.login-layout { flex:1; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); align-items:center; gap:clamp(48px,7vw,110px); width:min(1180px,100%); padding:64px 40px; margin:auto; }
.login-intro { min-width:0; padding-block:12px; }
.login-promise { margin:0; font-size:clamp(42px,4.7vw,68px); line-height:1.08; font-weight:500; letter-spacing:-.055em; }
.login-promise em { display:block; font-family:Georgia,serif; font-weight:400; letter-spacing:-.045em; color:var(--accent); margin-top:12px; }
.login-intro-copy { color:var(--ink-3); font-size:17px; line-height:1.65; margin:28px 0 0; }
.login-signature { display:flex; align-items:center; gap:12px; margin-top:52px; font-size:12px; color:var(--ink-3); }
.login-signature > span { width:28px; height:1px; background:var(--edge); }
.login-panel { width:100%; max-width:440px; justify-self:end; padding:36px; border:1px solid var(--line); border-radius:24px; background:var(--panel); }
.login-workspace { display:flex; align-items:center; gap:10px; margin:0 0 28px; font-size:13px; color:var(--ink-2); overflow-wrap:anywhere; }
.login-workspace > span { width:7px; height:7px; border-radius:50%; background:var(--accent); flex:none; }
.login-panel form { display:grid; gap:20px; }
.login-panel h1 { font-size:31px; line-height:1.2; letter-spacing:-.04em; font-weight:500; margin:0; }
.login-heading { margin-bottom:6px; }
.login-heading p,.login-panel form > p { font-size:14px; line-height:1.6; color:var(--ink-3); margin:10px 0 0; }
.login-panel .field { display:block; margin:0; }
.login-panel label { display:block; font-size:13px; line-height:1.5; font-weight:500; text-transform:none; letter-spacing:0; color:var(--ink-2); margin-bottom:8px; }
.login-panel input[type=text],.login-panel input[type=password] { width:100%; min-width:0; min-height:49px; padding:12px 14px; border:1px solid var(--line-2); border-radius:11px; background:var(--bg); color:var(--ink); font-size:16px; box-shadow:none; }
.login-panel input:focus-visible { outline:2px solid var(--accent); outline-offset:3px; border-color:var(--accent); }
.login-panel button[type=submit] { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:49px; margin-top:3px; padding:13px 17px; font-size:14px; font-weight:500; border:1px solid transparent; border-radius:11px; background:var(--accent); color:var(--accent-ink); }
.login-panel button[type=submit]:hover { background:var(--accent-2); }
.login-panel button[type=submit]:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.login-panel button > span { font-size:19px; line-height:1; }
.login-note { display:flex; align-items:flex-start; gap:8px; margin:25px 0 0; color:var(--ink-3); font-size:12px; line-height:1.6; }
.login-note svg { width:15px; height:17px; flex:none; margin-top:1px; }
.login-panel .banner-error { margin:0 0 20px; border-radius:10px; font-size:14px; }
.login-footer { display:flex; justify-content:space-between; gap:18px; margin:0 clamp(24px,5vw,76px); padding:22px 0; border-top:1px solid var(--line); color:var(--ink-3); font-size:11px; line-height:1.5; }
@media(max-width:760px) {
 .login-page .osten-bar { min-height:76px; padding:20px 24px!important; gap:10px!important; }
 .login-layout { grid-template-columns:minmax(0,1fr); gap:28px; max-width:520px; padding:32px 24px 40px; }
 .login-intro { padding:0; }
 .login-promise { font-size:36px; line-height:1.06; letter-spacing:-.045em; }
 .login-promise br:first-child { display:none; }
 .login-promise em { margin-top:7px; font-size:34px; }
 .login-intro-copy,.login-signature { display:none; }
 .login-panel { max-width:none; padding:26px 24px; border-radius:20px; }
 .login-workspace { margin-bottom:22px; }
 .login-panel h1 { font-size:28px; }
 .login-panel form { gap:18px; }
 .login-note { margin-top:22px; font-size:11px; }
 .login-footer { font-size:10px; padding:18px 0; }
}
@media(max-width:360px) {
 .login-layout { padding-inline:18px; }
 .login-promise { font-size:32px; }.login-promise em { font-size:30px; }
 .login-panel { padding:24px 20px; }
}
