/* Account controls share the site's ivory paper and wood-brown palette. */
[hidden] { display:none !important; }
.account-header-controls { display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; }
.account-header-controls a,.account-header-controls button { min-height:40px; font-size:14px; }
.account-header-controls button { padding:5px 0; border:0; border-bottom:1px solid var(--line); }
.account-header-status { flex-basis:100%; font-size:12px; color:var(--accent); }
.account-header-status:empty { display:none; }
.site-header .header-actions { flex-wrap:wrap; }
.account-form { display:grid; gap:20px; min-width:0; }
.account-form label,.account-form legend { display:block; margin:0 0 8px; font-size:14px; font-weight:500; }
.account-form input:not([type=checkbox]),.account-form textarea,.account-select { width:100%; min-height:48px; padding:12px 14px; background:var(--paper); border:1px solid #b9aa98; border-radius:0; color:var(--ink); font:inherit; }
.account-form input[type=file] { font-size:14px; }
.account-form input[type=file]::file-selector-button { min-height:36px; margin-right:12px; padding:6px 12px; border:1px solid var(--line); background:var(--sand); color:var(--ink); cursor:pointer; }
.account-form textarea { min-height:110px; resize:vertical; }
.account-form textarea:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.account-form .field-help,.account-help { color:var(--muted); font-size:13px; line-height:1.8; margin:8px 0 0; }
.account-form .field-optional { font-weight:400; color:var(--muted); font-size:12px; margin-left:6px; }
.account-form .email-button { margin-top:12px; justify-content:center; }
.account-form .code-input { letter-spacing:.35em; font-variant-numeric:tabular-nums; }
.account-form .account-check { display:flex; align-items:flex-start; gap:10px; margin:0; font-size:14px; font-weight:400; }
.account-check input { flex-shrink:0; width:18px; height:18px; margin:4px 0 0; accent-color:var(--brown); }
.account-form .button { justify-self:start; }
.account-form .button:disabled,.account-actions .button:disabled,.account-toolbar button:disabled { opacity:.55; cursor:not-allowed; transform:none; }
.account-form .email-button,.account-form .login-submit { width:100%; }
.account-status { min-height:24px; margin:14px 0; color:var(--muted); font-size:14px; line-height:1.8; overflow-wrap:anywhere; }
.account-status[data-kind=error] { color:#913b29; border-left:3px solid #913b29; padding-left:12px; }
.account-status[data-kind=success] { color:#3e654c; }
.account-status:focus { outline:2px solid var(--accent); outline-offset:5px; }
.account-status:empty { min-height:0; margin:0; padding:0; border:0; outline:none; }
.account-notice { background:var(--sand); border-left:2px solid #ad9678; padding:14px 18px; margin:18px 0; font-size:14px; }
.account-notice p { margin:0 0 12px; }
.account-notice p:last-child { margin:0; }
.account-notice .button { margin-top:6px; }
.account-oauth button:disabled { cursor:not-allowed; opacity:.65; }
.account-oauth button:disabled:hover { color:var(--ink); }
.account-panel { border:1px solid var(--line); padding:28px; background:#faf8f3; min-width:0; }
.account-panel h2 { font:500 24px/1.5 var(--serif); margin:0 0 18px; }
.account-panel h3 { margin:0 0 12px; }
.account-columns { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:28px; align-items:start; }
.account-intro { color:var(--muted); margin:0 0 24px; font-size:14px; overflow-wrap:anywhere; }
.account-form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.account-toolbar { display:flex; gap:12px; align-items:center; justify-content:space-between; flex-wrap:wrap; margin:0 0 18px; }
.account-toolbar h2 { margin:0; }
.account-toolbar label { font-size:14px; }
.account-toolbar .account-select { width:auto; min-width:120px; }
.account-secondary { background:transparent; color:var(--brown); border:1px solid #a89782; padding:8px 16px; min-height:44px; font:inherit; font-size:14px; }
.account-secondary:hover { background:var(--sand); }
.account-items { display:grid; gap:16px; }
.account-item { border-top:1px solid var(--line); padding:18px 0 0; min-width:0; }
.account-item:first-child { padding-top:0; border-top:0; }
.account-item h3 { font:600 17px/1.7 var(--sans); margin:0; overflow-wrap:anywhere; }
.account-item-head { display:flex; gap:12px; flex-wrap:wrap; align-items:flex-start; justify-content:space-between; }
.account-item-head h3 { flex:1; min-width:0; }
.account-badge { flex-shrink:0; border:1px solid #bdab8e; padding:2px 9px; color:#765b36; font-size:12px; background:#f2ecdf; }
.account-badge[data-status=approved] { color:#3d654a; background:#edf1e9; border-color:#aab6a2; }
.account-badge[data-status=rejected] { color:#913b29; background:#f5e9e2; border-color:#cda895; }
.account-item p { margin:8px 0; color:var(--muted); font-size:13px; overflow-wrap:anywhere; white-space:pre-wrap; }
.account-item .account-reason { color:#913b29; }
.account-item a { display:inline-flex; min-height:40px; align-items:center; text-decoration:underline; text-underline-offset:4px; color:var(--accent); font-size:14px; overflow-wrap:anywhere; }
.account-actions { display:flex; flex-wrap:wrap; gap:12px; margin:12px 0 0; }
.account-actions .button { min-height:44px; padding:8px 16px; }
.account-review-form { margin-top:16px; padding-top:16px; border-top:1px dashed var(--line); }
.account-empty { padding:28px 0; text-align:center; color:var(--muted); font-size:14px; }
.admin-page .account-main { max-width:1080px; margin-left:auto; margin-right:auto; }
.account-count { font-size:14px; color:var(--muted); }
.login-panel .account-help { margin:22px 0; }
.login-panel .account-notice { margin:20px 0; }
@media(max-width:900px) {
  .account-columns { grid-template-columns:1fr; }
}
@media(max-width:700px) {
  .account-header-controls { gap:5px 12px; justify-content:flex-end; }
  .account-header-controls a,.account-header-controls button { font-size:13px; }
  .account-header-controls .login-link { margin:0; }
  .site-header .header-actions { justify-content:flex-end; }
  .account-panel { padding:20px; }
  .account-form-row { grid-template-columns:1fr; }
  .account-form .button { width:100%; }
  .account-item-head { gap:8px; }
  .account-panel h2 { font-size:22px; }
  .account-toolbar { gap:10px; }
  .account-toolbar h2 { flex-basis:100%; }
}
