/* Server-rendered pages on app.worca.dev (src/control/auth/pages.ts): sign-in, sign-out,
   invitations, D30 confirmations, /authorize answers. Loaded after app.css and built from its
   tokens and components (.card, .btn, .field, .inp, .banner, .g): one centered card under the logo. */
[hidden]{display:none !important;}
body.sp{min-height:100vh;}
.sp-main{width:min(440px,100%);margin:0 auto;padding:clamp(28px,9vh,96px) 16px 32px;display:flex;flex-direction:column;align-items:stretch;gap:22px;}
.sp-brand{align-self:center;display:block;padding:4px;border-radius:8px;}
.sp-brand .logo{height:40px;}
.sp-card{display:flex;flex-direction:column;gap:18px;padding:30px 28px;}
.sp-card h1{font-size:24px;font-weight:700;letter-spacing:-.025em;line-height:1.2;margin:0;text-wrap:balance;overflow-wrap:anywhere;}
.sp-head{display:flex;flex-direction:column;gap:6px;}
.sp-lead,.sp-card > p{margin:0;color:var(--ink-2);}
.sp-card > p.sp-warn{color:var(--red-ink);font-weight:600;}
.sp-card.center{align-items:center;text-align:center;}
.sp-card.center .sp-lead,.sp-card.center > p{max-width:38ch;}
.sp-glyph{margin-bottom:-2px;}
.sp-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:4px 0 0;}
.sp-detail{width:100%;text-align:left;}
.btn.block{width:100%;}
.btn.solid-danger{background:#C5483A;border-color:#C5483A;color:#fff;}
.btn.solid-danger:hover:not(:disabled){box-shadow:inset 0 0 0 999px var(--solid-hover);}
.sp-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;align-self:center;font-size:13px;padding:2px 4px;border-radius:6px;}
.sp-link svg.i{width:15px;height:15px;}
.sp-otp{font-size:20px;letter-spacing:.35em;text-align:center;padding:12px 14px;}
.sp-status{margin:0;border-radius:12px;padding:11px 14px;font-size:13px;line-height:1.45;}
.sp-status:empty{display:none;}
.sp-status.info{background:var(--blue-bg);color:var(--ink);}
/* A problem with the action as a whole: the console's red alert box (.banner.red), icon + sentence. */
.sp-status.err{display:flex;gap:12px;align-items:flex-start;background:var(--red-bg);color:var(--ink);padding:13px 16px;line-height:1.5;}
.sp-status.err svg{flex:none;margin-top:1px;color:var(--red-ink);}
.sp-or{display:flex;align-items:center;gap:12px;color:var(--ink-3);font-size:12px;font-weight:600;}
.sp-or::before,.sp-or::after{content:"";flex:1;height:1px;background:var(--line-2);}
.sp-alt{display:flex;flex-direction:column;gap:10px;}
.sp-foot{margin:0;text-align:center;font-size:12.5px;color:var(--ink-3);}
.sp-foot a{color:var(--ink-2);font-weight:500;}
@media (max-width:480px){.sp-card{padding:24px 18px;}.sp-card h1{font-size:22px;}}
