/* Public account forms and profile, using the site's established palette. */
.account-nav { display:flex; align-items:center; gap:6px; flex-shrink:0; }
.account-nav form { margin:0; }
.account-nav-link { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:8px 11px; border:1px solid transparent; border-radius:7px; background:transparent; color:var(--dim); font-size:12px; white-space:nowrap; }
.account-nav-link:hover { color:var(--blue); background:var(--blue-soft); text-decoration:none; }
.account-nav-register { border-color:#c9ded2; color:var(--blue); font-weight:600; }
.account-nav-logout { cursor:pointer; }
.account-page { min-width:0; }
.account-auth { max-width:440px; margin:28px auto 36px; }
.account-card { min-width:0; border:1px solid var(--border); background:var(--panel); border-radius:12px; padding:28px; }
.account-heading { margin-bottom:24px; }
.account-heading h1 { font-size:25px; line-height:1.4; color:var(--ink); margin-bottom:8px; }
.account-heading p:not(.account-eyebrow) { color:var(--dim); font-size:13px; line-height:1.8; }
.account-eyebrow { color:var(--blue); font-size:11px; font-weight:600; margin-bottom:7px; }
.account-form { display:flex; flex-direction:column; gap:16px; }
.account-form label { display:flex; flex-direction:column; gap:7px; font-size:13px; color:var(--text); font-weight:600; }
.account-form input:not([type=hidden]) { width:100%; min-width:0; max-width:100%; min-height:46px; padding:10px 12px; border:1px solid #cad5cf; border-radius:7px; color:var(--text); background:#fff; font-size:16px; font-weight:400; }
.account-form input::placeholder { font-size:13px; color:var(--faint); }
.account-form input:focus { outline-color:#5ca98b; border-color:#6ea98e; }
.account-form .account-submit { width:100%; min-height:48px; justify-content:center; margin-top:4px; font-size:14px; }
.account-field-note { color:var(--dim); font-size:11px; line-height:1.8; }
.account-form .account-field-note { margin-top:-10px; }
.account-switch { margin-top:21px; padding-top:18px; border-top:1px solid var(--border-soft); color:var(--dim); font-size:13px; text-align:center; }
.account-switch a { margin-left:5px; padding:8px 0; display:inline-block; }
.account-public-note { margin:17px 10px 0; color:var(--dim); font-size:12px; line-height:1.9; text-align:center; }
.account-public-note a { white-space:nowrap; }
.account-center { max-width:1080px; margin:6px auto 30px; }
.account-center-heading { margin-bottom:23px; }
.account-center-heading .sub { overflow-wrap:anywhere; }
.account-center-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:18px; margin-bottom:20px; }
.account-center .account-card h2 { font-size:17px; color:var(--ink); }
.account-details { margin:14px 0 9px; }
.account-details > div { display:grid; grid-template-columns:88px minmax(0,1fr); gap:14px; padding:13px 0; border-bottom:1px solid var(--border-soft); }
.account-details > div:last-child { border-bottom:0; }
.account-details dt { color:var(--dim); font-size:12px; }
.account-details dd { color:var(--text); font-size:13px; min-width:0; overflow-wrap:anywhere; }
.account-details time { font-variant-numeric:tabular-nums; }
.account-card-heading { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; align-items:center; }
.account-status { display:inline-flex; align-items:center; padding:4px 10px; border-radius:6px; background:#f0f2ef; color:#5a6d62; font-size:12px; font-weight:600; }
.account-status-active { background:#e5f3e9; color:#256c48; }
.account-service-note { margin-top:19px; padding:17px; border:1px solid #dce8df; background:#f2f7f1; border-radius:8px; }
.account-service-note h3 { font-size:14px; color:#315d48; margin-bottom:8px; }
.account-service-note p { color:#5c7164; font-size:12px; line-height:1.9; }
.account-tool-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:18px; }
.account-tool-grid a { padding:15px; border:1px solid var(--border); border-radius:8px; min-height:96px; color:var(--ink); display:flex; flex-direction:column; gap:7px; }
.account-tool-grid a:hover { background:#f1f7ef; text-decoration:none; border-color:#bfd7c5; }
.account-tool-grid strong { font-size:14px; }
.account-tool-grid span { font-size:11px; color:var(--dim); line-height:1.7; }
@media (max-width:1180px) { .account-nav-link { padding:8px 9px; } }
@media (max-width:1000px) {
  .site-header .logo { order:1; }
  .account-nav { order:2; }
  .site-header .primary-nav { order:3; }
  .account-tool-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px) {
  .account-auth { margin:8px auto 24px; }
  .account-card { padding:21px 18px; }
  .account-heading h1 { font-size:23px; }
  .account-nav { gap:3px; }
  .account-nav-link { font-size:12px; padding:8px; }
  .account-center-grid { grid-template-columns:minmax(0,1fr); gap:14px; margin-bottom:14px; }
  .account-center-heading { margin-bottom:18px; }
  .account-details > div { grid-template-columns:78px minmax(0,1fr); gap:10px; }
  .account-tool-grid { gap:9px; }
  .account-tool-grid a { padding:12px; min-height:100px; }
  .account-tool-grid strong { font-size:13px; }
  .account-card-heading { gap:10px; }
  .account-service-note { padding:14px; }
  .account-public-note { margin-right:3px; margin-left:3px; }
}
