/* Authentication uses the shared public palette; base.css owns its tokens. */
body.auth-page { display:block; margin:0; padding:0; width:100%; min-width:0; height:auto; max-height:none; overflow:auto; background:var(--public-page-background); color:var(--public-text-primary); font-family:var(--app-main-font-family); }
.auth-page * { box-sizing:border-box; }
.auth-page .auth-layout { display:grid; grid-template-columns:1.05fr 1fr; width:100%; max-width:1400px; min-height:760px; height:auto; margin:0 auto; padding:28px; gap:28px; }
.auth-story { display:flex; flex-direction:column; justify-content:space-between; min-width:0; padding:38px; border-radius:28px; background:var(--decembien-orange); color:var(--public-text-primary); }
.auth-wordmark { display:inline-flex; align-items:center; gap:10px; width:fit-content; color:inherit; font-size:29px; font-weight:800; letter-spacing:-1.6px; text-decoration:none; }
.auth-wordmark img { width:30px; height:38px; object-fit:contain; }
.auth-story-copy { padding:55px 0; }
.auth-kicker { margin-bottom:18px; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.auth-story h1 { margin:0 0 24px; font:700 clamp(50px,5.7vw,82px)/.98 var(--app-main-font-family); letter-spacing:-.075em; }
.auth-story-copy>p:last-child { font-size:17px; line-height:1.7; }
.auth-return { display:flex; justify-content:space-between; padding-top:20px; border-top:1px solid color-mix(in srgb,var(--public-text-primary) 25%,transparent); color:inherit; font-size:13px; font-weight:600; }
.auth-page .auth-panel { display:flex; align-items:center; width:100%; height:auto; margin:0; padding:35px clamp(15px,4vw,64px); border:0; border-radius:0; background:transparent; box-shadow:none; }
.auth-panel-inner { width:100%; max-width:405px; margin:auto; }
.auth-beta-label { display:inline-flex; align-items:center; gap:7px; padding:6px 10px; border:1px solid var(--app-control-border); border-radius:99px; font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.auth-beta-label>span { width:6px; height:6px; background:var(--decembien-orange); border-radius:50%; }
.auth-panel h2 { margin:24px 0 10px; font:700 clamp(32px,3.2vw,44px)/1.1 var(--app-main-font-family); letter-spacing:-.06em; }
.auth-page .auth-intro { margin:0 0 28px; color:var(--public-text-muted); font-size:14px; line-height:1.6; }
.auth-page .auth-google { display:flex; align-items:center; justify-content:center; gap:12px; width:100%; min-height:44px; margin:0; padding:10px 12px; border:1px solid #747775; border-radius:6px; background:#fff; color:#1f1f1f; font:500 14px/20px Arial,sans-serif; text-decoration:none; box-shadow:none; }
.auth-google img { flex:0 0 20px; width:20px; height:20px; object-fit:contain; }
.auth-page .auth-google:hover { background:#f8fafd; border-color:#747775; color:#1f1f1f; box-shadow:0 1px 3px #0002; }
.auth-divider { display:flex; align-items:center; gap:12px; margin:23px 0; color:var(--public-text-muted); font-size:11px; }
.auth-divider::before,.auth-divider::after { content:''; flex:1; height:1px; background:var(--app-control-border); }
.auth-page #login-form { display:flex; flex-direction:column; gap:8px; margin:0; }
.auth-page #login-form .unpw_error:empty { display:none; }
.auth-page #login-form label { margin:0; font-size:12px; font-weight:600; }
.auth-page #login-form input:not([type=hidden]) { width:100%; height:46px; margin:0 0 12px; padding:12px 14px; border:1px solid var(--app-control-border); border-radius:7px; background:var(--public-surface-background); color:var(--public-text-primary); font:inherit; font-size:14px; }
.auth-page #login-form button { display:flex; justify-content:space-between; align-items:center; min-height:46px; width:100%; margin:4px 0 0; padding:12px 16px; border:0; border-radius:7px; background:var(--public-text-primary); color:var(--public-surface-background); font:600 14px var(--app-main-font-family); cursor:pointer; }
.auth-page #login-form button:hover { background:var(--decembien-orange); color:var(--public-text-primary); }
.auth-page :is(a,input,button):focus-visible { outline:2px solid var(--public-accent-blue); outline-offset:4px; }
.auth-page .auth-invitation { margin-top:30px; padding-top:22px; border-top:1px solid var(--app-control-border); }
.auth-invitation h3 { margin:0 0 9px; font-size:14px; font-weight:700; }
.auth-invitation p { margin:0; color:var(--public-text-muted); font-size:12px; line-height:1.8; }
.auth-invitation a { color:var(--public-text-primary); text-decoration:underline; text-underline-offset:3px; }
.auth-page .company-footer { width:100%; max-width:none; margin:0; border-radius:0; }
@media(max-width:760px) { .auth-page .auth-layout { grid-template-columns:1fr; gap:0; min-height:0; padding:16px; } .auth-story { padding:25px; border-radius:20px; } .auth-story-copy { padding:32px 0 12px; } .auth-story h1 { font-size:50px; } .auth-story h1 br { display:none; } .auth-story-copy>p:last-child,.auth-return { display:none; } .auth-page .auth-panel { padding:32px 12px 40px; } }
