:root{color:#172033;background:#f3f5f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f3f5f7;-webkit-text-size-adjust:100%}button,input{font:inherit}input[type=number]{width:100%;min-height:40px;border:1px solid #c9d2de;border-radius:8px;background:#fff;color:#172033;padding:0 10px}button{display:inline-flex;align-items:center;justify-content:center;min-width:0;min-height:44px;border:1px solid #c9d2de;border-radius:8px;background:#fff;color:#172033;font-weight:650;line-height:1.15;padding:8px 14px;text-align:center;white-space:normal;overflow-wrap:anywhere;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}button:active{transform:translateY(1px)}button:disabled{border-color:#d8dee8;background:#edf1f5;color:#718096;cursor:not-allowed;transform:none}#app{min-height:100vh}.app-shell{width:min(100%,980px);min-height:100vh;margin:0 auto;padding:12px;display:grid;gap:12px;align-content:start}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.topbar--sticky{position:sticky;top:0;z-index:18;margin:-6px -6px 0;border:1px solid rgba(201,210,222,.88);border-radius:10px;background:#f3f5f7f5;box-shadow:0 8px 20px #0f172a14;padding:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topbar-actions{display:flex;align-items:center;gap:8px}.options-toggle.is-active{border-color:#166f68;background:#ccfbf1;color:#115e59}.eyebrow{margin:0 0 2px;color:#5e6b7a;font-size:.78rem;font-weight:700;text-transform:uppercase}h1,h2{margin:0;letter-spacing:0}h1{font-size:1.35rem}h2{font-size:1rem}.file-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #166f68;border-radius:8px;background:#0f766e;color:#fff;font-weight:750;padding:0 16px;white-space:nowrap;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.file-button.is-disabled{border-color:#cbd5e1;background:#e5e7eb;color:#718096;cursor:not-allowed}.file-button input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.stage-panel{position:relative;min-height:clamp(260px,58vh,640px);border:1px solid #c9d2de;border-radius:8px;background:#111827;display:grid;place-items:center;overflow:hidden}canvas{max-width:100%;touch-action:none;-webkit-user-select:none;user-select:none}.empty-state{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;color:#e5edf5;text-align:center;font-weight:650}.empty-state[hidden]{display:none}.actions{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(320px,1.1fr);gap:10px}.action-group{display:grid;gap:8px;touch-action:manipulation}.zoom-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.edit-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{border:1px solid #c9d2de;border-radius:8px;background:#fff;padding:12px}.workflow-progress{padding-block:10px}.workflow-progress ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}.workflow-progress li{position:relative;display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;color:#718096;font-size:.82rem;font-weight:750;text-align:center}.workflow-progress li:not(:last-child):after{content:"";position:absolute;top:50%;right:-8px;width:8px;height:2px;background:#d8dee8;transform:translateY(-50%)}.workflow-step-number{display:inline-grid;flex:0 0 auto;width:28px;height:28px;place-items:center;border:1px solid #c9d2de;border-radius:999px;background:#f8fafc;color:#5e6b7a;font-size:.78rem;line-height:1}.workflow-progress li.is-complete{color:#115e59}.workflow-progress li.is-complete .workflow-step-number{border-color:#5eead4;background:#ccfbf1;color:#115e59}.workflow-progress li.is-current{color:#172033}.workflow-progress li.is-current .workflow-step-number{border-color:#0f766e;background:#0f766e;color:#fff}.workflow-guidance{display:grid;gap:4px;border-left:4px solid #94a3b8;padding-left:14px}.workflow-guidance h2,.workflow-guidance p{margin:0}.workflow-kicker{color:#5e6b7a;font-size:.74rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}#workflow-description{color:#435164;font-size:.9rem;line-height:1.4}.workflow-guidance--corners{border-left-color:#0f766e}.workflow-guidance--processing{border-left-color:#d97706}.workflow-guidance--result{border-left-color:#15803d}.workflow-guidance--error{border-left-color:#b42318;background:#fff7f7}#source-stage,#result-panel,#rectified-panel,#current-person-panel{scroll-margin-top:88px}.options-panel[hidden]{display:none}.options-heading{display:flex;align-items:start;justify-content:space-between;gap:12px}.options-heading>button{flex:0 0 auto;white-space:nowrap;overflow-wrap:normal}.options-heading p,.options-section p{margin:4px 0 0;color:#5e6b7a;font-size:.86rem;line-height:1.35}.options-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.options-section{display:grid;gap:8px;align-content:start;min-width:0;border:1px solid #d7dee8;border-radius:8px;background:#f8fafc;padding:10px}.options-section h3{margin:0;color:#172033;font-size:.95rem}.options-section--disabled{color:#64748b}.help-topics{display:flex;flex-direction:column;gap:6px;max-height:min(52vh,520px);overflow-y:auto;overflow-x:hidden;padding-right:2px}.help-topic{overflow:visible;border:1px solid #d7dee8;border-radius:8px;background:#fff}.help-topic-toggle{width:100%;border:0;border-radius:0;background:#fff;color:#172033;display:flex;align-items:center;justify-content:space-between;min-height:40px;cursor:pointer;font-size:.86rem;font-weight:800;padding:8px 10px;text-align:left}.help-topic-toggle:after{content:"+";color:#5e6b7a;font-weight:900;margin-left:10px}.help-topic-toggle[aria-expanded=true]:after{content:"-"}.help-topic-toggle:focus-visible{outline:2px solid #14b8a6;outline-offset:-2px}.help-topic-content[hidden]{display:none}.help-topic-content{display:block;min-height:0;overflow:visible}.help-topic-content ul{margin:0;color:#435164;font-size:.82rem;line-height:1.35;padding:0 12px 10px 26px}.help-topic-content li+li{margin-top:4px}.help-pdf-note{display:grid;gap:4px;border:1px dashed #c9d2de;border-radius:8px;background:#fff;color:#435164;font-size:.84rem;line-height:1.35;padding:10px}.help-pdf-note strong{color:#7f1d1d}.options-model-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.options-model-grid label{display:grid;gap:5px;color:#435164;font-size:.76rem;font-weight:800;text-transform:uppercase}.options-model-grid input:disabled{background:#edf1f5;color:#64748b}.options-derived-value,.options-message{margin:0;color:#435164;font-size:.82rem;font-weight:650;line-height:1.35}.options-profile-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:stretch}.options-profile-actions button{display:flex;align-items:center;justify-content:center;min-width:0;min-height:42px;padding-inline:12px;text-align:center;white-space:normal;overflow-wrap:anywhere;line-height:1.2}.session-actions,.person-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.session-entry-list{display:grid;gap:8px;max-height:320px;overflow:auto;padding-right:2px}.session-empty{margin:0;color:#64748b;font-size:.82rem;font-weight:650}.session-entry{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid #d7dee8;border-radius:8px;background:#fff;padding:8px}.session-entry.is-current{border-color:#14b8a6;background:#ecfdf5}.session-entry img,.session-thumb-placeholder{width:54px;height:54px;border-radius:6px;object-fit:cover;background:#e2e8f0}.session-thumb-placeholder{display:grid;place-items:center;color:#64748b;font-weight:800}.session-entry-body{display:grid;gap:2px;min-width:0;font-size:.78rem;line-height:1.25}.session-entry-body strong,.session-entry-body span{overflow-wrap:anywhere}.session-entry button{min-height:36px;padding-inline:10px}.current-person-panel{display:grid;grid-template-columns:minmax(160px,.7fr) minmax(220px,1fr) minmax(170px,.7fr);gap:10px;align-items:end}.current-person-panel[hidden]{display:none}.current-person-panel h2{margin:0}.current-person-panel p{margin:4px 0 0;color:#5e6b7a;font-size:.86rem;line-height:1.35}.person-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.person-fields label{display:grid;gap:5px;color:#435164;font-size:.76rem;font-weight:800;text-transform:uppercase}.person-fields input{min-height:40px;border:1px solid #c9d2de;border-radius:8px;padding:0 10px}.segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;touch-action:manipulation}.segmented-control button.is-active,.segmented-control button[aria-pressed=true]{border-color:#166f68;background:#115e59;color:#ecfdf5}.secondary-panels{display:grid;gap:12px;min-width:0}.field-result,.test-summary,.rectified-panel,.diagnostics{overflow:clip;min-width:0}.field-result-heading,.test-summary summary,.rectified-panel summary,.diagnostics summary{display:flex;align-items:center;justify-content:space-between;gap:10px}.field-result-heading{font-weight:800}.panel-note{color:#5e6b7a;font-size:.78rem;font-weight:700}.test-summary summary,.rectified-panel summary,.diagnostics summary{cursor:pointer;list-style:none}.test-summary summary::-webkit-details-marker,.rectified-panel summary::-webkit-details-marker,.diagnostics summary::-webkit-details-marker{display:none}.test-summary:not([open]),.rectified-panel:not([open]),.diagnostics:not([open]){padding-bottom:12px}.rectified-tools{display:grid;gap:8px;margin-top:10px}.rectified-tool-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;touch-action:manipulation}.rectified-tool-group button.is-active{border-color:#166f68;background:#ccfbf1}.manual-fine-controls{display:grid;grid-template-columns:minmax(84px,.75fr) minmax(148px,1fr) minmax(130px,.95fr);gap:8px;align-items:stretch;border:1px solid #d7dee8;border-radius:6px;background:#f8fafc;padding:8px;touch-action:manipulation}.manual-fine-controls[hidden]{display:none}.corner-fine-controls{margin-top:10px}.manual-step-control{display:grid;gap:5px;color:#435164;font-size:.76rem;font-weight:800;text-transform:uppercase}.manual-step-control select{width:100%;min-height:40px;border:1px solid #aeb8c6;border-radius:6px;background:#fff;color:#172033;font:inherit;text-transform:none}.manual-nudge-pad{display:grid;grid-template-columns:repeat(3,minmax(42px,1fr));grid-template-rows:repeat(2,42px);gap:6px;touch-action:manipulation}.manual-nudge-pad button{min-height:42px;padding:0;font-size:1.08rem;line-height:1}#manual-nudge-up,#corner-nudge-up{grid-column:2}#manual-nudge-left,#corner-nudge-left{grid-column:1;grid-row:2}#manual-nudge-right,#corner-nudge-right{grid-column:3;grid-row:2}#manual-nudge-down,#corner-nudge-down{grid-column:2;grid-row:2}.manual-fine-actions{display:grid;grid-template-columns:1fr;gap:6px}.manual-fine-actions button{min-height:38px}.manual-fine-status{grid-column:1 / -1;margin:0;color:#435164;font-size:.8rem;font-weight:650;line-height:1.35}.manual-status{margin:0;border-radius:6px;background:#edf1f5;color:#172033;font-size:.82rem;font-weight:650;line-height:1.35;padding:8px 10px}.measurement-status{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(240px,1.3fr);gap:12px;align-items:stretch;margin-top:12px;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc;color:#172033;font-size:.9rem;line-height:1.25;padding:12px}.measurement-status strong,.measurement-status span,.measurement-status div{overflow-wrap:anywhere}.measurement-primary{display:grid;gap:4px;align-content:center;border-radius:8px;background:#ffffffb8;padding:12px}.measurement-label{color:#5e6b7a;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.measurement-value{color:inherit;font-size:clamp(2rem,8vw,3.8rem);line-height:.95}.measurement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.measurement-grid>div{display:grid;gap:5px;align-content:start;border-radius:8px;background:#ffffffb8;padding:10px}.measurement-grid>div:nth-child(2),.measurement-grid>div:nth-child(3){grid-column:span 2}.measurement-details{grid-column:1 / -1;border-top:1px solid rgba(148,163,184,.55);padding-top:10px}.measurement-details summary{cursor:pointer;color:inherit;font-weight:800}.measurement-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.measurement-details-grid>div{display:grid;gap:5px;border-radius:8px;background:#ffffffb8;padding:10px}.result-action-row{display:flex;justify-content:flex-end;margin-top:10px}.result-action-row button{border-color:#0f766e;background:#0f766e;color:#fff}.result-action-row button[hidden]{display:none}.measurement-status--ok{border-color:#86efac;background:#f0fdf4;color:#14532d}.measurement-status--review{border-color:#facc15;background:#fefce8;color:#713f12}.measurement-status--bad{border-color:#fca5a5;background:#fef2f2;color:#7f1d1d}.measurement-status--empty{color:#5e6b7a}.copy-actions{display:flex;justify-content:flex-end;margin-top:12px}.copy-actions button{border-color:#166f68;background:#ecfdf5;color:#115e59}.copy-actions button:disabled{border-color:#cbd5e1;background:#f8fafc}.rectified-viewport{max-width:100%;margin-top:10px;overflow:auto;scrollbar-gutter:stable;touch-action:none;border-radius:6px;background:#111827}.rectified-panel canvas{display:block;max-width:none;cursor:grab;border-radius:6px;background:#111827}.rectified-panel canvas:active{cursor:grabbing}.rectified-empty{margin:10px 0 0;color:#5e6b7a;font-weight:650}.rectified-empty[hidden]{display:none}.test-summary pre,.diagnostics pre{margin:10px 0 0;max-width:100%;max-height:230px;overflow:auto;border-radius:6px;background:#edf1f5;color:#172033;font-size:.82rem;line-height:1.45;padding:10px;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.test-summary pre{max-height:none;border:1px solid #c9d2de;background:#f8fafc;font-size:.86rem}@media (max-width: 720px){.app-shell{padding:10px;gap:10px}.topbar{align-items:stretch;display:grid;grid-template-columns:1fr auto}.topbar-actions{justify-content:end}h1{font-size:1.12rem}.actions{grid-template-columns:1fr}.stage-panel{min-height:clamp(280px,58vh,620px)}.secondary-panels{gap:10px}.measurement-status,.measurement-details-grid,.options-sections,.options-model-grid,.options-profile-actions,.current-person-panel,.person-fields{grid-template-columns:1fr}.current-person-panel{align-items:stretch}.test-summary pre,.diagnostics pre{max-height:200px}.test-summary pre{max-height:none}}@media (max-width: 430px){.app-shell{padding:8px}.topbar{grid-template-columns:1fr}.topbar-actions{display:grid;grid-template-columns:1fr 1fr}.workflow-progress{padding-inline:8px}.workflow-progress ol{gap:4px}.workflow-progress li{flex-direction:column;gap:4px;font-size:.7rem}.workflow-progress li:not(:last-child):after{top:14px;right:-4px;width:4px}.workflow-step-number{width:26px;height:26px}.file-button{width:100%}.stage-panel{min-height:clamp(300px,60vh,620px)}button,.file-button{min-height:42px;padding-inline:10px;font-size:.92rem}.zoom-actions,.edit-actions{grid-template-columns:1fr 1fr}#zoom-out{order:1}#zoom-in{order:2}#zoom-reset{grid-column:span 2}#zoom-reset{order:3}.panel{padding:10px}.test-summary summary,.rectified-panel summary,.diagnostics summary{min-height:36px}.rectified-tool-group{grid-template-columns:1fr 1fr}.measurement-grid{grid-template-columns:1fr}.measurement-grid>div,.measurement-grid>div:nth-child(2),.measurement-grid>div:nth-child(3){grid-column:auto}#rectified-zoom-reset{grid-column:span 2}#rectified-zoom-out{order:1}#rectified-zoom-in{order:2}#rectified-zoom-reset{order:3}.manual-fine-controls{grid-template-columns:1fr}.session-entry{grid-template-columns:48px minmax(0,1fr)}.session-entry button{grid-column:1 / -1}.manual-nudge-pad{grid-template-columns:repeat(3,minmax(56px,1fr));grid-template-rows:repeat(2,52px)}.manual-nudge-pad button{min-height:52px}.test-summary pre,.diagnostics pre{max-height:160px;font-size:.76rem}.test-summary pre{max-height:none}}:root{--app-bg: #f6f7f4;--surface: #ffffff;--surface-soft: #f8faf8;--surface-accent: #eef7f5;--text: #172033;--text-muted: #5e6b7a;--border: #d8dee8;--border-strong: #bdc8d6;--primary: #0f766e;--primary-dark: #0b5f59;--primary-soft: #ccfbf1;--accent: #d97706;--success: #15803d;--warning: #b45309;--danger: #b42318;--focus: #0ea5a0;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--shadow-card: 0 8px 24px rgba(23, 32, 51, .055);color:var(--text);background:var(--app-bg)}body{background:radial-gradient(circle at 50% -10%,rgba(15,118,110,.09),transparent 34rem),var(--app-bg);color:var(--text)}button{min-height:44px;border-color:var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer;transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease,transform .1s ease}button:not(:disabled):hover{border-color:#94a3b8;background:#f8fafc}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,.file-button:focus-within{outline:3px solid rgba(14,165,160,.34);outline-offset:2px}.button-primary,#rectify-image,.result-action-row button{border-color:var(--primary);background:var(--primary);color:#fff;box-shadow:0 5px 14px #0f766e2e}.button-primary:not(:disabled):hover,#rectify-image:not(:disabled):hover,.result-action-row button:not(:disabled):hover{border-color:var(--primary-dark);background:var(--primary-dark)}.app-shell{width:min(100%,1280px);padding:16px;gap:16px}.topbar--sticky{margin:-8px -8px 0;border-color:#d8dee8e6;border-radius:var(--radius-md);background:#f6f7f4f0;box-shadow:0 8px 28px #17203313;padding:10px 12px}.eyebrow,.section-kicker{color:var(--primary-dark);font-size:.72rem;font-weight:850;letter-spacing:.075em;text-transform:uppercase}.section-kicker{display:block;margin-bottom:3px}.file-button{min-height:46px;border-color:var(--primary);border-radius:var(--radius-sm);background:var(--primary);box-shadow:0 5px 14px #0f766e2e}.file-button:hover{background:var(--primary-dark)}.panel{border-color:var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-card);padding:16px}.options-panel{border-top:3px solid var(--primary)}.options-section{border-color:var(--border);border-radius:var(--radius-sm);background:var(--surface-soft);padding:12px}.workflow-progress{background:#ffffffdb}.workflow-progress li:not(:last-child):after{background:var(--border)}.workflow-progress li.is-complete .workflow-step-number{border-color:#5eead4;background:var(--primary-soft);color:var(--primary-dark)}.workflow-progress li.is-current .workflow-step-number{border-color:var(--primary);background:var(--primary);box-shadow:0 0 0 4px #0f766e1c}.workflow-guidance{border-left-width:5px;background:linear-gradient(100deg,rgba(15,118,110,.055),transparent 55%)}.stage-panel{border-color:#263244;border-radius:var(--radius-md);box-shadow:0 12px 28px #1118271f}.actions{gap:12px}.action-group{gap:10px}.secondary-panels,.measurement-workspace{display:grid;min-width:0;gap:16px}.field-result-heading,.rectified-tools-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.field-result-heading h2,.rectified-tools-heading h3{margin:0}.field-result{border-top:4px solid var(--primary)}.rectified-panel{border-top:4px solid #334155}.rectified-panel>summary{min-height:42px;border-radius:8px}.rectified-panel>summary:after,.test-summary>summary:after,.diagnostics>summary:after{content:"⌄";flex:0 0 auto;color:var(--text-muted);font-size:1.15rem;line-height:1;transition:transform .14s ease}.rectified-panel[open]>summary:after,.test-summary[open]>summary:after,.diagnostics[open]>summary:after{transform:rotate(180deg)}.rectified-tools{gap:12px;margin-top:14px}.rectified-tools-heading p{max-width:62ch;margin:4px 0 0;color:var(--text-muted);font-size:.86rem;line-height:1.4}.rectified-zoom-tools{flex:0 0 min(330px,42%)}.correction-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.correction-choice{min-width:0;margin:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-soft);padding:10px}.correction-choice legend{color:var(--text-muted);font-size:.76rem;font-weight:850;letter-spacing:.035em;padding-inline:4px;text-transform:uppercase}.correction-secondary-actions{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(150px,.8fr);gap:10px}.manual-preview-banner{margin:0;border:1px solid #f59e0b;border-radius:var(--radius-sm);background:#fff7ed;color:#7c2d12;font-size:.86rem;font-weight:750;line-height:1.4;padding:10px 12px}.manual-preview-banner[hidden]{display:none}.manual-status{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-accent);color:var(--text);padding:10px 12px}.manual-fine-controls{border-color:var(--border);border-radius:var(--radius-sm);background:var(--surface-soft);padding:10px}.manual-transaction-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;border:1px solid #f59e0b;border-radius:var(--radius-sm);background:#fffaf0;box-shadow:0 8px 18px #b453091a;color:#7c2d12;font-size:.86rem;font-weight:800;padding:10px 12px}.manual-transaction-bar[hidden]{display:none}.manual-transaction-bar>div{display:flex;gap:8px}.measurement-status{grid-template-columns:1fr;border-radius:var(--radius-md);padding:12px}.measurement-primary{min-height:120px;border:1px solid rgba(255,255,255,.82);border-radius:var(--radius-sm)}.measurement-value{font-size:clamp(2.3rem,5.2vw,4rem);overflow-wrap:normal;white-space:nowrap;word-break:normal}.measurement-grid,.measurement-details-grid{grid-template-columns:1fr}.measurement-grid>div,.measurement-grid>div:nth-child(2),.measurement-grid>div:nth-child(3){grid-column:auto}.measurement-preview-note{grid-column:1 / -1;margin:0;border-radius:8px;background:#ffedd5;color:#7c2d12;font-size:.82rem;font-weight:850;padding:8px 10px}.measurement-status--preview{border-style:dashed;box-shadow:0 0 0 4px #d9770614}.result-action-row button{width:100%}.rectified-viewport{display:grid;justify-content:center;min-height:160px;border-radius:var(--radius-sm);background:#111827}.rectified-panel canvas{border-radius:var(--radius-sm)}.stage-panel--empty{min-height:clamp(220px,38vh,340px)}.session-summary{border-left:3px solid var(--primary);background:var(--surface-accent);border-radius:6px;padding:8px 10px}.current-person-panel{border-top:3px solid #94a3b8}.segmented-control button[aria-pressed=true],.segmented-control button.is-active{border-color:var(--primary-dark);background:var(--primary-dark);color:#fff;box-shadow:inset 0 0 0 1px #ffffff1f}@media (min-width: 1000px){.measurement-workspace{grid-template-columns:minmax(0,1.45fr) minmax(330px,.72fr);grid-template-areas:"rectified result" "rectified person";align-items:start}.rectified-panel{grid-area:rectified}.field-result{grid-area:result;position:sticky;top:92px;z-index:5}.current-person-panel{grid-area:person;grid-template-columns:1fr;align-items:stretch}.person-fields{grid-template-columns:1fr}.rectified-panel[open]{min-height:560px}}@media (max-width: 999px){.app-shell{padding:12px;gap:12px}.measurement-workspace{grid-template-columns:1fr}.manual-transaction-bar{position:sticky;bottom:max(0px,env(safe-area-inset-bottom));z-index:14;margin-inline:-4px;padding-bottom:max(10px,env(safe-area-inset-bottom))}button,.file-button,input,select{min-height:48px}.current-person-panel{grid-template-columns:1fr;align-items:stretch}}@media (hover: none) and (pointer: coarse){.manual-transaction-bar{position:sticky;bottom:max(0px,env(safe-area-inset-bottom));z-index:14;margin-inline:-4px;padding-bottom:max(10px,env(safe-area-inset-bottom))}button,.file-button,input,select{min-height:48px}}@media (max-width: 720px){#source-stage,#result-panel,#rectified-panel,#current-person-panel{scroll-margin-top:132px}.panel{padding:12px}.rectified-tools-heading{display:grid}.rectified-zoom-tools{width:100%}.correction-choice-grid,.correction-secondary-actions,.manual-fine-controls{grid-template-columns:1fr}.manual-transaction-bar{align-items:stretch;flex-direction:column}.manual-transaction-bar>div{display:grid;grid-template-columns:1fr 1fr}}@media (max-width: 430px){.app-shell{padding:8px}button,.file-button{min-height:48px;font-size:.91rem}.topbar--sticky{margin-inline:-2px}.measurement-value{font-size:clamp(2.5rem,15vw,3.8rem)}#rectified-zoom-reset{grid-column:span 1}.manual-transaction-bar>div{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}:root{--offline-status-height: 0px;--topbar-height: 0px;--sticky-stack-gap: 6px}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;border:0!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}.pwa-status,.pwa-update-notice{position:fixed;z-index:110;left:50%;width:min(760px,calc(100vw - 16px));transform:translate(-50%);border:1px solid #eab308;border-radius:0 0 12px 12px;background:#fefce8;box-shadow:0 10px 26px #0f172a29;color:#713f12}.pwa-status{top:0;display:flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:8px 12px;text-align:center;font-size:.9rem;font-weight:750}.pwa-status[hidden],.pwa-update-notice[hidden]{display:none}.pwa-status button,.pwa-update-notice button{min-height:36px}.pwa-status--ready{border-color:#86efac;background:#f0fdf4;color:#166534}.pwa-status--offline{border-color:#f59e0b;background:#fff7ed;color:#9a3412}.pwa-status--error{border-color:#fca5a5;background:#fef2f2;color:#991b1b}.pwa-update-notice{top:max(8px,env(safe-area-inset-top));display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px}.pwa-update-notice>div:first-child{display:grid;gap:3px}.pwa-update-notice span{font-size:.86rem;line-height:1.35}.pwa-update-actions{display:flex;flex:0 0 auto;gap:8px}.topbar--sticky{top:var(--offline-status-height);z-index:42}.workflow-progress{position:sticky;top:calc(var(--offline-status-height) + var(--topbar-height) + var(--sticky-stack-gap));z-index:38;margin-block:0;border-color:#0f766e40;background:#fffffff5;box-shadow:0 7px 18px #0f172a1a;padding:7px 10px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.workflow-progress ol{max-width:460px;margin-inline:auto}.workflow-progress li{min-height:34px}.workflow-progress li:not(:last-child):after{top:16px}.workflow-step-number{width:32px;height:32px;font-size:.9rem}#source-stage,#result-panel,#rectified-panel,#current-person-panel,#workflow-guidance{scroll-margin-top:calc(var(--offline-status-height) + var(--topbar-height) + 58px)}.options-backdrop{position:fixed;z-index:78;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.options-backdrop[hidden],.options-panel[hidden]{display:none}.options-panel{position:fixed;z-index:80;top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));width:min(620px,calc(100vw - 20px));max-height:none;margin:0;overflow:auto;overscroll-behavior:contain;border-color:#94a3b8a6;border-radius:16px;background:#fff;box-shadow:0 30px 80px #0f172a47;padding:0}.options-heading{position:sticky;z-index:4;top:0;margin:0;border-bottom:1px solid var(--border);background:#fffffff7;padding:14px 16px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.options-sections{padding:14px}body.options-open{overscroll-behavior:none}.profile-dimensions-warning{margin-block:10px 12px;border:1px solid #f59e0b;border-left-width:4px;border-radius:10px;background:#fff7ed;color:#7c2d12;padding:10px 12px}.profile-dimensions-warning p{margin:4px 0 0;color:inherit;line-height:1.45}.help-topic--important{border-color:#f59e0b;background:#fffaf0}.help-guide-links{display:grid;gap:8px;margin-top:10px}.help-guide-links a,.button-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--primary);border-radius:8px;background:#fff;color:var(--primary-dark);font-weight:750;line-height:1.25;padding:9px 12px;text-align:center;text-decoration:none}.help-guide-links a:hover,.button-link:hover{background:var(--surface-accent)}.app-information-list{display:grid;gap:7px;margin:0 0 12px}.app-information-list>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border);padding-bottom:7px}.app-information-list dt{color:var(--text-muted);font-weight:700}.app-information-list dd{margin:0;font-weight:800;text-align:right}.contact-email-label{display:block;margin-bottom:6px;color:var(--text);font-size:.88rem;font-weight:750;line-height:1.4}#contact-email{width:100%;min-height:44px;border:1px solid var(--border);border-radius:8px;background:var(--surface-soft);color:var(--text);padding:0 10px}.contact-email-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.contact-email-actions[hidden]{display:none}.manual-transaction-bar{position:static!important;bottom:auto!important;z-index:auto!important;margin-inline:0!important;padding-bottom:10px!important}@media (max-width: 720px){.pwa-status,.pwa-update-notice{width:calc(100vw - 12px)}.pwa-status{align-items:stretch;flex-direction:column;gap:6px;padding:7px 9px}.pwa-status button{align-self:center;min-height:34px}.pwa-update-notice{align-items:stretch;flex-direction:column}.pwa-update-actions{display:grid;grid-template-columns:1fr}.workflow-progress{padding:6px 8px}.workflow-progress ol{max-width:340px}.workflow-progress li{min-height:32px}.workflow-progress li:not(:last-child):after{top:15px}.workflow-step-number{width:30px;height:30px}.options-panel{top:max(6px,env(safe-area-inset-top));right:max(6px,env(safe-area-inset-right));bottom:max(6px,env(safe-area-inset-bottom));left:max(6px,env(safe-area-inset-left));width:auto;border-radius:14px}.options-heading{padding:11px 12px}.options-sections{padding:10px}.contact-email-actions{grid-template-columns:1fr}}
