.engineering-drawing-workspace{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr) minmax(230px,300px);min-height:100%;background:#eef1f4;color:#16202a}.engineering-drawing-sidebar,.engineering-drawing-inspector{display:flex;flex-direction:column;gap:10px;padding:12px;background:#f7f9fb;border-right:1px solid #cfd7df;overflow:auto}.engineering-drawing-inspector{border-right:0;border-left:1px solid #cfd7df}.drawing-panel-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.drawing-panel-header h2{margin:0;font-size:15px;font-weight:700}.drawing-field{display:grid;gap:4px;font-size:12px;font-weight:650}.drawing-field input,.drawing-field select{min-height:30px;border:1px solid #b8c3ce;border-radius:4px;padding:4px 7px;background:#fff;color:#16202a;font:inherit}.drawing-source-list{display:grid;gap:4px}.drawing-source-row{display:grid;grid-template-columns:18px minmax(0,1fr);gap:6px;align-items:center;padding:4px 0;font-size:12px}.engineering-drawing-sheet-surface{display:grid;place-items:center;min-width:0;padding:18px;overflow:auto;background:#dfe5eb}.engineering-drawing-empty{display:grid;gap:6px;max-width:520px;color:#405062;text-align:center}.engineering-drawing-sheet{width:min(100%,1120px);max-height:calc(100vh - 190px);background:#fff;border:1px solid #b8c3ce;box-shadow:0 10px 28px #16202a2e}.sheet-page{fill:#fff;stroke:#111827;stroke-width:.6}.sheet-viewport{fill:#fbfdff;stroke:#1f2937;stroke-width:.8}.sheet-title{fill:#111827;font-size:5px;font-weight:700}.sheet-subtitle{fill:#374151;font-size:3.5px}.north-arrow{fill:#111827;stroke:#111827;stroke-width:.3}.engineering-drawing-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.engineering-drawing-diagnostics{display:grid;gap:4px;padding:8px;border:1px solid #d6dde5;border-radius:4px;background:#fff;color:#425466;font-size:12px}@media(max-width:980px){.engineering-drawing-workspace{grid-template-columns:1fr}.engineering-drawing-sidebar,.engineering-drawing-inspector{border:0;border-bottom:1px solid #cfd7df}}.alignment-builder-shell{display:flex;flex-direction:column;gap:10px;min-height:0;height:100%;padding:10px;background:var(--bg);color:var(--text2);overflow:hidden}.builder-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--b1);background:var(--chrome);flex-wrap:wrap}.builder-heading h2{margin:0;color:var(--texthi);font-size:13px;font-family:Rajdhani,sans-serif;letter-spacing:.06em;text-transform:uppercase}.builder-heading p{margin:4px 0 0;color:var(--text3);font-size:11px}.alignment-preview-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--b1);background:var(--chrome2);font-size:11px}.alignment-preview-banner.ready{border-left:3px solid var(--acc)}.alignment-preview-banner.warning{border-left:3px solid #d9a441}.alignment-preview-banner.error{border-left:3px solid #c85d5d;color:var(--texthi)}.alignment-section{display:flex;flex-direction:column;gap:8px;border:1px solid var(--b1);background:var(--chrome);min-height:0;overflow:hidden}.alignment-section-header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:30px;padding:0 10px;border-bottom:1px solid var(--b1);background:var(--title)}.alignment-section-header h3{margin:0;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text3)}.alignment-top-row{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;min-height:0}.alignment-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px 10px;padding:10px}.alignment-coordinate-row{grid-column:1 / -1;display:grid;grid-template-columns:132px repeat(2,minmax(160px,1fr));align-items:end;gap:8px 10px;padding:8px;border:1px solid var(--b1);background:var(--chrome2)}.alignment-coordinate-row-title{color:var(--cyan);font-family:Rajdhani,sans-serif;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.alignment-settings-grid label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--text3)}.alignment-settings-grid input,.alignment-settings-grid select,.alignment-cad-fields input,.alignment-cad-fields select,.alignment-pi-table input,.alignment-pi-table select{width:100%;min-width:0;height:24px;padding:0 6px;background:var(--chrome3);border:1px solid var(--b1);color:var(--text2);border-radius:3px}.alignment-settings-grid input:focus,.alignment-settings-grid select:focus,.alignment-cad-fields input:focus,.alignment-cad-fields select:focus,.alignment-pi-table input:focus,.alignment-pi-table select:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 1px #0078d738}.alignment-cad-actions{padding:10px;flex-direction:column;align-items:stretch;align-self:end}.alignment-station-offset{display:grid;gap:3px;min-height:58px;padding:7px;border:1px solid var(--b1);background:var(--chrome2);font-size:11px}.alignment-station-offset span,.alignment-station-offset small{color:var(--text3)}.alignment-station-offset strong{color:var(--texthi);font-weight:600;overflow-wrap:anywhere}.alignment-cad-panel{display:grid;grid-template-columns:minmax(170px,220px) minmax(190px,240px) minmax(360px,1fr);align-items:start;min-width:0;overflow:hidden}.alignment-cad-panel .btn{width:100%}.alignment-cad-panel>.alignment-section-header{grid-column:1 / -1}.alignment-cad-fields{display:grid;grid-template-columns:1fr;gap:8px;padding:10px}.alignment-cad-fields label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--text3)}.alignment-load-target-status{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:26px;padding:5px 7px;border:1px solid var(--b1);background:var(--chrome2);font-size:11px}.alignment-load-target-status span{color:var(--text3)}.alignment-load-target-status strong{color:var(--texthi);font-weight:600;text-align:right}.alignment-point-picker{display:flex;flex-direction:column;gap:0;margin:10px 10px 10px 0;border:1px solid var(--b1);background:var(--chrome2);min-height:0}.alignment-section-header.compact{min-height:26px;padding:0 8px}.alignment-point-picker .alignment-cad-fields{padding:8px}.alignment-point-picker-table{max-height:132px;overflow:auto;border-top:1px solid var(--b1)}.alignment-point-picker-table table{width:100%;min-width:360px;border-collapse:collapse;table-layout:fixed;font-size:10.5px}.alignment-point-picker-table th,.alignment-point-picker-table td{padding:5px 6px;border-bottom:1px solid var(--b1);color:var(--text2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alignment-point-picker-table th{position:sticky;top:0;z-index:1;background:var(--title);color:var(--text3);letter-spacing:.06em;text-transform:uppercase}.alignment-point-picker-table td:nth-child(2),.alignment-point-picker-table td:nth-child(3){color:var(--texthi);font-variant-numeric:tabular-nums;text-align:right}.alignment-point-picker-table th:last-child,.alignment-point-picker-table td:last-child{width:74px;text-align:right}.alignment-point-picker-table .btn.compact{height:22px;padding:0 6px;font-size:10.5px;white-space:nowrap}.alignment-point-picker-empty{padding:14px 8px;color:var(--text3);font-size:11px;text-align:center}.alignment-table-section,.alignment-validation-section{min-height:0}.alignment-table-section{flex:1}.alignment-section-header-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}.builder-header-actions{margin-left:auto}.alignment-table-wrap{padding:0 10px 10px;overflow:auto;min-height:0;max-height:280px}.alignment-pi-table{width:100%;min-width:1260px;border-collapse:collapse;table-layout:fixed;font-size:11px}.alignment-pi-table th,.alignment-pi-table td{height:30px;padding:3px 5px;border:1px solid var(--b1);vertical-align:middle;background:var(--chrome2)}.alignment-pi-table input,.alignment-pi-table select{height:22px;font-size:10.5px}.alignment-pi-table td{white-space:nowrap}.alignment-pi-table th{position:sticky;top:0;z-index:1;background:var(--title);color:var(--text3);font-size:10px;letter-spacing:.06em;text-transform:uppercase}.alignment-pi-table tbody tr:nth-child(2n) td{background:color-mix(in srgb,var(--chrome2) 82%,var(--chrome3) 18%)}.alignment-pi-table tbody tr:hover td{background:color-mix(in srgb,var(--chrome2) 74%,var(--acc) 10%)}.alignment-pi-table tbody tr.selected td{background:color-mix(in srgb,var(--chrome2) 65%,var(--acc) 18%);color:var(--texthi)}.alignment-pi-table td:nth-child(1){width:42px;text-align:center}.alignment-pi-table td:nth-child(9),.alignment-pi-table td:nth-child(10),.alignment-pi-table td:nth-child(11),.alignment-pi-table td:nth-child(12),.alignment-pi-table td:nth-child(13),.alignment-pi-table td:nth-child(14){color:var(--texthi);font-variant-numeric:tabular-nums}.alignment-pi-table td:last-child{color:var(--text3)}.alignment-empty,.alignment-validation-empty{padding:16px;color:var(--text3);text-align:center}.alignment-validation-list{list-style:none;margin:0;padding:10px;display:grid;gap:6px;max-height:140px;overflow:auto}.alignment-validation-list li{display:grid;grid-template-columns:76px 1fr;gap:8px;align-items:start;padding:8px 10px;border:1px solid var(--b1);background:var(--chrome2);font-size:11px}.alignment-validation-list li.warning strong{color:#d9a441}.alignment-validation-list li.fatal{border-color:#c85d5d8c}.alignment-validation-list li.fatal strong{color:#ff8f8f}.alignment-validation-list li span{color:var(--text2)}.tin-generation-section{flex:0 0 auto}.tin-generation-body{display:flex;flex-direction:column;gap:10px;padding:10px}.tin-field{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--text3)}.tin-field select{width:100%;min-width:0;height:24px;padding:0 6px;background:var(--chrome3);border:1px solid var(--b1);color:var(--text2);border-radius:3px}.tin-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tin-summary-box{display:flex;flex-direction:column;gap:3px;padding:8px 10px;border:1px solid var(--b1);background:var(--chrome2)}.tin-summary-box span{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.06em}.tin-summary-box strong{color:var(--texthi);font-size:14px}.tin-summary-note{font-size:11px;color:var(--text3)}.tin-actions{margin-left:0}.alignment-editor-tabbar{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--b1);background:var(--chrome2);padding:2px}.alignment-editor-tabbar button{min-width:88px;height:28px;border:0;background:transparent;color:var(--text2);font:inherit;font-size:12px;cursor:pointer}.alignment-editor-tabbar button.active{background:var(--acc);color:#fff}.vertical-alignment-panel{min-height:0;flex:1}.vertical-locked{padding:14px;color:var(--text2)}.vertical-locked strong{color:var(--texthi)}.vertical-locked p{margin:6px 0 0;color:var(--text3);font-size:12px}.vertical-profile-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:12px;padding:10px;align-items:end}.vertical-profile-toolbar label{display:flex;flex-direction:column;gap:4px;color:var(--text3);font-size:11px}.vertical-profile-toolbar input{height:26px;border:1px solid var(--b1);background:var(--chrome3);color:var(--text2);padding:0 7px;font:inherit}.vertical-profile-chart{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:58px;margin:0 10px 10px;padding:10px;border:1px solid var(--b1);background:linear-gradient(180deg,var(--chrome2),var(--chrome3))}.vertical-profile-chart span{color:var(--cyan);font-size:12px;font-weight:700}.vertical-profile-chart strong{color:var(--texthi);font-size:12px;font-weight:600}.vertical-pvi-table{min-width:980px}.road-section-panel{flex:1;min-height:0}.road-section-toolbar{display:grid;grid-template-columns:minmax(240px,1.2fr) minmax(150px,.6fr) auto;gap:10px;align-items:end;padding:10px;border-bottom:1px solid var(--b1)}.road-section-toolbar label{display:flex;flex-direction:column;gap:4px;color:var(--text3);font-size:11px}.road-section-toolbar input{width:100%;min-width:0;height:26px;padding:0 7px;border:1px solid var(--b1);border-radius:3px;background:var(--chrome3);color:var(--text2);font:inherit}.road-section-toolbar input:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 1px #0078d738}.road-section-actions{justify-content:flex-end;flex-wrap:wrap}.road-section-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:10px;border-bottom:1px solid var(--b1)}.road-section-summary-box{display:flex;flex-direction:column;gap:3px;min-width:0;padding:8px 10px;border:1px solid var(--b1);background:var(--chrome2)}.road-section-summary-box span{color:var(--text3);font-size:10px;letter-spacing:.06em;text-transform:uppercase}.road-section-summary-box strong{min-width:0;overflow:hidden;color:var(--texthi);font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.road-section-workarea{display:grid;grid-template-columns:minmax(520px,1.35fr) minmax(360px,.9fr);gap:10px;min-height:0;padding:0 10px 10px;overflow:hidden}.road-section-table-wrap{padding:0;max-height:none;min-height:0;overflow:auto}.road-section-table{min-width:980px}.road-section-table th,.road-section-table td{height:32px}.road-section-table td:nth-child(2),.road-section-table td:nth-child(3),.road-section-table td:nth-child(4),.road-section-table td:nth-child(5){width:98px}.road-section-preview{min-height:240px;border:1px solid var(--b1);background:var(--chrome2);overflow:hidden}.road-section-preview svg{display:block;width:100%;height:100%;min-height:240px}.road-preview-bg{fill:color-mix(in srgb,var(--chrome2) 76%,#0f2230 24%)}.road-preview-ground{fill:none;stroke:#d9a441;stroke-width:2;stroke-dasharray:7 5}.road-preview-centerline{stroke:var(--cyan);stroke-width:1;stroke-dasharray:4 4}.road-preview-component{stroke:#061018b8;stroke-width:1;opacity:.88}.road-preview-formation{stroke:#f1f5f8;stroke-width:2}.road-preview-title{fill:var(--texthi);font-size:12px;font-weight:700}.road-preview-note,.road-preview-label{fill:var(--text2);font-size:10px}@media(max-width:1200px){.alignment-top-row{grid-template-columns:1fr}.alignment-cad-panel{grid-template-columns:minmax(180px,240px) minmax(180px,240px) minmax(280px,1fr)}.alignment-settings-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.road-section-workarea{grid-template-columns:1fr}}@media(max-width:760px){.builder-header,.alignment-preview-banner,.alignment-section-header{flex-direction:column;align-items:stretch}.alignment-settings-grid{grid-template-columns:1fr}.alignment-cad-panel{grid-template-columns:1fr;overflow:auto}.alignment-point-picker{margin:0 10px 10px}.tin-summary-grid,.road-section-toolbar,.road-section-summary-grid{grid-template-columns:1fr}.alignment-section-header-actions{flex-direction:column;align-items:stretch}.alignment-validation-list li{grid-template-columns:1fr}}.double-button-workspace{--button-bg: #eef0f3;--button-card: #ffffff;--button-ink: #1f2933;--button-muted: #667085;--button-line: #cfd6df;--button-dark: #222831;--button-ok: #12805c;--button-bad: #b42318;--button-soft: #f7f9fb;background:var(--button-bg);color:var(--button-ink);display:grid;grid-template-rows:82px minmax(0,1fr);height:100%;min-height:0}.double-button-workspace header{background:var(--button-dark);border-bottom:4px solid #111827;color:#fff;padding:18px 24px}.double-button-workspace header h1{font-size:22px;font-weight:650;letter-spacing:0;margin:0}.double-button-workspace header p{color:#cbd5e1;margin:6px 0 0}.double-button-shell{display:grid;gap:16px;grid-template-columns:250px minmax(620px,1fr) 330px;min-height:0;overflow:hidden;padding:16px}.double-button-steps,.double-button-main,.double-button-card{background:var(--button-card);border:1px solid var(--button-line)}.double-button-steps{display:flex;flex-direction:column;min-height:0;overflow:auto;padding:12px}.double-button-steps button{align-items:center;background:#fff;border:0;border-left:3px solid transparent;color:var(--button-ink);cursor:pointer;display:grid;gap:2px 10px;grid-template-columns:26px 1fr;padding:12px;text-align:left}.double-button-steps button.active{background:#eef2f7;border-left-color:#111827}.double-button-steps span{align-items:center;background:#fff;border:1px solid var(--button-line);display:grid;font-weight:700;height:26px;justify-content:center;width:26px}.double-button-steps small{color:var(--button-muted);grid-column:2}.double-button-main{min-height:0;overflow:auto}.double-button-bar{align-items:center;background:var(--button-soft);border-bottom:1px solid var(--button-line);display:flex;justify-content:space-between;padding:14px 16px}.double-button-bar h2{font-size:18px;margin:0}.double-button-bar span{background:#111827;color:#fff;font-family:Consolas,monospace;padding:5px 8px}.double-button-content{padding:16px}.double-button-side{display:flex;flex-direction:column;gap:16px;min-height:0;overflow:auto}.double-button-card{margin-bottom:14px}.double-button-card h3,.double-button-card-title h3{background:#f1f5f9;border-bottom:1px solid var(--button-line);color:#334155;font-size:14px;margin:0;padding:10px 12px}.double-button-card p{background:#fffbeb;border:1px solid #f2d98d;color:#6b4e00;margin:14px;padding:10px}.double-button-card-title{align-items:center;background:#f1f5f9;border-bottom:1px solid var(--button-line);display:flex;justify-content:space-between}.double-button-card-title h3{border-bottom:0}.double-button-card-title button{margin-right:10px}.double-button-grid{display:grid;gap:12px}.double-button-grid.padded{padding:12px}.double-button-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.double-button-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.double-button-fieldset{border:1px solid var(--button-line);display:grid;gap:10px;grid-column:span 3;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:10px}.double-button-fieldset legend{color:#334155;font-size:12px;font-weight:700;padding:0 4px}.double-button-fieldset label:first-of-type{grid-column:span 2}.double-button-workspace label{color:var(--button-muted);display:block;font-size:12px}.double-button-workspace input,.double-button-workspace select,.double-button-workspace textarea{background:#fff;border:1px solid #b8c0cc;color:var(--button-ink);font-family:Consolas,monospace;font-size:14px;margin-top:5px;min-width:0;padding:7px 9px;width:100%}.double-button-workspace input,.double-button-workspace select{height:36px}.double-button-workspace input:read-only{background:#f8fafc}.double-button-workspace textarea{min-height:105px;resize:vertical}.double-button-workspace input:focus,.double-button-workspace select:focus,.double-button-workspace textarea:focus{border-color:#334155;outline:2px solid #cbd5e1}.double-button-table-wrap{overflow:auto;padding:12px}.double-button-table-wrap table{border-collapse:collapse;font-size:12px;min-width:760px;width:100%}.double-button-table-wrap th,.double-button-table-wrap td{border-bottom:1px solid var(--button-line);padding:8px;text-align:left}.double-button-table-wrap th{background:#f8fafc;color:var(--button-muted)}.double-button-table-wrap td input{height:32px;margin:0;padding:5px 7px}.double-button-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.double-button-actions.inline{justify-content:flex-start;margin:0;padding:0 12px 12px}.double-button-workspace button{background:#fff;border:1px solid #111827;color:#111827;cursor:pointer;font-weight:700;padding:9px 13px}.double-button-workspace button.primary{background:#111827;color:#fff}.double-button-workspace button:disabled{cursor:not-allowed;opacity:.45}.double-button-kv{padding:8px 14px 14px}.double-button-kv div{border-bottom:1px dashed #d0d5dd;display:grid;gap:8px;grid-template-columns:1fr auto;padding:7px 0}.double-button-kv b,.mono{font-family:Consolas,monospace}.pass{color:var(--button-ok);font-weight:700}.fail{color:var(--button-bad);font-weight:700}@media(max-width:1180px){.double-button-shell{grid-template-columns:1fr;overflow:auto}.double-button-steps,.double-button-side{display:none}.double-button-grid.three,.double-button-grid.four,.double-button-fieldset{grid-template-columns:repeat(2,minmax(0,1fr))}.double-button-fieldset{grid-column:span 2}}.double-setup-workspace{--double-setup-bg: #e5e7eb;--double-setup-panel: #f8fafc;--double-setup-card: #ffffff;--double-setup-ink: #111827;--double-setup-muted: #64748b;--double-setup-line: #cbd5e1;--double-setup-dark: #1f2937;--double-setup-blue: #255f93;--double-setup-green: #15803d;--double-setup-amber: #b45309;--double-setup-red: #b91c1c;background:var(--double-setup-bg);color:var(--double-setup-ink);display:grid;grid-template-rows:64px minmax(0,1fr);height:100%;min-height:0}.double-setup-header{align-items:center;background:var(--double-setup-dark);border-bottom:4px solid #0f172a;color:#fff;display:flex;justify-content:space-between;padding:0 20px}.double-setup-header h1{font-size:18px;line-height:1.1;margin:0}.double-setup-header span{color:#cbd5e1;display:block;font-size:12px;margin-top:4px}.double-setup-context{display:flex;gap:8px}.double-setup-context b{background:#334155;border:1px solid #475569;font-size:12px;font-weight:700;padding:6px 10px}.double-setup-body{display:grid;gap:14px;grid-template-columns:235px minmax(580px,1fr) 355px;min-height:0;overflow:hidden;padding:14px}.double-setup-steps,.double-setup-panel,.double-setup-result{background:var(--double-setup-panel);border:1px solid var(--double-setup-line);min-height:0;overflow:auto}.double-setup-steps{display:flex;flex-direction:column;gap:8px;padding:12px}.double-setup-step{align-items:flex-start;background:#fff;border:1px solid var(--double-setup-line);border-left:4px solid transparent;color:var(--double-setup-ink);cursor:pointer;display:grid;gap:4px 8px;grid-template-columns:22px 1fr;padding:10px;text-align:left}.double-setup-step.active{background:#eff6ff;border-left-color:var(--double-setup-blue)}.double-setup-step.done span{background:var(--double-setup-green)}.double-setup-step span{align-items:center;background:#768292;color:#fff;display:inline-flex;font-size:12px;height:22px;justify-content:center;width:22px}.double-setup-step strong{font-size:13px}.double-setup-step small{color:var(--double-setup-muted);font-size:11px;grid-column:2}.double-setup-panel{padding:16px}.double-setup-panel-title{align-items:flex-end;border-bottom:1px solid var(--double-setup-line);display:flex;justify-content:space-between;margin-bottom:14px;padding-bottom:12px}.double-setup-panel-title h2{font-size:19px;margin:0}.double-setup-panel-title p{color:var(--double-setup-muted);font-size:12px;margin:4px 0 0}.double-setup-card{background:var(--double-setup-card);border:1px solid var(--double-setup-line);margin-bottom:14px}.double-setup-card h3,.double-setup-card-title h3{background:#f1f5f9;border-bottom:1px solid var(--double-setup-line);color:#475569;font-size:12px;letter-spacing:0;margin:0;padding:10px 12px;text-transform:uppercase}.double-setup-card-title{align-items:center;background:#f1f5f9;border-bottom:1px solid var(--double-setup-line);display:flex;justify-content:space-between}.double-setup-card-title h3{border-bottom:0}.double-setup-card-title button{margin-right:10px}.double-setup-grid{display:grid;gap:10px;padding:12px}.double-setup-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.double-setup-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.double-setup-fieldset{border:1px solid var(--double-setup-line);display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:10px}.double-setup-fieldset legend{color:#475569;font-size:12px;font-weight:700;padding:0 4px}.double-setup-fieldset:first-child,.double-setup-fieldset:nth-child(2){grid-column:span 2}.double-setup-workspace label{color:var(--double-setup-muted);display:block;font-size:11px}.double-setup-workspace input,.double-setup-workspace select,.double-setup-workspace textarea{background:#fff;border:1px solid #b7c0cc;color:var(--double-setup-ink);font-family:Consolas,monospace;font-size:13px;margin-top:4px;min-width:0;padding:7px 8px;width:100%}.double-setup-workspace input,.double-setup-workspace select{height:32px}.double-setup-workspace input:read-only{background:#f8fafc}.double-setup-workspace textarea{min-height:105px;resize:vertical}.double-setup-workspace input:focus,.double-setup-workspace select:focus,.double-setup-workspace textarea:focus{border-color:var(--double-setup-blue);outline:2px solid #bfdbfe}.double-setup-select-row{grid-column:1 / -1}.double-setup-wide-field{grid-column:span 2}.double-setup-table-wrap{overflow:auto;padding:12px}.double-setup-table-wrap table{border-collapse:collapse;font-size:12px;min-width:760px;width:100%}.double-setup-table-wrap th,.double-setup-table-wrap td{border:1px solid var(--double-setup-line);padding:7px}.double-setup-table-wrap th{background:#f1f5f9;color:#475569;text-align:left}.double-setup-table-wrap td input{border:0;height:28px;margin:0;padding:2px 4px}.double-setup-result{padding:12px}.double-setup-metrics{padding:0 12px 8px}.double-setup-metrics div{border-bottom:1px solid var(--double-setup-line);display:flex;font-size:13px;justify-content:space-between;padding:8px 0}.double-setup-metrics b,.double-setup-check-list b,.mono{font-family:Consolas,monospace}.double-setup-check-list{padding:0 12px 8px}.double-setup-check-list div{align-items:center;border-bottom:1px solid var(--double-setup-line);display:grid;font-size:12px;gap:6px;grid-template-columns:minmax(0,1fr) 82px 82px 58px;padding:8px 0}.double-setup-check-list b,.double-setup-check-list small{text-align:right}.double-setup-status{border:1px solid;display:inline-block;font-size:11px;font-weight:800;padding:3px 8px}.double-setup-status.pass{background:#ecfdf5;border-color:#86efac;color:var(--double-setup-green)}.double-setup-status.check{background:#fffbeb;border-color:#fde68a;color:var(--double-setup-amber)}.double-setup-status.fail{background:#fef2f2;border-color:#fecaca;color:var(--double-setup-red)}.double-setup-actions,.double-setup-nav{display:flex;gap:8px;justify-content:flex-end}.double-setup-actions{padding-top:2px}.double-setup-actions.inline{justify-content:flex-start;padding:12px}.double-setup-nav{margin-top:12px}.double-setup-workspace button{background:#fff;border:1px solid #94a3b8;color:var(--double-setup-ink);cursor:pointer;font-weight:700;padding:8px 13px}.double-setup-workspace button.primary{background:var(--double-setup-blue);border-color:var(--double-setup-blue);color:#fff}.double-setup-workspace button.good{background:var(--double-setup-green);border-color:var(--double-setup-green);color:#fff}.double-setup-workspace button:disabled{cursor:not-allowed;opacity:.45}@media(max-width:1180px){.double-setup-body{grid-template-columns:1fr;overflow:auto}.double-setup-steps,.double-setup-result{display:none}.double-setup-grid.four,.double-setup-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}}.mining-workspace{display:flex;flex-direction:column;gap:10px;min-height:100%;padding:12px;color:#172033;background:#f6f8fb}.mining-header,.mining-card header,.mining-foot{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.mining-header h2,.mining-card h3{margin:0;letter-spacing:0}.mining-header p{margin:3px 0 0;color:#5b687a}.mining-actions{display:flex;flex-wrap:wrap;gap:7px}.mining-summary,.mining-result-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px}.mining-summary article,.mining-result-strip article{min-width:0;border:1px solid #dbe2ec;border-radius:6px;padding:8px 10px;background:#fff}.mining-summary span,.mining-result-strip span{display:block;color:#647083;font-size:12px}.mining-summary strong,.mining-result-strip strong{display:block;margin-top:2px;font-size:18px;line-height:1.2;overflow-wrap:anywhere}.mining-tool-shell{display:grid;grid-template-columns:minmax(210px,260px) minmax(0,1fr);gap:10px;min-height:0}.mining-tool-rail{display:flex;flex-direction:column;gap:10px;overflow:auto;border:1px solid #dbe2ec;border-radius:6px;padding:8px;background:#fff}.mining-tool-group{display:flex;flex-direction:column;gap:5px}.mining-tool-group>span{color:#6a7688;font-size:11px;font-weight:700;text-transform:uppercase}.mining-tool-rail button{display:grid;grid-template-columns:minmax(0,1fr);gap:1px;width:100%;border:1px solid transparent;border-radius:5px;padding:8px;background:transparent;color:#263247;text-align:left;cursor:pointer}.mining-tool-rail button:hover,.mining-tool-rail button.active{border-color:#b8c6d8;background:#eef4f7}.mining-tool-rail strong{font-size:13px;line-height:1.2}.mining-tool-rail small{color:#647083;font-size:11px}.mining-tool-panel{min-width:0}.mining-card{display:flex;flex-direction:column;gap:12px;min-width:0;border:1px solid #dbe2ec;border-radius:6px;padding:12px;background:#fff}.mining-method-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px}.mining-method-grid fieldset{min-width:0;margin:0;border:1px solid #dbe2ec;border-radius:6px;padding:10px}.mining-method-grid legend{padding:0 5px;color:#425066;font-size:12px;font-weight:800}.mining-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}.mining-form-grid label,.mining-field{display:flex;flex-direction:column;gap:4px;min-width:0;color:#425066;font-size:12px;font-weight:700}.mining-form-grid input,.mining-form-grid select,.mining-field textarea,.mining-arc-table input{min-width:0;border:1px solid #cfd7e3;border-radius:4px;padding:7px 8px;font:inherit;color:#172033;background:#fbfcfe}.mining-arc-table{display:flex;flex-direction:column;gap:8px;overflow:auto}.mining-arc-table table{width:100%;min-width:760px;border-collapse:collapse}.mining-arc-table th,.mining-arc-table td{border-bottom:1px solid #e8edf4;padding:6px;font-size:12px;text-align:left;white-space:nowrap}.mining-arc-table th{color:#425066;background:#f5f7fa}.mining-arc-table input{width:112px;padding:6px;font-family:Consolas,Courier New,monospace}.icon-btn{min-width:28px;padding-inline:8px}.mining-field textarea{resize:vertical;font-family:Consolas,Courier New,monospace;font-size:12px}.mining-table-wrap{overflow:auto;border:1px solid #e2e7ef;border-radius:6px}.mining-table{width:100%;min-width:640px;border-collapse:collapse}.mining-table th,.mining-table td{border-bottom:1px solid #e8edf4;padding:8px 10px;text-align:left;font-size:13px;white-space:nowrap}.mining-table th{background:#f5f7fa;color:#425066;font-weight:700}.mining-empty{border:1px dashed #cfd7e3;border-radius:6px;padding:14px;color:#687589;background:#fbfcfe}.mining-foot{justify-content:flex-start;color:#687589;font-size:12px}@media(max-width:860px){.mining-tool-shell{grid-template-columns:1fr}.mining-tool-rail{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}}.tin-workspace{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--bg);color:var(--text2)}.tin-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border:1px solid var(--b1);background:var(--chrome);flex-wrap:wrap}.tin-header-content h2{margin:0;color:var(--texthi);font-size:14px;font-family:Rajdhani,sans-serif;letter-spacing:.06em;text-transform:uppercase}.tin-header-content p{margin:4px 0 0;color:var(--text3);font-size:11px;max-width:600px}.tin-tabbar{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--b1);background:var(--chrome2);padding:2px}.tin-tabbar button{min-width:86px;height:28px;border:0;background:transparent;color:var(--text2);font:inherit;font-size:12px;cursor:pointer}.tin-tabbar button.active{background:var(--acc);color:#fff}.tin-content{flex:1;min-height:0;padding:12px;overflow:auto;display:block;align-content:start}.tin-generation-section,.tin-volume-section{min-width:0}.tin-volume-section,.tin-volume-locked{align-self:start}.tin-volume-locked-body{padding:14px;color:var(--text2)}.tin-volume-locked-body strong{display:block;color:var(--texthi);font-size:13px}.tin-volume-locked-body p{margin:6px 0 0;color:var(--text3);font-size:12px;line-height:1.4}.tin-volume-header p{margin:3px 0 0;color:var(--text3);font-size:11px}.tin-volume-layout{display:grid;grid-template-columns:minmax(280px,1fr) minmax(260px,.85fr);gap:12px;padding:12px}.tin-volume-setup,.tin-volume-results{min-width:0}.tin-volume-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tin-volume-name{grid-column:1 / -1}.tin-field input,.tin-field select{width:100%;min-height:30px;border:1px solid var(--b1);background:var(--chrome3);color:var(--text2);padding:6px 8px;font:inherit}.tin-checkbox-field{grid-column:1 / -1;flex-direction:row;align-items:center;gap:8px;min-height:30px;color:var(--text2)}.tin-checkbox-field input{width:auto;min-height:0}.tin-surface-diagnostics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.tin-surface-summary{border:1px solid var(--b1);background:var(--chrome3);padding:10px;min-width:0}.tin-surface-summary>span,.tin-volume-result-box span,.tin-volume-diagnostics>span{display:block;color:var(--cyan);font-family:Rajdhani,sans-serif;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.tin-surface-summary strong{display:block;margin-top:4px;color:var(--texthi);font-size:13px}.tin-surface-summary dl{margin:8px 0 0;display:grid;gap:5px}.tin-surface-summary dl div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px;align-items:baseline}.tin-surface-summary dt{color:var(--text3);font-size:11px}.tin-surface-summary dd{margin:0;color:var(--text2);font-size:12px;overflow-wrap:anywhere}.tin-surface-summary p,.tin-volume-diagnostics p{margin:8px 0 0;color:var(--text3);font-size:12px}.tin-volume-validation{min-height:18px;margin-top:10px;color:var(--gold);font-size:12px}.tin-volume-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-content:start}.tin-volume-result-box,.tin-volume-diagnostics{border:1px solid var(--b1);background:var(--chrome3);padding:10px}.tin-volume-result-box strong{display:block;margin-top:6px;color:var(--texthi);font-size:18px;font-family:Rajdhani,sans-serif;letter-spacing:0}.tin-volume-diagnostics{grid-column:1 / -1}.tin-volume-diagnostics ul{margin:8px 0 0;padding-left:18px;color:var(--gold);font-size:12px}.tin-volume-history{border-top:1px solid var(--b1);padding:10px 12px 12px}.tin-volume-history h4{margin:0 0 8px;color:var(--texthi);font-size:12px;font-family:Rajdhani,sans-serif;letter-spacing:.08em;text-transform:uppercase}.tin-volume-history table{width:100%;border-collapse:collapse;font-size:12px}.tin-volume-history th,.tin-volume-history td{border:1px solid var(--b1);padding:6px 8px;text-align:left;vertical-align:top}.tin-volume-history th{color:var(--cyan);background:var(--chrome3);font-family:Rajdhani,sans-serif;letter-spacing:.06em;text-transform:uppercase}.tin-volume-history td{color:var(--text2)}.terrain-panel{align-self:start}.terrain-grid{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(300px,1fr);gap:12px;padding:12px}.terrain-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-content:start}.terrain-form .btn,.terrain-form .dem-preview{grid-column:1 / -1}.tin-edit-panel{margin-top:12px}.tin-edit-form .tin-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:8px}.tin-edit-form .tin-actions .btn{grid-column:auto}.tin-edit-form .tin-actions .btn.active{border-color:var(--cyan);color:var(--cyan);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--cyan) 35%,transparent)}.terrain-history{min-width:0;border:1px solid var(--b1);background:var(--chrome2);padding:10px}.terrain-history h4{margin:0 0 8px;color:var(--texthi);font-family:Rajdhani,sans-serif;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.terrain-history p{margin:0;color:var(--text3);font-size:12px}.terrain-history ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.terrain-history li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px;padding:8px;border:1px solid var(--b1);background:var(--chrome3)}.terrain-history li.selected{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 16%,var(--chrome3))}.terrain-history strong{display:block;color:var(--texthi);font-size:12px}.terrain-history span{color:var(--text3);font-size:11px}.terrain-history .btn{min-height:24px;padding:3px 8px}.terrain-history-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.terrain-history-header h4{margin:0}.terrain-history table{width:100%;border-collapse:collapse;font-size:11px}.terrain-history th,.terrain-history td{border:1px solid var(--b1);padding:5px 7px;text-align:left}.terrain-history th{color:var(--cyan);background:var(--chrome3);font-family:Rajdhani,sans-serif;letter-spacing:.06em;text-transform:uppercase}.terrain-source-list{display:grid;gap:5px;padding:7px;border:1px solid var(--b1);background:var(--chrome3)}.terrain-source-list label{display:flex;align-items:center;gap:7px;color:var(--text2)}.terrain-profile-viewer{margin:0 12px 12px;border:1px solid var(--b1);background:var(--chrome2);min-width:0}.terrain-profile-viewer>h4,.terrain-profile-viewer>p{margin:10px}.terrain-profile-viewer>h4{color:var(--texthi);font-family:Rajdhani,sans-serif;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.terrain-profile-viewer>p{color:var(--text3);font-size:12px}.terrain-profile-viewer svg{width:100%;height:320px;display:block;background:var(--bg);border-top:1px solid var(--b1);border-bottom:1px solid var(--b1)}.terrain-profile-viewer svg line{stroke:var(--b1);stroke-width:1}.terrain-profile-viewer svg .profile-plot-bg{fill:color-mix(in srgb,var(--chrome3) 62%,transparent);stroke:var(--b1)}.terrain-profile-viewer svg .profile-grid-line line{stroke:color-mix(in srgb,var(--b1) 72%,transparent);stroke-width:1}.terrain-profile-viewer svg .profile-axis{stroke:var(--text2);stroke-width:1.25}.terrain-profile-viewer svg polyline{fill:none;stroke:var(--cyan);stroke-width:2}.terrain-profile-viewer svg .profile-design-line{stroke:var(--gold);stroke-dasharray:7 4}.terrain-profile-viewer svg text{fill:var(--text3);font:10px JetBrains Mono,monospace}.terrain-profile-viewer svg .profile-axis-title{fill:var(--text2);font:11px Rajdhani,sans-serif;letter-spacing:.06em;text-transform:uppercase}.terrain-profile-bands{overflow-x:auto;border-bottom:1px solid var(--b1);background:var(--chrome)}.terrain-profile-band-title{padding:6px 8px;color:var(--cyan);font-family:Rajdhani,sans-serif;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.terrain-profile-bands table{min-width:720px;width:100%;border-collapse:collapse;table-layout:fixed;font-size:10px}.terrain-profile-bands th,.terrain-profile-bands td{border:1px solid var(--b1);padding:4px 6px;text-align:right;font-family:JetBrains Mono,monospace}.terrain-profile-bands th{width:90px;color:var(--cyan);background:var(--chrome3);text-align:left;font-family:Rajdhani,sans-serif;letter-spacing:.06em;text-transform:uppercase}.terrain-profile-table{max-height:220px;overflow:auto}.terrain-profile-table table{width:100%;border-collapse:collapse;font-size:11px}.terrain-profile-table th,.terrain-profile-table td{border:1px solid var(--b1);padding:5px 7px;text-align:left}.terrain-profile-table th{color:var(--cyan);background:var(--chrome3);font-family:Rajdhani,sans-serif;letter-spacing:.06em;text-transform:uppercase}.section-sheet-plot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;padding:8px}.section-sheet-plot{width:100%;min-height:130px;border:1px solid var(--b1);background:var(--chrome2);color:var(--text2)}.section-sheet-plot text{fill:var(--text3);font:10px JetBrains Mono,monospace}.section-sheet-page h5{margin:8px 8px 0;color:var(--texthi);font-family:Rajdhani,sans-serif;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.section-sheet-label-bands{margin:0 0 8px;overflow-x:auto;border:1px solid var(--b1);background:var(--chrome)}.section-sheet-label-bands table{min-width:760px;table-layout:fixed}.section-sheet-label-bands th:first-child,.section-sheet-label-bands td:first-child{width:118px}.section-sheet-label-bands tbody th{color:var(--text2);background:var(--chrome2);font-family:Rajdhani,sans-serif;letter-spacing:.06em;text-transform:uppercase}.section-sheet-label-bands td{font-family:JetBrains Mono,monospace;text-align:right;white-space:nowrap}.section-sheet-label-note{margin:4px 8px 8px;color:var(--text3);font-size:11px}.section-sheet-label-index{margin-top:8px}.dem-preview{min-height:180px;border:1px solid var(--b1);background:var(--bg);display:grid;place-items:center;overflow:hidden}.dem-preview img{width:100%;height:auto;image-rendering:auto}.dem-class-editor{grid-column:1 / -1;border:1px solid var(--b1);background:var(--chrome2);padding:8px;display:grid;gap:6px}.dem-class-header,.dem-class-row{display:grid;grid-template-columns:minmax(80px,1fr) minmax(90px,1fr) 44px;gap:8px;align-items:center}.dem-class-header{color:var(--text3);font-size:11px}.dem-class-header strong{color:var(--cyan);font-family:Rajdhani,sans-serif;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.dem-class-row{border:1px solid var(--b1);background:var(--chrome3);min-height:30px;padding:4px 6px;color:var(--text2);font-size:11px}.dem-class-row input[type=color]{width:34px;height:24px;padding:0}@media(max-width:760px){.tin-header{flex-direction:column;align-items:stretch}.tin-header-content p{max-width:none}.tin-content,.tin-volume-layout,.tin-volume-fields,.tin-surface-diagnostics,.tin-volume-results,.terrain-grid,.terrain-form{grid-template-columns:1fr}.tin-volume-diagnostics,.tin-volume-name,.terrain-form .btn,.terrain-form .dem-preview{grid-column:auto}}*{box-sizing:border-box}:root{--bg: #1a1c20;--chrome: #222428;--chrome2: #2a2d33;--chrome3: #32363e;--title: #1e2026;--b1: #3e434d;--b2: #4a5060;--acc: #0078d7;--acc-h: #1890ff;--acc-s: rgba(0, 120, 215, .13);--gold: #c8a84b;--text: #d4d8de;--text2: #9ba3b0;--text3: #6b737f;--texthi: #eceef2;--green: #3db87a;--red: #c84b4b;--cyan: #4bb8c8;--console: #111316;--hover-bg: rgba(255, 255, 255, .07);--panel-ghost-bg: rgba(0, 0, 0, .12);--cad-float-bg: rgba(26, 28, 32, .92);--cad-space-badge-bg: rgba(8, 20, 28, .82);--obs-setup-bg: rgba(8, 16, 28, .88);--calc-row-odd-bg: rgba(36, 67, 112, .34);--calc-row-even-bg: rgba(232, 236, 245, .88);--calc-row-even-text: #1c2230}:root[data-theme=light]{--bg: #eef2f8;--chrome: #dde5f0;--chrome2: #d2dbe8;--chrome3: #f7f9fc;--title: #e7edf7;--b1: #bbc7d8;--b2: #9fadc3;--acc: #0067c0;--acc-h: #0b7ce0;--acc-s: rgba(0, 103, 192, .16);--gold: #9f7c27;--text: #273245;--text2: #3f4f66;--text3: #5d6f86;--texthi: #101c2f;--green: #2b8c5f;--red: #b54646;--cyan: #2f8ea1;--console: #f5f8fd;--hover-bg: rgba(0, 0, 0, .08);--panel-ghost-bg: rgba(13, 40, 79, .08);--cad-float-bg: rgba(244, 248, 253, .95);--cad-space-badge-bg: rgba(231, 241, 252, .92);--obs-setup-bg: rgba(28, 72, 133, .18);--calc-row-odd-bg: rgba(13, 56, 116, .12);--calc-row-even-bg: rgba(255, 255, 255, .92);--calc-row-even-text: var(--texthi)}html,body,#root{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:Segoe UI,Barlow,sans-serif;font-size:13px}button,input,textarea,select{font:inherit}button{background:var(--chrome3);border:1px solid var(--b1);color:var(--text2);border-radius:3px;cursor:pointer}button:hover{color:var(--texthi);border-color:var(--b2)}button:disabled{opacity:.6;cursor:default}input,textarea,select{background:var(--chrome3);border:1px solid var(--b1);color:var(--texthi);border-radius:3px;padding:5px 8px}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--acc)}.shell-app{height:100%;display:flex;flex-direction:column;overflow:hidden}.tb{height:30px;background:var(--title);border-bottom:1px solid var(--b1);display:flex;align-items:center;padding:0 10px;flex-shrink:0}.tb-logo{display:flex;align-items:center;gap:6px;margin-right:12px}.tb-mark{width:22px;height:22px;border-radius:50%;display:block;object-fit:contain;flex:0 0 auto}.tb-app{font-size:13px;font-weight:700;color:var(--texthi);letter-spacing:.08em}.tb-file{font-size:11px;color:var(--text3);margin-left:8px}.tb-menu{display:flex}.tmi{padding:0 10px;height:30px;display:flex;align-items:center;font-size:12px;color:var(--text2);cursor:pointer;position:relative}.tmi:hover,.tmi.open{background:var(--hover-bg);color:var(--text)}.tmi.open .drop{display:flex}.drop{display:none;flex-direction:column;position:absolute;top:30px;left:0;background:var(--title);border:1px solid var(--b1);z-index:200;min-width:180px}.di{padding:7px 14px;font-size:12px;color:var(--text2);cursor:pointer;white-space:nowrap;border-bottom:.5px solid var(--b1)}.di:hover{background:var(--acc-s);color:var(--texthi)}.di.sep{border-top:1px solid var(--b1);margin-top:4px;padding-top:8px}.tb-wc{margin-left:auto;display:flex;align-items:center;gap:6px}.tb-theme-toggle{height:24px;padding:0 10px;border-radius:4px;border:1px solid var(--b1);background:var(--chrome3);color:var(--text2);font-size:11px;font-weight:600;letter-spacing:.02em}.tb-theme-toggle:hover{background:var(--hover-bg);color:var(--texthi)}.ribbon{background:var(--chrome);border-bottom:1px solid var(--b1);flex-shrink:0;position:sticky;top:30px;z-index:120}.rib-top{display:flex;align-items:flex-end;border-bottom:1px solid var(--b1);height:34px;padding:0 4px;overflow-x:auto;position:sticky;top:0;z-index:2;background:var(--chrome)}.ribbon-collapse-toggle{position:sticky;right:4px;z-index:3;flex:0 0 auto;width:26px;min-width:26px;height:24px;margin:0 4px 5px auto;padding:0;border:1px solid var(--b1);border-radius:3px;background:var(--chrome3);color:var(--text2);font-size:12px;font-weight:700;line-height:1;cursor:pointer}.ribbon-collapse-toggle:hover{color:var(--texthi);border-color:var(--acc);background:var(--acc-s)}.ribbon.collapsed{box-shadow:0 1px 0 var(--b1)}.ribbon.collapsed .rib-body{display:none!important}.ribbon.collapsed .rib-top{border-bottom:none}.qab{display:flex;align-items:center;gap:2px;padding:0 6px;border-right:1px solid var(--b1);height:100%}.qb{width:26px;height:26px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:3px;color:var(--text2);font-size:13px}.qb:hover{background:var(--chrome3);color:var(--texthi)}.rt{padding:0 14px;height:34px;display:flex;align-items:center;font-size:11.5px;font-weight:500;color:var(--text2);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}.rt:hover{color:var(--text)}.rt.active{color:var(--texthi);border-bottom-color:var(--acc);background:#0078d712}.rib-body{display:flex;align-items:flex-start;min-height:80px;padding:1px 8px 3px;overflow-y:hidden;gap:8px}.rg{display:flex;align-items:flex-start;align-content:flex-start;flex-wrap:wrap;padding:4px 10px 3px;border-right:1px solid var(--b1);gap:2px 4px;min-height:0;flex:1 1 auto}.rg:last-child{border-right:none}.rsmcol{display:grid;grid-template-columns:repeat(3,1fr);gap:2px 4px}.rtl{position:relative;display:flex;flex-direction:column;align-items:center;flex:0 0 48px;width:48px;height:50px;box-sizing:border-box;border-radius:3px;cursor:pointer;gap:1px;padding-top:6px;transition:.1s}.rtl:hover{background:var(--chrome3)}.rtl svg{flex-shrink:0}.rtl-lbl{display:-webkit-box;width:100%;font-size:9.5px;color:var(--text2);text-align:center;line-height:1.08;margin-top:2px;overflow:hidden;overflow-wrap:anywhere;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.rv{width:1px;height:36px;background:var(--b1);margin:0 4px;align-self:center;flex-shrink:0}.rsm{display:flex;align-items:center;gap:5px;box-sizing:border-box;min-width:0;padding:3px 8px;border-radius:3px;cursor:pointer;font-size:11px;color:var(--text2);white-space:nowrap;height:20px}.rsm.has-icon{gap:6px}.rsm-label{display:-webkit-box;min-width:0;line-height:1.08;overflow:hidden;overflow-wrap:anywhere;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.rsm-icon{width:14px;height:14px;flex:0 0 14px;color:var(--cyan)}.rib-body#rsl,.rib-body#rl{overflow-x:auto;overflow-y:hidden}.rib-body#rsl .rg,.rib-body#rl .rg{flex:0 0 auto}.rib-body#rl{display:grid;grid-template-columns:minmax(270px,.9fr) minmax(360px,1.35fr) minmax(220px,.75fr);align-items:stretch}.rib-body#rl .rg{min-width:0}.rib-body#rl .rsmcol{width:100%}.rib-body#rl .least-squares-resection-group .rsmcol,.rib-body#rl .least-squares-distance-group .rsmcol{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.rib-body#rl .least-squares-intersection-group .rsmcol{grid-template-columns:repeat(2,minmax(150px,1fr))}.rib-body#rsl .rsmcol,.rib-body#rl .rsmcol{grid-template-columns:repeat(2,156px);grid-auto-rows:26px}.rib-body#rsl .rsm,.rib-body#rl .rsm{width:156px;height:26px;line-height:1.08;white-space:normal}.rib-body#rsl .rsm.has-icon,.rib-body#rl .rsm.has-icon{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:center}.rib-body#rl .rsm{width:100%}.rsm-icon path,.rsm-icon circle{fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}.rsm:hover{background:var(--chrome3);color:var(--texthi)}.rg-lbl{position:static;order:99;flex-basis:100%;text-align:center;font-size:9.5px;color:var(--text3);letter-spacing:.05em;line-height:1.15;padding-top:2px;margin-top:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cad-home-ribbon-group{flex:0 0 auto;min-width:max-content;flex-wrap:nowrap;align-items:center;align-content:center;padding:4px 8px 3px}.rib-body#rh .home-cad-sheet-group,.rib-body#rh .home-view-group,.rib-body#rh .home-output-group{flex:0 0 auto;min-width:max-content}.cad-home-ribbon{display:grid;grid-template-columns:64px 66px 78px;align-items:stretch;gap:4px}.cad-home-tool-chip{min-width:86px}.cad-home-mode-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"label label" "select command";align-items:stretch;gap:2px 3px}.cad-home-panel-label{grid-area:label;color:var(--text3);font-size:8.5px;font-weight:700;letter-spacing:.06em;line-height:1;text-transform:uppercase}.cad-home-mode-panel .cad-home-ribbon-command:first-of-type{grid-area:select}.cad-home-mode-panel .cad-home-ribbon-command:last-of-type{grid-area:command}.cad-home-mode-panel.secondary{grid-template-columns:34px 42px}.cad-home-mode-panel.secondary .cad-home-dropdown{grid-area:select}.cad-home-mode-panel.secondary .cad-home-ribbon-command{grid-area:command}.cad-home-ribbon-command{justify-content:center;height:22px;padding:2px 3px;border:1px solid transparent;background:transparent;font-size:9px}.cad-home-ribbon-command.active{color:var(--cyan);border-color:var(--acc);background:#0078d729}.cad-home-ribbon-command:disabled{color:var(--text3);border-color:transparent;background:transparent;opacity:1}.cad-home-ribbon-select{display:grid;grid-template-rows:auto 22px;align-items:stretch;gap:2px;color:var(--text3);font-size:8.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.cad-home-ribbon-select select{height:22px;min-width:0;padding:0 4px;font-size:9.5px;font-weight:700;border-radius:3px}.cad-home-dropdown{position:relative;border-radius:3px;min-width:0}.cad-home-dropdown.active{border-color:var(--acc);background:#0078d71f}.cad-home-dropdown>summary{list-style:none;height:22px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid transparent;border-radius:3px;font-size:9.5px;font-weight:700;letter-spacing:.03em;color:var(--text2);text-transform:uppercase;white-space:nowrap}.cad-home-dropdown>summary::-webkit-details-marker{display:none}.cad-home-dropdown[open]>summary{color:var(--cyan);border-color:var(--acc);background:#0078d729}.cad-home-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:35;min-width:196px;display:grid;gap:5px;padding:6px;border:1px solid var(--b1);border-radius:4px;background:#1d2026;box-shadow:0 10px 20px #00000052}.cad-home-menu.osnap{grid-template-columns:repeat(3,minmax(0,1fr));min-width:170px}.cad-home-menu.edit{grid-template-columns:repeat(2,minmax(0,1fr));min-width:188px}.cad-home-menu-row{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.cad-home-chip{height:21px;padding:0 6px;border:1px solid var(--b1);border-radius:3px;background:#ffffff05;color:var(--text2);font-size:9px;font-weight:700;letter-spacing:.03em}.cad-home-chip.active{color:var(--cyan);border-color:var(--acc);background:#0078d729}.cad-home-kv{font-size:9px;color:var(--text3);letter-spacing:.03em;text-transform:uppercase}.cad-home-value{min-width:30px;height:21px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--b1);border-radius:3px;background:#ffffff05;color:var(--texthi);font-family:JetBrains Mono,monospace;font-size:9px}.cad-home-menu-btn{height:21px;min-width:72px;padding:0 6px;text-align:left;border:1px solid var(--b1);border-radius:3px;background:#ffffff05;color:var(--text2);font-size:9px;font-weight:700;letter-spacing:.03em}.cad-home-menu-btn:hover{background:#ffffff14}.cad-home-menu-btn.danger{color:#ff9d9d;border-color:#f06f6f80}.rib-body#rh .rg{padding-left:6px;padding-right:6px}.rib-body#rh{display:grid;grid-template-columns:max-content minmax(480px,1fr) max-content max-content;align-items:flex-start;gap:6px}.rib-body#rh .cad-home-ribbon-group{min-width:0}.rib-body#rh .rtl{width:36px}.rib-body#rh .rtl-lbl{font-size:8.5px;line-height:1.05}.rib-body#rh .home-cad-sheet-group{min-width:0;max-width:none;flex-wrap:wrap;overflow:hidden}.rib-body#rh .home-view-group{max-width:164px}.rib-body#rh .home-output-group{max-width:142px}.rib-body#rh .home-view-group .rtl,.rib-body#rh .home-output-group .rtl{width:32px}.rib-body#rh .home-cad-sheet-group .rv{margin-left:1px;margin-right:1px}.rib-body#rh .home-cad-sheet-group .rg-lbl{flex-basis:100%}.rib-body#rh .home-cad-sheet-group .rtl{width:34px;height:50px;flex-direction:column;gap:1px;padding:5px 1px 2px}.rib-body#rh .home-cad-sheet-group .rtl svg{width:14px;height:14px}.rib-body#rh .home-cad-sheet-group .rtl-lbl{display:block;width:100%;margin:1px 0 0;font-size:8px;line-height:1.05;white-space:normal;overflow:hidden;text-overflow:clip}@media(max-width:1180px){.rib-body#rh{grid-template-columns:max-content minmax(430px,1fr) max-content max-content;gap:4px}.rib-body#rh .home-cad-sheet-group .rtl{width:31px}.rib-body#rh .home-cad-sheet-group .rtl-lbl{font-size:7.4px}}@media(max-width:1080px){.rib-body#rh{overflow-x:auto}.rib-body#rh .home-cad-sheet-group{min-width:430px}}.cad-home-compact-offset{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.ws{flex:1;min-height:0;display:flex;overflow:hidden}.mobile-demo-nav{display:none;flex-shrink:0;border-top:1px solid var(--b1);background:var(--title)}.mobile-demo-nav button{min-width:0;height:42px;border:none;border-radius:0;border-right:1px solid var(--b1);background:transparent;color:var(--text2);font-size:11px;font-weight:700}.mobile-demo-nav button:last-child{border-right:none}.mobile-demo-nav button.active{color:var(--texthi);background:var(--acc-s);border-top:2px solid var(--acc)}.sidebar{position:relative;width:240px;background:var(--chrome);border-right:1px solid var(--b1);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}.sidebar.collapsed{width:34px;min-width:34px;max-width:34px;align-items:center;background:var(--title)}.sidebar-collapse-toggle{position:absolute;top:4px;right:6px;z-index:2;width:22px;min-width:22px;height:20px;padding:0;border:1px solid var(--b1);border-radius:3px;background:var(--chrome3);color:var(--text2);font-size:12px;line-height:1;cursor:pointer}.sidebar-collapse-toggle:hover{color:var(--texthi);border-color:var(--acc);background:var(--acc-s)}.sidebar.collapsed .sidebar-collapse-toggle{position:static;margin-top:4px}.sidebar-collapsed-label{margin-top:10px;color:var(--text3);font-family:Rajdhani,Barlow,sans-serif;font-size:10px;font-weight:700;letter-spacing:.08em;writing-mode:vertical-rl;text-orientation:mixed}.main{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}.vptabs{display:flex;height:28px;background:var(--bg);border-bottom:1px solid var(--b1);flex-shrink:0;position:sticky;top:0;z-index:45}.vpt{height:100%;padding:0 14px;border:none;border-radius:0;border-right:1px solid var(--b1);background:transparent;color:var(--text3);font-size:11.5px;display:flex;align-items:center;gap:4px;position:relative}.vpt:hover{background:#ffffff0a;color:var(--text)}.vpt.active{background:var(--chrome2);color:var(--texthi);border-bottom:2px solid var(--acc)}.vpt.calc-tab{padding-right:28px}.vpt.closable{padding-right:26px}.vpt .vpt-close{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:14px;height:14px;line-height:14px;text-align:center;font-size:11px;border-radius:2px;color:var(--text3);cursor:pointer}.vpt .vpt-close:hover{background:#ffffff1a;color:var(--texthi)}.canvas{flex:1;min-height:0;background:var(--bg);position:relative;overflow:hidden}.main-pane{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto;padding:0;z-index:2}.workspace-view-stack{position:absolute;top:0;right:0;bottom:0;left:0}.workspace-view-panel{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto}.workspace-view-panel[hidden]{display:none}.rpanel{position:relative;width:228px;background:var(--chrome);border-left:1px solid var(--b1);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}.rpanel.collapsed{width:34px;min-width:34px;max-width:34px;align-items:center;background:var(--title)}.rpanel-content{flex:1;min-height:0;display:flex;flex-direction:column}.rpanel-collapse-toggle{position:absolute;top:4px;right:6px;z-index:2;width:22px;min-width:22px;height:20px;padding:0;border:1px solid var(--b1);border-radius:3px;background:var(--chrome3);color:var(--text2);font-size:12px;line-height:1;cursor:pointer}.rpanel-collapse-toggle:hover{color:var(--texthi);border-color:var(--acc);background:var(--acc-s)}.rpanel.collapsed .rpanel-collapse-toggle{position:static;margin-top:4px}.rpanel-collapsed-label{margin-top:10px;color:var(--text3);font-family:Rajdhani,Barlow,sans-serif;font-size:10px;font-weight:700;letter-spacing:.08em;writing-mode:vertical-rl;text-orientation:mixed}.pane-resizer{width:4px;background:var(--chrome2);border-left:1px solid var(--b1);border-right:1px solid var(--b1);cursor:col-resize;flex-shrink:0;transition:background .1s ease}.pane-resizer:hover{background:#0078d733}.panel-stack{display:flex;flex-direction:column;gap:0;padding:0;flex:1;min-height:0}.sidebar .panel-stack{justify-content:stretch}.side-pane{border:none;border-radius:0;background:var(--chrome);display:flex;flex-direction:column;min-height:0;overflow:hidden}.side-section-resizer{height:5px;border-top:1px solid var(--b1);border-bottom:1px solid var(--b1);background:var(--bg);cursor:row-resize;flex-shrink:0}.side-section-resizer:hover{background:#0078d733}.obs-pane{border-top:1px solid var(--b1)}.ph{height:28px;background:var(--title);border-bottom:1px solid var(--b1);display:flex;align-items:center;padding:0 10px;flex-shrink:0}.ph-title{font-family:Rajdhani,Barlow,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.1em;color:var(--text3)}.ph-btn{margin-left:auto;width:18px;height:18px;border:none;border-radius:2px;background:transparent;color:var(--text3);display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer}.ph-btn:hover{background:var(--chrome3);color:var(--text)}.srch{display:flex;align-items:center;gap:5px;padding:4px 8px;border-bottom:1px solid var(--b1);background:var(--chrome2);flex-shrink:0}.srch-i{flex:1;background:none;border:none;font-size:11px;color:var(--text);padding:2px 0}.srch-i:focus{border:none}.srch-i::placeholder{color:var(--text3)}.lyr-tb{display:flex;align-items:center;gap:2px;padding:4px 6px;border-bottom:1px solid var(--b1);flex-shrink:0}.ltb{width:22px;height:22px;border-radius:2px;padding:0;font-size:10px;color:var(--text3);background:transparent;border:none;display:flex;align-items:center;justify-content:center}.ltb:hover{background:var(--chrome3);color:var(--text)}.tree-scroll,.lyr-scroll{flex:1;min-height:0;overflow-y:auto}.tree-scroll::-webkit-scrollbar,.lyr-scroll::-webkit-scrollbar{width:4px}.tree-scroll::-webkit-scrollbar-thumb,.lyr-scroll::-webkit-scrollbar-thumb{background:var(--b2);border-radius:2px}.ti{display:flex;align-items:center;height:22px;padding:0 8px;cursor:pointer;gap:4px;transition:.07s;min-width:0}.ti:hover{background:#ffffff0d}.ti.sel{background:#0078d721;border-left:2px solid var(--acc)}.ti-n{font-size:11.5px;color:var(--text2);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ti-actions{align-items:center;display:inline-flex;flex:0 0 auto;gap:2px;justify-content:flex-end;margin-left:auto;white-space:nowrap}.ti-actions .ltb{flex:0 0 22px}.ti.sel .ti-n{color:var(--texthi)}.ti.muted .ti-n{color:var(--text3);opacity:.62}.ti.ti-child{padding-left:24px;height:20px;opacity:.92}.ti.ti-child .ti-n{font-size:11px;color:var(--text3)}.ti-ar{width:10px;height:10px;display:flex;align-items:center;justify-content:center;color:var(--text3);transition:.15s;flex-shrink:0}.ti-ar.op svg{transform:rotate(90deg)}.ti-ch{padding-left:18px}.ti-ch.collapse{display:none}.tin-surface-visibility-toggle{color:var(--cyan)}.tin-surface-visibility-toggle.off{color:var(--text3)}.file-mini-meta{font-size:9.5px;color:var(--text3)}.lhdr{display:flex;align-items:center;height:18px;background:var(--chrome2);border-bottom:1px solid var(--b1);flex-shrink:0}.lr{display:flex;align-items:center;height:24px;padding:0 8px;gap:5px;cursor:pointer;transition:.07s}.lr:hover{background:#ffffff0d}.lr.sel{background:#0078d71f}.l-vis{width:12px;height:12px;color:var(--text3);cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:none;background:transparent;padding:0}.l-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;border:1px solid rgba(255,255,255,.15)}.l-nm{font-size:11px;color:var(--text2);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lr.sel .l-nm{color:var(--text)}.side-empty{padding:10px 8px}.side-empty-inline{align-items:center;display:flex;gap:6px;min-height:24px;padding-bottom:4px;padding-top:4px}.side-empty-inline>span:first-child{flex:1;min-width:0}.side-empty-actions{align-items:center;display:inline-flex;flex:0 0 auto;gap:2px}.meta-workspace{height:100%;min-height:0;overflow:auto;display:grid;grid-template-rows:auto auto;gap:0;background:var(--chrome)}.props{flex:1;overflow-y:auto;min-height:0}.props::-webkit-scrollbar{width:4px}.props::-webkit-scrollbar-thumb{background:var(--b2);border-radius:2px}.pg{border-bottom:1px solid var(--b1)}.pg-hd{display:flex;align-items:center;height:26px;padding:0 10px;background:var(--bg);-webkit-user-select:none;user-select:none}.pg-nm{font-family:Rajdhani,Barlow,sans-serif;font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--text3)}.pr{display:flex;align-items:center;height:23px;padding:0 10px;gap:6px;border-bottom:.5px solid rgba(62,67,77,.4)}.pk{font-size:10.5px;color:var(--text3);width:76px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pv{font-family:Consolas,JetBrains Mono,monospace;font-size:10.5px;color:var(--text2);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pv.acc{color:var(--acc-h)}.pv.gold{color:var(--gold)}.pv.gn{color:var(--green)}.pv.wn{color:#e07b39}.attribute-table-panel{background:var(--chrome)}.attribute-table-heading{gap:6px}.attribute-table-collapse{width:18px;height:18px;border:1px solid var(--b2);background:var(--chrome2);color:var(--text2);font-family:Consolas,JetBrains Mono,monospace;font-size:12px;line-height:1;cursor:pointer}.attribute-table-collapse:hover{border-color:var(--acc);color:var(--texthi)}.attribute-table-feature{min-width:0;margin-left:auto;color:var(--text3);font-family:Consolas,JetBrains Mono,monospace;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attribute-table-body{padding:8px 8px 10px}.attribute-table-meta{display:grid;gap:3px;color:var(--text3);font-size:10.5px;margin-bottom:8px}.attribute-table-scroll{max-height:260px;overflow:auto;border:1px solid var(--b1);background:var(--bg)}.attribute-table{width:100%;border-collapse:collapse}.attribute-table th,.attribute-table td{border-bottom:1px solid rgba(255,255,255,.06);padding:4px 6px;font-size:10.5px;text-align:left;vertical-align:middle}.attribute-table thead th{position:sticky;top:0;z-index:1;background:var(--chrome2);color:var(--text3);font-family:Rajdhani,Barlow,sans-serif;font-weight:700;letter-spacing:.08em}.attribute-table tbody th{width:42%;max-width:112px;color:var(--text2);font-family:Consolas,JetBrains Mono,monospace;font-weight:500;overflow-wrap:anywhere}.attribute-table input,.attribute-add-row input,.text-property-body input,.text-property-body select,.text-property-body textarea{width:100%;min-width:0;border:1px solid var(--b2);background:var(--chrome3);color:var(--texthi);font-family:Consolas,JetBrains Mono,monospace;font-size:11px;padding:0 6px}.attribute-table input,.attribute-add-row input,.text-property-body input,.text-property-body select{height:24px}.text-property-body textarea{min-height:64px;resize:vertical;padding:6px}.text-property-body label{display:grid;gap:4px;color:var(--text2);font-size:11px}.text-property-body .coordinate-label-check{grid-template-columns:auto 1fr;align-items:center;justify-content:start;width:max-content;text-transform:none}.attribute-suggestions{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.attribute-suggestions label{display:inline-flex;align-items:center;gap:5px;color:var(--text2);font-size:11px}.attribute-suggestions label input{width:auto;height:auto}.attribute-suggestions button,.attribute-add-row button,.attribute-table-actions .btn{height:24px;border:1px solid var(--b2);background:var(--chrome2);color:var(--text2);font-size:10.5px;cursor:pointer}.attribute-suggestions button:hover,.attribute-add-row button:hover,.attribute-table-actions .btn:hover{border-color:var(--acc);color:var(--texthi)}.attribute-add-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;margin-top:8px}.attribute-table-actions{display:flex;align-items:center;gap:6px;margin-top:8px}.attribute-table-actions .btn.primary{background:var(--acc);border-color:#005a9e;color:#fff}.attribute-table-actions .btn:disabled{opacity:.55;cursor:default}.attribute-table-actions .gn{color:var(--green);font-size:10.5px}.attribute-table-actions .wn{color:#e07b39;font-size:10.5px}.card{border:none;border-radius:0;border-bottom:1px solid var(--b1);background:var(--chrome);overflow:hidden;min-height:88px}.card-header{height:28px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--b1);background:var(--title);padding:0 10px}.card-header h2{margin:0;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text3)}.card-body{padding:6px;display:grid;gap:8px}.subtle{color:var(--text3);font-size:10.5px}.toolbar-row,.calc-actions{display:flex;gap:6px;flex-wrap:wrap}.toolbar-row button,.calc-actions button{height:24px;padding:0 10px;font-size:11px}.coord-csv-file{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.coord-import-panel{margin:8px 0;border:1px solid var(--b1);background:var(--chrome2)}.coord-import-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-bottom:1px solid var(--b1)}.coord-import-header>div:first-child{display:flex;flex-direction:column;gap:2px;min-width:0}.coord-import-header strong{color:var(--texthi);font-size:11px;letter-spacing:.06em;text-transform:uppercase}.coord-import-header span,.coord-import-status{color:var(--text3);font-size:11px}.coord-import-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.coord-import-actions button{height:24px;padding:0 10px;font-size:11px}.coord-import-map{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;padding:8px 10px}.coord-import-map label{display:flex;flex-direction:column;gap:3px;color:var(--text3);font-size:10.5px}.coord-import-map select{height:24px;min-width:0;background:var(--chrome3);border:1px solid var(--b1);color:var(--text2);border-radius:3px;padding:0 6px}.coord-import-status{padding:0 10px 8px}.coord-import-status.error{color:#ff9b9b}.coord-import-status.warning{color:#ffcf70}.calc-ws{display:flex;flex-direction:column;flex:1;min-height:0;background:var(--bg)}.calc-ws-hd{height:30px;display:flex;align-items:center;padding:0 12px;border-bottom:1px solid var(--b1);background:var(--bg);color:var(--texthi);font-family:Rajdhani,sans-serif;font-size:12px;font-weight:700;letter-spacing:.08em}.calc-ws-body{flex:1;min-height:0;display:grid;grid-template-columns:1.3fr 1fr;gap:10px;padding:10px}.calc-card{border:1px solid var(--b1);border-radius:4px;background:var(--chrome2);display:flex;flex-direction:column;min-height:0}.calc-card-hd{height:30px;display:flex;align-items:center;justify-content:space-between;padding:0 10px;border-bottom:1px solid var(--b1);font-family:Rajdhani,sans-serif;font-size:11px;font-weight:700;color:var(--text2);letter-spacing:.08em}.calc-card-bd{padding:10px;overflow:auto;min-height:0}.calc-point-picker-card{flex:1 1 0;min-height:160px}.calc-point-picker-card .calc-card-bd{display:flex;flex-direction:column;overflow:hidden}.calc-pane-active{display:grid;gap:8px;margin-bottom:8px}.calc-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.calc-grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}.calc-grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.calc-line{display:grid;grid-template-columns:82px 1fr auto;gap:6px;align-items:end;margin-bottom:8px}.line-lbl{font-size:11px;color:var(--text2);font-weight:600}.calc-target.active{outline:1px solid rgba(24,144,255,.85);background:#0078d71f}.calc-picker-filter{display:flex;gap:6px;margin-bottom:8px}.calc-picker-filter input{flex:1}.calc-picker-wrap{border:1px solid var(--b1);border-radius:3px;flex:1 1 auto;min-height:0;overflow:auto;max-height:100%}.calc-picker-grid{width:100%;border-collapse:collapse;font-size:10.5px}.calc-picker-grid thead th{position:sticky;top:0;background:var(--bg);color:var(--text3);text-align:left;padding:5px 6px;border-bottom:1px solid var(--b1);font-family:Rajdhani,sans-serif;letter-spacing:.05em;z-index:1}.calc-picker-grid tbody tr{cursor:pointer}.calc-picker-grid tbody tr:nth-child(odd) td{background:var(--calc-row-odd-bg)}.calc-picker-grid tbody tr:nth-child(2n) td{background:var(--calc-row-even-bg);color:var(--calc-row-even-text)}.calc-picker-grid tbody tr:hover td{filter:brightness(.95)}.calc-picker-grid tbody tr.sel td{outline:1px solid rgba(24,144,255,.9);background:#0078d72e!important;color:var(--texthi)!important}.calc-picker-grid td{padding:4px 6px;border-bottom:1px solid rgba(62,67,77,.4);font-family:JetBrains Mono,monospace}.calc-result{margin-top:10px;padding:10px;border:1px solid var(--b1);border-radius:3px;background:var(--bg);font-family:JetBrains Mono,monospace;font-size:11px;color:var(--text2);white-space:pre-wrap;line-height:1.5}.calc-tool-host{flex:1;height:100%;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,420px);gap:10px;padding:10px;background:var(--bg);overflow:hidden}.calc-tool-host.no-side{grid-template-columns:minmax(0,1fr)}.calc-tool-rail{border:1px solid var(--b1);background:var(--chrome2);overflow:auto;padding:8px;min-height:0}.calc-tool-family{margin:10px 0 4px;color:var(--text3);font-family:Rajdhani,sans-serif;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.calc-tool-family:first-child{margin-top:0}.calc-tool-rail button{width:100%;min-height:26px;border:1px solid transparent;background:transparent;color:var(--text2);text-align:left;padding:5px 7px;margin-bottom:2px;cursor:pointer}.calc-tool-rail button:hover{background:var(--chrome);color:var(--texthi)}.calc-tool-rail button.active{border-color:var(--cyan);background:#4bb8c824;color:var(--texthi)}.calc-tool-main,.calc-tool-side{min-height:0;min-width:0;overflow:auto;padding-bottom:16px}.calc-tool-main{border:1px solid var(--b1);background:var(--chrome2);padding:10px 10px 18px}.calc-tool-side{display:grid;align-content:start;gap:10px}.calc-tool-side{display:flex;flex-direction:column}.calc-tool-side>.calc-card:not(.calc-point-picker-card){flex:0 0 auto}.calc-tool-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,320px);gap:12px;align-items:end;border-bottom:1px solid var(--b1);padding-bottom:10px;margin-bottom:10px}.calc-tool-header h2{margin:0;font-size:18px;color:var(--texthi);letter-spacing:0}.calc-tool-header p{margin:4px 0 0;color:var(--text2);font-size:12px}.calc-tool-section{display:grid;gap:10px}.calc-tool-intro{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.calc-tool-intro h3{margin:0;font-size:13px;color:var(--texthi);letter-spacing:0}.calc-tool-intro span{color:var(--text3);font-size:11px}.calc-field{display:grid;gap:4px;color:var(--text2);font-size:11px}.calc-field>span:first-child{font-weight:600}.calc-field-label{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0}.calc-field-label>span:first-child{min-width:0}.calc-format-hint{color:var(--text3);font-family:JetBrains Mono,monospace;font-size:9px;font-weight:500;white-space:nowrap}.calc-file-picker{margin:0}.calc-file-target{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;min-width:0}.calc-file-target .btn{min-height:26px;white-space:nowrap}.calc-unit-input{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border:1px solid var(--b1);background:var(--bg)}.calc-unit-input input{border:none;background:transparent;min-width:0}.calc-unit-input span{min-width:42px;padding:0 8px;color:var(--text3);border-left:1px solid var(--b1);text-align:center;font-family:JetBrains Mono,monospace;font-size:10px}.calc-angle-input span{min-width:0}.calc-angle-input{grid-template-columns:minmax(0,1fr);align-items:center}.calc-angle-input input{width:100%}.calc-point-slot{border:1px solid var(--b1);background:var(--bg2);padding:8px}.calc-point-slot.active{border-color:var(--cyan);box-shadow:inset 0 0 0 1px #4bb8c83d}.calc-point-slot-title,.calc-grid-panel-hd,.calc-result-panel-hd,.calc-active-slot{display:flex;justify-content:space-between;align-items:center;gap:8px}.calc-point-slot-title{margin-bottom:8px;color:var(--texthi);font-weight:700}.calc-grid-panel{border:1px solid var(--b1);background:var(--bg2);padding:8px;display:flex;flex-direction:column;min-height:0;min-width:0}.calc-grid-panel-hd{margin-bottom:8px;color:var(--texthi);font-weight:700}.calc-grid-panel-hd>span:last-child:not(.calc-grid-panel-actions),.calc-result-panel-hd span:last-child{color:var(--text3);font-size:10px;font-weight:500}.calc-grid-panel-actions{display:inline-flex;align-items:center;gap:6px}.calc-inline-pick{display:grid;grid-template-columns:minmax(72px,1fr) auto;gap:4px;align-items:center}.calc-inline-pick.active input{border-color:var(--cyan)}.calc-edit-grid input{height:24px}.calc-checkbox-row{display:flex;gap:7px;align-items:center;color:var(--text2);font-size:11px}.calc-checkbox-row input{width:auto}.calc-validation{display:grid;gap:6px;margin-bottom:10px}.calc-validation>div{display:flex;gap:8px;align-items:center;border:1px solid var(--b1);background:var(--bg2);padding:6px 8px;font-size:11px}.calc-validation>div.error{border-color:#d76b6b}.calc-validation>div.warning{border-color:#c8a84b}.calc-tool-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px;padding-top:10px;border-top:1px solid var(--b1)}.calc-tool-actions button{min-height:26px;padding:0 10px}.calc-result-panel,.calc-write-panel,.calc-active-slot{border:1px solid var(--b1);background:var(--chrome2);padding:8px}.calc-result-panel{margin-top:10px}.calc-result-panel-hd{margin-bottom:8px;color:var(--texthi);font-weight:700}.calc-result-lines{display:grid;gap:2px;color:var(--text2);font-family:JetBrains Mono,monospace;font-size:11px;line-height:1.45}.vpg-panel{display:grid;gap:8px}.vpg-actions{flex-wrap:wrap}.vpg-page-meta{display:flex;justify-content:space-between;gap:8px;color:var(--text3);font-size:10px;font-family:JetBrains Mono,monospace}.vpg-page-preview{margin:0;min-height:150px;max-height:320px;overflow:auto;white-space:pre;border:1px solid var(--b1);background:var(--bg2);padding:8px}.calc-active-slot{color:var(--text2);font-size:11px}.calc-active-slot strong{color:var(--cyan)}.traverse-tool-shell>.traverse-workspace{border:1px solid var(--b1)}button.primary,.btn.primary{background:var(--acc);border-color:#005a9e;color:#fff}.btn.danger{border-color:#b7454599;color:#ffb5b5}.meta-line{display:grid;grid-template-columns:108px 1fr;gap:6px;font-size:11px}.meta-label,.panel-subtitle{color:var(--text3)}.panel-subtitle{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.file-list,.layer-list,.obs-list{display:grid;gap:5px}.file-item,.obs-item{background:#ffffff05;border:1px solid var(--b1);border-radius:3px;padding:6px;display:flex;justify-content:space-between;align-items:center;gap:6px}.obs-pane .obs-item{margin:6px}.file-item.active{background:var(--acc-s);border-left:2px solid var(--acc)}.file-meta{display:block;font-size:10px;color:var(--text3);margin-top:1px}.dirty-badge{background:var(--gold);color:var(--texthi);border-radius:2px;font-size:9px;font-weight:700;padding:1px 5px}.layer-row{display:flex;gap:6px;align-items:center;font-size:11px}.payload-editor{min-height:132px;font-family:Consolas,JetBrains Mono,monospace;font-size:11px}.grid-wrap{border:1px solid var(--b1);border-radius:3px;overflow:auto;min-height:0;min-width:0;max-height:360px;padding-bottom:8px}.resection-workspace{display:grid;gap:10px;min-height:0}.resection-stepper{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--b1);background:var(--bg2)}.resection-stepper button{min-height:30px;border:0;border-right:1px solid var(--b1);background:transparent;color:var(--text2);font-size:11px;cursor:pointer}.resection-stepper button:last-child{border-right:0}.resection-stepper button:hover,.resection-stepper button.active{background:#4bb8c824;color:var(--texthi)}.resection-stepper button.active{box-shadow:inset 0 -2px 0 var(--cyan)}.resection-status-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.resection-status-strip>div,.resection-metric{border:1px solid var(--b1);background:var(--bg2);padding:7px 8px;display:grid;gap:2px}.resection-status-strip span,.resection-metric span{color:var(--text3);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.resection-status-strip strong,.resection-metric strong{color:var(--texthi);font-size:12px}.resection-content{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;min-height:0}.resection-primary,.resection-inspector{display:grid;align-content:start;gap:10px;min-width:0}.resection-panel,.resection-plan-panel,.resection-qa.compact,.resection-reduction.compact{border:1px solid var(--b1);background:var(--bg2);padding:8px}.resection-raw-wrap{max-height:460px}.resection-raw-table{min-width:1160px}.resection-raw-table th,.resection-raw-table td{white-space:nowrap}.resection-raw-table input,.resection-raw-table select{min-width:76px}.resection-raw-table td:first-child input{min-width:0;width:auto}.resection-raw-table tr.active td{background:#4bb8c814}.resection-control-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.resection-control-card{border:1px solid var(--b1);background:var(--chrome2);color:var(--text2);text-align:left;padding:8px;display:grid;gap:4px;cursor:pointer}.resection-control-card.active,.resection-control-card:hover{border-color:var(--cyan);color:var(--texthi)}.resection-control-card span{font-weight:700}.resection-control-card strong,.resection-control-card small{color:var(--text3);font-family:JetBrains Mono,monospace;font-size:10px}.resection-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.resection-qa{display:grid;gap:8px}.resection-strength.good{color:#84d889}.resection-strength.check{color:var(--gold)}.resection-strength.weak{color:#ff9f9f}.resection-accept-list{display:grid;gap:8px}.resection-plan-panel svg{width:100%;height:auto;display:block;background:var(--bg);border:1px solid var(--b1)}.resection-plan-panel rect{fill:#ffffff04}.resection-plan-panel line{stroke:#4bb8c8a6;stroke-width:1.1}.resection-plan-panel circle{fill:var(--cyan);stroke:#c9f7ff;stroke-width:.8}.resection-plan-panel .station{fill:var(--gold);stroke:#ffe7a3}.resection-plan-panel .ellipse{fill:#4bb8c81a;stroke:var(--cyan);stroke-width:1;stroke-dasharray:3 2}.resection-plan-panel .residual{stroke:#d76b6b;stroke-width:1.4}.resection-plan-panel text{fill:var(--text2);font-family:JetBrains Mono,monospace;font-size:9px}.resection-plan-panel .station-label{fill:var(--texthi);font-weight:700}.coord-grid{width:100%;border-collapse:collapse;font-family:Consolas,JetBrains Mono,monospace;font-size:10.5px}.coord-grid th,.coord-grid td{border-bottom:1px solid rgba(62,67,77,.6);padding:4px;white-space:nowrap}.coord-grid thead th{position:sticky;top:0;z-index:1;background:var(--chrome2);color:var(--text3);text-align:left}.coord-grid td input{width:100%;min-width:64px;padding:3px 5px;font-size:10.5px}.coord-grid td input.invalid,.meta-form-grid input.invalid{border-color:#cc5c5c;box-shadow:0 0 0 1px #cc5c5c40}.coordinate-editor-card{height:100%;min-height:0;display:flex;flex-direction:column}.coordinate-editor-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.coordinate-grid-wrap{flex:1 1 auto;max-height:none}.row-selected{background:#0078d71f}.field-error{display:block;margin-top:2px;color:#f08c8c;font-size:10px}.obs-file-meta{margin-bottom:10px}.obs-checkbox{display:flex!important;align-items:center;gap:6px;margin-top:20px}.obs-checkbox input{width:14px;height:14px}.obs-grid th,.obs-grid td{vertical-align:top}.obs-grid .obs-cell{min-width:96px}.obs-grid tr.obs-row-setup{background:#3a5692b8;color:#f4f7ff}.obs-grid tr.obs-row-setup td{border-bottom-color:#cad5f05c}.obs-grid tr.obs-row-setup input{background:#2d4478c7;border-color:#cad5f052;color:#f8fbff}.obs-grid tr.obs-row-alt-a{background:#ffffff04}.obs-grid tr.obs-row-alt-b{background:#ffffff08}.obs-grid tr.row-selected{background:#0078d733!important}.obs-token{justify-content:center;display:inline-flex;min-height:22px;align-items:center;color:inherit;font-weight:600;letter-spacing:.03em;width:100%}.obs-token-empty{min-width:40px}.obs-height-pair{display:flex;align-items:flex-start;gap:4px;min-width:176px}.obs-height-input{flex:1 1 0}.obs-height-input input{min-width:72px}.obs-height-sep{color:var(--text2);line-height:24px}.obs-empty{text-align:center;padding:14px 8px}.obs-entry-form{margin:8px 0 12px;padding:10px;border:1px solid var(--line);border-radius:6px;background:#ffffff05}.obs-entry-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}.obs-entry-title h3{margin:0;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--text2)}.props-setup-codes-list{margin-top:8px}.obs-setup-codes{margin:8px 0 10px;padding:10px;border:1px solid var(--line);border-radius:6px;background:#ffffff05}.obs-setup-codes-header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}.obs-setup-codes-header h3{margin:0;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--text2)}.obs-setup-codes-list{display:flex;flex-wrap:wrap;gap:6px}.obs-setup-code-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--text);padding:4px 9px;cursor:pointer}.obs-setup-code-btn:hover:not(:disabled){border-color:#4683d8}.obs-setup-code-btn:disabled{cursor:default;opacity:.7}.obs-setup-code-id{font-weight:700}.obs-setup-code-label{font-size:11px}.meta-form-grid{display:grid;gap:8px 10px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.meta-form-grid label,.json-label{display:grid;gap:4px;font-size:11px;color:var(--text2)}.import-summary h3{margin:0 0 6px;font-size:11px;color:var(--text2);letter-spacing:.06em}.import-warning-banner{margin:6px 0 10px;padding:8px;border:1px solid #9f6f2f;background:#9f6f2f2e;color:#ffcf85;border-radius:4px;font-size:12px}.kv-grid{margin:0;display:grid;gap:4px}.kv-row{display:grid;grid-template-columns:120px 1fr;gap:8px;font-size:10.5px}.kv-row dt{color:var(--text3)}.kv-row dd{margin:0}.result-view{margin:0;border:1px solid var(--b1);border-radius:3px;background:var(--bg);color:var(--text2);padding:8px;max-height:240px;overflow:auto;font-family:Consolas,JetBrains Mono,monospace;font-size:10.5px}.scene-summary{border:1px solid var(--b1);border-radius:3px;background:#ffffff05;padding:8px;display:grid;gap:4px}.empty{color:var(--text3);font-size:11px}.console{background:var(--console);border-top:1px solid var(--b1);display:flex;flex-direction:column;height:80px;flex-shrink:0}.console-resizer{height:5px;border-top:1px solid var(--b1);border-bottom:1px solid var(--b1);background:var(--chrome2);cursor:row-resize;flex-shrink:0}.console-resizer:hover{background:#0078d740}.co{flex:1;overflow:auto;padding:6px 10px;font-family:Consolas,JetBrains Mono,monospace;font-size:10.5px;display:grid;gap:3px}.co-c{color:var(--cyan);white-space:pre-wrap;line-height:1.3}.cmd-row{display:flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-top:1px solid var(--b1)}.cmd-p{font-family:Consolas,JetBrains Mono,monospace;font-size:11px;color:var(--acc-h)}.cmd-i{flex:1;background:transparent;border:none;padding:0;color:var(--texthi);font-family:Consolas,JetBrains Mono,monospace;font-size:11px}.cmd-i:focus{border:none}.btn{height:22px;padding:0 10px}.sb{height:24px;background:var(--title);border-top:1px solid var(--b1);display:flex;align-items:center;padding:0 10px;gap:0;flex-shrink:0}.sbi{height:100%;display:flex;align-items:center;gap:5px;padding:0 10px;border-right:1px solid var(--b1);font-size:10.5px;color:var(--text3)}.sbi-right-start{margin-left:auto;border-left:1px solid var(--b1)}.sb-control-cell{gap:4px}.sb-mini-btn{min-width:20px;height:18px;padding:0 4px;border-radius:2px;border:1px solid var(--b1);background:#ffffff05;color:var(--text2);font-size:10px;line-height:1}.sb-mini-btn:hover:not(:disabled){color:var(--texthi);border-color:var(--b2)}.sb-link-btn{max-width:190px;padding:0;border:none;background:transparent;color:var(--text3);cursor:pointer;font:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-link-btn:hover,.sb-link-btn:focus-visible{color:var(--cyan);text-decoration:underline}.sb-toggle-btn{height:18px;padding:0 6px;border-radius:2px;border:1px solid var(--b1);background:#ffffff05;color:var(--text2);font-size:10px;font-weight:700;letter-spacing:.03em}.sb-toggle-btn.active{color:var(--cyan);border-color:var(--acc);background:#0078d724}.sb-mini-select{height:18px;padding:0 18px 0 5px;border-radius:2px;border:1px solid var(--b1);background:#ffffff05;color:var(--text2);font-size:10px;min-width:88px}.sb-mini-select.active{color:var(--cyan);border-color:var(--acc);background:#0078d724}.sb-lbl{color:var(--text2);font-weight:600}.sbr{margin-left:8px;display:flex;align-items:center;gap:8px}.sb-tag{background:var(--acc);color:#fff;border-radius:2px;font-size:9px;font-weight:700;padding:1px 5px;letter-spacing:.04em}.sb-kwy-mark{display:inline-flex;align-items:center;justify-content:center;width:34px;height:20px;flex:0 0 auto;border:1px solid var(--b1);border-radius:2px;color:var(--text2);background:#ffffff08;font-size:9px;font-weight:700;letter-spacing:0}.shell-ctx{position:fixed;z-index:220;min-width:220px;border:1px solid var(--b2);border-radius:4px;background:var(--title);box-shadow:0 10px 28px #0006;overflow:hidden}.shell-ctx-btn{width:100%;text-align:left;border:none;border-radius:0;background:transparent;color:var(--text2);padding:8px 10px}.shell-ctx-btn:hover{background:var(--acc-s);color:var(--texthi)}.shell-ctx-btn-danger{color:#ffb4b4}.shell-ctx-sep{border-top:1px solid var(--b1)}.shell-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:260;background:#0009;display:flex;align-items:center;justify-content:center}.shell-modal{width:min(760px,96vw);border:1px solid var(--b1);background:var(--chrome);box-shadow:0 18px 48px #00000073}.shell-modal.shell-modal-sm{width:min(520px,94vw)}.shell-modal.shell-modal-wide{width:min(920px,98vw)}.shell-modal-header{height:34px;border-bottom:1px solid var(--b1);background:var(--title);padding:0 10px;display:flex;align-items:center;justify-content:space-between}.shell-modal-header h3{margin:0;font-family:Rajdhani,Barlow,sans-serif;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--texthi)}.shell-modal-close{width:24px;height:24px;border:none;background:transparent;color:var(--text3);cursor:pointer}.shell-modal-close:hover{color:var(--texthi);background:#ffffff14}.shell-modal-body{padding:12px;display:flex;flex-direction:column;gap:10px}.shell-modal-body label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--text2)}.shell-modal-grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.gis-query-workbench{width:min(1020px,calc(100vw - 40px))}.gis-query-workbench .shell-modal-body{max-height:min(680px,calc(100vh - 112px));overflow:hidden}.gis-query-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:10px}.gis-query-palette{min-width:0;border-right:1px solid var(--b1);padding-right:10px;display:grid;align-content:start;gap:8px;overflow:auto}.gis-query-main{min-width:0;display:grid;align-content:start;gap:9px;overflow:hidden}.gis-field-list{max-height:188px;overflow:auto;display:flex;flex-wrap:wrap;align-content:flex-start;gap:5px;padding:5px;border:1px solid var(--b1);background:var(--chrome2)}.gis-field-chip{height:23px;max-width:100%;padding:0 7px;border:1px solid var(--b1);border-radius:3px;background:var(--chrome3);color:var(--text2);font-size:10.5px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;cursor:grab}.gis-field-chip:hover,.gis-field-chip:focus-visible{border-color:var(--acc);color:var(--texthi);background:var(--acc-s)}.gis-field-chip.calculated{border-color:#4bb8c894;color:#c6f5ff}.compact-grid{gap:6px}.query-editor textarea{min-height:92px;resize:vertical;font-family:Consolas,Cascadia Mono,monospace;line-height:1.35}.gis-query-results{min-height:0;max-height:260px;overflow:auto;border:1px solid var(--b1);background:var(--chrome2)}.gis-query-results table{width:100%;border-collapse:collapse}.gis-query-results th,.gis-query-results td{border-bottom:1px solid rgba(255,255,255,.06);padding:4px 6px;font-size:11px;white-space:nowrap}.gis-query-results th{position:sticky;top:0;z-index:1;background:var(--title);color:var(--text3);text-align:left}.gis-query-results tr{cursor:pointer}.gis-query-results tbody tr:hover,.gis-query-results tr.sel{background:var(--acc-s);color:var(--texthi)}.validation-banner.error{padding:7px 9px;color:#ffd8d8;background:#c84b4b21;border:1px solid rgba(200,75,75,.35);font-size:11px}.cadastral-workspace{height:100%;display:grid;grid-template-rows:auto 1fr;background:var(--bg);overflow:hidden}.cadastral-toolbar{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(360px,1.35fr);align-items:stretch;gap:8px;padding:7px 9px;border-bottom:1px solid var(--b1);background:var(--chrome)}.cadastral-command-group{min-width:0;display:flex;align-items:end;gap:7px;padding:6px;border:1px solid var(--b1);background:var(--chrome2)}.cadastral-command-label{align-self:start;color:var(--text3);font-size:9.5px;font-weight:700;letter-spacing:0;line-height:1;text-transform:uppercase}.output-command-group{align-items:center}.template-command-group{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end}.output-command-group{justify-content:end}.cadastral-toolbar label,.output-toggle-group label{display:grid;gap:3px;color:var(--text3);font-size:10.5px;text-transform:uppercase;letter-spacing:.04em}.cadastral-toolbar select{min-width:0;width:100%}.legacy-gp-control{display:flex;align-items:end;gap:6px;min-width:0;flex:1}.legacy-gp-control select{min-width:0;flex:1}.parcel-source-intake{padding:6px;border:1px solid var(--b1);background:var(--chrome2)}.cadastral-toolbar .scale-field input{width:76px}.segmented-control{display:grid;grid-template-columns:repeat(3,minmax(94px,1fr));height:28px;border:1px solid var(--b1);background:var(--chrome2)}.segmented-control button{border:none;border-radius:0;background:transparent;color:var(--text2)}.segmented-control button.active{background:var(--acc-s);color:var(--texthi)}@media(max-width:1180px){.cadastral-toolbar{grid-template-columns:minmax(0,1fr)}}.output-toggle-group{display:flex;align-items:center;gap:8px;min-height:30px}.output-toggle-group label{display:flex;align-items:center;gap:4px}.cadastral-main{min-height:0;display:grid;grid-template-columns:minmax(284px,340px) minmax(0,1fr);gap:0}.cadastral-main.parcels-collapsed{grid-template-columns:34px minmax(0,1fr)}.cadastral-main.preview-collapsed{grid-template-columns:minmax(284px,340px) 34px}.cadastral-main.parcels-collapsed.preview-collapsed{grid-template-columns:34px 34px;justify-content:start}.cadastral-panel,.cadastral-preview{min-height:0;border-right:1px solid var(--b1);display:grid;grid-template-rows:auto 1fr}.cadastral-preview{border-right:none;grid-template-rows:auto auto auto auto minmax(260px,1fr) auto minmax(106px,.28fr)}.cadastral-preview>header{grid-row:1}.cadastral-preview>.validation-message{grid-row:3}.cadastral-preview>.cadastral-warnings{grid-row:4}.cadastral-preview>.cadastral-preview-body{grid-row:5}.cadastral-preview>.download-row{grid-row:6}.cadastral-preview>.cadastral-history{grid-row:7}.cadastral-panel header,.cadastral-preview header{height:28px;display:flex;align-items:center;justify-content:space-between;padding:0 10px;border-bottom:1px solid var(--b1);background:var(--title)}.cadastral-panel-title{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;flex:1}.cadastral-preview-title{min-width:0;display:grid;gap:1px}.cadastral-preview-title span{min-width:0;max-width:46vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cadastral-panel.collapsed,.cadastral-preview.collapsed{grid-template-rows:auto;overflow:hidden}.cadastral-panel.collapsed header,.cadastral-preview.collapsed header{justify-content:center;padding-inline:4px}.cadastral-panel.collapsed .cadastral-panel-title,.cadastral-preview.collapsed h2,.cadastral-preview.collapsed .cadastral-preview-actions>:not(.panel-collapse-btn){display:none}.cadastral-panel h2,.cadastral-preview h2{margin:0;font-size:10.5px;color:var(--text3);text-transform:uppercase;letter-spacing:.08em}.cadastral-panel header span,.cadastral-preview header span{color:var(--text2);font-size:11px}.cadastral-panel-body{min-height:0;display:grid;grid-template-rows:minmax(112px,.42fr) minmax(0,.58fr);overflow:hidden}.parcel-source-list{min-height:0;overflow:auto;padding:6px}.zimbabwe-batch-workspace{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);background:var(--bg0);color:var(--text)}.zimbabwe-batch-header{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 10px;border-bottom:1px solid var(--b1);background:var(--title)}.zimbabwe-batch-header h2,.zimbabwe-batch-panel h3,.zimbabwe-batch-preview h3{margin:0;font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:.08em}.zimbabwe-batch-header span,.zimbabwe-batch-preview header span,.zimbabwe-batch-panel header span{color:var(--text2);font-size:11px}.zimbabwe-batch-actions{display:flex;align-items:end;gap:6px;flex-wrap:wrap}.zimbabwe-batch-actions label,.zimbabwe-batch-fields label{display:grid;gap:3px;min-width:0;color:var(--text2);font-size:10px;text-transform:uppercase}.zimbabwe-batch-actions input,.zimbabwe-batch-fields input{min-width:0;height:24px;border:1px solid var(--b1);border-radius:3px;padding:3px 6px;background:var(--input, #262b33);color:var(--text)}.zimbabwe-batch-actions input{width:92px}.zimbabwe-batch-grid{min-height:0;display:grid;grid-template-columns:minmax(260px,20vw) minmax(420px,1fr) minmax(340px,32vw)}.zimbabwe-batch-panel,.zimbabwe-batch-preview{min-height:0;border-right:1px solid var(--b1);background:var(--panel, var(--bg1))}.zimbabwe-batch-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr)}.zimbabwe-batch-grid>.zimbabwe-batch-panel:last-child{min-width:320px;max-width:52vw;resize:horizontal;overflow:auto}.zimbabwe-batch-preview{display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:var(--bg1)}.zimbabwe-batch-panel header,.zimbabwe-batch-preview header{min-height:28px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 8px;border-bottom:1px solid var(--b1);background:var(--title)}.zimbabwe-batch-toolbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:6px;padding:8px;border-bottom:1px solid var(--b1)}.zimbabwe-batch-parcels,.zimbabwe-batch-fields{min-height:0;display:grid;align-content:start;gap:6px;padding:8px;overflow:auto}.zimbabwe-batch-review{display:grid;gap:8px;min-height:0}.zimbabwe-batch-parcel-row{min-height:28px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;padding:4px 6px;border:1px solid var(--b1);border-radius:3px;background:var(--bg1);font-size:12px}.zimbabwe-batch-parcel-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zimbabwe-batch-preview-surface{min-height:0;display:grid;place-items:center;overflow:auto;padding:12px;background:#111820}.zimbabwe-batch-preview-surface img{max-width:100%;max-height:100%;object-fit:contain;background:#fff;box-shadow:0 0 0 1px #ffffff1f,0 12px 30px #00000059}.zimbabwe-batch-message{min-height:28px;padding:6px 8px;border-top:1px solid var(--b1);color:var(--warn, #f1c36d);font-size:11px}@media(max-width:1100px){.zimbabwe-batch-grid{grid-template-columns:220px minmax(0,1fr)}.zimbabwe-batch-grid>.zimbabwe-batch-panel:last-child{grid-column:1 / -1;max-width:none;max-height:220px;border-top:1px solid var(--b1)}}.legacy-gp-summary{margin-bottom:6px;padding:7px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;align-items:center;border:1px solid rgba(0,120,215,.38);background:#0078d721;color:var(--text2);font-size:11px}.legacy-gp-summary strong{color:var(--texthi);font-size:10px;text-transform:uppercase;letter-spacing:.07em}.legacy-gp-summary span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legacy-gp-summary .link-button{grid-row:1 / span 2;grid-column:2}.link-button{border:0;padding:0;background:transparent;color:#7fc7ff;cursor:pointer;font-size:11px}.link-button:hover{color:var(--texthi);text-decoration:underline}.parcel-source-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:6px;padding:0 0 6px}.parcel-source-actions .btn{height:26px;padding:0 8px;font-size:11px}.parcel-source-row{min-height:28px;display:grid;grid-template-columns:minmax(0,1fr) 58px 26px;align-items:center;gap:6px;border-bottom:1px solid rgba(255,255,255,.05);color:var(--text2)}.parcel-source-row label{min-width:0;display:flex;align-items:center;gap:6px}.parcel-source-row label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.cadastral-job-panel{margin-bottom:8px;padding:7px;display:grid;gap:7px;border:1px solid var(--b1);background:#ffffff06}.cadastral-job-panel header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.cadastral-job-panel h3{margin:0;color:var(--text3);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.cadastral-job-panel header span{color:var(--text2);font-size:10.5px}.cadastral-job-panel .btn{height:26px;padding:0 8px;font-size:11px}.cadastral-job-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.cadastral-job-form label{min-width:0;display:grid;gap:3px;color:var(--text3);font-size:10px;letter-spacing:.04em;text-transform:uppercase}.cadastral-job-form input,.cadastral-job-form select{min-width:0;width:100%}.cadastral-job-wide{grid-column:1 / -1}.cadastral-working-plan-panel,.cadastral-gp-sheet-allocation-panel{margin-bottom:8px;padding:7px;display:grid;gap:7px;border:1px solid var(--b1);background:#ffffff06}.cadastral-working-plan-panel header,.cadastral-gp-sheet-allocation-panel header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.cadastral-working-plan-panel h3,.cadastral-gp-sheet-allocation-panel h3{margin:0;color:var(--text3);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.cadastral-working-plan-panel header span,.cadastral-working-plan-panel p,.cadastral-gp-sheet-allocation-panel header span,.cadastral-gp-sheet-allocation-panel p{margin:0;color:var(--text2);font-size:10.5px}.cadastral-working-plan-panel header strong,.cadastral-gp-sheet-allocation-panel header strong{color:var(--texthi);font-size:10.5px}.cadastral-working-plan-form{display:grid;grid-template-columns:minmax(0,1fr) 58px 72px 72px 86px auto;gap:6px}.cadastral-working-plan-form label{min-width:0;display:grid;gap:3px;color:var(--text3);font-size:10px;letter-spacing:.04em;text-transform:uppercase}.cadastral-working-plan-form input,.cadastral-working-plan-form select{min-width:0;width:100%}.cadastral-working-plan-form .cadastral-inline-check{align-content:end;grid-template-columns:auto 1fr;text-transform:none}.cadastral-working-plan-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:5px}.cadastral-working-plan-metrics span{min-width:0;padding:5px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:var(--text2);font-size:10.5px;text-align:center}.cadastral-working-plan-metrics strong{display:block;color:var(--texthi);font-size:13px}.cadastral-working-plan-figures{display:grid;gap:4px}.cadastral-working-plan-figures article{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 86px 42px;gap:6px;color:var(--text2);font-size:10.5px}.cadastral-working-plan-figures strong,.cadastral-working-plan-figures span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cadastral-working-plan-figures strong{color:var(--text)}.zwp-workspace{display:grid;grid-template-columns:minmax(520px,1fr);height:100%;min-height:0;overflow:hidden;background:var(--bg);color:var(--text)}.zwp-toolbar button{min-height:30px;border:1px solid var(--b1);background:var(--chrome3);color:var(--text);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.zwp-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.zwp-field-grid button,.zwp-field-grid p,.zwp-check{grid-column:1 / -1}.zwp-check{grid-template-columns:auto 1fr;align-items:center;text-transform:none}.zwp-point-list{display:grid;gap:4px;max-height:340px;overflow:auto;border:1px solid var(--b1);background:var(--chrome2);padding:6px}.zwp-point-list.properties{max-height:280px}.zwp-point-list.compact{max-height:260px}.zwp-point-list label{display:grid;grid-template-columns:auto minmax(52px,.7fr) minmax(40px,.4fr) minmax(0,1.6fr);gap:6px;align-items:center;min-height:24px;padding:2px 4px;color:var(--text);font-size:11px;text-transform:none}.zwp-point-list.compact label{grid-template-columns:auto 1fr}.zwp-point-list small,.zwp-point-list em{color:var(--text2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zwp-point-list .point-code-meaning{font-style:normal}.zwp-help{display:grid;gap:8px;padding:10px;border:1px solid var(--b1);background:var(--panel-ghost-bg);font-size:12px;color:var(--text2)}.zwp-stage{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;overflow:hidden}.zwp-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 10px;border-bottom:1px solid var(--b1);background:var(--chrome)}.zwp-tool-strip,.zwp-command-strip{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.zwp-tool-strip{padding-right:8px;border-right:1px solid var(--b1)}.zwp-tool-strip button{width:30px;padding:0}.zwp-tool-strip button.active,.zwp-toolbar button.active{border-color:var(--acc);background:var(--acc-s);color:var(--texthi)}.zwp-toolbar span{margin-left:auto;color:var(--text2);font-size:12px}.zwp-canvas-wrap{min-height:0;overflow:auto;padding:18px;background:var(--bg)}.zwp-sheet{display:block;width:min(100%,1180px);height:auto;margin:0 auto;background:#fff;box-shadow:0 12px 38px #0000006b}.zwp-line{cursor:pointer}.zwp-line-hit{cursor:pointer;stroke:transparent;stroke-width:2.8;pointer-events:stroke}.zwp-line.selected,.zwp-measured-arc.selected{filter:drop-shadow(0 0 1.8px #00a6d6)}.zwp-pending-line{stroke:#0078d7;stroke-width:.45;stroke-dasharray:2 1.4;pointer-events:none}.zwp-sheet g.snap-target{cursor:crosshair}.zwp-snap-hit{fill:transparent;stroke:transparent;pointer-events:all}.zwp-sheet g.snap-target .zwp-label-passive{cursor:crosshair;pointer-events:none}.zwp-sheet g.pending circle,.zwp-sheet g.pending rect,.zwp-sheet g.selected circle,.zwp-sheet g.selected rect{stroke:#0078d7;stroke-width:.65}.zwp-sheet text{fill:#111827;font-family:Arial,sans-serif}.zwp-label{cursor:grab;paint-order:stroke;stroke:#fff;stroke-width:.7;stroke-linejoin:round;-webkit-user-select:none;user-select:none}.zwp-label.selected,.zwp-grid-cross.selected,.zwp-inset.selected{filter:drop-shadow(0 0 1.8px #00a6d6)}.zwp-inset-source{fill:#0078d70a;stroke:#666;stroke-width:.24;stroke-dasharray:2 2;cursor:pointer}.zwp-inset-source.selected{stroke:#0078d7;stroke-width:.42;filter:drop-shadow(0 0 1.8px #00a6d6)}.zwp-inset-selection{fill:#0078d714;stroke:#0078d7;stroke-width:.35;stroke-dasharray:2 1.5;pointer-events:none}.property-hint{margin:4px 0 0;color:var(--text2);font-size:12px}.zwp-label-passive{cursor:crosshair}.zwp-grid-lines line{stroke:#d5dbe3;stroke-width:.12}.zwp-grid-cross line{stroke:#111827;stroke-width:.22}.zwp-sheet circle,.zwp-sheet rect.unclassified{fill:none;stroke:#111827;stroke-width:.35}.zwp-sheet circle.zwp-snap-hit{fill:transparent;stroke:transparent;pointer-events:all}.zwp-sheet circle.fill{fill:#111827}.zwp-sheet g[data-point-class=unclassified] rect{stroke:#a33}.zwp-sheet g[data-point-class=control] line,.zwp-measured-arc{fill:none;stroke:#c62828;stroke-width:.32}.zwp-arc-hit{fill:none;stroke:transparent;stroke-width:2.8;pointer-events:stroke}.zwp-sheet g[data-point-class=control] line{stroke:#111827;stroke-width:.25}.zwp-inset rect{fill:#fff;stroke:#111827;stroke-width:.25}.zwp-sheet rect.zwp-inset-resize-handle{fill:#f8fbff;stroke:#0078d7;stroke-width:.35;pointer-events:all}.zwp-inset-resize-handle.nw,.zwp-inset-resize-handle.se{cursor:nwse-resize}.zwp-inset-resize-handle.ne,.zwp-inset-resize-handle.sw{cursor:nesw-resize}.zwp-sheet-symbol{cursor:move}.zwp-sheet-symbol.selected{filter:drop-shadow(0 0 1.8px #00a6d6)}.zwp-sheet-symbol-selection{fill:none;stroke:#0078d7;stroke-width:.35;stroke-dasharray:2 1.5;pointer-events:none}.zgp-workspace{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;min-height:0;height:100%;overflow:hidden;background:var(--bg);color:var(--text)}.zgp-header,.zgp-tabs,.zgp-status,.zgp-view-toolbar,.zgp-sheet-controls{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--b1);background:var(--chrome)}.zgp-header{justify-content:space-between;min-height:42px;padding:6px 10px}.zgp-header h2,.zgp-property-card h3,.zgp-data-table h3{margin:0;color:var(--text3);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase}.zgp-header span,.zgp-status,.zgp-view-toolbar span{color:var(--text2);font-size:11px}.zgp-header-actions,.zgp-tool-actions,.zgp-tabs{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.zgp-header-actions .btn,.zgp-tabs button,.zgp-tool-actions button,.zgp-toolbox button,.zgp-view-toolbar button,.zgp-sheet-controls button,.zgp-sheet-list button,.zgp-check-summary button{min-height:28px;border:1px solid var(--b1);background:var(--chrome3);color:var(--text);font:inherit;font-size:11px;font-weight:700;cursor:pointer}.zgp-tabs{padding:4px 8px 0}.zgp-tabs button{border-bottom:0;padding:5px 12px}.zgp-tabs button.active,.zgp-tool-actions button.active,.zgp-toolbox button.active,.zgp-sheet-list button.active{border-color:var(--acc);background:var(--acc-s);color:var(--texthi)}.zgp-main{display:grid;grid-template-columns:minmax(0,1fr);min-height:0;overflow:hidden}.zgp-tool-actions{flex:0 0 auto;padding:0 6px}.zgp-tool-button{min-width:76px;height:28px;padding:0 8px;display:inline-grid;place-items:center;border-radius:3px;white-space:nowrap}.zgp-toolbox,.zgp-inspector{min-height:0;overflow:auto;border-right:1px solid var(--b1);background:var(--chrome2);padding:8px}.zgp-inspector{border-right:0;border-left:1px solid var(--b1)}.zgp-toolbox{display:grid;align-content:start;gap:6px}.zgp-toolbox .primary,.zgp-tool-actions .primary,.zgp-sheet-controls .primary{background:var(--acc);border-color:#005a9e;color:#fff}.zgp-stage{min-width:0;min-height:0;overflow:hidden}.zgp-master,.zgp-sheets,.zgp-data,.zgp-checks{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;height:100%;overflow:hidden}.zgp-canvas-shell{min-height:0;overflow:hidden;background:#fff}.zgp-master-canvas{width:100%;height:100%;display:block;touch-action:none}.zgp-master-canvas.drafting,.zgp-master-canvas.drafting *{cursor:crosshair}.zgp-master-canvas.drafting .zgp-point-label,.zgp-master-canvas.drafting .zgp-feature-label,.zgp-master-canvas.drafting .zgp-edge-label{pointer-events:none}.zgp-grid line{stroke:#11182747;stroke-width:.26;vector-effect:non-scaling-stroke}.zgp-grid-cross line{stroke:#111827;stroke-width:.34;vector-effect:non-scaling-stroke}.zgp-grid-cross-hit{fill:transparent;stroke:transparent;cursor:pointer}.zgp-grid-label,.zgp-annotation-label{cursor:move}.zgp-edge{stroke:#111827;stroke-width:.42;fill:none;vector-effect:non-scaling-stroke}.zgp-edge.kind-road{stroke-dasharray:8 5}.zgp-edge.kind-servitude{stroke-dasharray:8 3 2 3}.zgp-edge.kind-outside-figure{stroke:#111827;stroke-width:.75}.zgp-pending-outside-figure{fill:none;stroke:#00a6d6;stroke-width:.52;stroke-dasharray:6 4;vector-effect:non-scaling-stroke;pointer-events:none}.zgp-edge-hit{stroke:transparent;stroke-width:10;pointer-events:stroke;cursor:pointer;vector-effect:non-scaling-stroke}.zgp-parcel-fill{fill:#0078d717;stroke:none;cursor:pointer}.zgp-face-fill{stroke:#11182761;stroke-width:.18;vector-effect:non-scaling-stroke}.zgp-face-fill.class-stand{fill:#0078d714}.zgp-face-fill.class-road,.zgp-parcel-fill.class-road{fill:#9ca3af57}.zgp-face-fill.class-servitude-area{fill:#6b21a81c}.zgp-face-fill.class-public-place,.zgp-face-fill.class-open-space{fill:#16a34a1a}.zgp-face-fill.class-remainder{fill:#ca8a041c}.zgp-face-fill.class-utility{fill:#ea580c1a}.zgp-face-fill.class-unknown{fill:#94a3b814}.zgp-face-sequence{fill:#0078d7;stroke:#fff;stroke-width:.9;paint-order:stroke;font-size:2.2px;font-weight:700;pointer-events:none;-webkit-user-select:none;user-select:none}.zgp-block-fill{fill:#34d3991a;stroke:#34d39994;stroke-width:.32;cursor:pointer;vector-effect:non-scaling-stroke}.zgp-outside-figure-fill{fill:none;stroke:none;pointer-events:none}.zgp-outside-figure-line{fill:none;stroke:#111827;stroke-width:.75;vector-effect:non-scaling-stroke;pointer-events:none}.zgp-outside-figure-hit{fill:none;stroke:transparent;stroke-width:12;pointer-events:stroke;cursor:pointer;vector-effect:non-scaling-stroke}.zgp-servitude-line{fill:none;stroke:#6b21a8;stroke-width:.52;stroke-dasharray:8 3 2 3;vector-effect:non-scaling-stroke}.zgp-servitude-hit{fill:none;stroke:transparent;stroke-width:12;pointer-events:stroke;cursor:pointer;vector-effect:non-scaling-stroke}.zgp-point{fill:#fff;stroke:#111827;stroke-width:.32;vector-effect:non-scaling-stroke}.zgp-beacon-point{fill:none;stroke:#111827;stroke-width:.55;vector-effect:non-scaling-stroke}.zgp-beacon-core{fill:#111827;stroke:none;vector-effect:non-scaling-stroke}.zgp-outside-beacon{fill:#fff;stroke:#111827;stroke-width:.55;vector-effect:non-scaling-stroke}.zgp-point-hit{fill:transparent;stroke:transparent;pointer-events:none}.zgp-model-text{fill:#111827;stroke:none;stroke-width:0;paint-order:normal;-webkit-user-select:none;user-select:none;pointer-events:none}.zgp-point-label,.zgp-feature-label,.zgp-edge-label{pointer-events:visiblePainted;cursor:move}.zgp-snap-preview{pointer-events:none}.zgp-snap-preview circle,.zgp-snap-preview path,.zgp-grid-snap-preview line{fill:none;stroke:#0078d7;stroke-width:.7;vector-effect:non-scaling-stroke}.zgp-grid-snap-preview{pointer-events:none}.zgp-beacon-point,.zgp-beacon-core,.zgp-outside-beacon{cursor:crosshair}.zgp-master-canvas .selected .zgp-edge,.zgp-master-canvas .selected .zgp-point,.zgp-master-canvas .selected .zgp-beacon-point,.zgp-master-canvas .selected .zgp-outside-beacon,.zgp-master-canvas .selected .zgp-parcel-fill,.zgp-master-canvas .selected .zgp-face-fill,.zgp-master-canvas .selected .zgp-block-fill,.zgp-master-canvas .selected .zgp-outside-figure-line,.zgp-master-canvas .selected .zgp-servitude-line,.zgp-master-canvas .zgp-grid-cross.selected line{stroke:#00a6d6;stroke-width:.8;fill:#00a6d624;vector-effect:non-scaling-stroke}.zgp-master-canvas .selected .zgp-annotation-label,.zgp-master-canvas .zgp-grid-cross.selected .zgp-grid-label{fill:#0078d7}.zgp-master-canvas .selected .zgp-beacon-core{fill:#00a6d6}.zgp-property-card{display:grid;gap:8px;border:1px solid var(--b1);background:#ffffff06;padding:8px}.zgp-property-card label,.zgp-sheet-controls label{display:grid;gap:3px;color:var(--text3);font-size:10px;letter-spacing:.04em;text-transform:uppercase}.zgp-property-card input,.zgp-sheet-controls input,.zgp-sheet-controls select{min-width:0;width:100%;height:24px;border:1px solid var(--b2);background:var(--chrome3);color:var(--texthi);font-family:Consolas,JetBrains Mono,monospace;font-size:11px;padding:0 6px}.zgp-property-card p,.zgp-check-summary span{margin:0;color:var(--text2);font-size:11px}.gp-check-properties{display:grid;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid var(--b1)}.gp-check-issue-list{display:grid;gap:5px}.gp-check-issue-list>span{color:var(--text2);font-size:11px}.gp-check-issue-list button{display:grid;grid-template-columns:74px minmax(0,1fr);gap:6px;align-items:center;min-height:28px;border:1px solid var(--b1);background:var(--chrome3);color:var(--text);text-align:left;cursor:pointer}.gp-check-issue-list strong{color:var(--warn, #f1c36d);font-size:10px;letter-spacing:.05em}.gp-check-issue-list span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gp-check-group-summary{display:flex;flex-wrap:wrap;gap:5px}.gp-check-group-summary span{display:inline-flex;gap:5px;align-items:center;border:1px solid var(--b1);background:var(--chrome3);padding:3px 6px;color:var(--text2);font-size:10.5px}.gp-check-group-summary strong{color:var(--texthi);font-weight:600}.gp-check-issue-list button>span{display:grid;gap:2px;white-space:normal}.gp-check-issue-list em,.gp-check-issue-list small{display:block;min-width:0;overflow:hidden;color:var(--text3);font-size:9.5px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.gp-polar-result{display:grid;gap:6px;margin-top:8px}.gp-polar-result>strong{color:var(--text3);font-size:10px;letter-spacing:.06em;text-transform:uppercase}.gp-polar-table-wrap{max-height:220px;overflow:auto;border:1px solid var(--b1)}.gp-polar-table-wrap table{width:100%;border-collapse:collapse;min-width:620px}.gp-polar-table-wrap th,.gp-polar-table-wrap td{border-bottom:1px solid rgba(255,255,255,.06);padding:3px 5px;color:var(--text2);font-family:Consolas,JetBrains Mono,monospace;font-size:9.5px;text-align:right;white-space:nowrap}.gp-polar-table-wrap th{position:sticky;top:0;background:var(--chrome);color:var(--text3);text-transform:uppercase}.gp-polar-table-wrap th:first-child,.gp-polar-table-wrap th:nth-child(2),.gp-polar-table-wrap td:first-child,.gp-polar-table-wrap td:nth-child(2){text-align:left}.gp-polar-summary{display:grid;gap:3px;border:1px solid var(--b1);background:var(--chrome3);padding:6px}.gp-polar-summary span{color:var(--text2);font-size:10.5px}.gp-feature-attributes,.gp-vertex-descriptions{display:grid;gap:6px}.property-subheading,.gp-feature-attributes strong,.gp-vertex-descriptions strong{color:var(--text3);font-size:10px;letter-spacing:.06em;text-transform:uppercase}.gp-attribute-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) auto;gap:5px;align-items:center}.gp-vertex-row{min-width:0;display:grid;grid-template-columns:minmax(38px,.7fr) minmax(36px,.45fr) minmax(0,1.4fr);gap:5px;color:var(--text2);font-size:10.5px}.gp-vertex-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zgp-status{min-height:24px;justify-content:flex-start;padding:0 10px}.zgp-status span:first-child{margin-right:auto}.zgp-sheet-controls{padding:7px 10px}.zgp-layout-manager{display:grid;gap:7px;border-top:1px solid var(--b1);margin-top:8px;padding-top:8px}.zgp-layout-manager>strong{color:var(--texthi);font-size:10px;letter-spacing:.07em;text-transform:uppercase}.zgp-layout-manager>span{color:var(--text2);font-size:10.5px;line-height:1.35}.zgp-layout-item{display:grid;gap:5px;border:1px solid var(--b1);background:#ffffff06;padding:7px}.zgp-layout-frame-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.zgp-layout-frame-grid label{display:grid;gap:3px;color:var(--text3);font-size:9.5px;text-transform:uppercase}.zgp-layout-frame-grid input{min-width:0;width:100%;height:22px;border:1px solid var(--b2);background:var(--chrome3);color:var(--texthi);font-family:Consolas,JetBrains Mono,monospace;font-size:10.5px;padding:0 5px}.zgp-sheet-controls label{width:130px}.zgp-sheet-layout{display:grid;grid-template-columns:180px minmax(0,1fr);min-height:0;overflow:hidden}.zgp-sheet-list{display:grid;align-content:start;gap:6px;min-height:0;overflow:auto;border-right:1px solid var(--b1);background:var(--chrome2);padding:8px}.zgp-sheet-list button{display:grid;gap:2px;padding:6px;text-align:left}.zgp-sheet-list button span{color:var(--text2);font-size:10px}.zgp-sheet-preview{min-height:0;overflow:auto;padding:18px;background:#121720}.zgp-sheet-stage{position:relative;width:min(100%,1180px);margin:0 auto}.zgp-sheet-render>svg{display:block;width:100%;height:auto;margin:0;box-shadow:0 12px 38px #0000006b}.zgp-sheet-edit-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.zgp-sheet-edit-hit{fill:#00a6d605;pointer-events:all;cursor:move}.zgp-sheet-edit-outline{fill:none;stroke:#00a6d6;stroke-width:.55;stroke-dasharray:4 2;vector-effect:non-scaling-stroke;pointer-events:none;opacity:0}.zgp-sheet-edit-item.selected .zgp-sheet-edit-outline{stroke:#f5d76e;stroke-width:.8;opacity:1}.zgp-sheet-resize-handle{fill:#f5d76e;stroke:#111827;stroke-width:.25;vector-effect:non-scaling-stroke;pointer-events:all}.zgp-data{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:minmax(0,1fr);gap:8px;padding:8px;overflow:auto}.zgp-data-table{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);border:1px solid var(--b1);background:var(--chrome2)}.zgp-data-table h3{padding:7px;border-bottom:1px solid var(--b1)}.zgp-data-table div{min-height:0;overflow:auto}.zgp-data-table table{width:100%;border-collapse:collapse}.zgp-data-table th,.zgp-data-table td{border-bottom:1px solid rgba(255,255,255,.06);padding:4px 6px;font-size:10.5px;text-align:left;white-space:nowrap}.zgp-data-table th{position:sticky;top:0;background:var(--chrome);color:var(--text3)}.zgp-checks{padding:8px;gap:8px}.zgp-check-summary{display:flex;align-items:center;gap:10px;border:1px solid var(--b1);background:var(--chrome2);padding:8px}.zgp-check-summary.ready{border-color:#00d68f8c}.zgp-check-summary.blocked{border-color:#e07b39a6}.zgp-check-list{min-height:0;overflow:auto;display:grid;align-content:start;gap:6px}.zgp-check-list button{display:grid;grid-template-columns:76px minmax(0,1fr);gap:2px 8px;border:1px solid var(--b1);background:var(--chrome2);color:var(--text);padding:7px;text-align:left;cursor:pointer}.zgp-check-list button small{grid-column:2;color:var(--text2)}.zgp-check-list .severity-fail,.zgp-check-list .severity-stale,.zgp-check-list .severity-not_checked{border-color:#e07b39a6}.zgp-check-list .severity-pass{border-color:#00d68f8c}@media(max-width:1180px){.zwp-workspace{grid-template-columns:minmax(420px,1fr)}}.cadastral-sheet-proof-panel{margin-bottom:8px;padding:7px;display:grid;gap:7px;border:1px solid var(--b1);background:#ffffff06}.cadastral-sheet-proof-panel header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.cadastral-sheet-proof-panel h3{margin:0;color:var(--text3);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.cadastral-sheet-proof-panel header span,.cadastral-sheet-proof-panel p{margin:0;color:var(--text2);font-size:10.5px}.cadastral-sheet-proof-panel header strong{color:var(--texthi);font-size:10.5px}.cadastral-sheet-proof-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.cadastral-sheet-proof-metrics span{min-width:0;padding:5px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:var(--text2);font-size:10.5px;text-align:center}.cadastral-sheet-proof-metrics strong{display:block;color:var(--texthi);font-size:13px}.cadastral-sheet-proof-issues{display:grid;gap:4px}.cadastral-sheet-proof-issues article{min-width:0;display:grid;grid-template-columns:80px minmax(0,1fr);gap:6px;color:var(--text2);font-size:10.5px}.cadastral-sheet-proof-issues strong,.cadastral-sheet-proof-issues span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cadastral-sheet-proof-issues strong{color:var(--text)}.cadastral-source-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 96px auto;gap:6px}.cadastral-source-form input,.cadastral-source-form select{min-width:0}.cadastral-source-list{display:grid;gap:5px}.cadastral-source-list p{margin:0;color:var(--text2);font-size:11px}.cadastral-source-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding:5px;background:#ffffff06}.cadastral-source-list strong,.cadastral-source-list span{min-width:0;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cadastral-source-list strong{color:var(--text);font-size:11px}.cadastral-source-list span{color:var(--text2);font-size:10.5px}.coordinate-parcel-builder{margin-bottom:8px;border:1px solid var(--b1);background:#ffffff06}.coordinate-parcel-builder header{min-height:26px;padding:0 7px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--b1);background:#ffffff09}.coordinate-parcel-builder h3{margin:0;color:var(--text3);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.coordinate-parcel-builder header span{color:var(--text2);font-size:10.5px}.coordinate-parcel-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;padding:7px}.coordinate-parcel-form label{min-width:0;display:grid;gap:3px;color:var(--text3);font-size:10px;letter-spacing:.04em;text-transform:uppercase}.coordinate-parcel-form input,.coordinate-parcel-form select,.coordinate-parcel-form textarea{min-width:0;width:100%}.coordinate-parcel-primary{align-content:end;grid-template-columns:auto 1fr;align-items:center;text-transform:none}.coordinate-parcel-points,.coordinate-parcel-actions,.coordinate-parcel-status,.coordinate-parcel-form .validation-message{grid-column:1 / -1}.coordinate-parcel-actions,.coordinate-parcel-status{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.coordinate-parcel-actions .btn{height:26px;padding:0 8px;font-size:11px}.coordinate-parcel-status{color:var(--text2);font-size:10.5px}.coordinate-parcel-status span{padding-right:6px;border-right:1px solid rgba(255,255,255,.12)}.coordinate-parcel-status span:last-child{border-right:0}.cadastral-checks{margin-bottom:8px;padding:7px;display:grid;gap:7px;border:1px solid var(--b1);background:#ffffff06}.cadastral-checks.blocked{border-color:#ff64646b}.cadastral-checks.ready{border-color:#3fb97861}.cadastral-checks header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.cadastral-checks h3{margin:0;color:var(--text3);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.cadastral-checks header span,.cadastral-check-timestamp{color:var(--text2);font-size:10.5px}.cadastral-checks header strong{color:var(--texthi);font-size:10.5px}.cadastral-check-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.cadastral-check-counts span{min-width:0;padding:5px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:var(--text2);font-size:10.5px;text-align:center}.cadastral-check-counts strong{display:block;color:var(--texthi);font-size:13px}.cadastral-checks .btn{width:fit-content;height:26px;padding:0 8px;font-size:11px}.cadastral-check-issues{display:grid;gap:5px}.cadastral-check-issues p{margin:0;color:var(--text2);font-size:11px}.cadastral-check-issue{display:grid;grid-template-columns:72px minmax(0,1fr);gap:6px;padding:6px;border-left:3px solid rgba(255,255,255,.2);background:#ffffff06}.cadastral-check-issue.blocker{border-left-color:#ff6b6b}.cadastral-check-issue.warning{border-left-color:#ffd166}.cadastral-check-issue.information{border-left-color:#7fc7ff}.cadastral-check-issue span{color:var(--text3);font-size:10px;text-transform:uppercase}.cadastral-check-issue strong{color:var(--text);font-size:11px}.cadastral-check-issue p,.cadastral-check-issue em{margin:2px 0 0;display:block;color:var(--text2);font-size:10.5px;font-style:normal}.cadastral-consistency-report{margin-bottom:8px;padding:7px;display:grid;gap:7px;border:1px solid var(--b1);background:#ffffff06}.cadastral-consistency-report header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.cadastral-consistency-report h3{margin:0;color:var(--text3);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.cadastral-consistency-report header span{color:var(--text2);font-size:10.5px}.cadastral-consistency-report header strong{color:var(--texthi);font-size:10.5px}.cadastral-report-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.cadastral-report-actions .btn{height:26px;padding:0 8px;display:inline-flex;align-items:center;color:var(--text);font-size:11px;text-decoration:none}.cadastral-report-metrics,.cadastral-report-issues{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.cadastral-report-issues{grid-template-columns:repeat(2,minmax(0,1fr))}.cadastral-report-metrics span,.cadastral-report-issues span{min-width:0;padding:5px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:var(--text2);font-size:10.5px;text-align:center}.cadastral-report-metrics strong{display:block;color:var(--texthi);font-size:13px}.cadastral-report-parcels{display:grid;gap:4px}.cadastral-report-parcels article{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 72px 54px;gap:6px;color:var(--text2);font-size:10.5px}.cadastral-report-parcels strong{min-width:0;overflow:hidden;color:var(--text);text-overflow:ellipsis;white-space:nowrap}.cadastral-gp-proof{margin-bottom:8px;padding:7px;display:grid;gap:7px;border:1px solid var(--b1);background:#ffffff06}.cadastral-gp-proof.blocked{border-color:#f8717142}.cadastral-gp-proof.ready{border-color:#4ade8038}.cadastral-gp-proof header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.cadastral-gp-proof h3{margin:0;color:var(--text3);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.cadastral-gp-proof header span,.cadastral-gp-proof p{margin:0;color:var(--text2);font-size:10.5px}.cadastral-gp-proof header strong{color:var(--texthi);font-size:10.5px}.cadastral-gp-proof-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.cadastral-gp-proof-metrics span{min-width:0;padding:5px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:var(--text2);font-size:10.5px;text-align:center}.cadastral-gp-proof-metrics strong{display:block;color:var(--texthi);font-size:13px}.cadastral-gp-proof-points,.cadastral-gp-proof-issues{display:grid;gap:4px}.cadastral-gp-proof-points article{min-width:0;display:grid;grid-template-columns:48px minmax(0,1fr) 60px;gap:6px;color:var(--text2);font-size:10.5px}.cadastral-gp-proof-points strong,.cadastral-gp-proof-points span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cadastral-gp-proof-points strong{color:var(--text)}.cadastral-gp-proof-issues article{display:grid;grid-template-columns:60px minmax(0,1fr);gap:6px;color:var(--text2);font-size:10.5px}.cadastral-gp-proof-issues span{color:#fca5a5}.cadastral-topology-panel{margin-bottom:8px;padding:7px;display:grid;gap:7px;border:1px solid var(--b1);background:#ffffff06}.cadastral-topology-panel header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.cadastral-topology-panel h3{margin:0;color:var(--text3);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.cadastral-topology-panel header span{color:var(--text2);font-size:10.5px}.cadastral-topology-panel header strong{color:var(--texthi);font-size:10.5px}.cadastral-topology-panel .btn{width:fit-content;height:26px;padding:0 8px;font-size:11px}.cadastral-topology-metrics,.cadastral-topology-issues{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.cadastral-topology-issues{grid-template-columns:repeat(2,minmax(0,1fr))}.cadastral-topology-metrics span,.cadastral-topology-issues span{min-width:0;padding:5px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:var(--text2);font-size:10.5px;text-align:center}.cadastral-topology-metrics strong{display:block;color:var(--texthi);font-size:13px}.cadastral-topology-edges{display:grid;gap:4px}.cadastral-topology-edges p{margin:0;color:var(--text2);font-size:11px}.cadastral-topology-edges article{min-width:0;display:grid;grid-template-columns:58px 72px minmax(0,1fr);gap:6px;color:var(--text2);font-size:10.5px}.cadastral-topology-edges strong,.cadastral-topology-edges span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cadastral-topology-edges strong{color:var(--text)}.cadastral-previous-data-panel{margin-bottom:8px;padding:7px;display:grid;gap:7px;border:1px solid var(--b1);background:#ffffff06}.cadastral-previous-data-panel header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.cadastral-previous-data-panel h3{margin:0;color:var(--text3);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.cadastral-previous-data-panel header span,.cadastral-previous-data-panel label{color:var(--text2);font-size:10.5px}.cadastral-previous-data-panel header strong{color:var(--texthi);font-size:10.5px}.cadastral-previous-data-controls,.cadastral-previous-data-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.cadastral-previous-data-controls label{min-width:0;display:grid;gap:3px}.cadastral-previous-data-controls select{min-width:0;width:100%;height:26px;border:1px solid var(--b1);background:var(--chrome);color:var(--text);font-size:11px}.cadastral-previous-data-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.cadastral-previous-data-metrics span{min-width:0;padding:5px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:var(--text2);font-size:10.5px;text-align:center}.cadastral-previous-data-metrics strong{display:block;color:var(--texthi);font-size:13px}.cadastral-previous-data-rows{display:grid;gap:4px}.cadastral-previous-data-rows article{min-width:0;display:grid;grid-template-columns:52px 88px 54px minmax(0,1fr);gap:6px;color:var(--text2);font-size:10.5px}.cadastral-previous-data-rows strong,.cadastral-previous-data-rows span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cadastral-previous-data-rows strong{color:var(--text)}.cadastral-output-revisions{margin-top:8px;padding:8px;display:grid;gap:8px;border:1px solid var(--b1);background:#ffffff06}.cadastral-output-revisions header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.cadastral-output-revisions h3{margin:0;color:var(--text3);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.cadastral-output-revisions header span,.cadastral-output-revisions p,.cadastral-output-commit label{margin:0;color:var(--text2);font-size:10.5px}.cadastral-output-revisions header strong{color:var(--texthi);font-size:10.5px}.cadastral-output-commit{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:end}.cadastral-output-commit label{min-width:0;display:grid;gap:3px}.cadastral-output-commit input{min-width:0;width:100%;height:26px;border:1px solid var(--b1);background:var(--chrome);color:var(--text);font-size:11px}.cadastral-output-commit .btn{height:26px;padding:0 8px;font-size:11px}.cadastral-output-revision-list{display:grid;gap:4px}.cadastral-output-revision-list article{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 54px 74px 112px 58px;gap:6px;color:var(--text2);font-size:10.5px}.cadastral-output-revision-list article.superseded{opacity:.68}.cadastral-output-revision-list strong,.cadastral-output-revision-list span,.cadastral-output-revision-list a,.cadastral-output-revision-list .link-button{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cadastral-output-revision-list strong{color:var(--text)}.cadastral-output-revision-list a,.cadastral-output-revision-list .link-button{padding:0;border:0;background:transparent;color:var(--accent);font:inherit;text-decoration:none;text-align:left;cursor:pointer}.cadastral-output-revision-list .link-button:disabled{color:var(--text3);cursor:wait}.cadastral-audit-panel{margin-top:8px;padding:8px;display:grid;gap:8px;border:1px solid var(--b1);background:#ffffff06}.cadastral-audit-panel header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.cadastral-audit-panel h3{margin:0;color:var(--text3);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.cadastral-audit-panel header span,.cadastral-audit-panel p{margin:0;color:var(--text2);font-size:10.5px}.cadastral-audit-list{display:grid;gap:5px}.cadastral-audit-list article{min-width:0;display:grid;gap:2px;color:var(--text2);font-size:10.5px}.cadastral-audit-list strong,.cadastral-audit-list span,.cadastral-audit-list small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cadastral-audit-list strong{color:var(--text)}.cadastral-audit-list small{color:var(--text3)}.cadastral-metadata{min-height:0;border-top:1px solid var(--b1);padding:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-content:start;overflow:auto;scrollbar-gutter:stable;overscroll-behavior:contain;background:var(--chrome2)}.cadastral-metadata h3{grid-column:1 / -1;margin:0;font-size:10.5px;color:var(--text3);text-transform:uppercase;letter-spacing:.08em}.cadastral-metadata label{min-width:0;display:grid;gap:3px;color:var(--text3);font-size:10.5px;text-transform:uppercase;letter-spacing:.04em}.cadastral-metadata input,.cadastral-metadata textarea{min-width:0;width:100%}.cadastral-metadata .metadata-notes{grid-column:1 / -1}.cadastral-beacon-descriptions{border-top:1px solid var(--b1);padding:8px;display:grid;gap:8px;background:var(--chrome2)}.cadastral-beacon-descriptions header{display:flex;align-items:center;justify-content:space-between;gap:8px}.cadastral-beacon-descriptions h3{margin:0;font-size:10.5px;color:var(--text3);text-transform:uppercase;letter-spacing:.08em}.cadastral-beacon-descriptions header span{color:var(--text3);font-size:10px}.cadastral-beacon-description-grid{display:grid;gap:6px;max-height:190px;overflow:auto;scrollbar-gutter:stable}.cadastral-beacon-description-grid label{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:6px;color:var(--text3);font-size:10.5px;text-transform:uppercase}.cadastral-beacon-description-grid input{min-width:0;width:100%}.cadastral-preview{position:relative;padding:0}.cadastral-preview-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end}.cadastral-preview-actions button{min-width:42px;height:22px;padding:0 6px;font-size:10px;border-radius:3px;color:var(--text2);background:var(--chrome3);border:1px solid var(--b1)}.cadastral-production-summary{grid-row:2;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr) auto;gap:8px;padding:7px 10px;border-bottom:1px solid var(--b1);background:#ffffff06;color:var(--text2);font-size:11px}.cadastral-production-summary span{min-width:0;display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cadastral-production-summary strong{color:var(--text3);font-size:9.5px;letter-spacing:0;text-transform:uppercase}.cadastral-preview-actions button.active{color:var(--texthi);border-color:var(--acc);background:var(--acc-s)}.panel-collapse-btn,.cadastral-preview-actions .panel-collapse-btn{width:22px;min-width:22px;height:20px;padding:0;border:1px solid var(--b1);border-radius:3px;background:var(--chrome3);color:var(--text2);font-size:12px;line-height:1;cursor:pointer}.panel-collapse-btn:hover{color:var(--texthi);border-color:var(--acc);background:var(--acc-s)}.cadastral-preview.expanded{position:fixed;top:72px;right:14px;bottom:28px;left:14px;z-index:90;min-height:0;background:var(--bg);border:1px solid var(--b1);box-shadow:0 18px 52px #00000080;grid-template-rows:auto auto auto minmax(0,1fr) auto}.cadastral-preview.expanded .cadastral-preview-body{min-height:0;padding:16px}.cadastral-preview.expanded .cadastral-history{display:none}.cadastral-preview-body{min-height:0;overflow:auto;display:grid;place-items:center;padding:12px}.cadastral-preview-body img{object-fit:contain;background:#fff;border:1px solid var(--b1);box-shadow:0 6px 18px #00000047}.cadastral-preview-body.zoom-fit img{max-width:100%;max-height:100%}.cadastral-preview-body.zoom-100 img{width:auto;height:auto;max-width:none;max-height:none}.cadastral-preview-body.zoom-125 img{width:125%;height:auto;max-width:none;max-height:none}.cadastral-preview-body.zoom-150 img{width:150%;height:auto;max-width:none;max-height:none}.cadastral-preview-body.zoom-200 img{width:200%;height:auto;max-width:none;max-height:none}.preview-empty{align-self:center;justify-self:center;color:var(--text3);border:1px dashed var(--b1);padding:28px 48px}.validation-message{margin:8px 10px;padding:7px 9px;color:#ffd8d8;background:#c84b4b21;border:1px solid rgba(200,75,75,.35)}.cadastral-warnings{margin:8px 10px 0;padding:7px 9px;color:#ffe8b3;background:#c78b2b1f;border:1px solid rgba(199,139,43,.36);font-size:11.5px}.download-row{display:flex;flex-wrap:wrap;gap:8px;padding:8px 10px;border-top:1px solid var(--b1);align-self:end}.download-row a{color:var(--texthi);background:var(--chrome3);border:1px solid var(--b1);border-radius:3px;padding:4px 10px;text-decoration:none}.download-row.compact{padding:6px 0 0;border-top:none}.download-row.compact a{padding:3px 8px;font-size:10.5px}.cadastral-history{min-height:0;border-top:1px solid var(--b1);display:grid;grid-template-rows:auto 1fr;overflow:hidden}.cadastral-history-list{min-height:0;overflow:auto;padding:7px 8px;display:grid;align-content:start;gap:7px}.cadastral-history-item{border:1px solid var(--b1);background:var(--chrome2);border-radius:4px;padding:7px}.cadastral-history-item.active{border-color:var(--acc);background:var(--acc-s)}.cadastral-history-item button{width:100%;border:none;padding:0;background:transparent;color:var(--text2);text-align:left;display:grid;gap:2px}.cadastral-history-item strong{color:var(--texthi);font-size:12px}.cadastral-history-item span{font-size:11px}.cadastral-history-warnings{margin-top:6px;display:grid;gap:3px;color:#ffe8b3;font-size:10.5px}.cadastral-workspace.designer-open{grid-template-rows:auto minmax(420px,1.35fr) minmax(260px,.65fr);overflow:auto}.cadastral-workspace.designer-open.main-panels-collapsed{grid-template-rows:auto minmax(520px,1fr) auto}.cadastral-workspace.designer-open .cadastral-main{min-height:340px;grid-template-columns:1fr;grid-template-rows:minmax(160px,.42fr) minmax(260px,.58fr)}.cadastral-workspace.designer-open .cadastral-main.parcels-collapsed{grid-template-columns:1fr;grid-template-rows:34px minmax(260px,1fr)}.cadastral-workspace.designer-open .cadastral-main.preview-collapsed{grid-template-columns:1fr;grid-template-rows:minmax(160px,1fr) 34px}.cadastral-workspace.designer-open .cadastral-main.parcels-collapsed.preview-collapsed{grid-template-columns:1fr;grid-template-rows:34px 34px;justify-content:stretch}.cadastral-workspace.designer-open.main-panels-collapsed .cadastral-main{min-height:68px}.cadastral-workspace.designer-open .cadastral-panel,.cadastral-workspace.designer-open .cadastral-preview{border-right:none;border-bottom:1px solid var(--b1)}.cadastral-workspace.designer-open .cadastral-preview{grid-template-rows:auto auto auto auto minmax(220px,1fr) auto minmax(68px,.14fr)}.cadastral-workspace.designer-open .cadastral-panel.collapsed,.cadastral-workspace.designer-open .cadastral-preview.collapsed{grid-template-rows:auto}.cadastral-workspace.designer-open .cadastral-history-list{padding-block:5px}.cadastral-workspace.sheet-designer-mode{grid-template-rows:minmax(0,1fr);overflow:hidden}.cadastral-workspace.sheet-designer-mode .cadastral-template-designer{height:100%;border-bottom:none}.cadastral-template-designer{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);border-bottom:1px solid var(--b1);background:var(--chrome2)}.designer-topbar{min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 10px;border-bottom:1px solid var(--b1);background:var(--title)}.designer-topbar h2,.designer-title span,.designer-library h3,.designer-object-rail h3,.designer-canvas-toolbar h3,.designer-preview-panel h3,.designer-panel-heading h3{margin:0;color:var(--text3);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase}.designer-title{min-width:0;display:grid;gap:2px}.designer-title span{min-width:0;color:var(--text2);font-size:11px;letter-spacing:0;text-transform:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.designer-actions{display:flex;gap:6px;flex-wrap:wrap}.designer-file-group,.designer-preview-toggle{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.designer-preview-toggle{padding-left:6px;border-left:1px solid var(--b1)}.designer-actions input[type=file]{display:none}.designer-grid{min-height:0;display:grid;grid-template-columns:minmax(230px,280px) minmax(720px,1fr) minmax(250px,300px)}.designer-grid.library-collapsed{grid-template-columns:minmax(230px,280px) minmax(720px,1fr) minmax(250px,300px)}.designer-grid.advanced-open,.designer-grid.library-collapsed.advanced-open{grid-template-columns:minmax(230px,260px) minmax(640px,1fr) minmax(240px,280px) minmax(220px,260px)}.designer-object-rail,.designer-library,.designer-inspector,.designer-advanced-drawer{min-height:0;overflow:auto;border-right:1px solid var(--b1);padding:8px}.designer-inspector,.designer-advanced-drawer{border-right:none;border-left:1px solid var(--b1)}.designer-object-rail{display:grid;grid-template-rows:auto auto minmax(190px,.58fr) minmax(118px,.28fr) auto;align-content:start;gap:8px;background:var(--chrome2)}.designer-rail-header,.designer-library-header{min-height:24px;display:flex;align-items:center;justify-content:space-between;gap:6px}.designer-library-toggle{min-width:42px;height:22px;padding:0 7px;border:1px solid var(--b1);border-radius:3px;background:var(--chrome3);color:var(--text2);font-size:10px;line-height:1}.designer-library-toggle:hover{color:var(--texthi);border-color:var(--acc)}.designer-object-palette{display:grid;grid-template-columns:1fr;gap:5px}.designer-palette-button{min-height:30px;display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:7px;padding:4px 7px;border:1px solid rgba(125,151,173,.26);border-radius:4px;color:var(--text2);background:#151f28b8;font-size:11px;text-align:left}.designer-palette-button span{display:grid;place-items:center;width:24px;height:20px;border:1px solid rgba(83,183,204,.36);border-radius:3px;color:#93e3ef;background:#53b7cc14;font-size:9px;font-weight:700}.designer-palette-button:hover,.designer-palette-button:focus-visible{color:var(--texthi);border-color:var(--acc);background:#53b7cc1f}.designer-library-body{min-height:0;display:grid;gap:7px;padding-top:8px;border-top:1px solid var(--b1)}.designer-library-list,.designer-object-tree-list{min-height:0;overflow:auto;display:grid;align-content:start;gap:3px}.designer-object-tree{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:7px;padding-top:8px;border-top:1px solid rgba(125,151,173,.26)}.designer-v2-template-clones{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:7px;padding-top:9px;border-top:1px solid var(--b1)}.designer-library-list.compact{max-height:150px}.designer-library-list button,.designer-object-tree-list button{min-height:30px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:8px;padding:5px 7px;border:1px solid var(--b1);border-radius:3px;background:var(--chrome3);color:var(--text2);text-align:left}.designer-library-list button.active,.designer-object-tree-list button.active{border-color:var(--acc);background:var(--acc-s)}.designer-library-list button span,.designer-object-tree-list button span{color:var(--texthi);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.designer-library-list button small,.designer-object-tree-list button small{color:var(--text3);font-size:10px}.designer-object-tree-meta{display:flex;align-items:center;gap:6px;min-width:0;justify-content:flex-end}.designer-object-tree-lock{padding:1px 5px;border:1px solid rgba(255,232,179,.3);border-radius:3px;color:#ffe8b3!important;background:#c78b2b1f;text-transform:uppercase}.designer-canvas-wrap{min-height:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.025) 1px,transparent 1px),#1b222b;background-size:18px 18px}.designer-data-explorer{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:7px;padding-top:8px;border-top:1px solid rgba(125,151,173,.26)}.designer-data-explorer h3{margin:0;color:var(--text3);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase}.designer-data-groups{min-height:0;overflow:auto;display:grid;align-content:start;gap:8px}.designer-data-group{display:grid;gap:5px}.designer-data-group h4{margin:0;color:var(--texthi);font-size:10.5px}.designer-data-field-list{display:grid;gap:4px}.designer-data-field-list button{min-height:24px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:3px 6px;border:1px solid rgba(125,151,173,.26);border-radius:3px;color:var(--text2);background:#151f28b8;font-size:10.5px;text-align:left}.designer-data-field-list button:hover,.designer-data-field-list button:focus-visible{color:var(--texthi);border-color:var(--acc);background:#53b7cc1f}.designer-canvas-toolbar{display:flex;justify-content:space-between;align-items:center;gap:4px;padding:7px 10px;border-bottom:1px solid var(--b1);background:var(--chrome2)}.designer-canvas-title,.designer-preview-heading{min-width:0;display:grid;gap:2px}.designer-canvas-title span,.designer-preview-heading span{min-width:0;color:var(--text2);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.designer-canvas-zoom{display:flex;align-items:center;justify-content:flex-end;gap:4px}.designer-canvas-toolbar button{height:22px;min-width:42px;padding:0 7px;border:1px solid var(--b1);border-radius:3px;background:var(--chrome3);color:var(--text2);font-size:10px}.designer-canvas-toolbar button.active{border-color:var(--acc);background:var(--acc-s);color:var(--texthi)}.designer-canvas-scroll{min-height:0;overflow:auto;display:grid;place-items:center;padding:10px}.designer-sheet{width:min(100%,980px);height:auto;max-height:100%;background:#fff;box-shadow:0 8px 24px #00000057;cursor:default;flex:none}.designer-resize-handle{fill:#fff;stroke:var(--acc);stroke-width:.75}.designer-resize-handle:hover{fill:#d8ebff}.designer-preview-panel{min-height:30px;display:grid;grid-template-columns:minmax(92px,auto) minmax(0,auto) minmax(0,1fr);align-items:start;gap:10px;padding:7px 10px;border-top:1px solid var(--b1);background:var(--chrome2)}.designer-render-preview{justify-self:end;max-width:min(100%,240px);max-height:92px;border:1px solid var(--b1);background:#fff}.designer-preview-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.designer-preview-mode button{min-height:26px;border:1px solid var(--b1);border-radius:4px;background:var(--chrome3);color:var(--text2);font-size:11px}.designer-preview-mode button.active{border-color:var(--acc);background:var(--acc-s);color:var(--texthi)}.designer-render-plan{min-width:min(100%,280px);display:grid;gap:7px;padding:7px;border:1px solid var(--b1);background:var(--chrome1)}.designer-render-plan-heading,.designer-render-plan-metrics{display:flex;align-items:center;justify-content:space-between;gap:8px}.designer-render-plan h4{margin:0;font-size:12px}.designer-render-plan span,.designer-render-plan small{color:var(--text2);font-size:11px}.designer-render-plan-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.designer-render-plan-list div{min-width:0;display:grid;gap:2px;padding:6px;border:1px solid var(--b1);background:var(--chrome2)}.designer-render-plan-list strong,.designer-render-plan-list small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.designer-render-plan-diagnostics{display:grid;gap:4px;margin:0;padding:0;list-style:none}.designer-render-plan-diagnostics li{color:#ffe8b3;font-size:11px}.designer-render-plan-diagnostic{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px;padding:2px 0;color:inherit;font-size:11px;text-align:left;border:0;background:transparent;cursor:pointer}.designer-render-plan-diagnostic.static{cursor:default}.designer-render-plan-diagnostic:hover,.designer-render-plan-diagnostic:focus-visible{background:#c78b2b1f;outline:none}.designer-render-plan-diagnostic:focus-visible{box-shadow:inset 0 0 0 1px #ffe8b385}.designer-panel-heading{min-height:22px;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.designer-panel-heading span{min-width:0;color:var(--text2);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.designer-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.designer-tabs button{height:24px;padding:0 7px;border:1px solid var(--b1);border-radius:3px;background:var(--chrome3);color:var(--text2);font-size:10px}.designer-tabs button.active{border-color:var(--acc);background:var(--acc-s);color:var(--texthi)}.designer-fields{display:grid;gap:7px}.designer-fields fieldset{display:grid;gap:7px;min-width:0;margin:0;padding:8px;border:1px solid var(--b1);border-radius:4px;background:var(--chrome2)}.designer-fields legend{padding:0 4px;color:var(--text2);font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.designer-fields label{display:grid;gap:3px;min-width:0;color:var(--text3);font-size:10.5px;letter-spacing:.04em;text-transform:uppercase}.designer-fields input,.designer-fields select,.designer-fields textarea{min-width:0;width:100%}.designer-fields textarea{min-height:58px;resize:vertical}.designer-fields input[type=color]{height:28px;padding:2px;cursor:pointer}.designer-fields .full-span{grid-column:1 / -1}.designer-cell-grid-list{display:grid;gap:7px;max-height:220px;overflow:auto}.designer-cell-grid-row{display:grid;grid-template-columns:minmax(72px,auto) minmax(0,1fr);gap:6px;align-items:end;padding:7px;border:1px solid rgba(125,151,173,.28);background:var(--chrome1)}.designer-cell-grid-row strong,.designer-cell-grid-row small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.designer-cell-grid-row strong{color:var(--texthi);font-size:11px}.designer-cell-grid-row small{color:var(--text3);font-size:10px}.designer-element-panel{display:grid;gap:8px}.designer-element-actions{display:flex;flex-wrap:wrap;gap:6px}.designer-element-actions.compact{margin-top:-2px}.designer-column-list{display:grid;gap:8px}.designer-column-editor{display:grid;gap:7px;padding:7px;border:1px solid var(--b1);background:#ffffff08}.designer-column-title{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--text2);font-size:11px}.designer-column-title>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px}.designer-column-title .btn{height:22px;min-height:0;padding:0 6px;font-size:10px}.designer-fields.toggles label{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:center;gap:8px;min-height:24px;padding:2px 0;color:var(--text2);font-size:10.5px;letter-spacing:.02em;line-height:1.25;text-transform:none}.designer-fields.toggles input[type=checkbox]{width:13px;height:13px;margin:0}.cadastral-template-manager-shell{min-height:0;height:100%;display:grid;overflow:hidden}.cadastral-template-manager-shell .cadastral-template-designer{min-height:0;height:100%;overflow:hidden}.cadastral-template-designer{overflow:hidden}.designer-grid,.designer-grid.library-collapsed{min-height:0;overflow:hidden;grid-template-columns:minmax(210px,260px) minmax(420px,1fr) minmax(240px,300px)}.designer-grid.advanced-open,.designer-grid.library-collapsed.advanced-open{grid-template-columns:minmax(210px,250px) minmax(380px,1fr) minmax(240px,280px) minmax(220px,260px)}.designer-grid.inspector-collapsed,.designer-grid.library-collapsed.inspector-collapsed{grid-template-columns:minmax(210px,260px) minmax(420px,1fr) 34px}.designer-grid.advanced-open.inspector-collapsed,.designer-grid.library-collapsed.advanced-open.inspector-collapsed{grid-template-columns:minmax(210px,250px) minmax(420px,1fr) 34px minmax(220px,260px)}.designer-grid.toolbox-collapsed,.designer-grid.toolbox-collapsed.library-collapsed{grid-template-columns:34px minmax(420px,1fr) minmax(240px,300px)}.designer-grid.toolbox-collapsed.advanced-open,.designer-grid.toolbox-collapsed.library-collapsed.advanced-open{grid-template-columns:34px minmax(420px,1fr) minmax(240px,280px) minmax(220px,260px)}.designer-grid.toolbox-collapsed.inspector-collapsed,.designer-grid.toolbox-collapsed.library-collapsed.inspector-collapsed{grid-template-columns:34px minmax(420px,1fr) 34px}.designer-grid.toolbox-collapsed.advanced-open.inspector-collapsed,.designer-grid.toolbox-collapsed.library-collapsed.advanced-open.inspector-collapsed{grid-template-columns:34px minmax(420px,1fr) 34px minmax(220px,260px)}.designer-fields.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.designer-validation{margin-top:8px;padding:7px 9px;color:#ffe8b3;background:#c78b2b1f;border:1px solid rgba(199,139,43,.36);font-size:11px}.designer-object-rail.collapsed{min-width:0;display:grid;grid-template-rows:minmax(0,1fr);place-items:stretch;padding:0;overflow:hidden;background:var(--title)}.designer-toolbox-restore{width:100%;height:100%;min-width:0;padding:8px 0;border:0;border-right:1px solid var(--b1);color:var(--text3);background:var(--title);writing-mode:vertical-rl;transform:rotate(180deg);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.designer-toolbox-restore:hover,.designer-toolbox-restore:focus-visible{color:var(--texthi);background:#53b7cc1a;outline:none}.designer-rail-header-actions{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:4px}.designer-toolbox-collapse{width:22px;height:22px;min-width:22px;padding:0;display:grid;place-items:center;border:1px solid var(--b1);border-radius:3px;color:var(--text2);background:var(--chrome3);font-size:12px;line-height:1}.designer-toolbox-collapse:hover,.designer-toolbox-collapse:focus-visible{color:var(--texthi);border-color:var(--acc);outline:none}.designer-inspector{display:grid;grid-template-rows:minmax(0,1fr) auto;padding:0;overflow:hidden;background:var(--chrome2)}.designer-inspector.collapsed{grid-template-rows:minmax(0,1fr);place-items:stretch;padding:0}.designer-inspector-restore{width:100%;height:100%;min-width:0;padding:8px 0;border:0;border-left:1px solid var(--b1);color:var(--text3);background:var(--title);writing-mode:vertical-rl;transform:rotate(180deg);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.designer-inspector-restore:hover,.designer-inspector-restore:focus-visible{color:var(--texthi);background:#53b7cc1a;outline:none}.designer-context-inspector{min-height:0;overflow:auto;display:grid;align-content:start;gap:7px;padding:8px}.designer-inspector>.designer-validation{margin:0;border-left:0;border-right:0;border-bottom:0}.designer-context-inspector>.designer-panel-heading{position:sticky;top:0;z-index:2;min-width:0;margin:-8px -8px 0;padding:8px;border-bottom:1px solid rgba(125,151,173,.2);background:#19222bf5}.designer-panel-heading-actions{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:6px}.designer-inspector-collapse{width:22px;height:22px;min-width:22px;padding:0;display:grid;place-items:center;border:1px solid var(--b1);border-radius:3px;color:var(--text2);background:var(--chrome3);font-size:12px;line-height:1}.designer-inspector-collapse:hover,.designer-inspector-collapse:focus-visible{color:var(--texthi);border-color:var(--acc);outline:none}.designer-inspector-section{min-width:0;margin:0;border:1px solid rgba(125,151,173,.26);background:#1219206b}.designer-inspector-section>summary{min-height:28px;display:flex;align-items:center;gap:8px;padding:6px 8px;color:var(--texthi);border-bottom:1px solid rgba(125,151,173,.18);cursor:pointer;font-size:10px;font-weight:700;letter-spacing:.08em;line-height:1;text-transform:uppercase;-webkit-user-select:none;user-select:none}.designer-inspector-section>summary:hover,.designer-inspector-section>summary:focus-visible{color:var(--acc);outline:none}.designer-inspector-section:not([open])>summary{border-bottom:0}.designer-inspector-group{min-width:0;margin:0;padding:8px;display:grid;gap:7px;border:0;background:transparent}.designer-inspector-section .designer-inspector-group>legend{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.designer-inspector-group>label,.designer-inspector-group .designer-fields:not(.toggles):not(.compact) label{min-width:0;display:grid;grid-template-columns:minmax(82px,.9fr) minmax(96px,1.1fr);align-items:center;gap:6px;color:var(--text3);font-size:10.5px;letter-spacing:.01em;line-height:1.25;text-transform:uppercase}.designer-inspector-group>label>input,.designer-inspector-group>label>select,.designer-inspector-group>label>textarea,.designer-inspector-group .designer-fields:not(.toggles):not(.compact) label>input,.designer-inspector-group .designer-fields:not(.toggles):not(.compact) label>select,.designer-inspector-group .designer-fields:not(.toggles):not(.compact) label>textarea{min-width:0;width:100%}.designer-inspector-group>label>input[type=color]{height:26px;padding:2px}.designer-inspector-group .designer-fields.compact{gap:6px}.designer-inspector-group .designer-fields.compact label{gap:3px;color:var(--text3);font-size:10px;letter-spacing:.04em;line-height:1.2;text-transform:uppercase}.designer-inspector-group .designer-fields.toggles{grid-template-columns:1fr;gap:2px;padding:2px 0}.designer-inspector-group .designer-fields.toggles label{min-height:22px;padding:1px 0;color:var(--text2)}.designer-inspector-group .designer-element-actions.compact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:0}.designer-inspector-group .designer-element-actions.compact .btn{width:100%;min-width:0;justify-content:center}.designer-inspector-group .designer-element-actions.table-actions .btn{padding:0 6px;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.designer-inspector-group legend{padding:0 4px;color:var(--texthi);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.designer-check-strip{min-height:30px;display:flex;align-items:center;gap:10px;padding:4px 8px;border-top:1px solid rgba(125,151,173,.22);background:#0d141ce0}.designer-check-toggle{min-height:22px;padding:2px 8px;border:1px solid rgba(45,154,85,.42);border-radius:3px;color:#b8f4c4;background:#2d9a551f;font-size:11px}.designer-check-strip.open .designer-check-toggle{border-color:#53b7cc7a;color:#9ce7f0;background:#53b7cc1f}.designer-check-strip span{min-width:0;overflow:hidden;color:var(--text3);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.designer-validation-panel{display:grid;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--b1)}.designer-validation-panel .designer-panel-heading{margin-bottom:0}.designer-validation.ok{color:#b8f4c4;background:#2d9a551f;border-color:#2d9a555c}.designer-validation.issue{color:#ffe8b3}.designer-template-lifecycle{display:grid;gap:7px;padding:8px;border:1px solid rgba(125,151,173,.28);background:#12192075}.designer-advanced-drawer{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);align-content:start;gap:8px;background:var(--chrome2)}.designer-advanced-file-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.designer-advanced-file-actions input[type=file]{display:none}.designer-lifecycle-actions,.designer-revision-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:6px}.designer-revision-list{grid-template-columns:1fr}.designer-lifecycle-list{max-height:118px;margin:0;padding:0;overflow:auto;display:grid;gap:6px;list-style:none}.designer-lifecycle-list li{display:grid;gap:2px;padding:0;border-left:2px solid var(--warn);background:#c78b2b1a}.designer-lifecycle-issue{display:grid;gap:2px;width:100%;padding:6px 7px;color:inherit;text-align:left;border:0;background:transparent;cursor:pointer}.designer-lifecycle-issue.static{cursor:default}.designer-lifecycle-issue:hover,.designer-lifecycle-issue:focus-visible{background:#c78b2b29;outline:none}.designer-lifecycle-issue:focus-visible{box-shadow:inset 0 0 0 1px #ffe8b3a6}.designer-lifecycle-list strong{color:#ffe8b3;font-size:10px;text-transform:uppercase}.designer-lifecycle-list span,.designer-lifecycle-list small{color:var(--text2);font-size:11px;line-height:1.35}.designer-lifecycle-list small{color:var(--text3)}.designer-empty{min-height:120px;display:grid;place-items:center;color:var(--text3);border:1px dashed var(--b1);margin:10px}.designer-status-bar{min-height:24px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:3px 8px;border-top:1px solid var(--b1);background:#0d141cf0;color:var(--text3);font-size:10.5px}.designer-table-cell-input{width:100%;height:100%;box-sizing:border-box;padding:0 2px;border:1px solid #0284c7;border-radius:0;background:#fff;color:#111827;font:11px Arial,sans-serif;outline:none;user-select:text;-webkit-user-select:text}.designer-sheet,.designer-sheet text,.designer-table-cell-hit{user-select:none;-webkit-user-select:none}.designer-table-cell-hit{cursor:default;outline:none}.designer-table-cell-hit:focus,.designer-table-cell-hit:focus-visible{outline:none}.designer-cell-border-editor{margin-top:8px;padding:7px;border:1px solid var(--b1);background:#0f17206b}.designer-cell-border-editor>legend{padding:0 4px;color:var(--text2);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.designer-border-toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 8px}.designer-border-toggle-grid label{min-height:22px;display:flex;align-items:center;gap:6px;color:var(--text2);font-size:10.5px;line-height:1.2}.designer-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:18px;background:#04080c94}.designer-modal{width:min(460px,100%);display:grid;gap:12px;padding:12px;border:1px solid rgba(125,151,173,.42);background:var(--chrome);box-shadow:0 18px 42px #0000006b}.designer-modal h3{margin:0;color:var(--texthi);font-size:13px}.designer-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.designer-modal-grid label{display:grid;gap:4px;color:var(--text3);font-size:10.5px;text-transform:uppercase}.designer-modal-actions{display:flex;justify-content:flex-end;gap:7px}@media(max-width:820px){.cadastral-toolbar{grid-template-columns:1fr}.cadastral-command-group,.template-command-group,.output-command-group{display:grid;grid-template-columns:1fr;justify-content:stretch}.segmented-control{grid-template-columns:1fr;height:auto}.segmented-control button{min-height:28px}.cadastral-main{grid-template-columns:1fr;grid-template-rows:minmax(280px,42vh) 1fr}.cadastral-main.parcels-collapsed{grid-template-columns:1fr;grid-template-rows:34px 1fr}.cadastral-main.preview-collapsed{grid-template-columns:1fr;grid-template-rows:minmax(280px,42vh) 34px}.cadastral-main.parcels-collapsed.preview-collapsed{grid-template-columns:1fr;grid-template-rows:34px 34px}.cadastral-panel{border-right:none;border-bottom:1px solid var(--b1)}.cadastral-toolbar select{min-width:160px}.cadastral-metadata{grid-template-columns:1fr}.cadastral-preview{grid-template-rows:auto auto auto auto minmax(220px,1fr) auto minmax(130px,.46fr)}.cadastral-production-summary{grid-template-columns:1fr}.cadastral-workspace.designer-open{grid-template-rows:auto minmax(420px,58vh) minmax(320px,1fr)}.cadastral-workspace.designer-open.main-panels-collapsed{grid-template-rows:auto minmax(420px,1fr) auto}.designer-grid,.designer-grid.library-collapsed,.designer-grid.advanced-open,.designer-grid.library-collapsed.advanced-open,.designer-grid.inspector-collapsed,.designer-grid.library-collapsed.inspector-collapsed,.designer-grid.advanced-open.inspector-collapsed,.designer-grid.library-collapsed.advanced-open.inspector-collapsed,.designer-grid.toolbox-collapsed,.designer-grid.toolbox-collapsed.library-collapsed,.designer-grid.toolbox-collapsed.advanced-open,.designer-grid.toolbox-collapsed.library-collapsed.advanced-open,.designer-grid.toolbox-collapsed.inspector-collapsed,.designer-grid.toolbox-collapsed.library-collapsed.inspector-collapsed,.designer-grid.toolbox-collapsed.advanced-open.inspector-collapsed,.designer-grid.toolbox-collapsed.library-collapsed.advanced-open.inspector-collapsed{grid-template-columns:1fr;grid-template-rows:auto minmax(360px,1fr) auto auto}.designer-preview-panel{grid-template-columns:1fr}.designer-object-rail,.designer-inspector,.designer-advanced-drawer{border-left:none;border-right:none;border-bottom:1px solid var(--b1)}.designer-object-rail{grid-template-rows:auto auto minmax(100px,.45fr) auto}.designer-object-palette{grid-template-columns:repeat(2,minmax(0,1fr))}}.shell-modal-note{color:var(--textmuted);font-size:12px;line-height:1.45;margin:0 0 10px}.coordinate-system-current{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 8px;padding:8px 10px;border:1px solid var(--b1);border-radius:4px;background:#4bb8c812}.coordinate-system-current span{color:var(--text3);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.coordinate-system-current strong,.coordinate-system-current em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coordinate-system-current strong{color:var(--texthi);font-size:12px}.coordinate-system-current em{grid-column:2;color:var(--text2);font-size:11px;font-style:normal}.coordinate-system-note{margin:0;padding:7px 9px;border:1px solid rgba(75,184,200,.35);border-radius:4px;background:#4bb8c814;color:var(--text2);font-size:11px;line-height:1.35}.coordinate-file-hemisphere-select,.coordinate-file-axis-orientation-select{cursor:pointer}.coordinate-orientation-note{margin:-2px 0 2px;padding:7px 9px;border:1px solid rgba(75,184,200,.35);border-radius:4px;background:#4bb8c814;color:var(--text2);font-size:11px;line-height:1.35}.coordinate-derived-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.coordinate-derived-grid>div{min-width:0;padding:7px 8px;border:1px solid var(--b1);border-radius:4px;background:#ffffff06}.coordinate-derived-grid span{display:block;color:var(--text3);font-size:9px;font-weight:700;letter-spacing:.06em;line-height:1.1;text-transform:uppercase}.coordinate-derived-grid strong{display:block;margin-top:3px;color:var(--texthi);font-size:12px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coordinate-advanced-details{border-top:1px solid var(--b1);padding-top:8px}.coordinate-advanced-details>summary{cursor:pointer;color:var(--text2);font-family:Rajdhani,Barlow,sans-serif;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.coordinate-advanced-details[open]>summary{color:var(--texthi);margin-bottom:8px}.coordinate-advanced-body{display:flex;flex-direction:column;gap:10px}.shell-modal-inline{display:flex;gap:6px}.shell-modal-separator{border-top:1px solid var(--b1);margin:2px 0}.shell-modal-subhead{font-family:Rajdhani,Barlow,sans-serif;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--texthi)}.shell-tag-list{display:flex;flex-wrap:wrap;gap:6px}.shell-tag{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--b1);background:var(--panel-ghost-bg);color:var(--text2);font-size:11px;padding:4px 8px}.shell-tag-remove{border:none;background:transparent;color:inherit;cursor:pointer;padding:0;line-height:1}.shell-modal-footer{border-top:1px solid var(--b1);padding:10px 12px;display:flex;justify-content:flex-end;gap:8px}.project-context-menu{position:fixed;z-index:8000;min-width:150px;padding:4px;border:1px solid var(--b1);background:var(--chrome);box-shadow:0 8px 24px #00000052}.project-context-menu button{display:block;width:100%;height:26px;border:0;background:transparent;color:var(--text2);text-align:left;padding:0 8px;font:inherit;font-size:12px;cursor:pointer}.project-context-menu button:hover{background:var(--chrome3);color:var(--texthi)}.project-context-menu button.danger{color:#ff9b9b}.startup-gate-overlay{z-index:320}.startup-gate-card{border-color:var(--b2)}.startup-gate-body{gap:14px}.startup-gate-copy{font-size:12px;color:var(--text2)}.startup-gate-actions{display:flex;flex-direction:column;gap:8px}.legacy-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:275;background:#080a0e94;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:var(--title);border:1px solid var(--b2);border-radius:6px;min-width:420px;max-width:90%;display:flex;flex-direction:column;max-height:90vh}.modal.wide{min-width:680px}.mhd{display:flex;align-items:center;height:36px;padding:0 14px;border-bottom:1px solid var(--b1);flex-shrink:0}.mhd-title{font-family:Rajdhani,sans-serif;font-size:13px;font-weight:700;color:var(--texthi);letter-spacing:.06em}.mhd-x{margin-left:auto;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text3);border-radius:2px;font-size:14px}.mhd-x:hover{background:#ffffff14;color:var(--texthi)}.mbody{padding:18px;overflow-y:auto;flex:1}.mft{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--b1);flex-shrink:0}.frow{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}.frow2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.fsec{font-family:Rajdhani,sans-serif;font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--text3);padding:6px 0 4px;border-bottom:1px solid var(--b1);margin-bottom:12px}.map-col{display:flex;flex-direction:column;gap:6px}.map-hdr{font-family:Rajdhani,sans-serif;font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--text3);padding-bottom:4px;border-bottom:1px solid var(--b1);margin-bottom:4px}.map-list{background:var(--chrome2);border:1px solid var(--b1);border-radius:3px;height:120px;overflow-y:auto;font-family:JetBrains Mono,monospace;font-size:10px;color:var(--text2);padding:4px}.cad-workspace{position:relative;display:block;height:100%;min-height:0}.cad-fab-cluster{position:absolute;top:10px;left:10px;z-index:12;display:flex;flex-wrap:nowrap;align-items:center;gap:5px;padding:5px;border:1px solid var(--b1);border-radius:4px;background:var(--cad-float-bg);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.cad-fab-group{display:flex;align-items:center;gap:3px;padding-right:5px;border-right:1px solid var(--b1)}.cad-fab-group:last-of-type{border-right:none}.cad-fab-precision{gap:6px}.cad-fab{width:30px;height:30px;border:1px solid var(--b1);border-radius:4px;background:#ffffff05;color:var(--text2);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;padding:0}.cad-fab-icon{width:17px;height:17px;display:block}.cad-fab-icon path,.cad-fab-icon rect,.cad-fab-icon circle{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.cad-fab:hover{background:#ffffff14}.cad-fab.active{color:var(--cyan);border-color:var(--acc);background:#0078d729}.cad-fab-label{height:26px;padding:0 8px;border:1px solid var(--b1);border-radius:4px;background:#ffffff05;color:var(--text2);font-size:10px;font-weight:700;letter-spacing:.04em}.cad-fab-label.active{color:var(--cyan);border-color:var(--acc);background:#0078d729}.cad-fab-osnap{border:1px solid var(--b1);border-radius:4px;padding:4px;background:#ffffff05}.cad-fab-osnap summary{cursor:pointer;font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.04em}.cad-fab-osnap-grid{margin-top:6px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.cad-fab-chip{height:24px;border:1px solid var(--b1);border-radius:4px;background:#ffffff05;color:var(--text3);font-size:9.5px;font-weight:700;letter-spacing:.02em;padding:0 6px}.cad-fab-chip.active{color:var(--green);border-color:#3db87aa6;background:#3db87a29}.cad-fab.danger{color:#ff9d9d;border-color:#f06f6f80}.cad-fab-offset{display:grid;grid-template-columns:auto 72px;gap:6px;align-items:center;font-size:10px;color:var(--text3)}.cad-fab-offset input,.cad-fab-offset select{height:24px;font-size:10.5px;padding:2px 6px}.cad-fab-pending{min-width:32px;height:30px;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0 6px;border:1px solid var(--b1);border-radius:4px;background:#ffffff05;font-size:10px;font-weight:700;color:var(--text3);letter-spacing:0}.cad-fab-pending .cad-fab-icon{width:14px;height:14px}.cad-bottom-bar{position:absolute;left:10px;right:312px;bottom:10px;z-index:12}.cad-bottom-strip{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px;border:1px solid var(--b1);border-radius:4px;background:var(--cad-float-bg);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.cad-bottom-group{display:flex;align-items:center;gap:4px;min-height:28px}.cad-bottom-caption{font-size:10px;color:var(--text3);letter-spacing:.04em;text-transform:uppercase;margin-right:2px}.cad-bottom-inline{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--text3)}.cad-bottom-inline input,.cad-bottom-inline select{height:24px;font-size:10.5px;padding:2px 6px;min-width:60px}.cad-bottom-osnap{border:1px solid var(--b1);border-radius:4px;padding:4px;background:#ffffff05}.cad-bottom-osnap summary{cursor:pointer;font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.04em}.cad-bottom-offset input{width:74px;height:24px;font-size:10.5px;padding:2px 6px}.cad-dynamic-hud{position:absolute;right:12px;bottom:10px;z-index:12;width:356px;padding:6px 28px 6px 6px;border:1px solid var(--b1);border-radius:4px;background:var(--cad-float-bg);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.cad-dynamic-hud.collapsed{width:auto;min-width:188px;display:flex;align-items:center;gap:6px;padding:5px 6px}.cad-dynamic-collapse-toggle{position:absolute;top:6px;right:6px;width:18px;height:18px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--b1);border-radius:3px;background:#ffffff08;color:var(--text2);font-size:10px;line-height:1}.cad-dynamic-hud.collapsed .cad-dynamic-collapse-toggle{position:static;flex:0 0 auto}.cad-dynamic-pill,.cad-dynamic-mini-metric{min-height:20px;display:inline-flex;align-items:center;border:1px solid var(--b1);border-radius:3px;padding:0 6px;font-family:JetBrains Mono,monospace;font-size:10px;color:var(--text2);background:#0a0e1447}.cad-dynamic-pill{color:var(--cyan);font-weight:700}.cad-dynamic-readout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:6px;font-family:JetBrains Mono,monospace;font-size:10px;color:var(--text2)}.cad-dynamic-readout-group{min-width:0;display:grid;gap:2px;padding:5px 6px;border:1px solid var(--b1);border-radius:3px;background:#0a0e1447}.cad-dynamic-readout-group.compact{align-content:center}.cad-dynamic-readout-title{color:var(--cyan);font-family:Rajdhani,sans-serif;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.cad-dynamic-form{display:grid;grid-template-columns:1fr auto;gap:6px}.cad-dynamic-form.minimal{grid-template-columns:68px 1fr auto}.cad-dynamic-form.minimal select{height:24px;min-width:64px;font-size:10.5px;padding:2px 6px}.cad-dynamic-form input{height:24px;font-size:10.5px;font-family:JetBrains Mono,monospace;padding:2px 6px}.cad-dynamic-form button{height:24px;padding:0 10px;font-size:10.5px}.cad-canvas-host{position:relative;border:none;background:radial-gradient(ellipse at center,#ffffff0a,#0000001f);min-height:100%;overflow:hidden}.cad-space-badge{position:absolute;top:10px;right:12px;z-index:6;border:1px solid rgba(75,184,200,.45);border-radius:4px;background:var(--cad-space-badge-bg);color:var(--cyan);font-size:10px;font-family:JetBrains Mono,monospace;letter-spacing:.06em;padding:4px 7px;-webkit-user-select:none;user-select:none;pointer-events:none}.cad-map-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none;background:#101820;transform-origin:center center}.cad-map-tile{position:absolute;-webkit-user-select:none;user-select:none}.cad-map-attribution{position:absolute;right:8px;bottom:8px;z-index:1;border:1px solid rgba(12,20,30,.38);border-radius:4px;background:#f5f8fae0;color:#1b2835;font-size:10px;line-height:1;padding:4px 6px}.cad-map-overlay.unavailable{display:grid;place-items:center;background:#0c141e75}.cad-map-unavailable{max-width:min(320px,calc(100% - 32px));border:1px solid rgba(75,184,200,.36);border-radius:4px;background:var(--cad-float-bg);color:var(--text2);font-size:11px;line-height:1.4;padding:8px 10px;text-align:center}.cad-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.cad-canvas.base{z-index:1}.cad-canvas.point-cloud{z-index:2;pointer-events:none}.cad-canvas.overlay{z-index:3;cursor:crosshair}.cad-canvas.overlay.pan-tool{cursor:grab}.cad-canvas.overlay.pan-tool:active{cursor:grabbing}.cad-status-strip{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;color:var(--text3);border:1px solid var(--b1);border-radius:4px;padding:6px 8px;background:var(--panel-ghost-bg)}.cad-op-feed{flex-basis:100%;display:flex;flex-wrap:wrap;gap:4px;border-top:1px dashed rgba(255,255,255,.08);padding-top:6px}.cad-op-pill{border:1px solid rgba(24,144,255,.4);border-radius:99px;padding:2px 8px;font-size:10px;color:var(--acc-h);background:#1890ff1f;white-space:nowrap}.cad-op-empty{font-size:10px;color:var(--text3)}.cad-drawing-list{border:1px solid var(--b1);border-radius:4px;background:var(--panel-ghost-bg);max-height:130px;overflow:auto;display:grid;gap:4px;padding:6px}.cad-drawing-item{display:grid;grid-template-columns:110px 1fr auto;gap:8px;text-align:left;font-size:11px;color:var(--text2);border:1px solid var(--b1);border-radius:3px;padding:4px 6px;background:#ffffff05;cursor:pointer}.cad-drawing-item.active{border-color:var(--acc1);background:#0078d72e}.scene3d-workspace{height:100%;min-height:0;display:grid;grid-template-rows:1fr;background:#101419;color:var(--text2)}.scene3d-loading{height:100%;display:grid;place-items:center;background:#101419;color:var(--text3);font-size:12px}.scene3d-source-badge{min-width:18px;height:16px;display:inline-grid;place-items:center;padding:0 5px;border-radius:999px;background:#4bb8c829;color:var(--cyan);font-size:10px;font-weight:700;line-height:1}.scene3d-icon-button .scene3d-source-badge{position:absolute;top:-6px;right:-6px;min-width:16px;height:16px;padding:0 4px;font-size:9px}.scene3d-body{min-height:0;display:grid;grid-template-columns:minmax(0,1fr)}.scene3d-body.sources-open{grid-template-columns:240px minmax(0,1fr)}.scene3d-body.stats-open{grid-template-columns:minmax(0,1fr) 220px}.scene3d-body.sources-open.stats-open{grid-template-columns:240px minmax(0,1fr) 220px}.scene3d-source-panel,.scene3d-diagnostics{min-height:0;overflow:auto;border-right:1px solid var(--b1);background:var(--chrome2);padding:8px}.scene3d-diagnostics{border-right:none;border-left:1px solid var(--b1)}.scene3d-source-section{display:grid;gap:6px;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid var(--b1)}.scene3d-source-section h3,.scene3d-diagnostics h3{margin:0;color:var(--texthi);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.scene3d-source-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px;align-items:start;padding:6px;border:1px solid var(--b1);border-radius:4px;background:#ffffff06}.scene3d-source-row span{min-width:0;display:grid;gap:2px}.scene3d-source-row strong{color:var(--text2);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scene3d-source-row small,.scene3d-source-metric,.scene3d-empty{color:var(--text3);font-size:10.5px}.scene3d-source-metric{display:flex;justify-content:space-between;gap:8px}.scene3d-viewport-shell{position:relative;min-width:0;min-height:0;display:grid;overflow:hidden}.scene3d-viewport{position:relative;min-width:0;min-height:0;overflow:hidden;background:#111820}.scene3d-floating-controls{position:absolute;top:10px;left:10px;z-index:4;display:flex;flex-wrap:wrap;align-items:center;gap:5px;max-width:calc(100% - 20px);padding:5px;border:1px solid rgba(75,184,200,.24);border-radius:6px;background:#0e131ac7;box-shadow:0 8px 18px #00000042;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.scene3d-icon-button{position:relative;width:30px;height:30px;display:inline-grid;place-items:center;padding:0;border:1px solid rgba(108,124,143,.6);border-radius:4px;background:#252c37e0;color:var(--text2);cursor:pointer}.scene3d-icon-button:hover,.scene3d-icon-button:focus-visible{border-color:var(--cyan);color:var(--texthi);outline:none}.scene3d-icon-button.primary,.scene3d-icon-button.active{border-color:var(--acc1);background:#0078d747;color:var(--texthi)}.scene3d-icon{width:17px;height:17px;display:block}.scene3d-icon path,.scene3d-icon circle{fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.scene3d-z-control{height:30px;display:inline-flex;align-items:center;gap:4px;padding:0 5px;border:1px solid rgba(108,124,143,.6);border-radius:4px;background:#252c37e0;color:var(--text2)}.scene3d-render-mode-control,.scene3d-colour-control{height:30px;display:inline-flex;align-items:center;gap:5px;padding:0 5px;border:1px solid rgba(108,124,143,.6);border-radius:4px;background:#252c37e0;color:var(--text2)}.scene3d-render-mode-control:focus-within,.scene3d-colour-control:focus-within{border-color:var(--cyan)}.scene3d-render-mode-control select{width:88px;height:22px;padding:0 18px 0 5px;border-color:#6c7c8f80;background:#151b23db;color:var(--text2);font-size:11px}.scene3d-colour-control{width:54px;justify-content:center}.scene3d-colour-swatch{width:16px;height:16px;border:1px solid rgba(255,255,255,.48);border-radius:3px;box-shadow:inset 0 0 0 1px #00000047}.scene3d-colour-control input[type=color]{width:20px;height:22px;padding:0;border:0;background:transparent;cursor:pointer}.scene3d-z-control input{width:46px;height:22px;padding:0 4px;border-color:#6c7c8f80;font-size:11px}.scene3d-floating-title{position:absolute;top:11px;right:10px;z-index:3;display:grid;gap:2px;justify-items:end;max-width:min(260px,42%);padding:5px 7px;border:1px solid rgba(75,184,200,.2);border-radius:4px;background:#0a0e1494;pointer-events:none}.scene3d-floating-title strong{color:var(--texthi);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.scene3d-floating-title span{max-width:100%;overflow:hidden;color:var(--text3);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.scene3d-canvas{display:block;width:100%;height:100%}.scene3d-corner-help{position:absolute;left:10px;bottom:10px;z-index:2;pointer-events:none;padding:5px 7px;border:1px solid rgba(75,184,200,.28);border-radius:4px;background:#0a0e14b8;color:var(--text3);font-size:10.5px}.scene3d-diagnostics dl{display:grid;gap:6px;margin:8px 0}.scene3d-diagnostics dl div{display:flex;justify-content:space-between;gap:8px;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.06)}.scene3d-diagnostics dt{color:var(--text3)}.scene3d-diagnostics dd{margin:0;color:var(--text2);font-family:JetBrains Mono,monospace;font-size:10.5px;text-align:right}.scene3d-warning{margin-top:10px;border:1px solid rgba(247,198,111,.42);border-radius:4px;padding:8px;background:#f7c66f1a;color:#f7c66f;font-size:11px;line-height:1.4}@media(max-width:1080px){.scene3d-workspace{min-height:520px}.scene3d-body{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(300px,1fr)}.scene3d-body.sources-open{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(96px,auto) minmax(300px,1fr)}.scene3d-body.stats-open{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(300px,1fr) minmax(120px,auto)}.scene3d-body.sources-open.stats-open{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(96px,auto) minmax(300px,1fr) minmax(120px,auto)}.scene3d-source-panel,.scene3d-diagnostics{max-height:150px;border-right:none;border-bottom:1px solid var(--b1)}.scene3d-source-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.scene3d-source-section{min-width:0;margin:0;padding:0;border-bottom:none}.scene3d-diagnostics{border-left:none;border-top:1px solid var(--b1);border-bottom:none}}@media(max-width:720px){.scene3d-floating-controls{right:8px;left:8px;top:8px}.scene3d-floating-title{display:none}.scene3d-body{grid-template-rows:minmax(260px,1fr)}.scene3d-body.sources-open{grid-template-rows:minmax(120px,auto) minmax(260px,1fr)}.scene3d-body.stats-open{grid-template-rows:minmax(260px,1fr) minmax(120px,auto)}.scene3d-body.sources-open.stats-open{grid-template-rows:minmax(120px,auto) minmax(260px,1fr) minmax(120px,auto)}.scene3d-source-panel{grid-template-columns:minmax(0,1fr);max-height:170px}.scene3d-corner-help{right:8px;left:8px;text-align:center}}@media(max-width:1320px){.sidebar{width:250px}.rpanel{width:340px}.cad-bottom-bar{right:10px;bottom:94px}}@media(max-width:1080px){.ws{flex-direction:column}.mobile-demo-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.pane-resizer{display:none}.sidebar,.rpanel{width:100%;min-width:0;max-height:34vh;border-left:none;border-right:none;border-top:1px solid var(--b1)}.sidebar.collapsed{width:100%;min-width:0;max-width:none;min-height:34px;max-height:34px;align-items:flex-start}.sidebar.collapsed .sidebar-collapse-toggle{margin:6px 0 0 8px}.sidebar-collapsed-label{position:absolute;left:38px;top:9px;margin:0;writing-mode:horizontal-tb}.rpanel.collapsed{width:100%;min-width:0;max-width:none;min-height:34px;max-height:34px;align-items:flex-start}.rpanel.collapsed .rpanel-collapse-toggle{margin:6px 0 0 8px}.rpanel-collapsed-label{position:absolute;left:38px;top:9px;margin:0;writing-mode:horizontal-tb}.sidebar .panel-stack{grid-template-rows:1fr}}@media(max-width:720px){.tb-menu,.tb-file,.rib-body,.sidebar,.rpanel{display:none}.tb{padding:0 6px}.tb-app{font-size:12px}.rib-top{height:36px}.rt{padding:0 10px;font-size:11px}.ws{flex-direction:row}.sb{overflow-x:auto;padding:0 4px}.sbi{padding:0 7px;white-space:nowrap}}.helmert-ws{display:flex;flex-direction:column;gap:8px;padding:10px;height:100%;overflow:auto;background:var(--bg)}.helmert-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:end}.helmert-toolbar label{display:flex;flex-direction:column;font-size:11px;color:var(--txtdim);gap:2px}.helmert-toolbar input,.helmert-toolbar select{min-width:170px}.helmert-pools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.helmert-panel{border:1px solid var(--b1);background:var(--chrome2);border-radius:4px;padding:8px}.helmert-panel>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.helmert-panel h3{margin:0;font-size:12px;letter-spacing:.03em;color:var(--texthi)}.helmert-grid{width:100%;border-collapse:collapse;font-size:12px}.helmert-grid th,.helmert-grid td{border:1px solid var(--b1);padding:4px;text-align:left}.helmert-grid input{width:100%;box-sizing:border-box}.helmert-grid tr.selected{background:#4bb8c826}.helmert-grid tr.locked{opacity:.65}.helmert-grid tr.outlier{background:#c84b4b33}.helmert-grid.compact th,.helmert-grid.compact td{padding:3px 4px}.helmert-banner{padding:6px 8px;border-radius:4px;font-size:12px}.helmert-banner.error{background:#c84b4b2e;border:1px solid rgba(200,75,75,.5)}.helmert-banner.warning{background:#c8a84b2e;border:1px solid rgba(200,168,75,.5)}.helmert-banner.info{background:#4bb8c82e;border:1px solid rgba(75,184,200,.5)}.helmert-match-row{display:flex;align-items:center;justify-content:center;gap:8px}.helmert-match-row .chip{font-size:11px;padding:2px 8px;border-radius:12px;border:1px solid var(--b1);background:var(--chrome2)}.helmert-tabs{display:flex;gap:6px;margin-bottom:8px}.helmert-empty{padding:10px;color:var(--txtdim);font-size:12px}.helmert-guide{border:1px solid var(--b1);border-radius:4px;padding:6px 8px;font-size:12px;color:var(--txtdim)}.helmert-guide summary{cursor:pointer;color:var(--texthi)}.btn-row{display:flex;gap:6px;flex-wrap:wrap}.file-btn{position:relative;overflow:hidden}.file-btn input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.helmert-diag .stats-row{display:flex;gap:12px;margin-bottom:8px;font-size:12px}@media(max-width:980px){.helmert-pools{grid-template-columns:1fr}}.conversion-workspace{display:grid;gap:8px;padding:8px;min-height:0}.conversion-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:end}.conversion-mode-selector{display:grid;gap:6px;min-width:240px}.conversion-capability-hint{border:1px solid var(--b1);border-radius:999px;padding:4px 8px;font-size:11px;font-weight:600;align-self:center}.conversion-capability-hint.ready{color:var(--green)}.conversion-capability-hint.fallback{color:#f7c66f}.conversion-capability-hint.loading{color:#c8d0dc}.conversion-toolbar label{display:grid;gap:4px;min-width:130px}.conversion-panel{border:1px solid var(--b1);border-radius:6px;padding:10px;background:var(--chrome2)}.conversion-panel>header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.conversion-panel-subtitle{margin:2px 0 0;color:var(--text3);font-size:11px}.conversion-grid-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.conversion-grid-fields label{display:grid;gap:4px}.conversion-grid-fields.projection{margin-top:8px}.conversion-route-main{grid-template-columns:minmax(220px,1.2fr) minmax(220px,1.2fr) repeat(auto-fit,minmax(120px,.7fr))}.conversion-data-source-row{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:8px;align-items:end;margin-bottom:8px}.conversion-data-source-row label{display:grid;gap:4px}.conversion-compact-details{margin-top:8px;border:1px solid var(--b1);border-radius:4px;background:#ffffff06}.conversion-compact-details summary,.conversion-library-panel summary{cursor:pointer;padding:7px 8px;color:var(--texthi);font-weight:700}.conversion-compact-details>.conversion-grid-fields,.conversion-library-panel details>.conversion-grid-fields,.conversion-library-panel details>table{margin:8px}.conversion-grid-table{width:100%;border-collapse:collapse}.conversion-grid-table th,.conversion-grid-table td{border:1px solid var(--b1);padding:4px 6px;text-align:left}.conversion-grid-table td input,.conversion-grid-fields input,.conversion-grid-fields select,.conversion-data-source-row select,.conversion-toolbar select{width:100%}.conversion-library-panel{padding:0}.conversion-library-panel details>summary{display:flex;justify-content:space-between;gap:12px;align-items:center}.conversion-library-panel summary small{color:var(--text3);font-weight:500}.conversion-grid-table tr.selected{background:#4bb8c81f}.conversion-grid-table tr.error{background:#c84b4b1f}.conversion-result-block{margin-bottom:10px}.conversion-result-stats{display:flex;gap:12px;margin-bottom:6px}.conversion-warning-list{margin-top:6px;color:#f7c66f}.conversion-banner{border-radius:6px;padding:8px 10px;border:1px solid var(--b1)}.conversion-banner.info{background:#4bb8c81f}.conversion-banner.warning{background:#f7c66f1f}.conversion-banner.error{background:#c84b4b1f}.conversion-capability-retry{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px dashed var(--b1);border-radius:6px;padding:8px 10px}.conversion-export-actions{justify-content:flex-end}.conversion-workflow-hint{margin-top:8px;color:var(--text3);font-size:12px}.conversion-path-summary{margin-top:10px;border-top:1px dashed var(--b1);padding-top:8px;display:grid;gap:6px}.conversion-path-header{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.conversion-path-summary ol{margin:0;padding-left:18px;display:grid;gap:4px}.conversion-path-chip{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:600;border:1px solid var(--b1);width:fit-content}.conversion-path-chip.format-only{background:#4bb8c81f}.conversion-path-chip.projection-only{background:#64a0ff1f}.conversion-path-chip.datum-only{background:#f7c66f1f}.conversion-path-chip.projection-and-datum{background:#e5833929}.conversion-path-chip.custom-or-unknown{background:#c84b4b29}.conversion-path-recommendation{display:flex;align-items:center;gap:8px}.conversion-error-list{color:#ff8b8b;display:grid;gap:4px}.engineering-workspace{display:grid;gap:10px;padding:10px}.engineering-header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.engineering-header h2{margin:0;font-size:14px;letter-spacing:.04em;color:var(--texthi)}.engineering-header p{margin:4px 0 0;color:var(--text3);font-size:12px}.engineering-tabs{display:flex;gap:6px;flex-wrap:wrap}.engineering-status{padding:0 2px}.engineering-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:10px}.engineering-textarea-label{display:grid;gap:6px;margin-top:8px}.engineering-textarea-label textarea{width:100%;resize:vertical}.engineering-query-result{margin:8px 0 0;min-height:62px;border:1px solid var(--b1);background:var(--chrome3);color:var(--text2);padding:8px;white-space:pre-wrap;overflow:auto}.engineering-summary{margin-top:8px;display:flex;flex-wrap:wrap;gap:10px;color:var(--text2);font-size:12px}.eng-badge{display:inline-flex;align-items:center;border-radius:999px;border:1px solid var(--b1);padding:2px 8px;font-size:11px}.eng-badge.clean{background:#3db87a24;color:var(--green)}.eng-badge.dirty{background:#c84b4b24;color:#ffb2b2}.traverse-workspace .traverse-section-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.traverse-workspace .traverse-section-tabs button{border:1px solid var(--b1);background:var(--chrome);color:var(--text2);font-size:11px;padding:6px 8px;cursor:pointer}.traverse-workspace .traverse-section-tabs button.active{border-color:var(--cyan);color:var(--texthi);background:#4bb8c824}.traverse-capture-grid{display:grid;grid-template-columns:220px 1fr;gap:10px}.traverse-setups-list{border:1px solid var(--b1);background:var(--bg2);padding:8px;min-height:300px}.traverse-setup-item{width:100%;display:flex;justify-content:space-between;align-items:center;border:1px solid var(--b1);background:var(--chrome);color:var(--text2);margin-bottom:6px;padding:6px;cursor:pointer}.traverse-setup-item.active{border-color:var(--cyan);color:var(--texthi)}.traverse-setup-state.ok{color:#3db87a}.traverse-setup-state.warning{color:#f6bf5b}.traverse-setup-state.error{color:#ff7f7f}.traverse-setup-editor{border:1px solid var(--b1);background:var(--chrome);padding:8px}.traverse-station-block{border:1px solid var(--b1);margin-top:10px;padding:8px}.traverse-station-block h3{margin:0 0 8px;font-size:12px;color:var(--texthi)}.traverse-validation-list{list-style:none;margin:0;padding:0}.traverse-validation-list li{border:1px solid var(--b1);margin-bottom:6px;padding:6px 8px;background:var(--chrome)}.traverse-validation-list li.error{border-color:#d76b6b}.traverse-validation-list li.warning{border-color:#c8a84b}.field-traverse-workspace{display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;padding:10px;height:100%;min-height:0;background:var(--bg);overflow:hidden}.field-traverse-header,.field-traverse-section>header,.field-traverse-observation-group>header,.field-traverse-reduction-table>header,.field-traverse-side-panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.field-traverse-header h2,.field-traverse-section h3,.field-traverse-observation-group h4,.field-traverse-reduction-table h4,.field-traverse-side-panel h3{margin:0;color:var(--texthi);letter-spacing:0}.field-traverse-header p,.field-traverse-section>header span,.field-traverse-side-panel,.field-traverse-summary-list,.field-traverse-table,.field-traverse-form-grid label,.field-traverse-inline-check,.field-traverse-metric span{color:var(--text2)}.field-traverse-header p{margin:4px 0 0;font-size:12px}.field-traverse-title{display:grid;gap:2px;min-width:0}.field-traverse-title span{color:var(--text3);font-size:11px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-traverse-shell{display:grid;grid-template-columns:170px minmax(0,1fr);gap:10px;height:100%;min-height:0;overflow:hidden}.field-traverse-nav,.field-traverse-main{min-height:0}.field-traverse-nav{overflow:auto}.field-traverse-nav,.field-traverse-side-panel,.field-traverse-section,.field-traverse-setup-list,.field-traverse-setup-editor,.field-traverse-observation-group{border:1px solid var(--b1);background:var(--chrome)}.field-traverse-nav{display:grid;gap:6px;padding:8px;align-content:start;min-width:0}.field-traverse-nav button{min-height:34px;border:1px solid var(--b1);background:var(--chrome2);color:var(--text2);padding:0 10px;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-traverse-nav button.active{border-color:var(--cyan);background:#4bb8c824;color:var(--texthi)}.field-traverse-main{display:grid;align-content:start;min-height:0;overflow:auto}.field-traverse-section{display:grid;gap:12px;padding:10px;min-height:min-content;min-width:0}.field-traverse-header-actions,.field-traverse-stats{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.field-traverse-header-actions{justify-content:flex-end}.field-traverse-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.field-traverse-form-grid.two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.field-traverse-form-grid.compact{grid-template-columns:repeat(auto-fit,minmax(135px,1fr))}.field-traverse-form-grid label,.field-traverse-textarea{display:grid;gap:6px;font-size:12px}.field-traverse-form-grid input,.field-traverse-form-grid select,.field-traverse-textarea textarea,.field-traverse-table input,.field-traverse-table select{min-height:30px;border:1px solid var(--b1);background:var(--chrome2);color:var(--texthi);padding:0 8px}.field-traverse-textarea textarea{min-height:180px;resize:vertical;padding:8px}.field-traverse-inline-check{grid-template-columns:auto 1fr;align-items:center}.field-traverse-metric{min-width:120px;display:grid;gap:4px;padding:8px 10px;border:1px solid var(--b1);background:var(--chrome2)}.field-traverse-metric strong{color:var(--texthi);font-size:13px;font-weight:600}.field-traverse-metric.ok{border-color:#3db87a66}.field-traverse-metric.warning{border-color:#f6bf5b73}.field-traverse-metric.error{border-color:#d76b6b73}.field-traverse-book-grid,.field-traverse-output-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:10px;min-height:0;min-width:0}.field-traverse-output-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.95fr)}.field-traverse-setup-list{display:grid;gap:6px;padding:8px;align-content:start}.field-traverse-setup-list button{display:grid;gap:3px;border:1px solid var(--b1);background:var(--chrome2);color:var(--text2);padding:8px 10px;text-align:left}.field-traverse-setup-list button.active{border-color:var(--cyan);color:var(--texthi)}.field-traverse-setup-list small{color:var(--text3)}.field-traverse-setup-editor{display:grid;gap:10px;padding:10px;min-width:0}.field-traverse-observation-group,.field-traverse-reduction-table{display:grid;gap:8px;padding:8px}.field-traverse-table-wrap{overflow:auto;min-width:0}.field-traverse-table{width:100%;min-width:720px;border-collapse:collapse;font-size:12px}.field-traverse-table.compact{min-width:900px}.field-traverse-table th,.field-traverse-table td{border:1px solid var(--b1);padding:6px 8px;vertical-align:top}.field-traverse-table th{background:var(--chrome2);color:var(--texthi);font-weight:600}.field-traverse-table.compact th,.field-traverse-table.compact td{padding:5px 6px}.field-traverse-table input,.field-traverse-table select{width:100%;min-width:0;box-sizing:border-box}.empty-cell{text-align:center;color:var(--text3)}@media(max-width:1320px){.field-traverse-shell{grid-template-columns:150px minmax(0,1fr)}}@media(max-width:1120px){.field-traverse-book-grid,.field-traverse-output-grid{grid-template-columns:1fr}}@media(max-width:820px){.field-traverse-shell{grid-template-columns:1fr}.field-traverse-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.field-traverse-form-grid.two-column,.field-traverse-form-grid.compact{grid-template-columns:1fr}}.auth-screen{min-height:100%;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#121c27eb,#19262ec2),var(--chrome)}.auth-panel{width:min(390px,100%);display:grid;gap:14px;padding:22px;border:1px solid var(--b1);border-radius:8px;background:var(--chrome2);box-shadow:0 20px 60px #00000047}.auth-panel-compact{color:var(--text2);text-align:center}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:4px}.auth-brand img{width:38px;height:38px;object-fit:contain}.auth-brand strong,.auth-admin-modal h2{color:var(--texthi);font-size:16px;letter-spacing:0}.auth-brand span,.auth-user-list article span{display:block;color:var(--text2);font-size:12px}.auth-panel label,.auth-user-form label{display:grid;gap:6px;color:var(--text2);font-size:12px}.auth-panel input,.auth-user-form input{min-height:32px;border:1px solid var(--b1);border-radius:4px;background:var(--chrome3);color:var(--texthi);padding:0 10px}.auth-check{grid-template-columns:auto 1fr;align-items:center}.auth-primary,.auth-session-bar button,.auth-admin-modal button,.auth-user-form button{min-height:28px;border:1px solid var(--b1);border-radius:4px;background:var(--chrome3);color:var(--texthi);padding:0 10px;font-weight:600}.auth-session-bar .auth-theme-toggle{min-width:64px;border-color:var(--acc);background:var(--chrome3)}.auth-primary{background:var(--acc);color:#fff;border-color:var(--acc)}.auth-error{border:1px solid rgba(205,77,77,.5);border-radius:4px;color:#ffb2aa;background:#78161638;padding:8px 10px;font-size:12px}.auth-session-bar{position:fixed;top:3px;right:10px;z-index:50;display:flex;align-items:center;gap:6px;max-width:min(52vw,520px);padding-left:8px;background:var(--title);color:var(--text2);font-size:12px}.auth-session-bar span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:20px;background:#00000075}.auth-admin-modal{width:min(860px,100%);max-height:min(720px,92vh);overflow:auto;border:1px solid var(--b1);border-radius:8px;background:var(--chrome2);padding:16px;box-shadow:0 18px 70px #00000059}.auth-admin-modal header,.auth-user-list article,.auth-user-list article>div:last-child{display:flex;align-items:center;gap:8px}.auth-admin-modal header{justify-content:space-between;margin-bottom:14px}.auth-user-form{display:grid;grid-template-columns:minmax(150px,1fr) minmax(130px,.8fr) minmax(130px,.8fr) auto auto;gap:8px;align-items:center;margin-bottom:12px}.auth-user-list{display:grid;gap:8px}.auth-user-list article{justify-content:space-between;border:1px solid var(--b1);border-radius:6px;padding:10px;background:var(--chrome3)}.auth-user-list article.disabled{opacity:.62}@media(max-width:720px){.auth-session-bar{left:8px;right:8px;max-width:none;justify-content:flex-end}.auth-user-form,.auth-user-list article{grid-template-columns:1fr;display:grid}}.platform-dashboard{height:100%;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:10px;padding:12px;background:var(--chrome);color:var(--texthi)}.platform-dashboard-blocked,.platform-dashboard-loading{display:grid;place-items:center;min-height:240px;border:1px solid var(--b1);background:var(--chrome2)}.platform-dashboard-header,.platform-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.platform-dashboard-header h2,.platform-panel-header h3,.platform-panel-content h4,.platform-summary-strip h3{margin:0;font-size:14px;color:var(--texthi)}.platform-dashboard-header p{margin:4px 0 0;color:var(--text2);font-size:12px}.platform-dashboard-actions{display:flex;align-items:center;gap:8px}.platform-dashboard-actions span{color:var(--text2);font-size:12px}.platform-dashboard-actions button,.platform-panel button{min-height:28px;border:1px solid var(--b1);border-radius:4px;background:var(--chrome3);color:var(--texthi);padding:0 10px}.platform-dashboard-actions button.primary{border-color:var(--acc);background:#2794ff2e}.platform-dashboard-actions button.danger{border-color:#cd4d4d8c;background:#78161638}.platform-summary-strip{border:1px solid var(--b1);background:var(--chrome2);padding:10px}.platform-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:8px}.platform-summary-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.platform-summary-card{display:grid;gap:4px;padding:10px;border:1px solid var(--b1);background:var(--chrome3)}.platform-summary-card span{font-size:11px;color:var(--text2);text-transform:uppercase}.platform-summary-card strong{font-size:18px;color:var(--texthi)}.platform-dashboard-grid{min-height:0;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);grid-template-rows:auto minmax(0,1fr) auto;gap:10px}.platform-tabs{display:flex;min-width:0;overflow-x:auto;gap:6px;border-bottom:1px solid var(--b1)}.platform-tabs button{min-height:30px;border:1px solid transparent;border-bottom:0;border-radius:4px 4px 0 0;background:transparent;color:var(--text2);padding:0 12px;white-space:nowrap}.platform-tabs button.active{border-color:var(--b1);background:var(--chrome2);color:var(--texthi)}.platform-tab-body{min-height:0;overflow:auto}.platform-tab-grid{min-height:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-auto-rows:minmax(220px,auto);gap:10px}.platform-full,.platform-summary-strip{grid-column:1 / -1}.platform-split{min-height:100%;display:grid;grid-template-columns:minmax(360px,.9fr) minmax(420px,1.1fr);gap:10px}.platform-panel{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);border:1px solid var(--b1);background:var(--chrome2)}.platform-panel-wide{grid-row:span 2}.platform-panel-content{min-height:0;overflow:auto;padding:10px}.platform-inline-form,.platform-detail-stack{display:grid;gap:8px;padding:10px}.platform-inline-form{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:end;border-bottom:1px solid var(--b1)}.platform-inline-form input,.platform-inline-form select{min-height:28px;border:1px solid var(--b1);border-radius:4px;background:var(--chrome);color:var(--texthi);padding:0 8px}.platform-table button.link{border:0;background:transparent;color:var(--acc);padding:0;text-align:left}.platform-table button.link.active{color:var(--texthi);font-weight:700}.platform-empty{margin:0;padding:12px;color:var(--text2);font-size:12px}.platform-stack{display:grid;gap:14px}.platform-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px}.platform-table th,.platform-table td{border:1px solid var(--b1);padding:6px 8px;text-align:left;vertical-align:top}.platform-table th{position:sticky;top:0;z-index:1;background:var(--chrome3);color:var(--text2);font-weight:600}@media(max-width:1280px){.platform-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.platform-dashboard-grid,.platform-tab-grid,.platform-split{grid-template-columns:1fr}.platform-panel-wide{grid-row:span 1}}.auth-session-bar+.shell-app .tb-wc{display:none}
