.settings-heading { align-items: flex-start; gap: 20px; }
.settings-heading h1 { margin-bottom: 6px; }
.settings-heading p { margin: 0; color: var(--ink-3); font-size: 14px; }
.settings-shell { padding-bottom: 20px; max-width: 1120px; }
.settings-tabs { display: flex; flex-wrap: wrap; gap: 6px; padding: 6px; border: 1px solid var(--line-soft); background: #eef3fb; border-radius: 14px; margin-bottom: 22px; }
.settings-tabs button { flex: 1 0 auto; padding: 12px 16px; border: 0; border-radius: 9px; background: transparent; color: var(--ink-2); font-weight: 500; cursor: pointer; }
.settings-tabs button:hover { background: #ffffff90; }
.settings-tabs button.on { color: var(--brand); background: #fff; font-weight: 700; box-shadow: 0 2px 8px #1b315b0c; }
.settings-tabs button:focus-visible, .settings-editor summary:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
.settings-mobile-nav { display: none; }
.settings-section-title { margin: 0 2px 20px; }
.settings-section-title h2 { font-size: 19px; margin: 0 0 5px; color: var(--ink-strong); }
.settings-section-title p { margin: 0; font-size: 13px; color: var(--ink-3); }
.settings-shell .card { padding: 24px; margin-bottom: 18px; border-color: #e6edf6; }
.settings-shell .card h2 { margin: 0 0 18px; font-size: 16px; }
.settings-shell .card p { font-size: 13px; line-height: 1.7; }
.settings-shell .settings-card > p { margin-top: -8px; margin-bottom: 18px; }
.settings-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px 24px; }
.settings-grid.three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.settings-grid + .settings-grid { margin-top: 18px; padding-top: 20px; border-top: 1px solid var(--line-soft); }
.settings-shell .field { display: flex; flex-direction: column; gap: 7px; margin: 0; min-width: 0; font-size: 13px; font-weight: 500; }
.settings-shell .field input, .settings-shell .field select, .settings-shell .field textarea { width: 100%; min-width: 0; padding: 10px 12px; border-radius: 9px; border: 1px solid #d9e2f0; background: #fcfdff; font-weight: 400; }
.settings-shell textarea { resize: vertical; line-height: 1.6; }
.settings-shell .field small { color: var(--ink-3); font-weight: 400; font-size: 12px; }
.settings-shell .field input:focus, .settings-shell .field select:focus, .settings-shell .field textarea:focus { outline: 0; border-color: #84a8ff; box-shadow: 0 0 0 3px var(--brand-ring); background: #fff; }
.settings-form { margin: 0; }
.settings-savebar { position: sticky; bottom: 12px; z-index: 15; display: flex; align-items: center; justify-content: space-between; gap: 16px; background: #fffffff7; backdrop-filter: blur(12px); border: 1px solid #dae5f4; border-radius: 14px; box-shadow: 0 8px 28px #23385717; padding: 14px 20px; margin-top: 24px; }
.settings-savebar b { display: block; font-size: 13px; color: var(--good); }
.settings-savebar b.is-dirty { color: var(--mid); }
.settings-savebar small { display: block; font-size: 12px; margin-top: 3px; color: var(--ink-3); }
.settings-savebar .btn:disabled { opacity: .45; cursor: default; }
.settings-shell .settings-editor { padding: 0; overflow: hidden; }
.settings-editor summary, .settings-advisor summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 14px; cursor: pointer; padding: 20px 24px; }
.settings-editor summary::-webkit-details-marker, .settings-advisor summary::-webkit-details-marker { display: none; }
.settings-editor summary b, .settings-advisor summary b { font-size: 15px; }
.settings-editor summary small, .settings-advisor summary small { display: block; margin-top: 5px; font-size: 12px; color: var(--ink-3); font-weight: 400; }
.settings-disclosure { color: var(--brand); font-size: 12px; white-space: nowrap; }
.settings-disclosure::after { content: ' ＋'; }
details[open] > summary .settings-disclosure::after { content: ' −'; }
.settings-editor[open] > summary { border-bottom: 1px solid var(--line-soft); background: #fafcff; }
.settings-editor-body { padding: 20px 24px 24px; }
.settings-editor-body > p { margin-top: 0; }
.settings-item { border: 1px solid var(--line-soft); border-radius: 12px; padding: 15px; margin-bottom: 12px; background: #fbfcfe; }
.settings-item-fields { display: grid; grid-template-columns: repeat(var(--editor-cols), minmax(0,1fr)); gap: 12px; }
.settings-item-actions { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 12px; justify-content: flex-end; }
.settings-item-actions .btn { font-size: 12px; }
.settings-location { font-size: 13px; color: var(--ink-3); margin: 2px 2px 18px; }
.settings-location b { color: var(--ink-2); }
.settings-photo-list { display: grid; grid-template-columns: repeat(auto-fill,minmax(180px,1fr)); gap: 16px; margin-bottom: 18px; }
.settings-photo-list figure { margin: 0; border: 1px solid var(--line-soft); border-radius: 12px; padding: 10px; }
.settings-photo-list img { display: block; width: 100%; height: 150px; object-fit: contain; background: var(--bg); margin-bottom: 10px; border-radius: 8px; }
.settings-shell .settings-advisor { padding: 0; overflow: hidden; }
.settings-advisor summary { justify-content: flex-start; }
.settings-advisor summary > .settings-disclosure { margin-left: auto; }
.settings-avatar { display: grid; place-items: center; flex: none; width: 42px; height: 42px; color: var(--brand); background: var(--brand-soft); border-radius: 12px; font-size: 18px; font-weight: 700; }
.settings-advisor-body { border-top: 1px solid var(--line-soft); padding: 22px 24px; }
.settings-advisor-body > .switch { margin: 18px 0; }
.settings-contact-row { display: flex; align-items: center; gap: 20px; padding-top: 16px; border-top: 1px solid var(--line-soft); }
.settings-contact-row > img { width: 108px; height: 108px; object-fit: contain; }
.settings-qr-empty { width: 108px; height: 108px; display: grid; place-items: center; padding: 12px; text-align: center; color: var(--ink-3); font-size: 12px; border: 1px dashed var(--line); border-radius: 10px; }
.settings-account-actions { min-width: 105px; }
.settings-account-actions > summary { cursor: pointer; color: var(--brand); font-size: 12px; padding: 6px 0; }
.settings-account-actions > div { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; margin-top: 8px; white-space: normal; }
.settings-account-actions .field { max-width: 170px; font-size: 12px; }
.settings-dialog-actions { display: flex; flex-wrap: wrap; gap: 9px; justify-content: flex-end; margin-top: 22px; }
[data-system-panel="allocation"] .row { gap: 18px !important; }
[data-system-panel="allocation"] .field { flex: 1 1 240px; }
[data-system-panel="allocation"] .field input, [data-system-panel="allocation"] .field select { width: 100% !important; }
@media (max-width: 700px) {
  .settings-tabs { display: none; }
  .settings-mobile-nav { display: flex; align-items: center; gap: 12px; font-size: 13px; color: var(--ink-2); margin-bottom: 18px; }
  .settings-mobile-nav select { flex: 1; min-width: 0; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
  .settings-heading { flex-direction: column; }
  .settings-heading .row { width: 100%; }
  .settings-heading .row > * { flex: 1; justify-content: center; }
  .settings-shell .card { padding: 18px; }
  .settings-grid, .settings-grid.three, .settings-item-fields { grid-template-columns: 1fr; }
  .settings-shell .settings-editor, .settings-shell .settings-advisor { padding: 0; }
  .settings-editor summary, .settings-advisor summary { padding: 17px; }
  .settings-editor-body, .settings-advisor-body { padding: 17px; }
  .settings-savebar { flex-wrap: wrap; padding: 12px; bottom: 8px; }
  .settings-savebar > .row { width: 100%; display: flex; flex-wrap: nowrap; }
  .settings-savebar > .row button { flex: 1; justify-content: center; }
  .settings-advisor summary .chip { display: none; }
  .settings-contact-row { gap: 12px; }
  .settings-contact-row .btn { white-space: normal; }
}
@media (max-width: 860px) {
  .settings-savebar { bottom: calc(76px + env(safe-area-inset-bottom, 0px)); }
}
/* Wrap long domain and invitation previews on narrow screens. */
.settings-url-preview{padding:16px;margin:16px 0;border:1px solid var(--line,#dce4f2);border-radius:12px;background:#f5f8ff;overflow-wrap:anywhere}
.settings-url-preview dl{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;font-size:13px}
.settings-url-preview dd{margin:0}.settings-url-preview dt{color:#526179}
@media(max-width:480px){.settings-url-preview dl{grid-template-columns:1fr;gap:6px}.settings-url-preview dd{margin-bottom:8px}}
