/* Shared form rhythm: compact facts, room for prose, and explicit optional sections. */
#modal .modal-body label:not(:where(.action-input-fields label)){gap:6px;margin-bottom:14px;font-size:var(--ui-font-size-sm);min-width:0}
#modal .modal-body :is(input[type=number],input[type=time],input[type=date]):not(:where(.action-input-fields input)){max-width:180px}
#modal .modal-body input[type=datetime-local]:not(:where(.action-input-fields input)){max-width:260px}
#modal .modal-body>.form-grid,#modal .config-group>.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#modal .form-grid{column-gap:18px;row-gap:14px;margin-bottom:16px;align-items:start}
#modal .form-grid>label{margin-bottom:0}
#modal .modal-body label>small{font-size:var(--ui-font-size-xs);line-height:1.6;font-weight:400;color:var(--ui-muted)}
#modal .modal-body .md-checkbox{flex-direction:row;align-items:flex-start;gap:8px;font-weight:400;margin:8px 0}
#modal .modal-body .md-checkbox input{width:16px;height:16px;min-width:16px;min-height:16px;max-width:16px;padding:0;margin:3px 0 0;flex:0 0 16px}
#modal .modal-body .md-checkbox{line-height:1.6;white-space:normal;overflow-wrap:anywhere}
#modal [hidden]{display:none!important}
#modal>.modal-header{position:sticky;top:0;z-index:12;align-items:flex-start;padding:16px 20px;gap:12px}
#modal .modal-heading{flex:1;min-width:0}
#modal .modal-heading h2:focus{outline:none}
#modal .modal-back{flex:none}
@media(max-width:640px){#modal>.modal-header{padding:12px;gap:8px}}
#modal .modal-body>.form-grid label>select{max-width:360px}
#modal .modal-body>label:not(.md-checkbox):not(.tr-choice){max-width:680px}
#modal .modal-body>label:has(>input[name=name]),#modal .modal-body>label:has(>input[name=title]){max-width:480px}
#modal .field-medium{width:100%;max-width:360px}
#modal .field-short{width:100%;max-width:180px}
.config-group{border:0;border-top:1px solid var(--line);padding:16px 0 0;margin:18px 0}
.config-group h4{font-size:var(--ui-font-size);margin:0 0 14px}
.response-contract-designer{display:grid;gap:16px;max-width:900px}
.response-contract-designer>label{max-width:580px}
.response-contract-designer [data-response-mappings]{display:grid;gap:14px}
.response-contract-designer .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.response-contract-designer h4,.response-contract-designer p{margin:0}
.response-contract-designer [data-response-owners],.response-contract-designer [data-response-adverse-options]{display:grid;gap:8px}
.response-contract-designer [data-response-access]{justify-self:start}
@media(max-width:640px){.response-contract-designer .form-grid{grid-template-columns:1fr}}
.config-group>p,.config-group .md-note{max-width:72ch}
.config-search{display:flex;align-items:flex-end;gap:8px;width:100%;max-width:460px}
.config-search>label,#modal .config-search>label{flex:1;min-width:0;margin:0;gap:6px;font-size:var(--ui-font-size-sm);line-height:1.5}
.config-search>.button{flex-shrink:0}
.config-disclosure{border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;padding:0;margin:12px 0 0}
.config-disclosure>summary{cursor:pointer;font-size:var(--ui-font-size-sm);font-weight:600;padding:12px 0;margin:0;line-height:1.7;overflow-wrap:anywhere}
.config-disclosure>summary>small{font-weight:400;font-size:var(--ui-font-size-xs);color:var(--ui-muted);margin-left:12px}
.config-disclosure[open]>summary{margin-bottom:8px}
.config-disclosure>summary:focus-visible{outline:2px solid var(--ui-brand);outline-offset:2px;border-radius:3px}
.mapping-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;margin:12px 0}
#modal .mapping-grid>label{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,1.2fr);align-items:center;gap:12px;margin:0;padding:9px 0;border-bottom:1px solid var(--line);font-weight:400}
.mapping-grid>label>span{overflow-wrap:anywhere}

/* The designer is one form. Tabs move existing controls instead of rebuilding drafts. */
#modal.designer{width:min(1040px,calc(100vw - 40px));height:min(820px,92dvh);max-height:92dvh;overflow:hidden}
#modal.designer[open]{display:flex;flex-direction:column}
#modal.designer>.modal-header{padding:18px 24px;flex-shrink:0}

