.scf-form { max-width: 960px; margin: 0 auto; }
.scf-disabled { padding: 1rem; background: #fff3cd; border: 1px solid #ffeeba; }
.scf-form { max-width: 960px; margin: 0 auto; font-family: inherit; --scf-border: #d0d0d0; --scf-accent: #b03030; --scf-bg: #f7f7f7; }
.scf-section { border: 1px solid var(--scf-border); padding: 1rem 1.25rem 1.5rem; margin: 0 0 1.5rem; background: var(--scf-bg); }
.scf-section legend { font-weight: 600; padding: 0 .5rem; font-size: 1.05rem; }
.scf-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .75rem 1.25rem; }
.scf-field { display: flex; flex-direction: column; gap: .25rem; }
.scf-field--wide { grid-column: 1 / -1; }
.scf-field label { font-size: .9rem; }
.scf-field input, .scf-field select, .scf-field textarea { padding: .5rem .6rem; border: 1px solid var(--scf-border); border-radius: 3px; font: inherit; }
.scf-field input:focus, .scf-field select:focus, .scf-field textarea:focus { outline: 2px solid var(--scf-accent); outline-offset: 1px; }
.scf-required { color: var(--scf-accent); }
.scf-submit { background: var(--scf-accent); color: #fff; padding: .75rem 1.5rem; border: 0; border-radius: 3px; font-size: 1rem; cursor: pointer; }
.scf-submit:hover { filter: brightness(.92); }
.scf-error { color: var(--scf-accent); font-size: .85rem; margin-top: .15rem; }
@media (max-width: 768px) {
    .scf-grid { grid-template-columns: 1fr; }
}
.scf-checkbox { display: flex; align-items: center; gap: .5rem; margin-bottom: .75rem; }
.scf-mailing-fields[hidden] { display: none; }
.scf-toggle-optional { background: none; border: 1px solid var(--scf-border); padding: .5rem .9rem; border-radius: 3px; cursor: pointer; font: inherit; }
.scf-toggle-optional:hover { background: #fff; }
.scf-optional-contact[hidden] { display: none; }
.scf-optional-contact { margin-top: .75rem; }
.scf-aow { display: grid; grid-template-columns: 1.2fr 1fr; gap: 1rem; }
.scf-aow__inputs { background: #fff; padding: .75rem; border: 1px solid var(--scf-border); }
.scf-aow__radius-row { display: flex; align-items: center; gap: .5rem; }
.scf-aow__inline { display: flex; gap: .5rem; align-items: center; }
.scf-aow__inline select { flex: 1; }
.scf-aow__add { background: #2c8f3a; color: #fff; width: 1.8rem; height: 1.8rem; border: 0; border-radius: 50%; cursor: pointer; font-size: 1.1rem; line-height: 1; }
.scf-aow__list { background: #fff; padding: .75rem; border: 1px solid var(--scf-border); }
.scf-aow__list-header { font-weight: 600; margin-bottom: .5rem; border-bottom: 1px solid var(--scf-border); padding-bottom: .35rem; }
.scf-aow__chips { list-style: none; margin: 0; padding: 0; min-height: 8rem; }
.scf-aow__chips li { display: flex; justify-content: space-between; padding: .35rem .25rem; border-bottom: 1px solid #f0f0f0; }
.scf-aow__chips .scf-aow__remove { color: #b89030; background: none; border: 0; cursor: pointer; font: inherit; }
@media (max-width: 768px) {
    .scf-aow { grid-template-columns: 1fr; }
}
.scf-section__help { font-size: .9rem; color: #555; margin: .25rem 0 .75rem; }
.scf-add-btn { background: #6e5524; color: #fff; padding: .5rem 1rem; border: 0; border-radius: 3px; cursor: pointer; font: inherit; margin-bottom: .5rem; }
.scf-add-btn:hover { filter: brightness(1.1); }
.scf-chips { list-style: none; margin: .5rem 0 0; padding: 0; }
.scf-chips li { display: inline-flex; align-items: center; gap: .4rem; background: #fff; border: 1px solid var(--scf-border); padding: .25rem .5rem; border-radius: 3px; margin: 0 .35rem .35rem 0; font-size: .9rem; }
.scf-chips .scf-chip-remove { background: none; border: 0; cursor: pointer; color: var(--scf-accent); font-weight: 700; padding: 0 .15rem; }
body.scf-modal-open { overflow: hidden; }
.scf-modal { position: fixed; inset: 0; background: rgba(0,0,0,.5); z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 1rem; }
.scf-modal__panel { background: #fff; width: min(900px, 100%); max-height: 90vh; display: flex; flex-direction: column; border-radius: 4px; overflow: hidden; }
.scf-modal__header { background: #6e5524; color: #fff; padding: .75rem 1rem; display: flex; justify-content: space-between; align-items: center; }
.scf-modal__header h2 { margin: 0; font-size: 1.05rem; }
.scf-modal__close { background: none; border: 0; color: #fff; font-size: 1.5rem; cursor: pointer; line-height: 1; }
.scf-modal__actions { padding: .5rem 1rem; border-bottom: 1px solid var(--scf-border); display: flex; gap: .5rem; }
.scf-modal__save { background: var(--scf-accent); color: #fff; padding: .5rem 1rem; border: 0; border-radius: 3px; cursor: pointer; }
.scf-modal__cancel { background: #888; color: #fff; padding: .5rem 1rem; border: 0; border-radius: 3px; cursor: pointer; }
.scf-modal__body { display: grid; grid-template-columns: 1fr 1.4fr; gap: 1rem; padding: 1rem; flex: 1; overflow: hidden; }
.scf-modal__col { display: flex; flex-direction: column; min-height: 0; }
.scf-modal__col-title { font-weight: 600; padding: .35rem 0; border-bottom: 1px solid var(--scf-border); margin-bottom: .25rem; }
.scf-modal__search { padding: .35rem .5rem; margin-bottom: .35rem; border: 1px solid var(--scf-border); }
.scf-modal__list { list-style: none; margin: 0; padding: 0; overflow: auto; flex: 1; border: 1px solid var(--scf-border); }
.scf-modal__list-item { padding: .4rem .5rem; border-bottom: 1px solid #f3f3f3; cursor: pointer; }
.scf-modal__list-item:hover { background: #f7f3eb; }
.scf-modal__list-item.is-active { background: #e8e0cc; }
.scf-modal__list-item label { display: flex; gap: .35rem; align-items: flex-start; cursor: pointer; }
.scf-modal__show-selected { display: flex; align-items: center; gap: .35rem; font-weight: 600; color: #6e5524; padding: .25rem 0; }
.scf-modal__pagination { display: flex; gap: .25rem; align-items: center; justify-content: flex-end; font-size: .85rem; margin-bottom: .35rem; }
.scf-modal__pagination button { background: #fff; border: 1px solid var(--scf-border); padding: .15rem .5rem; cursor: pointer; }
.scf-modal__pagination button:disabled { opacity: .4; cursor: not-allowed; }
.scf-modal__row { display: flex; gap: 1rem; }
.is-invalid { border-color: var(--scf-accent) !important; }
.scf-error-summary { background: #fff3f3; border: 1px solid var(--scf-accent); padding: .75rem 1rem; border-radius: 3px; }
.scf-error-summary ul { margin: .25rem 0 0 1.25rem; }
.scf-thank-you { padding: 2rem; background: #e8f5e9; border: 1px solid #66bb6a; border-radius: 4px; text-align: center; }
.scf-thank-you h2 { margin-top: 0; }
@media (max-width: 768px) {
    .scf-modal { padding: 0; }
    .scf-modal__panel { max-height: 100vh; height: 100vh; border-radius: 0; width: 100%; }
    .scf-modal__body { grid-template-columns: 1fr; }
}
.scf-draft-banner { background: #fffbe6; border: 1px solid #facc15; padding: .75rem 1rem; margin: 0 0 1rem; border-radius: 3px; display: flex; gap: .75rem; align-items: center; }
.scf-draft-banner__msg { flex: 1; }
.scf-draft-banner button { padding: .35rem .75rem; cursor: pointer; border: 1px solid var(--scf-border); background: #fff; border-radius: 3px; font: inherit; }
.scf-draft-banner__restore { background: var(--scf-accent) !important; color: #fff !important; border-color: var(--scf-accent) !important; }
@media (max-width: 600px) {
    .scf-draft-banner { flex-direction: column; align-items: stretch; }
}
