/* Shared account-page furniture. The palette still comes entirely from
   platform-theme.css: warm, low-glare and recognisably Pomble. */
*{box-sizing:border-box}
body.auth-page{min-height:100vh;display:flex;flex-direction:column;background:var(--paper);color:var(--ink)}
.auth-top{width:100%;border-bottom:1px solid var(--line);background:var(--panel)}
.auth-top-inner{width:min(1060px,100%);min-height:70px;margin:auto;padding:10px 24px;display:flex;align-items:center;gap:16px}
.auth-logo{color:var(--accent);display:flex;align-items:center}
.auth-logo img{display:block;width:118px;max-height:46px}
.auth-top-spacer{flex:1}
.auth-top a:not(.auth-logo){color:var(--soft);font-size:14px;text-decoration:none;min-height:44px;display:inline-flex;align-items:center;padding:0 8px}
.auth-top .top-action{border:1px solid var(--line);border-radius:var(--r-md);padding:0 16px;background:var(--raised);color:var(--accent);font-weight:650}
.auth-main{width:min(1060px,100%);margin:auto;padding:38px 24px 58px;display:grid;grid-template-columns:minmax(0,600px) minmax(250px,1fr);gap:54px;align-items:start;flex:1}
.auth-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-md);padding:28px}
.auth-kicker{font-size:13px;line-height:1.4;color:var(--accent);font-weight:700;margin:0 0 8px}
.auth-card h1{font-size:30px;line-height:1.2;letter-spacing:-.4px;margin:0 0 10px}
.auth-lede{color:var(--soft);font-size:15px;line-height:1.65;margin:0 0 24px}
.auth-form{display:grid;gap:15px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.field label{display:block;font-size:13.5px;font-weight:650;color:var(--ink);margin:0 0 6px}
.field input{width:100%;min-height:48px;border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--raised);color:var(--ink);font:15px/1.35 var(--font);padding:11px 13px}
.field input:focus{outline:2px solid var(--slate);outline-offset:1px;border-color:transparent}
.field .field-hint{display:block;font-size:12.5px;line-height:1.5;color:var(--faint);margin-top:6px}
.password-wrap{position:relative}
.password-wrap input{padding-right:68px}
.password-toggle{position:absolute;right:5px;top:5px;min-height:38px;border:0;background:transparent;color:var(--accent);font:600 12.5px var(--font);padding:0 9px;cursor:pointer}
.check{display:flex;align-items:flex-start;gap:10px;color:var(--soft);font-size:13.5px;line-height:1.55}
.check input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--accent);flex:none}
.check a,.auth-card a{color:var(--accent)}
.auth-submit{width:100%;min-height:48px;border:1px solid var(--accent-deep);border-radius:var(--r-md);background:linear-gradient(160deg,var(--accent),var(--accent-deep));color:var(--on-accent);font:650 15px var(--font);padding:12px 20px;cursor:pointer;box-shadow:var(--shadow-sm)}
.auth-submit:disabled{opacity:.65;cursor:default}
.auth-status{min-height:22px;margin:2px 0 0;color:var(--soft);font-size:13.5px;line-height:1.55}
.auth-status.good{color:var(--sage);font-weight:650}
.auth-divider{display:flex;align-items:center;gap:12px;color:var(--faint);font-size:12.5px;margin:22px 0}
.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--line);flex:1}
.providers{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.provider{min-height:46px;border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--raised);color:var(--ink);font:600 13.5px var(--font);padding:9px 12px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px}
.provider.wide{grid-column:1/-1}
.provider-mark{width:24px;height:24px;border:1px solid var(--line);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--accent);font:700 12px Georgia,serif;background:var(--panel)}
.coming{font-size:11px;color:var(--faint);font-weight:500}
.auth-links{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:16px;color:var(--soft);font-size:13.5px}
.auth-aside{padding-top:22px}
.auth-aside h2{font:600 23px/1.3 Georgia,serif;margin:0 0 14px;color:var(--ink)}
.auth-aside p,.auth-aside li{font-size:14px;line-height:1.7;color:var(--soft)}
.auth-aside ul{padding-left:20px;margin:14px 0}
.auth-note{border-left:3px solid var(--slate);background:var(--raised);padding:13px 15px;margin-top:22px;color:var(--soft);font-size:13px;line-height:1.6}
.auth-development{border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--raised);padding:13px 15px;margin:0 0 20px;color:var(--soft);font-size:13px;line-height:1.6}
.auth-development strong{color:var(--ink)}
.auth-development p{margin:5px 0 13px}
.auth-button-link{display:flex;align-items:center;justify-content:center;text-decoration:none;text-align:center}
.switch-box{border:1px solid var(--line);border-radius:var(--r-md);background:var(--raised);padding:14px 15px;margin-top:15px;color:var(--soft);font-size:13px;line-height:1.55}
.switch-box p{margin:0 0 12px}.switch-actions{display:flex;gap:10px;flex-wrap:wrap}
.switch-actions button{min-height:42px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel);color:var(--soft);font:600 13px var(--font);padding:8px 14px;cursor:pointer}
.switch-actions .continue{background:var(--accent);border-color:var(--accent-deep);color:var(--on-accent)}
.auth-centre{grid-column:1/-1;max-width:620px;width:100%;justify-self:center}
.auth-footer{border-top:1px solid var(--line);background:var(--panel);padding:18px 24px;text-align:center;color:var(--faint);font-size:12px;line-height:1.6}
.auth-footer a{color:var(--accent)}
@media(max-width:780px){
  .auth-main{grid-template-columns:1fr;gap:22px;padding-top:24px}
  .auth-aside{padding:0 4px}
}
@media(max-width:520px){
  .auth-top-inner{padding:8px 14px}.auth-logo img{width:102px}
  .auth-main{padding:18px 14px 38px}.auth-card{padding:20px 16px}.auth-card h1{font-size:25px}
  .field-row,.providers{grid-template-columns:1fr}.provider.wide{grid-column:auto}
}
