:root{font-family:Segoe UI Variable,Segoe UI,system-ui,sans-serif;color:#3a2a24;background:#f8e6dc;line-height:1.5;font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;--ink: #3a2a24;--accent: #b5522f;--accent-soft: rgba(181, 82, 47, .14);--muted: #8f6f62;--line: #edd4c6;--surface: #fff6f1;--wash: #f3ddd2;--canvas: #f8e6dc;color-scheme:light}html[data-theme=dark]{color:#e7e9ee;background:#101216;color-scheme:dark;--ink: #e7e9ee;--muted: #9aa3b2;--line: #2c313c;--surface: #1b1e26;--canvas: #12141a;--accent-soft: rgba(181, 82, 47, .22)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}.app-shell{display:grid;grid-template-columns:276px minmax(0,1fr);min-height:100vh;background:var(--canvas)}.app-shell.is-collapsed{grid-template-columns:64px minmax(0,1fr)}.sidebar{display:flex;flex-direction:column;position:sticky;top:0;height:100vh;max-height:100vh;overflow:hidden;background:#12141a;color:#fff;padding:14px 14px 22px;border-right:1px solid #1f222a}.nav-toggle,.nav-toggle:hover:not(:disabled){width:32px;height:32px;margin:0 0 16px;padding:0;display:grid;place-items:center;flex-shrink:0;background:transparent;color:#c5cad3;border:0;border-radius:8px}.nav-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sidebar.is-collapsed{align-items:center;padding-left:8px;padding-right:8px}.sidebar.is-collapsed .brand{margin-bottom:0}.sidebar.is-collapsed .brand-copy,.sidebar.is-collapsed .nav-label,.sidebar.is-collapsed .sign-out-label{display:none}.sign-out{width:100%;margin-top:auto;flex-shrink:0;display:flex;align-items:center;gap:10px;background:transparent;color:#c5cad3;text-align:left;font-weight:550;padding:8px 12px}.sign-out:hover:not(:disabled){background:#ffffff0f;color:#fff}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(180deg,#fff3,#f4f5f759),url(/assets/login-background-light-84oahVwl.jpg) center / cover no-repeat}html[data-theme=dark] .login-page{background:linear-gradient(180deg,#12141a47,#12141a80),url(/assets/login-background-BqnigNk5.jpg) center / cover no-repeat}.login-card{width:min(420px,100%);display:flex;flex-direction:column;gap:12px;box-shadow:0 24px 60px #00000059}.login-card h1{margin:0;font-size:28px;letter-spacing:-.03em}.login-card p{margin:0 0 8px;color:var(--muted)}.login-mark{width:44px;height:44px;color:#fff}.login-wait{margin:0;padding:24px;color:var(--muted)}.theme-toggle,.theme-toggle:hover:not(:disabled){position:fixed;top:10px;right:10px;z-index:90;width:28px;height:28px;padding:0;display:grid;place-items:center;border:0;border-radius:999px;background:#ffffff6b;color:#12141a;box-shadow:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.theme-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}html[data-theme=dark] .theme-toggle,html[data-theme=dark] .theme-toggle:hover:not(:disabled){background:#12141a6b;color:#f3f4f6}.brand{display:flex;gap:12px;align-items:center;margin-bottom:28px}.brand-mark{width:36px;height:36px;border-radius:10px;background:var(--accent);display:grid;place-items:center;font-weight:650;font-size:13px;letter-spacing:.04em}.brand-name{font-size:15px;font-weight:650;letter-spacing:-.02em}.brand-sub{margin-top:2px;max-width:190px;font-size:12px;line-height:1.3;color:#9aa3b2}.nav{display:flex;flex:1;flex-direction:column;gap:6px;min-height:0;overflow:auto}.nav-link{width:100%;display:flex;align-items:center;gap:10px;background:transparent;color:#c5cad3;text-align:left;text-decoration:none;padding:8px 12px;border-radius:8px;font-size:14px;font-weight:550}.nav-icon{width:16px;height:16px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.sidebar.is-collapsed .nav{width:100%;align-items:center}.sidebar.is-collapsed .nav-link,.sidebar.is-collapsed .sign-out{position:relative;width:36px;justify-content:center;padding:8px}.sidebar.is-collapsed .nav-link:hover:after,.sidebar.is-collapsed .sign-out:hover:after{content:attr(data-label);position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);z-index:30;padding:4px 8px;border-radius:6px;background:#1b1e26;color:#fff;font-size:12px;font-weight:550;line-height:1.3;white-space:nowrap;pointer-events:none}.nav-link:hover,.nav-link:hover:not(:disabled){background:#ffffff0f;color:#fff}.nav-link.active,.nav-link.active:hover:not(:disabled){background:#ffffff1a;color:#fff}.content{min-width:0;padding:28px 36px 40px}.content-flush{padding:0;min-height:100vh;display:flex;flex-direction:column}.app-shell.workspace-mode{height:100vh;overflow:hidden}.app-shell.workspace-mode .sidebar{min-height:0;height:100%}.app-shell.workspace-mode .content-flush{height:100%;min-height:0;overflow:hidden}.workspace-page{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;background:var(--canvas);position:relative}.workspace-toolbar{display:flex;padding:8px 46px 8px 14px;background:#12141a;color:#fff;flex-shrink:0;position:sticky;top:0;z-index:20;border-bottom:1px solid #1f222a}.workspace-toolbar-row{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;width:100%;min-width:0;overflow-x:auto}.workspace-brand{display:flex;flex-direction:row;align-items:baseline;gap:8px;flex-shrink:0;margin-right:4px;font-size:15px;line-height:1;color:#fff;text-decoration:none;white-space:nowrap}.workspace-tagline{font-size:11px;font-weight:450;color:#9aa3b2;white-space:nowrap}.workspace-toolbar button{background:#ffffff14;color:#f3f4f6;border:1px solid rgba(255,255,255,.12);padding:6px 10px;border-radius:8px;font-size:13px;font-weight:550;white-space:nowrap}.workspace-toolbar button:hover:not(:disabled){background:#ffffff24}.workspace-toolbar button.active{background:var(--accent);border-color:transparent;color:#fff}.toolbar-status{min-width:0;margin-left:auto;flex:0 1 180px;font-size:13px;color:#d7e4ee;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar-name{display:flex;align-items:center;gap:6px}.toolbar-name input{width:140px;min-width:96px;padding:6px 8px}.field-status-text{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-top:2px}.field-row.is-mapped .field-status-text{color:var(--accent)}.field-summary{display:flex;flex-direction:column;gap:2px;margin-top:8px;font-size:12px;font-weight:500;color:var(--muted)}.summary-arrow{font-size:14px}.mapping-summary{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px;margin-bottom:12px;font-size:13px}.mapping-summary ul{margin:4px 0 0;padding-left:16px}.mapping-pill{margin-top:6px;font-size:12px;font-weight:700}.mapping-pill.is-mapped{color:var(--accent)}.mapping-pill.is-unmapped{color:#7b8896}.mapping-test{margin:8px 0;font-size:13px}.mapping-test.ok{color:var(--accent)}.mapping-test.fail{color:#c0392b}.config-status{font-weight:700;margin-top:4px;color:var(--ink)}.table-actions{display:flex;gap:6px;flex-wrap:wrap}.table-actions button{padding:4px 8px;font-size:12px}.toolbar-upload{display:flex;align-items:center;flex-shrink:0;gap:6px}.toolbar-upload input[type=file]{color:#d7dbe3;border:0;padding:0;max-width:112px;font-size:12px}.workspace-body{flex:1;min-height:0;overflow:hidden;display:grid;grid-template-columns:1fr;position:relative}.workspace-body.has-fields{grid-template-columns:minmax(0,1fr) 340px}.overlay-drawer{position:absolute;top:0;right:0;bottom:0;width:min(360px,100%);z-index:5;box-shadow:-12px 0 32px #12141a1f}.overlay-drawer .template-drawer,.overlay-drawer .validation-panel{height:100%;overflow:auto}.field-counts{display:grid;gap:2px;margin-bottom:12px;font-size:13px;color:var(--muted)}.extraction-preview{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px;margin:10px 0;font-size:13px}.preview-block{margin-bottom:10px}.preview-block pre,.preview-block p{margin:4px 0 0;white-space:pre-wrap;font-family:Consolas,Courier New,monospace;font-size:12px}.preview-result{font-weight:700}.preview-result.ok{color:var(--accent)}.preview-result.fail{color:#c0392b}.how-mapping{margin:10px 0 14px;font-size:13px}.how-mapping summary{cursor:pointer;font-weight:700}.how-mapping ol{margin:8px 0 0;padding-left:18px}.fields-column{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;background:var(--surface);border-left:1px solid var(--line)}.fields-tab{position:absolute;right:0;top:72px;z-index:3;writing-mode:vertical-rl;border-radius:8px 0 0 8px;padding:12px 8px}.placeholder-drawer{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;padding:12px;flex:1}.drawer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.drawer-header h2,.drawer-header h3{margin:0;font-size:16px}.ghost-button{background:transparent;color:var(--ink);padding:4px 8px}.field-list{list-style:none;margin:0;padding:0;overflow:auto;flex:1;min-height:0}.field-row{width:100%;display:flex;justify-content:space-between;align-items:center;background:var(--surface);color:inherit;border:1px solid transparent;border-radius:6px;padding:8px 6px;text-align:left}.field-row:hover,.field-row.is-active{background:#f6d5c8;border-color:#e2b8a4}.field-token{font-family:Consolas,Courier New,monospace;font-weight:700}.field-mark{font-size:16px;color:#9aa8b5}.field-row.is-mapped .field-mark{color:var(--accent)}.field-row.is-warning .field-mark{color:#c47b16}.field-row.is-invalid .field-mark{color:#c0392b}.field-row.is-in-repeat{margin-left:16px;width:calc(100% - 16px)}.field-row.is-repeat-marker{background:var(--wash)}.mapping-status{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.mapping-properties{border-top:1px solid var(--line);padding:12px;background:var(--wash);overflow:auto;flex:1;min-height:0}.property-block{margin-bottom:12px}.property-label,.mapping-properties legend{font-size:12px;font-weight:700;color:var(--muted);margin-bottom:6px}.method-option{display:flex;flex-direction:row;align-items:center;gap:8px;font-weight:500;margin-bottom:4px}.property-actions{display:flex;gap:8px;margin-top:12px}.danger-button{background:#c0392b}.template-drawer{background:var(--surface);border-left:1px solid var(--line);padding:16px;overflow:auto}.template-structure{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.mapping-highlight{position:absolute;border:2px solid;cursor:pointer;padding:0;background:transparent}.mapping-highlight.is-active{box-shadow:0 0 0 2px var(--ink);z-index:2}.panel-copy{margin:0 0 12px;color:var(--muted);font-size:13px}.panel-select{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.placeholder-meta{font-size:11px;color:#7b8896}.workspace-body .pdf-workspace,.workspace-body .pdf-empty{min-height:0;height:100%}.pdf-upload-bar{display:flex;align-items:center;gap:16px;padding:12px 16px;background:#12141a;color:#fff}.pdf-upload-bar .muted,.muted{color:#b9c8d4;font-size:13px;margin-left:8px}.pdf-upload-bar label{font-weight:500}.pdf-upload-bar input[type=file]{color:#fff;border:0;padding:0}.pdf-empty{flex:1;display:grid;place-items:center;color:var(--muted);background:var(--canvas)}.pdf-workspace{flex:1;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.pdf-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:8px 12px;background:#0e283d;color:#fff;flex-shrink:0}.toolbar-group{display:flex;align-items:center;gap:8px;padding-right:12px;border-right:1px solid rgba(255,255,255,.15)}.toolbar-status{margin-left:auto;font-size:13px;color:#d5e0e8}.pdf-toolbar button{background:var(--accent);padding:6px 10px}.pdf-toolbar button.active{background:#8f3f24;box-shadow:inset 0 0 0 1px #fff}.page-indicator{display:flex;align-items:center;gap:6px;font-size:13px}.page-input{width:64px}.match-count{font-size:12px;color:#d5e0e8}.pdf-stage{flex:1;min-height:0;overflow:auto;background:var(--canvas);display:flex;flex-direction:column;align-items:center;gap:16px;padding:16px}.pdf-page{position:relative;background:#fff;box-shadow:0 8px 24px #12324d2e}.pdf-page canvas{display:block}.pdf-text-layer{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;line-height:1;opacity:.25}.pdf-text-layer span{position:absolute;white-space:pre;color:transparent;transform-origin:0% 0%;cursor:text}.pdf-page.region-mode .pdf-text-layer{pointer-events:none}.pdf-text-layer span.checked-line{background:#8ee0c8;color:transparent}.pdf-text-layer span.repeating-outer{background:#457b9d59}.pdf-text-layer span.repeating-record{background:#f6d76b}.pdf-text-layer span.search-hit{background:#ffe082;color:transparent}.pdf-text-layer span.search-hit-active{background:#ffb300}.pdf-region{position:absolute;border:2px solid var(--accent);background:#b5522f2e;pointer-events:none}.extraction-mark{position:absolute;pointer-events:none;box-sizing:border-box;z-index:3}.extraction-mark-start{border:2px solid #1b7f4e;background:#1b7f4e47}.extraction-mark-end{border:2px solid #c2410c;background:#c2410c59}.extraction-mark-value{border:1px solid #2563eb;background:#2563eb38}.region-meta{padding:8px 16px;background:var(--surface);border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.page-header{margin-bottom:24px}.page-header h1{margin:0 0 4px;font-size:26px;font-weight:650;letter-spacing:-.03em}.page-header p{margin:0;color:var(--muted)}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.layout-two{display:grid;grid-template-columns:320px 1fr;gap:20px;align-items:start}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px;min-width:0;overflow-x:auto}.card h2{margin:0 0 16px;font-size:18px}.metric-label{color:var(--muted);font-size:14px}.metric-value{font-size:32px;font-weight:650;letter-spacing:-.04em;margin-top:6px}.form{display:flex;flex-direction:column;gap:12px}label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}input,select,textarea,button{font:inherit}input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=color]),select,textarea{border:1px solid #e5cfc2;border-radius:10px;padding:9px 12px;background-color:var(--surface);color:var(--ink);color-scheme:light;caret-color:var(--ink);transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=color]):hover,select:hover,textarea:hover{border-color:#d2b09f}input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=color]):focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#5c6b7a 50%),linear-gradient(135deg,#5c6b7a 50%,transparent 50%);background-position:calc(100% - 16px) calc(50% - 1px),calc(100% - 11px) calc(50% - 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:32px}select option{color:var(--ink);background-color:var(--surface)}input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:16px;height:16px}button{background:var(--accent);color:#fff;border:0;border-radius:8px;padding:9px 14px;cursor:pointer;font-weight:600}button:hover:not(:disabled){background:#8f3f24}button:disabled{opacity:.55;cursor:not-allowed}table{width:100%;border-collapse:collapse}th{font-size:11px;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}th,td{text-align:left;padding:12px 8px;border-bottom:1px solid var(--line);font-size:14px;vertical-align:top;overflow-wrap:anywhere}.empty{color:var(--muted)}.banner.error{background:#fdecea;color:#9b1c1c;border:1px solid #f5c2c0;padding:10px 12px;border-radius:8px;margin-bottom:16px}.loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:grid;place-items:center;background:#3a2a246b}.loading-card{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:240px;padding:18px 22px 16px;border-radius:14px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:14px;font-weight:650}.scribble{position:relative;width:160px;height:78px}.scribble-sheet{display:block;width:160px;height:78px;overflow:visible}.scribble-ink{fill:none;stroke:var(--ink);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:100;animation:ink-draw 2.1s ease-in-out infinite}.scribble-pen{position:absolute;top:0;left:0;width:34px;height:16px;overflow:visible;offset-path:path("M6 46C18 18 28 18 36 40C44 62 52 62 60 38C68 14 82 16 90 42C98 68 112 60 122 36C132 12 148 22 154 40");offset-rotate:auto;offset-anchor:96% 50%;animation:pen-write 2.1s ease-in-out infinite}.pen-barrel{fill:#3a2a24}.pen-grip{fill:#c9896a}.pen-nib{fill:#1c1c1c}html[data-theme=dark] .pen-barrel{fill:#f6efe9}html[data-theme=dark] .pen-nib{fill:#f3d7c8}@keyframes ink-draw{0%{stroke-dashoffset:100;opacity:1}72%{stroke-dashoffset:0;opacity:1}88%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}@keyframes pen-write{0%{offset-distance:0%;opacity:1}72%{offset-distance:100%;opacity:1}88%{offset-distance:100%;opacity:1}to{offset-distance:100%;opacity:0}}@media (prefers-reduced-motion: reduce){.scribble-ink,.scribble-pen{animation:none}.scribble-ink{stroke-dashoffset:0}.scribble-pen{offset-distance:100%}}.validation-panel{background:var(--surface);border-left:1px solid var(--line);padding:16px;overflow:auto;min-height:0}.validation-upload{margin:8px 0 12px}.validation-file-input{display:none}.pdf-select-list{list-style:none;margin:0 0 12px;padding:0;max-height:160px;overflow:auto}.run-summary{margin:12px 0;padding:10px;background:var(--wash);border-radius:8px;font-size:13px}.result-table{width:100%;font-size:13px}.result-table th{text-align:left}.result-table tr.is-active{background:#f6d5c8}.link-button{background:transparent;color:var(--ink);padding:0;text-decoration:underline}.field-results{margin-top:16px}.field-result-list{list-style:none;margin:0;padding:0}.field-result-list li{display:flex;justify-content:space-between;padding:4px 0;font-family:Consolas,Courier New,monospace}.field-result-list li.is-success{color:var(--accent)}.field-result-list li.is-warning{color:#c47b16}.field-result-list li.is-failed{color:#c0392b}.field-error{margin-top:12px;padding:10px;border:1px solid #f5c2c0;border-radius:8px}.config-popup-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:flex-start;justify-content:center;padding:56px 20px 24px;overflow:auto;background:#12203061}.config-popup{width:min(680px,100%);max-height:calc(100vh - 80px);overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 48px #12324d47;padding:20px}.config-popup.is-wide{width:min(960px,100%)}.config-popup-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.config-popup-header h2{margin:0;font-size:18px}.config-popup .ghost-button{flex-shrink:0;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}.config-popup .ghost-button:hover:not(:disabled){background:var(--wash);color:var(--ink)}.copy-mappings{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);display:grid;gap:10px;max-width:520px}.copy-mappings h3{margin:0}.toolbar-version{max-width:180px;background-color:#1b3f5a;color:#fff;border-color:var(--accent);background-image:linear-gradient(45deg,transparent 50%,#fff 50%),linear-gradient(135deg,#fff 50%,transparent 50%)}.review-meta{display:grid;gap:8px;margin:0 0 16px}.review-meta div{display:grid;grid-template-columns:160px 1fr;gap:8px}.review-meta dt{color:var(--muted);font-weight:700}.review-meta dd{margin:0}.review-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.review-actions a,.review-actions button{display:inline-flex;align-items:center;padding:8px 12px;border-radius:6px;background:var(--accent);color:#fff;text-decoration:none;font-weight:600;border:0}.file-details h3,.file-details h4{margin:20px 0 8px}.field-error-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}tr.is-failed td{color:#c0392b}tr.is-review_required td{color:#c47b16}.rule-tabs{display:flex;gap:8px;margin:8px 0}.rule-tabs button[aria-selected=true]{background:var(--ink);color:#fff}.fallback-rules{margin-bottom:8px}.fallback-rules .rule-tabs{flex-wrap:wrap}.rule-section{border:1px solid var(--line);border-radius:12px;margin-bottom:8px;background:var(--surface)}.rule-section-title{width:100%;text-align:left;background:var(--wash);border:0;font-weight:700}.rule-section-body,.rule-card,.rule-preview{padding:8px}.anchor-or{display:flex;flex-direction:column;gap:8px}.anchor-or-label{font-size:12px;font-weight:700;letter-spacing:.04em;color:#3d5a73}.rule-inline,.property-actions,.rule-status-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.rule-status.unsaved{color:#c47b16}.rule-status.saved{color:#1e7a46}.rule-status.failed,.rule-errors{color:#c0392b}.rule-summary,.panel-copy{color:#3d4c5c}.link-button{background:transparent;border:0;padding:0;text-align:left;color:inherit}.locator-popup{position:fixed;z-index:30;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px #12324d38;overflow:hidden}.locator-popup-header{display:flex;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 14px 10px;border-bottom:1px solid var(--line);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.locator-popup.is-dragging .locator-popup-header{cursor:grabbing}.locator-popup-kicker{margin:0;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.locator-popup-header h3{margin:2px 0 0;font-size:16px}.locator-popup-meta{margin:4px 0 0;font-size:12px;color:var(--muted)}.locator-popup-body{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;padding:12px 14px}.locator-popup-footer{display:flex;flex-shrink:0;gap:8px;padding:12px 14px;border-top:1px solid var(--line)}.reprint-layout{display:grid;grid-template-columns:280px minmax(0,1fr) minmax(0,1.05fr);gap:20px;align-items:start}.reprint-preview{min-width:0}.reprint-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}.reprint-editor .reprint-toolbar button{margin-left:auto}.reprint-canvas-wrap{overflow:auto;max-height:calc(100vh - 220px);background:var(--wash)}.reprint-page{margin:0 0 16px}.reprint-page figcaption{margin:0 0 6px;font-size:12px;color:var(--muted)}.reprint-page canvas{display:block;width:100%;height:auto;background:#fff}.reprint-editor{min-width:0}.reprint-doc-scroll{overflow:auto;max-height:calc(100vh - 220px);background:var(--canvas);padding:12px}.reprint-doc-page{width:min(100%,680px);margin:0 auto 16px;padding:40px 48px 48px;background:#fff;border:1px solid var(--line, #e6e8ee);box-shadow:0 8px 24px #12141a0f}.reprint-doc-caption{margin:0 0 12px;font-size:12px;color:var(--muted)}.reprint-doc-line{margin:0 0 3px;min-height:1.35em;font-family:Calibri,Segoe UI,sans-serif;line-height:1.35;color:var(--ink, #12141a);white-space:pre-wrap;outline:none}.reprint-doc-line:focus{background:#f8e6dc}@media (max-width: 960px){.app-shell,.layout-two,.reprint-layout,.metric-grid,.workspace-body.has-fields{grid-template-columns:1fr}.sidebar{position:static;display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;height:auto;max-height:none;min-height:0;overflow:visible;padding:14px 16px}.sign-out{width:auto;margin-top:0}.app-shell.is-collapsed .sidebar{flex-wrap:nowrap}.brand{margin-bottom:0}.brand-sub{max-width:none}.nav{flex-direction:row;flex-wrap:wrap}.content{padding:20px 16px 28px}.fields-column{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;overflow:hidden}}html[data-theme=dark] input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=color]),html[data-theme=dark] select,html[data-theme=dark] textarea{background-color:#12141a;color:var(--ink);border-color:#3a4150}html[data-theme=dark] select option{color:var(--ink);background-color:#1b1e26}html[data-theme=dark] .workspace-page,html[data-theme=dark] .pdf-stage,html[data-theme=dark] .pdf-empty{background:#101216}html[data-theme=dark] .mapping-summary,html[data-theme=dark] .extraction-preview,html[data-theme=dark] .fields-column,html[data-theme=dark] .field-row,html[data-theme=dark] .template-drawer,html[data-theme=dark] .validation-panel,html[data-theme=dark] .loading-card,html[data-theme=dark] .rule-section,html[data-theme=dark] .locator-popup,html[data-theme=dark] .region-meta,html[data-theme=dark] .config-popup .ghost-button{background:var(--surface);color:var(--ink)}html[data-theme=dark] .field-row:hover,html[data-theme=dark] .field-row.is-active,html[data-theme=dark] .result-table tr.is-active{background:#b5522f29;border-color:#8f3f24}html[data-theme=dark] .field-row.is-repeat-marker,html[data-theme=dark] .mapping-properties,html[data-theme=dark] .run-summary,html[data-theme=dark] .rule-section-title,html[data-theme=dark] .reprint-canvas-wrap,html[data-theme=dark] .config-popup .ghost-button:hover:not(:disabled){background:#232833;color:var(--ink)}html[data-theme=dark] .rule-summary,html[data-theme=dark] .panel-copy,html[data-theme=dark] .loading-card{color:var(--ink)}html[data-theme=dark] .banner.error{background:#3a1d1d;color:#ffc9c4;border-color:#6b3030}html[data-theme=dark] .reprint-doc-line:focus{background:#b5522f29}html[data-theme=dark] .sidebar,html[data-theme=dark] .workspace-toolbar,html[data-theme=dark] .pdf-upload-bar{background:#12141a;color:#fff}html[data-theme=dark] .rule-tabs button[aria-selected=true]{background:#e7e9ee;color:#12141a}
