/* Shared editor controls, scoped separately from public application styling. */
.application-introduction{font:400 var(--text-body)/1.6 var(--font-sans);overflow-wrap:anywhere;max-width:80ch}
.application-introduction h2{font:600 var(--text-subheading)/1.4 var(--font-sans);color:var(--navy);margin:1.2em 0 .5em}
.application-introduction p{margin:.7em 0}
.application-introduction :is(ul,ol){padding-left:1.5em;margin:.7em 0}
.application-introduction li{margin:.3em 0}
.form-introduction-editor{margin:20px 0;padding:18px 22px;background:#fff;border:1px solid var(--rule);border-top:3px solid var(--red)}
.form-introduction-editor>summary{font:600 var(--text-subheading)/1.4 var(--font-sans);color:var(--navy);cursor:pointer}
.form-introduction-editor>p{max-width:80ch;font:400 var(--text-control)/1.5 var(--font-sans);color:var(--ink-2)}
.form-introduction-editor>label{display:block;margin-bottom:6px;font:500 var(--text-body)/1.4 var(--font-sans)}
.form-introduction-editor>textarea{display:block;width:100%;box-sizing:border-box;font:400 var(--text-body)/1.5 var(--font-sans);resize:vertical}
.form-introduction-editor>details{margin-top:12px}
.grid-editor-section{border:1px solid var(--rule);padding:16px;min-width:0}
.grid-editor-section>legend{font:600 var(--text-body)/1.4 var(--font-sans);letter-spacing:0;text-transform:none}
.grid-editor-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--rule-soft)}
.grid-editor-row>label:first-child{flex:1 1 200px}.grid-editor-row input:not([type=checkbox]){display:block;width:100%;margin-top:6px}
.grid-editor-row label,.grid-editor-section .question-choice-row label{font:400 var(--text-body)/1.4 var(--font-sans);text-transform:none;letter-spacing:0}
.grid-editor-row input[type=checkbox]{width:17px;height:17px;accent-color:var(--red)}
.grid-editor-section>button{margin-top:14px}
.question-order-row{display:flex;align-items:stretch;position:relative}
.question-order-row .question-list-item{flex:1;min-width:0}
.form-editor-page .question-drag-handle{flex:none;width:36px;padding:6px;background:transparent;color:var(--ink-2);border:0;cursor:grab;font:var(--text-dialog)/1 var(--font-sans);touch-action:pan-y}
.form-editor-page .question-drag-handle:active{cursor:grabbing}
.form-editor-page [data-order-item].drop-before{box-shadow:0 -3px 0 var(--red)}
.form-editor-page [data-order-item].drop-after{box-shadow:0 3px 0 var(--red)}
.form-editor-page [data-order-item].dragging{opacity:.55}
.form-editor-page .question-drag-handle:focus-visible{outline:2px solid var(--red);outline-offset:-2px}
.grid-editor-row>.grid-item-label{flex:1 1 180px}
.grid-row-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.grid-row-actions button{min-width:var(--control-action-height,38px);min-height:var(--control-action-height,38px)}
.question-delete{margin-top:24px;padding-top:16px;border-top:1px solid var(--rule);display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.question-delete small,.question-delete-note,.form-order-help{font:400 var(--text-control)/1.5 var(--font-sans);color:var(--ink-2)}
/* Editor controls share one treatment; answer content stays above its settings. */
.form-editor-page #questionEditor{min-width:0;display:block}
.form-editor-page #questionEditor>.field{margin:20px 0}
.form-editor-page #questionEditor label{font:400 var(--text-body)/1.45 var(--font-sans);color:var(--ink);text-transform:none;letter-spacing:0}
.form-editor-page #questionEditor input[type=checkbox]{width:18px;height:18px;min-height:0;flex:none;margin:0;accent-color:var(--red)}
.form-editor-page #questionEditor input[type=checkbox]:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.form-editor-page #questionEditor .editor-check{display:flex;align-items:center;gap:10px;min-height:36px;cursor:pointer}
.form-editor-page #questionEditor .question-choice-row{gap:20px;align-items:center;margin:12px 0}
.form-editor-page #questionEditor .question-choice-row>label:first-child{display:grid;grid-template-columns:5em minmax(0,1fr);align-items:center;gap:12px;min-width:0}
.form-editor-page #questionEditor .question-choice-row input:not([type=checkbox]){width:100%;min-width:0;margin:0}
.form-editor-page #questionEditor .question-choice-row>label:has(input[type=checkbox]){display:flex;gap:10px;align-items:center;flex:none}
.form-editor-page .question-answer-editor{border:0;min-width:0;padding:0;margin:24px 0 32px}
.form-editor-page .question-answer-editor>legend{font:600 var(--text-subheading)/1.4 var(--font-sans);padding:0}
.form-editor-page .question-answer-editor>button{margin-top:8px}
.form-editor-page .question-settings{border-top:2px solid var(--rule);padding-top:24px;margin-top:32px}
.form-editor-page .question-settings h3{font:600 var(--text-section)/1.4 var(--font-sans);margin:0 0 18px;color:var(--navy)}
.form-editor-page .question-settings .question-visibility{margin:0;padding:0}
.form-editor-page .question-settings .field{margin:16px 0}
.form-editor-page .form-answer-type,.form-editor-page .question-settings-help{font:400 var(--text-control)/1.5 var(--font-sans);color:var(--ink-2);max-width:65ch}
.form-editor-page .question-settings-help{margin:18px 0 0}
.form-editor-page .form-editor-checks{flex-wrap:wrap;gap:8px 24px;margin:18px 0}
@media(max-width:600px){
  .form-editor-page #questionEditor .question-choice-row{align-items:flex-end;gap:12px}
  .form-editor-page #questionEditor .question-choice-row>label:first-child{grid-template-columns:minmax(0,1fr);gap:5px}
}

.form-builder-page{max-width:none;margin:0;padding:0;min-width:0;container-type:inline-size}
.form-builder-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;border-bottom:2px solid var(--ink);padding-bottom:20px}
.form-builder-heading h1{font:600 clamp(1.8rem,3vw,2.6rem)/1.15 var(--font-display);margin:0 0 10px}
.form-builder-heading p{margin:4px 0;color:var(--ink-2)}
.form-builder-heading #formContext{font-size:var(--text-control);color:var(--muted)}
.form-builder-page #editorStatus:empty{display:none}
.form-builder-page #editorStatus{padding:12px 0;margin:0}
.form-builder-page #editorStatus.error{color:var(--red)}
.form-builder-toolbar{background:var(--surface);padding:12px;border:1px solid var(--rule);margin:18px 0 12px;gap:8px;justify-content:flex-end}
.form-builder-toolbar .spacer{flex:1 1 auto}
.form-builder-page .form-builder-help,.form-builder-page .form-order-help{max-width:80ch;color:var(--ink-2);font-size:var(--text-control);margin:10px 0}
.form-builder-page .form-editor-layout{grid-template-columns:minmax(220px,.8fr) minmax(0,2fr);gap:24px;margin-top:20px}
.form-builder-page #questionEditor{background:#fff;border:1px solid var(--rule);padding:20px 24px}
.form-builder-page .question-list-item{padding:10px 12px;font:500 var(--text-body)/1.45 var(--font-sans);letter-spacing:0;text-transform:none}
.form-builder-page .question-drag-handle{width:28px}
.form-builder-page .question-list-item small{font-size:var(--text-control)}
.form-editor-page .form-answer-visibility{display:inline-flex;align-items:center;font:400 var(--text-control)/1.5 var(--font-sans);color:var(--ink);padding:3px 6px;gap:2px}
.form-editor-page .form-answer-shared{background:#f0f6fc;border:1px solid #a6bfd9}
.form-editor-page [data-answer-visibility]{margin:0 0 14px}
.form-builder-page :is(button,input,textarea,select):focus-visible{outline:2px solid var(--red);outline-offset:3px}
@container(max-width:780px){
  .form-builder-heading{flex-wrap:wrap;gap:14px}
  .form-builder-page .form-editor-layout{grid-template-columns:minmax(0,1fr)}
  .form-builder-page #questionEditor{padding:18px}
  .form-builder-toolbar .spacer{display:none}
  .form-builder-toolbar button{flex:1 1 140px}
}
.model-day-choices{display:flex;flex-wrap:wrap;gap:.4rem 1rem;border:0;padding:.5rem 0;margin:0}
.model-day-choices legend{font-weight:600}
.model-day-choices label{display:flex;align-items:center;gap:.4rem;min-height:2.25rem}
.form-editor-page .model-day-choices input[type=checkbox]{flex:none;width:18px;height:18px;min-height:0;margin:0;padding:0;accent-color:var(--navy)}
@media(pointer:coarse){.model-day-choices label{min-height:44px}}
@media(max-width:600px){.form-builder-toolbar{flex-direction:column;align-items:stretch}.form-builder-toolbar .spacer{display:none}.form-builder-toolbar button{flex:none;width:100%}}

.form-editor-tab .form-builder-heading{border:0;padding:0;gap:12px}
.form-editor-tab .form-builder-heading h2{font:600 clamp(1.2rem,2vw,1.5rem)/1.2 var(--font-display);margin:0 0 6px}
.form-editor-tab .form-builder-toolbar{margin-top:12px}