#template-form{display:flex;flex-direction:column;flex:1;min-height:0;padding:0;overflow:hidden}
.designer-nav{display:flex;gap:8px;padding:12px 24px;border-bottom:1px solid var(--line);background:var(--ui-brand-soft);flex-shrink:0;overflow-x:auto}
.designer-nav button{border:0;background:transparent;display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:7px;font-size:var(--ui-font-size);white-space:nowrap;color:var(--ui-muted)}
.designer-nav button:hover{background:var(--ui-brand-soft)}
.designer-nav button[aria-selected=true]{background:var(--ui-brand-soft);color:var(--green);font-weight:600}
.designer-tab-number{font-size:var(--ui-font-size-xs);opacity:.7}
.designer-nav small{font-size:var(--ui-font-size-xs);font-weight:400}
.designer-nav small:empty{display:none}
.designer-panels{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:22px 24px 28px}
.designer-panel-heading{margin:0 0 20px}
.designer-panel-heading h3{font-size:15px;margin:0 0 4px}
.designer-panel-heading p{font-size:var(--ui-font-size-sm);color:var(--ui-muted);line-height:1.7}
.template-basics{max-width:700px}
.template-basics .form-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
#template-form>.form-footer{flex-shrink:0;margin:0;padding:14px 24px;background:var(--ui-warning-soft)}
#template-form>.form-error{flex-shrink:0;margin:0;padding:10px 24px;border-radius:0}
#template-form .form-builder{padding:0;margin:0;border:0;border-radius:0;background:transparent}
#template-form .builder-heading{margin-bottom:12px}
#template-form .builder-heading .eyebrow,#template-form .builder-heading h3,#template-form .builder-heading p{display:none}
#template-form .field-palette{margin:0 0 18px;gap:7px}
#template-form .field-palette button{padding:6px 10px}
#template-form .builder-workspace{grid-template-columns:minmax(0,1fr) 310px;gap:20px}
#template-form .builder-preview{padding:14px;top:0;background:var(--ui-warning-soft);box-shadow:none}
#template-form .field-card summary{padding:11px 14px}
#template-form .field-card-body{padding:0 14px 14px}
#template-form .field-card .form-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:12px}
#template-form .field-card label{font-size:var(--ui-font-size-sm)}
#template-form .field-rules label{grid-template-columns:minmax(0,1fr) 110px;margin:0 0 8px}
#template-form .md-flow-rule{border:0;padding:0;margin:0;background:transparent}
#template-form .md-flow-rule>h3{display:none}
#template-form .md-flow-rule>.form-grid{max-width:700px}
#template-form .workflow-extra-rule{padding:14px;margin:12px 0;background:var(--ui-warning-soft)}

.data-destination-overview{margin-bottom:24px;font-size:var(--ui-font-size-sm);line-height:1.7;overflow-wrap:anywhere}
.data-destination-status{padding:13px 16px;background:var(--ui-canvas);border-left:3px solid var(--ui-border);border-radius:0 7px 7px 0;margin-bottom:20px}
.data-destination-status>strong{display:block;font-size:var(--ui-font-size);color:var(--green)}
.data-destination-status>p{margin:4px 0 0;color:var(--ui-text)}
.data-destination-status.needs-attention{background:var(--ui-warning-soft);border-color:var(--ui-warning-border)}
.data-destination-heading{margin:0 0 12px;display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px}
.data-destination-heading h4,.data-destination-completion h4{margin:0;font-size:var(--ui-font-size)}
.data-destination-heading small,.data-destination-footnote{font-size:var(--ui-font-size-xs);color:var(--ui-muted)}
.data-destination-card{border:1px solid var(--line);border-radius:8px;padding:14px 16px;margin:10px 0;background:var(--ui-surface)}
.data-destination-card-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.data-destination-card-heading>.text-button{font-size:var(--ui-font-size-xs);flex-shrink:0;padding:0}
.data-destination-target{margin:8px 0 12px;color:var(--ui-muted)}
.data-destination-target>strong{color:var(--green)}
.data-destination-timing{margin:0;display:grid;gap:6px}
.data-destination-timing>div{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px}
.data-destination-timing dt{color:var(--ui-muted)}
.data-destination-timing dd{margin:0}
.data-destination-warning{color:var(--ui-warning);font-size:var(--ui-font-size-xs)}
.data-destination-footnote{margin:10px 0 0}
.data-destination-completion{margin-top:16px}
.data-destination-completion p{margin:6px 0}
#template-form .md-flow-rule{border-top:1px solid var(--line);padding-top:18px}
#template-form .md-flow-rule:has([data-rule-operation][hidden])>.form-grid{grid-template-columns:minmax(0,1fr);max-width:360px}

