.details-heading-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.remove-patch-button{color:var(--error);border-color:var(--error-border)}.remove-patch-button:hover:not(:disabled){color:var(--error);border-color:var(--error);background:var(--error-pale)}@font-face{font-family:Martel;src:url(/assets/Martel-Light-MI-dJvs-.ttf) format("truetype");font-style:normal;font-weight:300;font-display:swap}@font-face{font-family:Martel Sans;src:url(/assets/MartelSans-Regular-C6IBoioC.ttf) format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Martel Sans;src:url(/assets/MartelSans-SemiBold-C7r9I-I7.ttf) format("truetype");font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:Martel Sans;src:url(/assets/MartelSans-Bold-CCjpa6op.ttf) format("truetype");font-style:normal;font-weight:700;font-display:swap}:root{color:#000;background:#f5f4f3;font-family:Martel Sans,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;font-weight:400;--ink: #000000;--muted: #595959;--soft-muted: #8a9aab;--line: #d8e0ea;--paper: #ffffff;--page: #f5f4f3;--blue: #338ee8;--blue-hover: #2479c7;--blue-pale: #e6f2fc;--blue-border: #b3d6f5;--success: #166534;--success-pale: #dcfce7;--success-border: #a7f3d0;--warning: #b45309;--warning-pale: #ffedd5;--warning-border: #fdba74;--error: #b91c1c;--error-pale: #fee2e2;--error-border: #fecaca}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{min-width:320px;min-height:100%;overflow:hidden;color:var(--ink);background:var(--page)}h1,h2,h3,h4,h5,h6{font-family:Martel,Georgia,serif;font-weight:300}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #595959;outline-offset:2px}.workbench{display:grid;width:100%;height:100dvh;grid-template-rows:62px minmax(0,1fr);background:var(--page)}.app-header{display:flex;align-items:center;gap:24px;padding:0 20px;border-bottom:1px solid var(--line);background:var(--paper);z-index:3}.brand-mark{display:flex;align-items:center;gap:12px;min-width:220px;color:var(--ink);text-decoration:none}.brand-logo{display:block;width:104px;height:auto;max-height:30px;object-fit:contain}.brand-copy{display:grid;line-height:1.05}.brand-copy strong{font-size:11px;font-weight:700}.brand-copy small{margin-top:4px;color:var(--muted);font-size:9px;font-weight:600}.header-context{display:flex;min-width:0;align-items:center;gap:12px;color:var(--muted);font-size:12px}.header-context strong{overflow:hidden;color:var(--ink);font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.header-divider,.toolbar-divider{width:1px;height:18px;background:var(--line)}.header-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.environment-badge{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid var(--line);border-radius:5px;color:var(--ink);background:var(--page);font-size:11px;font-weight:600}.environment-badge span{width:7px;height:7px;border-radius:50%;background:var(--blue)}.avatar{display:grid;width:30px;height:30px;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:var(--page);font-size:12px;font-weight:700}.mobile-tabs{display:none}.workspace{display:grid;min-height:0;grid-template-columns:252px minmax(0,1fr) 326px}.patch-sidebar,.details-panel{min-height:0;overflow:auto;background:var(--paper)}.patch-sidebar{display:flex;flex-direction:column;padding:21px 14px 12px;border-right:1px solid var(--line)}.sidebar-heading,.section-heading-row,.details-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.sidebar-heading{padding:0 4px;margin-bottom:16px}.section-kicker{margin:0 0 5px;color:var(--muted);font-size:9px;font-weight:600;text-transform:uppercase}.sidebar-heading h1{margin:0;font-size:19px;font-weight:300}.icon-button{display:inline-grid;flex:0 0 auto;width:34px;height:34px;place-items:center;border:1px solid transparent;border-radius:6px;color:var(--muted);background:transparent;cursor:pointer}.icon-button:hover:not(:disabled){border-color:var(--line);color:var(--ink);background:var(--page)}.icon-button:disabled{opacity:.42;cursor:not-allowed}.primary-button,.secondary-button,.publish-button{display:inline-flex;min-height:36px;align-items:center;justify-content:center;gap:8px;padding:0 12px;border:1px solid var(--line);border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.primary-button,.publish-button{color:var(--ink);border-color:var(--ink);background:var(--paper)}.primary-button:hover:not(:disabled),.publish-button:hover:not(:disabled){color:var(--ink);border-color:var(--muted);background:var(--page)}.primary-button:disabled,.secondary-button:disabled,.publish-button:disabled{opacity:.45;cursor:not-allowed}.secondary-button{color:var(--ink);background:var(--page)}.secondary-button:hover:not(:disabled){border-color:var(--muted);background:var(--paper)}.create-button{width:100%;margin-bottom:13px}.search-box{display:flex;height:36px;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--line);border-radius:6px;color:var(--muted);background:var(--paper)}.search-box input{width:100%;min-width:0;border:0;outline:0;color:var(--ink);background:transparent;font-size:12px}.search-box input::placeholder{color:var(--soft-muted)}.patch-list{display:grid;align-content:start;gap:4px;margin-top:12px}.patch-row{display:flex;width:100%;min-height:55px;align-items:center;gap:10px;padding:8px 9px;border:1px solid transparent;border-radius:6px;text-align:left;background:transparent;cursor:pointer}.patch-row:hover{background:var(--page)}.patch-row.is-selected{border-color:var(--blue-border);background:var(--blue-pale)}.patch-row-mark{display:grid;flex:0 0 auto;width:30px;height:30px;place-items:center;border-radius:6px;color:var(--blue-hover);background:var(--blue-pale)}.patch-row-copy{display:grid;min-width:0;gap:4px;flex:1}.patch-row-copy strong{overflow:hidden;font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.patch-row-copy small{color:var(--muted);font-size:10px;text-transform:capitalize}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--soft-muted)}.status-dot.published{background:var(--success)}.quiet-state{margin:12px 0;color:var(--muted);font-size:12px;line-height:1.5}.sidebar-footer{display:flex;align-items:center;gap:7px;padding:12px 4px 2px;margin-top:auto;border-top:1px solid var(--line);color:var(--muted);font-size:10px}.map-workspace{display:grid;min-width:0;min-height:0;grid-template-rows:58px auto minmax(0,1fr) 28px;background:var(--page)}.editor-toolbar{display:flex;min-width:0;align-items:center;gap:16px;padding:0 15px;border-bottom:1px solid var(--line);background:var(--paper)}.toolbar-context,.toolbar-actions,.drawing-controls{display:flex;align-items:center;gap:8px}.toolbar-context{min-width:146px;gap:10px}.edit-label{color:var(--muted);font-size:11px;white-space:nowrap}.version-chip{display:inline-flex;align-items:center;min-height:22px;padding:0 7px;border-radius:4px;color:var(--muted);background:var(--page);font-size:9px;font-weight:700;text-transform:uppercase;white-space:nowrap}.version-chip.published{color:var(--success);background:var(--success-pale)}.version-chip.empty{color:var(--muted);background:var(--page)}.drawing-controls{padding:3px;border:1px solid var(--line);border-radius:7px;background:var(--page)}.mode-button,.tool-button{display:inline-flex;height:30px;align-items:center;justify-content:center;gap:6px;padding:0 9px;border:1px solid transparent;border-radius:5px;color:var(--muted);background:transparent;font-size:11px;font-weight:600;cursor:pointer}.mode-button:hover:not(:disabled),.tool-button:hover:not(:disabled){color:var(--ink);background:var(--paper)}.mode-button.selected.include{color:var(--blue-hover);border-color:var(--blue-border);background:var(--blue-pale)}.mode-button.selected.exclude{color:var(--ink);border-color:var(--muted);background:var(--page)}.tool-button{width:32px;padding:0}.tool-button.selected{color:var(--blue-hover);background:var(--blue-pale)}.mode-button:disabled,.tool-button:disabled{opacity:.45;cursor:not-allowed}.toolbar-actions{margin-left:auto}.save-button{min-width:125px}.cancel-button{min-width:60px}.notice{display:flex;min-height:36px;align-items:center;gap:9px;padding:0 14px;color:var(--success);border-bottom:1px solid var(--success-border);background:var(--success-pale);font-size:11px}.notice.error{color:var(--error);border-color:var(--error-border);background:var(--error-pale)}.notice span{flex:1}.notice-dismiss{width:26px;height:26px}.map-stage{position:relative;grid-row:3;min-height:0;overflow:hidden;background:var(--page)}.map-frame,.map-canvas{position:absolute;inset:0;width:100%;height:100%}.map-canvas{background:var(--page)}.map-configuration{position:absolute;top:50%;left:50%;display:grid;width:min(320px,calc(100% - 32px));justify-items:center;gap:10px;padding:24px;border:1px solid var(--line);border-radius:8px;text-align:center;background:#fffffff5;box-shadow:0 12px 36px #00000014;transform:translate(-50%,-50%)}.map-configuration-icon,.empty-map-icon,.dialog-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:8px;color:var(--blue-hover);background:var(--blue-pale)}.map-configuration h2{margin:0;font-size:15px;font-weight:300}.map-configuration p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.map-configuration code{padding:5px 7px;border-radius:4px;color:var(--ink);background:var(--page);font-size:10px}.map-error{position:absolute;top:12px;left:50%;display:flex;max-width:min(520px,calc(100% - 32px));align-items:center;gap:8px;padding:9px 12px;border:1px solid var(--error-border);border-radius:5px;color:var(--error);background:var(--error-pale);font-size:11px;transform:translate(-50%)}.map-fit-button{position:absolute;right:12px;bottom:60px;z-index:2;border-color:var(--line);background:var(--paper);box-shadow:0 2px 6px #00000014}.map-fit-button:disabled{opacity:.45}.map-srid{position:absolute;right:12px;bottom:12px;z-index:1;padding:5px 7px;border:1px solid var(--line);border-radius:4px;color:var(--muted);background:#fffffff0;font-size:9px}.map-legend{position:absolute;left:13px;bottom:12px;display:flex;gap:13px;padding:7px 9px;border:1px solid var(--line);border-radius:5px;color:var(--muted);background:#fffffff5;font-size:10px}.map-legend span{display:inline-flex;align-items:center;gap:6px}.map-legend i{width:10px;height:10px;border-radius:2px}.legend-effective{background:#595959}.legend-component{background:var(--blue)}.legend-overlap{background:var(--error)}.legend-shared{background:var(--warning)}.map-status{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid var(--line);border-radius:5px;color:var(--muted);background:#fffffff5;font-size:10px}.map-empty-state{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--ink);text-align:center}.map-empty-state strong{margin-top:3px;font-size:14px}.map-empty-state>span{color:var(--muted);font-size:12px}.empty-map-icon{width:44px;height:44px}.map-empty-state .secondary-button{margin-top:8px}.map-loading,.panel-loading{position:absolute;z-index:2;top:12px;left:50%;display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid var(--line);border-radius:5px;color:var(--muted);background:var(--paper);font-size:11px;transform:translate(-50%)}.map-footer{display:flex;grid-row:4;align-items:center;justify-content:space-between;padding:0 13px;border-top:1px solid var(--line);color:var(--muted);background:var(--paper);font-size:9px}.details-panel{padding:21px 17px 14px;border-left:1px solid var(--line)}.details-heading{margin-bottom:20px}.details-heading .section-kicker{margin-bottom:8px}.draft-button{min-height:31px;padding:0 9px;font-size:10px}.name-form{display:grid;gap:7px;padding-bottom:18px;border-bottom:1px solid var(--line)}.name-form label,.create-dialog label{color:var(--muted);font-size:10px;font-weight:600}.name-input-row{display:flex;align-items:center;gap:5px}.name-input-row input,.create-dialog input{width:100%;min-width:0;height:36px;padding:0 9px;border:1px solid var(--line);border-radius:5px;color:var(--ink);background:var(--paper);font-size:12px}.name-input-row input:disabled{color:var(--muted);background:var(--page)}.name-input-row .icon-button{width:32px;height:32px;border-color:var(--line)}.inspector-section{padding:17px 0;border-bottom:1px solid var(--line)}.section-heading-row{align-items:end}.section-heading-row h2{display:flex;align-items:center;gap:7px;margin:0;font-size:14px;font-weight:300}.section-heading-row h2 span{display:inline-grid;min-width:19px;height:19px;place-items:center;padding:0 5px;border-radius:50%;color:var(--muted);background:var(--page);font-family:Martel Sans,Arial,sans-serif;font-size:9px}.component-list{display:grid;gap:5px;margin-top:12px}.component-row{display:flex;flex-wrap:wrap;min-height:47px;align-items:center;gap:4px;padding:4px 4px 4px 0;border:1px solid transparent;border-radius:5px}.component-row.selected{border-color:var(--blue-border);background:var(--blue-pale)}.component-select{display:flex;flex:1;min-width:0;align-items:center;gap:9px;padding:4px;border:0;text-align:left;background:transparent;cursor:pointer}.component-symbol{display:grid;flex:0 0 auto;width:25px;height:25px;place-items:center;border-radius:5px}.component-symbol.include{color:var(--blue-hover);background:var(--blue-pale)}.component-symbol.exclude{color:var(--ink);background:var(--page)}.component-label{display:grid;min-width:0;gap:3px}.component-label strong{font-size:11px;font-weight:600}.component-label small{overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.component-delete{width:29px;height:29px;color:var(--soft-muted)}.component-delete:hover:not(:disabled){color:var(--error);background:var(--error-pale)}.component-provenance{flex-basis:100%;min-width:0;padding:4px;color:var(--muted);font-size:10px}.component-provenance summary{cursor:pointer}.component-provenance dl{margin:8px 0}.component-provenance dt{font-weight:600}.component-provenance dd{margin:2px 0 8px;overflow-wrap:anywhere}.suburb-toggle{margin-top:12px}.suburb-search{display:grid;min-width:0;gap:7px;margin-top:8px}.suburb-search label{color:var(--muted);font-size:11px}.suburb-search input{width:100%;min-width:0;height:36px;padding:0 9px;border:1px solid var(--line);border-radius:5px;background:var(--paper);color:var(--ink);font-size:12px}.suburb-results{display:grid;gap:3px;max-height:220px;overflow:auto;margin:0;padding:0;list-style:none}.suburb-results button{display:flex;width:100%;align-items:center;gap:8px;padding:8px;border:0;border-bottom:1px solid var(--line);color:var(--ink);background:var(--paper);text-align:left;cursor:pointer}.suburb-results button:hover:not(:disabled){background:var(--page)}.suburb-results button:disabled{opacity:.5;cursor:not-allowed}.suburb-results span{display:grid;min-width:0;gap:4px;overflow-wrap:anywhere}.suburb-results strong{font-size:11px}.suburb-results small{color:var(--muted);font-size:10px}.selected-suburb{display:flex;min-width:0;align-items:center;gap:8px;font-size:12px}.selected-suburb span{flex:1;overflow-wrap:anywhere}.validation-section{border-bottom:0}.address-section{grid-column:1 / -1}.address-section h2{margin:0;font-size:14px;font-weight:300}.address-section .metric-row{margin-top:8px}.address-acknowledge{display:flex;align-items:flex-start;gap:7px;margin-top:12px;color:var(--muted);font-size:10px;line-height:1.5}.address-acknowledge input{flex:0 0 auto;margin-top:2px}.validation-indicator{padding:5px 7px;border-radius:4px;font-size:9px;font-weight:700;text-transform:uppercase}.validation-indicator.pending{color:var(--warning);background:var(--warning-pale)}.validation-indicator.valid{color:var(--success);background:var(--success-pale)}.validation-indicator.invalid{color:var(--error);background:var(--error-pale)}.validation-results{display:grid;gap:9px;margin-top:13px}.metric-row{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:10px}.metric-row strong{color:var(--ink);font-size:10px;font-weight:600;text-align:right}.validation-error{display:flex;align-items:flex-start;gap:7px;margin:2px 0 0;color:var(--error);font-size:10px;line-height:1.45}.validation-error svg{flex:0 0 auto;margin-top:1px}.validation-issue{display:flex;align-items:flex-start;gap:7px;margin:2px 0 0;font-size:10px;line-height:1.45}.validation-issue svg{flex:0 0 auto;margin-top:1px}.validation-issue.error{color:var(--error)}.validation-issue.warning{color:var(--warning)}.validation-issue.information{color:var(--muted)}.conflict-row{display:flex;align-items:flex-start;gap:8px;padding:9px;border:1px solid var(--error-border);border-radius:5px;color:var(--error);background:var(--error-pale)}.conflict-row.shared{border-color:var(--warning-border);color:var(--warning);background:var(--warning-pale)}.conflict-copy{display:grid;min-width:0;flex:1;gap:5px}.conflict-row strong{font-size:10px}.conflict-row small{color:var(--muted);font-size:9px;text-transform:capitalize}.conflict-action{justify-self:start;min-height:28px;margin-top:3px;font-size:10px}.overlap-exception-form{display:grid;min-width:0;gap:7px;padding-top:5px}.overlap-exception-form label{color:var(--ink);font-size:10px}.overlap-exception-form textarea{width:100%;min-width:0;min-height:56px;padding:7px;border:1px solid var(--line);border-radius:4px;color:var(--ink);background:var(--paper);font:inherit;resize:vertical}.publish-button{width:100%;margin-top:13px}.details-meta{display:grid;gap:6px;padding-top:14px;color:var(--soft-muted);font-size:9px}.assignment-section{display:grid;gap:10px}.assignment-section .section-heading-row{align-items:center}.assignment-list,.agent-options,.history-events,.published-component-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.assignment-row{display:flex;min-width:0;align-items:flex-start;gap:6px;padding:8px 0;border-bottom:1px solid var(--line)}.assignment-copy{display:grid;min-width:0;flex:1;gap:3px}.assignment-copy strong{font-size:11px}.assignment-copy small{color:var(--muted);font-size:9px;overflow-wrap:anywhere}.assignment-remove{width:28px;height:28px;color:var(--soft-muted)}.assignment-remove:hover:not(:disabled){color:var(--error);background:var(--error-pale)}.assignment-form{display:grid;gap:7px;padding-top:4px}.assignment-form>label,.assignment-date-grid label{display:grid;gap:5px;color:var(--muted);font-size:10px;font-weight:600}.assignment-search{display:flex;min-width:0;height:35px;align-items:center;gap:7px;padding:0 8px;border:1px solid var(--line);border-radius:5px;color:var(--muted);background:var(--paper)}.assignment-search input{width:100%;min-width:0;border:0;outline:0;color:var(--ink);background:transparent;font-size:11px}.agent-options{max-height:150px;overflow:auto}.agent-option{display:flex;width:100%;align-items:center;gap:7px;padding:7px;border:1px solid var(--line);border-radius:5px;color:var(--ink);background:var(--paper);font-size:10px;text-align:left;cursor:pointer}.agent-option:hover{background:var(--page)}.selected-agent{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 0;font-size:11px}.assignment-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.assignment-date-grid input{width:100%;min-width:0;height:34px;padding:0 5px;border:1px solid var(--line);border-radius:5px;color:var(--ink);background:var(--paper);font:inherit;font-size:10px}.assignment-unbounded{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px}.assignment-unbounded input{flex:0 0 auto;margin:0}.assignment-submit{justify-self:start}.history-section{padding-top:11px}.history-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px;padding:5px 0;border:0;color:var(--ink);background:transparent;text-align:left;cursor:pointer}.history-toggle>span:first-child{display:flex;align-items:center;gap:8px}.history-toggle strong{font-size:12px;font-weight:600}.history-toggle>span:last-child{color:var(--muted);font-size:10px}.history-content{display:grid;gap:8px;padding-top:8px}.history-version{display:grid;gap:5px;padding:9px;border:1px solid var(--line);border-radius:5px;background:var(--paper)}.history-version-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.history-version-heading>strong{font-size:11px}.history-version>p{margin:0;color:var(--muted);font-size:9px;line-height:1.4}.history-open{justify-self:start;min-height:29px;margin-top:2px;font-size:10px}.history-events{gap:7px;padding-top:6px}.history-events li{display:grid;gap:3px}.history-events strong{color:var(--ink);font-size:9px;text-transform:capitalize}.history-events small{color:var(--muted);font-size:9px;overflow-wrap:anywhere}.history-activity{padding-top:4px;color:var(--muted);font-size:10px}.history-activity summary{cursor:pointer}.published-catalog{display:grid;min-width:0;min-height:0;grid-template-columns:252px minmax(0,1fr);background:var(--page)}.published-sidebar{display:flex;min-height:0;flex-direction:column;gap:10px;overflow:auto;padding:18px 13px 10px;border-right:1px solid var(--line);background:var(--paper)}.published-sidebar-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.published-sidebar-heading h1{margin:0;font-size:18px;font-weight:300}.catalog-back{justify-self:start;min-height:32px}.published-list{display:grid;align-content:start;gap:4px;overflow:auto;margin-top:2px}.published-row{display:flex;width:100%;min-height:48px;align-items:center;gap:8px;padding:7px;border:1px solid transparent;border-radius:5px;text-align:left;background:transparent;cursor:pointer}.published-row:hover{background:var(--page)}.published-row.is-selected{border-color:var(--blue-border);background:var(--blue-pale)}.published-row-icon{display:grid;flex:0 0 auto;width:27px;height:27px;place-items:center;border-radius:5px;color:var(--blue-hover);background:var(--blue-pale)}.published-row>span:last-child{display:grid;min-width:0;gap:3px}.published-row strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.published-row small{color:var(--muted);font-size:9px}.published-sidebar .sidebar-footer{margin-top:auto}.published-detail{display:grid;min-width:0;min-height:0;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden}.published-definition-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px 10px;border-bottom:1px solid var(--line);background:var(--paper)}.published-definition-header h2{margin:0 0 8px;font-size:20px;font-weight:300;overflow-wrap:anywhere}.published-meta-line{display:flex;flex-wrap:wrap;align-items:center;gap:9px;color:var(--muted);font-size:10px}.published-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:11px 18px;border-bottom:1px solid var(--line);background:var(--paper)}.published-metrics>div{display:grid;min-width:0;gap:4px}.published-metrics span{color:var(--muted);font-size:9px}.published-metrics strong{font-size:11px;overflow-wrap:anywhere}.published-definition-body{display:grid;min-width:0;min-height:0;grid-template-columns:minmax(0,1fr) 290px}.published-map{position:relative;min-width:0;min-height:0;overflow:hidden;background:var(--page)}.published-map .map-frame{position:absolute;inset:0}.published-components{min-width:0;overflow:auto;padding:16px 14px;border-left:1px solid var(--line);background:var(--paper)}.published-component-list{margin-top:12px}.published-component-list li{display:grid;gap:4px;padding:9px 0;border-bottom:1px solid var(--line)}.published-component-list strong{font-size:10px;overflow-wrap:anywhere}.published-component-list small{color:var(--muted);font-size:9px;overflow-wrap:anywhere}.published-empty{display:grid;place-content:center;justify-items:center;gap:10px;color:var(--muted);text-align:center}.published-empty strong{color:var(--ink);font-size:14px}.published-empty span{max-width:320px;font-size:11px;line-height:1.5}.details-empty{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--muted);text-align:center}.details-empty strong{color:var(--ink);font-size:13px}.details-empty span{max-width:220px;font-size:11px;line-height:1.5}.panel-loading{position:static;justify-content:center;transform:none;border:0;background:transparent}.dialog-backdrop{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:20px;background:#0000006b}.create-dialog{display:grid;width:min(420px,100%);max-height:calc(100dvh - 40px);overflow:auto;gap:11px;padding:21px;border:1px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:0 22px 70px #0003}.dialog-heading{display:flex;align-items:center;justify-content:space-between}.dialog-icon{width:36px;height:36px}.create-dialog .section-kicker{margin:4px 0 -7px}.create-dialog h2{margin:0;font-size:19px;font-weight:300}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.auth-page{display:grid;min-height:100dvh;place-items:center;padding:24px;background:var(--page)}.auth-panel{display:grid;width:min(390px,100%);justify-items:start;gap:12px;padding:30px;border:1px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:0 18px 48px #00000017}.auth-logo{display:block;width:132px;height:auto;max-height:38px;object-fit:contain}.auth-panel .section-kicker{margin:4px 0 -7px}.auth-panel h1{margin:0;font-size:21px;font-weight:300}.auth-panel p:not(.section-kicker){margin:0;color:var(--muted);font-size:13px;line-height:1.5}.auth-panel .primary-button{width:100%;margin-top:6px}.auth-panel .auth-error{color:var(--error)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1120px){.workspace{grid-template-columns:220px minmax(0,1fr);grid-template-rows:minmax(0,1fr) 235px}.patch-sidebar{grid-row:1 / span 2}.details-panel{grid-column:2;grid-row:2;display:grid;grid-template-columns:1fr 1fr;gap:0 20px;overflow:auto;padding:12px 17px;border-top:1px solid var(--line);border-left:0}.details-heading,.name-form,.details-meta{grid-column:1}.details-heading{margin-bottom:9px}.name-form{padding-bottom:10px}.components-section,.validation-section{grid-column:2;grid-row:span 2;padding:8px 0;border-bottom:0}.components-section{grid-row:1 / span 2}.validation-section{grid-row:3 / span 2;padding-top:12px;border-top:1px solid var(--line)}.component-list{max-height:130px;overflow:auto}}@media(max-width:720px){body{overflow:hidden}.workbench{grid-template-rows:56px 38px minmax(0,1fr)}.app-header{gap:10px;padding:0 11px}.brand-mark{min-width:auto;gap:7px}.brand-logo{width:82px;max-height:25px}.brand-copy strong{font-size:9px}.brand-copy small{font-size:8px}.header-context{display:none}.environment-badge{padding:5px 7px;font-size:9px}.help-button{display:none}.mobile-tabs{display:flex;align-items:stretch;gap:5px;padding:4px 9px 0;border-bottom:1px solid var(--line);background:var(--paper)}.mobile-tabs button{flex:1;border:0;border-bottom:2px solid transparent;color:var(--muted);background:transparent;font-size:11px;font-weight:600}.mobile-tabs button[aria-pressed=true]{border-bottom-color:var(--blue);color:var(--ink)}.workspace{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.patch-sidebar,.details-panel,.map-workspace{display:none}.workbench[data-mobile-pane=patches] .patch-sidebar,.workbench[data-mobile-pane=details] .details-panel,.workbench[data-mobile-pane=map] .map-workspace{display:grid;grid-column:1;grid-row:1}.workbench[data-mobile-pane=patches] .patch-sidebar{display:flex;border-right:0}.workbench[data-mobile-pane=details] .details-panel{display:block;border-left:0}.map-workspace{grid-template-rows:auto auto minmax(0,1fr) 25px}.editor-toolbar{flex-wrap:wrap;gap:7px;padding:7px 8px}.toolbar-context{order:0;min-width:0;flex:1}.drawing-controls{order:2}.toolbar-actions{order:1;gap:4px}.toolbar-actions .cancel-button{display:none}.save-button{min-width:40px;padding:0 8px;font-size:0}.save-button svg{width:17px;height:17px}.mode-button{padding:0 7px;font-size:10px}.tool-button{width:30px}.notice{min-height:34px}.map-legend{left:8px;bottom:8px;gap:8px;padding:6px;font-size:8px}.map-status{top:8px;right:8px;padding:6px;font-size:9px}.map-fit-button{right:8px;bottom:52px}.map-srid{right:8px;bottom:8px;display:none}.map-footer{padding:0 8px;font-size:8px}}@media(max-width:1120px){.published-catalog{grid-template-columns:220px minmax(0,1fr)}.published-definition-body{grid-template-columns:minmax(0,1fr) 250px}.published-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.mobile-tabs button{min-width:0;font-size:10px}.published-catalog{grid-template-columns:minmax(0,1fr);grid-template-rows:190px minmax(0,1fr)}.published-sidebar{gap:7px;padding:8px 10px;border-right:0;border-bottom:1px solid var(--line)}.published-sidebar-heading h1{font-size:16px}.published-sidebar .sidebar-footer{display:none}.published-list{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));max-height:55px}.published-row{min-height:42px}.published-detail{grid-template-rows:auto auto minmax(0,1fr)}.published-definition-header{padding:9px 10px}.published-definition-header h2{margin-bottom:5px;font-size:16px}.published-meta-line{gap:5px 8px;font-size:9px}.published-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px 10px}.published-definition-body{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(180px,1fr) minmax(130px,auto);overflow:auto}.published-map{min-height:180px}.published-components{padding:10px;border-top:1px solid var(--line);border-left:0}.assignment-date-grid{grid-template-columns:minmax(0,1fr)}.published-empty{grid-row:1 / -1;padding:18px}.published-meta-line .version-chip{white-space:normal}.history-version{padding:8px}}
