/* Authoring shell: the same field renderer powers the canvas and the live form. */
.editor-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0;padding:0;background:#fff;color:#263348}
#editor-form{height:100%;display:flex;flex-direction:column;overflow:hidden}
.builder-header{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #e4e8ef;padding:16px 24px;background:#fff;flex-shrink:0}
.builder-brand{display:flex;align-items:center;gap:12px;min-width:0}.builder-brand .eyebrow{font-size:9px;color:#64748b;letter-spacing:1.8px;margin:0 0 3px}.builder-brand h2{font-size:17px;letter-spacing:-.4px;margin:0;max-width:36vw;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.builder-header-actions{display:flex;gap:8px;flex-shrink:0}.builder-header button{font-size:12px}.builder-header .primary{background:#2563eb;color:white}.builder-header .primary:hover{background:#1d4ed8}.builder-workspace{display:grid;grid-template-columns:235px minmax(300px,1fr) 295px;flex:1;min-height:0;overflow:hidden}
.builder-library,.builder-properties{overflow-y:auto;overscroll-behavior:contain;background:#fff;min-width:0}.builder-library{border-right:1px solid #e4e8ef}.builder-properties{border-left:1px solid #e4e8ef;padding:20px 16px}
.builder-tabs{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:12px;border-bottom:1px solid #e4e8ef}.builder-tabs button{padding:9px 4px;border:0;border-radius:5px;background:white;font-size:11px;color:#64748b;font-weight:600}.builder-tabs button[aria-pressed=true]{background:#eaf1ff;color:#1d4ed8}
.builder-tool-panel{padding:20px 16px}.builder-tool-panel h3{font-size:15px;margin:0 0 8px}.builder-tool-panel .helper{color:#64748b;font-size:11px;line-height:1.6}.builder-tool-panel>label{margin:16px 0;font-size:11px;color:#475569}.builder-tool-panel input,.builder-tool-panel textarea,.builder-tool-panel select{font-size:12px;color:#334155;border-color:#dce2ea}
.builder-tool-panel.form-settings{border:0;padding:20px 16px}.catalog-search{font-size:10px!important;text-transform:uppercase;letter-spacing:.6px}.catalog-search input{text-transform:none;letter-spacing:normal;margin-top:2px}
.catalog-group h4{color:#94a3b8;font-size:9px;letter-spacing:1.3px;text-transform:uppercase;margin:24px 0 10px}.catalog-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.catalog-item{display:flex;flex-direction:column;gap:8px;align-items:flex-start;text-align:left;background:#fff;border:1px solid #e4e8ef;border-radius:7px;padding:11px 9px;font-size:10px;line-height:1.25;color:#475569;min-height:75px}.catalog-item:hover{border-color:#93b4ff;background:#f5f8ff}.catalog-icon{font-size:19px;line-height:1;color:#5475a6;font-weight:550}.catalog-item[draggable=true]{cursor:grab}.catalog-note{font-size:10px;color:#94a3b8;line-height:1.6;margin:24px 0 0;border-top:1px solid #e4e8ef;padding-top:15px}
.builder-stage{display:flex;flex-direction:column;min-width:0;background:#edf1f6}.stage-toolbar{padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #dde3ec;flex-wrap:wrap;flex-shrink:0;background:#f7f9fc}#canvas-pages{display:flex;gap:5px;overflow-x:auto;max-width:100%}.canvas-page-tab,.device-switch button{border:0;background:transparent;color:#64748b;font-size:11px;padding:7px 10px;border-radius:5px;white-space:nowrap}.canvas-page-tab[aria-pressed=true]{background:white;color:#1d4ed8;box-shadow:0 1px 3px #1e293b13}.device-switch{display:flex;border:1px solid #dce2ea;border-radius:6px;background:white}.device-switch button[aria-pressed=true]{background:#eaf1ff;color:#1d4ed8}
#canvas-scroll{overflow-y:auto;overscroll-behavior:contain;padding:22px 24px 60px;min-height:0}.canvas-hint{color:#94a3b8;font-size:9px;font-weight:650;letter-spacing:1.3px;text-align:center;margin:0 0 16px}.canvas-paper{font-family:var(--form-font,system-ui);border-radius:10px;background:white;border-top:5px solid var(--form-accent,#2563eb);box-shadow:0 8px 32px #1e293b0c;max-width:780px;padding:30px 26px 24px;margin:0 auto;transition:max-width .15s;outline:12px solid var(--form-background,#f1f5f9)}
.canvas-form-heading{border-bottom:1px solid #e7ebf1;padding:0 4px 14px;margin-bottom:20px}.canvas-kicker{font-size:9px;color:#94a3b8;font-weight:700;letter-spacing:1.4px;margin:0 0 12px}.canvas-form-heading h2{font-size:25px;letter-spacing:-.6px;color:#17263a;margin-bottom:9px;overflow-wrap:anywhere}.canvas-form-heading>p:last-child{font-size:12px;color:#7c899d;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}
.canvas-section{position:relative;margin-bottom:18px;border-radius:7px}.canvas-section-title{font-size:12px;font-weight:650;color:#475569;border:0;background:transparent;text-align:left;padding:8px 2px;max-width:100%;overflow-wrap:anywhere}.canvas-section.target-section>.canvas-section-title{color:#2563eb}.form-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--form-gap,24px) 16px}.form-field-grid>.field-full,.form-field-grid>.answer-field:not(.field-half){grid-column:1/-1}.form-field-grid>.field-half{grid-column:span 1;min-width:0}
.canvas-field{position:relative;border:1px solid transparent;border-radius:7px;padding:24px 12px 12px;min-width:0;background:#fff}.canvas-field:hover{border-color:#c1d4fb}.canvas-field.selected{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f616}.canvas-field .answer-field{margin:0}.canvas-field-tag{position:absolute;top:5px;right:9px;font-size:8px;letter-spacing:.4px;color:#94a3b8}.canvas-field.selected .canvas-field-tag{color:#2563eb}.canvas-select{position:absolute;inset:0;border:0;background:transparent;width:100%;border-radius:7px;cursor:grab}.canvas-select:focus-visible{outline:2px solid #2563eb;outline-offset:3px}.canvas-field input:disabled,.canvas-field select:disabled,.canvas-field textarea:disabled{opacity:1;background:#fbfcfe;color:#94a3b8;border-color:#e2e8f0}.canvas-field .answer-field>label,.canvas-field .answer-field>legend{font-size:12px;color:#334155}.canvas-field .checkbox-label{font-size:11px}.canvas-drop-hint{border:1px dashed #dbe4f0;border-radius:5px;background:#fcfdff;color:#94a3b8;padding:10px;width:100%;margin-top:14px;font-size:10px}.canvas-drop-hint:hover{border-color:#94b8fc;color:#2563eb}.canvas-paper>.add-field{margin-top:8px;color:#2563eb;border-color:#b9cef8;font-size:11px}
.properties-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.properties-heading .eyebrow{font-size:8px;letter-spacing:1.3px;color:#94a3b8;margin-bottom:5px}.properties-heading h3{font-size:16px;margin:0}.builder-properties .field-row{border:0;padding:0;background:white}.builder-properties .field-row-header{border-bottom:1px solid #e4e8ef;padding-bottom:12px;margin-bottom:20px}.builder-properties .field-properties{grid-template-columns:1fr;gap:0}.builder-properties .field-row>label{margin-bottom:18px}.builder-properties .field-row input,.builder-properties .field-row select,.builder-properties .field-row textarea{border-color:#dce2ea;color:#334155;font-size:12px}.builder-properties .field-row .checkbox-label{margin:16px 0}.builder-properties .condition-row{grid-template-columns:1fr}.builder-properties .condition-row .icon-button{justify-self:end}.builder-properties .conditions{margin-top:24px}.builder-properties .field-number{color:#64748b}
.builder-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0;padding:10px 20px;border-top:1px solid #e4e8ef;background:white;font-size:10px;color:#94a3b8;flex-shrink:0}.builder-footer button{font-size:10px;padding:8px 12px}.local-badge{font-size:8px;letter-spacing:1px;background:#eef2f7;color:#64748b;padding:4px 7px;border-radius:4px;margin-right:10px}.builder-footer .error{margin:6px 0 0;padding:7px 10px;max-height:70px;overflow:auto}.builder-footer>div{min-width:0}.builder-tool-panel .layout-page{padding:10px;margin:14px 0}.builder-tool-panel .layout-page .section-heading{gap:6px}.builder-tool-panel .layout-page h4{font-size:12px}.builder-tool-panel .layout-page .action-group{gap:3px}.builder-tool-panel .layout-page button{font-size:9px;padding:6px 8px}.builder-tool-panel .layout-section{padding-left:8px;margin:12px 0}.builder-tool-panel .layout-page label{font-size:10px;margin:10px 0}
#fill-dialog{font-family:var(--form-font,system-ui);width:min(760px,94vw);border-top:5px solid var(--form-accent,#2563eb);box-shadow:0 0 0 12px var(--form-background,#f1f5f9)}#fill-dialog .primary{background:var(--form-accent,#2563eb);color:var(--form-accent-ink,#fff)}#fill-dialog .answer-field{margin-bottom:0}#fill-dialog .answer-section{padding-bottom:var(--form-gap,24px)}#fill-dialog .answer-section h4{margin:0 0 20px;color:#64748b;font-size:13px}.canvas-paper.mobile-preview{max-width:390px;padding:22px 16px}.canvas-paper.mobile-preview .form-field-grid{grid-template-columns:1fr}.canvas-paper.mobile-preview .field-half{grid-column:1/-1}#fill-dialog.preview-mobile{width:min(390px,94vw)}#fill-dialog.preview-mobile .form-field-grid{grid-template-columns:1fr}#fill-dialog.preview-mobile .field-half{grid-column:1/-1}
@media(min-width:1550px){.builder-workspace{grid-template-columns:260px minmax(300px,1fr) 330px}.builder-tool-panel{padding:24px}.builder-properties{padding:24px}}
@media(max-width:1000px){.builder-workspace{grid-template-columns:200px minmax(230px,1fr) 245px}.builder-header{padding:12px}.builder-header-actions button{font-size:10px;padding:8px}.builder-brand h2{max-width:25vw}#canvas-scroll{padding:20px 14px}.canvas-paper{padding:24px 14px}.builder-tool-panel{padding:16px 12px}.builder-properties{padding:16px 12px}}
@media(max-width:760px){#editor-form{overflow:auto;display:block;height:100%}.builder-header{position:sticky;top:0;z-index:5;align-items:flex-start;gap:8px;flex-wrap:wrap}.builder-brand h2{max-width:65vw}.builder-header-actions{width:100%;justify-content:flex-end}.builder-header-actions button{flex:1}.builder-workspace{display:flex;flex-direction:column;overflow:visible}.builder-library,.builder-properties{overflow:visible;border:0}.builder-tabs{display:flex;overflow-x:auto;padding:8px;position:relative}.builder-tabs button{flex:1;white-space:nowrap;padding:10px 5px;font-size:10px}.builder-tool-panel{max-height:310px;overflow-y:auto;border-bottom:1px solid #e4e8ef}.catalog-grid{grid-template-columns:repeat(3,1fr)}.catalog-item{min-height:65px}.catalog-group h4{margin-top:15px}.builder-stage{min-height:400px}#canvas-scroll{overflow:visible;padding:20px 18px}.stage-toolbar{padding:9px}.canvas-paper{padding:20px 12px}.canvas-paper .form-field-grid{grid-template-columns:1fr}.canvas-paper .field-half{grid-column:1/-1}.builder-properties{padding:24px 20px}.builder-footer{position:sticky;bottom:0;z-index:4;padding:8px 10px}.builder-footer .local-badge{display:none}.builder-footer #builder-status{font-size:9px}.builder-footer button{white-space:nowrap}.builder-properties .field-controls button{padding:6px 10px}.builder-properties .field-properties{grid-template-columns:1fr 1fr;gap:10px}#fill-dialog .form-field-grid{grid-template-columns:1fr}#fill-dialog .field-half{grid-column:1/-1}}
