@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-variable-latin-C4Z80QmU.woff2)format("woff2")}:root{--surface-0:#fff;--surface-1:#f5f7f8;--surface-2:#e9edef;--surface-3:#dbe1e4;--ink-0:#12171a;--ink-1:#39434a;--ink-2:#616468;--line-1:#c3c6ca;--line-2:#9ea1a5;--line-3:#85888c;--inst-0:#12161a;--inst-1:#1b2126;--inst-2:#262d34;--inst-3:#333c44;--inst-ink-0:#f2f5f7;--inst-ink-1:#c5ced5;--inst-ink-2:#9da8b0;--inst-line-1:#333c43;--inst-line-2:#4b555d;--inst-line-3:#6c7880;--accent:#ee5e21;--accent-strong:#c2440f;--accent-ink:#9a3409;--accent-on-dark:#f8834f;--accent-surface:#fdece3;--ok:#1f6b4a;--ok-surface:#e6f2ec;--warn:#b8791a;--warn-ink:#7a5209;--warn-surface:#fdf3df;--danger:#a32617;--danger-surface:#fbeae7;--warn-inst-surface:#37301c;--warn-inst-line:#8f7639;--warn-inst-ink-0:#ffeeb4;--warn-inst-ink-1:#e3d3a4;--layer-finding:#f87b45;--layer-contour:#f2c14e;--layer-facet:#5ec98d;--layer-area:#6ba8ff;--layer-annotation:#59c7d6;--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.8125rem;--text-md:.875rem;--text-lg:1rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:2rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--radius-1:3px;--radius-2:6px;--z-canvas:1;--z-overlay:20;--z-panel:30;--z-toolbar:40;--z-dialog:100;--ink:var(--ink-0);--muted:var(--ink-2);--line:var(--line-2);--paper:var(--surface-0);--panel:var(--surface-2);--terracotta:var(--accent);--terracotta-dark:var(--accent-ink);--success:var(--ok);color:var(--ink-0);background:var(--surface-1);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}small{font-size:var(--text-2xs)}button{cursor:pointer}button:disabled{cursor:wait;opacity:.62}input,select,textarea{border:1px solid var(--line-3);border-radius:var(--radius-1);background:var(--surface-0);width:100%;min-height:42px;color:var(--ink-0);padding:var(--space-2) var(--space-2)}input[type=checkbox],input[type=radio]{width:16px;min-height:16px;accent-color:var(--accent);border:0;border-radius:0;padding:0}progress{accent-color:var(--accent)}textarea{resize:vertical;min-height:92px}input::placeholder,textarea::placeholder{color:var(--ink-2)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}.app-shell{grid-template-rows:auto 1fr auto;min-height:100vh;display:grid}.topbar{align-items:center;gap:var(--space-5);min-height:52px;padding:0 var(--space-5);border-bottom:1px solid var(--line-2);background:var(--surface-0);display:flex}.brand{align-items:center;gap:var(--space-3);min-width:0;display:flex}.brand-mark{object-fit:contain;width:26px;height:26px}.brand-name{font-size:var(--text-lg);letter-spacing:-.02em;font-weight:700}.environment{margin-left:var(--space-2);padding:var(--space-1) var(--space-2);border:1px solid var(--line-1);color:var(--terracotta-dark);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.locale-switcher{gap:2px;margin-left:auto;display:flex}.primary-nav{align-items:stretch;gap:var(--space-1);min-width:0;display:flex;overflow-x:auto}.primary-nav a{padding:0 var(--space-3);color:var(--ink-1);font-size:var(--text-sm);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;font-weight:600;text-decoration:none;display:flex}.primary-nav a:hover{color:var(--ink-0);background:var(--surface-1)}.primary-nav a.active{border-bottom-color:var(--accent);color:var(--ink-0)}.primary-nav a:focus-visible{outline:2px solid var(--accent-ink);outline-offset:-2px}.section-nav{gap:var(--space-1);margin:var(--space-4) 0 var(--space-3);border-bottom:1px solid var(--line-1);flex-wrap:wrap;display:flex}.section-nav a{padding:var(--space-2) var(--space-3);color:var(--ink-1);font-size:var(--text-sm);border-bottom:2px solid #0000;margin-bottom:-1px;font-weight:600;text-decoration:none}.section-nav a:hover{color:var(--ink-0);background:var(--surface-1)}.section-nav a.active{border-bottom-color:var(--accent);color:var(--ink-0)}.section-nav a:focus-visible{outline:2px solid var(--accent-ink);outline-offset:-2px}.app-shell-full{height:100vh}.workspace-full{min-height:0}.workspace-full>.workspace-main{height:100%;min-height:0;padding:var(--space-4) var(--space-5);flex-direction:column;display:flex}.workspace-full>.workspace-main>*,#admin-panel-review{flex-direction:column;flex:1;min-height:0;display:flex}.review-workbench{flex:1;grid-template-rows:auto 1fr;min-height:0;display:grid}.review-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-5);margin-bottom:var(--space-3);display:flex}.review-heading h1{margin:var(--space-1) 0 0;font-size:var(--text-xl)}.review-heading .secondary-action{align-items:center;text-decoration:none;display:inline-flex}.review-stage{min-height:0}.section-lead{margin:0 0 var(--space-3);color:var(--ink-2);font-size:var(--text-sm)}.section-lead a{color:var(--accent-ink);font-weight:600}.panorama-tools{display:contents}.review-stage .panorama-panel{column-gap:var(--space-5);grid-template-rows:auto auto auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(19rem,25rem);height:100%;min-height:0;display:grid}.review-stage .panorama-heading,.review-stage .panorama-toolbar,.review-stage .panorama-help,.review-stage .panorama-error,.review-stage>.form-error{grid-column:1}.review-stage .panorama-stage{grid-area:4/1;height:auto;min-height:0}.review-stage .panorama-tools{min-height:0;padding-right:var(--space-2);grid-area:1/2/-1;display:block;overflow-y:auto}.review-stage .panorama-tools>*+*{margin-top:var(--space-4)}.review-stage .panorama-tools .roof-facet-layout,.review-stage .panorama-tools .inference-review-facts{grid-template-columns:minmax(0,1fr)}@media (width<=1100px){.app-shell-full{height:auto}.workspace-full>.workspace-main,.workspace-full>.workspace-main>*,#admin-panel-review,.review-workbench{flex:none;height:auto;display:block}.review-stage .panorama-panel{height:auto;display:block}.review-stage .panorama-tools{display:contents}.review-stage .panorama-stage{height:min(62vh,560px)}}.overview-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-5);margin-bottom:var(--space-5);display:flex}.overview-heading h1{margin:var(--space-1) 0 0}.overview-heading .primary-action{align-items:center;text-decoration:none;display:inline-flex}.overview-counts{margin:0 0 var(--space-6);border-block:1px solid var(--line-2);flex-wrap:wrap;gap:0;display:flex}.overview-counts>div{min-width:160px;padding:var(--space-3) var(--space-4) var(--space-3) 0;border-right:1px solid var(--line-1)}.overview-counts>div:last-child{border-right:0}.overview-counts>div+div{padding-left:var(--space-4)}.overview-counts dt{color:var(--ink-2);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em}.overview-counts dd{margin:var(--space-1) 0 0}.overview-counts dd a{color:var(--ink-0);font-size:var(--text-2xl);font-variant-numeric:tabular-nums;font-weight:700;text-decoration:none}.overview-counts dd a:hover{color:var(--accent-ink);text-decoration:underline}.overview-columns{gap:var(--space-6);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);display:grid}.overview-columns h2{margin:0 0 var(--space-3);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.overview-columns td a{color:var(--ink-0);font-weight:600}@media (width<=1100px){.overview-columns{grid-template-columns:1fr}}.confirm-backdrop{z-index:var(--z-dialog);padding:var(--space-4);background:#12171a9e;place-items:center;display:grid;position:fixed;inset:0}.confirm-dialog{width:min(460px,100%);padding:var(--space-5);border-top:3px solid var(--danger);border-radius:var(--radius-2);background:var(--surface-0);box-shadow:0 18px 60px #12171a57}.confirm-dialog h2{margin:0 0 var(--space-2);font-size:var(--text-lg)}.confirm-dialog p{margin:0 0 var(--space-5);color:var(--ink-1);line-height:1.5}.confirm-actions{justify-content:flex-end;gap:var(--space-2);display:flex}.panorama-annotations.collapsed,.roof-contour-panel.collapsed{background:#1b2126eb;width:auto;overflow:visible}.panorama-annotations.collapsed .annotation-heading,.roof-contour-panel.collapsed .roof-contour-heading{padding:var(--space-1);border-bottom:0}.panel-collapse{border:1px solid var(--inst-line-3);background:var(--inst-2);min-width:30px;min-height:30px;color:var(--inst-ink-0);font-size:var(--text-md);line-height:1}.panel-collapse:hover{border-color:var(--inst-ink-2);background:var(--inst-3)}.panel-collapse:focus-visible{outline:2px solid var(--accent-on-dark);outline-offset:2px}.app-footer{padding:var(--space-3) var(--space-5);border-top:1px solid var(--line-1)}.app-footer dl{gap:var(--space-2) var(--space-5);flex-wrap:wrap;margin:0;display:flex}.app-footer div{gap:var(--space-2);white-space:nowrap;display:flex}.app-footer dt{color:var(--ink-2);font:var(--text-2xs)/1.5 ui-monospace, monospace}.app-footer dd{color:var(--ink-1);font:var(--text-2xs)/1.5 ui-monospace, monospace;margin:0}.locale-switcher button{min-width:42px;padding:var(--space-2);color:var(--muted);font-size:var(--text-xs);background:0 0;border:0;border-bottom:2px solid #0000;font-weight:700}.locale-switcher button:hover,.locale-switcher button:focus-visible{color:var(--ink)}.locale-switcher button.active{border-color:var(--terracotta);color:var(--terracotta-dark)}.access-panel{width:min(100%,640px);margin:clamp(40px,10vh,132px) auto;padding:0 28px 42px}.section-index,.section-label{color:var(--terracotta-dark);font:700 var(--text-2xs)/1.2 ui-monospace, monospace;letter-spacing:.12em;text-transform:uppercase}h1{margin:0 0 var(--space-3);font-size:var(--text-3xl);letter-spacing:-.02em;font-weight:700;line-height:1.15}.intro{max-width:560px;margin:0 0 var(--space-6);color:var(--muted);font-size:var(--text-lg);line-height:1.62}.access-form{gap:var(--space-4);padding:var(--space-5) 0;border-top:1px solid var(--line);display:grid}label{gap:var(--space-2);color:var(--ink);font-size:var(--text-sm);font-weight:600;display:grid}.primary-action,.secondary-action{border-radius:0;min-height:42px;font-weight:700}.primary-action{border:1px solid var(--accent-ink);background:var(--accent-strong);color:var(--surface-0);padding:var(--space-2) var(--space-3)}.primary-action:hover{background:var(--accent-ink)}.secondary-action{border:1px solid var(--line-3);background:var(--surface-0);color:var(--ink-0);padding:var(--space-2) var(--space-3);font-weight:600}.secondary-action:hover{border-color:var(--ink-1);background:var(--surface-1)}.text-action{width:fit-content;padding:var(--space-1) 0;border:0;border-bottom:1px solid var(--terracotta);color:var(--terracotta-dark);text-align:left;background:0 0}.access-links{gap:var(--space-3);display:grid}.form-error,.form-success{padding:var(--space-3) var(--space-3);font-size:var(--text-md);border-left:3px solid;margin:0;line-height:1.45}.form-error{border-color:var(--danger);background:var(--danger-surface);color:var(--danger)}.form-success{border-color:var(--success);background:var(--ok-surface);color:var(--ok)}.loading-screen{justify-content:center;align-items:center;gap:var(--space-2);min-height:320px;color:var(--muted);flex-direction:column;display:flex}.status-dot{background:var(--terracotta);border-radius:50%;width:8px;height:8px;animation:1.1s ease-in-out infinite pulse}.workspace{min-height:0;display:block}.workspace-main{min-width:0;padding:var(--space-5) var(--space-5) var(--space-7)}.workspace-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-5);margin-bottom:var(--space-5);display:flex}.workspace-heading h1{margin-bottom:var(--space-2)}.workspace-heading p,.muted{color:var(--muted);margin:0;line-height:1.55}.technical-section{border-top:1px solid var(--line);max-width:900px;padding:19px 0 var(--space-5)}.section-label{margin-bottom:var(--space-3)}.tenant-selector{max-width:520px;margin-top:var(--space-4)}.tenant-selector small{color:var(--muted);font-weight:500}.admin-section{margin-top:44px}.admin-form{gap:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:20px;display:grid}.admin-form label:last-of-type,.admin-form .primary-action{grid-column:1/-1}.admin-form .primary-action{width:fit-content}.admin-section .form-error,.admin-section .form-success{margin-top:var(--space-4)}.inspector{padding:var(--space-6) var(--space-5);background:var(--panel)}.inspector h2{margin:0 0 var(--space-4);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase}.inspector dl{border-top:1px solid var(--line);margin:0}.inspector dl div{padding:var(--space-4) 0;border-bottom:1px solid var(--line)}.inspector dt{color:var(--muted);font-size:var(--text-xs)}.inspector dd{margin:var(--space-1) 0 0;overflow-wrap:anywhere;font:var(--text-xs)/1.4 ui-monospace, monospace}.domain-admin{border-top:1px solid var(--ink);max-width:1180px;margin-top:44px;padding-top:20px}.domain-toolbar,.detail-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.domain-toolbar h2,.detail-heading h3{margin:var(--space-1) 0 0;font-size:var(--text-2xl);letter-spacing:-.025em}.domain-tabs{border:1px solid var(--line);display:flex}.domain-tabs button{border:0;border-left:1px solid var(--line);padding:var(--space-2) var(--space-3);background:0 0}.domain-tabs button:first-child{border-left:0}.domain-tabs button[aria-selected=true]{background:var(--ink);color:var(--paper)}.search-row{align-items:end;gap:var(--space-2);grid-template-columns:minmax(220px,440px) auto;margin:20px 0;display:grid}.project-filters{align-items:end;gap:var(--space-2);margin:var(--space-4) 0;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.domain-layout{border-top:1px solid var(--line);grid-template-columns:210px minmax(0,1fr);display:grid}.domain-layout>[role=tabpanel]{min-width:0}.domain-list{border-right:1px solid var(--line);padding-right:var(--space-4)}table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}th{color:var(--ink-2);font-size:var(--text-xs);letter-spacing:.06em;text-align:left;text-transform:uppercase}th,td{padding:var(--space-2) var(--space-2);border-bottom:1px solid var(--line);vertical-align:top}tr.selected{background:var(--surface-2);box-shadow:inset 3px 0 var(--accent)}.row-action{min-height:24px;color:var(--ink);text-align:left;background:0 0;border:0;border-bottom:1px solid #0000;align-items:center;padding:0;font-weight:700;display:inline-flex}.row-action:hover{border-color:var(--terracotta);color:var(--terracotta-dark)}.detail-panel{min-width:0;padding:20px 0 var(--space-6) var(--space-5)}.detail-heading small{color:var(--muted)}.danger-action{border:1px solid var(--danger);min-height:38px;color:var(--danger);padding:var(--space-2) var(--space-3);background:0 0;font-weight:700}.state-label{padding:3px var(--space-1);border:1px solid var(--line);color:var(--muted);font:700 var(--text-2xs)/1.2 ui-monospace, monospace;text-transform:uppercase;display:inline-block}.state-in_preparation,.state-completed,.state-captured{border-color:var(--ok);color:var(--success)}.state-archived,.state-cancelled,.state-inactive{color:var(--danger)}.compact-definition{gap:28px;margin:20px 0;display:flex}.compact-definition div{min-width:130px}.compact-definition dt{color:var(--muted);font-size:var(--text-2xs)}.compact-definition dd{margin:var(--space-1) 0 0;font:var(--text-xs)/1.4 ui-monospace, monospace}.panel-section{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--line)}.panel-section h4{margin:0 0 var(--space-3);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.inline-form{align-items:end;gap:var(--space-2);margin-top:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.inline-form .primary-action{grid-column:1/-1;width:fit-content}.inline-form.single-line .secondary-action{min-height:42px}.stack-form{gap:var(--space-3);display:grid}.stack-form button{width:fit-content}.create-project{margin:var(--space-4) 0;padding:var(--space-4);border-left:3px solid var(--terracotta);background:var(--panel)}.empty-state{margin:var(--space-3) 0;padding:var(--space-4);border:1px dashed var(--line);color:var(--muted)}.panel-failure{justify-content:space-between;align-items:center;gap:var(--space-3);margin:var(--space-3) 0;padding:var(--space-3) var(--space-4);border-left:3px solid var(--danger);background:var(--danger-surface);flex-wrap:wrap;display:flex}.panel-failure p{color:var(--danger);font-size:var(--text-md);margin:0;line-height:1.45}.compact-list{margin:var(--space-2) 0 0;border-top:1px solid var(--line);padding:0;list-style:none}.compact-list li{gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--line);font-size:var(--text-sm);grid-template-columns:1fr auto;display:grid}.compact-list li>span{color:var(--muted)}.projects-panel>table{margin-top:var(--space-4)}.boundary-notice{margin:var(--space-4) 0;padding:var(--space-3) var(--space-3);border-left:3px solid var(--terracotta);background:var(--accent-surface);color:var(--terracotta-dark);font-size:var(--text-xs);line-height:1.5}.privacy-create{grid-template-columns:minmax(130px,.35fr) minmax(230px,1fr) auto}.privacy-create .primary-action{grid-column:auto}.privacy-filters{gap:var(--space-2);margin:var(--space-4) 0;grid-template-columns:repeat(2,minmax(0,220px));display:grid}.privacy-layout{border:1px solid var(--line);background:var(--paper);grid-template-columns:minmax(310px,.42fr) minmax(0,1fr);display:grid}.privacy-request-list{border-right:1px solid var(--line);min-width:0;overflow:auto}.privacy-request-list table{min-width:450px}.privacy-inspector{min-width:0;padding:0 var(--space-4) var(--space-5)}.privacy-inspector code,.privacy-request-list code{font:var(--text-2xs)/1.4 ui-monospace, monospace}.privacy-actions{align-items:end;gap:var(--space-2);grid-template-columns:minmax(180px,1fr) auto;display:grid}.privacy-actions>button:first-child:last-child{grid-column:1/-1;justify-self:start}.privacy-timeline{padding-left:var(--space-5);margin:0}.privacy-timeline li{padding:var(--space-2) 0;border-bottom:1px solid var(--line);font-size:var(--text-xs)}.privacy-timeline span{color:var(--muted);font:var(--text-2xs)/1.4 ui-monospace, monospace;margin-top:2px;display:block}.privacy-artifact p{color:var(--muted);font-size:var(--text-xs)}.button-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.project-inspector{margin-top:var(--space-5);border:1px solid var(--line);background:var(--panel);padding:20px}.project-inspector .stack-form{margin-top:var(--space-4)}.project-inspector label small{color:var(--muted);font-weight:500}.action-row,.row-buttons{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.row-buttons{grid-column:1/-1;margin-top:0}.row-buttons button{border:0;border-bottom:1px solid var(--terracotta);color:var(--terracotta-dark);background:0 0;padding:2px 0}.event-list{margin:0;padding-left:20px}.event-list li{padding:var(--space-2) 0}.event-list time,.event-list span{color:var(--muted);font:var(--text-2xs)/1.4 ui-monospace, monospace;display:block}.upload-panel>.muted{font-size:var(--text-sm)}.upload-picker{align-items:center;gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.upload-picker span{min-height:38px;padding:0 var(--space-4);border:1px solid var(--line-3);border-radius:var(--radius-1);background:var(--surface-1);color:var(--ink-0);font-size:var(--text-sm);cursor:pointer;align-items:center;font-weight:600;display:inline-flex}.upload-picker:hover span{border-color:var(--accent)}.upload-picker input[type=file]{opacity:0;width:1px;height:1px;position:absolute}.upload-picker:focus-within span{outline:3px solid var(--accent);outline-offset:2px}.upload-list{margin:var(--space-3) 0 0;border-top:1px solid var(--line);padding:0;list-style:none}.upload-list li{gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--line);font-size:var(--text-sm);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.upload-list strong,.upload-list span{overflow-wrap:anywhere;display:block}.upload-list span{color:var(--muted);font:var(--text-2xs)/1.4 ui-monospace, monospace}.upload-list .upload-diagnostic{color:var(--danger);margin-top:3px}.upload-actions{align-items:center;gap:var(--space-2);display:flex}.upload-actions progress{width:92px}.upload-actions .secondary-action{min-height:32px;padding:var(--space-1) var(--space-2);font-size:var(--text-xs)}.metadata-inspector{margin-inline:-20px;padding-inline:20px}.metadata-heading,.metadata-detail-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.metadata-heading .muted{font-size:var(--text-sm)}.metadata-inspector{container-type:inline-size}.metadata-layout{margin-top:var(--space-4);border:1px solid var(--line);background:var(--paper);grid-template-columns:minmax(250px,.42fr) minmax(0,1fr);display:grid}@container (width<=1000px){.metadata-layout{grid-template-columns:minmax(0,1fr)}.metadata-assets{border-right:0;border-bottom:1px solid var(--line);max-height:260px}}.metadata-assets{border-right:1px solid var(--line);min-width:0;overflow:auto}.metadata-assets table{min-width:0}.metadata-assets td small,.metadata-detail-heading small,.metadata-field-editor small,.metadata-comparison td small{color:var(--muted);font:var(--text-2xs)/1.4 ui-monospace, monospace;margin-top:3px;display:block}.metadata-check{width:18px;min-height:18px}.metadata-detail{min-width:0;padding:var(--space-4)}.metadata-detail-heading strong{overflow-wrap:anywhere;margin-top:3px;display:block}.metadata-tabs{margin:var(--space-4) -16px var(--space-4);border-block:1px solid var(--line);display:flex;overflow-x:auto}.metadata-tabs button{border:0;border-right:1px solid var(--line);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);background:0 0;flex:none}.metadata-tabs button[aria-selected=true]{box-shadow:inset 0 -3px var(--terracotta);color:var(--terracotta-dark);font-weight:700}.metadata-summary{gap:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(220px,.7fr);display:grid}.dng-preview{border:1px solid var(--line);background:var(--paper);grid-column:1/-1;margin:0;padding:0}.dng-preview figcaption{border-bottom:1px solid var(--line);justify-content:space-between;gap:1rem;padding:.75rem 1rem;font-weight:600;display:flex}.dng-preview figcaption small{color:var(--muted);font-weight:400}.dng-preview img{object-fit:contain;background:#111;width:100%;max-height:70vh;display:block}.metadata-summary-values{margin:0}.metadata-summary-values div{padding:var(--space-2) 0;border-bottom:1px solid var(--line)}.metadata-summary-values dt{color:var(--muted);font:var(--text-2xs)/1.4 ui-monospace, monospace}.metadata-summary-values dd{overflow-wrap:anywhere;margin:3px 0 0}.metadata-map{padding-left:var(--space-4);border-left:1px solid var(--line)}.metadata-map svg{width:100%;max-height:180px;margin-top:var(--space-2);border:1px solid var(--line);background:var(--surface-1)}.metadata-map p,.metadata-map small{margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--text-xs)}.map-grid{fill:none;stroke:var(--line-1);stroke-width:1px}.map-point{fill:var(--terracotta);stroke:var(--terracotta-dark)}.map-heading{fill:none;stroke:var(--terracotta-dark);stroke-width:3px}.metadata-warnings{border-top:1px solid var(--line);grid-column:1/-1;margin:0;padding:0;list-style:none}.metadata-warnings li{justify-content:space-between;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--line);font-size:var(--text-xs);display:flex}.metadata-warnings span{color:var(--muted)}.normalized-metadata>table{min-width:620px}.normalized-metadata{overflow-x:auto}.metadata-field-editor{margin-top:var(--space-4);padding:var(--space-3);border-left:3px solid var(--terracotta);background:var(--panel)}.metadata-field-editor h5{margin:0 0 var(--space-1);font-size:var(--text-md)}.metadata-field-editor ul{margin:var(--space-3) 0;padding:0;list-style:none}.metadata-field-editor li{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--line);display:flex}.metadata-correction{align-items:end;gap:var(--space-2);grid-template-columns:minmax(160px,1fr) auto;display:grid}.raw-metadata pre{max-height:430px;padding:var(--space-3);border:1px solid var(--line);background:var(--inst-2);color:var(--inst-ink-0);font:var(--text-xs)/1.55 ui-monospace, monospace;white-space:pre-wrap;overflow-wrap:anywhere;overflow:auto}.raw-metadata>.secondary-action,.metadata-comparison>.primary-action{margin-top:var(--space-3)}.comparison-scroll{margin-top:var(--space-3);overflow:auto}.comparison-scroll table{min-width:680px}.metadata-history{padding-left:var(--space-5);margin:0}.metadata-history li{padding:var(--space-2) 0;border-bottom:1px solid var(--line)}.metadata-history time,.metadata-history span{overflow-wrap:anywhere;color:var(--muted);font:var(--text-2xs)/1.5 ui-monospace, monospace;display:block}.flight-plot{border:1px solid var(--line);background:var(--inst-1);color:var(--inst-ink-0)}.flight-plot-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-3);border-bottom:1px solid var(--inst-line-2);display:flex}.flight-plot-heading h5{color:var(--inst-ink-0);font-size:var(--text-sm);letter-spacing:.035em;text-transform:uppercase;margin:0}.flight-plot-heading p{max-width:620px;margin:var(--space-1) 0 0;color:var(--inst-ink-1);font-size:var(--text-2xs)}.flight-plot-heading span{color:var(--accent-on-dark);font:var(--text-2xs)/1.4 ui-monospace, monospace;flex:none}.flight-plot-layers{gap:var(--space-2) var(--space-4);padding:var(--space-2) var(--space-3);border:0;border-bottom:1px solid var(--inst-line-2);flex-wrap:wrap;margin:0;display:flex}.flight-plot-layers legend{float:left;margin-right:var(--space-2);color:var(--inst-ink-1);font:var(--text-2xs)/1.4 ui-monospace, monospace;text-transform:uppercase}.flight-plot-layers label{align-items:center;gap:var(--space-1);font-size:var(--text-2xs);display:flex}.flight-plot-layout{grid-template-columns:minmax(0,1fr) minmax(210px,.34fr);display:grid}.flight-plot-map{min-width:0;padding:var(--space-3);border-right:1px solid var(--inst-line-2)}.flight-plot-map svg{background:var(--inst-0);width:100%;min-height:300px;display:block}.flight-plot-map>p{margin:var(--space-2) 0 0;color:var(--inst-ink-2);font:var(--text-2xs)/1.45 ui-monospace, monospace}.flight-grid{fill:none;stroke:var(--inst-line-1);stroke-width:1px}.flight-plot-map svg>text{fill:var(--inst-ink-2);font:12px ui-monospace,monospace}.flight-trajectory{fill:none;stroke:var(--inst-line-3);stroke-dasharray:5 4;stroke-width:1.5px}.flight-property path{fill:none;stroke:var(--inst-ink-0);stroke-width:2px}.flight-photo{cursor:pointer;outline:none}.flight-photo circle{fill:var(--layer-finding);stroke:var(--inst-0);stroke-width:2px}.flight-photo text{fill:var(--inst-ink-0);pointer-events:none;font:700 10px ui-monospace,monospace}.flight-photo .flight-direction{fill:none;stroke:var(--accent-on-dark);stroke-width:2px}.flight-photo .flight-warning{fill:var(--warn);stroke:var(--inst-0);stroke-width:1px}.flight-photo.selected circle:first-of-type,.flight-photo:focus-visible circle:first-of-type{fill:var(--inst-ink-0);stroke:var(--layer-finding);stroke-width:4px}.flight-photo.selected text,.flight-photo:focus-visible text{fill:var(--ink-0)}.flight-plot-inspector{min-width:0}.flight-plot-inspector>ol{border-bottom:1px solid var(--inst-line-2);max-height:205px;margin:0;padding:0;list-style:none;overflow:auto}.flight-plot-inspector>ol button{width:100%;padding:var(--space-2) var(--space-2);border:0;border-bottom:1px solid var(--inst-line-1);color:var(--inst-ink-0);text-align:left;background:0 0;display:block}.flight-plot-inspector>ol button.selected{background:var(--inst-3);box-shadow:inset 3px 0 var(--terracotta)}.flight-plot-inspector>ol strong,.flight-plot-inspector>ol small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.flight-plot-inspector>ol strong{font-size:var(--text-2xs)}.flight-plot-inspector>ol small{color:var(--inst-ink-2);font:var(--text-2xs)/1.35 ui-monospace, monospace;margin-top:2px}.flight-plot-inspector>section{padding:var(--space-3)}.flight-plot-inspector h6{margin:0 0 var(--space-2);overflow-wrap:anywhere;color:var(--inst-ink-0);font-size:var(--text-xs)}.flight-plot-inspector dl{margin:0 0 var(--space-2)}.flight-plot-inspector dl div{justify-content:space-between;gap:var(--space-2);padding:var(--space-1) 0;border-bottom:1px solid var(--inst-line-1);font:var(--text-2xs)/1.4 ui-monospace, monospace;display:flex}.flight-plot-inspector dd{overflow-wrap:anywhere;text-align:right;margin:0}.flight-plot-inspector section>p,.flight-plot-inspector section>ul{color:var(--inst-ink-1);font:var(--text-2xs)/1.45 ui-monospace, monospace}.flight-plot-inspector section>ul{padding-left:var(--space-4)}.flight-plot .secondary-action,.panorama-annotations .secondary-action,.roof-contour-panel .secondary-action{border-color:var(--inst-line-3);background:var(--inst-2);color:var(--inst-ink-0)}.flight-plot .secondary-action:hover,.panorama-annotations .secondary-action:hover,.roof-contour-panel .secondary-action:hover{border-color:var(--inst-ink-2);background:var(--inst-3)}.flight-plot-error{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.processing-heading-row{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.processing-heading-row .muted{max-width:560px;font-size:var(--text-sm)}.processing-layout{margin-top:var(--space-3);border:1px solid var(--line);background:var(--paper);grid-template-columns:minmax(150px,.28fr) minmax(0,1fr);display:grid}.processing-runs{border-right:1px solid var(--line)}.processing-runs button{justify-content:space-between;align-items:center;gap:var(--space-2);border:0;border-bottom:1px solid var(--line);width:100%;padding:var(--space-2);color:var(--ink);text-align:left;background:0 0;display:flex}.processing-runs button.selected{box-shadow:inset 3px 0 var(--terracotta);background:var(--panel)}.processing-runs button span{font-size:var(--text-xs);font-weight:700}.processing-runs button small{color:var(--muted);font:var(--text-2xs)/1.2 ui-monospace, monospace}.processing-detail{min-width:0;padding:var(--space-3)}.processing-detail .compact-definition{margin:0 0 var(--space-3);flex-wrap:wrap}.processing-progress{margin:var(--space-3) 0}.processing-progress progress{width:100%;height:8px}.processing-progress-succeeded progress{accent-color:var(--ok)}.processing-progress-failed progress{accent-color:var(--danger)}.processing-progress-cancelled progress,.processing-progress-cancel_requested progress{accent-color:var(--ink-2)}.processing-connection{margin:var(--space-2) 0 0;color:var(--muted);font:var(--text-2xs)/1.4 ui-monospace, monospace}.processing-events{max-height:210px;margin:var(--space-4) 0 0;border-top:1px solid var(--line);padding:0;list-style:none;overflow:auto}.processing-events li{gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--line);font-size:var(--text-xs);grid-template-columns:auto minmax(0,1fr);display:grid}.processing-events time{color:var(--muted);font:var(--text-2xs)/1.4 ui-monospace, monospace}.processing-panel>.form-error,.processing-panel>.form-success{margin-top:var(--space-3)}.panorama-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.panorama-heading h4{margin-bottom:var(--space-1)}.visual-only-badge{padding:var(--space-1) var(--space-2);border:1px solid var(--terracotta);color:var(--terracotta-dark);font:var(--text-2xs)/1.2 ui-monospace, monospace;letter-spacing:.04em}.panorama-toolbar{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2);border:1px solid var(--inst-line-1);background:var(--inst-2);color:var(--inst-ink-0);border-bottom:0;flex-wrap:wrap;display:flex}.panorama-toolbar button{border:1px solid var(--inst-line-3);background:var(--inst-3);min-width:34px;min-height:32px;color:var(--inst-ink-0)}.panorama-toolbar button:focus-visible{outline:2px solid var(--terracotta);outline-offset:2px}.panorama-toolbar span{color:var(--inst-ink-1);font:var(--text-2xs)/1.3 ui-monospace, monospace;margin-left:auto}.panorama-help{padding:var(--space-2) var(--space-2);border:1px solid var(--inst-line-1);background:var(--inst-0);color:var(--inst-ink-1);font:var(--text-2xs)/1.4 ui-monospace, monospace;border-bottom:0;margin:0}.panorama-stage{height:min(74vh,860px);min-height:420px;position:relative}.panorama-canvas{border:1px solid var(--inst-line-1);touch-action:none;background:#111;width:100%;height:100%}.panorama-canvas:focus-visible{outline:3px solid var(--accent);outline-offset:-4px}.panorama-canvas,.client-viewer{color:var(--inst-ink-1)}.panorama-annotation-canvas{z-index:var(--z-overlay);pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.panorama-annotation-canvas.drawing{cursor:crosshair;pointer-events:auto;touch-action:none}.panorama-annotations{z-index:var(--z-panel);border:1px solid var(--inst-line-2);width:min(300px,100% - 24px);max-height:calc(100% - 24px);color:var(--inst-ink-0);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1c1d1af0;flex-direction:column;display:flex;position:absolute;top:12px;right:12px;overflow:auto;box-shadow:0 12px 36px #0000005c}.annotation-heading{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--inst-line-2);display:flex}.annotation-heading strong,.annotation-heading small{display:block}.annotation-heading strong{font-size:var(--text-sm);letter-spacing:.02em;text-transform:uppercase}.annotation-heading small{color:var(--inst-ink-1);font:var(--text-2xs)/1.3 ui-monospace, monospace;margin-top:2px}.annotation-heading button,.annotation-navigation button,.annotation-draw-notice button,.annotation-actions button{border:1px solid var(--inst-line-3);background:var(--inst-3);min-height:30px;color:var(--inst-ink-0)}.annotation-heading button:focus-visible,.annotation-navigation button:focus-visible,.annotation-list button:focus-visible,.annotation-actions button:focus-visible{outline:2px solid var(--terracotta);outline-offset:-2px}.annotation-layers{gap:var(--space-2) var(--space-3);padding:var(--space-2) var(--space-3);border:0;border-bottom:1px solid var(--inst-line-2);grid-template-columns:1fr 1fr;margin:0;display:grid}.annotation-layers legend{color:var(--inst-ink-1);font:var(--text-2xs)/1.3 ui-monospace, monospace;text-transform:uppercase;padding:0}.annotation-layers label{align-items:center;gap:var(--space-1);font-size:var(--text-2xs);display:flex}.flight-plot-layers label,.annotation-layers label,.roof-contour-layers label,.client-publication-layers label{color:inherit}.flight-plot .empty-state,.panorama-stage .empty-state{border-color:var(--inst-line-2);color:var(--inst-ink-2)}.annotation-layers label:last-child{grid-column:1/-1;justify-content:space-between}.annotation-layers select,.annotation-inspector select,.annotation-inspector textarea{border-color:var(--inst-line-3);background:var(--inst-2);color:var(--inst-ink-0)}.annotation-layers select{min-height:28px;padding:3px var(--space-1)}.annotation-draw-notice{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--warn-inst-surface);color:var(--warn-inst-ink-0);font-size:var(--text-2xs);display:flex}.annotation-draw-notice button{border-color:var(--warn-inst-line)}.annotation-status{padding:var(--space-2) var(--space-3);color:var(--inst-ink-1);font-size:var(--text-2xs);margin:0}.annotation-navigation{align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--inst-line-2);text-align:center;grid-template-columns:32px 1fr 32px;display:grid}.annotation-navigation span{color:var(--inst-ink-1);font:var(--text-2xs)/1.3 ui-monospace, monospace}.annotation-list{border-bottom:1px solid var(--inst-line-2);max-height:170px;margin:0;padding:0;list-style:none;overflow:auto}.annotation-list li{margin:0}.annotation-list button{width:100%;padding:var(--space-2) var(--space-3);border:0;border-bottom:1px solid var(--inst-line-1);color:var(--inst-ink-0);text-align:left;background:0 0;display:block}.annotation-list button.selected{background:var(--inst-3);box-shadow:inset 3px 0 var(--terracotta)}.annotation-list button>span{align-items:center;gap:var(--space-2);font-size:var(--text-2xs);font-weight:700;display:flex}.annotation-list button small{margin:var(--space-1) 0 0 var(--space-4);color:var(--inst-ink-1);font:var(--text-2xs)/1.35 ui-monospace, monospace;text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.annotation-swatch{border:2px solid var(--layer-annotation);width:10px;height:10px}.annotation-swatch.public{border-color:var(--layer-finding)}.annotation-swatch.unanalysed{border-style:dashed}.annotation-inspector{gap:var(--space-2);padding:var(--space-3);display:grid}.annotation-inspector h5{color:var(--inst-ink-0);font-size:var(--text-xs);margin:0}.annotation-inspector label{gap:var(--space-1);color:var(--inst-ink-1);font-size:var(--text-2xs);display:grid}.annotation-inspector textarea{resize:vertical;width:100%}.annotation-geometry{justify-content:space-between;gap:var(--space-2);color:var(--inst-ink-1);font:var(--text-2xs)/1.3 ui-monospace, monospace;display:flex}.annotation-revision{color:var(--inst-ink-2);font:var(--text-2xs)/1.4 ui-monospace, monospace;margin:0}.annotation-actions{gap:var(--space-1);flex-wrap:wrap;display:flex}.annotation-actions .primary-action{border-color:var(--accent-strong);background:var(--accent-strong)}.annotation-actions .danger-link{border-color:var(--danger);color:var(--danger-surface);margin-left:auto}.annotation-error{margin:0 var(--space-3) var(--space-3)}.roof-contour-canvas{z-index:var(--z-overlay);pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.roof-contour-canvas.drawing{cursor:crosshair;pointer-events:auto;touch-action:none}.roof-contour-canvas:focus-visible{outline:3px solid var(--layer-contour);outline-offset:-5px}.roof-contour-panel{z-index:var(--z-panel);border:1px solid var(--inst-line-2);width:min(300px,100% - 24px);max-height:calc(100% - 24px);color:var(--inst-ink-0);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1c1d1af2;flex-direction:column;display:flex;position:absolute;top:12px;left:12px;overflow:auto;box-shadow:0 12px 36px #0000005c}.roof-contour-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--inst-line-2);display:flex}.roof-contour-heading strong,.roof-contour-heading small{display:block}.roof-contour-heading strong{font-size:var(--text-sm);letter-spacing:.02em;text-transform:uppercase}.roof-contour-heading small,.roof-contour-heading span{color:var(--inst-ink-1);font:var(--text-2xs)/1.35 ui-monospace, monospace}.roof-contour-heading span{padding:2px var(--space-1);border:1px solid var(--accent-on-dark);color:var(--accent-on-dark)}.roof-contour-layers{gap:var(--space-1);padding:var(--space-2) var(--space-3);border:0;border-bottom:1px solid var(--inst-line-2);grid-template-columns:repeat(3,1fr);margin:0;display:grid}.roof-contour-layers legend{color:var(--inst-ink-1);font:var(--text-2xs)/1.3 ui-monospace, monospace;text-transform:uppercase;padding:0}.roof-contour-layers label{align-items:center;gap:var(--space-1);font-size:var(--text-2xs);display:flex}.roof-contour-select,.roof-contour-detail>label{gap:var(--space-1);padding:var(--space-2) var(--space-3);color:var(--inst-ink-1);font-size:var(--text-2xs);display:grid}.roof-contour-select select,.roof-contour-detail textarea{border-color:var(--inst-line-3);background:var(--inst-2);width:100%;color:var(--inst-ink-0)}.roof-contour-empty{padding:var(--space-3) var(--space-3)}.roof-contour-empty p{margin:0 0 var(--space-2);color:var(--inst-ink-1);font-size:var(--text-2xs)}.roof-contour-empty button,.roof-contour-actions button,.roof-contour-workflow button,.roof-contour-retry{border:1px solid var(--inst-line-3);background:var(--inst-3);min-height:30px;color:var(--inst-ink-0)}.roof-contour-empty button:focus-visible,.roof-contour-actions button:focus-visible,.roof-contour-workflow button:focus-visible,.roof-contour-retry:focus-visible,.roof-contour-select select:focus-visible,.roof-contour-detail textarea:focus-visible{outline:2px solid var(--terracotta);outline-offset:2px}.roof-contour-detail dl{margin:0}.roof-contour-detail dl>div{gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--inst-line-1);grid-template-columns:minmax(0,1fr) auto;display:grid}.roof-contour-detail dt{color:var(--inst-ink-1);font-size:var(--text-2xs)}.roof-contour-detail dd{font:var(--text-2xs)/1.35 ui-monospace, monospace;margin:0}.roof-contour-hash{padding:var(--space-2) var(--space-3) 0;overflow-wrap:anywhere;color:var(--inst-ink-2);font:var(--text-2xs)/1.4 ui-monospace, monospace;margin:0}.roof-contour-detail textarea{resize:vertical}.roof-contour-actions{gap:var(--space-1);padding:0 var(--space-3) var(--space-3);flex-wrap:wrap;display:flex}.roof-contour-actions .primary-action,.roof-contour-workflow .primary-action{border-color:var(--accent-strong);background:var(--accent-strong)}.roof-contour-workflow{padding:var(--space-2) var(--space-3);border-block:1px solid var(--warn-inst-line);background:var(--warn-inst-surface)}.roof-contour-workflow>strong,.roof-contour-workflow>small{display:block}.roof-contour-workflow>strong{margin-bottom:var(--space-2);color:var(--warn-inst-ink-0);font-size:var(--text-2xs)}.roof-contour-workflow>p{margin:var(--space-2) 0;color:var(--warn-inst-ink-1);font:var(--text-2xs)/1.35 ui-monospace, monospace}.roof-contour-workflow button{border-color:var(--warn-inst-line)}.roof-contour-prompt-summary{margin:var(--space-2) 0 0;padding:var(--space-1) 0;border-block:1px solid var(--warn-inst-line)}.roof-contour-prompt-summary>div{gap:var(--space-1);grid-template-columns:34px minmax(0,1fr);padding:2px 0;display:grid}.roof-contour-prompt-summary dt{color:var(--layer-contour);font:var(--text-2xs)/1.4 ui-monospace, monospace}.roof-contour-prompt-summary dd{overflow-wrap:anywhere;color:var(--warn-inst-ink-1);font:var(--text-2xs)/1.4 ui-monospace, monospace;margin:0}.roof-contour-workflow>div{gap:var(--space-1);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.roof-contour-workflow>small{margin-top:var(--space-2);color:var(--warn-inst-ink-1);font:var(--text-2xs)/1.4 ui-monospace, monospace}.roof-contour-run{justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--inst-line-2);color:var(--inst-ink-1);font:var(--text-2xs)/1.35 ui-monospace, monospace;display:flex}.roof-contour-run strong{color:var(--inst-ink-0)}.roof-contour-status{padding:var(--space-2) var(--space-3);color:var(--inst-ink-1);font-size:var(--text-2xs);margin:0}.roof-contour-retry{margin:var(--space-2) var(--space-3);align-self:flex-start}.roof-contour-error{margin:var(--space-2) var(--space-3) 0}.roof-contour-disclaimer{padding:var(--space-2) var(--space-3);border-top:1px solid var(--inst-line-2);color:var(--inst-ink-1);font:var(--text-2xs)/1.45 ui-monospace, monospace;margin:auto 0 0}.roof-facet-canvas{z-index:var(--z-overlay);pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.roof-facet-canvas.drawing{cursor:crosshair;pointer-events:auto;touch-action:none}.roof-facet-canvas:focus-visible{outline:3px solid var(--layer-facet);outline-offset:-7px}.roof-facet-editor{margin-top:var(--space-3);border:1px solid var(--line);background:var(--paper)}.roof-facet-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-3) var(--space-3);border-bottom:1px solid var(--line);display:flex}.roof-facet-heading h5{font-size:var(--text-sm);letter-spacing:.035em;text-transform:uppercase;margin:0 0 3px}.roof-facet-heading p{color:var(--muted);font-size:var(--text-xs);margin:0}.roof-facet-heading span{padding:3px var(--space-1);border:1px solid var(--terracotta);color:var(--terracotta-dark);font:var(--text-2xs)/1.3 ui-monospace, monospace}.roof-facet-layout{grid-template-columns:minmax(180px,.3fr) minmax(0,1fr);display:grid}.roof-facet-list-column{border-right:1px solid var(--line)}.roof-facet-list-heading{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line);display:flex}.roof-facet-list-heading strong{font-size:var(--text-2xs);text-transform:uppercase}.roof-facet-list-heading button,.roof-facet-actions button{border:1px solid var(--line);min-height:30px;color:var(--ink);background:0 0}.roof-facet-list{max-height:240px;margin:0;padding:0;list-style:none;overflow:auto}.roof-facet-list li{margin:0}.roof-facet-list li>button{width:100%;padding:var(--space-2) var(--space-3);border:0;border-bottom:1px solid var(--line);color:var(--ink);text-align:left;background:0 0;display:block}.roof-facet-list li>button.selected{box-shadow:inset 3px 0 var(--terracotta);background:var(--panel)}.roof-facet-list span,.roof-facet-list small{display:block}.roof-facet-list span{font-size:var(--text-xs);font-weight:700}.roof-facet-list small{color:var(--muted);font:var(--text-2xs)/1.35 ui-monospace, monospace;margin-top:3px}.roof-facet-inspector{padding:0}.roof-facet-inspector dl{margin:0}.roof-facet-inspector dl>div{gap:var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line);grid-template-columns:minmax(150px,.35fr) minmax(0,1fr);display:grid}.roof-facet-inspector dt{color:var(--muted);font-size:var(--text-2xs)}.roof-facet-inspector dd{overflow-wrap:anywhere;font:var(--text-2xs)/1.4 ui-monospace, monospace;margin:0}.roof-facet-form{gap:var(--space-2) var(--space-3);padding:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.roof-facet-form>label,.roof-facet-form fieldset label{gap:var(--space-1);color:var(--muted);font-size:var(--text-2xs);display:grid}.roof-facet-form>label,.roof-facet-draw-status,.roof-facet-actions,.roof-facet-form>small{grid-column:1/-1}.roof-facet-form input,.roof-facet-form select{width:100%}.roof-facet-form fieldset{gap:var(--space-2);min-width:0;padding:var(--space-2);border:1px solid var(--line);margin:0;display:grid}.roof-facet-form legend{color:var(--muted);font:var(--text-2xs)/1.3 ui-monospace, monospace}.roof-facet-draw-status{justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-2);background:var(--ok-surface);color:var(--ok);font:var(--text-2xs)/1.4 ui-monospace, monospace;display:flex}.roof-facet-actions{gap:var(--space-2);padding:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.roof-facet-form .roof-facet-actions{padding:0}.roof-facet-actions .primary-action{border-color:var(--accent-strong);background:var(--accent-strong);color:var(--surface-0)}.roof-facet-actions .danger-link{border-color:var(--danger);color:var(--danger);margin-left:auto}.roof-facet-message,.roof-facet-error,.roof-facet-disclaimer{padding:var(--space-2) var(--space-3);margin:0}.roof-facet-disclaimer{border-top:1px solid var(--line);color:var(--muted);font:var(--text-2xs)/1.45 ui-monospace, monospace}.roof-facet-error{border-top:1px solid var(--danger)}.roof-area-canvas{z-index:var(--z-overlay);pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.roof-area-canvas.drawing{cursor:crosshair;pointer-events:auto;touch-action:none}.roof-area-canvas:focus-visible{outline:3px solid var(--layer-area);outline-offset:-9px}.roof-area-editor{margin-top:var(--space-3);border:1px solid var(--line);background:var(--paper)}.roof-area-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-3) var(--space-3);border-bottom:1px solid var(--line);display:flex}.roof-area-heading h5{font-size:var(--text-sm);letter-spacing:.035em;text-transform:uppercase;margin:0 0 3px}.roof-area-heading p{color:var(--muted);font-size:var(--text-xs);margin:0}.roof-area-heading span{padding:3px var(--space-1);border:1px solid var(--terracotta);color:var(--terracotta-dark);font:var(--text-2xs)/1.3 ui-monospace, monospace;white-space:nowrap}.roof-area-layout{grid-template-columns:minmax(0,1fr);display:grid}.roof-area-facets,.roof-area-results{min-width:0;padding:var(--space-3)}.roof-area-facets{border-bottom:1px solid var(--line)}.roof-area-facets>label,.roof-area-results>label,.roof-area-form-grid label{gap:var(--space-1);color:var(--muted);font-size:var(--text-2xs);display:grid}.roof-area-facets>label select,.roof-area-results>label select,.roof-area-form-grid input,.roof-area-form-grid select,.roof-area-form-grid textarea{width:100%}.roof-area-calibration-summary{margin-top:var(--space-2);border:1px solid var(--line)}.roof-area-calibration-summary dl,.roof-area-values dl,.roof-area-total dl{margin:0}.roof-area-calibration-summary dl>div,.roof-area-values dl>div,.roof-area-total dl>div{gap:var(--space-2);padding:var(--space-2) var(--space-2);border-bottom:1px solid var(--line);grid-template-columns:minmax(120px,.45fr) minmax(0,1fr);display:grid}.roof-area-calibration-summary dt,.roof-area-values dt,.roof-area-total dt{color:var(--muted);font-size:var(--text-2xs)}.roof-area-calibration-summary dd,.roof-area-values dd,.roof-area-total dd{overflow-wrap:anywhere;font:var(--text-2xs)/1.4 ui-monospace, monospace;margin:0}.roof-area-form{margin-top:var(--space-2);padding:var(--space-2);border:1px solid var(--line)}.roof-area-step{justify-content:space-between;gap:var(--space-3);margin:0 0 var(--space-2);padding:var(--space-2) var(--space-2);background:var(--surface-2);color:var(--ink-1);font:var(--text-2xs)/1.4 ui-monospace, monospace;display:flex}.roof-area-form-grid{gap:var(--space-2) var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.roof-area-form-grid>label{overflow-wrap:anywhere;min-width:0}.roof-area-form-grid select{min-width:0;max-width:100%}.roof-area-form-grid .wide{grid-column:1/-1}.roof-area-actions{align-items:center;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.roof-area-actions button{border:1px solid var(--line);min-height:30px;color:var(--ink);background:0 0}.roof-area-actions .primary-action{border-color:var(--accent-strong);background:var(--accent-strong);color:var(--surface-0)}.roof-area-actions .danger-link{border-color:var(--danger);color:var(--danger);margin-left:auto}.roof-area-history{margin-top:var(--space-2);border-top:1px solid var(--line)}.roof-area-history summary{padding:var(--space-2) 0;cursor:pointer;color:var(--muted);font-size:var(--text-2xs)}.roof-area-history table{border-collapse:collapse;width:100%;font-size:var(--text-2xs)}.roof-area-history th,.roof-area-history td{padding:var(--space-1);border:1px solid var(--line);text-align:left}.roof-area-result-heading{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.roof-area-result-heading strong{font-size:var(--text-xs);text-transform:uppercase}.roof-area-result-heading button{min-height:32px}.roof-area-values{margin-top:var(--space-2);border:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.roof-area-values section:first-child{border-right:1px solid var(--line)}.roof-area-values h6{padding:var(--space-2) var(--space-2);border-bottom:1px solid var(--line);font-size:var(--text-2xs);text-transform:uppercase;margin:0}.roof-area-total{margin-top:var(--space-2);padding:var(--space-2);border:1px solid var(--warn);background:var(--warn-surface)}.roof-area-total>p{margin:var(--space-2) 0;color:var(--warn-ink);font-size:var(--text-2xs)}.roof-area-total>small{margin-top:var(--space-2);color:var(--muted);font:var(--text-2xs)/1.4 ui-monospace, monospace;display:block}.roof-area-verified{color:var(--ok);font:var(--text-2xs)/1.4 ui-monospace, monospace}.roof-area-hash{overflow-wrap:anywhere;color:var(--muted);font:var(--text-2xs)/1.4 ui-monospace, monospace}.roof-area-override{width:100%;min-width:0;margin:var(--space-3) 0 0;padding:var(--space-2);border:1px solid var(--line);overflow-x:clip}.roof-area-override legend{color:var(--muted);font:var(--text-2xs)/1.3 ui-monospace, monospace;text-transform:uppercase}.roof-area-override>p{margin:0 0 var(--space-2);color:var(--muted);font-size:var(--text-2xs)}.roof-area-error,.roof-area-disclaimer{padding:var(--space-2) var(--space-3);border-top:1px solid var(--line);margin:0}.roof-area-disclaimer{color:var(--muted);font:var(--text-2xs)/1.45 ui-monospace, monospace}.panorama-viewer-status{padding:var(--space-2) var(--space-3);color:var(--inst-ink-0);font:var(--text-xs)/1.4 ui-monospace, monospace;pointer-events:none;background:#111111d1;margin:0;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.panorama-provenance{justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-2);border:1px solid var(--line);color:var(--muted);font:var(--text-2xs)/1.4 ui-monospace, monospace;border-top:0;display:flex}.panorama-error{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.panorama-error button{min-height:32px;color:inherit;background:0 0;border:1px solid}.panorama-panel>.form-error{margin-top:var(--space-2)}.inference-overlay-canvas{z-index:var(--z-overlay);pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.inference-overlay-canvas.drawing{cursor:crosshair;pointer-events:auto;touch-action:none}.inference-review,.publication-panel,.roof-area-editor,.roof-facet-editor{container-type:inline-size}.inference-review{margin-top:var(--space-4);border:1px solid var(--line);background:var(--paper)}.inference-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-3) var(--space-3);border-bottom:1px solid var(--line);display:flex}.inference-heading h5{font-size:var(--text-sm);letter-spacing:.035em;text-transform:uppercase;margin:0 0 3px}.inference-heading p{color:var(--muted);font-size:var(--text-xs);margin:0}.inference-message,.inference-notice{padding:var(--space-3) var(--space-3);color:var(--muted);font-size:var(--text-xs);margin:0}.inference-notice{border-top:1px solid var(--line);background:var(--panel)}.inference-start{gap:var(--space-2);padding:var(--space-3) var(--space-3);border-bottom:1px solid var(--line);grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) minmax(130px,.7fr) auto;align-items:end;display:grid}.inference-start label,.inference-run-selector label,.inference-list-tools label{gap:var(--space-1);color:var(--muted);font-size:var(--text-2xs);display:grid}.inference-start select,.inference-run-selector select,.inference-list-tools input{width:100%;min-height:34px}.inference-start button{white-space:nowrap;min-height:34px}.inference-retry{justify-content:space-between;align-items:center;gap:var(--space-2);margin:var(--space-3) var(--space-3);display:flex}.inference-retry button{min-height:30px;color:inherit;background:0 0;border:1px solid}.inference-run-selector{gap:var(--space-2);padding:var(--space-3) var(--space-3);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:end;display:grid}.inference-run-selector button{min-height:34px}.inference-technical-strip{align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line);background:var(--inst-2);color:var(--inst-ink-1);font:var(--text-2xs)/1.4 ui-monospace, monospace;flex-wrap:wrap;display:flex}.inference-technical-strip b{color:var(--inst-ink-0);font-weight:600}.inference-technical-strip button{border:1px solid var(--inst-line-3);background:var(--inst-3);min-height:29px;color:var(--inst-ink-0);margin-left:auto}.inference-count{gap:var(--space-2) var(--space-4);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line);grid-template-columns:auto auto minmax(0,1fr);align-items:baseline;display:grid}.inference-count strong{color:var(--ink);font-size:var(--text-xs)}.inference-count span{padding:2px var(--space-1);border:1px solid var(--warn);color:var(--warn-ink);font:var(--text-2xs)/1.3 ui-monospace, monospace;text-transform:uppercase}.inference-count small{color:var(--muted);font:var(--text-2xs)/1.4 ui-monospace, monospace;justify-self:end}.inference-count-review{padding:var(--space-3) var(--space-3);border-bottom:1px solid var(--line);background:var(--panel)}.inference-count-review-heading{justify-content:space-between;gap:var(--space-4);align-items:flex-start;display:flex}.inference-count-review-heading div{gap:3px;display:grid}.inference-count-review-heading small{color:var(--muted)}.inference-count-stale{padding:3px var(--space-2);border:1px solid var(--danger);color:var(--danger);font:var(--text-2xs)/1.3 ui-monospace, monospace}.inference-count-columns{margin-top:var(--space-2);border:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.inference-count-columns>div{padding:var(--space-2) var(--space-3);border-right:1px solid var(--line);gap:3px;display:grid}.inference-count-columns>div:last-child{border-right:0}.inference-count-columns small,.inference-count-columns span{color:var(--muted)}.inference-count-columns strong{font-size:var(--text-lg)}.inference-count-reviewed-summary:focus{outline:2px solid var(--terracotta);outline-offset:-2px}.inference-count-actions,.inference-count-editor-actions{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.inference-count-actions button{border:1px solid var(--line);background:var(--paper);min-height:31px;color:var(--ink)}.inference-count-actions button:first-child{border-color:var(--terracotta);color:var(--terracotta)}.inference-count-editor{gap:var(--space-2) var(--space-3);margin-top:var(--space-2);padding:var(--space-3);border-left:3px solid var(--terracotta);background:var(--paper);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.inference-count-editor>strong,.inference-count-editor-actions{grid-column:1/-1}.inference-count-editor label{gap:var(--space-1);color:var(--muted);font-size:var(--text-xs);display:grid}.inference-count-editor textarea{resize:vertical;min-height:62px}.inference-count-notice{gap:var(--space-2);min-height:24px;margin-top:var(--space-2);color:var(--muted);align-items:center;display:flex}.inference-count-notice:focus{outline:2px solid var(--terracotta);outline-offset:2px}.inference-count-history{margin-top:var(--space-2);border-top:1px solid var(--line);padding-top:var(--space-2)}.inference-count-history ol{max-height:150px;margin:var(--space-2) 0 0;padding-left:var(--space-5);font:var(--text-2xs)/1.6 ui-monospace, monospace;overflow:auto}.inference-review-session{padding:var(--space-3) var(--space-3);border-bottom:1px solid var(--line);background:var(--panel)}.inference-review-session-heading{justify-content:space-between;gap:var(--space-4);align-items:flex-start;display:flex}.inference-review-session-heading>div:first-child{gap:3px;display:grid}.inference-review-session-heading small{color:var(--muted)}.inference-review-session-status{gap:var(--space-2);font:var(--text-2xs)/1.3 ui-monospace, monospace;flex-wrap:wrap;align-items:center;display:flex}.inference-review-session-status button{min-height:28px}.inference-review-facts{margin:var(--space-2) 0 0;border:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:0;list-style:none;display:grid}.inference-review-facts li{justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-2);border-bottom:1px solid var(--line);font-size:var(--text-xs);display:flex}.inference-review-facts li:nth-last-child(-n+2){border-bottom:0}.inference-review-facts li[data-valid=false] b{color:var(--danger)}.inference-review-facts b{color:var(--muted);font:var(--text-2xs)/1.3 ui-monospace, monospace}.inference-review-session-counts{gap:var(--space-2) var(--space-4);padding:var(--space-2) 0;color:var(--muted);font-size:var(--text-2xs);flex-wrap:wrap;display:flex}.inference-review-session-editor{gap:var(--space-2);padding:var(--space-2) var(--space-3);border-left:3px solid var(--terracotta);background:var(--paper);display:grid}.inference-review-session-editor p{color:var(--muted);margin:0}.inference-review-session-editor label{gap:var(--space-2);color:var(--muted);font-size:var(--text-xs);grid-template-columns:auto 1fr;align-items:center;display:grid}.inference-review-session-editor label:has(textarea){grid-template-columns:1fr}.inference-review-session-editor textarea{resize:vertical;min-height:54px}.inference-review-session-editor button{justify-self:start}.publication-panel{padding:var(--space-3) var(--space-3);border-bottom:1px solid var(--line);background:var(--paper)}.publication-heading{justify-content:space-between;gap:var(--space-4);align-items:flex-start;display:flex}.publication-heading>div{gap:3px;display:grid}.publication-heading small{max-width:760px;color:var(--muted)}.publication-blocked{margin:var(--space-2) 0 0;padding:var(--space-2) var(--space-2);border-left:3px solid var(--warn);background:var(--warn-surface);color:var(--warn-ink)}.publication-generate{gap:var(--space-2);margin-top:var(--space-2);grid-template-columns:minmax(140px,180px) minmax(250px,1fr) auto minmax(180px,1fr);align-items:end;display:grid}.publication-generate label{gap:var(--space-1);color:var(--muted);font-size:var(--text-xs);display:grid}.publication-generate select,.publication-generate button{min-height:34px}.publication-generate span{color:var(--muted);font-size:var(--text-2xs);align-self:center}.publication-notice,.publication-conflict{justify-content:space-between;gap:var(--space-3);margin-top:var(--space-2);align-items:center;display:flex}.publication-conflict{padding:var(--space-2) var(--space-2);border:1px solid var(--danger);color:var(--danger)}.publication-ready{gap:var(--space-3);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--line);grid-template-columns:minmax(260px,1.2fr) minmax(260px,.8fr);display:grid}.publication-document{border:1px solid var(--line);min-width:0}.publication-document>div{justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-2);border-bottom:1px solid var(--line);display:flex}.publication-document span{color:var(--muted);font:var(--text-2xs)/1.4 ui-monospace, monospace}.publication-document object{background:var(--panel);border:0;width:100%;min-height:340px;display:block}.publication-integrity{border-top:1px solid var(--line);margin:0}.publication-integrity div{gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--line);grid-template-columns:minmax(130px,1fr) minmax(0,1fr);display:grid}.publication-integrity dt{color:var(--muted);font-size:var(--text-2xs)}.publication-integrity dd{text-align:right;overflow-wrap:anywhere;margin:0}.publication-integrity code{font-size:var(--text-2xs)}.informative-measurements{min-width:0;padding:var(--space-2) var(--space-3);border:1px solid var(--line);grid-column:1/-1}.informative-measurements h3{margin:0 0 var(--space-2);font-size:var(--text-sm)}.informative-boundary{margin:var(--space-2) 0;padding:var(--space-2) var(--space-2);border-left:3px solid var(--terracotta);background:var(--accent-surface);color:var(--accent-ink);font-size:var(--text-2xs)}.informative-measurements .table-scroll{outline-offset:2px;overflow-x:auto}.informative-measurements table{border-collapse:collapse;width:100%;min-width:760px}.informative-measurements th,.informative-measurements td{padding:var(--space-2) var(--space-2);border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.informative-measurements th{color:var(--muted);font-size:var(--text-2xs)}.informative-measurements td{font:var(--text-2xs)/1.4 ui-monospace, monospace}.informative-measurements td small{color:var(--ink-2);font-size:var(--text-2xs);margin-top:2px;display:block}.publication-limitations{padding:var(--space-2) var(--space-3);border:1px solid var(--line);grid-column:1/-1}.publication-limitations ul{gap:var(--space-1) var(--space-3);margin:var(--space-1) 0 0;padding-left:var(--space-4);color:var(--muted);font:var(--text-2xs)/1.4 ui-monospace, monospace;flex-wrap:wrap;display:flex}.publication-checklist{gap:var(--space-2) var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--line);grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.publication-checklist legend{padding:0 var(--space-1);font-weight:600}.publication-checklist label{gap:var(--space-2);color:var(--muted);font-size:var(--text-xs);grid-template-columns:auto 1fr;align-items:start;display:grid}.publication-open-dialog{border-color:var(--accent-strong);background:var(--accent-strong);min-height:36px;color:var(--surface-0);grid-column:1/-1;justify-self:end}.publication-success{justify-content:space-between;gap:var(--space-3);margin-top:var(--space-2);padding:var(--space-2) var(--space-3);border-left:3px solid var(--ok);background:var(--ok-surface);display:flex}.publication-success span{color:var(--muted);font:var(--text-2xs)/1.4 ui-monospace, monospace}.publication-dialog{z-index:var(--z-dialog);background:#101210b8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.publication-dialog>div{width:min(560px,100%);max-height:calc(100vh - 40px);padding:var(--space-4);border-top:4px solid var(--terracotta);background:var(--paper);overflow:auto;box-shadow:0 16px 60px #00000059}.publication-dialog p{color:var(--muted)}.publication-dialog dl{border-top:1px solid var(--line)}.publication-dialog dl div{gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--line);grid-template-columns:130px minmax(0,1fr);display:grid}.publication-dialog dt{color:var(--muted)}.publication-dialog dd{overflow-wrap:anywhere;min-width:0;margin:0}.publication-dialog>div>div:last-child{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-3);display:flex}.publication-dialog>div>div:last-child button:last-child{border-color:var(--accent-strong);background:var(--accent-strong);color:var(--surface-0)}.inference-incompatible{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--warn);background:var(--warn-surface);color:var(--warn-ink);font-size:var(--text-2xs);display:flex}.inference-incompatible button{min-height:30px;color:inherit;background:0 0;border:1px solid;flex:none}.inference-review-filters{gap:var(--space-1);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line);background:var(--panel);flex-wrap:wrap;display:flex}.inference-review-filters button{border:1px solid var(--line);background:var(--paper);min-height:30px;color:var(--ink)}.inference-review-filters button.selected{border-color:var(--terracotta);box-shadow:inset 0 -2px var(--terracotta)}.inference-review-filters button span{margin-left:var(--space-1);color:var(--muted);font:var(--text-2xs)/1 ui-monospace, monospace}.inference-review-filters .inference-manual-create{border-color:var(--accent-strong);color:var(--accent-ink);margin-left:auto}.inference-workbench{border-top:1px solid var(--line);grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr);min-height:360px;display:grid}.inference-findings{border-right:1px solid var(--line);min-width:0}.inference-list-tools{gap:var(--space-2);padding:var(--space-2) var(--space-2);border-bottom:1px solid var(--line);background:var(--panel);grid-template-columns:minmax(120px,1fr) auto auto;align-items:end;display:grid}.inference-list-tools label:nth-child(2){min-height:34px;color:var(--ink);align-items:center;display:flex}.inference-list-tools>span{color:var(--muted);font:var(--text-2xs)/1.3 ui-monospace, monospace;align-self:center}.inference-finding-list{max-height:430px;overflow:auto}.inference-finding-list button{gap:var(--space-2);width:100%;min-height:38px;padding:var(--space-2) var(--space-2);border:0;border-bottom:1px solid var(--line);color:var(--ink);text-align:left;background:0 0;grid-template-columns:minmax(0,1fr) auto;display:grid}.inference-finding-list button:hover{background:var(--panel)}.inference-finding-list button.selected{box-shadow:inset 3px 0 var(--terracotta);background:var(--accent-surface)}.inference-finding-list button:focus-visible{outline:2px solid var(--terracotta);outline-offset:-3px;position:relative}.inference-finding-list button span:first-child{font-size:var(--text-2xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.inference-finding-list button span:last-child{color:var(--muted);font:var(--text-2xs)/1.3 ui-monospace, monospace}.inference-finding-list button.state-confirmed{box-shadow:inset 2px 0 var(--ok)}.inference-finding-list button.state-manual{box-shadow:inset 2px 0 var(--terracotta)}.inference-finding-list button.state-rejected{box-shadow:inset 2px 0 var(--ink-2)}.inference-finding-list button.state-rejected span:first-child{text-decoration:line-through;text-decoration-thickness:1px}.inference-finding-list button.selected{box-shadow:inset 3px 0 var(--terracotta)}.inference-state-label{color:var(--muted);font:var(--text-2xs)/1.25 ui-monospace, monospace;text-transform:uppercase;grid-column:1/-1}.inference-inspector{min-width:0;padding:var(--space-3) var(--space-3)}.inference-inspector>p{color:var(--muted);font-size:var(--text-xs);margin:0}.inference-inspector-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--line);display:flex}.inference-inspector-heading strong,.inference-inspector-heading small{display:block}.inference-inspector-heading strong{font-size:var(--text-xs);text-transform:uppercase}.inference-inspector-heading small{color:var(--muted);font:var(--text-2xs)/1.3 ui-monospace, monospace;margin-top:3px}.inference-inspector-heading button{border:1px solid var(--line);background:0 0;min-width:30px;min-height:30px}.inference-inspector dl{margin:0}.inference-inspector dl>div{gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;display:grid}.inference-inspector dt{color:var(--muted);font-size:var(--text-2xs)}.inference-inspector dd{font:var(--text-2xs)/1.35 ui-monospace, monospace;margin:0}.inference-status{align-items:center;gap:var(--space-1);display:inline-flex}.inference-status:before{background:var(--warn);content:"";border:1px solid;border-radius:50%;width:7px;height:7px}.inference-status.state-confirmed:before{background:var(--ok)}.inference-status.state-manual:before{background:var(--terracotta)}.inference-status.state-rejected:before{background:var(--ink-2);border-radius:0}.inference-snapshot-comparison{margin:var(--space-3) 0;border:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.inference-snapshot-comparison section{gap:var(--space-1);min-width:0;padding:var(--space-2);border-right:1px solid var(--line);display:grid}.inference-snapshot-comparison section:last-child{border-right:0}.inference-snapshot-comparison section.draft{background:var(--accent-surface)}.inference-snapshot-comparison strong{font-size:var(--text-2xs);text-transform:uppercase}.inference-snapshot-comparison span,.inference-snapshot-comparison code,.inference-snapshot-comparison small{overflow-wrap:anywhere;font-size:var(--text-2xs)}.inference-snapshot-comparison small{color:var(--muted)}.inference-review-editor{gap:var(--space-2);margin:var(--space-3) 0;padding:var(--space-3);border:1px solid var(--line);background:var(--panel);display:grid}.inference-review-editor>label{gap:var(--space-1);color:var(--muted);font-size:var(--text-2xs);display:grid}.inference-review-editor select,.inference-review-editor input,.inference-review-editor textarea{width:100%}.inference-review-editor textarea{resize:vertical}.inference-review-editor fieldset{gap:var(--space-2);padding:var(--space-2);border:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.inference-review-editor fieldset legend{padding:0 var(--space-1);color:var(--muted);font-size:var(--text-2xs)}.inference-review-editor fieldset label{color:var(--muted);font:var(--text-2xs)/1.3 ui-monospace, monospace;gap:3px;display:grid}.visibility-label{color:var(--muted);font:var(--text-2xs)/1.25 ui-monospace, monospace;text-transform:uppercase}.inference-draw-notice{color:var(--warn-ink);font-size:var(--text-2xs);margin:0}.inference-review-actions{gap:var(--space-2);margin:var(--space-2) 0;flex-wrap:wrap;display:flex}.inference-review-actions button{min-height:32px}.inference-review-feedback{min-height:0}.inference-review-feedback p{margin:var(--space-2) 0;font-size:var(--text-2xs)}.inference-history{margin:var(--space-3) 0;border-block:1px solid var(--line)}.inference-history summary{padding:var(--space-2) 0;cursor:pointer;font-size:var(--text-2xs);font-weight:700}.inference-history ol{margin:0;padding:0;list-style:none}.inference-history li{gap:var(--space-1);padding:var(--space-2) 0;border-top:1px solid var(--line);display:grid}.inference-history li>div:first-child{justify-content:space-between;gap:var(--space-2);display:flex}.inference-history time,.inference-history span,.inference-history code,.inference-history small{color:var(--muted);font:var(--text-2xs)/1.35 ui-monospace, monospace;overflow-wrap:anywhere}.inference-history-notes{padding-left:var(--space-2);border-left:2px solid var(--line);gap:2px;display:grid}.inference-evidence-list{margin:var(--space-3) 0 0;padding:0;list-style:none}.inference-evidence-list li{padding:var(--space-2) 0;border-bottom:1px solid var(--line)}.inference-evidence-list li>div{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.inference-evidence-list strong{font-size:var(--text-2xs)}.inference-evidence-list span,.inference-evidence-list small{color:var(--muted);font:var(--text-2xs)/1.4 ui-monospace, monospace}.inference-evidence-list code{margin:var(--space-1) 0 2px;overflow-wrap:anywhere;font-size:var(--text-2xs);display:block}.inference-integrity{margin:var(--space-3) 0 0;color:var(--muted);font-size:var(--text-2xs)}.inference-guide{border-top:1px solid var(--line)}.inference-guide summary{padding:var(--space-2) var(--space-3);cursor:pointer;color:var(--ink);font-size:var(--text-xs);font-weight:700}.inference-guide dl{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;margin:0;display:grid}.inference-guide dl>div{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line)}.inference-guide dl>div:nth-child(odd){border-right:1px solid var(--line)}.inference-guide dt{font-size:var(--text-2xs);font-weight:700}.inference-guide dd{color:var(--muted);font-size:var(--text-2xs);margin:3px 0 0}.pagination{justify-content:flex-end;align-items:center;gap:var(--space-3);padding-top:var(--space-3);grid-column:1/-1;display:flex}.publication-history{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--line)}.publication-history-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.publication-history-heading strong,.publication-history-heading small{display:block}.publication-history-heading small{margin-top:var(--space-1);color:var(--muted);font:var(--text-2xs)/1.3 ui-monospace, monospace}.publication-transition-reason{margin:var(--space-3) 0}.publication-history ol{margin:0 0 var(--space-3);border-top:1px solid var(--line);padding:0;list-style:none}.publication-history li{gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.publication-history li>div{align-items:center;gap:var(--space-2);display:flex}.publication-history li span{color:var(--muted);font:var(--text-2xs)/1.3 ui-monospace, monospace}.publication-history li button{border:1px solid var(--line);min-height:30px;font-size:var(--text-2xs);background:0 0}.client-portal{max-width:1180px;padding-top:var(--space-4);border-top:1px solid var(--ink);margin-top:38px}.client-portal-grid{border-top:1px solid var(--line);grid-template-columns:220px minmax(0,1fr);display:grid}.client-projects{min-width:0;padding:var(--space-4) var(--space-4) var(--space-4) 0;border-right:1px solid var(--line)}.client-portal-title{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.client-portal-title h2,.client-publication-heading h2{font-size:var(--text-xl);letter-spacing:-.02em;margin:0}.client-project{gap:var(--space-1);width:100%;min-height:58px;padding:var(--space-2) var(--space-3);border:0;border-bottom:1px solid var(--line);color:var(--ink);text-align:left;background:0 0;display:grid}.client-project:hover{background:var(--panel)}.client-project.active{box-shadow:inset 3px 0 var(--terracotta);background:var(--accent-surface)}.client-project span{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.client-project small{color:var(--muted);font:var(--text-2xs)/1.3 ui-monospace, monospace;text-transform:uppercase}.client-publication{min-width:0;padding:var(--space-4) 0 var(--space-6) var(--space-5)}.client-findings-heading,.client-finding-inspector-heading{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.client-visible-count{color:var(--muted);font:var(--text-2xs)/1.3 ui-monospace, monospace}.client-finding-navigation{gap:var(--space-1);display:flex}.client-finding-navigation button{border:1px solid var(--line);background:var(--paper);min-height:30px;font-size:var(--text-2xs)}.client-finding-navigation button:disabled{opacity:.45}.client-publication-heading{justify-content:space-between;align-items:end;gap:var(--space-5);margin-bottom:var(--space-4);display:flex}.client-publication-heading p{max-width:620px;margin:var(--space-2) 0 0;color:var(--muted);font-size:var(--text-sm)}.client-publication-heading label{width:min(250px,100%)}.client-publication-summary{margin:0 0 var(--space-4);border:1px solid var(--line);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.client-publication-summary div{min-width:0;padding:var(--space-2) var(--space-2);border-right:1px solid var(--line)}.client-publication-summary div:last-child{border-right:0}.client-publication-summary dt{color:var(--muted);font-size:var(--text-2xs);text-transform:uppercase}.client-publication-summary dd{margin:var(--space-1) 0 0;overflow-wrap:anywhere;font:var(--text-2xs)/1.4 ui-monospace, monospace}.client-processing{align-items:flex-start;gap:var(--space-3);min-height:150px;padding:var(--space-5);border:1px solid var(--line);background:var(--panel);display:flex}.client-processing h3,.client-processing p{margin:0}.client-processing p{max-width:620px;margin-top:var(--space-1);color:var(--muted);line-height:1.55}.client-viewer-toolbar{align-items:center;gap:var(--space-1);padding:var(--space-2);border:1px solid var(--inst-line-2);background:var(--inst-2);color:var(--inst-ink-0);border-bottom:0;flex-wrap:wrap;display:flex}.client-viewer-toolbar button{min-height:32px;padding:var(--space-1) var(--space-2);border:1px solid var(--inst-line-3);color:inherit;font-size:var(--text-2xs);background:0 0}.client-viewer-toolbar button:hover{border-color:var(--accent-on-dark)}.client-viewer-toolbar span{color:var(--inst-ink-1);font:var(--text-2xs)/1.3 ui-monospace, monospace;margin-left:auto}.client-publication-layers{gap:var(--space-4);padding:var(--space-2) var(--space-2);border:1px solid var(--inst-line-2);background:var(--inst-1);color:var(--inst-ink-0);border-bottom:0;margin:0;display:flex}.client-publication-layers legend{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.client-publication-layers label{align-items:center;gap:var(--space-2);color:inherit;font-size:var(--text-2xs);display:flex}.client-viewer-stage{background:#171816;min-height:430px;position:relative}.client-viewer{width:100%;height:min(68vh,720px);min-height:430px}.client-finding-overlay{border:2px solid var(--layer-finding);background:color-mix(in srgb, var(--layer-finding) 12%, transparent);cursor:pointer;width:100%;height:100%;padding:0;box-shadow:0 0 0 1px #141412b3}.client-finding-overlay:hover,.client-finding-overlay:focus-visible{background:color-mix(in srgb, var(--layer-finding) 25%, transparent);border-width:3px}.client-findings-layout{border:1px solid var(--line);border-top:0;grid-template-columns:minmax(0,1fr) 300px;display:grid}.client-findings-layout>section{min-width:0;padding:var(--space-4);border-right:1px solid var(--line)}.client-findings-layout h3{margin:0 0 var(--space-3);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.client-finding-list{border-top:1px solid var(--line);max-height:310px;overflow:auto}.client-finding-list button{gap:var(--space-2);width:100%;min-height:40px;padding:var(--space-2) var(--space-2);border:0;border-bottom:1px solid var(--line);color:var(--ink);text-align:left;background:0 0;grid-template-columns:minmax(0,1fr) auto;display:grid}.client-finding-list button:hover{background:var(--panel)}.client-finding-list button.active{box-shadow:inset 3px 0 var(--terracotta);background:var(--accent-surface)}.client-finding-list small{color:var(--muted);font:var(--text-2xs)/1.3 ui-monospace, monospace}.client-finding-inspector{min-width:0;padding:var(--space-4);background:var(--panel)}.client-finding-inspector dl{margin:0}.client-finding-inspector dl div{gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--line);grid-template-columns:1fr auto;display:grid}.client-finding-inspector dt{color:var(--muted);font-size:var(--text-2xs)}.client-finding-inspector dd{overflow-wrap:anywhere;max-width:170px;font:var(--text-2xs)/1.4 ui-monospace, monospace;text-align:right;margin:0}.client-finding-inspector p{color:var(--muted);font-size:var(--text-xs);line-height:1.5}.client-crop{width:100%;height:150px;margin-bottom:var(--space-3);border:1px solid var(--inst-line-2);pointer-events:none;background:#171816}.client-publication-proof{gap:var(--space-4);padding:var(--space-3) 0;color:var(--ink-2);font-size:var(--text-xs);flex-wrap:wrap;line-height:1.5;display:flex}.client-status{margin-bottom:var(--space-2);padding:3px var(--space-2);border:1px solid var(--line-2);border-radius:var(--radius-1);color:var(--ink-1);font-size:var(--text-xs);font-weight:600;display:inline-block}.client-status-published{border-color:var(--accent);background:var(--accent-surface);color:var(--accent-ink)}.client-portal>.section-label{font-family:inherit;font-size:var(--text-xs);letter-spacing:.04em;text-transform:none;font-weight:700}.client-project small{color:var(--ink-2);font-family:inherit;font-size:var(--text-sm);text-transform:none;letter-spacing:0;line-height:1.45}.client-publication-summary dt{color:var(--ink-2);font-size:var(--text-2xs);letter-spacing:.07em}.client-publication-summary dd{font-family:inherit;font-size:var(--text-md);line-height:1.45}.client-publication-summary div{padding:var(--space-3) var(--space-3)}.client-visible-count{color:var(--ink-2);font-family:inherit;font-size:var(--text-sm);line-height:1.4}.client-findings-layout h3{font-size:var(--text-xs)}.client-finding-list button{min-height:46px;padding:var(--space-3)}.client-finding-list span{font-size:var(--text-md);font-weight:600}.client-finding-list small{color:var(--ink-2);font-family:inherit;font-size:var(--text-sm);line-height:1.4}.client-finding-inspector dt{font-size:var(--text-sm)}.client-finding-inspector dd{font-family:inherit;font-size:var(--text-sm);line-height:1.5}.client-finding-inspector p{font-size:var(--text-sm)}.client-finding-inspector dd code,.client-publication-proof code{font-family:ui-monospace,monospace;font-size:var(--text-xs)}@container (width<=620px){.inference-workbench{grid-template-columns:minmax(0,1fr)}.inference-findings{border-right:0;border-bottom:1px solid var(--line)}.publication-generate{grid-template-columns:minmax(0,1fr);align-items:stretch}.inference-snapshot-comparison,.inference-count-columns,.inference-review-facts,.publication-ready,.publication-checklist,.roof-area-form-grid,.roof-area-values{grid-template-columns:minmax(0,1fr)}.roof-area-values section:first-child{border-right:0;border-bottom:1px solid var(--line)}.roof-area-calibration-summary dl>div,.roof-area-values dl>div,.roof-area-total dl>div{gap:var(--space-1);grid-template-columns:minmax(0,1fr)}.roof-facet-form,.inference-count-editor{grid-template-columns:minmax(0,1fr)}}.roof-area-override-disclosure>summary{min-height:34px;padding:0 var(--space-3);border:1px solid var(--line-3);border-radius:var(--radius-1);background:var(--surface-1);color:var(--ink-0);font-size:var(--text-sm);cursor:pointer;align-items:center;font-weight:600;display:flex}.roof-area-override-disclosure>summary:hover{border-color:var(--accent)}.roof-area-override-disclosure>summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.roof-area-override-disclosure[open]>summary{margin-bottom:var(--space-3)}.roof-facet-measure dd small{margin-top:var(--space-1);color:var(--ink-2);font-size:var(--text-2xs);display:block}@keyframes pulse{50%{opacity:.25}}@media (width<=1100px){.topbar{padding:0 var(--space-4)}.environment{display:none}.workspace-main{padding:var(--space-4)}.workspace-heading{margin-bottom:40px}.admin-form,.domain-layout{grid-template-columns:1fr}.domain-list{border-right:0;padding-right:0}.detail-panel{padding-left:0}.client-publication-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.client-publication-summary div{border-bottom:1px solid var(--line)}.domain-toolbar{flex-direction:column;align-items:stretch}.panorama-annotations{width:100%;max-height:520px;box-shadow:none;border-top:0;position:relative;top:auto;bottom:auto;right:auto}.roof-contour-panel{width:100%;max-height:520px;box-shadow:none;border-top:0;position:relative;top:auto;bottom:auto;left:auto}.domain-tabs{width:fit-content}.project-filters{grid-template-columns:1fr 1fr}.upload-list li,.metadata-layout,.metadata-summary,.processing-layout,.flight-plot-layout,.privacy-layout{grid-template-columns:1fr}.privacy-request-list,.metadata-assets,.processing-runs{border-right:0;border-bottom:1px solid var(--line)}.panorama-stage{height:min(62vh,560px);min-height:320px}.roof-facet-layout{grid-template-columns:1fr}.roof-facet-list-column{border-right:0;border-bottom:1px solid var(--line)}.roof-area-layout{grid-template-columns:1fr}.roof-area-facets{border-right:0;border-bottom:1px solid var(--line)}.panorama-provenance{flex-direction:column}.inference-start{grid-template-columns:1fr 1fr}.inference-workbench{grid-template-columns:1fr}.inference-findings{border-right:0;border-bottom:1px solid var(--line)}.publication-ready{grid-template-columns:1fr}.metadata-map{padding:var(--space-3) 0 0;border-left:0;border-top:1px solid var(--line)}.flight-plot-map{border-right:0;border-bottom:1px solid var(--inst-line-2)}.flight-plot-map svg{min-height:240px}.client-portal-grid,.client-findings-layout{grid-template-columns:1fr}.client-projects{border-right:0;border-bottom:1px solid var(--line);padding-right:0}.client-publication{padding-left:0}.client-findings-layout>section{border-right:0;border-bottom:1px solid var(--line)}}@media (width<=520px){.search-row,.inline-form,.project-filters,.metadata-correction,.privacy-create,.privacy-filters,.privacy-actions{grid-template-columns:1fr}.privacy-create .primary-action{grid-column:1}.workspace-main{padding-inline:var(--space-4)}.inference-start,.inference-run-selector,.inference-count,.inference-count-columns,.inference-count-editor,.inference-review-facts,.inference-list-tools,.inference-guide dl,.inference-snapshot-comparison,.publication-generate,.publication-checklist{grid-template-columns:1fr}.inference-count small{justify-self:start}.inference-count-columns>div{border-right:0;border-bottom:1px solid var(--line)}.inference-count-columns>div:last-child{border-bottom:0}.inference-snapshot-comparison section{border-right:0;border-bottom:1px solid var(--line)}.inference-review-editor fieldset{grid-template-columns:1fr 1fr}.inference-guide dl>div:nth-child(odd){border-right:0}.client-publication-heading{flex-direction:column;align-items:stretch}.client-publication-heading label{width:100%}.client-viewer-toolbar span{width:100%;margin-left:0}.client-viewer,.client-viewer-stage{height:56vh;min-height:320px}.roof-facet-form{grid-template-columns:1fr}.roof-facet-heading{flex-direction:column;align-items:stretch}.roof-facet-heading span{align-self:flex-start}.roof-area-heading{flex-direction:column;align-items:stretch}.roof-area-heading span{white-space:normal;align-self:flex-start}.roof-area-form-grid,.roof-area-values{grid-template-columns:1fr}.roof-area-values section:first-child{border-right:0;border-bottom:1px solid var(--line)}}@media (prefers-reduced-motion:reduce){.status-dot{animation:none}}