#template-form .step-editor{padding:0;margin:0 0 12px;background:var(--ui-surface);border:1px solid var(--ui-warning-border);border-radius:8px;overflow:clip}
#template-form .step-editor-head{display:flex;align-items:center;gap:12px;padding:13px 16px;margin:0;list-style:none;cursor:pointer;background:var(--ui-warning-soft)}
#template-form .step-editor-head::-webkit-details-marker{display:none}
#template-form .step-editor-head::after{content:'+';font-size:19px;font-weight:400;color:var(--ui-warning);margin-left:6px}
#template-form .step-editor[open]>.step-editor-head::after{content:'−'}
#template-form .step-editor-head:focus-visible{outline:2px solid var(--ui-warning-border);outline-offset:-3px}
#template-form .step-label{display:grid;place-items:center;flex-shrink:0;width:29px;height:29px;border-radius:7px;background:var(--ui-warning-soft);color:var(--ui-warning);font-size:var(--ui-font-size-xs)}
.step-summary{flex:1;min-width:0;display:grid;gap:2px}
.step-summary-name{font-size:var(--ui-font-size);overflow-wrap:anywhere}
.step-summary-meta{font-size:var(--ui-font-size-xs);color:var(--ui-muted);overflow-wrap:anywhere}
.step-summary-rule{font-size:var(--ui-font-size-xs);color:var(--ui-text);max-width:40%;overflow-wrap:anywhere}
#template-form .step-basics{display:grid;grid-template-columns:minmax(0,700px) auto;column-gap:12px;padding:16px 18px 0}
.step-fields{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) 150px;gap:16px;align-items:start;max-width:780px}
#template-form .step-fields{grid-column:1/-1}
.duration-control{display:flex;gap:6px;align-items:center}
#modal .duration-control input{width:65px}
#modal .duration-control select{width:80px}
#template-form .step-fields .days-field{width:auto}
#template-form .step-basics>label{max-width:700px}
#template-form .step-remove{display:block;align-self:end;justify-self:end;margin:0 0 14px;padding:4px 0;font-size:var(--ui-font-size-xs)}
#template-form .step-editor>.config-disclosure{margin:0 18px;padding:0;background:transparent;border-radius:0;border:0;border-top:1px solid var(--line)}
#template-form .step-editor>.config-disclosure:last-child{margin-bottom:8px}
#template-form .step-editor .execution-picker{margin:10px 0;background:var(--ui-warning-soft);padding:12px;border-radius:var(--ui-radius)}
#template-form .execution-options{gap:4px 16px}
#template-form .execution-options .md-checkbox{margin:3px 0}
#template-form .execution-picker .button-row{flex-wrap:wrap;gap:8px}
#template-form .execution-picker [data-standard-count]{color:var(--ui-warning);font-size:var(--ui-font-size-xs);margin-right:auto}
#template-form .execution-designer .config-group{margin:16px 0}
#template-form .execution-designer .config-disclosure{margin:8px 0}
#template-form .workflow-advanced fieldset{background:var(--ui-warning-soft);margin:10px 0}
#template-form .workflow-branch{grid-template-columns:minmax(0,1fr) 110px minmax(0,1fr) minmax(0,1fr);padding:12px 0;gap:12px}
#template-form .workflow-branch>button{grid-column:1/-1;padding:0;font-size:var(--ui-font-size-xs)}
#template-form .workflow-branch>label{margin:0}
#template-form .workflow-advanced .md-note{margin:10px 0 14px}
#template-form .execution-responsibility>.md-checkbox:last-child{margin-bottom:16px}
.execution-item .execution-answer-grid{grid-template-columns:150px minmax(0,1fr);margin-top:14px}
.schedule-timing{display:grid;grid-template-columns:150px 180px;gap:18px;max-width:100%}
.training-score-fields{display:grid;grid-template-columns:150px 150px;gap:18px;max-width:100%}
#workflow-schedule-form .execution-weekdays{margin:0 0 12px;gap:10px 18px}
#workflow-schedule-form .config-group>label:has(input[name=titlePrefix]){max-width:480px}

