body { margin: 0; font-family: system-ui, sans-serif; background: #f5f5f5; color: #222; }
main { max-width: 720px; margin: 0 auto; padding: 16px; }
.panel { background: #fff; border: 1px solid #ddd; border-radius: 8px; padding: 16px; margin: 16px 0; }
.panel h2 { margin-top: 0; font-size: 1.1rem; }
button { padding: 6px 14px; border: 1px solid #888; border-radius: 4px; background: #fff; cursor: pointer; }
button.danger { color: #b00; border-color: #b00; }
label { display: block; margin: 8px 0; }
input, select { padding: 4px 6px; }
fieldset { border: none; padding: 0; margin: 0; }
.settings-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 4px 16px; }
.settings-group h3, .settings-group summary { font-size: 0.95rem; margin: 14px 0 4px; }
.settings-group summary { cursor: pointer; font-weight: 600; }
.setting { font-size: 0.9em; }
.setting--text { grid-column: 1 / -1; }
.setting--text textarea { display: block; width: 100%; box-sizing: border-box; margin-top: 4px; padding: 4px 6px; font-family: monospace; font-size: 0.85em; }
.status-list { display: grid; grid-template-columns: 8em 1fr; gap: 4px 12px; margin: 0; }
.status-list dt { color: #666; }
.status-list dd { margin: 0; }
.note { color: #666; font-size: 0.85em; }
.mall-key-rows { display: grid; gap: 8px; margin: 8px 0; }
.mall-key-row { display: flex; gap: 8px; flex-wrap: wrap; }
.mall-key-row label { margin: 0; }
