.settings-intro { margin: 16px 0 26px; color: var(--muted); }
.settings-project { max-width: 440px; margin: 0 0 24px; }
.settings-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 24px; align-items: start; max-width: 1160px; }
.settings-form { display: grid; gap: 16px; margin-top: 24px; }
.settings-description { margin: 0; color: var(--muted); line-height: 1.6; }
.settings-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; }
.settings-details { margin: 24px 0; }
.settings-details > div { gap: 20px; }
.settings-details dd { text-align: right; overflow-wrap: anywhere; }
.settings-unauthorized { max-width: 600px; }
.settings-unauthorized h2 { margin-top: 0; }
.preview-notice { margin: 0; padding: 12px 24px; }
#source-panel { margin-bottom:24px; }
#source-panel .section-heading { flex-wrap:wrap; }
.source-layout { display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);gap:32px;margin-top:24px; }
.source-sidebar { display:flex;flex-direction:column;gap:16px;min-width:0; }
#source-list { max-height:440px;margin-top:0; }
#source-list .sw-select-option { overflow-wrap:anywhere; }
.source-editor { display:grid;gap:24px;min-width:0; }
.source-editor details { min-width:0; }
.source-editor summary { cursor:pointer;min-height:44px;display:list-item;align-content:center; }
.source-editor details[open]>.sw-field,.source-tags-grid { margin-top:12px; }
.source-binding { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end; }
.source-tags-grid,.source-rule-dates { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.source-rules { display:grid;gap:20px;list-style:none;padding:0;margin:16px 0 0; }
.source-rule-heading { display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px; }
.source-rule-heading strong { overflow-wrap:anywhere;min-width:0; }
.source-rule-heading button { flex-shrink:0; }
.source-rule-dates { max-width:440px; }
#source-save { justify-self:start; }
@media (max-width: 900px) { .settings-grid { grid-template-columns: 1fr; } }
@media(max-width:760px) { .source-layout { grid-template-columns:1fr;gap:24px; }.source-binding { grid-template-columns:minmax(0,1fr); }#source-list { max-height:220px; }.source-tags-grid { grid-template-columns:1fr; }#source-save { width:100%; } }
@media (max-width: 480px) { .settings-actions { display: grid; } .settings-actions .sw-button { width: 100%; } }
