.account-shell { width:100%;max-width:520px;margin:28px auto 40px; }
.account-shell h1 { margin:0 0 20px; }
.account-panel { padding:24px;box-sizing:border-box;min-width:0; }
.account-form { display: grid; gap: 20px; max-width: 480px; }
.account-form label { display: grid; gap: .4rem; }
.account-form input:not([type=checkbox]), .correction-form input, .correction-form select, .correction-form textarea { width: 100%; padding: .7rem; color: var(--text); background: var(--surface); border: 1px solid var(--muted); border-radius: 6px; font: inherit; box-sizing: border-box; }
.account-form .account-check { display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;align-items:start;font-size:.9rem;line-height:1.6; }
.account-check input { margin:5px 0 0;width:16px;height:16px;accent-color:var(--accent); }
.account-consent > a { display:inline-block;margin:8px 0 0 28px;font-size:.85rem; }
.account-form p { margin:0;line-height:1.6; }
.account-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top:20px; }
.account-switch { display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;margin-top:24px;padding-top:16px;border-top:1px solid var(--border); }
.account-switch .account-link { background:none;border:0;color:var(--accent);font:inherit;font-size:.9rem;min-height:44px;padding:8px 4px;cursor:pointer; }
.account-link:hover { text-decoration:underline; }
.account-link:focus-visible { outline:2px solid var(--accent);outline-offset:3px;border-radius:3px; }
.account-button { color: #fff; font: inherit; padding: .65rem 1rem; background: #25445b; border: 1px solid #62849d; border-radius: 6px; cursor: pointer; }
.account-button:disabled { opacity: .5; cursor: wait; }
.account-button:focus-visible { outline: 3px solid #8ed8ff; outline-offset: 2px; }
.account-message { color: var(--bad); }
.account-message:empty { display:none; }
.recovery-code { display: block; overflow-wrap: anywhere; padding: 1rem; margin: 1rem 0; font-size: 1.1rem; user-select: all; background: #091a29; color: #fff; }
.account-recovery .account-button { margin: .4rem; }
.correction-form { display: grid; gap: .8rem; }
.correction-form label { display: grid; gap: .3rem; }
.revision-row { border-top: 1px solid #3b5264; padding: 1rem 0; overflow-wrap: anywhere; }
.revision-row pre { white-space: pre-wrap; }
.new-ship-meta { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px; }
.new-ship-stats details { margin:12px 0;padding:12px; }
.new-ship-stats details label { display:grid;grid-template-columns:minmax(0,1fr) minmax(80px,140px);align-items:center;gap:12px;margin:8px 0; }
.member-description { white-space:pre-wrap;overflow-wrap:anywhere; }
.member-build-slots { list-style:none;padding:0;display:grid;gap:8px; }
.member-build-slots li { display:flex;align-items:center;gap:10px; }
.member-equipment { margin-top:20px; }
.member-equipment summary { cursor:pointer;padding:12px 0; }
.correction-form input,.correction-form select,.correction-form textarea { max-width:100%; }
.revision-row pre { overflow-wrap:anywhere; }
.correction-panel { padding:20px; }
.correction-grid { display:grid;grid-template-columns:1fr;gap:20px;margin-top:20px;align-items:start; }
.correction-group { border:1px solid var(--border);border-radius:12px;overflow:hidden;min-width:0; }
.correction-group h3 { padding:14px 16px;margin:0;background:var(--surface-2);font-size:1rem; }
.correction-identity { grid-column:1/-1; }
.correction-row, .correction-readonly { border-top:1px solid var(--border); }
.correction-row > summary, .correction-readonly { display:grid;grid-template-columns:minmax(0,1fr) minmax(70px,1fr) auto;align-items:center;gap:12px;padding:13px 16px; }
.correction-row > summary { list-style:none;cursor:pointer; }
.correction-row > summary::-webkit-details-marker { display:none; }
.correction-row > summary:hover, .correction-row[open] > summary { background:var(--accent-soft); }
.correction-row > summary:focus-visible { outline:2px solid var(--accent);outline-offset:-2px; }
.correction-label { font-size:.88rem; }
.correction-current { text-align:right;font-variant-numeric:tabular-nums;font-weight:650;overflow-wrap:anywhere;white-space:pre-wrap;font-size:.9rem; }
.correction-edit { color:var(--accent);font-size:.8rem;padding:3px 7px;border:1px solid var(--border);border-radius:5px; }
.correction-inline { padding:18px 16px;background:var(--surface-2);border-top:1px solid var(--border); }
.correction-inline label { font-size:.86rem; }
.correction-inline textarea { resize:vertical; }
.correction-evidence { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.correction-actions { display:flex;gap:12px;align-items:center;margin-top:4px; }
.correction-cancel { padding:10px 14px;min-height:42px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font:inherit;cursor:pointer; }
.correction-history { margin-top:24px;border-top:1px solid var(--border);padding-top:16px; }
.correction-history > summary { cursor:pointer;color:var(--accent);font-weight:650; }
.correction-history form { display:flex;flex-wrap:wrap;gap:12px; }
@media(min-width:721px) {
  .correction-group { display:grid;grid-template-columns:repeat(2,minmax(0,1fr)); }
  .correction-group h3, .correction-row[open], .correction-identity > * { grid-column:1/-1; }
  .correction-inline input[type=number] { max-width:280px; }
}
@media(max-width:720px) {
  .correction-panel { padding:16px 12px; }
  .correction-grid { grid-template-columns:1fr;gap:14px; }
  .correction-row > summary, .correction-readonly { padding:12px 10px;gap:8px;grid-template-columns:minmax(0,1fr) minmax(65px,1fr) auto; }
  .correction-evidence { grid-template-columns:1fr; }
}
@media(max-width:480px) { .new-ship-meta { grid-template-columns:1fr; } .account-shell { margin:20px auto 28px; } .account-panel { padding:20px 16px; } }
