:root{color:#1a1a1a;background:#f4f4f5;font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--preview-width: min(48vw, 640px);--border: #d4d4d8;--surface: #ffffff;--accent: #1d4ed8;--accent-hover: #1e40af;--muted: #71717a;--danger: #b91c1c}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}.app{min-height:100vh;display:flex;flex-direction:column}.toolbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--surface);border-bottom:1px solid var(--border)}.toolbar-title{font-size:1.125rem;font-weight:600}.toolbar-status{margin:0;color:var(--muted);font-size:.925rem}.toolbar-error{margin:0;color:var(--danger, #b91c1c);font-size:.875rem}.run-stats-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;padding:.5rem 1rem;background:#f8fafc;border-bottom:1px solid var(--border);font-size:.875rem}.run-stats-label{font-weight:600;color:var(--text, #1a1a1a)}.run-stats-items{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem}.run-stats-item{display:inline-flex;align-items:baseline;gap:.35rem}.run-stats-key{color:var(--muted)}.run-stats-value{font-variant-numeric:tabular-nums}.run-stats-muted{color:var(--muted)}.run-stats-model{margin-left:auto}.review-layout{display:grid;grid-template-columns:var(--preview-width) 1fr;align-items:start;flex:1;min-height:0;position:relative}.review-layout-busy .preview-pane,.review-layout-busy .editor-pane{pointer-events:none;opacity:.45}.review-classifying-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;align-items:center;justify-content:center;padding:2rem;background:#f4f4f5b8}.review-classifying-card{max-width:22rem;padding:1.25rem 1.5rem;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #00000014;text-align:center}.review-classifying-title{margin:0 0 .5rem;font-weight:600}.review-classifying-detail{margin:0;color:var(--muted);font-size:.925rem}.preview-pane{position:sticky;top:3.5rem;height:calc(100vh - 3.5rem);display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:#ececee;border-right:1px solid var(--border)}.preview-header{display:flex;flex-direction:column;gap:.75rem}.preview-header h2{margin:0;font-size:1rem}.preview-controls{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.zoom-control{display:flex;align-items:center;gap:.35rem;font-size:.875rem}.zoom-slider{display:flex;align-items:center;gap:.5rem}.zoom-slider input[type=range]{width:7rem}.btn-icon{min-width:2rem;padding:.25rem .5rem;font-size:1.125rem;line-height:1}.preview-hint{margin:0;font-size:.75rem;color:var(--muted)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.preview-panel{flex:1;min-height:0;background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}.preview-scroll{flex:1;min-height:0;overflow:auto;padding:.75rem}.preview-zoom-host{display:inline-block;line-height:0}.preview-image-wrap{position:relative;display:inline-block;line-height:0}.preview-image{display:block;max-width:none;width:auto;height:auto}.field-highlight-overlay{position:absolute;box-sizing:border-box;border:2px solid #2563eb;background:#2563eb2e;pointer-events:none}.field-highlight-pin{position:absolute;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;border:2px solid #1d4ed8;background:#fff;box-shadow:0 0 0 2px #2563eb59;pointer-events:none}.preview-empty,.preview-status{padding:1rem;color:var(--muted);margin:0}.editor-pane{padding:1rem 1.25rem 2rem;min-width:0}.editor-form h2{margin:0 0 1rem;font-size:1rem}.editor-section{margin-bottom:1rem;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:8px}.editor-section h3{margin:0 0 .75rem;font-size:.95rem}.repeatable-group{margin-bottom:1.25rem}.repeatable-group-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.repeatable-group-header h3{margin:0;font-size:.95rem}.repeatable-group-items{display:flex;flex-direction:column;gap:.75rem}.btn-add{flex-shrink:0;font-size:.875rem}.section-summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.btn-remove{font-size:.8125rem;padding:.25rem .5rem}.collapsible summary{cursor:pointer;font-weight:600;list-style:none}.collapsible summary::-webkit-details-marker{display:none}.section-body,.conditional-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;margin-top:.75rem}.form-field{display:flex;flex-direction:column;gap:.35rem;font-size:.875rem}.form-field-label{color:#3f3f46;font-weight:500}.form-field-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.form-field-confidence{font-size:.75rem;font-weight:500;color:var(--muted);flex-shrink:0}.form-field-low-confidence .form-field-confidence{color:#ea580c}.form-field-low-confidence input,.form-field-low-confidence textarea,.form-field-low-confidence select{border-color:#ea580c;box-shadow:0 0 0 1px #ea580c59}.confidence-legend{margin:0;padding:.35rem 1rem 0;font-size:.8125rem;color:var(--muted)}.clarifying-questions-panel{margin-bottom:1.25rem;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:8px}.clarifying-questions-panel h3{margin:0 0 .35rem}.clarifying-questions-help{margin:0 0 .75rem;color:var(--muted);font-size:.875rem}.clarifying-questions-email{margin:0;padding:.875rem;background:#fff;border:1px solid var(--border);border-radius:6px;font-family:inherit;font-size:.875rem;line-height:1.5;white-space:pre-wrap;word-break:break-word;color:#18181b}.form-field input,.form-field select,.form-field textarea{width:100%;padding:.5rem .625rem;border:1px solid var(--border);border-radius:6px;background:#fff}.form-field textarea{resize:vertical;min-height:4.5rem}.checkbox-field{flex-direction:row;align-items:center}.btn{border:1px solid transparent;border-radius:6px;padding:.5rem .875rem;cursor:pointer;font-weight:500}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:#fff;border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:#f4f4f5}.btn-ghost{background:transparent;border-color:var(--border)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#00000073;display:flex;align-items:flex-start;justify-content:center;padding:2rem 1rem;overflow:auto}.modal-card{position:relative;width:min(720px,100%);background:var(--surface);border-radius:10px;padding:1.25rem;box-shadow:0 20px 40px #0000002e}.modal-card-loading .modal-tabs-dimmed{opacity:.35;pointer-events:none;-webkit-user-select:none;user-select:none}.modal-loading-panel{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem;background:#ffffffeb;border-radius:10px;text-align:center}.modal-loading-title{margin:0;font-size:1.125rem;font-weight:600}.modal-loading-detail{margin:0;max-width:28rem;color:var(--muted);font-size:.925rem}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.modal-header h2{margin:0;font-size:1.125rem}.modal-lead{margin:0 0 1rem;color:var(--muted);font-size:.925rem}.modal-tabs{display:flex;flex-direction:column;gap:.75rem}.modal-tab{border:1px solid var(--border);border-radius:8px;padding:.75rem}.modal-tab summary{cursor:pointer;font-weight:600}.modal-form{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem}.form-error{color:var(--danger);margin:.75rem 0 0}.json-panel{margin-top:1.5rem;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:8px}.json-panel h3{margin:0 0 .35rem}.json-panel-help{margin:0 0 .75rem;color:var(--muted);font-size:.875rem}.json-output{margin:0;padding:.875rem;background:#18181b;color:#f4f4f5;border-radius:6px;overflow:auto;max-height:420px;font-size:.8125rem}.boot-error,.boot-loading{max-width:640px;margin:4rem auto;padding:0 1rem}@media(max-width:960px){.review-layout{grid-template-columns:1fr}.preview-pane{position:static;height:auto;border-right:none;border-bottom:1px solid var(--border)}}
