/* Cream City Client Portal — sign-in screen and auth states (uses Lakefront tokens from styles.css) */
body.auth-loading .desktop-sidebar,body.auth-loading .mobile-header,body.auth-loading .main-wrap,body.auth-loading .bottom-tabs,
body.signed-out .desktop-sidebar,body.signed-out .mobile-header,body.signed-out .main-wrap,body.signed-out .bottom-tabs{display:none!important}
body.signed-in .auth-screen,body.signed-in .auth-loader,body.signed-out .auth-loader,body.auth-loading .auth-screen{display:none}
.auth-loader{min-height:100vh;display:grid;place-items:center;color:var(--muted);font-weight:700}
.auth-screen{position:fixed;inset:0;margin:0;overflow-y:auto;display:grid;place-items:center;padding:var(--pad);background:var(--ink)}
.auth-card{text-align:left;width:100%;max-width:26rem;background:var(--surface);border-radius:var(--r);padding:var(--card-pad);box-shadow:var(--shadow)}
.auth-card .logo-box{width:6rem;margin:0 auto 1rem}
.auth-card h1{text-align:center;margin-bottom:.25rem}
.auth-card .muted{text-align:center;margin-bottom:1.5rem}
.auth-card .btn{width:100%}
.auth-card .text-link{display:block;margin:.75rem auto 0;text-align:center}
.auth-message{padding:.75rem 1rem;border-radius:var(--btn-r);margin-bottom:1rem;background:var(--banner);color:var(--banner-ink)}
.auth-message[data-kind="info"]{background:var(--mist);color:var(--ink)}
.auth-help{margin-top:1.5rem;text-align:center;color:var(--muted);font-size:var(--small)}
.auth-help a{color:var(--primary);justify-content:center}
/* Signed in but no active access grant (or load error): no dashboard, just a message. */
body.unlinked .desktop-sidebar,body.unlinked .mobile-header,body.unlinked .main-wrap,body.unlinked .bottom-tabs,body.unlinked .auth-screen,body.unlinked .auth-loader{display:none!important}
.unlinked-screen{display:none}
body.unlinked .unlinked-screen{position:fixed;inset:0;display:grid;place-items:center;padding:var(--pad);background:var(--ink);overflow-y:auto}
.unlinked-screen h1{text-align:center;margin-bottom:.5rem}
.unlinked-screen .muted{text-align:center}
.unlinked-screen .btn{width:100%;margin-top:1rem}
.account-switch{display:flex;align-items:center;gap:.5rem}
.account-switch label{font-size:var(--small);color:var(--muted)}
