.account-shell { max-width:1080px; margin:48px auto; padding:0 24px 64px; }
.login-shell { max-width:560px; }
.account-header { display:flex; align-items:center; gap:20px; margin-bottom:32px; }
.account-header a:last-child { margin-left:auto; }
.account-panel { border:1px solid var(--line); border-radius:var(--radius); padding:28px; margin:20px 0; background:var(--surface); }
.account-panel h1, .account-panel h2 { margin-top:0; }
.account-panel p { color:var(--muted); line-height:1.7; }
.account-panel form { display:grid; gap:16px; margin:20px 0; }
.account-panel label { display:grid; gap:6px; font-size:14px; color:var(--text-soft); }
.account-panel input, .account-panel select { width:100%; min-width:0; min-height:42px; padding:10px 12px; border:1px solid var(--line); border-radius:var(--radius); background:var(--paper); color:var(--ink); }
.account-panel input:focus-visible, .account-panel select:focus-visible { outline:2px solid var(--blue); outline-offset:2px; }
.account-panel input[type=checkbox] { width:20px; min-height:20px; accent-color:var(--blue); }
.account-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; }
.account-row { display:flex; align-items:center; justify-content:space-between; gap:16px; border-top:1px solid var(--line); padding:16px 0; }
.account-row span { overflow-wrap:anywhere; }
#notice { min-height:24px; color:var(--blue); overflow-wrap:anywhere; }
.account-actions { display:flex; gap:12px; flex-wrap:wrap; }
.account-panel summary { cursor:pointer; font-weight:600; }
.account-panel table { border-collapse:collapse; width:100%; font-size:14px; }
.account-panel th, .account-panel td { text-align:left; padding:14px 10px; border-bottom:1px solid var(--line); overflow-wrap:anywhere; }
.account-panel th { color:var(--muted); font-weight:500; background:var(--paper); }
.account-panel small { color:var(--muted); }
.table-scroll { overflow-x:auto; margin-top:20px; }
.account-panel button { cursor:pointer; }
.account-panel td button { background:var(--paper); color:var(--ink); border:1px solid var(--line); border-radius:var(--radius); padding:5px 10px; margin:3px 0; white-space:nowrap; }
.account-panel td button:hover { color:var(--blue); border-color:var(--blue); }
.account-panel td button[data-delete-work] { color:var(--danger); }
.account-panel .field-help { grid-column:1 / -1; margin:0; font-size:13px; }
#works-panel { scroll-margin-top:120px; }
@media(max-width:640px) {
  .account-grid { grid-template-columns:minmax(0,1fr); }
  .account-shell { padding:0 16px 40px; margin-top:28px; }
  .account-header { flex-wrap:wrap; }
  .account-panel { padding:18px; }
  .account-row { align-items:flex-start; flex-wrap:wrap; }
  .account-panel table { min-width:560px; }
}