@media(max-width:800px){
  #template-form .builder-workspace{grid-template-columns:1fr}
  #template-form .builder-preview{position:static}
  .mapping-grid{grid-template-columns:1fr}
  #template-form .workflow-branch{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  #modal.designer{width:calc(100vw - 16px);height:95dvh;max-height:95dvh;border-radius:8px}
  #modal.designer>.modal-header{padding:14px 16px}
  .designer-nav{padding:8px 12px;gap:2px}
  .designer-nav button{padding:8px 9px;gap:5px;font-size:var(--ui-font-size-sm)}
  .designer-nav small,.designer-tab-number{display:none}
  .designer-panels{padding:16px 14px 20px;scrollbar-gutter:auto}
  #template-form>.form-footer{padding:12px 14px}
  #modal .modal-body>.form-grid,#modal .config-group>.form-grid,.template-basics .form-grid{grid-template-columns:1fr}
  .step-fields{grid-template-columns:minmax(0,1fr) 140px;gap:12px}
  #modal .duration-control input{width:60px}
  #modal .duration-control select{width:74px}
  .step-fields>label:first-child{grid-column:1/-1}
  #template-form .step-basics{padding:14px 12px 0;grid-template-columns:1fr}
  #template-form .step-editor>.config-disclosure{margin-left:12px;margin-right:12px}
  #template-form .step-editor-head{padding:12px;gap:8px;flex-wrap:wrap}
  .step-summary-rule{order:2;flex-basis:100%;max-width:100%;padding-left:37px}
  .config-disclosure>summary>small{display:block;margin:3px 0 0 16px}
  #template-form .field-card .form-grid{grid-template-columns:1fr}
  .execution-item .execution-answer-grid{grid-template-columns:1fr}
  #modal .modal-body label>select{max-width:100%}
  #modal .mapping-grid>label{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}
  .config-search{flex-wrap:wrap}
  .schedule-timing,.training-score-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .data-destination-card{padding:12px}
  .data-destination-status{padding:12px}
  .data-destination-timing>div{grid-template-columns:56px minmax(0,1fr);gap:8px}
  #template-form .md-flow-rule>.form-grid{grid-template-columns:minmax(0,1fr)}
}
.parallel-config,.parallel-detail { margin:12px 0; padding:12px; border:1px solid var(--border,var(--ui-border)); border-radius:8px; }
.parallel-config>label { max-width:520px; }
.parallel-branch { margin:10px 0; padding:12px; border-left:3px solid var(--ui-border); background:var(--ui-canvas); }
.parallel-lanes { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; border-top:2px solid var(--ui-border); border-bottom:2px solid var(--ui-border); padding:12px 0; margin:12px 0; }
.parallel-lanes>article { display:flex; flex-direction:column; gap:8px; padding:12px; background:var(--ui-canvas); border:1px solid var(--ui-border); border-radius:var(--ui-radius); min-width:0; overflow-wrap:anywhere; }
.workflow-overview { list-style:none; margin:16px 0; padding:0 0 0 14px; }
.workflow-overview>li { position:relative; padding:0 0 22px 28px; border-left:2px solid var(--ui-border); }
.workflow-overview>li:last-child { border-left-color:transparent; padding-bottom:0; }
.workflow-overview-number { position:absolute; left:-13px; top:0; width:24px; height:24px; display:grid; place-items:center; background:var(--ui-canvas); border:1px solid var(--ui-border); border-radius:50%; font-size:var(--ui-font-size-sm); color:var(--ui-text); }
.workflow-overview h3,.workflow-overview h4 { margin:0 0 10px; line-height:24px; }
.workflow-facts { display:grid; gap:8px; margin:0; font-size:var(--ui-font-size); }
.workflow-facts>div { display:grid; grid-template-columns:76px minmax(0,1fr); gap:10px; align-items:start; }
.workflow-facts dt { color:var(--ui-muted); font-size:var(--ui-font-size-sm); }
.workflow-facts dd { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }
.workflow-facts ul { padding-left:18px; margin:6px 0; }
.workflow-property { font-weight:600; text-decoration:underline dotted var(--ui-muted); text-underline-offset:4px; }
.workflow-preview-error { padding:10px 12px; border-left:3px solid var(--ui-danger-border); background:var(--ui-danger-soft); color:var(--ui-danger); }
.checklist-result-editor { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:12px; align-items:center; padding-top:8px; border-top:1px solid var(--ui-border); }
.checklist-result-editor>label:first-child { min-width:180px; }
.checklist-result-editor>[data-number-config],.checklist-result-editor>[data-option-config] { flex-basis:100%; }
.checklist-result-editor>[data-number-config] { grid-template-columns:minmax(80px,.6fr) repeat(2,minmax(120px,1fr)); }
.checklist-result-editor>[data-number-config]>.md-note { grid-column:1/-1; margin:0; }
@media(max-width:600px) { .checklist-result-editor>[data-number-config] { grid-template-columns:1fr; } }
@media(max-width:600px) { .workflow-facts>div { grid-template-columns:62px minmax(0,1fr); } .parallel-lanes { grid-template-columns:1fr; } .workflow-overview { padding-left:12px; } .parallel-config,.parallel-detail { padding:10px; } }
