.legal-acceptance-screen{z-index:150;background:var(--color-bg);place-items:center;padding:18px;display:grid;position:fixed;inset:0}.legal-step{border:1px solid var(--color-border);background:var(--color-panel);width:min(760px,100%);height:min(92dvh,900px);min-height:0;box-shadow:var(--shadow-panel);border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;display:grid;overflow:hidden}.legal-step-header{border-bottom:1px solid var(--color-border);padding:18px 22px 14px}.legal-step-header h1{margin:4px 0 0;font-size:22px}.legal-step-header h1:focus{outline:none}.legal-step-header p{color:var(--color-muted);margin:6px 0 12px}.legal-step-progress{gap:16px;margin:0;padding:0;list-style:none;display:flex}.legal-step-progress li{flex:1;align-items:center;gap:8px;font-size:13px;display:flex}.legal-step-progress li>span:first-child{border:1px solid var(--color-border);border-radius:50%;flex:0 0 26px;place-items:center;height:26px;display:grid}.legal-step-progress li[aria-current=step]>span:first-child{background:var(--color-accent);color:var(--color-on-accent,#fff)}.legal-step-progress small{color:var(--color-muted);display:block}.legal-step-document{overscroll-behavior:contain;min-height:0;padding:16px 22px;overflow-y:auto}.legal-step-document h2{margin:0 0 10px;font-size:16px}.legal-step-document .about-policy-link{margin-bottom:16px}.legal-step-document-end{border-top:1px solid var(--color-border);color:var(--color-muted);margin:20px 0 0;padding-top:12px;font-size:13px}.legal-step-footer{border-top:1px solid var(--color-border);background:var(--color-panel);gap:12px;padding:16px 22px;display:grid}.legal-step-confirmation{min-height:44px;color:var(--color-text);cursor:pointer;align-items:center;gap:10px;font-size:14px;font-weight:600;display:flex}.legal-step-confirmation input{appearance:none;border:1px solid var(--color-muted);background:var(--color-panel);border-radius:3px;flex:none;place-items:center;width:22px;height:22px;margin:0;display:grid}.legal-step-confirmation input:checked{border-color:var(--color-accent);background:var(--color-accent);opacity:1;filter:none}.legal-step-confirmation input:checked:after{content:"";border:solid var(--color-on-accent,#fff);border-width:0 2px 2px 0;width:6px;height:12px;margin-top:-3px;transform:rotate(45deg)}.legal-step-confirmation input:disabled:not(:checked){opacity:.45}.legal-step-confirmation input:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.legal-step-confirmation small{color:var(--color-accent);margin-top:3px;font-size:12px;font-weight:500;display:block}.legal-step-instruction{color:var(--color-muted);margin:0;font-size:13px}.legal-step-actions{justify-content:space-between;gap:10px;display:flex}.legal-step-actions button{min-height:44px}@media (width<=640px),(height<=600px){.legal-acceptance-screen{place-items:stretch stretch;padding:0}.legal-step{border:0;border-radius:0;width:100%;height:100%}.legal-step-header{padding:max(12px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 12px max(16px, env(safe-area-inset-left))}.legal-step-document{padding:12px max(16px, env(safe-area-inset-right)) 12px max(16px, env(safe-area-inset-left))}.legal-step-footer{padding:8px max(16px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));gap:6px}.legal-step-actions{flex-wrap:wrap}.legal-step-actions .primary-action{flex:1;justify-content:center}}@media (height<=500px){.legal-step-header h1{font-size:18px}.legal-step-header p{display:none}.legal-step-progress{margin-top:6px}}.record-detail-header,.record-detail-content{display:contents}.record-detail-header{z-index:3;background:var(--color-panel);display:block;position:sticky;top:0}.record-detail-header .detail-heading>div:first-child{min-width:0}.record-detail-panel .detail-heading-actions .record-detail-expand-button{gap:6px;width:auto;padding:8px 12px}.record-detail-panel .record-detail-expand-button span{color:inherit;text-transform:none;font-size:12px}.record-layout>.detail-panel.record-detail-panel.record-detail-expanded{z-index:90;box-sizing:border-box;width:100%;height:100dvh;max-height:none;color:var(--color-text);background:var(--color-bg);border:0;flex-direction:column;gap:0;padding:0;display:flex;position:fixed;inset:0;overflow:hidden}.record-detail-expanded .record-detail-header{padding:max(16px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) 16px max(24px, env(safe-area-inset-left));border-bottom:1px solid var(--color-border);flex:none;position:relative}.record-detail-expanded .record-detail-header>.detail-heading{border:0;max-width:1200px;margin:0 auto;padding:0}.record-detail-expanded .detail-heading>div:first-child{min-width:0}.record-detail-expanded .detail-heading h3{margin:4px 0 0;font-size:clamp(20px,2vw,28px);line-height:1.2}.record-detail-expanded .detail-heading-actions{flex:none}.record-detail-expanded .detail-heading-actions button{min-width:40px;min-height:40px}.record-detail-expanded .record-detail-content{overscroll-behavior:contain;min-height:0;padding:24px max(24px, env(safe-area-inset-right)) max(100px, calc(env(safe-area-inset-bottom) + 80px)) max(24px, env(safe-area-inset-left));grid-template-columns:repeat(2,minmax(0,600px));place-content:start center;align-items:start;gap:20px;display:grid;overflow:auto}.record-detail-expanded .record-detail-content>*{min-width:0}.record-detail-expanded .detail-groups{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px}.record-detail-expanded .detail-group,.record-detail-expanded .record-detail-content>:is(.ap-photo-editor,.related-list,.change-history,.detail-actions,.gps-map-panel,.floorplan-location-panel){border:1px solid var(--color-border);background:var(--color-panel);box-shadow:var(--shadow-panel);border-radius:12px;margin:0;padding:20px}.record-detail-expanded .detail-group{gap:16px}.record-detail-expanded :is(.detail-group,.related-list,.change-history,.ap-photo-editor) h4{font-size:15px}.record-detail-expanded .detail-group h4{padding-bottom:12px}.record-detail-expanded .detail-field-grid{gap:18px 24px}.record-detail-expanded .detail-row{overflow-wrap:anywhere;gap:6px}.record-detail-expanded .detail-row span{letter-spacing:.035em;font-size:11px}.record-detail-expanded .detail-row strong{font-size:14px;line-height:1.5}.record-detail-expanded .record-detail-content>:is(.edit-form,.error-banner,.muted-note,.survey-ap-overlay,.ap-photo-lightbox){grid-column:1/-1}.record-detail-expanded .record-detail-content>.edit-form{box-sizing:border-box;justify-self:center;width:min(100%,740px)}.record-detail-expanded .change-history-list{max-height:420px}.record-detail-expanded .action-menu-floating{right:max(24px, env(safe-area-inset-right));bottom:max(24px, env(safe-area-inset-bottom))}@media (width<=700px){.record-detail-panel .record-detail-expand-button span{display:none}.record-detail-expanded .record-detail-header{padding:max(12px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 12px max(16px, env(safe-area-inset-left))}.record-detail-expanded .record-detail-header>.detail-heading{flex-wrap:wrap;gap:12px}.record-detail-expanded .detail-heading>div:first-child{flex:180px}.record-detail-expanded .detail-heading-actions{justify-content:flex-start}.record-detail-expanded .record-detail-content{padding:16px max(16px, env(safe-area-inset-right)) max(96px, calc(env(safe-area-inset-bottom) + 80px)) max(16px, env(safe-area-inset-left));grid-template-columns:minmax(0,1fr);gap:16px}.record-detail-expanded .detail-groups{grid-template-columns:minmax(0,1fr);gap:16px}.record-detail-expanded .detail-group,.record-detail-expanded .record-detail-content>:is(.ap-photo-editor,.related-list,.change-history,.detail-actions,.gps-map-panel,.floorplan-location-panel){padding:16px}.record-detail-expanded .detail-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}@media (width<=360px){.record-detail-expanded .detail-field-grid{grid-template-columns:minmax(0,1fr)}}.offline-connection-banner{color:#654500;background:#fff6dc;border:1px solid #b88724;border-radius:.7rem;flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:1rem;padding:.8rem 1rem;display:flex}.offline-projects-panel{flex-direction:column;width:min(760px,100vw - 2rem);padding-bottom:0;display:flex;overflow:hidden}.offline-projects-panel .sync-details-header{flex-shrink:0}.offline-project-body{min-height:0;padding:0 1rem;overflow:auto}.offline-project-select{gap:.4rem;margin:1rem 0;display:grid}.offline-project-select select{border:1px solid var(--border-color,#cbd5e1);width:100%;color:inherit;background:var(--panel-bg,#fff);border-radius:.5rem;padding:.75rem}.offline-project-actions{background:var(--panel-bg,#fff);border-top:1px solid var(--border-color,#cbd5e1);flex-wrap:wrap;flex-shrink:0;gap:.75rem;padding:1rem;display:flex}.offline-action-progress{flex:1 0 100%;font-size:.85rem}.offline-projects-panel progress{width:100%;height:.7rem;accent-color:var(--accent,#1972d2)}.offline-projects-panel details{margin:.75rem 0}.offline-projects-panel>p{line-height:1.5}.offline-presets{flex-wrap:wrap;gap:.5rem;margin:1rem 0;display:flex}.offline-presets [aria-pressed=true]{border-color:var(--accent,#1972d2);color:#145a9e;background:#eaf3ff}.offline-record-size,.offline-size-summary p{flex-wrap:wrap;justify-content:space-between;gap:.35rem 1rem;display:flex}.offline-record-size{padding:.75rem 0}.offline-live-total{z-index:2;color:#145a9e;background:#eaf3ff;border-radius:.5rem;gap:.3rem;padding:.75rem;display:grid;position:sticky;top:0;box-shadow:0 2px 6px #0001}.offline-options{border:1px solid var(--border-color,#cbd5e1);border-radius:.6rem;min-width:0;margin:.75rem 0;padding:.25rem .75rem}.offline-options legend{padding:0 .35rem;font-weight:600}.offline-option{cursor:pointer;grid-template-columns:1.15rem minmax(0,1fr) auto;align-items:start;gap:.6rem;padding:.65rem 0;display:grid}.offline-option input{accent-color:var(--accent,#1972d2);margin:.2rem 0 0}.offline-option small{text-align:right;color:#52657c;max-width:18rem}.offline-size-summary{color:#20344c;background:#f1f6fc;border-radius:.6rem;margin:1rem 0;padding:.8rem 1rem}.offline-size-summary p{margin:.5rem 0}.offline-size-warning{color:#8a4d09}.offline-photo-missing{color:#667085;background:#f2f4f7;justify-content:center;align-items:center;min-height:5rem;padding:.5rem;display:flex}@media (width<=520px){.offline-option{grid-template-columns:1.15rem minmax(0,1fr)}.offline-option small{text-align:left;grid-column:2;max-width:none}.offline-project-actions button{flex:auto}}.app-shell:has(.modern-fiber-workspace){height:100dvh;min-height:0;overflow:hidden}.app-shell:has(.modern-fiber-workspace)>.sidebar-drawer-tab{display:none}.app-shell:has(.modern-fiber-workspace)>.sidebar{height:100dvh}html .workspace.fiber-workspace{flex-direction:column;height:100dvh;min-height:0;padding:0;display:flex;overflow:hidden}.workspace.fiber-workspace>:not(.modern-fiber-workspace){flex-shrink:0}html .modern-fiber-workspace.panel.wide{background:var(--color-bg);min-width:0;min-height:0;color:var(--color-text);border:0;border-radius:0;flex-direction:column;flex:1;margin:0;padding:0;display:flex;overflow:hidden}.fiber-workspace-header{background:var(--color-sidebar-header-surface);border-bottom:1px solid var(--color-sidebar-header-border);flex-shrink:0;align-items:center;gap:12px;padding:10px 16px;display:flex}.fiber-workspace-title{flex:1;min-width:0}.fiber-workspace-title h2{margin:0;font-size:18px;line-height:1.25}.fiber-workspace-title>span{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.modern-fiber-workspace button{color:var(--color-text);background:var(--color-panel);border:1px solid var(--color-border);cursor:pointer;border-radius:9px}.modern-fiber-workspace button:hover{background:var(--color-control-hover)}.modern-fiber-workspace button:disabled{cursor:default;opacity:.5}.modern-fiber-workspace button:focus-visible,.modern-fiber-workspace select:focus-visible,.modern-fiber-workspace input:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.fiber-workspace-header>button{flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.fiber-workspace-header .fiber-topology-status{color:var(--color-muted);flex-direction:row;align-items:center;gap:5px;font-size:11px;display:flex}.fiber-workspace-header .app-global-actions.floorplan-inline-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;padding:0;display:flex;position:static}.modern-fiber-workspace .fiber-topology-toolbar{z-index:6;border-bottom:1px solid var(--color-border);background:var(--color-panel);flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:8px;margin:0;padding:8px 16px;display:flex;position:relative}.modern-fiber-workspace .fiber-topology-toolbar>button,.fiber-toolbar-end>button{flex-shrink:0;justify-content:center;align-items:center;gap:6px;min-width:40px;height:40px;padding:0 10px;display:flex}.modern-fiber-workspace .fiber-topology-mode-switcher{background:var(--color-control-bg);border-color:var(--color-border);flex-shrink:0}.modern-fiber-workspace .fiber-topology-mode-switcher button{background:0 0;border:0;min-height:36px;padding:9px 12px;font-size:12px}.modern-fiber-workspace .fiber-topology-mode-switcher button.active{background:var(--color-selection);color:var(--color-accent);box-shadow:none}.modern-fiber-workspace select,.modern-fiber-workspace input{background:var(--color-control-bg);color:var(--color-text);border:1px solid var(--color-border);border-radius:8px;max-width:100%;min-height:40px}.modern-fiber-workspace .fiber-topology-toolbar>select{width:260px;min-width:0;padding:0 10px;font-size:12px}.fiber-toolbar-end{flex-shrink:0;gap:6px;margin-left:auto;display:flex}.modern-fiber-workspace .fiber-menu-backdrop{z-index:7;cursor:default;background:0 0;border:0;width:auto;height:auto;position:fixed;inset:0}.fiber-workspace-menu{z-index:8;border:1px solid var(--color-border);width:320px;max-width:calc(100vw - 24px);max-height:min(520px,100dvh - 190px);box-shadow:var(--shadow-panel);background:var(--color-panel);border-radius:14px;flex-direction:column;gap:12px;padding:16px;display:flex;position:absolute;top:calc(100% + 6px);right:16px;overflow:auto}.fiber-workspace-menu.search{left:16px;right:auto}.fiber-workspace-menu .detail-heading{align-items:center;gap:8px;margin:0}.fiber-workspace-menu .detail-heading button{place-items:center;min-width:32px;min-height:32px;display:grid}.fiber-workspace-menu>button{text-align:left;align-items:center;gap:8px;min-height:40px;padding:8px 12px;display:flex}.fiber-workspace-menu small{color:var(--color-muted);font-size:12px}.modern-fiber-workspace .fiber-topology-search{background:var(--color-control-bg);border-color:var(--color-border);width:100%;margin:0}.modern-fiber-workspace .fiber-topology-search input{outline-offset:-2px;border:0;width:100%;padding:0}.fiber-search-results{flex-direction:column;gap:6px;display:flex}.fiber-search-results button{text-align:left;flex-direction:column;align-items:flex-start;min-height:44px;padding:10px;display:flex}.fiber-arrange-bar{background:var(--color-selection);border-bottom:1px solid var(--color-border);flex-shrink:0;align-items:center;gap:8px;padding:8px 16px;display:flex}.fiber-arrange-bar span{margin-right:auto;font-size:12px}.fiber-arrange-bar button{min-height:36px;padding:6px 10px}html .modern-fiber-workspace .fiber-topology-layout,html .modern-fiber-workspace .fiber-topology-floorplan-layout{flex:1;grid-template-columns:minmax(0,1fr);gap:0;height:auto;min-height:0;padding:12px;display:grid;position:relative;overflow:hidden}html .modern-fiber-workspace .fiber-topology-layout.has-selection,html .modern-fiber-workspace .fiber-topology-floorplan-layout.has-selection{grid-template-columns:minmax(0,1fr) 320px;gap:12px}html .modern-fiber-workspace .fiber-topology-canvas-wrap{border:1px solid var(--color-border);background:var(--color-control-bg);border-radius:14px;height:100%;min-height:0}.modern-fiber-workspace .fiber-topology-canvas{touch-action:none}.modern-fiber-workspace .fiber-topology-node{cursor:pointer}.modern-fiber-workspace.arranging .fiber-topology-node{cursor:move}.modern-fiber-workspace .fiber-topology-node-shape{fill:var(--color-panel);stroke:var(--color-border)}.modern-fiber-workspace .fiber-topology-node.distribution .fiber-topology-node-shape{fill:var(--color-control-hover);stroke:var(--color-accent)}.modern-fiber-workspace .fiber-topology-node.new-location .fiber-topology-node-shape{fill:var(--color-selection);stroke:var(--color-success)}.modern-fiber-workspace .fiber-topology-node.selected .fiber-topology-node-shape,.modern-fiber-workspace .fiber-topology-node:focus-visible .fiber-topology-node-shape{stroke:var(--color-accent);stroke-width:3px}.modern-fiber-workspace .fiber-topology-node-label{fill:var(--color-text)}.modern-fiber-workspace .fiber-topology-node-meta{fill:var(--color-muted)}.modern-fiber-workspace .fiber-topology-node-toggle circle{fill:var(--color-control-bg);stroke:var(--color-border)}.modern-fiber-workspace .fiber-topology-node-toggle span{color:var(--color-text)}.modern-fiber-workspace .fiber-topology-edge{cursor:pointer}.modern-fiber-workspace .fiber-topology-edge:focus-visible path:not(.fiber-edge-hit){stroke-width:7px}.fiber-legend-toggle{z-index:3;align-items:center;gap:6px;min-height:40px;padding:0 12px;font-size:12px;display:flex;position:absolute;bottom:12px;left:12px}.modern-fiber-workspace .fiber-topology-legend{background:var(--color-panel);max-width:min(460px,100% - 24px);max-height:40%;color:var(--color-text);border-color:var(--color-border);border-radius:12px;padding:12px;bottom:60px;left:12px;overflow:auto}.modern-fiber-workspace .fiber-topology-zoom{background:var(--color-panel);color:var(--color-muted);border-color:var(--color-border);box-shadow:var(--shadow-panel);padding:4px;bottom:12px;right:12px}.modern-fiber-workspace .fiber-topology-zoom button{place-items:center;width:36px;height:36px;display:grid}html .modern-fiber-workspace .fiber-topology-detail{background:var(--color-panel);height:100%;min-height:0;color:var(--color-text);border:1px solid var(--color-border);border-radius:14px;padding:18px;position:relative;overflow:auto}html .modern-fiber-workspace .fiber-topology-detail[hidden]{display:none}.modern-fiber-workspace .fiber-topology-detail .detail-heading{padding-right:40px}.topology-expand{place-items:center;width:34px;height:34px;display:grid;position:absolute;top:18px;right:18px}.modern-fiber-workspace .fiber-topology-detail .detail-heading button:not(.detail-link){min-width:34px;min-height:34px}.modern-fiber-workspace .fiber-topology-detail .detail-field-grid{grid-template-columns:1fr 1fr;display:grid}.modern-fiber-workspace .fiber-topology-detail .detail-row{background:var(--color-control-bg);border-color:var(--color-border);border-radius:9px;flex-direction:column;align-items:flex-start;gap:5px;padding:10px;display:flex}.modern-fiber-workspace .fiber-topology-detail span,.modern-fiber-workspace .fiber-topology-detail p,.modern-fiber-workspace .fiber-topology-detail small{color:var(--color-muted)}.modern-fiber-workspace .fiber-topology-detail strong,.modern-fiber-workspace .fiber-topology-detail h3,.modern-fiber-workspace .fiber-topology-detail h4{color:var(--color-text)}.modern-fiber-workspace .fiber-topology-planned-detail,.modern-fiber-workspace .fiber-topology-distribution-group-summary{background:var(--color-control-bg);border-color:var(--color-border);color:var(--color-text);border-radius:10px}.modern-fiber-workspace .fiber-topology-connection{background:var(--color-control-bg);border-color:var(--color-border);min-height:44px}.modern-fiber-workspace .fiber-topology-detail button.secondary-action{min-height:40px;font-size:13px}.fiber-plan-actions{gap:8px;display:flex}.fiber-plan-actions button{flex:1;min-height:40px}html .modern-fiber-workspace .fiber-topology-detail.expanded{z-index:90;border-radius:16px;width:auto;height:auto;padding:28px max(24px,50vw - 550px);position:fixed;inset:12px}.modern-fiber-workspace .fiber-topology-detail.expanded .detail-field-grid{grid-template-columns:repeat(4,minmax(0,1fr))}html .modern-fiber-workspace .fiber-topology-floorplan-main{border:1px solid var(--color-border);border-radius:14px;height:100%;min-height:0;overflow:hidden}html .modern-fiber-workspace .fiber-osd-viewer{background:var(--color-control-bg);border:0;height:100%;min-height:0}.modern-fiber-workspace .fiber-osd-controls{background:var(--color-panel);border-color:var(--color-border);top:auto;bottom:12px;right:12px}.modern-fiber-workspace .fiber-osd-controls button{width:36px;height:36px}.modern-fiber-workspace .fiber-osd-legend{background:var(--color-panel);color:var(--color-text);border-color:var(--color-border);top:12px;bottom:auto}@media (width<=980px){html .workspace.fiber-workspace{height:calc(100dvh - var(--floorplan-navigation-height,calc(70px + env(safe-area-inset-bottom,0px))))}.fiber-workspace-header{flex-wrap:wrap;gap:8px;padding:8px 10px}.fiber-workspace-header .app-global-actions.floorplan-inline-actions{justify-content:flex-end;width:100%}.modern-fiber-workspace .fiber-topology-toolbar{flex-wrap:wrap;gap:6px;padding:8px 10px}.modern-fiber-workspace .fiber-topology-toolbar>select{flex-basis:100%;order:2;width:100%}.fiber-workspace-menu{max-height:calc(100dvh - 260px);right:10px}.fiber-workspace-menu.search{left:10px}.fiber-toolbar-end>button>span{display:none}.modern-fiber-workspace .fiber-topology-mode-switcher button,html .modern-fiber-workspace .fiber-topology-layout,html .modern-fiber-workspace .fiber-topology-floorplan-layout{padding:8px}html .modern-fiber-workspace .fiber-topology-layout.has-selection,html .modern-fiber-workspace .fiber-topology-floorplan-layout.has-selection{grid-template-rows:minmax(100px,1fr) minmax(0,40%);grid-template-columns:minmax(0,1fr);gap:8px}html .modern-fiber-workspace .fiber-topology-detail{border-radius:12px;padding:14px}html .modern-fiber-workspace .fiber-topology-detail.expanded{padding:20px;inset:8px}.modern-fiber-workspace .fiber-topology-detail.expanded .detail-field-grid{grid-template-columns:1fr 1fr}.fiber-legend-toggle{padding:0 9px;bottom:8px;left:8px}.fiber-legend-toggle span{display:none}.modern-fiber-workspace .fiber-topology-zoom{bottom:8px;right:8px}.fiber-arrange-bar{gap:5px;padding:6px 10px}.fiber-arrange-bar span{font-size:11px}}.modern-fiber-workspace .fiber-topology-edge text{fill:var(--color-text);stroke:var(--color-control-bg)}.modern-fiber-workspace .fiber-topology-node-toggle:focus-visible circle{stroke:var(--color-accent);stroke-width:3px}.modern-fiber-workspace .fiber-topology-node:is(.distribution,.new-location,.selected,.route-member,.distribution-group-member,.outside-distribution-group) .fiber-topology-node-label{fill:var(--color-text)}.modern-fiber-workspace .fiber-topology-node:is(.distribution,.new-location,.selected,.route-member,.distribution-group-member,.outside-distribution-group) .fiber-topology-node-meta{fill:var(--color-muted)}.modern-fiber-workspace[data-scope=overview] .fiber-topology-node-label{font-size:16px}@media (width<=360px){.fiber-toolbar-end>[aria-label=Saved\ views]{display:none}}@media (width>=600px) and (width<=980px){.fiber-workspace-header{flex-wrap:nowrap}.fiber-workspace-header .app-global-actions.floorplan-inline-actions{width:auto}.modern-fiber-workspace .fiber-topology-toolbar{flex-wrap:nowrap}.modern-fiber-workspace .fiber-topology-toolbar>select{flex-basis:auto;order:0;width:210px}}html .modern-fiber-workspace svg.fiber-topology-canvas{height:100%;min-height:0}@media (width<=360px){.modern-fiber-workspace .fiber-topology-toolbar{gap:4px}.modern-fiber-workspace .fiber-topology-mode-switcher button{padding:8px 6px}.fiber-toolbar-end{gap:0}}.fiber-workspace-menu.filters .ap-column-filter-menu{width:100%;max-height:none;box-shadow:none;background:0 0;border:0;margin:0;padding:0;position:static}.fiber-workspace-menu.filters .ap-column-filter-fields,.fiber-workspace-menu.filters .ap-column-filter-values{max-height:220px;overflow:auto}.fiber-workspace-menu.filters .ap-column-filter-heading{padding:4px 0}.fiber-workspace-menu.filters .ap-column-filter{min-width:0}.fiber-workspace-menu.filters .ap-filter-field-option{min-height:42px}.fiber-workspace-menu.filters .ap-column-filter-footer{padding:8px 0 0}.fiber-topology-toolbar .fiber-filters-active{border-color:var(--color-accent);background:var(--color-selection)}.fiber-filter-count{font-size:11px;font-weight:700}.fiber-workspace-menu.filters .detail-heading{text-align:left;flex-direction:row;justify-content:space-between;display:flex}.fiber-workspace-menu.filters .field-label{flex-direction:column;align-items:stretch;gap:6px;display:flex}.fiber-workspace-menu.filters .field-label select{width:100%;min-height:40px}.fiber-workspace-menu.filters .ap-column-filter-footer{justify-content:space-between;align-items:center;display:flex}.fiber-workspace-menu.filters .ap-column-filter-footer button{min-height:40px;padding:8px 12px}.file-preview-backdrop{z-index:1600;background:#0009;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.file-preview{background:var(--color-panel);width:min(1050px,100%);max-height:94dvh;color:var(--color-text);border:1px solid var(--color-border);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.file-preview header,.file-preview nav{flex-shrink:0;align-items:center;gap:10px;padding:12px;display:flex}.file-preview header strong{overflow-wrap:anywhere;flex:1}.file-preview button{color:inherit;background:var(--color-control-bg);border:1px solid var(--color-border);border-radius:6px;padding:8px;display:inline-flex}.file-preview button:disabled{opacity:.45}.file-preview-content{text-align:center;background:#64748b;min-height:80px;padding:12px;overflow:auto}.file-preview-content canvas{background:#fff;height:auto;margin:auto;display:block}.file-preview-content img{object-fit:contain;max-width:100%;max-height:75dvh;margin:auto;display:block}.file-preview-image{height:94dvh}.file-preview-image .file-preview-content{flex:1;place-items:center;min-height:0;padding:0;display:grid;overflow:hidden}.file-preview-image .file-preview-content img{width:100%;min-width:0;max-width:100%;height:100%;min-height:0;max-height:100%}@media (width<=640px){.file-preview-backdrop{padding:6px}.file-preview nav{gap:5px;padding:8px;font-size:12px}}.file-view-button.inline-link{color:var(--color-accent);text-align:inherit;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.access-email-delivery h2{align-items:center;gap:8px;display:flex}.access-email-delivery .panel-heading p{margin-bottom:0;font-size:14px;font-weight:400}.access-email-filters{flex-wrap:wrap;gap:16px;margin:18px 0;display:flex}.access-email-filters .field-label{flex:240px;gap:6px;font-weight:600;display:grid}.access-email-filters input,.access-email-filters select{border:1px solid var(--color-border);background:var(--color-control-bg);width:100%;min-width:0;min-height:40px;color:var(--color-text);border-radius:6px;padding:8px 12px}.access-email-entry{border-top:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) minmax(170px,1fr);gap:20px;padding:18px 0;display:grid}.access-email-entry>div{overflow-wrap:anywhere;flex-direction:column;gap:6px;display:flex}.access-email-entry small{color:var(--color-muted)}.access-email-result{text-align:right;align-items:flex-end}.access-email-result .email-status-sent{color:var(--color-success)}.access-email-result .email-status-failed{color:var(--color-danger)}@media (width<=600px){.access-email-entry{grid-template-columns:minmax(0,1fr);gap:12px}.access-email-result{text-align:left;align-items:flex-start}}.network-workspace-nav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.network-workspace-nav .network-topology-tabs{margin:0}.network-workspace-diagram-page{box-sizing:border-box;height:calc(100dvh - 102px)}.network-workspace-diagram-page>.panel-heading,.network-workspace-diagram-page>.network-workspace-nav,.network-workspace-diagram-page>.network-workspace-disclosure,.network-workspace-diagram-page>.error-banner{flex:none}.network-workspace-diagram-page>[role=tabpanel]{flex:1;min-height:0;display:flex}.network-workspace-diagram-page .network-topology-diagram{flex-direction:column;flex:1;min-height:0;display:flex}.network-workspace-diagram-page .network-topology-diagram>*{flex:none}.network-workspace-diagram-page .network-topology-diagram-viewport{flex:1 1 0;min-height:220px;max-height:none}.network-topology-diagram-help>summary{cursor:pointer}.network-topology-diagram-help>p{margin:6px 0 0}@media (width<=1024px){.network-workspace-diagram-page{height:calc(100dvh - 158px)}}.network-workspace-section{gap:16px;min-width:0;display:grid}.network-workspace-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.network-workspace-toolbar h3,.network-workspace-toolbar h4{margin:0}.network-workspace-toolbar p{margin:5px 0 0}.network-workspace-toolbar h4{font-size:15px}.network-workspace-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.network-topology-view .network-workspace-filters input,.network-topology-view .network-workspace-filters select,.network-topology-view .network-workspace-edit-fields input,.network-topology-view .network-workspace-edit-fields select{box-sizing:border-box;border:1px solid var(--color-border);background:var(--color-panel);max-width:100%;min-height:38px;color:var(--color-text);font:inherit;border-radius:6px;padding:7px 10px}.network-workspace-filters input{width:280px}.network-workspace-table-wrap{border:1px solid var(--color-border);border-radius:8px;min-width:0;max-width:100%;overflow-x:auto}.network-workspace-table{border-collapse:separate;border-spacing:0;text-align:left;width:100%;min-width:680px;font-size:13px}.network-workspace-table th,.network-workspace-table td{vertical-align:top;border-bottom:1px solid var(--color-border);overflow-wrap:anywhere;padding:11px 14px}.network-workspace-table th{font-weight:600}.network-workspace-table thead th{color:var(--color-sidebar-muted);background:var(--color-surface);white-space:nowrap;font-size:12px}.network-workspace-table tbody tr:last-child>*{border-bottom:0}.network-workspace-table tbody tr:not(.network-workspace-detail-row):hover>*{background:var(--color-surface)}.network-workspace-table tbody tr.selected>*{background:var(--color-selection)}.network-workspace-table small{color:var(--color-sidebar-muted);margin-top:3px;font-size:12px;font-weight:400;display:block}.network-workspace-table td:last-child{white-space:nowrap}.network-workspace-table input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-accent);margin:1px 0}.network-topology-view .network-table-link{color:var(--color-accent-strong);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;font-weight:600}.network-topology-view .network-table-link:hover{text-decoration:underline}.network-topology-view .network-table-link:disabled{opacity:.5;cursor:default}.network-table-line{display:block}.network-workspace-detail-row>td{background:var(--color-surface);padding:16px;white-space:normal!important}.network-workspace-detail{gap:12px;min-width:0;max-width:1050px;display:grid}.network-workspace-detail>p{margin:0}.network-workspace-detail>.field-label{max-width:440px}.network-workspace-detail-row .searchable-select-options{margin-top:4px;position:static;inset:auto}.network-workspace-edit-fields{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px;display:grid}.network-workspace-edit-fields .field-label{gap:6px;min-width:0;display:grid}.network-workspace-detail .network-topology-auto-plan-actions{justify-content:flex-start}.network-workspace-disclosure{border-top:1px solid var(--color-border);padding-top:14px}.network-workspace-disclosure>summary{cursor:pointer;color:var(--color-text);font-size:14px;font-weight:600}.network-workspace-disclosure>.network-workspace-section,.network-workspace-disclosure>.network-workspace-table-wrap{margin-top:14px}.network-workspace-disclosure .network-core-members{border:1px solid var(--color-border);border-radius:6px;gap:10px;margin:0;padding:12px;display:grid}.network-core-members label{align-items:center;gap:8px;display:flex}.network-workspace-assignment{border:1px solid var(--color-accent);background:var(--color-selection);border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(220px,360px) auto;align-items:center;gap:16px;padding:16px;display:grid}.network-workspace-assignment h3{margin:0;font-size:16px}.network-workspace-assignment p{margin:5px 0 0}.network-optic-matrix{table-layout:fixed;min-width:0}.network-optic-matrix th:first-child{width:85px}.network-workspace-table-wrap:has(.network-optic-matrix){overflow:visible}.network-topology-view .network-optic-defaults{border:0;border-radius:0;gap:12px;margin:0;padding:0;display:grid}.network-optic-defaults>h3{margin:0;font-size:15px}.network-optic-defaults>p,.network-optic-matrix .field-label{margin:0}.network-optic-matrix td:last-child{white-space:normal}.network-model-description{color:var(--color-sidebar-muted);margin-top:7px;font-size:12px}.network-model-description>summary{cursor:pointer}.network-workspace-detail-row .network-link-optics{max-width:650px}@media (width<=800px){.network-workspace-assignment,.network-workspace-edit-fields{grid-template-columns:minmax(0,1fr)}.network-workspace-filters{width:100%}.network-workspace-filters>label{flex:180px}.network-workspace-filters input,.network-workspace-filters select{width:100%}.network-workspace-nav .network-topology-tabs{flex-wrap:wrap;max-width:100%}.network-topology-view .network-topology-tabs button{padding:7px 9px}}@media (width<=600px){.network-workspace-diagram-page .network-topology-diagram-heading p{display:none}.network-workspace-diagram-page .network-topology-diagram-stats{gap:4px}.network-workspace-diagram-page .network-topology-diagram-stats span{padding:3px 5px}.network-workspace-diagram-page .network-topology-diagram-zoom-controls button{min-width:auto;font-size:13px}.network-workspace-diagram-page .network-topology-diagram-viewport{min-height:160px}.network-optic-matrix,.network-optic-matrix tbody,.network-optic-matrix tr{display:block}.network-optic-matrix thead{display:none}.network-optic-matrix td{display:block}.network-optic-matrix td:before{content:attr(data-label);color:var(--color-sidebar-muted);margin-bottom:6px;font-size:12px;display:block}.network-optic-matrix tbody th{background:var(--color-surface);display:block;width:auto!important}}.network-changes{color:var(--color-text)}.network-counts{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0;display:grid}.network-counts article,.network-baseline-setup,.network-change-card{border:1px solid var(--color-border);background:var(--color-control-bg);border-radius:12px;padding:16px}.network-changes h3{margin:0 0 8px;font-size:1rem}.network-changes p{line-height:1.5}.network-baseline-setup form,.network-baseline-summary,.network-filters{flex-wrap:wrap;align-items:end;gap:16px;display:flex}.network-baseline-setup .field-label,.network-filters .field-label{flex:1;min-width:220px}.network-baseline-summary{justify-content:space-between;margin:22px 0}.network-baseline-summary p{color:var(--color-muted);margin:6px 0 0}.network-baseline-actions{flex-wrap:wrap;gap:12px;display:flex}.network-baseline-select,.network-filters{margin:18px 0}.network-changes .field-label{gap:8px;font-weight:600;display:grid}.network-changes input,.network-changes select{border:1px solid var(--color-border);width:100%;min-height:42px;color:var(--color-text);background:var(--color-control-bg);font:inherit;border-radius:8px;padding:9px 12px}.network-changes input:focus-visible,.network-changes select:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.network-change-card{overflow-wrap:anywhere;margin:12px 0}.network-change-card summary{cursor:pointer;color:var(--color-link);padding:8px 0}.network-operation,.network-changes .segmented-control button.active{color:var(--color-accent-strong)}.network-field-change{border-top:1px solid var(--color-border);grid-template-columns:minmax(150px,1fr) repeat(2,minmax(0,1.5fr));gap:12px;padding:12px 0;display:grid}.network-field-change small{color:var(--color-muted);margin-bottom:4px;display:block}.network-changes button{justify-content:center;align-items:center;gap:8px;display:inline-flex}@media (width<=600px){.network-counts{grid-template-columns:1fr}.network-field-change{grid-template-columns:1fr 1fr}.network-field-change>strong{grid-column:1/-1}.network-baseline-setup form,.network-filters{flex-direction:column;align-items:stretch}.network-baseline-summary{align-items:start}.network-changes .segmented-control{flex-wrap:wrap;display:flex}}.equipment-documents{border-top:1px solid var(--color-border);margin-top:20px;padding-top:16px}.equipment-documents h4{margin:0 0 12px}.equipment-document-list{margin:12px 0;padding:0;list-style:none}.equipment-document-row{border-bottom:1px solid var(--color-border);align-items:flex-start;gap:10px;padding:12px 0;display:flex}.equipment-document-row>svg{flex:none;margin-top:3px}.equipment-document-name{overflow-wrap:anywhere;flex:1;min-width:0}.equipment-document-name a{color:var(--color-link,var(--color-accent));font-weight:600}.equipment-document-name small{color:var(--color-muted);margin-top:4px;display:block}.equipment-document-hint{color:var(--color-muted);font-size:.85rem}.equipment-document-picker{grid-column:1/-1;margin-top:8px}.equipment-document-picker .field-label{gap:8px;font-weight:600;display:grid}.equipment-document-picker input[type=file]{border:1px solid var(--color-border);background:var(--color-control-bg);width:100%;min-width:0;color:var(--color-text);font:inherit;border-radius:6px;padding:8px;font-weight:400}.equipment-document-actions{flex-wrap:wrap;flex:none;gap:6px;display:flex}.equipment-document-actions .secondary-action{align-items:center;gap:5px;text-decoration:none;display:inline-flex}@media (width<=640px){.equipment-document-row{flex-wrap:wrap}.equipment-document-actions{box-sizing:border-box;width:100%;padding-left:30px}}.browser-install-help{border:1px solid var(--border);background:var(--surface-subtle);border-radius:8px;margin-top:24px;padding:16px}.browser-install-help summary{cursor:pointer;font-weight:700}.browser-install-help li{margin:8px 0;line-height:1.5}.browser-install-help a{color:var(--color-link,var(--color-accent));text-decoration:underline}.error-report-launcher{display:flex}.error-report-fallback{z-index:70;position:fixed;top:14px;right:18px}.error-report-fallback .error-report-button{border:1px solid var(--color-border,#cbd5e1);background:var(--color-panel,#fff);width:40px;height:40px;color:var(--color-text,#17243a)}.nav-group-feedback .nav-group-items{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-group-feedback .nav-link{gap:7px;padding-inline:8px}.nav-group-feedback .nav-link svg{flex-shrink:0}.error-report-launcher.has-error .error-report-button{border-color:var(--color-warning);background:color-mix(in srgb, var(--color-warning) 15%, var(--color-panel));color:var(--color-text)}.error-report-feedback{z-index:1301;box-sizing:border-box;border:1px solid var(--color-border,#cbd5e1);background:var(--color-panel,#fff);max-width:min(420px,100vw - 32px);color:var(--color-text,#17243a);border-radius:12px;align-items:flex-start;gap:12px;padding:12px 16px;display:flex;position:fixed;top:64px;right:18px;box-shadow:0 3px 16px #0003}.error-report-feedback span{overflow-wrap:anywhere;min-width:0}.error-report-feedback button{color:inherit;background:0 0;border:0}.error-report-dialog{border:1px solid var(--color-border,#cbd5e1);background:var(--color-panel,#fff);width:min(570px,100vw - 28px);max-height:calc(100dvh - 40px);color:var(--color-text,#17243a);border-radius:16px;padding:24px;overflow:auto}.error-report-dialog::backdrop{background:#0f172a88}.error-report-dialog form{gap:15px;display:grid}.error-report-dialog header,.error-report-dialog footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.error-report-dialog h2,.error-report-dialog p{margin:0}.error-report-dialog header button{color:inherit;background:0 0;border:0}.error-report-dialog footer button,.error-report-pending button,.error-report-dismiss{border:1px solid var(--color-border,#cbd5e1);background:var(--color-control-bg,#f6fbff);color:inherit;font:inherit;cursor:pointer;border-radius:8px;padding:10px 15px}.error-report-dialog footer .primary-action{background:var(--color-primary,#1766b8);border-color:var(--color-primary,#1766b8);color:#fff}.error-report-dialog button:disabled{opacity:.6;cursor:wait}.error-report-dialog label{gap:7px;font-size:14px;font-weight:600;display:grid}.error-report-dialog input:not([type=checkbox]),.error-report-dialog textarea,.error-report-dialog select{box-sizing:border-box;border:1px solid var(--color-border,#cbd5e1);background:var(--color-control-bg,#f6fbff);width:100%;color:inherit;font:inherit;border-radius:8px;padding:9px}.error-report-dialog .error-report-consent{align-items:center;gap:10px;display:flex}.error-report-dialog details{font-size:13px}.error-report-dialog details p{margin:10px 0;line-height:1.5}.error-report-dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:200px;overflow:auto}.error-report-message{border:1px solid var(--color-warning);background:color-mix(in srgb, var(--color-warning) 15%, var(--color-panel));color:var(--color-text);overflow-wrap:anywhere;border-radius:8px;padding:10px}.error-report-screenshot{object-fit:contain;max-width:100%;max-height:200px}.error-report-pending{border-bottom:1px solid var(--color-border);justify-content:space-between;gap:10px;padding:10px 0;display:flex}.error-recovery{max-width:600px;margin:80px auto;padding:24px}@media (width<=1024px){.error-report-fallback{top:calc(10px + env(safe-area-inset-top,0px));right:10px}.error-report-feedback{top:calc(62px + env(safe-area-inset-top,0px));right:10px}}@media (width<=700px){.error-report-dialog{padding:18px}}@media (width<=600px){.switch-assignment-panel .survey-ap-fields{display:block}.switch-assignment-panel .survey-ap-field{flex-direction:column;align-items:stretch;gap:8px;display:flex}.switch-assignment-panel .survey-ap-field>.input-with-action{width:100%;max-width:none;display:flex}.switch-assignment-panel .input-with-action input{width:100%;min-width:0}.switch-assignment-panel .ap-serial-guidance{margin-top:8px}}.cable-tests{max-width:1600px;color:var(--text-primary,#17263c);margin:auto;padding:20px}.cable-heading,.cable-actions,.cable-pagination,.cable-upload{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.cable-heading h1,.cable-heading h2{margin:0}.cable-heading p,.cable-muted{color:var(--text-secondary,#66758a)}.cable-tests button,.cable-detail button{cursor:pointer}.cable-tests button:disabled,.cable-detail button:disabled{cursor:default;opacity:.55}.cable-tests label,.cable-association label{flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.cable-tests input,.cable-tests select{border:1px solid var(--border-color,#d6dfe9);background:var(--surface,#fff);max-width:100%;color:inherit;border-radius:7px;padding:9px}.cable-metrics{gap:14px;margin:20px 0;display:flex}.cable-metrics button{text-align:left;border:1px solid var(--border-color,#d6dfe9);background:var(--surface,#fff);color:inherit;border-radius:12px;flex:1;padding:16px}.cable-metrics strong{font-size:28px;display:block}.cable-metrics .selected{outline:2px solid #347fc8}.cable-upload{border:1px dashed #91b2d0;border-radius:10px;margin-bottom:16px;padding:16px}.cable-upload input{border:0;margin-top:6px;padding:0}.cable-tests details{margin:14px 0}.cable-tests summary{cursor:pointer;padding:8px 0;font-weight:600}.cable-import-row{border-bottom:1px solid var(--border-color,#e5eaf0);flex-wrap:wrap;gap:12px;padding:12px;display:flex}.cable-import-row p{flex-basis:100%;margin:0}.cable-filters,.cable-policy{flex-wrap:wrap;align-items:end;gap:12px;padding:15px 0;display:flex}.cable-policy p{flex-basis:100%;margin:0}.cable-filters label{flex:1;min-width:145px}.cable-allowed-profiles{border:1px solid var(--border-color,#d6dfeb);border-radius:8px;flex-wrap:wrap;flex-basis:100%;gap:12px;min-width:0;padding:12px;display:flex}.cable-allowed-profiles label{flex-direction:row;align-items:center;gap:6px;display:flex}.cable-allowed-profiles input[type=checkbox]{width:auto;margin:0}.cable-allowed-profiles p{font-size:13px}.cable-workspace.has-detail{grid-template-columns:minmax(340px,1fr) minmax(420px,1.2fr);align-items:start;gap:20px;display:grid}.cable-workspace>*{min-width:0;max-width:100%}.cable-table-scroll{max-height:640px;overflow:auto}.cable-tests table{border-collapse:collapse;width:100%;font-size:13px}.cable-tests th{text-align:left;background:var(--surface-secondary,#f3f6fa);z-index:1;position:sticky;top:0}.cable-tests th,.cable-tests td{border-bottom:1px solid var(--border-color,#e4eaf0);white-space:nowrap;padding:12px 10px}.cable-tests td small{color:var(--text-secondary,#66758a);margin-top:5px;display:block}.cable-tests tr.selected{background:var(--surface-secondary,#edf5ff)}.cable-link{color:#2473bc;text-align:left;background:0 0;border:0;padding:0;font-weight:600}.cable-outcome{white-space:nowrap;border-radius:5px;padding:4px 8px;font-size:12px;font-weight:700;display:inline-block}.cable-outcome-fail{color:#a72d2d;background:#ffeded}.cable-outcome-passstar{color:#8a5a0b;background:#fff3d6}.cable-outcome-pass{color:#146a43;background:#e3f4ea}.cable-detail{border:1px solid var(--border-color,#d6dfe9);background:var(--surface,#fff);border-radius:12px;min-width:0;padding:20px}.cable-detail .cable-actions{justify-content:flex-start;margin-top:16px}.cable-detail h3{margin-top:25px}.cable-facts{grid-template-columns:1fr 1fr;gap:14px;font-size:13px;display:grid}.cable-facts dt{color:var(--text-secondary,#66758a)}.cable-facts dd{overflow-wrap:anywhere;margin:4px 0 0;font-weight:600}.cable-finding{background:var(--surface-secondary,#f5f8fb);border-left:3px solid #7797b7;margin-bottom:12px;padding:10px 14px;font-size:13px}.cable-finding h4{margin:0 0 10px}.cable-finding-warning{border-color:#c58a24}.cable-finding-error{border-color:#cc4b4b}.cable-finding pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;font-size:11px;overflow:auto}.cable-finding ul{padding-left:20px}.cable-error{color:#b13232;overflow-wrap:anywhere}.cable-checkbox{align-items:center;margin-bottom:10px;flex-direction:row!important}.cable-loss-chart{margin:22px 0}.cable-loss-chart figcaption{font-weight:600}.cable-loss-chart small{color:var(--text-secondary,#66758a);margin:6px 0;font-weight:400;display:block}.cable-loss-chart svg{width:100%;height:auto}.cable-loss-chart text{fill:currentColor;font-size:11px}.cable-chart-legend{flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.cable-association{gap:12px;display:grid}.cable-association p{font-size:13px}.cable-pagination{padding:16px 0;font-size:13px}.cable-calibration{border:1px solid var(--border-color,#d6dfe9);background:var(--surface-secondary,#f5f8fb);border-left:4px solid #7a8798;border-radius:8px;margin-top:18px;padding:14px;font-size:13px}.cable-calibration-current{border-left-color:#16805d}.cable-calibration-overdue,.cable-calibration-inconsistent{border-left-color:#c58a24}.cable-calibration>strong{font-size:14px;display:block}.cable-calibration small{color:var(--text-secondary,#66758a);margin-top:10px;line-height:1.5;display:block}.cable-calibration-modules{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:12px;margin-top:12px;display:grid}.cable-calibration-modules span{overflow-wrap:anywhere;margin-top:5px;display:block}.cable-trace-controls{flex-wrap:wrap;gap:12px;display:flex}.cable-trace-controls label{flex:1;min-width:140px}.cable-traces{scroll-margin-top:30px}.cable-traces .cable-loss-chart{margin-top:14px}.cable-trace-marker{color:var(--text-primary,#17263c)}.cable-marker-readout{border:1px solid var(--border-color,#d6dfe9);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;font-size:13px;display:flex}.cable-marker-readout strong{flex-basis:100%}.cable-marker-readout button{margin-left:auto}.cable-traces p{font-size:13px;line-height:1.5}.cable-trace-guidance{background:var(--surface-secondary,#f5f8fb);border:1px solid var(--border-color,#d6dfe9);border-radius:8px;padding:10px 14px;font-size:13px;line-height:1.5}.cable-trace-guidance ol{padding-left:22px}.cable-trace-guidance li{margin:8px 0}@media (width<=1000px){.cable-workspace.has-detail{grid-template-columns:1fr}.cable-detail{order:-1}.cable-tests{padding:12px}.cable-filters label{min-width:130px}.cable-metrics{gap:8px}.cable-metrics button{padding:12px}.cable-facts{grid-template-columns:1fr}}@media (width<=600px){.cable-loss-chart text{font-size:20px}}.floorplan-workspace-viewer button.tiled-ap-cluster{z-index:12;border:2px solid var(--color-accent);background:var(--color-selection);width:44px;height:44px;color:var(--color-text);box-shadow:var(--shadow-panel);font:inherit;cursor:pointer;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:0;padding:0;display:flex;position:absolute;transform:translate(-50%,-50%)}.tiled-ap-cluster .tiled-ap-group-caption{flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.tiled-ap-cluster .tiled-ap-count{font-size:15px;font-weight:700;line-height:1.15}.tiled-ap-cluster small{font-size:11px;line-height:1.2}.tiled-ap-cluster:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}.tiled-ap-group-attention{background:var(--color-panel);border:1px solid var(--color-border);width:18px;height:18px;color:var(--color-warning);border-radius:50%;place-items:center;font-size:12px;font-style:normal;font-weight:700;display:grid;position:absolute;top:-5px;right:-5px}.tiled-ap-cluster[data-attention=danger] .tiled-ap-group-attention{color:var(--color-danger)}.floorplan-workspace-viewer .tiled-ap-group-detail h3{margin:0;padding:0 46px 0 0;font-size:16px}.floorplan-workspace-viewer .tiled-ap-group-detail p{color:var(--color-warning);margin:4px 0;font-size:13px}.tiled-ap-group-members{flex-direction:column;gap:6px;display:flex}.tiled-ap-group-members>button{border:1px solid var(--color-border);background:var(--color-control-bg);min-height:44px;color:var(--color-text);text-align:left;font:inherit;cursor:pointer;border-radius:8px;flex-direction:column;align-items:flex-start;gap:4px;padding:10px;display:flex}.tiled-ap-group-members>button:hover{background:var(--color-control-hover)}.tiled-ap-group-members>button>span{color:var(--color-muted);font-size:12px}.tiled-ap-cluster.is-offset{transform:translate(-50%,-50%) translate(var(--group-offset-x),var(--group-offset-y))}.floorplan-workspace-viewer .tiled-pin.idf{z-index:13}.floorplan-workspace-viewer .tiled-pin.selected{z-index:14}.floorplan-workspace-viewer .tiled-ap-map-id{left:50%;bottom:calc(100% + var(--map-id-gap,6px));transform:translateX(calc(-50% + var(--map-id-offset-x,0px)));box-sizing:border-box;border:1px solid var(--color-border);background:var(--color-panel);height:auto;min-height:22px;color:var(--color-text);box-shadow:var(--shadow-panel);white-space:normal;overflow-wrap:anywhere;text-align:center;pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:5px;padding:1px 5px;font:600 12px/18px system-ui,sans-serif;position:absolute}.floorplan-workspace-viewer .tiled-pin.selected .tiled-ap-map-id{border-color:var(--color-accent)}.floorplan-area-overlay{z-index:8;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.floorplan-area-shape{stroke-width:2px;fill-opacity:.12;vector-effect:non-scaling-stroke;pointer-events:none}.floorplan-area-shape.draft{stroke:var(--color-accent);fill:var(--color-accent);stroke-dasharray:6 4}.floorplan-area-label-overlay{z-index:16;visibility:hidden}.floorplan-area-label-overlay[data-overview-labels=true]{visibility:visible}.floorplan-area-label,.floorplan-area-label *{pointer-events:none}.floorplan-area-label-wrap{justify-content:center;align-items:center;height:100%;display:flex}.floorplan-area-name{box-sizing:border-box;text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--color-accent);background:var(--color-panel);max-width:100%;color:var(--color-text);border-radius:5px;padding:3px 7px;font-size:12px;font-weight:700;line-height:18px;overflow:hidden;box-shadow:0 1px 3px #0003}.floorplan-area-vertex{pointer-events:all;cursor:move;touch-action:none}.area-corner-hit{fill:#0000}.area-corner-dot{fill:var(--color-panel);stroke:var(--color-accent);stroke-width:3px}.floorplan-area-vertex:focus-visible .area-corner-dot{stroke:var(--color-text)}.is-area-drawing .tiled-pin,.is-area-drawing .tiled-ap-cluster,.is-area-drawing .tiled-wifi-survey-pin{pointer-events:none}.floorplan-area-toolbar-host:empty{display:none}.floorplan-area-toolbar-host{flex:none}.floorplan-area-drawing{border-bottom:1px solid var(--color-border);background:var(--color-panel);color:var(--color-text);flex-wrap:wrap;align-items:center;gap:6px 12px;padding:8px 12px;display:flex}.floorplan-area-drawing>strong{overflow-wrap:anywhere;font-size:14px}.floorplan-area-drawing>div{margin-left:auto}.floorplan-area-drawing>p{width:100%;color:var(--color-danger);margin:0;font-size:12px}.floorplan-area-drawing>span{color:var(--color-muted);font-size:12px}.floorplan-area-drawing>div,.area-save-actions{flex-wrap:wrap;gap:6px;display:flex}.floorplan-area-drawing button{border:1px solid var(--color-border);background:var(--color-control-bg);min-height:44px;color:var(--color-text);font:inherit;border-radius:7px;align-items:center;gap:6px;padding:8px;display:inline-flex}.floorplan-area-panel small{color:var(--color-muted);display:block}.floorplan-area-panel .tiled-controls-body{align-content:start;gap:12px;display:grid}.floorplan-area-panel input:not([type=checkbox]),.floorplan-area-panel select{border:1px solid var(--color-border);background:var(--color-control-bg);width:100%;min-width:0;color:var(--color-text);border-radius:6px;padding:8px}.floorplan-area-panel p{color:var(--color-muted);margin:0;font-size:12px}.floorplan-area-panel [role=alert]{color:var(--color-danger)}.area-new-fields{grid-template-columns:minmax(0,1fr) 90px;gap:8px;display:grid}.floorplan-area-list{gap:6px;display:grid}.floorplan-area-list>div{align-items:center;gap:6px;min-width:0;display:flex}.floorplan-area-list>div>span{flex:1;font-size:13px}.area-assignment-preview{gap:10px;display:grid}.area-assignment-preview ul{gap:8px;max-height:220px;padding:0;list-style:none;display:grid;overflow:auto}.area-assignment-preview li{border-bottom:1px solid var(--color-border);overflow-wrap:anywhere;gap:3px;padding:6px;font-size:12px;display:grid}.area-assignment-preview .checkbox-field{align-items:flex-start;font-size:13px}@media (width<=760px){.floorplan-area-drawing{gap:4px;padding:6px 8px;display:grid}.floorplan-area-drawing>div{margin:0}.area-undo-label{display:none}.floorplan-area-drawing button{font-size:13px}.floorplan-area-panel{max-height:min(66%,560px)}}.area-selected-fields{gap:12px;min-width:0;display:grid}.area-color-control{align-items:center;gap:10px;min-width:0;display:flex}.floorplan-area-panel .area-color-control input[type=color]{cursor:pointer;flex:0 0 64px;width:64px;height:44px;padding:4px}.area-color-control output{color:var(--color-muted);font-variant-numeric:tabular-nums;font-size:13px}.floorplan-area-panel .area-new-fields input[type=color]{cursor:pointer;height:44px;padding:4px}.floorplan-area-snap-target{pointer-events:none}.floorplan-area-snap-target circle:first-child{fill:var(--color-panel);fill-opacity:.85;stroke:var(--color-accent);stroke-width:2px;stroke-dasharray:3 2}.floorplan-area-snap-target circle:last-child{fill:var(--color-accent)}.floorplan-area-drawing>.area-snap-options{flex-wrap:nowrap;align-items:center;gap:4px 10px;margin:0}.area-snap-options label{cursor:pointer;flex:none;align-items:center;gap:6px;min-height:36px;font-size:13px;display:inline-flex}.area-snap-options input{width:16px;height:16px;accent-color:var(--color-accent);margin:0}.area-snap-options>span{min-width:0;min-height:32px;color:var(--color-muted);flex:1;align-items:center;font-size:12px;line-height:16px;display:flex}.floorplan-area-drawing{position:relative}.floorplan-area-drawing>p{z-index:30;border:1px solid var(--color-danger);background:var(--color-panel);pointer-events:none;border-radius:6px;width:auto;padding:8px;position:absolute;top:calc(100% + 4px);left:8px;right:8px}.progress-view{width:min(1440px,100%);margin:0 auto;padding:24px}.progress-view-heading,.progress-section-heading,.progress-equipment-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.progress-view-heading{margin-bottom:20px}.progress-view-heading h1{margin:4px 0;font-size:26px}.progress-view-heading p{color:var(--color-muted);margin:0}.progress-builder-trigger{border:1px solid var(--color-border);background:var(--color-control-bg);min-height:36px;color:var(--color-text);border-radius:5px;align-items:center;gap:7px;padding:0 11px;font-weight:650;display:inline-flex}.progress-builder-trigger:hover{border-color:var(--color-accent);color:var(--color-accent)}.progress-builder-trigger:disabled{cursor:not-allowed;opacity:.55}.progress-dashboard-tabs{border-bottom:1px solid var(--color-border);gap:4px;display:flex;overflow-x:auto}.progress-dashboard-tabs [role=tab]{min-height:42px;color:var(--color-muted);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:0 14px;font-size:13px;font-weight:650}.progress-dashboard-tabs [role=tab]:hover{color:var(--color-text)}.progress-dashboard-tabs [role=tab].is-active{border-bottom-color:var(--color-accent);color:var(--color-accent)}.progress-tab-actions{align-items:center;gap:10px;display:flex}.progress-builder-scope{color:var(--color-muted);margin:-5px 0 14px;font-size:12px}.progress-widget-grid{flex-wrap:wrap;align-content:flex-start;align-items:stretch;gap:12px;display:flex}.progress-custom-widget{border:1px solid var(--color-border);background:var(--color-panel);border-radius:6px;flex-direction:column;min-width:0;height:164px;min-height:164px;display:flex;position:relative;overflow:hidden}.progress-widget-width-4{flex:0 0 calc(33.3333% - 8px)}.progress-widget-width-6{flex:0 0 calc(50% - 6px)}.progress-widget-width-8{flex:0 0 calc(66.6667% - 8px)}.progress-widget-width-12{flex:0 0 100%}.progress-widget-row-break{flex:0 0 100%;width:0;height:0;margin:-6px 0}.progress-widget-height-1{height:164px}.progress-widget-height-2{height:340px}.progress-widget-height-3{height:492px}.progress-dashboard-divider{flex:0 0 100%;align-items:center;gap:10px;min-width:0;height:auto;min-height:1px;display:flex;position:relative}.progress-dashboard-divider-line{background:var(--color-border);flex:auto;min-width:0;height:1px}.progress-dashboard-divider-title{max-width:70%;color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:650;overflow:hidden}.progress-dashboard-divider.is-arranging{background:0 0;height:auto;min-height:42px}.progress-dashboard-divider.is-arranging .progress-dashboard-divider-line,.progress-dashboard-divider.is-arranging .progress-dashboard-divider-title{display:none}.progress-dashboard-divider.is-arranging .progress-widget-layout-controls{border:1px solid var(--color-border);background:var(--color-panel);border-radius:5px;width:100%}.progress-widget-divider-label{color:var(--color-muted);margin-right:auto;font-size:11px}.progress-custom-widget.is-drop-before:before,.progress-custom-widget.is-drop-after:after,.progress-dashboard-divider.is-drop-before:before,.progress-dashboard-divider.is-drop-after:after{z-index:3;background:var(--color-accent);height:3px;box-shadow:0 0 0 2px var(--color-panel);content:"";pointer-events:none;border-radius:2px;position:absolute;left:-6px;right:-6px}.progress-custom-widget.is-drop-before:before,.progress-dashboard-divider.is-drop-before:before{top:-7px}.progress-custom-widget.is-drop-after:after,.progress-dashboard-divider.is-drop-after:after{bottom:-7px}.progress-widget-grid.is-drop-end:after{background:var(--color-accent);height:3px;box-shadow:0 0 0 2px var(--color-panel);content:"";border-radius:2px;flex:0 0 100%;margin:0 0 9px}.progress-custom-widget>header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:start;gap:12px;padding:13px 14px 10px;display:flex}.progress-custom-widget>header>div:first-child{min-width:0}.progress-custom-widget>header h3{overflow-wrap:anywhere;margin:0;font-size:14px}.progress-custom-widget>header span{color:var(--color-muted);margin-top:3px;font-size:11px;display:block}.progress-custom-widget>header button{border:1px solid var(--color-border);background:var(--color-control-bg);width:30px;height:30px;color:var(--color-text);border-radius:5px;flex:none;place-items:center;display:grid}.progress-widget-actions{flex:none;gap:6px;display:flex}.progress-custom-widget>header .progress-widget-actions button:hover{border-color:var(--color-accent);color:var(--color-accent)}.progress-custom-widget>header .progress-widget-drag{cursor:grab}.progress-custom-widget>header .progress-widget-drag:active{cursor:grabbing}.progress-custom-widget.is-drag-over{outline:2px dashed var(--color-accent);outline-offset:2px}.progress-widget-layout-controls{border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:5px;min-height:42px;padding:5px 9px;display:flex}.progress-widget-layout-controls>button,.progress-widget-size-group button{border:1px solid var(--color-border);background:var(--color-control-bg);width:28px;height:28px;color:var(--color-text);border-radius:4px;flex:none;place-items:center;display:grid}.progress-widget-divider-title-editor{min-width:min(360px,100%);color:var(--color-muted);flex:260px;align-items:center;gap:7px;font-size:11px;display:flex}.progress-widget-divider-title-editor input{border:1px solid var(--color-border);background:var(--color-control-bg);min-width:0;height:30px;color:var(--color-text);border-radius:4px;flex:auto;padding:0 8px}.progress-widget-layout-controls button:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.progress-widget-layout-controls button:disabled{cursor:not-allowed;opacity:.45}.progress-widget-size-group{color:var(--color-muted);white-space:nowrap;align-items:center;gap:4px;margin-left:5px;font-size:11px;display:inline-flex}.progress-widget-chart{flex:auto;min-height:0;position:relative;overflow:hidden}.progress-widget-chart .progress-echart{width:100%;height:100%;min-height:0;position:absolute;inset:0}.progress-custom-widget>.progress-widget-points{flex:auto;min-height:0;max-height:none}.progress-custom-widget>.progress-empty,.progress-custom-widget>.progress-error{margin:auto 12px}.progress-shared-dashboard,.progress-template-library{border-top:1px solid var(--color-border);padding:14px 0 18px}.progress-shared-dashboard>.progress-section-heading,.progress-template-library>.progress-section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.progress-shared-dashboard .progress-section-heading h2,.progress-template-library .progress-section-heading h3{margin:0;font-size:15px}.progress-shared-dashboard .progress-section-heading span,.progress-template-library .progress-section-heading span{color:var(--color-muted);margin-top:3px;font-size:11px;display:block}.progress-shared-badge{border:1px solid var(--color-border);white-space:nowrap;border-radius:4px;padding:4px 7px}.progress-template-list{gap:6px;display:grid}.progress-template-list>article{border:1px solid var(--color-border);background:var(--color-panel);border-radius:5px;justify-content:space-between;align-items:center;gap:12px;padding:9px 10px;display:flex}.progress-template-list>article>div:first-child{gap:3px;min-width:0;display:grid}.progress-template-list>article>div:first-child strong{text-overflow:ellipsis;font-size:12px;overflow:hidden}.progress-template-list>article>div:first-child span{color:var(--color-muted);font-size:11px}.progress-template-list>article>div:last-child{flex:none;align-items:center;gap:5px;display:flex}.progress-template-list button{border:1px solid var(--color-border);background:var(--color-control-bg);min-height:30px;color:var(--color-text);border-radius:4px;align-items:center;gap:5px;padding:0 7px;font-size:11px;display:inline-flex}.progress-template-list button:hover{border-color:var(--color-accent);color:var(--color-accent)}.progress-template-dialog{width:min(480px,100%)}.progress-template-dialog .progress-builder-form{padding:16px}.progress-template-dialog .progress-builder-scope{margin:0}.progress-widget-points{gap:2px;max-height:390px;padding:8px 12px 12px;display:grid;overflow:auto}.progress-widget-point{color:var(--color-text);text-align:left;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 10px;padding:7px 3px;display:grid}.progress-widget-point:hover .progress-widget-point-label{color:var(--color-accent);text-decoration:underline}.progress-widget-point-label{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.progress-widget-point strong{font-variant-numeric:tabular-nums;font-size:12px}.progress-widget-track{background:var(--color-control-bg);border-radius:3px;grid-column:1/-1;height:6px;overflow:hidden}.progress-widget-track i{border-radius:inherit;height:100%;display:block}.progress-widget-points.is-list .progress-widget-point{border-bottom:1px solid var(--color-border);min-height:34px}.progress-widget-progress-bars,.progress-preview-progress-bars{gap:9px;padding:10px 13px 13px;display:grid;overflow:auto}.progress-bar-row{width:100%;color:var(--color-text);text-align:left;gap:4px;display:grid}.progress-bar-heading{justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.progress-bar-heading button{color:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;padding:0;overflow:hidden}.progress-bar-heading button:not(:disabled):hover{color:var(--color-accent);text-decoration:underline}.progress-bar-heading button:disabled{cursor:default}.progress-bar-heading strong{font-variant-numeric:tabular-nums;flex:none}.progress-bar-track{background:var(--color-control-bg);border-radius:4px;height:8px;display:block;overflow:hidden}.progress-bar-track i{border-radius:inherit;height:100%;display:block}.progress-bar-track.is-segmented{display:flex}.progress-bar-track.is-segmented i{border-radius:0;min-width:1px}.progress-bar-track.is-segmented i:first-child{border-radius:4px 0 0 4px}.progress-bar-track.is-segmented i:last-child{border-radius:0 4px 4px 0}.progress-bar-segment{border:0;border-radius:0;flex:none;min-width:1px;height:100%;padding:0;display:block}.progress-bar-segment:first-child{border-radius:4px 0 0 4px}.progress-bar-segment:last-child{border-radius:0 4px 4px 0}.progress-bar-segment:hover{filter:brightness(1.15)}.progress-bar-segment:focus-visible{z-index:1;outline:2px solid var(--color-text);outline-offset:1px}.progress-bar-segment-legend{color:var(--color-muted);flex-wrap:wrap;gap:3px 10px;font-size:10px;display:flex}.progress-bar-segment-legend>span,.progress-bar-segment-legend>button{align-items:center;gap:4px;display:inline-flex}.progress-bar-segment-legend>button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.progress-bar-segment-legend>button:hover{color:var(--color-accent);text-decoration:underline}.progress-bar-segment-legend i{border-radius:50%;flex:none;width:7px;height:7px}.progress-bar-row small{color:var(--color-muted);font-size:10px}.progress-preview-progress-bars{margin-top:8px;padding:0}.progress-builder-dialog{width:min(760px,100%);max-height:min(92vh,920px)}.progress-builder-form{gap:14px;padding:18px;display:grid;overflow:auto}.progress-value-selector{color:var(--color-text);grid-template-columns:115px minmax(0,1fr);gap:10px;font-size:13px;display:grid}.progress-value-selector-controls{gap:8px;min-width:0;display:grid}.progress-value-selector-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;display:flex}.progress-value-selector-heading button{border:1px solid var(--color-border);background:var(--color-control-bg);color:var(--color-text);border-radius:5px;padding:5px 8px}.progress-value-options{border:1px solid var(--color-border);border-radius:5px;gap:8px;max-height:200px;padding:8px;display:grid;overflow:auto}.progress-value-options label{cursor:pointer;align-items:flex-start;gap:8px;display:flex}.progress-value-options label>span{overflow-wrap:anywhere;flex:1;min-width:0}.progress-value-options label>small{color:var(--color-muted);flex-shrink:0}.progress-builder-form .progress-value-options input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-accent);flex-shrink:0;margin:1px 0 0;padding:0}.progress-value-selector-controls>small{color:var(--color-muted)}@media (width<=600px){.progress-value-selector{grid-template-columns:minmax(0,1fr)}}.progress-builder-form>label{color:var(--color-text);grid-template-columns:115px minmax(0,1fr);align-items:center;gap:10px;font-size:13px;display:grid}.progress-builder-form input:not([type=color]),.progress-builder-form select{border:1px solid var(--color-border);background:var(--color-control-bg);width:100%;min-width:0;height:36px;color:var(--color-text);border-radius:5px;padding:0 9px}.progress-builder-form input[type=color]{border:1px solid var(--color-border);background:var(--color-control-bg);border-radius:5px;width:44px;height:34px;padding:2px}.progress-builder-preview{border:1px solid var(--color-border);background:var(--color-control-bg);border-radius:5px;gap:5px;padding:12px;display:grid}.progress-builder-preview>span,.progress-builder-preview>small{color:var(--color-muted);font-size:11px}.progress-builder-preview>strong{font-size:13px}.progress-builder-form>footer{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.progress-builder-form>footer button{border:1px solid var(--color-border);background:var(--color-control-bg);min-height:36px;color:var(--color-text);border-radius:5px;align-items:center;gap:6px;padding:0 11px;display:inline-flex}.progress-builder-form>footer button.primary{border-color:var(--color-accent);background:var(--color-accent);color:#fff}.progress-field-search>span:first-child{align-self:start}.progress-search-input{border:1px solid var(--color-border);background:var(--color-control-bg);min-width:0;height:36px;color:var(--color-muted);border-radius:5px;align-items:center;gap:7px;padding:0 9px;display:flex}.progress-search-input input{width:100%;min-width:0;height:32px;color:var(--color-text);background:0 0;border:0;outline:0}.progress-builder-filters{gap:8px;display:grid}.progress-builder-subheading{justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.progress-builder-subheading button{border:1px solid var(--color-border);background:var(--color-control-bg);min-height:30px;color:var(--color-text);border-radius:5px;align-items:center;gap:5px;padding:0 8px;display:inline-flex}.progress-builder-subheading button:disabled{opacity:.55}.progress-filter-row{grid-template-columns:minmax(110px,1.2fr) minmax(100px,1fr) minmax(100px,1fr) 32px;gap:6px;display:grid}.progress-timeline-series{grid-template-columns:minmax(120px,1.2fr) minmax(140px,1.2fr) minmax(130px,1.2fr) 44px 32px}.progress-timeline-series input[type=color]{width:44px;padding:3px}.progress-timeline-style{color:var(--color-text);justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.progress-timeline-style [role=group]{border:1px solid var(--color-border);border-radius:5px;display:inline-flex;overflow:hidden}.progress-timeline-style button{background:var(--color-control-bg);min-width:64px;height:32px;color:var(--color-text);border:0;padding:0 10px}.progress-timeline-style button+button{border-left:1px solid var(--color-border)}.progress-timeline-style button[aria-pressed=true]{background:var(--color-accent);color:#fff}.progress-builder-form>label.progress-timeline-total{grid-template-columns:minmax(0,1fr) auto;justify-items:start}.progress-builder-form>label.progress-timeline-total input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-accent);margin:0}.progress-filter-row select,.progress-filter-row input{border:1px solid var(--color-border);background:var(--color-control-bg);width:100%;min-width:0;height:34px;color:var(--color-text);border-radius:5px;padding:0 7px;font-size:12px}.progress-relative-date-filter{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) auto;align-items:center;gap:5px;min-width:0;display:grid}.progress-relative-date-filter small{color:var(--color-muted);font-size:11px}.progress-filter-row button{border:1px solid var(--color-border);background:var(--color-control-bg);width:32px;height:34px;color:var(--color-text);border-radius:5px;place-items:center;display:grid}.progress-builder-preview .progress-echart{height:220px}.progress-echart{width:100%;height:240px}.progress-chart-accessibility{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.progress-preview-list{gap:5px;margin-top:8px;display:grid}.progress-preview-list>span{border-bottom:1px solid var(--color-border);justify-content:space-between;gap:8px;padding:6px 0;font-size:12px;display:flex}.progress-preview-list strong{font-variant-numeric:tabular-nums}.progress-pie-colors{border:1px solid var(--color-border);border-radius:5px;grid-column:1/-1;padding:8px 10px}.progress-pie-colors summary{color:var(--color-text);cursor:pointer;font-size:12px;font-weight:600}.progress-pie-colors>div{gap:4px;max-height:180px;margin-top:8px;display:grid;overflow:auto}.progress-pie-colors label{min-height:34px;color:var(--color-muted);justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.progress-pie-colors input[type=color]{flex:none}.progress-section{border-top:1px solid var(--color-border);padding:18px 0 22px}.progress-section-heading{margin-bottom:14px}.progress-section-heading h2{margin:0;font-size:17px}.progress-section-heading>span{color:var(--color-muted);font-size:12px}.progress-equipment-grid,.progress-survey-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.progress-equipment,.progress-survey-group{border:1px solid var(--color-border);background:var(--color-panel);border-radius:6px;min-width:0;padding:14px}.progress-equipment-heading h3,.progress-survey-group h3{margin:0;font-size:14px}.progress-equipment-heading strong{color:var(--color-success);font-size:14px}.progress-track>span{border-radius:inherit;background:#16804a;height:100%;display:block}.progress-equipment>.progress-track{margin:14px 0 10px}.progress-value-actions{color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:12px;display:flex}.progress-value-actions button,.progress-outcome-list button,.progress-status-grid button{color:var(--color-accent);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;padding:3px 0;display:inline-flex}.progress-value-actions button:hover,.progress-outcome-list button:hover,.progress-status-grid button:hover{text-decoration:underline}.progress-value-actions strong,.progress-outcome-list strong,.progress-status-grid strong{color:var(--color-text)}.progress-area-list{gap:11px;display:grid}.progress-area-row{grid-template-columns:minmax(130px,1fr) minmax(120px,2fr) minmax(230px,2fr);align-items:center;gap:12px;display:grid}.progress-area-name{justify-content:space-between;gap:8px;font-size:13px;display:flex}.progress-area-name span{color:var(--color-muted)}.progress-survey-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-survey-group h3{margin-bottom:8px}.progress-outcome-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px;display:grid}.progress-outcome-list button{width:100%;font-size:13px}.progress-status-grid{flex-wrap:wrap;gap:8px 20px;display:flex}.progress-status-grid button{gap:18px;min-width:160px;font-size:13px}.progress-checkbox{color:var(--color-muted);align-items:center;gap:7px;font-size:12px;display:inline-flex}.progress-checkbox input{accent-color:var(--color-accent)}.progress-trend-legend{color:var(--color-muted);gap:16px;font-size:12px;display:flex}.progress-trend-legend span{align-items:center;gap:6px;display:inline-flex}.progress-trend-legend i{background:#1684bd;border-radius:2px;width:9px;height:9px}.progress-trend-legend i.idf{background:#e2a522}.progress-trend-legend i.switch{background:#d65a57}.progress-trend-chart{border-bottom:1px solid var(--color-border);align-items:end;gap:4px;min-height:185px;margin-top:12px;padding:12px 8px 0;display:flex;overflow-x:auto}.progress-trend-day{flex:1 0 24px;min-width:24px;height:172px}.progress-trend-bar{width:100%;height:100%;color:var(--color-muted);background:0 0;border:0;flex-direction:column;justify-content:end;align-items:center;gap:5px;padding:0;display:flex}.progress-trend-bar:hover .progress-trend-stack{opacity:.72}.progress-trend-stack{border-radius:3px 3px 0 0;flex-direction:column;justify-content:end;width:min(22px,85%);min-height:0;transition:opacity .15s;display:flex;overflow:hidden}.progress-trend-stack i{background:#1684bd;min-height:1px;display:block}.progress-trend-stack i.idf{background:#e2a522}.progress-trend-stack i.switch{background:#d65a57}.progress-trend-bar small{white-space:nowrap;font-size:10px}.progress-coverage,.progress-empty,.progress-dialog-count{color:var(--color-muted);font-size:12px}.progress-empty{margin:12px 0}.progress-view-state{color:var(--color-muted);padding:32px}.progress-error{color:var(--color-danger)}.progress-dialog-backdrop{z-index:1000;background:#0c162173;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.progress-dialog{border:1px solid var(--color-border);background:var(--color-panel);width:min(680px,100%);max-height:min(80vh,760px);box-shadow:var(--shadow-panel);border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.progress-dialog>header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:start;gap:16px;padding:18px;display:flex}.progress-dialog h2{margin:4px 0 0;font-size:17px}.progress-dialog>header button{border:1px solid var(--color-border);background:var(--color-control-bg);width:34px;height:34px;color:var(--color-text);border-radius:5px;place-items:center;display:grid}.progress-dialog-count{margin:12px 18px 4px}.progress-dialog-limiter{color:var(--color-muted);margin:6px 18px 0;font-size:12px}.progress-dialog-limiter strong{color:var(--color-text);font-weight:600}.progress-record-list{padding:6px 18px 18px;overflow:auto}.progress-record-list>div{border-bottom:1px solid var(--color-border);justify-content:space-between;gap:12px;padding:10px 0;font-size:13px;display:flex}.progress-record-list span{color:var(--color-muted);text-align:right}.progress-record-link{color:var(--color-accent);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:0;font-weight:600}.progress-record-link:hover,.progress-record-link:focus-visible{text-decoration:underline}@media (width<=800px){.progress-equipment-grid{grid-template-columns:1fr}.progress-template-list>article{flex-direction:column;align-items:start}.progress-template-list>article>div:last-child{flex-wrap:wrap}.progress-area-row{border-bottom:1px solid var(--color-border);grid-template-columns:1fr;gap:6px;padding:10px 0}}@media (width<=560px){.progress-custom-widget{height:180px;min-height:180px}.progress-widget-width-4,.progress-widget-width-6,.progress-widget-width-8,.progress-widget-width-12{flex-basis:100%}.progress-widget-row-break{display:none}.progress-widget-height-1{height:180px}.progress-widget-height-2{height:372px}.progress-widget-height-3{height:564px}.progress-tab-actions{flex-wrap:wrap}.progress-filter-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 32px}.progress-timeline-series{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px 32px}.progress-timeline-series select:nth-child(2){grid-area:2/1/auto/3}.progress-timeline-series input[aria-label$=name]{grid-area:3/1/auto/3}.progress-timeline-series input[type=color]{grid-area:1/2;justify-self:end}.progress-timeline-series button{grid-area:1/3}.progress-filter-row>input,.progress-filter-row>.progress-relative-date-filter{grid-area:2/1/auto/3}.progress-filter-row button{grid-area:1/3/3;height:100%}.progress-view{padding:16px}.progress-section-heading{flex-direction:column;align-items:start;gap:8px}.progress-builder-form>label{grid-template-columns:1fr;gap:6px}.progress-survey-grid{grid-template-columns:1fr}.progress-record-list>div{flex-direction:column;align-items:start;gap:3px}.progress-record-list span{text-align:left}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:var(--color-sidebar-header-surface);--color-sidebar:#469ff9;--color-sidebar-active:#176fb8;--color-sidebar-ink:#082d4a;--color-sidebar-muted:#155783;--color-sidebar-header-surface:#edf7ff;--color-sidebar-header-border:#c7e2ff;--color-text:#1b2430;--color-muted:#647282;--color-border:#d8e0e8;--color-panel:#fff;--color-accent:#0f5ea8;--color-accent-strong:#0a477f;--color-control-bg:#f6fbff;--color-control-hover:#e7f3ff;--color-selection:#eaf4ff;--color-success:#15803d;--color-warning:#b45309;--color-danger:#b91c1c;--color-ink:var(--color-text);--muted-text:var(--color-muted);--color-primary:var(--color-accent);--surface-muted:var(--color-control-hover);--surface-subtle:var(--color-control-bg);--border:var(--color-border);--shadow-panel:0 12px 30px #11263f14;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--color-bg);min-width:320px;min-height:100vh;color:var(--color-text);margin:0}button,input,select{font:inherit}button{cursor:pointer}.loading,.signin{place-items:center;min-height:100vh;padding:24px;display:grid}.signin{background-color:#3294eb;background-position:50%;background-size:cover;overflow:hidden}.loading-screen{color:#fff;background:#3294eb;min-height:100dvh;position:relative;overflow:hidden}.loading-screen-artwork{position:absolute;inset:0}.loading-screen img{z-index:1;object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.loading-screen span{z-index:2;bottom:7vh;bottom:max(7dvh, calc(env(safe-area-inset-bottom,0px) + 16px));text-align:center;letter-spacing:.02em;background:#0d529bb8;border-radius:999px;max-width:calc(100% - 48px);padding:8px 16px;font-weight:600;position:absolute}@media (width<=1024px),(pointer:coarse){.loading-screen{background:#008fff}}.signin-panel{border:1px solid var(--color-border);width:min(460px,100%);box-shadow:var(--shadow-panel);background:#fffffff5;border-radius:8px;padding:34px}.signin-panel img{object-fit:contain;width:58px;height:58px;margin-bottom:18px}.signin-panel h1,.topbar h1,.panel h2,.summary-card strong,.signin-panel p,.topbar p,.summary-card p,.panel p{margin:0}.signin-panel h1{font-size:28px;line-height:1.15}.signin-panel p{color:var(--color-muted);margin-top:10px;line-height:1.5}.error-banner{color:var(--color-danger);background:#fff1f2;border:1px solid #fecaca;border-radius:6px;margin-top:18px;padding:12px}.site-map-panel{grid-column:1/-1}.site-details-heading{justify-content:space-between;align-items:flex-start;gap:18px;padding:4px 0 14px;display:flex}.site-details-heading h2{margin:3px 0 4px;font-size:22px}.site-details-heading p{color:var(--color-muted);margin:0}.equipment-summary{border-top:1px solid var(--color-border);margin-top:16px;padding-top:16px}.equipment-summary-heading{color:var(--color-text);justify-content:space-between;gap:12px;display:flex}.equipment-summary-heading span{color:var(--color-muted);font-size:12px}.equipment-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px;display:grid}.equipment-summary-grid>div{border:1px solid var(--color-border);background:var(--color-control-bg);border-radius:6px;padding:12px}.equipment-summary-grid strong,.equipment-summary-grid span{display:block}.equipment-summary-grid strong{font-size:20px}.equipment-summary-grid span{color:var(--color-muted);margin-top:3px;font-size:12px}.site-map-map-wrap{position:relative}.site-map-canvas{border:1px solid var(--color-border);background:#e8eef4;border-radius:6px;min-height:360px;margin-top:18px;overflow:hidden}.site-map-canvas .gps-map-error{padding:18px}.site-map-legend{z-index:2;border:1px solid var(--color-border);background:var(--color-panel);border-radius:7px;gap:7px;max-width:min(300px,100% - 24px);max-height:calc(100% - 24px);padding:9px 11px;display:grid;position:absolute;bottom:12px;left:12px;overflow-y:auto;box-shadow:0 8px 20px #0f172a29}.site-map-legend>div{color:var(--color-text);grid-template-columns:18px minmax(90px,1fr) auto;align-items:center;gap:7px;font-size:12px;display:grid}.site-map-legend-marker{border:2px solid #fff;border-radius:999px;width:16px;height:16px;box-shadow:0 1px 4px #0f172a47}.site-map-detail{z-index:2;border:1px solid var(--color-border);background:var(--color-panel);width:min(360px,100% - 24px);max-height:calc(100% - 24px);color:var(--color-text);border-radius:8px;gap:10px;padding:12px;display:grid;position:absolute;bottom:12px;right:12px;overflow:auto;box-shadow:0 8px 24px #0f172a38}.site-map-detail .tool-result{grid-template-columns:1fr;margin:0}.site-map-detail .detail-link{color:var(--color-link,var(--color-accent))}.primary-action,.ghost-action,.nav-link{border-radius:6px;align-items:center;gap:8px;min-height:38px;display:inline-flex}.primary-action{background:var(--color-accent);color:#fff;border:0;margin-top:22px;padding:0 16px;font-weight:700}.primary-action:hover{background:var(--color-accent-strong)}.primary-action:disabled{cursor:not-allowed;opacity:.58}.danger-action{color:#b91c1c;background:#fff1f2;border:1px solid #fca5a5;border-radius:6px;min-height:38px;margin-top:22px;padding:0 16px;font-weight:700}.access-admin .field-label{gap:6px;max-width:620px;margin:16px 0;font-weight:700;display:grid}.access-layout{grid-template-columns:minmax(240px,.75fr) minmax(0,1.5fr);gap:24px;margin-top:24px;display:grid}.user-directory{border:1px solid var(--color-border);background:var(--color-control-bg);border-radius:6px;margin:24px 0;padding:18px}.company-directory{border:1px solid var(--color-border);background:var(--color-sidebar-header-surface);border-radius:6px;margin-top:24px;padding:18px}.company-list{gap:6px;max-height:300px;margin-top:12px;display:grid;overflow:auto}.company-row{border-bottom:1px solid var(--color-border);color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border-top:0;border-left:0;border-right:0;grid-template-columns:1fr 1.5fr 80px;align-items:center;gap:8px;padding:6px 0;display:grid}.company-row input{border:1px solid var(--color-border);background:var(--color-control-bg);min-width:0;min-height:34px;color:var(--color-text);font:inherit;border-radius:6px;padding:0 8px}.company-row span{color:var(--color-muted)}.company-row strong,.company-row small{display:block}.company-row small{color:var(--color-muted);margin-top:2px}.company-row:hover,.company-row.selected,.user-directory-row:hover,.user-directory-row.selected{background:var(--color-selection)}.user-create-row,.user-directory-row{grid-template-columns:1fr 1.25fr 180px auto;align-items:center;gap:8px;display:grid}.user-create-row input,.user-create-row select,.user-directory-row select{border:1px solid var(--color-border);background:var(--color-control-bg);min-width:0;min-height:38px;color:var(--color-text);font:inherit;border-radius:6px;padding:0 10px}.user-directory-list{gap:6px;max-height:360px;display:grid;overflow:auto}.user-directory-row{border-bottom:1px solid var(--color-border);color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border-top:0;border-left:0;border-right:0;grid-template-columns:minmax(0,1fr) 180px 120px;padding:8px 0}.user-directory-row small{color:var(--color-muted);margin-top:2px;display:block}.access-record-detail{border:1px solid var(--color-border);background:var(--color-control-bg);border-radius:6px;margin-top:18px;padding:16px}.detail-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.detail-form-grid input{border:1px solid var(--color-border);background:var(--color-control-bg);min-height:38px;color:var(--color-text);font:inherit;border-radius:6px;padding:0 10px}.area-list-editor{min-width:0}.area-list-entries{border:1px solid var(--color-border);background:var(--color-control-bg);border-radius:6px;flex-wrap:wrap;align-items:center;gap:6px;min-height:42px;padding:5px 8px;display:flex}.area-list-item{align-items:center;gap:6px;display:inline-flex}.area-list-entry{border:1px solid var(--color-border);background:var(--color-panel);min-height:28px;color:var(--color-text);border-radius:5px;align-items:center;gap:4px;padding:2px 4px 2px 9px;font-weight:500;display:inline-flex}.area-list-entry button,.area-list-entries>button{width:26px;height:26px;color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;display:inline-grid}.area-list-entry button:hover,.area-list-entries>button:hover:not(:disabled){background:var(--color-control-hover);color:var(--color-text)}.area-list-entry button:focus-visible,.area-list-entries>button:focus-visible,.area-list-entries input:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.area-list-separator{color:var(--color-muted)}.area-list-entries input{background:0 0;border:0;flex:120px;width:120px;min-width:90px;min-height:32px;padding:0 4px}.area-list-entries input:focus-visible{outline-offset:-2px}.area-list-entries>button:disabled{cursor:default;opacity:.45}.area-list-format{color:var(--color-muted);overflow-wrap:anywhere;margin-top:5px;font-size:.82rem;font-weight:400;display:block}.muted-note{color:var(--color-muted);margin-top:8px;display:block}.access-group-list,.access-detail{border:1px solid var(--color-border);background:var(--color-panel);min-width:0;color:var(--color-text);border-radius:6px}.access-list-heading{border-bottom:1px solid var(--color-border);justify-content:space-between;padding:14px 16px;display:flex}.access-list-heading span{color:var(--color-muted)}.access-group-item{border:0;border-bottom:1px solid var(--color-border);width:100%;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;gap:12px;padding:13px 16px;display:flex}.access-group-item:hover,.access-group-item.active{background:var(--color-selection)}.access-group-item small{color:var(--color-muted);flex:none}.access-detail{padding:18px 20px}.access-role-workspace{margin-top:20px}.access-role-create-modal{width:min(960px,100%)}.floorplan-management-form{gap:12px;margin-top:16px;display:grid}.floorplan-management-form>.field-label{grid-template-columns:minmax(170px,.36fr) minmax(0,1fr);align-items:center;gap:8px 16px;margin:0;display:grid}.floorplan-management-form input:not([type=file]){width:100%;min-width:0}.floorplan-management-file{grid-template-columns:minmax(0,1fr)!important;align-items:start!important}.floorplan-management-file img{border:1px solid var(--color-border);object-fit:contain;justify-self:start;width:min(100%,680px);max-height:300px}.floorplan-management-preview{border:1px solid var(--color-border);object-fit:contain;background:#f8fafc;width:100%;max-height:420px;margin:12px 0;display:block}.floorplan-calibration{border-top:1px solid var(--color-border);gap:10px;padding-top:14px;display:grid}.floorplan-calibration h3,.floorplan-calibration h4,.floorplan-calibration p{margin:0}.floorplan-calibration-image{border:1px solid var(--color-border);background:#f8fafc;min-width:100%;line-height:0;position:relative}.floorplan-calibration-image.placing{cursor:crosshair}.floorplan-calibration-image>img{width:100%;height:auto;display:block}.floorplan-calibration-viewport,.floorplan-anchor-viewport{border:1px solid var(--color-border);background:#f8fafc;width:100%;overflow:auto}.floorplan-calibration-viewport{max-height:62vh}.calibration-zoom{align-items:center;gap:6px;display:flex}.calibration-zoom>span{min-width:48px;color:var(--muted);text-align:center;font-size:.8125rem}.calibration-zoom>button{place-items:center;min-width:34px;height:34px;display:inline-grid}.calibration-tools>.calibration-zoom{grid-column:1/-1}.calibration-pin{z-index:1;color:#fff;background:#0b66a3;border:2px solid #fff;border-radius:50%;place-items:center;width:24px;height:24px;font:600 11px/1 sans-serif;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 4px #172b3a80}.calibration-pin.anchor{background:#23834c}.calibration-pin.draft{background:#c44536}.calibration-tools{grid-template-columns:repeat(2,minmax(0,max-content)) minmax(180px,1fr);align-items:center;gap:8px;display:grid}.calibration-tools>.field-label{grid-template-columns:1fr minmax(100px,140px);align-items:center;gap:8px;display:grid}.calibration-tools>p,.calibration-anchor-heading,.calibration-anchor-row,.calibration-anchor-editor{grid-column:1/-1}.calibration-anchor-heading,.calibration-anchor-row{align-items:center;gap:10px;display:flex}.calibration-anchor-heading{justify-content:space-between;margin-top:8px}.calibration-anchor-row{border-bottom:1px solid var(--color-border);min-height:36px;padding:4px 0}.calibration-anchor-row>button:first-child{color:var(--color-link);text-align:left;background:0 0;border:0;padding:0}.calibration-anchor-row>span{color:var(--muted);flex:1;font-size:.875rem}.calibration-anchor-editor{border:1px solid var(--color-border);background:#f8fafc;grid-template-columns:minmax(140px,1fr) minmax(220px,2fr) auto auto;align-items:end;gap:8px;padding:12px;display:grid}.calibration-anchor-editor>.field-label{gap:4px;margin:0;display:grid}.calibration-anchor-editor>small,.calibration-anchor-editor>.tool-actions,.calibration-anchor-editor>.anchor-google-map-wrap{grid-column:1/-1}.floorplan-anchor-modal{width:min(1280px,96vw)}.floorplan-anchor-workspace{grid-template-columns:minmax(0,1.7fr) minmax(320px,.8fr);gap:16px;padding-top:12px;display:grid}.floorplan-anchor-map-section{align-content:start;gap:8px;min-width:0;display:grid}.floorplan-anchor-viewport{max-height:min(70vh,850px)}.floorplan-anchor-stage{cursor:crosshair;min-width:100%;line-height:0;position:relative}.floorplan-anchor-stage>img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:auto;display:block}.floorplan-anchor-stage>.calibration-pin{cursor:pointer;padding:0}.floorplan-anchor-stage>.calibration-pin.selected{outline-offset:2px;outline:3px solid #f5c542}.floorplan-anchor-sidebar{align-content:start;gap:10px;min-width:0;max-height:min(76vh,920px);display:grid;overflow:auto}.floorplan-anchor-sidebar .calibration-anchor-heading{margin:0}.floorplan-anchor-list{align-content:start;display:grid}.floorplan-anchor-list-row{border-bottom:1px solid var(--color-border);align-items:center;gap:6px;min-height:44px;display:flex}.floorplan-anchor-list-row.selected{background:#edf6f1}.floorplan-anchor-select{text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:8px;min-width:0;padding:6px;display:flex}.floorplan-anchor-select>span:last-child{min-width:0;display:grid}.floorplan-anchor-select strong,.floorplan-anchor-select small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.floorplan-anchor-select small{color:var(--muted);font-size:.75rem}.floorplan-anchor-number{color:#fff;background:#23834c;border-radius:50%;flex:0 0 24px;place-items:center;width:24px;height:24px;font-size:.75rem;font-weight:700;display:grid}.floorplan-anchor-edit-fields{border-top:1px solid var(--color-border);gap:8px;padding-top:10px;display:grid}.floorplan-anchor-edit-fields h4{margin:0}.floorplan-anchor-edit-fields .field-label{gap:4px;margin:0;display:grid}.floorplan-anchor-edit-fields .long-entry{grid-template-columns:1fr}.floorplan-anchor-edit-fields .anchor-google-map{height:220px}.floorplan-anchor-edit-fields .tool-actions{gap:8px;display:flex}@media (width<=640px){.calibration-tools{grid-template-columns:1fr 1fr}.calibration-tools>.field-label{grid-column:1/-1;grid-template-columns:1fr minmax(90px,120px)}.calibration-anchor-editor{grid-template-columns:1fr auto}.calibration-anchor-editor>.field-label:nth-child(2){grid-column:1/-1}}.anchor-google-map-wrap{gap:8px;min-width:0;display:grid}.anchor-map-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.anchor-map-tools>span:first-child{font-size:.8125rem;font-weight:600}.anchor-map-tools .secondary-action{align-items:center;gap:6px;display:inline-flex}.anchor-google-map{border:1px solid var(--color-border);background:#edf1f4;width:100%;height:280px}@media (width<=640px){.anchor-google-map{height:230px}.floorplan-management-form>.field-label:not(.floorplan-management-file){grid-template-columns:minmax(0,1fr);align-items:start}.floorplan-anchor-workspace{grid-template-columns:minmax(0,1fr)}.floorplan-anchor-sidebar{max-height:none;overflow:visible}.floorplan-anchor-viewport{max-height:48vh}}.access-role-toolbar,.access-role-related-group{justify-content:space-between;align-items:center;gap:16px;display:flex}.access-role-toolbar h3,.access-role-toolbar span{margin:0;display:block}.access-role-toolbar span,.access-role-related-group>span{color:var(--color-muted);font-size:.875rem}.access-role-permission-grid{max-height:560px;overflow:auto}.access-role-permission{border-bottom:1px solid var(--color-border);min-height:36px;color:var(--color-text);align-items:center;gap:10px;padding:5px 8px;font-size:.9rem;display:flex}.access-role-permission input{flex:none;width:16px;height:16px;margin:0}.access-role-related-groups{gap:4px;margin-top:10px;display:grid}.access-role-related-group{border-bottom:1px solid var(--color-border);padding:9px 0}.access-permissions{border:1px solid var(--color-border);background:var(--color-control-bg);color:var(--color-text);border-radius:6px;margin-top:1rem;padding:1rem}.access-permission-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem 1rem;display:grid}.access-permission-row{border-bottom:1px solid var(--color-border);justify-content:space-between;gap:1rem;padding:.45rem .6rem;font-size:.9rem;display:flex}.permission-enabled{color:#147a3d}.permission-disabled{color:var(--color-muted)}.access-detail .panel-heading{align-items:flex-start}.access-detail h3{margin:0 0 4px;font-size:18px}.access-search{border:1px solid var(--color-border);background:var(--color-control-bg);min-height:40px;color:var(--color-text);border-radius:6px;align-items:center;gap:8px;margin:20px 0 10px;padding:0 10px;display:flex}.access-search input{width:100%;color:inherit;font:inherit;background:0 0;border:0;outline:0}.access-admin select{border:1px solid var(--color-border);background:var(--color-control-bg);min-height:40px;color:var(--color-text);font:inherit;border-radius:6px;padding:0 10px}.access-user-list{gap:8px;max-width:620px;margin-top:20px;display:grid}.checkbox-row{border:1px solid var(--color-border);background:var(--color-control-bg);color:var(--color-text);border-radius:6px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.checkbox-row small{color:var(--color-muted);margin-top:3px;display:block}@media (width<=800px){.access-layout,.access-permission-grid,.user-create-row,.user-directory-row,.detail-form-grid{grid-template-columns:1fr}}.danger-action:hover{background:#ffe4e6}.danger-action:disabled{cursor:not-allowed;opacity:.58}.mfa-panel{gap:12px;margin-top:22px;display:grid}.mfa-panel div{gap:4px;display:grid}.mfa-panel strong{font-size:15px}.mfa-panel span{color:var(--color-muted);font-size:13px}.mfa-panel input{border:1px solid var(--color-border);border-radius:6px;width:100%;min-height:40px;padding:0 11px}.mfa-panel .primary-action,.mfa-panel .ghost-action{justify-content:center}.mfa-enrollment-panel label{color:var(--color-muted);text-align:left;gap:6px;font-size:13px;display:grid}.mfa-enrollment-panel input,.mfa-enrollment-panel textarea{box-sizing:border-box;font:inherit}.signin-panel img.mfa-qr-code{aspect-ratio:1;width:min(100%,384px);height:auto;box-shadow:0 0 0 1px var(--color-border);border:12px solid #fff;place-self:center;margin:4px auto;display:block}.mfa-secret-key{overflow-wrap:anywhere;border:1px solid var(--color-border);background:var(--color-surface-muted);color:var(--color-ink);text-align:left;border-radius:6px;padding:10px;font-size:13px}.mfa-setup-uri{border:1px solid var(--color-border);width:100%;min-height:66px;color:var(--color-muted);resize:vertical;border-radius:6px;padding:9px;font-size:11px}.ap-troubleshoot-status{border-radius:4px;align-items:center;min-height:24px;padding:2px 8px;font-size:12px;font-weight:700;line-height:1.3;display:inline-flex}.ap-troubleshoot-status.critical,.ap-troubleshoot-status.service-trouble{color:#fff;background:#dc2626}.ap-troubleshoot-status.slow-link,.ap-troubleshoot-status.installed-offline{color:#422006;background:#facc15}.app-shell{grid-template-columns:232px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{box-sizing:border-box;background:var(--color-sidebar);height:100vh;min-height:0;color:var(--color-sidebar-ink);flex-direction:column;align-self:start;padding:0 16px 20px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-backdrop,.sidebar-drawer-tab{display:none}.app-global-actions{z-index:70;align-items:center;gap:8px;display:flex;position:fixed;top:14px;right:18px}.app-global-actions .brand-action,.app-global-actions .sync-status{border:1px solid var(--color-border);background:var(--color-panel);width:36px;height:36px;color:var(--color-accent-strong);box-shadow:0 8px 20px #0f172a1f}.app-global-actions .sync-status.pending{color:#9a5b00;background:#fff8e1;border-color:#ffd166e6}.brand{border-bottom:1px solid var(--color-sidebar-header-border);background:var(--color-sidebar-header-surface);color:var(--color-sidebar-ink);gap:10px;margin:0 -16px 30px;padding:20px 16px 16px;display:grid;position:relative}.brand-title{flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex}.brand img{object-fit:contain;background:#fff;border:1px solid #0f5ea81f;border-radius:8px;width:54px;height:54px;padding:4px;box-shadow:0 1px 3px #11263f1f}.brand strong,.brand span{display:block}.brand-title>div{text-align:center}.brand-title strong{font-size:20px;line-height:1.2}.brand span{color:var(--color-sidebar-muted);font-size:13px}.brand-actions{justify-content:flex-start;align-items:center;gap:5px;display:flex}.palette-menu{z-index:90;background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:220px;padding:12px;position:absolute;top:calc(100% - 18px);left:16px;box-shadow:0 14px 32px #0f172a33}.palette-menu-heading{color:#17324f;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;font-size:13px;display:flex}.palette-menu-heading button{color:#36536f;background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;width:26px;height:26px;padding:0;display:inline-flex}.palette-menu-heading button:hover,.palette-menu-heading button:focus-visible{background:#eef5fb;outline:none}.palette-options{gap:4px;display:grid}.palette-option{color:#17324f;text-align:left;background:0 0;border:1px solid #0000;border-radius:5px;align-items:center;gap:9px;width:100%;min-height:36px;padding:6px 8px;font-size:13px;display:flex}.palette-option:hover,.palette-option:focus-visible{background:#f1f7fc;outline:none}.palette-option.active{background:#e9f4fe;border-color:#9ec9ee;font-weight:700}.palette-swatch{border:1px solid #0f172a2e;border-radius:999px;width:18px;height:18px;box-shadow:inset 0 0 0 3px #ffffffb8}.brand-action{width:30px;height:30px;color:var(--color-sidebar-ink);background:#f8fbff;border:1px solid #bfdcf8;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.sync-status{width:30px;height:30px;color:var(--color-sidebar-ink);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.sync-status.pending{color:#ffd166;background:#ffd1661f;border:1px solid #ffd166b3;border-radius:6px}.sync-status-count{border:2px solid var(--color-sidebar);color:#fff;text-align:center;background:#e26d5a;border-radius:999px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:800;line-height:12px;position:absolute;top:-4px;right:-4px}.sync-status:hover,.sync-status:focus-visible{background:var(--color-sidebar-active);outline:none}.sync-details-backdrop{z-index:80;background:#0a182885;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.sync-details-panel{border:1px solid var(--color-border);background:#fff;border-radius:8px;width:min(620px,100%);max-height:min(80vh,720px);overflow:auto;box-shadow:0 20px 50px #0a182840}.sync-details-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:16px;padding:16px;display:flex}.sync-details-header h2{color:var(--color-ink);margin:0;font-size:18px}.sync-details-header p,.sync-details-empty{color:var(--color-muted);margin:5px 0 0;font-size:13px}.sync-details-list{gap:10px;padding:12px 16px 16px;display:grid}.sync-details-item{border:1px solid var(--color-border);color:var(--color-muted);background:#f8fafc;border-radius:6px;padding:12px;font-size:13px;line-height:1.5}.sync-details-item-heading{color:var(--color-ink);justify-content:space-between;align-items:baseline;gap:12px;display:flex}.sync-details-item-heading time{color:var(--color-muted);white-space:nowrap;font-size:12px}.sync-details-table{color:var(--color-ink);margin-top:5px}.sync-details-record{overflow-wrap:anywhere;font-size:12px}.sync-details-values{color:var(--color-ink);margin-top:8px}.sync-details-values>strong{font-size:12px}.sync-details-values dl{gap:3px;margin:4px 0 0;display:grid}.sync-details-values dl>div{background:#fff;border-radius:4px;grid-template-columns:minmax(100px,35%) minmax(0,1fr);gap:8px;padding:4px 6px;display:grid}.sync-details-values dt{color:var(--color-muted);font-weight:600}.sync-details-values dd{overflow-wrap:anywhere;margin:0}.sync-details-error{color:#b42318;margin-top:4px}.sync-details-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.sync-details-actions button{border-radius:6px;align-items:center;gap:6px;min-height:32px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.sync-details-actions .secondary-button{border:1px solid var(--color-border);color:var(--color-accent-strong);background:#fff}.sync-details-actions .danger-button{color:#b42318;background:#fff1f2;border:1px solid #fecaca}.sync-details-empty{padding:16px}.brand-action:hover,.brand-action:focus-visible{background:var(--color-sidebar-active);color:#fff}.sidebar-scope{border-bottom:1px solid color-mix(in srgb, var(--color-sidebar-ink) 16%, transparent);gap:12px;min-width:0;margin-bottom:16px;padding-bottom:16px;display:grid}.sidebar-scope .selector span{color:var(--color-sidebar-muted)}.sidebar-scope .selector-trigger{background:var(--color-sidebar-active);color:#fff;border-color:#0e5f9e}.sidebar-scope .selector-trigger span{color:inherit;text-transform:none;font-size:14px;font-weight:600}.nav-list{flex-direction:column;flex:1 0 auto;gap:4px;display:flex}.sidebar-version{border-top:1px solid color-mix(in srgb, var(--color-sidebar-ink) 18%, transparent);color:var(--color-sidebar-muted);letter-spacing:.04em;overflow-wrap:anywhere;flex:none;padding:12px 16px 14px;font-size:.72rem}.rack-rescue-icon{cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0;line-height:0;display:block}.rack-rescue-icon:focus-visible,.rack-rescue-version-link:focus-visible{outline:3px solid var(--color-primary,#1c72af);outline-offset:3px}.rack-rescue-version-link{color:inherit;font:inherit;letter-spacing:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;min-height:32px;padding:0;text-decoration:underline}.rack-rescue-dialog{color:#f2f6fa;background:#101a26;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;position:fixed;inset:0;overflow:auto}.rack-rescue-dialog::backdrop{background:#101a26}.rack-rescue-loading{padding:32px;font:16px/1.5 system-ui,sans-serif}.nav-group{gap:2px;display:grid}.nav-group-items{gap:3px;display:grid}.nav-group-primary{border-bottom:1px solid color-mix(in srgb, var(--color-sidebar-ink) 16%, transparent);padding-bottom:12px}.nav-group-about{margin-top:auto;padding-bottom:8px}.nav-heading{width:100%;min-height:38px;color:var(--color-sidebar-muted);text-align:left;text-transform:uppercase;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;padding:0 11px;font-size:14px;font-weight:800;display:flex}.nav-heading>span{min-width:0}.nav-heading svg{flex:none;transition:transform .12s}.nav-heading[aria-expanded=false] svg{transform:rotate(-90deg)}.nav-heading:hover,.nav-heading:focus-visible{color:var(--color-sidebar-ink)}.nav-heading:focus-visible{outline:2px solid var(--color-sidebar-active);outline-offset:-2px;border-radius:4px}.nav-group-items[hidden]{display:none}.selector{width:100%;min-width:0}.nav-link{width:100%;min-height:38px;color:var(--color-sidebar-ink);text-align:left;background:0 0;border:0;border-left:3px solid #0000;border-radius:7px;align-items:center;gap:10px;padding:9px 11px;transition:background .12s,border-color .12s,color .12s;display:flex}.nav-link:hover{background:color-mix(in srgb, var(--color-sidebar-active) 12%, transparent);color:var(--color-sidebar-ink)}.nav-link.active{border-left-color:var(--color-sidebar-active);background:var(--color-selection);color:var(--color-sidebar-active-ink,var(--color-sidebar-ink));font-weight:700}.mobile-bottom-nav,.mobile-submenu,.mobile-submenu-backdrop{display:none}.document-upload{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);margin:18px 0 22px;padding:18px 0}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.section-heading h3{margin:0;font-size:16px}.section-heading span{color:var(--color-muted);font-size:13px}.document-upload-fields{grid-template-columns:minmax(220px,1.2fr) minmax(180px,1fr) minmax(220px,1.5fr) auto;align-items:end;gap:12px;display:grid}.document-upload-fields label{gap:6px;min-width:0;display:grid}.document-upload-fields label>span{color:var(--color-muted);font-size:12px;font-weight:700}.document-upload-fields input{border:1px solid var(--color-border);background:var(--color-control-bg);min-width:0;min-height:38px;color:var(--color-text);border-radius:6px;padding:8px 10px}.document-upload-fields .primary-action{margin-top:0}.document-upload-result{margin-top:12px}.workspace{min-width:0;padding:66px 28px 36px}.topbar{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.eyebrow{color:var(--color-accent);text-transform:uppercase;font-size:12px;font-weight:800}.topbar h1{margin-top:4px;font-size:26px;line-height:1.18}.topbar p{color:var(--color-muted);margin-top:5px}.breadcrumbs{color:var(--color-muted);align-items:center;gap:8px;margin-top:10px;font-size:13px;display:flex}.breadcrumbs button{color:var(--color-accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.breadcrumbs button:hover{text-decoration:underline}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.ghost-action{border:1px solid var(--color-border);background:var(--color-control-bg);color:var(--color-accent-strong);padding:0 12px;font-weight:700}.ghost-action:hover{border-color:var(--color-accent);background:var(--color-control-hover)}.secondary-action,.icon-action{border:1px solid var(--color-border);background:var(--color-control-bg);min-height:38px;color:var(--color-accent-strong);border-radius:6px;font-weight:700}.secondary-action:hover:not(:disabled),.secondary-action:focus-visible,.icon-action:hover:not(:disabled),.icon-action:focus-visible{border-color:var(--color-accent);background:var(--color-control-hover);outline:none}.inline-link{color:var(--color-accent);font-weight:800;text-decoration:none}.inline-link:hover{text-decoration:underline}.scope-bar{grid-template-columns:minmax(240px,420px);gap:12px;margin-bottom:18px;display:grid}.selector{gap:6px;display:grid}.selector span,.summary-card span,.panel-heading span{color:var(--color-muted);text-transform:uppercase;font-size:12px;font-weight:800}.selector-trigger{border:1px solid var(--color-border);background:var(--color-control-bg);width:100%;min-width:0;min-height:38px;color:var(--color-text);text-align:left;cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:0 10px;display:flex}.selector-trigger>span{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.selector{position:relative}.selector-popover{z-index:60;border:1px solid var(--color-border);background:var(--color-panel);border-radius:6px;width:100%;min-width:0;max-height:min(360px,55vh);position:absolute;top:calc(100% + 4px);left:0;overflow:hidden;box-shadow:0 8px 24px #00000038}.selector-search-wrap{border-bottom:1px solid var(--color-border);color:var(--color-muted);align-items:center;gap:8px;padding:8px;display:flex}.selector-search-wrap input{width:100%;min-width:0;color:var(--color-text);font:inherit;background:0 0;border:0;outline:0}.selector-options{max-height:min(300px,55vh - 52px);padding:4px;overflow-y:auto}.selector-option{width:100%;min-height:36px;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:space-between;align-items:center;gap:8px;padding:7px 9px;display:flex}.selector-option-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.selector-option:hover,.selector-option.is-active{background:var(--color-control-bg)}.selector-empty{color:var(--color-muted);padding:12px 9px;font-size:13px}.selector-option.is-inactive{background:color-mix(in srgb, var(--color-panel) 90%, var(--color-muted));color:var(--color-muted)}.selector .selector-option.is-inactive span{color:inherit}.selector-option.is-inactive:hover,.selector-option.is-inactive.is-active{background:color-mix(in srgb, var(--color-panel) 80%, var(--color-muted))}.selector-option.starts-inactive-group{border-top:1px solid var(--color-border);margin-top:8px}.admin-page-tabs{margin-bottom:14px}.admin-page-tabs .active,.site-project-admin .segmented-control .active{align-items:center;gap:7px;display:inline-flex}.management-form{gap:16px;margin-top:16px;display:grid}.management-wide-field{grid-column:1/-1}.site-project-admin .field-label{align-content:start;gap:6px;min-width:0;display:grid}.site-project-admin .field-label>input,.site-project-admin .field-label>select,.site-project-admin .field-label>textarea{border:1px solid var(--color-border);background:var(--color-control-bg);width:100%;min-width:0;color:var(--color-text);font:inherit;border-radius:6px;padding:9px 10px}.site-contact-selections{flex-wrap:wrap;gap:6px;display:flex}.site-contact-selections .area-list-entry{white-space:normal;overflow-wrap:anywhere;max-width:100%}.summary-grid,.content-grid,.tools-grid{gap:14px;display:grid}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px}.summary-card,.panel{border:1px solid var(--color-border);background:var(--color-panel);min-width:0;box-shadow:var(--shadow-panel);border-radius:8px}.summary-grid>*,.content-grid>*,.tools-grid>*{min-width:0}.summary-card{padding:18px}.summary-card strong{margin-top:9px;font-size:24px;display:block}.summary-card p{color:var(--color-muted);margin-top:4px;font-size:13px}.project-todo-list{gap:0;display:grid}.project-todo-item{border:0;border-top:1px solid var(--color-border);width:100%;color:var(--color-text);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:14px;padding:12px 18px;display:flex}.project-todo-item:first-child{border-top:0}.project-todo-item span{gap:3px;min-width:0;display:grid}.project-todo-item strong{font-size:14px}.project-todo-item small{color:var(--color-muted);font-size:12px}.project-todo-item b{min-width:34px;color:var(--color-accent-strong);text-align:right;flex:none;font-size:22px}.project-todo-item:hover,.project-todo-item:focus-visible{color:var(--color-accent-strong)}.content-grid,.tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-page{gap:16px;display:grid}.about-page{gap:16px;width:100%;min-width:0;max-width:980px;display:grid}.about-document{border-top:1px solid var(--color-border);gap:12px;padding-top:18px;display:grid}.about-document-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.about-document-heading h3{margin:0}.about-document-status{justify-items:end;gap:3px;display:grid}.about-document-status small{color:var(--color-muted);font-size:11px}.about-section{border-top:1px solid var(--color-border);min-width:0;max-width:100%;padding:20px 0}.about-overview>p:not(.eyebrow){overflow-wrap:anywhere;max-width:760px}.about-overview h2{margin:0 0 10px}.about-overview h3{margin:26px 0 10px}.about-capability-list{max-width:760px;color:var(--color-text);gap:8px;margin:14px 0 0;padding-left:20px;display:grid}.about-section h2,.about-section h3,.about-section h4,.about-section p{margin:0}.about-section h2{margin-bottom:14px;font-size:18px}.about-section h3{margin:20px 0 12px;font-size:15px}.about-section h4{margin-bottom:4px;font-size:13px}.about-section p{color:var(--color-muted);line-height:1.55}.about-policy-link{align-items:center;gap:6px;font-weight:700;display:inline-flex}.about-terms{gap:14px;min-width:0;display:grid}.about-terms>section{min-width:0}.about-terms p{color:var(--color-text);overflow-wrap:anywhere}.about-license-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin:14px 0 0;padding:0;list-style:none;display:grid}.about-license-list li{border-top:1px solid var(--color-border);justify-content:space-between;gap:16px;padding:10px 0;display:flex}.legal-review-copy{gap:14px;display:grid}.legal-review-copy h3{margin:0 0 4px;font-size:13px}.legal-review-copy p{color:var(--color-text);margin:0 0 4px;line-height:1.5}.legal-status-unavailable{text-align:center;background:var(--color-bg);align-content:center;justify-items:center;gap:12px;min-height:100dvh;padding:24px;display:grid}.legal-status-unavailable img{object-fit:contain;width:54px;height:54px}.legal-status-unavailable h1,.legal-status-unavailable p{margin:0}.legal-status-unavailable p{color:var(--color-muted)}@media (width<=640px){.about-license-list{grid-template-columns:minmax(0,1fr)}.about-document-heading{align-items:flex-start}}.page-heading h1{margin:0;font-size:28px}.page-heading p,.eyebrow{color:var(--color-muted)}.eyebrow{letter-spacing:.04em;text-transform:uppercase;margin-bottom:5px;font-size:12px;font-weight:800;display:block}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.profile-tabs{border:1px solid var(--color-border);background:var(--color-control-bg);border-radius:8px;gap:4px;width:fit-content;max-width:100%;padding:3px;display:flex;overflow-x:auto}.profile-tab{min-height:36px;color:var(--color-muted);white-space:nowrap;background:0 0;border:0;border-radius:6px;padding:0 14px;font-size:13px;font-weight:700}.profile-tab.active{background:var(--color-panel);color:var(--color-accent);box-shadow:0 1px 4px #11263f1f}.about-page .profile-tabs .profile-tab{color:var(--color-muted);background:0 0;flex:none}.about-page .profile-tabs .profile-tab.active{background:var(--color-panel);color:var(--color-accent-strong)}.profile-tab-panel{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;display:grid}#profile-panel-personal .profile-card,#profile-panel-appearance .profile-card,#profile-panel-accounts .profile-card{grid-column:1/-1}.profile-card{align-content:start;gap:16px;padding:20px;display:grid}.profile-identity{align-items:center;gap:14px;display:flex}.profile-identity>div{gap:4px;display:grid}.profile-identity span{color:var(--color-muted);font-size:13px}.profile-avatar,.profile-avatar-placeholder{border-radius:50%;width:72px;height:72px}.profile-avatar{object-fit:cover;border:2px solid var(--color-border)}.profile-avatar-placeholder{color:var(--color-accent);background:var(--color-control-hover);padding:10px}.profile-card>label{color:var(--color-text);gap:6px;font-size:13px;font-weight:700;display:grid}.profile-card>label input{border:1px solid var(--color-border);background:var(--color-control-bg);min-height:38px;color:var(--color-text);border-radius:6px;padding:0 10px}.profile-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.profile-form-grid label,.profile-toggle-list label{color:var(--color-muted);gap:5px;font-size:.78rem;font-weight:700;display:grid}.outdoor-survey-card{grid-column:1/-1}.outdoor-survey-card .panel-heading{align-items:flex-start}.outdoor-survey-card .profile-toggle{align-items:center;gap:8px;margin:12px 0;display:flex}.outdoor-survey-card .profile-toggle input{width:auto}.survey-status{color:var(--color-text);margin:10px 0 0;font-weight:600}.profile-form-grid input,.profile-form-grid select{box-sizing:border-box;border:1px solid var(--color-border);background:var(--color-control-bg);width:100%;min-height:36px;color:var(--color-ink);border-radius:6px;padding:7px 9px}.profile-toggle-list{flex-wrap:wrap;gap:14px;margin-top:12px;display:flex}.profile-toggle-list label{align-items:center;gap:7px;display:flex}.profile-permissions-list{gap:14px;display:grid}.profile-project-permissions{border-bottom:1px solid var(--color-border);gap:8px;padding-bottom:14px;display:grid}.profile-project-permissions>div:first-child{gap:3px;display:grid}.profile-project-permissions>div:first-child span{color:var(--color-muted);font-size:.8rem}.profile-permission-tags{flex-wrap:wrap;gap:6px;display:flex}.profile-permission-tags span{background:var(--color-control-hover);color:var(--color-accent-strong);border-radius:999px;padding:4px 7px;font-size:.72rem;font-weight:700}.version-switcher{border:1px solid var(--color-border);background:var(--color-control-hover);width:100%;color:var(--color-accent-strong);text-align:left;border-radius:6px;padding:7px 10px;font-size:.78rem;font-weight:700}.version-switcher:hover,.version-switcher:focus-visible{border-color:var(--color-accent);outline:none}.profile-palettes{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;display:grid}.profile-facts div{gap:4px;display:grid}.profile-facts dt{color:var(--color-muted);text-transform:uppercase;font-size:11px;font-weight:800}.profile-facts dd{margin:0;font-weight:700}.profile-stat-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.profile-stat-list div{border:1px solid var(--color-border);background:var(--color-control-bg);border-radius:6px;gap:3px;padding:12px;display:grid}.profile-stat-list strong{font-size:22px}.profile-stat-list span{color:var(--color-muted);font-size:11px}.theme-card>label{color:var(--color-muted);gap:6px;margin:12px 0;font-size:13px;display:grid}.theme-card>label select{border:1px solid var(--color-border);background:var(--color-control-bg);min-height:38px;color:var(--color-text);border-radius:6px;padding:0 10px}.theme-color-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0;display:grid}.theme-color-grid label{min-width:0;color:var(--color-muted);justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.theme-color-grid input[type=color]{border:1px solid var(--color-border);background:var(--color-control-bg);cursor:pointer;border-radius:6px;width:44px;height:34px;padding:2px}.theme-color-grid input[type=color]:disabled{cursor:not-allowed;opacity:.45}.theme-saved-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.theme-saved-row>label,.theme-mode-label{color:var(--color-muted);gap:6px;margin:12px 0;font-size:13px;display:grid}.theme-card select,.theme-save-row input{border:1px solid var(--color-border);background:var(--color-control-bg);min-height:38px;color:var(--color-text);border-radius:6px;padding:0 10px}.theme-color-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0;display:grid}.theme-color-group{border:1px solid var(--color-border);border-radius:6px;min-width:0;margin:0;padding:10px 12px 12px}.theme-color-group legend{color:var(--color-text);padding:0 5px;font-size:13px;font-weight:650}.theme-color-groups .theme-color-grid{gap:10px 16px;margin:0}.theme-color-grid label{min-height:34px}.theme-color-grid input[type=color]{flex:0 0 44px;height:32px}.theme-save-row{grid-template-columns:minmax(180px,1fr) repeat(4,auto);align-items:end;gap:8px;margin:12px 0;display:grid}.theme-save-row>label{min-width:0;color:var(--color-muted);gap:6px;font-size:13px;display:grid}.theme-icon-action{white-space:nowrap;justify-content:center;align-items:center;gap:6px;min-height:38px;display:inline-flex}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=dark] .panel,:root[data-theme=dark] .summary-card,:root[data-theme=dark] .detail-panel,:root[data-theme=dark] .data-table-wrap,:root[data-theme=dark] .replay-detail,:root[data-theme=dark] .equipment-catalog-pane{background:var(--color-panel);color:var(--color-text)}:root[data-theme=dark] input:not([type=color]),:root[data-theme=dark] select,:root[data-theme=dark] textarea{border-color:var(--color-border);background-color:var(--color-control-bg);color:var(--color-text)}:root[data-theme=dark] .data-table th,:root[data-theme=dark] .data-table td,:root[data-theme=dark] .data-table tbody tr,:root[data-theme=dark] .record-toolbar,:root[data-theme=dark] .filter-bar,:root[data-theme=dark] .profile-card,:root[data-theme=dark] .tool-result,:root[data-theme=dark] .upload-box,:root[data-theme=dark] .inline-settings{background-color:var(--color-panel);color:var(--color-text)}:root[data-theme=dark] .data-table tbody tr:hover,:root[data-theme=dark] .data-table tbody tr.selected,:root[data-theme=dark] .data-table-wrap tbody tr.selected-row{background-color:var(--color-selection)}:root[data-theme=dark] .detail-panel.empty,:root[data-theme=dark] .equipment-summary-grid>div,:root[data-theme=dark] .calibration-anchor-editor,:root[data-theme=dark] .floorplan-anchor-viewport{background:var(--color-control-bg)}:root[data-theme=dark] .about-page .profile-tab,:root[data-theme=dark] .about-page .profile-tab.active,:root[data-theme=dark] .settings-tab,:root[data-theme=dark] .settings-tab.active,:root[data-theme=dark] .settings-toggle,:root[data-theme=dark] .name-template-builder,:root[data-theme=dark] .template-token,:root[data-theme=dark] .document-action-card,:root[data-theme=dark] .upload-box,:root[data-theme=dark] .backup-row,:root[data-theme=dark] .log-entry-card,:root[data-theme=dark] .change-history-item,:root[data-theme=dark] .ap-photo-slot{background:var(--color-panel);color:var(--color-text)}:root[data-theme=dark] .about-page .profile-tabs{border-color:var(--color-border);background:var(--color-control-bg)}:root[data-theme=dark] .about-page .profile-tabs .profile-tab{color:var(--color-muted);box-shadow:none;background:0 0}:root[data-theme=dark] .about-page .profile-tabs .profile-tab:hover,:root[data-theme=dark] .about-page .profile-tabs .profile-tab:focus-visible{background:var(--color-control-hover);color:var(--color-text)}:root[data-theme=dark] .about-page .profile-tabs .profile-tab.active{background:var(--color-control-hover);color:var(--color-text);box-shadow:inset 0 -2px var(--color-accent)}:root[data-theme=dark] .settings-tabs,:root[data-theme=dark] .project-options-editor-group,:root[data-theme=dark] .name-template-preview,:root[data-theme=dark] .record-toolbar select,:root[data-theme=dark] .search-box,:root[data-theme=dark] .upload-box input,:root[data-theme=dark] .upload-box select,:root[data-theme=dark] .document-upload-fields input,:root[data-theme=dark] .tool-result,:root[data-theme=dark] .profile-form-grid input,:root[data-theme=dark] .profile-form-grid select{background:var(--color-control-bg);color:var(--color-text)}:root[data-theme=dark] .settings-tab:hover,:root[data-theme=dark] .settings-tab:focus-visible,:root[data-theme=dark] .settings-toggle:hover,:root[data-theme=dark] .settings-toggle:focus-within,:root[data-theme=dark] .template-token:hover,:root[data-theme=dark] .template-token:focus-visible{background:var(--color-control-hover);border-color:var(--color-accent)}:root[data-theme=dark] .success-result{border-color:color-mix(in srgb, var(--color-success) 55%, var(--color-border));background:color-mix(in srgb, var(--color-success) 18%, var(--color-panel))}:root[data-theme=dark] .status-pill.good{background:color-mix(in srgb, var(--color-success) 20%, var(--color-panel))}:root[data-theme=dark] .status-pill.warn{background:color-mix(in srgb, var(--color-warning) 20%, var(--color-panel))}:root[data-theme=dark] .status-pill.neutral{background:var(--color-control-hover)}@media (width<=640px){.theme-color-grid,.theme-color-groups,.theme-saved-row{grid-template-columns:minmax(0,1fr)}.theme-save-row{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-save-row>label{grid-column:1/-1}}.panel{padding:20px}.tool-panel{align-content:start;gap:12px;display:grid}.project-options-editor{gap:16px;margin-top:18px;display:grid}.settings-page{gap:12px;display:grid}.settings-page-heading{min-width:0}.settings-page-heading .panel-heading{margin:0}.settings-tabs{border:1px solid var(--color-border);background:var(--color-control-bg);scrollbar-width:thin;border-radius:7px;gap:4px;min-width:0;padding:4px;display:flex;overflow-x:auto}.settings-tab{min-height:36px;color:var(--color-muted);cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:5px;flex:none;padding:7px 12px;font-size:13px;font-weight:700}.settings-tab:hover,.settings-tab:focus-visible{color:var(--color-text);background:var(--color-control-hover)}.settings-tab.active{border-color:var(--color-border);background:var(--color-panel);color:var(--color-accent-strong);box-shadow:0 1px 2px #0f172a14}.settings-panels{grid-template-columns:minmax(0,1fr)}.settings-panel[hidden]{display:none}.settings-panel{align-content:start}.settings-panel>.panel-heading h3{color:var(--color-text);margin:0;font-size:16px}.settings-tabs-secondary{width:fit-content;max-width:100%}.project-options-editor-intro{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.project-options-editor-intro h3,.project-options-read-only h3{color:var(--color-text);margin:0 0 5px;font-size:16px}.project-options-editor-intro p{margin:0}.project-options-editor-groups{gap:18px;display:grid}.project-options-editor-group{border:1px solid var(--color-border);background:var(--color-control-bg);border-radius:8px;padding:14px}.project-options-editor-group h4{color:var(--color-muted);letter-spacing:.04em;text-transform:uppercase;margin:0 0 10px;font-size:12px}.project-options-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;display:grid}.settings-toggle{background:var(--color-panel);cursor:pointer;border:1px solid #0000;border-radius:7px;justify-content:space-between;align-items:center;gap:12px;min-height:42px;padding:8px 10px;display:flex}.settings-toggle:hover,.settings-toggle:focus-within{border-color:var(--color-accent);background:var(--color-control-hover)}.settings-toggle-copy{color:var(--color-text);flex-wrap:wrap;align-items:baseline;gap:5px;font-size:13px;display:flex}.settings-toggle-copy small{color:var(--color-muted);font-size:11px;font-weight:700}.settings-toggle input{opacity:0;width:1px;height:1px;position:absolute}.toggle-track{background:color-mix(in srgb, var(--color-muted) 55%, var(--color-control-bg));border-radius:999px;flex:none;width:42px;height:24px;transition:background .16s;position:relative}.toggle-thumb{background:var(--color-panel);border-radius:50%;width:18px;height:18px;transition:transform .16s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0f172a47}.settings-toggle input:checked+.toggle-track{background:var(--color-accent)}.settings-toggle input:checked+.toggle-track .toggle-thumb{transform:translate(18px)}.settings-toggle input:focus-visible+.toggle-track{outline-offset:2px;outline:3px solid #298bd64d}.settings-toggle input:disabled+.toggle-track{cursor:not-allowed;opacity:.6}.settings-toggle:has(input:disabled){cursor:not-allowed;opacity:.6}.project-option-input{min-height:42px}.name-template-builder{border:1px solid var(--color-border);background:var(--color-panel);border-radius:7px;grid-column:1/-1;gap:10px;padding:12px;display:grid}.name-template-builder>textarea{border:1px solid var(--color-border);width:100%;min-height:76px;color:var(--color-text);font:inherit;resize:vertical;border-radius:6px;padding:9px 10px}.name-template-preview{border-left:3px solid var(--color-accent);background:var(--color-control-hover);overflow-wrap:anywhere;grid-template-columns:minmax(130px,.3fr) minmax(0,1fr);gap:12px;padding:9px 10px;display:grid}.name-template-preview span,.name-template-fields>strong{color:var(--color-muted);font-size:12px;font-weight:700}.name-template-preview output{color:var(--color-text);font-weight:600}.name-template-groups{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:8px;display:grid}.name-template-groups section{min-width:0}.name-template-groups h5{color:var(--color-muted);text-transform:uppercase;margin:0 0 5px;font-size:11px}.name-template-groups section>div{flex-wrap:wrap;gap:5px;display:flex}.template-token{border:1px solid var(--color-border);background:var(--color-panel);color:var(--color-text);cursor:grab;font:inherit;border-radius:5px;padding:4px 7px;font-size:11px}.template-token:hover,.template-token:focus-visible{border-color:var(--color-accent);background:var(--color-control-hover)}.name-template-fields>small{color:var(--color-muted);margin-top:8px;display:block}@media (width<=700px){.name-template-preview{grid-template-columns:1fr;gap:4px}}.project-options-read-only{border-top:1px solid var(--color-border);margin-top:20px;padding-top:18px}.wide-tool{grid-column:1/-1}.tool-panel .primary-action,.tool-panel .ghost-action{justify-content:center;width:fit-content}.tool-actions{flex-wrap:wrap;gap:8px;display:flex}.upload-box{border:1px dashed var(--color-border);background:var(--color-control-bg);border-radius:8px;gap:10px;padding:12px;display:grid}.upload-box label{gap:7px;display:grid}.upload-box label span{color:var(--color-muted);text-transform:uppercase;font-size:12px;font-weight:800}.upload-box input,.upload-box select{border:1px solid var(--color-border);background:var(--color-panel);border-radius:6px;max-width:100%;min-height:38px;padding:7px}.upload-box strong{color:var(--color-text);overflow-wrap:anywhere;font-size:13px}.inline-settings{flex-wrap:wrap;align-items:center;gap:10px 16px;display:flex}.inline-settings label{color:var(--color-muted);align-items:center;gap:7px;font-size:13px;font-weight:800;display:flex}.inline-settings input[type=number]{width:92px}.document-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.document-action-card{border:1px solid var(--color-border);background:var(--color-control-bg);border-radius:8px;align-content:space-between;gap:11px;min-height:134px;padding:13px;display:grid}.document-action-card div{gap:5px;display:grid}.document-action-card strong{font-size:14px}.document-action-card span,.future-document-actions>span{color:var(--color-muted);font-size:12px;font-weight:800}.document-action-card .primary-action{width:fit-content;margin-top:0}.future-document-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.document-generation-result{margin-bottom:12px}.tool-result{border:1px solid var(--color-border);background:var(--color-control-bg);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;padding:12px;display:grid}.success-result{background:#f0fdf4;border-color:#bbf7d0}.status-list{flex-wrap:wrap;gap:7px;display:flex}.panel.wide{grid-column:1/-1}.panel-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.panel-heading-actions{align-items:center;gap:8px;display:flex}.bulk-import-status{border:1px solid var(--color-border);background:var(--color-control-bg);border-radius:6px;gap:8px;margin:0 0 12px;padding:10px 12px;display:grid}.bulk-import-status-row{border-top:1px solid var(--color-border);color:var(--color-muted);grid-template-columns:minmax(180px,1.5fr) auto minmax(100px,1fr) minmax(120px,2fr) auto;align-items:center;gap:10px;padding-top:8px;font-size:12px;display:grid}.bulk-import-status-row>span:first-child{gap:2px;min-width:0;display:grid}.bulk-import-status-row small{color:var(--color-muted)}@media (width<=760px){.bulk-import-status-row{grid-template-columns:1fr auto}.bulk-import-status-row>span:nth-child(n+3){grid-column:1/-1}}.panel h2{font-size:17px}.panel p{color:var(--color-muted);line-height:1.55}.progress-list{gap:14px;margin-bottom:16px;display:grid}.progress-row{gap:7px;display:grid}.progress-row div:first-child{justify-content:space-between;gap:12px;display:flex}.progress-row span{color:var(--color-muted);font-size:13px}.progress-row strong{font-size:13px}.progress-track{background:#e6edf4;border-radius:999px;height:8px;overflow:hidden}.progress-track div{border-radius:inherit;background:linear-gradient(90deg, var(--color-accent), var(--color-success));height:100%}.queue-list{gap:9px;margin:0;padding:0;list-style:none;display:grid}.survey-review-groups{gap:24px;display:grid}.survey-review-toolbar{grid-template-columns:minmax(240px,1fr) minmax(180px,240px) max-content;align-items:end;gap:12px;margin:0 0 16px;display:grid}.survey-review-search{margin-bottom:0}.survey-review-status-filter{margin:0}.survey-review-approved-toggle{min-height:40px;color:var(--color-muted);white-space:nowrap;align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex}.survey-review-approved-toggle input{width:16px;height:16px;accent-color:var(--color-accent);margin:0}.survey-review-section-tabs{margin:0 0 18px}@media (width<=640px){.survey-review-toolbar{grid-template-columns:1fr}.survey-review-approved-toggle{min-height:0}}.survey-review-group{gap:12px;display:grid}.survey-review-group-heading{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:8px;display:flex}.survey-review-group-heading h3{color:var(--color-ink);margin:0;font-size:15px}.survey-review-group-heading span{color:var(--color-muted);font-size:12px;font-weight:700}.survey-review-gallery{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.queue-item{border-top:1px solid var(--color-border);gap:5px;min-width:0;padding:11px 0;display:grid}.queue-item:first-child{border-top:0;padding-top:0}.survey-review-gallery .queue-item{border:1px solid var(--color-border);background:var(--color-panel);border-radius:12px;align-content:start;gap:12px;padding:0 0 16px;overflow:hidden;box-shadow:0 5px 16px #11263f14}.survey-review-gallery .queue-item:first-child{border-top:1px solid var(--color-border);padding-top:0}.survey-review-card-heading{justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 16px 0;display:flex}.survey-review-card-heading span{color:var(--color-muted);font-size:12px;font-weight:700}.survey-review-gallery .survey-card-media{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:0 16px;display:grid}.survey-card-photo,.survey-review-gallery .survey-card-photo-placeholder{border:1px solid var(--color-border);background:var(--color-control-bg);border-radius:8px;min-width:0;display:grid;overflow:hidden}.survey-card-photo{border:1px solid var(--color-border);aspect-ratio:4/3;width:100%;color:inherit;background:var(--color-control-bg);text-align:inherit;cursor:zoom-in;padding:0;text-decoration:none;position:relative}.survey-card-photo:first-child:last-child{grid-column:1/-1}.survey-card-photo img{object-fit:cover;width:100%;height:100%;min-height:150px;transition:transform .16s}.survey-card-photo:hover img,.survey-card-photo:focus-visible img{transform:scale(1.03)}.survey-review-gallery .survey-card-photo span{color:#fff;background:#11263fc7;border-radius:5px;padding:4px 6px;font-size:11px;font-weight:700;position:absolute;bottom:7px;right:7px}.survey-review-gallery .survey-card-photo-placeholder{min-height:150px;color:var(--color-muted);text-align:center;align-content:center;justify-items:center;padding:18px}.survey-review-gallery .survey-card-photo-placeholder span{color:var(--color-ink);font-size:13px;font-weight:800}.survey-review-gallery .survey-card-photo-placeholder small{max-width:220px;margin-top:4px;font-size:11px}.survey-review-gallery .survey-review-summary,.survey-review-gallery .review-controls{margin-left:16px;margin-right:16px}.survey-review-gallery .review-controls{grid-template-columns:1fr;margin-top:0;display:grid}.survey-review-gallery .review-actions{flex-wrap:wrap;gap:8px;display:flex}.queue-item div{justify-content:space-between;gap:10px;min-width:0;display:flex}.queue-item strong,.queue-item span,.queue-item small,.queue-item p{overflow-wrap:anywhere}.queue-item strong{font-size:14px}.queue-item span,.queue-item small{color:var(--color-muted);font-size:12px;font-weight:700}.queue-item p{color:var(--color-muted);margin:0;font-size:13px;line-height:1.4}.segmented-control{border:1px solid var(--color-border);background:var(--color-control-bg);border-radius:8px;grid-auto-flow:column;gap:2px;max-width:100%;margin-bottom:12px;padding:3px;display:inline-grid}.segmented-control button{min-height:32px;color:var(--color-muted);background:0 0;border:0;border-radius:6px;padding:0 12px;font-size:13px;font-weight:800}.segmented-control button.active{background:var(--color-panel);color:var(--color-accent);box-shadow:0 1px 4px #11263f1f}.surveys-page-tabs{flex-wrap:wrap;display:flex}@media (width<=480px){.surveys-page-tabs{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.surveys-page-tabs button{white-space:normal;min-width:0;padding:4px 6px}}.review-controls{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;margin-top:3px;display:grid}.review-controls input{border:1px solid var(--color-border);border-radius:6px;min-width:0;min-height:34px;padding:0 10px}.review-controls button{border-radius:6px;min-height:34px;padding:0 11px;font-weight:700}.approve-action{color:var(--color-success);background:#f0fdf4;border:1px solid #bbf7d0}.deny-action{color:var(--color-danger);background:#fff1f2;border:1px solid #fecaca}.review-controls button:disabled,.review-controls input:disabled{cursor:not-allowed;opacity:.55}.table-wrap{width:100%;overflow-x:auto}.record-toolbar{grid-template-columns:minmax(220px,1fr) minmax(180px,240px) auto;align-items:center;gap:10px;margin-bottom:12px;display:grid}.record-toolbar.simple-toolbar{grid-template-columns:minmax(220px,1fr) auto}.record-toolbar.has-filter-control{grid-template-columns:minmax(220px,1fr) minmax(160px,220px) auto auto}.record-toolbar>span{color:var(--color-muted);text-align:right;text-transform:uppercase;font-size:12px;font-weight:800}.record-toolbar select,.search-box{border:1px solid var(--color-border);background:var(--color-control-bg);border-radius:6px;min-height:38px}.record-toolbar select{color:var(--color-text);padding:0 10px}.search-box{color:var(--color-muted);align-items:center;gap:8px;padding:0 10px;display:flex}.search-box input{width:100%;min-width:0;color:var(--color-text);border:0;outline:0}.ap-column-filter{justify-self:end;position:relative}.ap-column-filter-trigger{border:1px solid var(--color-border);background:var(--color-panel);min-height:38px;color:var(--color-text);white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:0 10px;display:inline-flex}.ap-column-filter-trigger:hover,.ap-column-filter-trigger[aria-expanded=true]{border-color:var(--color-accent);background:var(--color-control-hover)}.ap-column-filter-trigger>strong{background:var(--color-accent-strong);color:#fff;border-radius:50%;place-items:center;min-width:20px;height:20px;font-size:11px;display:inline-grid}.ap-column-filter-menu{z-index:30;border:1px solid var(--color-border);background:var(--color-panel);border-radius:6px;flex-direction:column;width:min(360px,100vw - 24px);max-height:min(72vh,600px);display:flex;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 12px 30px #0f172a33}.ap-column-filter-heading{border-bottom:1px solid var(--color-border);align-items:center;gap:8px;min-height:46px;padding:8px 12px;display:flex}.ap-column-filter-heading strong{overflow-wrap:anywhere;min-width:0;font-size:14px}.ap-filter-back{border:1px solid var(--color-border);background:var(--color-panel);width:30px;height:30px;color:var(--color-text);border-radius:5px;flex:none;place-items:center;display:inline-grid}.ap-filter-search{border:1px solid var(--color-border);min-height:38px;color:var(--color-muted);border-radius:5px;align-items:center;gap:8px;margin:10px 12px;padding:0 9px;display:flex}.ap-filter-search input{width:100%;min-width:0;color:var(--color-text);background:0 0;border:0;outline:0}.ap-column-filter-fields,.ap-column-filter-values{overscroll-behavior:contain;flex:1;min-height:0;overflow:auto}.ap-column-filter-date-fields{align-content:start;gap:12px;padding:14px 12px;display:grid;overflow:auto}.ap-column-filter-date-fields>label:not(.ap-filter-value),.ap-filter-date-range>label{min-width:0;color:var(--color-muted);gap:6px;font-size:12px;display:grid}.ap-column-filter-date-fields input[type=date]{border:1px solid var(--color-border);background:var(--color-panel);width:100%;min-width:0;min-height:38px;color:var(--color-text);font:inherit;border-radius:4px;padding:6px 8px}.ap-filter-date-divider{color:var(--color-muted);font-size:12px}.ap-filter-date-range{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid}.ap-filter-date-blank{padding:4px 0}.ap-filter-field-option{border:0;border-bottom:1px solid var(--color-border);width:100%;min-height:42px;color:var(--color-text);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:12px;padding:7px 12px;display:flex}.ap-filter-field-option:hover,.ap-filter-field-option:focus-visible,.ap-filter-value:hover{background:var(--color-control-hover)}.ap-filter-field-option>span{gap:2px;min-width:0;display:grid}.ap-filter-field-option strong{overflow-wrap:anywhere;font-size:13px;font-weight:500}.ap-filter-field-option small,.ap-filter-hint{color:var(--color-muted);font-size:12px}.ap-filter-value{min-height:38px;color:var(--color-text);overflow-wrap:anywhere;align-items:center;gap:10px;padding:5px 12px;font-size:13px;display:flex}.ap-filter-value input{width:17px;height:17px;accent-color:var(--color-accent-strong);flex:none}.ap-filter-hint{margin:8px 12px}.ap-column-filter-footer{border-top:1px solid var(--color-border);background:var(--color-panel);justify-content:space-between;gap:8px;padding:10px 12px;display:flex}.record-layout{grid-template-columns:minmax(0,1fr) minmax(260px,330px);align-items:start;gap:16px;display:grid}.record-layout.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.data-table{border-collapse:collapse;width:100%;min-width:860px;font-size:13px}.data-table-sort{color:inherit;font:inherit;text-align:left;text-transform:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:inline-flex}.data-table-sort:hover,.data-table-sort:focus-visible{color:var(--color-accent)}.data-table-sort svg{opacity:.7;flex:none}.data-table td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle;padding:10px 11px}.data-table th{color:var(--color-muted);text-transform:uppercase;padding:0 11px 8px;font-size:12px;font-weight:800}.data-table td{color:var(--color-text)}.data-table tbody tr{cursor:pointer}.data-table tbody tr:hover,.data-table tbody tr.selected{background:var(--color-selection)}.detail-panel{border-left:1px solid var(--color-border);gap:10px;min-width:0;max-height:calc(100vh - 36px);padding-left:16px;display:grid;position:sticky;top:18px;overflow:auto}.detail-panel.empty{align-content:start}@media (width>=1025px){.record-layout-viewport{height:var(--record-viewport-height);align-items:stretch;min-height:0}.record-layout-viewport>.table-wrap,.record-layout-viewport>.site-equipment-groups{overscroll-behavior:contain;align-content:start;height:100%;min-height:0;overflow:auto}.record-layout-viewport>.table-wrap .data-table thead{z-index:2;background:var(--color-panel);position:sticky;top:0}.record-layout-viewport>.detail-panel{box-sizing:border-box;overscroll-behavior:contain;grid-auto-rows:max-content;align-content:start;height:100%;min-height:0;max-height:none;position:relative;top:auto}.record-layout-viewport>.detail-panel>.detail-heading{z-index:3;background:var(--color-panel);position:sticky;top:0}}.detail-panel.empty p{margin:0}.detail-heading{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:10px;display:flex}.detail-heading span,.detail-row span{color:var(--color-muted);text-transform:uppercase;font-size:12px;font-weight:800}.detail-heading h3{overflow-wrap:anywhere;margin-top:3px;font-size:17px;line-height:1.25}.detail-heading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.detail-heading-actions>button{margin:0}.detail-heading-actions .detail-edit-action{min-height:36px;padding:0 10px}.detail-heading-actions .icon-action,.detail-actions .icon-action{justify-content:center;align-items:center;width:36px;height:36px;min-height:36px;margin:0;padding:0;display:inline-flex}.detail-heading-actions .danger-action{margin-top:0}.detail-heading>button{border:1px solid var(--color-border);background:var(--color-control-bg);width:32px;height:32px;color:var(--color-accent-strong);border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.detail-actions{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.location-field-controls{grid-template-columns:minmax(0,1fr) 38px;align-items:center;gap:8px;display:grid}.location-field-controls .icon-action{width:38px;height:38px;min-height:38px;margin:0;padding:0}.field-error{color:#b91c1c;font-size:12px;font-weight:600}.gps-map-panel{gap:8px;margin:14px 0;display:grid}.gps-map-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.gps-map-heading h4{margin:0}.gps-map-heading a{color:var(--color-accent);font-size:12px;font-weight:700}.gps-coordinate-button{border:1px solid var(--color-border);background:var(--color-control-bg);width:fit-content;max-width:100%;color:var(--color-accent-strong);font:inherit;cursor:pointer;border-radius:6px;align-items:center;gap:7px;padding:8px 10px;font-size:12px;font-weight:800;display:inline-flex}.gps-coordinate-button:hover,.gps-coordinate-button:focus-visible{background:var(--color-control-hover)}.gps-coordinate-button:disabled{color:var(--color-muted);cursor:not-allowed}.floorplan-location-panel{gap:8px;margin:14px 0;display:grid}.floorplan-location-panel .detail-link{font-size:12px;font-weight:700}.floorplan-location-preview{border:1px solid var(--color-border);background:#e2e8f0;border-radius:8px;min-height:220px;padding:0;display:block;position:relative;overflow:hidden}.floorplan-location-preview img{max-width:none;height:auto;position:absolute;transform:none}.floorplan-location-preview:hover,.floorplan-location-preview:focus-visible{border-color:var(--color-accent);outline:none}.floorplan-location-pin{background:var(--color-accent);color:#fff;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:28px;height:28px;font-size:10px;font-weight:800;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 10px #0f172a59}.floorplan-location-pin.idf{background:#059669}.gps-map-canvas{border:1px solid var(--color-border);background:#e2e8f0;border-radius:8px;min-height:220px;overflow:hidden}.gps-map-error,.gps-map-missing{color:var(--color-muted);margin:0;padding:14px;font-size:12px}.action-menu{gap:8px;display:flex}.action-menu-floating{z-index:40;flex-direction:column;align-items:flex-end;position:fixed;bottom:24px;right:24px}.action-menu-trigger{background:var(--color-accent);color:#fff;border:0;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;display:inline-flex;box-shadow:0 6px 16px #0f172a38}.action-menu-trigger:hover,.action-menu-trigger:focus-visible{background:var(--color-accent-strong)}.action-menu-popover{justify-items:end;gap:8px;margin-bottom:2px;display:grid}.action-menu-item{background:var(--color-accent-strong);color:#fff;white-space:nowrap;border:0;border-radius:6px;min-height:42px;padding:0 16px;font-size:14px;font-weight:700;box-shadow:0 5px 12px #0f172a38}.action-menu-item:hover,.action-menu-item:focus-visible{background:var(--color-accent)}.action-menu-item.danger{background:#991b1b}.action-menu-item.danger:hover,.action-menu-item.danger:focus-visible{background:#b91c1c}.action-menu-item:disabled{cursor:not-allowed;opacity:.58}.survey-ap-overlay{z-index:100;background:#082d4a6b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.survey-ap-panel{border:1px solid var(--color-border);background:var(--color-panel);border-radius:8px;flex-direction:column;width:min(860px,100%);max-height:min(92vh,900px);padding:20px;display:flex;overflow:auto;box-shadow:0 20px 50px #0f172a40}.survey-ap-fields{gap:10px;margin-top:16px;display:grid}.survey-ap-field{width:100%;color:var(--color-text);grid-template-columns:minmax(130px,.36fr) minmax(0,1fr);align-items:center;gap:8px 16px;margin:0;font-size:14px;display:grid}.survey-ap-field>span,.survey-ap-field.location-field>label{grid-column:1;font-weight:600}.survey-ap-field>input:not([type=checkbox]),.survey-ap-field>select,.survey-ap-field.location-field .location-field-controls,.switch-record-form .survey-ap-field>.input-with-action{grid-column:2;width:100%;min-width:0}.survey-ap-field>input:not([type=checkbox]),.survey-ap-field>select{min-height:38px}.survey-ap-checkbox-field>input[type=checkbox]{width:20px;height:20px;accent-color:var(--color-accent);grid-column:2;justify-self:start;margin:0}.survey-ap-field.location-field{grid-template-columns:minmax(130px,.36fr) minmax(0,1fr)}.survey-ap-field.location-field .field-error{grid-column:2}.survey-ap-long-fields{gap:12px;margin-top:16px;display:grid}.survey-ap-textarea-field{grid-template-columns:minmax(0,1fr);gap:6px}.survey-ap-textarea-field>textarea{resize:vertical;grid-column:1;width:100%;min-width:0}.ap-install-section-title{border-top:1px solid var(--color-border);margin:20px 0 0;padding-top:14px;font-size:14px}.ap-install-location-description{margin-top:12px}.ap-install-photos{gap:12px;margin-top:10px;display:grid}.ap-install-photo{border:1px solid var(--color-border);color:var(--color-text);border-radius:6px;gap:8px;padding:12px;font-size:13px;display:grid}.ap-install-photo>span:first-child{font-weight:600}.ap-install-photo img,.ap-install-photo .ap-photo-empty{aspect-ratio:16/7;object-fit:contain;background:var(--color-control-bg);width:100%;max-height:180px;display:grid}.ap-install-photo input[type=file]{width:100%;min-width:0}.ap-install-photo small{overflow-wrap:anywhere}.ap-install-panel .survey-floorplan-picker{max-height:260px}.ap-assignment-panel .survey-ap-field>.input-with-action{grid-column:2;width:100%;min-width:0}.ap-serial-guidance{grid-column:2;gap:4px;min-width:0;display:grid}.ap-assignment-scanner{margin-top:14px}.survey-ap-panel .detail-heading{flex-direction:row;align-items:flex-start}.survey-ap-panel .detail-heading>button{flex:none}.survey-ap-actions{z-index:2;padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--color-border);background:var(--color-panel);justify-content:flex-end;margin:18px -20px -20px;position:sticky;bottom:-20px}.standalone-record-form>.detail-heading{z-index:3;border-bottom:1px solid var(--color-border);background:var(--color-panel);margin:-20px -20px 16px;padding:16px 20px 12px;position:sticky;top:-20px}.standalone-record-form>.detail-heading h3{margin:3px 0 0;font-size:15px}.inventory-create-form{width:min(640px,100%)}.inventory-create-form .survey-ap-field>.input-with-action{grid-column:2;width:100%;min-width:0}.idf-create-modal{width:min(780px,100%)}.idf-create-modal .idf-create-fields,.idf-create-modal .idf-create-fields .equipment-create-form,.ap-create-modal .ap-create-fields,.ap-create-modal .ap-create-fields .equipment-create-form{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:12px;display:grid}.ap-create-modal .ap-create-fields>.survey-ap-field,.ap-create-modal .ap-create-fields .survey-ap-field{min-width:0;margin:0}.ap-create-modal .ap-create-fields .survey-ap-textarea-field{grid-template-columns:minmax(0,1fr);align-items:start}.ap-create-modal .ap-create-fields textarea{resize:vertical;width:100%;min-width:0;min-height:76px}.ap-create-modal .ap-create-photo-field{grid-template-columns:minmax(0,1fr);align-items:start}.ap-create-modal .ap-create-photo-field>input[type=file]{grid-column:1;width:100%}.ap-create-modal .ap-create-photo-field .create-photo-thumbnail{grid-column:1}.ap-create-modal .equipment-additional-fields{border-color:var(--color-border);min-width:0}.ap-create-modal .equipment-create-form .inline-form-row{grid-column:1}.idf-create-modal .idf-create-fields>.field-label,.idf-create-modal .idf-create-fields .equipment-create-form>.field-label,.idf-create-modal .idf-create-fields .checkbox-field{min-width:0;color:var(--color-text);grid-template-columns:minmax(132px,.36fr) minmax(0,1fr);align-items:center;gap:8px 14px;margin:0;font-size:13px;display:grid}.idf-create-modal .idf-create-fields input:not([type=checkbox]):not([type=file]),.idf-create-modal .idf-create-fields select,.idf-create-modal .idf-create-fields textarea{width:100%;min-width:0;min-height:38px}:is(.idf-create-modal .idf-create-fields .field-label:has(textarea),.idf-create-modal .idf-create-fields .field-label:has(input[type=file])){grid-template-columns:minmax(0,1fr);align-items:start}.idf-create-modal .idf-create-fields textarea{resize:vertical;grid-column:1/-1}.idf-create-modal .idf-create-fields .checkbox-field input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-accent);grid-column:2;justify-self:start}.idf-create-modal .equipment-additional-fields{border-color:var(--color-border);min-width:0}.idf-create-modal .equipment-create-form .inline-form-row{grid-column:1}.idf-install-summary{border-bottom:1px solid var(--color-border);color:var(--color-muted);justify-content:space-between;gap:12px;padding:12px 0;font-size:13px;display:flex}.idf-install-summary strong{color:var(--color-text)}.idf-install-message{color:var(--color-text);margin:16px 0 24px;font-size:14px;line-height:1.5}.idf-install-photo-preview{border:1px solid var(--color-border);object-fit:contain;border-radius:6px;width:100%;max-height:180px}.survey-ap-overlay-native{place-items:stretch stretch;padding:0}.survey-ap-overlay-native .survey-ap-panel{width:100%;height:100dvh;max-height:none;padding:max(16px, env(safe-area-inset-top)) 16px 0;box-shadow:none;border:0;border-radius:0}@media (width<=720px){.survey-ap-overlay{place-items:stretch stretch;padding:0}.survey-ap-panel{width:100%;height:100dvh;max-height:none;padding:max(16px, env(safe-area-inset-top)) 16px 0;box-shadow:none;border:0;border-radius:0}.standalone-record-form>.detail-heading{top:calc(0px - max(16px, env(safe-area-inset-top)));margin:calc(0px - max(16px, env(safe-area-inset-top))) -16px 16px;padding:max(16px, env(safe-area-inset-top)) 16px 12px}.survey-ap-field,.survey-ap-field.location-field{grid-template-columns:minmax(104px,.42fr) minmax(0,1fr);gap:8px 12px}.survey-ap-field.survey-ap-textarea-field{grid-template-columns:minmax(0,1fr)}.survey-ap-actions{padding:12px 16px calc(12px + env(safe-area-inset-bottom));margin:18px -16px 0;bottom:0}}.survey-floorplan-picker{border:1px solid var(--color-border);background:var(--color-control-bg);cursor:crosshair;border-radius:6px;max-height:310px;margin:0 0 6px;position:relative;overflow:auto}.survey-floorplan-picker-wrap{margin-top:16px}.survey-idf-location-field{align-items:start}.survey-idf-location-field>.survey-floorplan-picker-wrap,.survey-idf-location-field>.survey-location-value,.survey-idf-location-field>.muted-text{grid-column:2}.survey-idf-location-field .survey-floorplan-picker-wrap{width:100%;min-width:0;margin-top:0}.survey-floorplan-canvas{min-width:100%;position:relative}.survey-floorplan-canvas img{width:100%;max-width:none;height:auto;display:block}.survey-floorplan-canvas>span{background:var(--color-accent);pointer-events:none;border:3px solid #fff;border-radius:999px;width:18px;height:18px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 6px #0f172a66}.survey-floorplan-zoom{justify-content:flex-end;align-items:center;gap:6px;display:flex}.survey-floorplan-zoom button{border:1px solid var(--color-border);background:var(--color-control-bg);min-width:32px;height:32px;color:var(--color-accent-strong);border-radius:6px;justify-content:center;align-items:center;padding:0 8px;font-weight:700;display:inline-flex}.survey-floorplan-zoom button:hover:not(:disabled),.survey-floorplan-zoom button:focus-visible{border-color:var(--color-accent);background:var(--color-control-hover);outline:none}.survey-floorplan-zoom button:disabled{cursor:not-allowed;opacity:.45}.survey-floorplan-zoom span{min-width:48px;color:var(--color-muted);text-align:center;font-size:12px}.survey-location-value{color:var(--color-muted);margin:0 0 14px;font-size:12px}.floorplan-viewer{border:1px solid var(--color-border);isolation:isolate;background:#e8edf3;border-radius:8px;width:100%;position:relative;overflow:hidden}.floorplan-viewer.embedded{height:clamp(320px,38vw,540px)}.floorplan-viewer-backdrop{z-index:1000;background:#0f172ab8;padding:12px;position:fixed;inset:0}.floorplan-viewer.expanded{background:#dce3ea;border:0;border-radius:6px;grid-template-rows:54px minmax(0,1fr);width:100%;height:100%;display:grid}.floorplan-viewer-heading{border-bottom:1px solid var(--color-border);background:#fff;justify-content:space-between;align-items:center;padding:0 14px 0 18px;display:flex}.floorplan-viewer-heading h2{margin:0;font-size:17px;line-height:1.2}.floorplan-viewer-heading button,.floorplan-viewer-controls button{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.floorplan-viewer-heading button:hover,.floorplan-viewer-controls button:hover,.floorplan-viewer-controls button.active{color:#0f172a;background:#f1f5f9;border-color:#64748b}.floorplan-viewer-heading button:focus-visible,.floorplan-viewer-controls button:focus-visible{outline-offset:1px;outline:3px solid #2563eb47}.floorplan-picker{align-items:center;gap:6px;margin-right:2px;display:flex}.floorplan-picker span{color:#475569;text-transform:uppercase;font-size:11px;font-weight:800}.floorplan-picker select{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:min(190px,20vw);height:36px;padding:0 26px 0 9px;font-size:12px;font-weight:700}.floorplan-picker select:focus-visible{outline-offset:1px;outline:3px solid #2563eb47}.floorplan-viewer-controls{z-index:8;background:#fffffff0;border:1px solid #94a3b8a6;border-radius:7px;gap:5px;padding:5px;display:flex;position:absolute;top:12px;right:12px;box-shadow:0 8px 20px #0f172a29}.floorplan-viewer.expanded .floorplan-viewer-controls{top:66px;right:24px}.floorplan-viewer.expanded.has-selected-pin .floorplan-viewer-controls{right:calc(min(360px,30vw) + 30px)}.floorplan-transform-wrapper{cursor:grab;touch-action:none;width:100%!important;height:100%!important}.floorplan-transform-wrapper:active{cursor:grabbing}.floorplan-transform-content{width:100%}.floorplan-canvas{-webkit-user-select:none;user-select:none;width:100%;line-height:0;position:relative}.floorplan-canvas img{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.floorplan-connections{pointer-events:auto;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.floorplan-connection{opacity:.78;pointer-events:stroke}.fiber-connection-marker{background:#facc15;border-radius:999px;width:16px;height:2px}.floorplan-pin{cursor:pointer;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;display:inline-flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 4px 10px #0f172a47}.floorplan-pin.ap-pin{width:17px;height:17px;transform:translate(-50%, -50%) scale(var(--floorplan-pin-scale,1));transform-origin:50%;background:linear-gradient(135deg, var(--floorplan-pin-primary,#2563eb) 0 50%, var(--floorplan-pin-secondary,var(--floorplan-pin-primary,#2563eb)) 50% 100%);color:#fff;border-width:1px}.floorplan-pin.ap-pin.troubleshoot-slow-link,.floorplan-pin.ap-pin.troubleshoot-installed-offline{color:#713f12;background:#facc15}.floorplan-pin.ap-pin.troubleshoot-service-trouble,.floorplan-pin.ap-pin.troubleshoot-critical{color:#fff;background:#dc2626}.floorplan-pin.ap-pin svg{width:13px;height:13px}.floorplan-pin.ap-pin .troubleshoot-rj45-icon{object-fit:contain;filter:brightness(0)invert();pointer-events:none;width:12px;height:12px;margin:0;display:block;position:relative;top:-2px}.floorplan-pin.idf-pin{width:20.4px;height:20.4px;transform:translate(-50%, -50%) scale(var(--floorplan-pin-scale,1));transform-origin:50%;color:#fff;background:#059669;border-width:1px}.floorplan-pin.idf-pin svg{width:15px;height:15px}.floorplan-pin.active,.floorplan-pin:focus-visible{outline-offset:2px;z-index:2;outline:3px solid #f59e0b73}.floorplan-pin-summary{margin-bottom:4px}.floorplan-legend,.floorplan-detail-card{z-index:7;background:#fffffff2;border:1px solid #94a3b8b8;border-radius:7px;padding:9px 11px;position:absolute;bottom:12px;box-shadow:0 8px 20px #0f172a29}.floorplan-legend{gap:7px;max-height:min(320px,50%);display:grid;left:12px;overflow-y:auto}.floorplan-legend>div{color:#334155;grid-template-columns:22px minmax(96px,1fr) auto;align-items:center;gap:7px;font-size:12px;display:grid}.legend-marker{color:#fff;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex;box-shadow:0 2px 6px #0f172a3d}.legend-marker.ap-pin{background:linear-gradient(135deg, var(--floorplan-pin-primary,#2563eb) 0 50%, var(--floorplan-pin-secondary,var(--floorplan-pin-primary,#2563eb)) 50% 100%)}.legend-marker.idf-pin{background:#059669}.floorplan-detail-card{width:min(360px,30vw);top:66px;bottom:18px;right:18px;overflow-y:auto}.floorplan-detail-card-heading{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:9px;display:flex}.floorplan-detail-card-heading span,.floorplan-detail-card-heading small{color:#64748b;text-transform:uppercase;font-size:11px;font-weight:800}.floorplan-detail-card-heading h3{overflow-wrap:anywhere;margin:3px 0 0;font-size:16px;line-height:1.25}.floorplan-detail-card>.detail-row,.floorplan-detail-card>.floorplan-selected-pin-fallback{margin-top:11px}.floorplan-selected-pin-fallback{gap:4px;display:grid}.floorplan-selected-pin-fallback span{color:#64748b;font-size:12px}.floorplan-selected-pin-fallback strong{overflow-wrap:anywhere;font-size:14px}.tiled-floorplan-panel{flex-direction:column;min-height:calc(100vh - 160px);display:flex}.floorplans-workspace{box-sizing:border-box;flex-direction:column;height:100vh;min-height:100vh;padding:0;display:flex;overflow:hidden}.floorplans-workspace .tiled-floorplan-panel{min-height:0;box-shadow:none;border:0;border-radius:0;flex:auto;padding:0}.floorplans-workspace .tiled-floorplan-panel>.panel-heading{flex:none;margin-bottom:0;padding:10px 20px}.floorplans-workspace .tiled-floorplan-surface{border:0;border-radius:0}.floorplan-inline-actions{z-index:auto;width:auto;margin:0;position:static;inset:auto}.tiled-floorplan-panel.expanded{z-index:40;border-radius:0;flex-direction:column;min-height:0;margin:0;display:flex;position:fixed;inset:0}.tiled-floorplan-panel.expanded .tiled-floorplan-surface,.tiled-floorplan-panel.expanded .tiled-floorplan-map{flex:1;min-height:0}.tiled-floorplan-panel.expanded .tiled-floorplan-surface{display:flex}.tiled-floorplan-panel.expanded .tiled-floorplan-map{width:100%}.tiled-floorplan-panel.expanded>.panel-heading{padding-right:108px}.tiled-floorplan-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.tiled-floorplan-actions>button{color:#334155;cursor:pointer;background:#fff;border:1px solid #94a3b8;border-radius:5px;place-items:center;width:34px;height:34px;display:grid}.experimental-view-callout{background:#eff6ff;border:1px solid #bfdbfe;border-radius:7px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:12px 14px;display:flex}.experimental-view-callout div{gap:3px;display:grid}.experimental-view-callout span{color:#475569;font-size:12px}@media (width<=640px){.experimental-view-callout{flex-direction:column;align-items:stretch}.profile-tab-panel{grid-template-columns:minmax(0,1fr)}.profile-grid,.profile-form-grid{grid-template-columns:1fr}.profile-stat-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.tiled-floorplan-panel .panel-heading{align-items:flex-end}.tiled-floorplan-panel .panel-heading p{color:#64748b;margin-top:4px;font-size:12px}.tiled-floorplan-surface{border:1px solid var(--color-border);background:var(--color-surface-muted,#edf2f5);border-radius:7px;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.tiled-floorplan-filter-bar{grid-template-columns:minmax(240px,460px) auto auto;align-items:center;gap:10px;margin:0 0 10px;display:grid}.tiled-floorplan-filter-bar>span{color:var(--color-muted);text-transform:uppercase;font-size:12px;font-weight:800}.tiled-floorplan-search{min-height:36px}.tiled-floorplan-map{flex:1;min-height:0;position:relative;overflow:hidden}.tiled-floorplan-canvas{position:absolute;inset:0}.tiled-pin-context-menu{z-index:30;background:#fff;border:1px solid #94a3b8;border-radius:6px;gap:6px;min-width:170px;padding:10px;display:grid;position:absolute;box-shadow:0 8px 22px #0f172a3d}.tiled-pin-context-menu strong,.tiled-pin-context-menu label{font-size:12px}.tiled-pin-context-menu input{width:100%}.tiled-pin-context-menu>div{gap:6px;display:flex}.tiled-pin-context-menu>button{color:#0f172a;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:4px;padding:7px 10px}.tiled-pin-context-menu>button:hover{background:#e2e8f0}.tiled-floorplan-map .openseadragon-container{inset:0;position:absolute!important}.tiled-floorplan-toolbar{z-index:20;gap:6px;display:flex;position:absolute;top:12px;left:72px}.tiled-floorplan-toolbar button{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #94a3b8;border-radius:5px;align-items:center;gap:6px;min-height:34px;padding:0 10px;display:inline-flex}.tiled-floorplan-toolbar button.active{color:#fff;background:#2563eb;border-color:#1d4ed8}.tiled-position-save{z-index:60;pointer-events:auto;color:#fff;cursor:pointer;min-height:34px;font:inherit;touch-action:manipulation;background:#16a34a;border:1px solid #15803d;border-radius:5px;align-items:center;gap:6px;padding:0 11px;font-size:13px;font-weight:600;display:inline-flex;position:absolute;top:12px;right:12px;box-shadow:0 2px 6px #0f172a44}.tiled-position-save:hover{background:#15803d}.tiled-create-actions,.tiled-placement-actions{z-index:12;color:#0f172a;background:#fffffff5;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:12px;display:flex;position:absolute;bottom:14px;right:14px;box-shadow:0 8px 24px #0f172a29}.tiled-create-actions button,.tiled-placement-actions button{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #94a3b8;border-radius:6px;align-items:center;gap:4px;padding:6px 8px;display:inline-flex}.tiled-create-actions button{width:38px;height:38px;padding:4px}.tiled-add-icon,.tiled-add-icon svg{width:26px;height:26px;display:block}.tiled-add-icon{overflow:visible}.tiled-add-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.tiled-add-icon svg circle{fill:#fff;stroke:#2563eb;stroke-width:1.5px}.tiled-add-icon svg path:last-child{stroke:#2563eb;stroke-width:2.2px}.tiled-create-actions button:hover,.tiled-placement-actions button:hover{background:#eff6ff;border-color:#2563eb}.tiled-placement-actions{flex-direction:column;align-items:flex-end}.tiled-placement-actions>span{color:#64748b}.tiled-placement-actions>div{gap:6px;display:flex}.tiled-placement-actions>div button:first-child{color:#fff;background:#15803d;border-color:#15803d}.tiled-placement-pin{appearance:none;box-sizing:border-box;filter:drop-shadow(0 2px 3px #0f172a73);cursor:grab;background:0 0;border:0;width:40px;height:56px;padding:0;position:relative}.tiled-placement-pin svg{width:40px;height:56px;display:block;overflow:visible}.tiled-placement-pin-body{fill:#2563eb;stroke:#fff;stroke-width:3px;stroke-linejoin:round}.tiled-placement-symbol{fill:none;stroke:#fff;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.tiled-placement-new{fill:none;stroke:#fff;stroke-width:2.2px;stroke-linecap:round}.tiled-placement-new-badge{fill:#fff;stroke:#2563eb;stroke-width:1.5px}.tiled-placement-new{stroke:#2563eb}.tiled-placement-pin-anchor{fill:none;stroke:#0f172a;stroke-width:2px;stroke-linecap:round}.tiled-placement-pin.idf .tiled-placement-pin-body{fill:#059669}.tiled-placement-pin.is-dragging{cursor:grabbing}.tiled-floorplan-canvas.is-placement-dragging,.tiled-floorplan-canvas.is-placement-dragging *{cursor:none!important}.equipment-create-panel{margin-bottom:16px}.equipment-catalog-view{gap:16px;display:grid}.equipment-catalog-tabs{margin-bottom:0}.equipment-catalog-pane{min-width:0}.equipment-catalog-pane>.panel-heading{align-items:end}.equipment-catalog-pane>.panel-heading h2{margin:2px 0 0}.equipment-catalog-pane>.panel-heading>span{color:var(--color-muted,#64748b);font-size:.8rem;font-weight:700}.equipment-catalog-pane .data-table{max-height:420px}.global-equipment-catalog{padding-top:0}.site-equipment-usage{border-bottom:1px solid var(--color-border);margin-bottom:16px;padding-bottom:16px}.site-equipment-usage h4{margin:0 0 12px}.site-equipment-groups{gap:16px;min-width:0;display:grid}.site-equipment-group{min-width:0}.site-equipment-group-heading{justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 6px;display:flex}.site-equipment-group-heading h3{color:var(--color-accent-strong);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:.86rem}.site-equipment-group-heading span{color:var(--color-muted);font-size:.78rem;font-weight:700}.color-field-control{grid-template-columns:42px 24px minmax(0,1fr);align-items:center;gap:8px;display:grid}.color-field-control input[type=color]{cursor:pointer;width:42px;height:36px;padding:3px}.legacy-color-swatch{border:1px solid var(--color-border);border-radius:50%;width:20px;height:20px;box-shadow:inset 0 0 0 1px #ffffff59}.color-field-control input[type=text]{min-width:0}.equipment-image-gallery{gap:8px;margin-top:8px;display:grid}.equipment-image-gallery h4{color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:.76rem}.equipment-image-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.equipment-image-card{min-width:0;color:var(--color-text);gap:6px;text-decoration:none;display:grid}.equipment-image-card img{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--color-border);background:var(--color-control-bg);border-radius:6px;width:100%}.equipment-image-card strong{font-size:.74rem}.equipment-photo-field{gap:6px}.equipment-photo-field input[type=file]{padding:6px;font-size:.78rem}.equipment-photo-preview{object-fit:cover;border:1px solid var(--color-border);border-radius:6px;width:88px;height:66px}.equipment-create-form{grid-template-columns:repeat(3,minmax(180px,1fr));align-items:end;gap:12px;padding:4px 0 8px;display:grid}.equipment-create-form .inline-form-row{grid-column:1/-1}.project-log-create{grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) 150px minmax(180px,1.2fr) auto;align-items:end;gap:10px;margin:14px 0;display:grid}.project-log-create label{color:var(--muted-text);gap:5px;font-size:12px;font-weight:700;display:grid}.project-log-create input{min-width:0}@media (width<=1024px){.project-log-create{grid-template-columns:1fr 1fr}.project-log-create button{grid-column:1/-1;justify-self:start}}.equipment-additional-fields{border-top:1px solid #cbd5e1;grid-column:1/-1;padding-top:10px}.equipment-additional-fields summary{cursor:pointer;font-weight:700}.equipment-additional-fields>.equipment-create-form{padding:12px 0 0}.preferred-equipment-picker{gap:12px;display:grid}.preferred-equipment-list{background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;max-height:320px;display:grid;overflow:auto}.preferred-equipment-option{border-bottom:1px solid #e2e8f0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 12px;display:grid}.preferred-equipment-option:last-child{border-bottom:0}.preferred-equipment-option small{color:#64748b}.create-photo-thumbnail{object-fit:cover;border:1px solid #cbd5e1;border-radius:4px;width:96px;height:72px;margin-top:8px;display:block}@media (width<=760px){.equipment-create-form{grid-template-columns:1fr}}.tiled-pin{z-index:12;background:linear-gradient(135deg, var(--pin-primary) 0 50%, var(--pin-secondary) 50% 100%);color:#fff;cursor:pointer;border:1px solid #fff;border-radius:50%;place-items:center;width:20px;height:20px;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 6px #0f172a66}.tiled-pin.idf{background:#059669;width:24px;height:24px}.tiled-pin.ap[data-troubleshoot-state=slow-link],.tiled-pin.ap[data-troubleshoot-state=installed-offline]{color:#713f12;background:#facc15}.tiled-pin.ap[data-troubleshoot-state=service-trouble],.tiled-pin.ap[data-troubleshoot-state=critical]{color:#fff;background:#dc2626}.tiled-pin.selected{outline-offset:3px;outline:3px solid #f59e0b}.tiled-wifi-survey-pin{z-index:11;cursor:pointer;background:#7c3aed;border:2px solid #fff;border-radius:50%;width:18px;height:18px;padding:0;position:absolute;box-shadow:0 1px 5px #0f172a80}.tiled-wifi-survey-pin span{background:#ede9fe;border-radius:50%;width:6px;height:6px;margin:4px;display:block}.tiled-wifi-survey-pin:hover,.tiled-wifi-survey-pin:focus-visible{outline-offset:2px;outline:3px solid #c4b5fd}.tiled-pin svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;width:14px;height:14px}.tiled-direction-handle{z-index:2;cursor:grab;background:#f59e0b;border:2px solid #fff;border-radius:50%;width:10px;height:10px;position:absolute;top:50%;left:50%;box-shadow:0 1px 4px #0f172a99}.tiled-direction-handle:active{cursor:grabbing}.tiled-legend,.tiled-detail{z-index:18;border:1px solid var(--color-border);background:var(--color-panel);color:var(--color-text);border-radius:6px;gap:7px;padding:12px;display:grid;position:absolute;box-shadow:0 8px 20px #0f172a26}.tiled-detail-hero{background:var(--color-control-bg);border-bottom:1px solid var(--color-border);background-position:50%;background-size:cover;align-items:flex-end;min-height:76px;margin:-12px -12px 8px;padding:14px 34px 12px 12px;display:flex}.tiled-detail-hero.has-photo{aspect-ratio:4/3;min-height:0;color:var(--color-text);border-bottom-color:#0000}.tiled-detail-hero .tiled-detail-heading{color:inherit;text-shadow:0 1px 2px #00000073}.tiled-detail-hero.has-photo .tiled-detail-heading{background:var(--color-panel);text-shadow:none;border-radius:4px;padding:6px 8px}.tiled-legend{bottom:12px;left:12px}.tiled-legend span{align-items:center;gap:7px;font-size:12px;display:flex}.tiled-legend-pin{color:#fff;border-radius:50%;place-items:center;width:20px;height:20px;display:grid}.tiled-legend-pin.ap{background:linear-gradient(135deg, var(--pin-primary,#2563eb) 0 50%, var(--pin-secondary,#60a5fa) 50% 100%)}.tiled-legend-pin.idf{background:#059669}.tiled-legend-pin svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:12px;height:12px}.tiled-troubleshoot-legend .tiled-legend-pin.troubleshoot-slow-link,.tiled-troubleshoot-legend .tiled-legend-pin.troubleshoot-installed-offline{color:#713f12;background:#facc15}.tiled-troubleshoot-legend .tiled-legend-pin.troubleshoot-service-trouble,.tiled-troubleshoot-legend .tiled-legend-pin.troubleshoot-critical{color:#fff;background:#dc2626}.tiled-troubleshoot-legend .tiled-legend-pin.troubleshoot-not-installed{color:#fff;background:#64748b}.troubleshoot-danger-icon{color:#dc2626}.critical-troubleshoot-icon{color:#dc2626;font-size:16px;line-height:1}.service-troubleshoot-icon,.offline-troubleshoot-icon{color:#ca8a04;font-size:16px;line-height:1}.installed-ok-icon{color:#16a34a}.tiled-troubleshoot-legend .tiled-legend-pin{background:#334155;font-size:14px;font-style:normal;font-weight:700;line-height:1}.tiled-troubleshoot-legend .tiled-legend-rj45{justify-content:center;align-items:center;display:inline-flex}.tiled-troubleshoot-legend .tiled-legend-rj45 img{object-fit:contain;filter:grayscale()brightness(0)invert();width:18px;height:18px}.tiled-detail{overscroll-behavior:contain;grid-auto-rows:max-content;width:min(360px,100% - 24px);max-height:calc(100% - 24px);bottom:12px;right:12px;overflow:auto}.tiled-detail-close{border:1px solid var(--color-border);background:var(--color-control-bg);width:28px;height:28px;color:var(--color-text);cursor:pointer;border-radius:4px;place-items:center;display:grid;position:absolute;top:8px;right:8px}.tiled-detail-heading{margin:0 0 4px;padding:0 32px 0 0;font-size:15px;line-height:1.2;display:block}.tiled-detail span{color:var(--color-muted);font-size:12px}.tiled-detail-actions{flex-wrap:wrap;gap:6px;display:flex}.tiled-detail-actions button{align-items:center;gap:5px;min-height:30px;padding:4px 8px;font-size:12px;display:inline-flex}.tiled-detail.is-editing{z-index:30}.tiled-detail.is-editing .tiled-detail-actions{z-index:2;background:var(--color-panel);padding-block:6px;position:sticky;top:0}.tiled-detail-facts,.tiled-detail-edit-form{gap:8px;min-width:0;display:grid}.tiled-detail-facts>span,.tiled-detail-more>span{overflow-wrap:anywhere;grid-template-columns:minmax(96px,.7fr) minmax(0,1fr);gap:8px;display:grid}.tiled-detail-facts strong,.tiled-detail-more strong{color:var(--color-text);font-size:11px}.tiled-detail-more{border-top:1px solid var(--color-border);gap:8px;padding-top:8px;display:grid}.tiled-detail-more summary{color:var(--color-text);cursor:pointer;font-size:12px;font-weight:700}.tiled-detail-edit-form .field-label{gap:4px;font-size:12px;display:grid}.tiled-detail-edit-form input,.tiled-detail-edit-form select,.tiled-detail-edit-form textarea{border:1px solid var(--color-border);background:var(--color-control-bg);width:100%;min-width:0;min-height:34px;color:var(--color-text);font:inherit;border-radius:6px;padding:6px 8px}.tiled-detail-edit-form textarea{resize:vertical}.tiled-detail-edit-form .checkbox-field{align-items:center;gap:8px;display:flex}.tiled-detail-edit-form input[type=checkbox]{width:16px;height:16px;min-height:16px;padding:0}@media (width<=640px){.tiled-detail.is-editing{max-height:calc(100% - 24px);bottom:12px}.tiled-floorplan-panel .panel-heading{align-items:stretch}.tiled-floorplan-panel.expanded>.panel-heading{padding-right:104px}.tiled-floorplan-panel .floorplan-picker{margin-top:10px}.tiled-floorplan-actions{justify-content:space-between;align-items:stretch}.tiled-floorplan-toolbar{top:8px;left:62px;right:auto}.tiled-floorplan-toolbar button{min-height:32px;padding:0 8px}.tiled-position-save{min-height:44px;padding:0 13px;top:8px;right:8px}.tiled-detail{width:auto;bottom:12px;left:12px;right:12px}.tiled-floorplan-filter-bar{grid-template-columns:1fr}.floorplan-viewer-backdrop{padding:0}.floorplan-viewer.expanded{border-radius:0}.floorplan-viewer-controls{gap:3px;padding:4px;top:8px;right:8px}.floorplan-viewer.expanded .floorplan-viewer-controls{top:62px;right:8px}.floorplan-viewer.expanded.has-selected-pin .floorplan-viewer-controls{right:8px}.floorplan-viewer-heading button,.floorplan-viewer-controls button{width:34px;height:34px}.floorplan-picker{width:100%;margin:0 0 4px}.floorplan-picker select{flex:1;width:100%;min-width:0}.floorplan-viewer.expanded .floorplan-viewer-controls:has(.floorplan-picker){grid-template-columns:minmax(0,1fr) repeat(4,34px);width:calc(100% - 16px);max-width:360px;display:grid}.floorplan-viewer.expanded .floorplan-viewer-controls:has(.floorplan-picker) .floorplan-picker{grid-column:1/-1}.floorplan-viewer.expanded .floorplan-viewer-controls:has(.floorplan-picker)>button:first-of-type{grid-column:2}.floorplan-legend{bottom:8px;left:8px}.floorplan-detail-card{width:auto;max-height:42%;inset:auto 8px 8px}.floorplan-viewer.expanded.has-selected-pin .floorplan-legend{bottom:calc(42% + 16px)}}.detail-row{gap:3px;display:grid}.detail-row strong{overflow-wrap:anywhere;font-size:13px;line-height:1.35}.detail-reference-list{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.detail-link{color:var(--color-accent);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:800;text-decoration:underline}.detail-groups{gap:16px;display:grid}.detail-group{gap:9px;display:grid}.detail-group h4{border-bottom:1px solid var(--color-border);color:var(--color-text);margin:0;padding-bottom:5px;font-size:13px}.change-history{border-top:1px solid var(--color-border);gap:9px;margin-top:18px;padding-top:14px;display:grid}.edit-form{gap:7px;display:grid}.edit-form input,.edit-form textarea{box-sizing:border-box;border:1px solid var(--color-border);width:100%;color:var(--color-text);font:inherit;border-radius:5px;padding:8px 9px}.ap-photo-editor{border-top:1px solid var(--color-border);gap:9px;margin-top:18px;padding-top:14px;display:grid}.ap-photo-editor h4{margin:0;font-size:13px}.ap-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.ap-photo-slot{border:1px solid var(--color-border);background:var(--color-control-bg);border-radius:6px;gap:7px;min-width:0;padding:0;display:grid;overflow:hidden}.ap-photo-frame{aspect-ratio:4/3;background:#e8eef4;min-height:180px;position:relative}.ap-photo-image-button{aspect-ratio:4/3;cursor:zoom-in;background:0 0;border:0;width:100%;min-height:180px;padding:0;display:block}.ap-photo-slot img,.ap-photo-empty{object-fit:cover;background:#e8eef4;width:100%;height:100%}.ap-photo-empty{color:var(--color-muted);place-items:center;font-size:11px;display:grid}.ap-photo-slot strong{padding:0 10px 10px;font-size:11px;display:block}.ap-photo-controls{z-index:2;gap:7px;display:flex;position:absolute;top:8px;right:8px}.photo-picker-actions{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.photo-picker-actions button{align-items:center;gap:5px;display:inline-flex}.ap-photo-controls .photo-picker-actions{flex-wrap:nowrap}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.evidence-view-button{font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.ap-pdf-evidence{color:var(--color-link);background:var(--color-control-bg);flex-direction:column;justify-content:center;align-items:center;gap:8px;text-decoration:none;display:flex}.ap-photo-lightbox{z-index:100;background:#0f172ad1;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.ap-photo-lightbox-panel{touch-action:none;cursor:grab;background:#111827;border:1px solid #ffffff40;border-radius:8px;place-items:center;width:min(1200px,100vw - 40px);height:min(900px,100dvh - 40px);display:grid;position:relative;overflow:hidden}.ap-photo-lightbox-panel>img{object-fit:contain;object-position:center;transform-origin:50%;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;min-width:0;max-width:100%;height:100%;min-height:0;max-height:100%;transition:transform .15s;display:block}.survey-review-gallery .survey-photo-lightbox-panel{justify-content:center;place-items:center;gap:0;display:grid}.ap-photo-lightbox-panel>img:active,.ap-photo-lightbox-panel:active{cursor:grabbing}.ap-photo-lightbox-controls{z-index:2;gap:8px;display:flex;position:absolute;top:12px;right:12px}.ap-photo-lightbox-controls button{color:#fff;cursor:pointer;background:#0f172acc;border:1px solid #ffffff59;border-radius:5px;place-items:center;width:34px;height:34px;padding:0;display:grid}.ap-photo-lightbox-controls button:hover{background:#1e293bf2}.ap-photo-lightbox-controls button:disabled{opacity:.45;cursor:default}.photo-simulation-editor{border:1px solid var(--color-border);background:var(--color-control-bg);border-radius:6px;gap:10px;margin-top:12px;padding:10px;display:grid}.photo-simulation-editor h4{color:var(--color-text);margin:0;font-size:14px}:is(.photo-simulation-editor.is-fullscreen,.photo-simulation-editor:fullscreen){z-index:100;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));overscroll-behavior:contain;background:var(--color-bg);border:0;border-radius:0;flex-direction:column;gap:12px;margin:0;display:flex;position:fixed;inset:0;overflow:auto}.photo-simulation-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.photo-simulation-toolbar .primary-action{border:1px solid var(--color-accent);background:var(--color-selection);color:var(--color-accent-strong);margin:0}.photo-simulation-toolbar .field-label{align-items:center;gap:6px;margin:0;font-size:11px;display:flex}.photo-simulation-toolbar select{border:1px solid var(--color-border);background:var(--color-panel);min-width:150px;color:var(--color-text);font:inherit;border-radius:5px;padding:6px 8px}.photo-simulation-color input{border:1px solid var(--color-border);background:var(--color-panel);cursor:pointer;border-radius:5px;width:30px;height:30px;padding:0}.photo-simulation-tools,.photo-simulation-colors{align-items:center;gap:4px;display:flex}.photo-simulation-tools button{border:1px solid var(--color-border);width:30px;height:30px;color:var(--color-text);background:var(--color-panel);cursor:pointer;border-radius:5px;place-items:center;padding:0;display:grid}.photo-simulation-tools button.active{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-selection)}.oval-tool-icon{border:2px solid;border-radius:50%;width:17px;height:12px;display:block}.photo-simulation-colors button{outline:1px solid var(--color-border);cursor:pointer;border:2px solid #fff;border-radius:50%;width:20px;height:20px;padding:0}.photo-simulation-colors button.active{outline:2px solid var(--color-primary);outline-offset:1px}.photo-simulation-canvas{border:1px solid var(--color-border);cursor:crosshair;touch-action:none;background:#fff;border-radius:5px;width:100%;height:auto;max-height:420px;display:block}:is(.photo-simulation-editor.is-fullscreen .photo-simulation-canvas,.photo-simulation-editor:fullscreen .photo-simulation-canvas){flex:none;align-self:center;max-width:1200px;height:auto;min-height:0;max-height:none}.detail-section-heading{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.detail-section-heading h4{margin:0;font-size:13px}.detail-section-heading span,.change-history>p{color:var(--color-muted);margin:0;font-size:12px}.change-history-list{gap:8px;max-height:240px;display:grid;overflow-y:auto}.change-history-item{border-left:3px solid var(--color-accent);background:var(--color-control-bg);gap:4px;padding:9px 10px;display:grid}.change-history-item p{color:var(--color-text);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.4}.change-history-meta{color:var(--color-muted);justify-content:space-between;gap:8px;font-size:11px;display:flex}.change-history-meta strong{color:var(--color-text);font-size:11px}.detail-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;display:grid}.log-entry-list{gap:10px;display:grid}.log-entry-card{border:1px solid var(--color-border);background:var(--color-panel);border-radius:8px;gap:8px;padding:12px;display:grid}.log-entry-card.assigned-to-viewer{border-color:var(--color-accent);border-left-width:4px}.log-entry-card.assigned-to-user{background:color-mix(in srgb, var(--color-sidebar) 16%, var(--color-panel))}:root[data-theme=dark] .log-entry-card.assigned-to-user{background:color-mix(in srgb, var(--color-sidebar) 24%, var(--color-panel))}.log-entry-card p{color:var(--color-text);overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.45}.log-entry-photos{flex-wrap:wrap;gap:8px;display:flex}.log-entry-photo{border:1px solid var(--color-border);width:112px;color:var(--color-muted);background:var(--color-panel);cursor:zoom-in;text-align:left;border-radius:6px;gap:4px;padding:0;display:grid;overflow:hidden}.log-entry-photo img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.log-entry-photo span{padding:0 5px 5px;font-size:11px;line-height:1.25}.log-entry-heading{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.log-entry-heading div{gap:2px;display:grid}.log-entry-heading strong{color:var(--color-text);overflow-wrap:anywhere;font-size:13px}.log-entry-heading span,.log-entry-heading small{color:var(--color-muted);font-size:12px;line-height:1.35}.log-entry-card-tools{flex:none;align-items:center;gap:6px;display:flex}.log-entry-card-tools .icon-action{width:30px;height:30px;min-height:30px;padding:0}.status-pill{overflow-wrap:anywhere;border-radius:999px;align-items:center;max-width:100%;min-height:24px;padding:0 8px;font-size:12px;font-weight:800;display:inline-flex}.status-pill.good{color:var(--color-success);background:#f0fdf4}.status-pill.warn{color:var(--color-warning);background:#fff7ed}.status-pill.neutral{color:var(--color-muted);background:#eef4fa}@media (width<=1024px){.app-shell{grid-template-columns:1fr}.sidebar{z-index:85;will-change:transform;width:min(84vw,310px);height:100vh;max-height:none;padding:0 12px 20px;transition:transform .18s;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-105%);box-shadow:8px 0 28px #11263f38}.app-shell.sidebar-open .sidebar{transform:translate(0)}.app-shell.sidebar-open .sidebar-backdrop{z-index:80;background:#11263f57;border:0;display:block;position:fixed;inset:0}.sidebar-drawer-tab{top:calc(52px + env(safe-area-inset-top));z-index:95;border:1px solid var(--color-border);background:var(--color-panel);width:38px;height:54px;color:var(--color-accent-strong);border-left:0;border-radius:0 8px 8px 0;justify-content:center;align-items:center;display:inline-flex;position:fixed;left:0;box-shadow:0 8px 20px #0f172a1f}.sidebar-drawer-tab:hover,.sidebar-drawer-tab:focus-visible{border-color:var(--color-accent);background:var(--color-control-hover);outline:none}.app-shell.sidebar-open .sidebar-drawer-tab{background:var(--color-sidebar-header-surface)}.nav-group.mobile-drawer-hidden{display:none}.app-global-actions{top:calc(10px + env(safe-area-inset-top));right:10px}.app-global-actions .brand-action,.app-global-actions .sync-status{width:40px;height:40px}.brand{margin:0 -12px 10px;padding:10px 12px 12px}.brand-title{min-height:36px}.sidebar-scope{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px;padding-bottom:10px}.nav-list{flex-direction:column;gap:4px;margin-top:0;display:flex}.nav-group{gap:2px;display:grid}.nav-group-items{gap:3px}.nav-heading{display:flex}.nav-link{justify-content:flex-start;width:auto;min-height:36px;padding:8px 10px}.topbar,.scope-bar,.summary-grid,.content-grid,.tools-grid,.document-actions,.document-upload-fields,.record-toolbar,.record-layout{grid-template-columns:1fr}.record-toolbar.has-filter-control{grid-template-columns:minmax(0,1fr) auto}.record-toolbar.has-filter-control .search-box{grid-column:1/-1}.record-toolbar.has-filter-control>span{text-align:left;grid-column:1}.record-toolbar.has-filter-control .ap-column-filter{grid-area:2/2}.topbar{display:grid}.workspace{padding:66px 12px 28px}.topbar h1{font-size:22px}.topbar-actions{justify-content:flex-start;width:100%}.review-controls{grid-template-columns:1fr}.segmented-control{grid-auto-flow:row;display:grid}.record-toolbar>span{text-align:left}.record-layout.split{display:block}.record-layout.split>.table-wrap,.record-layout.split>.site-equipment-groups{display:none}.record-layout.split>.detail-panel{border-top:0;border-left:0;width:100%;padding-top:0;padding-left:0}:is(.panel:has(>.record-layout.split)>.panel-heading,.panel:has(>.record-layout.split)>.record-toolbar){display:none}.detail-panel{border-top:1px solid var(--color-border);border-left:0;max-height:none;padding-top:14px;padding-left:0;position:static}.detail-panel .detail-heading{flex-direction:row;align-items:flex-start}.detail-panel .detail-heading>button{flex:none}.detail-field-grid,.tool-result{grid-template-columns:1fr}body{overflow-x:hidden}.action-menu-floating{right:16px;bottom:calc(78px + env(safe-area-inset-bottom))}.workspace{padding-bottom:92px}.mobile-bottom-nav{z-index:45;padding:6px 4px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--color-border);background:var(--color-panel);grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #11263f1f}.mobile-bottom-nav button{min-width:0;min-height:56px;color:var(--color-muted);background:0 0;border:0;border-radius:6px;place-items:center;gap:3px;font-size:10px;font-weight:800;display:grid}.mobile-bottom-nav button.active{background:var(--color-selection);color:var(--color-accent)}.mobile-bottom-nav button:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}@media (hover:hover) and (pointer:fine){.mobile-bottom-nav button:hover{background:var(--color-control-hover);color:var(--color-accent)}}.mobile-bottom-nav button span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.mobile-submenu-backdrop{z-index:40;background:#11263f57;border:0;display:block;position:fixed;inset:0}.mobile-submenu{right:10px;bottom:calc(80px + env(safe-area-inset-bottom));z-index:50;border:1px solid var(--color-border);background:var(--color-panel);border-radius:8px;gap:8px;max-height:min(60vh,420px);padding:12px;display:grid;position:fixed;left:10px;overflow:auto;box-shadow:0 12px 30px #11263f38}.mobile-submenu-heading{border-bottom:1px solid var(--color-border);color:var(--color-text);justify-content:space-between;align-items:center;padding:2px 2px 8px;display:flex}.mobile-submenu-heading button{border:1px solid var(--color-border);width:32px;height:32px;color:var(--color-muted);background:#fff;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.mobile-submenu-list{gap:4px;display:grid}.mobile-submenu-list button{min-height:42px;color:var(--color-text);text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;display:flex}.mobile-submenu-list button.active,.mobile-submenu-list button:hover,.mobile-submenu-list button:focus-visible{background:var(--color-selection);color:var(--color-accent)}.sidebar{padding:8px}.brand img{width:30px;height:30px}.brand strong{font-size:14px}.brand span{font-size:11px}.sidebar-scope{grid-template-columns:1fr}.panel{padding:14px}.topbar{gap:12px;margin-bottom:14px}.topbar-actions{gap:6px}.topbar-actions>button{flex:135px;justify-content:center}.panel-heading,.section-heading,.detail-heading,.detail-section-heading{flex-direction:column;align-items:stretch}.panel-heading>span,.section-heading>span{align-self:flex-start}.tool-actions,.detail-actions,.future-document-actions{grid-template-columns:1fr;display:grid}.tool-actions>button,.detail-actions>button,.future-document-actions>button{justify-content:center;width:100%}.record-toolbar{gap:8px}.data-table{min-width:680px;font-size:12px}.data-table th,.data-table td{padding:9px 8px}.ap-photo-grid{grid-template-columns:1fr}.photo-simulation-editor{padding:8px}.photo-simulation-toolbar{flex-direction:column;align-items:stretch}.photo-simulation-toolbar .field-label,.photo-simulation-toolbar select{width:100%}.photo-simulation-tools,.photo-simulation-colors{flex-wrap:wrap}.photo-simulation-tools button{width:40px;height:40px}.photo-simulation-colors button{width:28px;height:28px}.preferred-equipment-option{grid-template-columns:auto minmax(0,1fr)}.preferred-equipment-option>:last-child{grid-column:2}.access-record-detail,.access-detail,.user-directory,.company-directory{padding:12px}.tiled-floorplan-panel{min-height:calc(100vh - 150px)}.floorplans-workspace{height:auto;min-height:100vh;padding:0 0 92px;overflow:visible}.floorplans-workspace .tiled-floorplan-panel{min-height:calc(100vh - 150px)}.tiled-floorplan-surface{min-height:min(68vh,680px)}.tiled-create-actions,.tiled-placement-actions,.tiled-legend{bottom:calc(84px + env(safe-area-inset-bottom))}.tiled-legend{max-width:calc(100% - 16px);max-height:34%;left:8px;overflow:auto}.tiled-detail{right:8px;bottom:calc(84px + env(safe-area-inset-bottom));width:auto;max-height:calc(100% - 156px - env(safe-area-inset-bottom));left:8px;overflow:auto}}.sync-details-item-heading time{text-overflow:ellipsis;overflow:hidden}@media (width<=640px){.sync-details-backdrop{align-items:end;padding:0}.sync-details-panel{border-radius:8px 8px 0 0;max-height:85vh}.sync-details-item-heading{flex-direction:column;align-items:flex-start;gap:2px}}.input-with-action{align-items:center;gap:8px;display:flex}.input-with-action input{flex:1;min-width:0}.inventory-assignment{border-top:1px solid #d7e0ea;border-bottom:1px solid #d7e0ea;gap:8px;margin:16px 0;padding:14px 0;display:grid}.inventory-assignment-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.backup-list{gap:10px;margin-top:16px;display:grid}.backup-row{background:var(--color-control-bg);border:1px solid var(--color-border);border-radius:6px;gap:6px;padding:12px 14px;display:grid}.backup-row>div:first-child{justify-content:space-between;gap:12px;display:flex}.backup-row>div:first-child span{color:var(--color-muted);text-transform:uppercase;font-size:.8rem}.error-text{color:#b42318;font-size:.85rem}.restore-maintenance{color:#7c2d12;background:#fff7ed;border:1px solid #fdba74;border-radius:6px;flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0;padding:14px 16px;display:flex}.restore-maintenance span{flex:240px}.nav-link.disabled{cursor:not-allowed;opacity:.45}.restore-active .workspace>:not(.restore-maintenance){opacity:.45;pointer-events:none}.maintenance-lock-screen{z-index:1000;background:#f1f5f9f7;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.maintenance-lock-panel{color:#17324f;text-align:center;background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:100%;max-width:480px;padding:28px 32px 32px;box-shadow:0 16px 40px #0f172a29}.maintenance-lock-image{object-fit:contain;width:min(100%,260px);height:112px;margin:0 auto 8px;display:block}.maintenance-lock-panel h1{margin:14px 0 8px;font-size:1.35rem}.maintenance-lock-panel p{color:#425466;margin:0 0 10px}.maintenance-lock-step{color:#1769aa;margin-bottom:12px;font-size:.9rem;display:block}.maintenance-progress{background:#e2e8f0;border-radius:999px;height:10px;overflow:hidden}.maintenance-progress span{background:#1769aa;height:100%;transition:width .4s;display:block}.maintenance-lock-percent{color:#425466;margin:6px 0 10px;font-size:.85rem}.maintenance-site-switch{color:#425466;text-align:left;gap:5px;max-width:300px;margin:14px auto;font-size:.85rem;display:grid}.maintenance-site-switch select{color:#17324f;background:#fff;border:1px solid #b9c8d8;border-radius:6px;width:100%;min-height:38px;padding:0 10px}.maintenance-lock-panel span{color:#60748b;font-size:.85rem}.session-timeout-screen{z-index:1100;background-color:#3294eb;background-position:50%;background-size:cover;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:fixed;inset:0}.session-timeout-panel{background:var(--color-panel);border:1px solid var(--color-border);text-align:center;border-radius:8px;width:100%;max-width:440px;padding:32px;box-shadow:0 16px 40px #0f172a29}.session-timeout-panel img.session-timeout-logo{object-fit:contain;max-width:120px;height:72px}.session-timeout-panel h1{color:var(--color-text);margin:16px 0 8px;font-size:1.4rem}.session-timeout-panel p{color:var(--color-muted);margin:0 0 20px}.session-idle-warning{z-index:1050;background:#0f172a57;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.session-idle-panel{background:var(--color-panel);border:1px solid var(--color-border);text-align:center;border-radius:8px;width:100%;max-width:380px;padding:24px;box-shadow:0 16px 40px #0f172a33}.session-idle-panel h2{color:var(--color-text);margin:0 0 8px}.session-idle-panel p{color:var(--color-muted);margin:0 0 18px}.maintenance-lock-icon{color:#1769aa;animation:1.5s linear infinite maintenance-spin}@keyframes maintenance-spin{to{transform:rotate(360deg)}}.inventory-assignment strong{color:#17324f}.muted-text{color:#60748b;font-size:.85rem}.scanner-preview{gap:8px;margin-bottom:12px;display:grid}.scanner-preview video{object-fit:cover;background:#0f172a;border-radius:6px;width:100%;max-height:240px}.survey-recording-indicator{color:#c43b4b;letter-spacing:.06em;white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;font-size:.68rem;font-weight:800;display:inline-flex}.tiled-pin svg image{pointer-events:none}.tiled-pin svg.rj45-troubleshoot-icon{filter:brightness(0)invert();width:12px;height:12px;position:relative;top:-2px}.survey-recording-indicator.near{color:#16834a}.survey-proximity{color:#b04450;font-size:.82rem}.survey-proximity.near{color:#16834a}.wifi-survey-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px 0;display:grid}.wifi-survey-status-grid>div{border:1px solid var(--color-border);background:var(--color-control-bg);border-radius:10px;gap:4px;padding:12px;display:grid}.wifi-survey-permissions{border:1px solid var(--color-border);border-radius:10px;gap:8px;padding:12px;display:grid}.wifi-survey-permissions h3{margin:0}.permission-list{gap:4px;font-size:.8rem;display:grid}.permission-granted{color:#16834a}.permission-denied{color:#b04450}.wifi-survey-status-grid span{color:var(--color-muted);font-size:.78rem}@media (width<=640px){.wifi-survey-status-grid{grid-template-columns:1fr}}.survey-recording-indicator svg{animation:1.4s ease-in-out infinite survey-recording-pulse}@keyframes survey-recording-pulse{0%,to{opacity:.45}50%{opacity:1}}.filter-bar{flex-wrap:wrap;align-items:flex-end;gap:12px;margin:0 0 16px;display:flex}.filter-bar .field-label{min-width:150px}.replay-controls{align-items:center;gap:14px;margin:0 0 10px;display:flex}.data-table-wrap tbody tr{cursor:pointer}.data-table-wrap tbody tr.selected-row{background:var(--surface-muted,#eef5ff)}.replay-detail{border:1px solid var(--border,#d6e1ee);background:var(--surface-subtle,#f8fbff);border-radius:10px;margin-top:18px;padding:14px}.replay-detail h3,.replay-detail h4{margin:0 0 8px}.replay-detail pre{color:#dbeafe;white-space:pre-wrap;background:#101827;border-radius:8px;max-height:280px;margin:8px 0 0;padding:10px;font-size:12px;overflow:auto}.wifi-replay-map{border:1px solid var(--border,#d6e1ee);border-radius:10px;width:100%;height:560px;min-height:360px;overflow:hidden}.wifi-replay-map:before{content:"";z-index:10;pointer-events:none;background:linear-gradient(90deg,#3b4cc0 0%,#4cc9f0 25%,#31c463 50%,#f4d35e 75%,#e53935 100%);border:1px solid #ffffffe6;border-radius:5px;width:180px;height:12px;position:absolute;bottom:42px;right:16px;box-shadow:0 1px 4px #00000059}.wifi-replay-map:after{content:attr(data-heatmap-legend);z-index:10;color:#243447;pointer-events:none;white-space:nowrap;background:#ffffffeb;border-radius:5px;padding:5px 7px;font:600 11px/1.2 Arial,sans-serif;position:absolute;bottom:10px;right:10px;box-shadow:0 1px 4px #00000040}.wifi-heatmap-probe{z-index:20;color:#fff;pointer-events:none;white-space:nowrap;background:#111827f0;border-radius:6px;max-width:190px;padding:6px 8px;font:600 11px/1.2 Arial,sans-serif;position:absolute;box-shadow:0 2px 6px #00000059}@media (width<=640px){.wifi-replay-map:before{width:140px;right:10px}.wifi-replay-map:after{font-size:10px;right:6px}}.fiber-topology-view{min-width:0}.fiber-topology-heading{align-items:flex-start}.fiber-topology-heading h2{margin:3px 0 4px}.fiber-topology-heading p{color:var(--color-muted);margin:0}.fiber-topology-status{color:var(--color-muted);white-space:nowrap;justify-items:end;gap:5px;font-size:12px;display:grid}.live-status{color:#15803d;align-items:center;gap:5px;font-weight:700;display:inline-flex}.live-status.refreshing{color:var(--color-accent-strong)}.spin{animation:1s linear infinite fiber-topology-spin}@keyframes fiber-topology-spin{to{transform:rotate(360deg)}}.fiber-topology-toolbar{color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:10px;margin:8px 0 12px;font-size:12px;display:flex}.fiber-topology-search{border:1px solid var(--color-border);background:var(--color-control-bg);min-width:min(280px,100%);color:var(--color-muted);border-radius:7px;align-items:center;gap:7px;padding:0 10px;display:inline-flex}.fiber-topology-search input{width:100%;min-height:36px;color:var(--color-text);background:0 0;border:0;outline:0}.fiber-topology-toolbar-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;display:inline-flex}.fiber-topology-saved-views{min-width:0;color:var(--color-muted);align-items:center;gap:6px;display:inline-flex}.fiber-topology-saved-views select{border:1px solid var(--color-border);background:var(--color-control-bg);max-width:220px;min-height:34px;color:var(--color-text);border-radius:6px;padding:0 8px;font-size:12px;font-weight:700}.fiber-topology-saved-views .ghost-action{white-space:nowrap}.fiber-topology-mode-switcher{border:1px solid var(--color-border);background:var(--color-control-bg);border-radius:8px;gap:2px;padding:3px;display:inline-flex}.fiber-topology-mode-switcher button{min-height:30px;color:var(--color-muted);background:0 0;border:0;border-radius:6px;padding:0 10px;font-size:12px;font-weight:800}.fiber-topology-mode-switcher button.active,.fiber-topology-mode-switcher button:hover,.fiber-topology-mode-switcher button:focus-visible{background:var(--color-panel);color:var(--color-accent);outline:none;box-shadow:0 1px 4px #11263f1f}.fiber-topology-floorplan-picker{color:var(--color-muted);text-transform:uppercase;align-items:center;gap:7px;font-size:11px;font-weight:800;display:inline-flex}.fiber-topology-floorplan-picker select{border:1px solid var(--color-border);background:var(--color-control-bg);max-width:220px;min-height:34px;color:var(--color-text);border-radius:6px;padding:0 9px;font-size:12px;font-weight:700}.fiber-topology-toolbar-actions .ghost-action.active{border-color:var(--color-accent);background:var(--color-control-hover);color:var(--color-accent-strong)}.switch-project-assignment p{color:var(--color-muted);margin:5px 0 0 calc(36% + 16px);font-size:12px}.fiber-topology-planned-edge path{stroke:#0f766e;stroke-width:3px;stroke-dasharray:10 7;opacity:.9;pointer-events:none}.fiber-topology-selected-route path{stroke:#0f766e;stroke-width:6px;stroke-dasharray:12 5;opacity:.95;pointer-events:none}.fiber-topology-planned-detail{background:#effcf8;border:1px solid #99d7cb;border-radius:8px;gap:8px;padding:12px;display:grid}.fiber-topology-planned-detail>span{color:var(--color-muted)}.fiber-topology-route-warning{font-weight:700;color:#9a3412!important}.fiber-topology-planned-detail select{width:100%;min-width:0}.fiber-topology-planned-detail .searchable-select{width:100%}.fiber-topology-distribution-group-summary{color:#5b21b6;background:#f5f3ff;border:1px solid #c4b5fd;border-radius:8px;gap:4px;padding:10px 12px;display:grid}.fiber-topology-distribution-group-summary span{color:#6d5b91;font-size:12px}.fiber-topology-legend .distribution-group-marker{background:#f5f3ff;border:3px solid #7c3aed;border-radius:4px;width:15px;height:15px}.fiber-topology-node.distribution-group-member .fiber-topology-node-shape{stroke:#7c3aed;stroke-width:4px;filter:drop-shadow(0 0 6px #7c3aed8c)}.fiber-topology-node.outside-distribution-group{opacity:.22}.fiber-topology-node.route-member .fiber-topology-node-shape{stroke:#0f766e;stroke-width:4px}.network-link-optics{grid-column:1/-1;gap:12px;width:100%;min-width:0;display:grid}.network-link-optic,.network-switch-optic-totals{border:1px solid var(--color-border);background:var(--color-panel);border-radius:10px;gap:6px;padding:12px;display:grid}.network-link-optic small,.network-switch-optic-totals span{color:var(--color-muted);overflow-wrap:anywhere}.network-topology-switch .network-link-optic .field-label{grid-column:auto}.fiber-topology-legend .planned-distribution-marker{border-top:3px dashed #0f766e;height:0}.fiber-topology-layout{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(240px,300px);gap:12px;height:max(520px,100vh - 280px);min-height:420px;display:grid}.fiber-topology-canvas-wrap{overscroll-behavior:contain;touch-action:none;-webkit-user-select:none;user-select:none;border:1px solid var(--color-border);background:linear-gradient(135deg,#e2e8f0b3,#f8fafcfa);border-radius:8px;min-width:0;height:100%;min-height:0;position:relative;overflow:hidden}.fiber-topology-canvas{overscroll-behavior:contain;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;width:100%;height:100%;min-height:0;display:block}.fiber-topology-canvas:active{cursor:grabbing}.fiber-topology-floorplan-layout{grid-template-columns:minmax(0,1fr) minmax(240px,300px);gap:12px;min-height:520px;display:grid}.fiber-topology-floorplan-main{min-width:0}.fiber-topology-floorplan-main .floorplan-viewer{height:max(520px,100vh - 280px)}.fiber-osd-viewer{border:1px solid var(--color-border);isolation:isolate;background:#e8edf3;border-radius:8px;width:100%;height:max(520px,100vh - 280px);position:relative;overflow:hidden}.fiber-osd-viewer.expanded{z-index:1200;border:0;width:auto;height:auto;position:fixed;inset:12px;box-shadow:0 18px 60px #0f172a52}.fiber-osd-host{width:100%;height:100%;position:absolute;inset:0}.fiber-osd-overlay{pointer-events:none;position:absolute}.fiber-osd-paths{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.fiber-osd-path{opacity:.78;pointer-events:stroke;cursor:pointer}.fiber-osd-paths.has-selection .fiber-osd-path{opacity:.2}.fiber-osd-path-highlight{pointer-events:none}.fiber-osd-path-highlight-casing{stroke:#fff;stroke-width:.52px;opacity:.9}.fiber-osd-paths.has-selection .fiber-osd-path.highlighted{opacity:1;filter:drop-shadow(0 0 .45px)}.fiber-osd-pin{z-index:1;transform-origin:50%;color:#fff;cursor:pointer;pointer-events:auto;border:1px solid #fff;border-radius:999px;justify-content:center;align-items:center;width:20px;height:20px;padding:0;display:inline-flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 3px 8px #0f172a40}.fiber-osd-pin.ap{background:linear-gradient(135deg, var(--pin-primary) 0 50%, var(--pin-secondary) 50% 100%);width:17px;height:17px}.fiber-osd-pin.idf{background:#059669}.fiber-osd-pin.active{z-index:2;outline-offset:2px;outline:3px solid #f59e0b80}.fiber-osd-pin svg{width:14px;height:14px}.fiber-osd-controls{z-index:10;background:#fffffff0;border:1px solid #94a3b8a6;border-radius:7px;gap:5px;padding:5px;display:flex;position:absolute;top:12px;right:12px;box-shadow:0 8px 20px #0f172a29}.fiber-osd-controls button,.fiber-osd-heading button{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.fiber-osd-controls button:disabled{cursor:not-allowed;opacity:.55}.fiber-osd-controls button.active{background:#f1f5f9;border-color:#64748b}.fiber-osd-picker{align-items:center;gap:6px;display:flex}.fiber-osd-picker span{color:#475569;text-transform:uppercase;font-size:11px;font-weight:800}.fiber-osd-picker select{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:6px;max-width:min(220px,24vw);height:36px;padding:0 26px 0 9px;font-size:12px}.fiber-osd-legend{z-index:10;color:#334155;background:#fffffff0;border:1px solid #94a3b88c;border-radius:7px;flex-wrap:wrap;gap:7px 12px;padding:8px 10px;font-size:11px;display:flex;position:absolute;bottom:12px;left:12px}.fiber-osd-legend span{align-items:center;gap:5px;display:inline-flex}.fiber-osd-legend i{border-radius:50%;width:9px;height:9px;display:inline-block}.fiber-osd-legend i.idf{background:#059669}.fiber-osd-legend i.ap{background:#2563eb}.fiber-osd-legend i.fiber{background:#64748b;border-radius:999px;width:16px;height:2px}.fiber-osd-heading{z-index:11;border-bottom:1px solid var(--color-border);background:#fff;justify-content:space-between;align-items:center;height:54px;padding:0 14px 0 18px;display:flex;position:absolute;inset:0 0 auto}.fiber-osd-heading h2{margin:0;font-size:17px}.fiber-osd-viewer.expanded .fiber-osd-controls{top:66px;right:24px}.fiber-osd-viewer.expanded .fiber-osd-host{height:auto;top:54px;bottom:0}@media (width<=720px){.fiber-osd-viewer{height:max(420px,100vh - 320px)}.fiber-osd-controls{gap:3px;padding:4px;top:8px;right:8px}.fiber-osd-controls button{width:32px;height:32px}.fiber-osd-picker span{display:none}.fiber-osd-picker select{max-width:34vw;height:32px}.fiber-osd-viewer.expanded{inset:6px}}.fiber-topology-map-empty{border:1px solid var(--color-border);background:var(--color-control-bg);min-height:520px;color:var(--color-muted);text-align:center;border-radius:8px;align-content:center;justify-items:center;gap:8px;padding:32px;display:grid}.fiber-topology-map-empty strong{color:var(--color-text)}.fiber-topology-map-detail{min-height:520px}.fiber-topology-attached-aps{gap:8px;margin-top:18px;display:grid}.fiber-topology-attached-aps h4{color:var(--color-muted);text-transform:uppercase;margin:0;font-size:12px}.fiber-topology-attached-aps p{color:var(--color-muted);margin:0;font-size:13px}.fiber-topology-attached-ap{border:1px solid var(--color-border);background:var(--color-control-bg);border-radius:7px;gap:2px;padding:9px 10px;display:grid}.fiber-topology-attached-ap span{font-size:12px;font-weight:800}.fiber-topology-attached-ap small{color:var(--color-muted)}.fiber-topology-edge text{fill:#1e293b;paint-order:stroke;stroke:#fffffff5;stroke-width:5px;stroke-linejoin:round;font-size:12px;font-weight:700}.fiber-topology-edge.dimmed text{opacity:.45}.fiber-topology-legend .new-fiber-marker{border-top:2px dotted var(--color-muted);background:0 0;width:18px;height:0}.fiber-topology-node{cursor:grab}.fiber-topology-node:active{cursor:grabbing}.fiber-topology-node .fiber-topology-node-shape{fill:var(--color-panel,#fff);stroke:#64748b;stroke-width:1.5px}.fiber-topology-node.selected .fiber-topology-node-shape{stroke:var(--color-accent);stroke-width:3px}.fiber-topology-node.distribution .fiber-topology-node-shape{fill:#fff7ed;stroke:#c2410c;stroke-width:2px}.fiber-topology-node.distribution.selected .fiber-topology-node-shape{stroke:var(--color-accent)}.fiber-topology-node.new-location .fiber-topology-node-shape{fill:#dcfce7;stroke:#15803d;stroke-width:2px}.fiber-topology-node.new-location.selected .fiber-topology-node-shape{stroke:var(--color-accent)}.fiber-topology-node.dimmed{opacity:.24}.fiber-topology-node circle.connected{fill:#16a34a}.fiber-topology-node circle.unconnected{fill:#94a3b8}.fiber-topology-node-label{fill:var(--color-text);font-size:14px;font-weight:800}.fiber-topology-node.new-location .fiber-topology-node-label,.fiber-topology-node.distribution .fiber-topology-node-label{fill:#0f172a}.fiber-topology-node-meta{fill:var(--color-muted);font-size:11px}.fiber-topology-node.new-location .fiber-topology-node-meta,.fiber-topology-node.distribution .fiber-topology-node-meta{fill:#475569}.fiber-topology-node-toggle{cursor:pointer}.fiber-topology-node-toggle circle{fill:var(--color-control-bg);stroke:var(--color-border)}.fiber-topology-node-toggle foreignObject span{color:var(--color-text);place-items:center;display:grid}.fiber-topology-legend,.fiber-topology-zoom{z-index:2;color:#334155;background:#ffffffeb;border:1px solid #94a3b8a8;border-radius:7px;align-items:center;gap:10px;padding:7px 9px;font-size:11px;display:flex;position:absolute;box-shadow:0 4px 14px #0f172a1f}.fiber-topology-legend{flex-wrap:wrap;max-width:min(720px,100% - 20px);bottom:10px;left:10px}.fiber-topology-legend span{align-items:center;gap:4px;display:inline-flex}.fiber-topology-legend i{border-radius:50%;width:9px;height:9px}.fiber-topology-legend .fiber-topology-legend-node{font-weight:700}.fiber-topology-legend .distribution-node-marker{clip-path:polygon(10% 0,90% 0,100% 50%,90% 100%,10% 100%,0 50%);background:#fff7ed;border:1px solid #c2410c;border-radius:0;width:14px;height:12px}.fiber-topology-legend .new-location-node-marker{background:#dcfce7;border:1px solid #15803d;border-radius:3px;width:14px;height:12px}.fiber-topology-zoom{gap:5px;bottom:10px;right:10px}.fiber-topology-zoom button{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:5px;place-items:center;width:26px;height:26px;display:inline-grid}.fiber-topology-zoom button:hover,.fiber-topology-zoom button:focus-visible{background:#e2e8f0}.fiber-topology-detail{overscroll-behavior:contain;border:1px solid var(--color-border);background:var(--color-panel);border-radius:8px;flex-direction:column;gap:12px;min-width:0;min-height:0;padding:14px;display:flex;overflow-y:auto}.fiber-topology-detail .detail-heading{border-bottom:1px solid var(--color-border);padding-bottom:10px}.fiber-topology-detail-list{gap:8px;display:grid}.fiber-topology-detail-list h4{margin:0;font-size:13px}.fiber-topology-connection{border:1px solid var(--color-border);background:var(--color-control-bg);width:100%;color:var(--color-text);text-align:left;cursor:pointer;border-radius:6px;gap:3px;padding:9px;display:grid}.fiber-topology-connection:hover,.fiber-topology-connection:focus-visible{border-color:var(--color-accent)}.fiber-topology-connection span{font-size:12px;font-weight:700}.fiber-topology-connection small{color:var(--color-muted)}.fiber-topology-empty-detail{min-height:220px;color:var(--color-muted);align-content:center;display:grid}.fiber-topology-empty-detail strong{color:var(--color-text)}.fiber-topology-empty-detail p{margin:7px 0 0}.topology-loading{justify-content:center;align-items:center;gap:8px;min-height:220px;display:flex}@media (width<=980px){.fiber-topology-layout{grid-template-columns:1fr;height:auto;min-height:0}.fiber-topology-floorplan-layout{grid-template-columns:1fr}.fiber-topology-canvas-wrap{height:clamp(460px,100vh - 350px,820px)}.fiber-topology-floorplan-main .floorplan-viewer,.fiber-topology-map-detail{height:clamp(460px,100vh - 350px,820px);min-height:460px}.fiber-topology-detail{min-height:180px}}@media (width<=640px){.fiber-topology-status{justify-items:start}.fiber-topology-heading{display:grid}.fiber-topology-toolbar-actions{width:100%;margin-left:0}.fiber-topology-floorplan-picker{flex:100%}.fiber-topology-floorplan-picker select{flex:1;max-width:none}.fiber-topology-canvas-wrap,.fiber-topology-canvas{height:clamp(420px,100vh - 390px,560px);min-height:420px}.fiber-topology-legend{flex-wrap:wrap;max-width:calc(100% - 20px)}}.project-log-note-form{width:min(600px,100vw - 32px)}.project-log-note-fields{gap:14px;padding:18px 20px 20px;display:grid}.project-log-inline-create{border-top:1px solid var(--color-border);gap:10px;padding-top:12px;display:grid}.project-log-note-fields .field-label{gap:6px;display:grid}.project-log-note-fields-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.project-log-note-reference{border:1px solid var(--border);background:var(--surface-muted);gap:4px;padding:10px 12px;display:grid}.project-log-note-reference span{color:var(--color-muted);font-size:12px}.project-log-note-checkbox{align-items:center;gap:8px;display:flex}.project-log-note-checkbox input{width:16px;height:16px}.project-log-assignee-picker{border:1px solid var(--color-border);gap:8px;min-width:0;margin:0;padding:10px 12px 12px;display:grid}.project-log-assignee-picker legend{padding:0 4px;font-size:13px;font-weight:600}.project-log-assignee-list{gap:2px;max-height:150px;display:grid;overflow:auto}.project-log-assignee-option{align-items:center;gap:8px;min-width:0;padding:5px 2px;display:flex}.project-log-assignee-option input{flex:0 0 16px;width:16px;height:16px}.project-log-assignee-option span{overflow-wrap:anywhere}.project-log-assignee-companies{gap:4px;padding:0 2px;display:grid}.project-log-assignee-companies span{color:var(--color-muted);font-size:12px}.project-log-tabs{margin:0 0 12px}.project-log-tab-count{margin-left:5px;font-size:11px;font-weight:700}.project-log-action-items{min-width:0}.project-log-action-item-links{color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:8px 14px;margin:10px 0;font-size:12px;display:flex}.project-log-action-item-links .detail-link{padding:0}.project-log-respond-action{margin:8px 0}.project-log-entry-photo-fields{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.project-log-entry-photo-fields>.field-label{border:1px solid var(--color-border);border-radius:6px;min-width:0;padding:10px}@media (width<=560px){.project-log-note-fields-row{grid-template-columns:minmax(0,1fr)}.project-log-action-status-filter{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:column;width:100%;display:grid}.project-log-action-status-filter button{padding:0 5px;font-size:11px}}.network-topology-view{flex-direction:column;gap:16px;min-width:0;display:flex}.network-topology-section-heading{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px;display:flex}.network-topology-section-heading h3{margin:0}.network-topology-section-heading p{margin:4px 0 0}.network-topology-search{width:min(320px,100%)}.network-topology-search input{box-sizing:border-box;border:1px solid var(--color-border);background:var(--color-control-bg);width:100%;min-height:38px;color:var(--color-text);border-radius:7px;padding:7px 10px}.network-topology-locations{grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));align-items:start;gap:12px;min-width:0;display:grid}.network-topology-location{border:1px solid var(--color-border);border-left:4px solid var(--color-accent);background:var(--color-panel);border-radius:10px;min-width:0;overflow:hidden}.network-topology-location>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:12px;list-style:none;display:flex}.network-topology-location>summary::-webkit-details-marker{display:none}.network-topology-location>summary:before{content:"›";color:var(--color-accent-strong);font-size:20px}.network-topology-location[open]>summary:before{content:"⌄"}.network-topology-location>summary>span:first-of-type{gap:3px;min-width:0;display:grid}.network-topology-location>summary strong{overflow-wrap:anywhere}.network-topology-location>summary small,.network-topology-location-summary{color:var(--color-sidebar-muted);font-size:12px}.network-topology-location-summary{text-align:right}.network-topology-location-content{gap:10px;min-width:0;padding:0 12px 12px;display:grid}.network-topology-location-content>.field-label{min-width:0}.network-topology-location-content select{width:100%;min-width:0;max-width:100%}.network-topology-location-content .searchable-select{width:100%}.network-topology-switch,.network-topology-candidate{box-sizing:border-box;border:1px solid var(--color-border);background:var(--color-panel);border-radius:10px;min-width:0;padding:12px}.network-topology-switch.candidate{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-selection)}.network-topology-switch{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:9px 10px;margin:0;display:grid}.network-topology-switch-title{flex-wrap:wrap;align-items:center;gap:7px;min-width:0;display:flex}.network-topology-switch-title strong{overflow-wrap:anywhere}.network-topology-switch .field-label{grid-column:2;min-width:0}.network-topology-role{background:var(--color-selection);border-radius:999px;width:fit-content;padding:2px 8px;font-size:12px}.network-topology-role.edge{color:#704900;background:#fff0d5}.network-topology-upstream,.network-topology-switch>button,.network-topology-warning{overflow-wrap:anywhere;grid-column:2;min-width:0}.network-topology-switch>button{justify-self:start;max-width:100%}.network-topology-warning{color:#9a3412;font-size:12px}.network-topology-link{color:var(--color-accent-strong);font-size:13px}.network-topology-empty{color:var(--color-sidebar-muted);margin:0;font-size:13px}.network-topology-findings{color:#66470a;background:#fff9ec;border:1px solid #f0c987;border-radius:8px;padding:12px}.network-topology-findings ul{margin:6px 0 0;padding-left:20px}.network-topology-finding-link{color:inherit;font:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:650;text-decoration:underline}.network-topology-finding-link:hover,.network-topology-finding-link:focus-visible{color:#8a4b00}.network-topology-switch.finding-target{border-color:var(--color-accent-strong);box-shadow:0 0 0 3px var(--color-selection)}.network-topology-tabs{border:1px solid var(--color-border);background:var(--color-surface);border-radius:9px;gap:4px;width:fit-content;margin-top:10px;padding:3px;display:flex}.network-topology-tabs button{color:var(--color-text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 12px}.network-topology-tabs button.active{background:var(--color-accent);color:#fff;font-weight:650}.network-topology-diagram{gap:10px;min-width:0;display:grid}.network-topology-diagram-heading{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:12px;display:flex}.network-topology-diagram-heading h3{margin:0}.network-topology-diagram-heading p{margin:4px 0 0}.network-topology-diagram-toolbar{justify-items:end;gap:8px;display:grid}.network-topology-diagram-layout-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:5px;display:flex}.network-topology-diagram-layout-controls select,.network-topology-diagram-layout-controls button{border:1px solid var(--color-border);background:var(--color-surface);max-width:240px;min-height:32px;color:var(--color-text);border-radius:6px;padding:5px 9px}.network-topology-diagram-layout-controls button{cursor:pointer}.network-topology-diagram-layout-controls button:disabled,.network-topology-diagram-layout-controls select:disabled{cursor:default;opacity:.55}.network-topology-diagram-stats,.network-topology-diagram-legend{color:var(--color-sidebar-muted);flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:12px;display:flex}.network-topology-diagram-stats span{border:1px solid var(--color-border);background:var(--color-surface);border-radius:999px;padding:4px 8px}.network-topology-diagram-stats .warning{color:#66470a;background:#fff9ec;border-color:#f0c987}.network-topology-diagram-zoom-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:5px;display:flex}.network-topology-diagram-zoom-controls button{border:1px solid var(--color-border);background:var(--color-surface);min-height:32px;color:var(--color-text);cursor:pointer;border-radius:6px;padding:5px 10px}.network-topology-diagram-zoom-controls button:disabled{cursor:default;opacity:.5}.network-topology-diagram-zoom-controls button:first-child,.network-topology-diagram-zoom-controls button:nth-of-type(2){min-width:34px;font-size:17px;font-weight:700}.network-topology-diagram-zoom-controls span{min-width:44px;color:var(--color-sidebar-muted);text-align:center;font-size:12px}.network-topology-diagram-legend span{align-items:center;gap:6px;display:inline-flex}.network-topology-diagram-legend i{background:#7142db;border-radius:50%;width:9px;height:9px}.network-topology-diagram-legend i.distribution{background:#087f72}.network-topology-diagram-legend i.edge{background:#e9a12b}.network-topology-diagram-legend i.ap{background:#29a36a}.network-topology-diagram-legend i.fiber{background:#2686c7}.network-topology-diagram-viewport{border:1px solid var(--color-border);background-color:var(--color-surface);cursor:grab;touch-action:none;background-image:linear-gradient(90deg,#65839b14 1px,#0000 1px),linear-gradient(#65839b14 1px,#0000 1px);background-size:24px 24px;border-radius:10px;min-height:420px;max-height:min(72vh,850px);overflow:auto}.network-topology-diagram-viewport.panning{cursor:grabbing}.network-topology-diagram-viewport:focus-visible{outline:2px solid var(--color-accent-strong);outline-offset:2px}.network-topology-diagram-world{position:relative}.network-topology-diagram-canvas{transform-origin:0 0;position:relative}.network-topology-diagram-branch{box-sizing:border-box;pointer-events:none;border-radius:16px;position:absolute}.network-topology-diagram-branch.distribution{background:#087f7209;border:1px dashed #087f7259}.network-topology-diagram-branch.edge{background:#e9a12b0b;border:1px solid #e9a12b4d}.network-topology-diagram-links{pointer-events:none;position:absolute;inset:0;overflow:visible}.network-topology-diagram-links path{fill:none;stroke:#859bad;stroke-width:2px;opacity:.85}.network-topology-diagram-links path.ap-link{stroke:#29a36a;stroke-width:1.5px;opacity:.75}.network-topology-diagram-links marker path{fill:#859bad;stroke:none}.network-topology-diagram-layer1-label{z-index:2;box-sizing:border-box;color:#25465f;background:#fff;border:1px solid #b9cbd6;border-radius:6px;gap:2px;width:144px;min-height:34px;padding:4px 7px;display:grid;position:absolute;overflow:hidden;box-shadow:0 1px 4px #1e3c501f}.network-topology-diagram-layer1-label.planned{background:#fffaf0;border-style:dashed;border-color:#d0a24e}.network-topology-diagram-layer1-label strong,.network-topology-diagram-layer1-label small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.network-topology-diagram-layer1-label strong{font-size:10px}.network-topology-diagram-layer1-label small{color:#607989;font-size:9px}.network-topology-diagram-node{z-index:1;box-sizing:border-box;background:var(--color-panel);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border:1px solid #c8d5df;border-left:4px solid #879bad;border-radius:9px;align-items:center;gap:9px;padding:9px;display:flex;position:absolute;overflow:hidden;box-shadow:0 2px 8px #1e3c5014}.network-topology-diagram-node.dragging{z-index:3;cursor:grabbing;box-shadow:0 6px 18px #1e3c5038}.network-topology-diagram-node.core{border-left-color:#7142db}.network-topology-diagram-node.distribution{border-left-color:#087f72}.network-topology-diagram-node.edge{border-left-color:#e9a12b}.network-topology-diagram-node.access-point{background:#f2fff7;border-left-color:#29a36a;flex-direction:column;align-items:stretch;gap:8px;display:flex}.network-topology-ap-group-heading{flex-shrink:0;gap:4px;min-height:72px;display:grid}.network-topology-ap-group-heading button{color:#17663b;cursor:pointer;background:#fff;border:1px solid #94cfae;border-radius:5px;justify-self:start;padding:3px 8px;font-size:11px}.network-topology-ap-cards{gap:8px;display:grid}.network-topology-ap-card{box-sizing:border-box;background:#fff;border:1px solid #b9dcc9;border-radius:6px;align-content:center;gap:3px;min-width:0;height:64px;padding:6px 8px;display:grid}.network-topology-ap-card strong,.network-topology-ap-card small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.network-topology-ap-card strong{color:#204e37;font-size:12px}.network-topology-ap-card small{color:#577765;font-size:10px}.network-topology-diagram-thumbnail,.network-topology-diagram-placeholder{box-sizing:border-box;object-fit:contain;background:#f1f6f8;border-radius:6px;flex:0 0 60px;place-items:center;width:60px;height:66px;display:grid}.network-topology-diagram-placeholder{color:#6d8290;border:1px dashed #b6c6d0}.network-topology-diagram-placeholder span{letter-spacing:.06em;font-size:13px;font-weight:700}.network-topology-diagram-members{flex-wrap:wrap;flex:none;place-content:center;gap:3px;max-width:72px;display:flex}.network-topology-diagram-thumbnail.small,.network-topology-diagram-placeholder.small{flex-basis:30px;width:30px;height:30px}.network-topology-diagram-placeholder.small span{font-size:9px}.network-topology-diagram-node-copy{gap:2px;min-width:0;display:grid}.network-topology-diagram-node-copy strong,.network-topology-diagram-node-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.network-topology-diagram-node-copy strong{font-size:13px}.network-topology-diagram-node-copy span,.network-topology-diagram-node-copy small{color:var(--color-sidebar-muted);font-size:11px}.network-topology-diagram-empty{border:1px dashed var(--color-border);text-align:center;border-radius:10px;padding:32px}.network-topology-diagram-empty h3{margin:0 0 6px}.network-topology-diagram-empty p,.network-topology-diagram-help{color:var(--color-sidebar-muted);margin:0;font-size:12px}.network-topology-auto-plan{border:1px solid var(--color-accent);background:var(--color-selection);border-radius:10px;gap:10px;padding:14px;display:grid}.network-topology-auto-plan p{margin:4px 0 0}.network-topology-auto-plan ul{gap:5px;margin:0;padding-left:20px;display:grid}.network-topology-auto-plan li span{color:var(--color-sidebar-muted)}.network-topology-auto-plan details summary{cursor:pointer;color:var(--color-accent-strong)}.network-topology-auto-plan-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.network-topology-core-groups{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;gap:10px;margin:14px 0;padding:14px;display:grid}.network-topology-core-groups h3{margin:0}.network-topology-core-groups p{margin:4px 0 0}.network-topology-core-group-form{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));align-items:end;gap:10px;display:grid}.network-topology-core-group-form fieldset{border:1px solid var(--color-border);border-radius:8px;grid-column:1/-1;gap:6px;margin:0;padding:10px;display:grid}.network-topology-core-group-form fieldset label{align-items:center;gap:8px;display:flex}.network-topology-core-group-form>button,.network-topology-core-group-form>p{grid-column:1/-1}.network-topology-view .success-banner{color:#17613b;background:#effaf3;border:1px solid #85caa8;border-radius:8px;padding:10px 12px}.network-topology-candidates{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.network-topology-candidates h4{flex-basis:100%}.network-topology-candidate{text-align:left;gap:3px;display:grid}.network-topology-candidate span{color:var(--color-sidebar-muted);font-size:12px}.network-topology-path-guidance{color:var(--color-accent-strong);flex-basis:100%;margin:0;font-size:13px}.network-topology-candidate.highlighted{border-color:var(--color-accent);background:var(--color-selection);cursor:pointer}.network-topology-candidate:disabled{opacity:.55;cursor:default}@media (width<=600px){.network-topology-location>summary{flex-wrap:wrap;align-items:flex-start}.network-topology-location-summary{text-align:left;margin-left:24px}.network-topology-switch{grid-template-columns:auto minmax(0,1fr)}}.searchable-select{min-width:0;position:relative}.searchable-select-control{border:1px solid var(--color-border);background:var(--color-control-bg);min-width:0;min-height:38px;color:var(--color-muted);border-radius:7px;align-items:center;gap:7px;padding:0 9px;display:flex}.searchable-select-control:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-selection)}.searchable-select-control>input{width:100%;min-width:0;min-height:36px;color:var(--color-text);background:0 0;border:0;outline:0;flex:1;padding:0}.searchable-select-control>input:disabled{opacity:.65;cursor:not-allowed}.searchable-select-chevron{flex:none}.searchable-select-options{z-index:100;border:1px solid var(--color-border);background:var(--color-panel);border-radius:8px;max-height:260px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto;box-shadow:0 10px 24px #1424342e}.searchable-select-options button{width:100%;min-height:34px;color:var(--color-text);text-align:left;overflow-wrap:anywhere;background:0 0;border:0;border-radius:5px;padding:6px 9px;display:block}.searchable-select-options button:hover,.searchable-select-options button.active,.searchable-select-options button[aria-selected=true]{background:var(--color-selection);color:var(--color-accent-strong)}.searchable-select-empty{color:var(--color-muted);padding:8px 9px;font-size:13px;display:block}.network-optic-defaults{border:1px solid var(--border-color,#d6dde7);border-radius:12px;margin-block:1rem;padding:1rem}.network-optic-default-fields{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem;margin-block:1rem;display:grid}html[data-native-platform=ios] body,html[data-native-platform=ios] .loading,html[data-native-platform=ios] .signin{min-height:100dvh}@media (width<=1024px){html[data-native-platform=ios] .app-global-actions:not(.floorplan-inline-actions){background:var(--color-bg);border-bottom:1px solid var(--color-border);justify-content:flex-end;min-height:58px;padding:8px 10px 10px 48px;top:0;left:0;right:0}html[data-native-platform=ios] .sidebar-drawer-tab{height:40px;top:8px}html[data-native-platform=ios] .workspace:not(.floorplans-workspace){padding-top:76px}html[data-native-platform=android]:has(.floorplans-workspace) .sidebar-drawer-tab{height:40px;top:8px}html:is([data-native-platform=ios],[data-native-platform=android]) .tiled-floorplan-panel>.panel-heading{padding:8px 10px}html:is([data-native-platform=ios],[data-native-platform=android]) .tiled-floorplan-actions{grid-template-columns:minmax(0,1fr) 40px;width:100%;min-width:0;display:grid}html:is([data-native-platform=ios],[data-native-platform=android]) .floorplan-inline-actions{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;min-width:0;min-height:44px;padding-left:40px}html:is([data-native-platform=ios],[data-native-platform=android]) .tiled-floorplan-panel .floorplan-picker{width:100%;min-width:0;margin:0}html:is([data-native-platform=ios],[data-native-platform=android]) .tiled-floorplan-panel .floorplan-picker select{flex:1;width:100%;min-width:0}html:is([data-native-platform=ios],[data-native-platform=android]) .tiled-floorplan-actions>button{width:40px;height:40px}html:is([data-native-platform=ios],[data-native-platform=android]) .floorplans-workspace{height:calc(100dvh - 70px);min-height:0;padding:0;overflow:hidden}html:is([data-native-platform=ios],[data-native-platform=android]) .floorplans-workspace .tiled-floorplan-panel,html:is([data-native-platform=ios],[data-native-platform=android]) .tiled-floorplan-surface{min-height:0}html:is([data-native-platform=ios],[data-native-platform=android]) .tiled-floorplan-panel.expanded{bottom:70px}html:is([data-native-platform=ios],[data-native-platform=android]) .tiled-floorplan-filter-bar{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:0 10px}html:is([data-native-platform=ios],[data-native-platform=android]) .tiled-floorplan-search{grid-column:1/-1;min-width:0}html:is([data-native-platform=ios],[data-native-platform=android]) .tiled-floorplan-toolbar{flex-wrap:wrap;left:8px;right:8px}html:is([data-native-platform=ios],[data-native-platform=android]) .tiled-create-actions,html:is([data-native-platform=ios],[data-native-platform=android]) .tiled-placement-actions,html:is([data-native-platform=ios],[data-native-platform=android]) .tiled-legend,html:is([data-native-platform=ios],[data-native-platform=android]) .tiled-detail{bottom:12px}html:is([data-native-platform=ios],[data-native-platform=android]) .tiled-detail{max-height:calc(100% - 84px)}}.sync-reconciliation-dialog{border:1px solid var(--color-border);background:var(--color-panel);width:min(820px,100vw - 32px);max-height:90dvh;color:var(--color-text);border-radius:10px;padding:0;overflow:auto;box-shadow:0 20px 50px #0a18284d}.sync-reconciliation-dialog::backdrop{background:#0a182894}.idf-move-selectors{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:800px;margin:20px 0;display:grid}.idf-move-selectors>label{gap:8px;font-weight:600;display:grid}.idf-move-preview{border-top:1px solid var(--color-border);margin-top:20px;padding-top:16px}.idf-move-preview details{margin:12px 0}.idf-move-preview details ul{max-height:300px;overflow:auto}.idf-move-confirm{align-items:flex-start;gap:10px;margin-top:18px;display:flex}.idf-move-confirm input{flex:none}@media (width<=600px){.idf-move-selectors{grid-template-columns:1fr}}.sync-reconciliation-body{padding:16px}.sync-reconciliation-body p{margin:0 0 16px}.sync-reconciliation-fields{gap:16px;margin:16px 0;display:grid}.sync-reconciliation-fields fieldset{border:1px solid var(--color-border);border-radius:6px;grid-template-columns:1fr 1fr;gap:12px;min-width:0;padding:12px;display:grid}.sync-reconciliation-fields legend{padding:0 6px;font-weight:700}.sync-reconciliation-fields label{cursor:pointer;align-items:flex-start;gap:8px;min-width:0;display:flex}.sync-reconciliation-fields label>span{white-space:pre-wrap;overflow-wrap:anywhere;gap:4px;display:grid}.sync-reconciliation-fields input{flex:none;width:auto;margin-top:4px}.sync-reconciliation-actions,.sync-reconciliation-options{flex-wrap:wrap;gap:10px;display:flex}.sync-reconciliation-dialog .primary-action,.sync-reconciliation-dialog .secondary-action{margin-top:0}.sync-reconciliation-success{border:1px solid var(--color-border);border-radius:6px;padding:12px;font-weight:600}.sync-reconciliation-matches>div{border-bottom:1px solid var(--color-border);grid-template-columns:1fr 1fr;gap:10px;padding:8px 0;display:grid}.sync-reconciliation-matches dd{overflow-wrap:anywhere;margin:0}@media (width<=600px){.sync-reconciliation-fields fieldset{grid-template-columns:1fr}.sync-reconciliation-matches>div{grid-template-columns:1fr;gap:4px}}.app-shell:has(.floorplan-workspace-viewer){height:100dvh;min-height:0;overflow:hidden}.app-shell:has(.floorplan-workspace-viewer)>.sidebar-drawer-tab{display:none}.app-shell:has(.floorplan-workspace-viewer)>.sidebar{height:100dvh}html .workspace.floorplans-workspace{height:100dvh;min-height:0;padding:0;overflow:hidden}.floorplan-workspace-viewer{width:100%;min-width:0;color:var(--color-text);position:relative}.floorplans-workspace .floorplan-workspace-viewer{min-height:0;margin:0}.floorplan-workspace-viewer.expanded{z-index:75;border:0;padding:0}.tiled-workspace-header{z-index:35;border-bottom:1px solid var(--color-border);background:var(--color-panel);flex:none;align-items:center;gap:6px;min-width:0;min-height:60px;padding:8px 12px;display:flex;position:relative}.tiled-workspace-header button,.tiled-map-tools-button,.tiled-controls-panel button,.tiled-detail-expand{border:1px solid var(--color-border);background:var(--color-panel);min-height:40px;color:var(--color-text);font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:8px 12px;display:inline-flex}.tiled-workspace-header .tiled-header-icon{border-color:#0000;flex:none;width:44px;height:44px;padding:10px}.tiled-workspace-header button:hover,.tiled-controls-panel button:hover,.tiled-map-tools-button:hover{background:var(--color-control-hover)}.tiled-workspace-header button.active,.tiled-map-tools-button[aria-expanded=true]{background:var(--color-selection);color:var(--color-accent-strong)}.tiled-floorplan-picker{flex:auto;min-width:0;max-width:480px;margin-right:auto}.tiled-floorplan-picker .searchable-select-control{background:var(--color-panel);border-color:#0000;min-width:0}.tiled-floorplan-picker .searchable-select-control input{text-overflow:ellipsis;min-width:0;font-size:15px;font-weight:700;overflow:hidden}.tiled-floorplan-picker>span{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;padding:0 10px;font-size:11px;display:block;overflow:hidden}.tiled-floorplan-picker .searchable-select-options{min-width:0;max-height:min(50dvh,360px)}.tiled-floorplan-picker .searchable-select-options button{text-align:left;white-space:normal;border:0;border-radius:0;width:100%;min-height:44px;display:block}.tiled-app-actions-menu{flex:none;position:relative}.tiled-app-actions-menu>summary{cursor:pointer;border-radius:8px;place-items:center;width:44px;height:44px;list-style:none;display:grid}.tiled-app-actions-menu>summary::-webkit-details-marker{display:none}.tiled-app-actions-menu[open]>summary{background:var(--color-selection);color:var(--color-accent-strong)}.tiled-app-actions-menu>div{border:1px solid var(--color-border);background:var(--color-panel);border-radius:10px;width:min(280px,100vw - 24px);max-height:calc(100dvh - 150px);padding:8px;position:absolute;top:calc(100% + 8px);right:0;overflow:auto;box-shadow:0 8px 24px #0f172a26}html .floorplan-workspace-viewer .floorplan-inline-actions{grid-template-columns:minmax(0,1fr);gap:4px;width:100%;min-width:0;min-height:0;padding:0;display:grid;position:static}.floorplan-workspace-viewer .tiled-app-actions-menu .app-global-actions button{width:100%;height:auto;min-height:44px;box-shadow:none;text-align:left;white-space:normal;border:0;justify-content:flex-start;padding:10px 12px;font-size:13px;display:flex;position:relative}.floorplan-workspace-viewer .tiled-app-actions-menu .app-global-actions button[aria-label]:after{content:attr(aria-label)}.floorplan-workspace-viewer .tiled-app-actions-menu .sync-status-count{top:0;right:0}.tiled-tools-filter-indicator{background:var(--color-accent-strong);border-radius:50%;flex:none;width:7px;height:7px;display:inline-block}.tiled-map-tools-mobile{display:none}html .floorplan-workspace-viewer .tiled-floorplan-surface{flex:auto;min-height:0}.floorplan-workspace-viewer:not(.show-minimap) .navigator{display:none!important}.tiled-controls-backdrop{z-index:40;cursor:default;background:0 0;border:0;padding:0;position:absolute;inset:0}.tiled-controls-panel{z-index:41;border-left:1px solid var(--color-border);background:var(--color-panel);width:min(320px,100%);min-width:0;color:var(--color-text);flex-direction:column;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-8px 0 24px #0f172a12}.tiled-controls-heading{border-bottom:1px solid var(--color-border);flex:none;justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;display:flex}.tiled-controls-heading strong{min-width:0;font-size:16px}.tiled-controls-heading button{border:0;width:40px;height:40px;padding:8px}.tiled-controls-body{overscroll-behavior:contain;align-content:start;gap:12px;min-height:0;padding:4px 16px 16px;display:grid;overflow:auto}.tiled-tool-section{border-bottom:1px solid var(--color-border);min-width:0}.tiled-tool-section>button{text-align:left;border:0;border-radius:0;justify-content:space-between;width:100%;padding:12px 0;font-size:14px;font-weight:700}.tiled-tool-section>button[aria-expanded=false] svg{transform:rotate(-90deg)}.tiled-tool-section-content{gap:10px;min-width:0;padding:4px 0 16px;display:grid}.tiled-tool-section-content[hidden]{display:none}.tiled-tool-setting{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.tiled-tool-setting select{border:1px solid var(--color-border);background:var(--color-panel);min-width:0;max-width:100%;min-height:40px;color:var(--color-text);font:inherit;border-radius:7px;padding:6px 8px}.tiled-tools-hint{color:var(--color-muted);margin:0;font-size:12px}.tiled-controls-body .checkbox-field{align-items:center;gap:10px;min-height:32px;display:flex}.tiled-controls-body .checkbox-field input{width:18px;height:18px;accent-color:var(--color-accent);margin:0}.tiled-controls-body .search-box{width:100%;min-width:0;margin-top:12px}.tiled-controls-body .search-box input{width:100%;min-width:0;font-size:16px}.tiled-pin-count{color:var(--color-muted);font-size:12px}.tiled-zoom-actions,.tiled-tools-create-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tiled-tools-create-actions .tiled-add-icon{width:20px;height:20px;display:inline-flex}.tiled-tools-create-actions .tiled-add-icon svg{fill:none;stroke:currentColor;stroke-width:1.5px;width:20px;height:20px}html .tiled-controls-panel .tiled-legend{max-width:100%;max-height:none;box-shadow:none;border:0;border-radius:0;padding:0;position:static;overflow:visible}.tiled-controls-panel .tiled-legend-pin{flex:none}.tiled-controls-panel .ap-column-filter{width:100%}.tiled-controls-panel .ap-column-filter-trigger{justify-content:flex-start;width:100%}.tiled-controls-panel .ap-column-filter-menu{width:100%;max-height:none;box-shadow:none;margin-top:8px;position:static}.tiled-controls-panel .ap-column-filter-fields,.tiled-controls-panel .ap-column-filter-values{max-height:none;overflow:visible}html .floorplan-workspace-viewer .tiled-detail{border-width:0 0 0 1px;border-radius:0;width:min(360px,100%);max-height:100%;top:0;bottom:0;right:0}.floorplan-workspace-viewer .tiled-detail-close{width:40px;height:40px}.floorplan-workspace-viewer .tiled-detail-hero{padding-right:52px}.tiled-detail-expand{display:none}@media (width>=1025px){.app-shell.sidebar-collapsed{grid-template-columns:minmax(0,1fr)}.app-shell.sidebar-collapsed>.sidebar{display:none}}@media (width<=1024px){html .workspace.floorplans-workspace{height:calc(100dvh - var(--floorplan-navigation-height,calc(70px + env(safe-area-inset-bottom))));min-height:0;padding:0}.tiled-workspace-header{gap:2px;min-height:60px;padding:6px 8px}.tiled-workspace-header .tiled-floorplan-picker{max-width:none}.tiled-floorplan-picker .searchable-select-control input{font-size:16px}.tiled-map-tools-desktop{display:none!important}.tiled-map-tools-mobile{z-index:19;min-height:44px;display:inline-flex;position:absolute;bottom:12px;right:12px;box-shadow:0 4px 16px #0f172a26}.floorplan-workspace-viewer.has-selected-pin .tiled-map-tools-mobile{top:12px;bottom:auto}.tiled-controls-backdrop{background:#0f172a26}.tiled-controls-panel{border-width:1px 0 0;border-radius:16px 16px 0 0;width:100%;max-height:min(75%,560px);inset:auto 0 0}.tiled-controls-heading{padding:8px 12px}.tiled-controls-body{padding:4px 12px 12px}.tiled-controls-panel button{min-height:44px}.tiled-controls-panel .checkbox-field{min-height:36px}html .floorplan-workspace-viewer.expanded{top:0;bottom:var(--floorplan-navigation-height,calc(70px + env(safe-area-inset-bottom)))}html .floorplan-workspace-viewer .tiled-detail{border-width:1px 0 0;border-radius:16px 16px 0 0;width:100%;max-height:72%;inset:auto 0 0}.floorplan-workspace-viewer .tiled-detail:not(.is-expanded):not(.is-editing) .tiled-detail-facts{display:none}.floorplan-workspace-viewer .tiled-detail:not(.is-expanded):not(.is-editing) .tiled-detail-hero{aspect-ratio:auto;min-height:40px;margin-bottom:0;background-image:none!important}.floorplan-workspace-viewer .tiled-detail-hero .tiled-detail-heading{text-shadow:none;background:0 0;padding:0}.floorplan-workspace-viewer .tiled-detail-expand{border:0;justify-content:flex-start;width:fit-content;min-height:40px;padding:6px 0;display:inline-flex}.floorplan-workspace-viewer .tiled-detail-close{top:6px;right:8px}html .floorplan-workspace-viewer .tiled-placement-actions,html .floorplan-workspace-viewer .tiled-position-save{bottom:12px}}.app-shell:has(.floorplan-workspace-viewer)>.sidebar{border-right:1px solid var(--color-border)}@media (width<=1024px){.floorplan-workspace-viewer.has-map-edit .tiled-map-tools-mobile{top:12px;bottom:auto}}.theme-preset-intro p{color:var(--color-muted);margin:6px 0 14px;font-size:13px;line-height:1.5}.theme-presets{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.theme-preset{border:1px solid var(--color-border);background:var(--color-panel);min-width:0;color:var(--color-text);text-align:left;border-radius:10px;flex-direction:column;gap:6px;padding:10px;display:flex}.theme-preset[aria-pressed=true]{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.theme-preset:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.theme-preset>span:last-child{color:var(--color-muted);font-size:12px;line-height:1.4}.theme-preset-preview{border:1px solid var(--preview-border);background:var(--preview-bg);border-radius:6px;gap:10px;width:100%;height:72px;display:flex;overflow:hidden}.theme-preset-preview>span:first-child{border-right:1px solid var(--preview-border);background:var(--preview-sidebar);width:25%}.theme-preset-preview>span:last-child{flex:1;align-content:center;gap:6px;padding:10px 10px 10px 0;display:grid}.theme-preset-preview i{background:var(--preview-border);border-radius:3px;height:6px;display:block}.theme-preset-preview i:first-child{background:var(--preview-accent);width:60%}.theme-preset-preview i:last-child{border:1px solid var(--preview-border);background:var(--preview-panel);height:20px}@media (width<=640px){.theme-presets{grid-template-columns:repeat(2,minmax(0,1fr))}}.floorplan-workspace-viewer .tiled-app-actions-menu .app-global-actions button{background:var(--color-panel);color:var(--color-text)}.floorplan-workspace-viewer .tiled-app-actions-menu .app-global-actions button:hover,.floorplan-workspace-viewer .tiled-app-actions-menu .app-global-actions button:focus-visible{background:var(--color-control-hover);color:var(--color-accent-strong)}.floorplan-workspace-viewer .tiled-placement-actions{background:var(--color-panel);border-color:var(--color-border);color:var(--color-text)}.floorplan-workspace-viewer .tiled-placement-actions>span{color:var(--color-muted)}.floorplan-workspace-viewer .tiled-placement-actions button{background:var(--color-control-bg);border-color:var(--color-border);color:var(--color-text)}.floorplan-workspace-viewer .tiled-placement-actions button:hover{background:var(--color-control-hover);border-color:var(--color-accent)}.floorplan-workspace-viewer .tiled-placement-actions>div button:first-child,.floorplan-workspace-viewer .tiled-position-save{background:var(--color-selection);border-color:var(--color-accent);color:var(--color-accent-strong)}.floorplan-workspace-viewer .tiled-add-icon svg circle{fill:var(--color-panel);stroke:var(--color-accent)}.floorplan-workspace-viewer .tiled-add-icon svg path:last-child{stroke:var(--color-accent)}.floorplan-workspace-viewer .tiled-detail-hero:not(.has-photo) .tiled-detail-heading{text-shadow:none}@media (width>=1025px){.sidebar-drawer-tab{z-index:70;border:1px solid var(--color-border);background:var(--color-panel);width:44px;height:38px;color:var(--color-text);border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:fixed;top:14px;left:248px}.app-shell.sidebar-collapsed .sidebar-drawer-tab{left:16px}.sidebar-drawer-tab:hover,.sidebar-drawer-tab:focus-visible{background:var(--color-control-hover);color:var(--color-accent-strong)}.app-shell:has(.floorplan-workspace-viewer)>.sidebar-drawer-tab{display:none}}.tiled-filter-button{position:relative}.tiled-filter-button .tiled-tools-filter-indicator{position:absolute;top:6px;right:6px}.tiled-controls-panel .ap-column-filter-embedded .ap-column-filter-menu{background:0 0;border:0;margin:0;padding:0}.tiled-controls-panel .ap-column-filter-embedded .ap-column-filter-heading{padding:8px 0}.tiled-controls-panel.is-filter-panel .tiled-controls-body{flex-direction:column;flex:1;display:flex;overflow:hidden}.tiled-controls-panel.is-filter-panel .ap-column-filter-embedded{flex:1;min-height:0;display:flex}.tiled-controls-panel.is-filter-panel .ap-column-filter-menu{flex:1;min-height:0;overflow:hidden}.tiled-controls-panel.is-filter-panel .ap-column-filter-menu>.ap-column-filter-heading:not(:has(button)){display:none}.tiled-controls-panel.is-filter-panel .ap-column-filter-heading,.tiled-controls-panel.is-filter-panel .ap-filter-search,.tiled-controls-panel.is-filter-panel .ap-column-filter-footer,.tiled-controls-panel.is-filter-panel .tiled-pin-count{flex-shrink:0}.tiled-controls-panel.is-filter-panel .ap-column-filter-fields,.tiled-controls-panel.is-filter-panel .ap-column-filter-values{flex:1;min-height:0;overflow:auto}@media (width<=1024px){.tiled-controls-panel.is-filter-panel{height:min(75%,560px)}}@media (width<=1024px) and (height<=450px){.tiled-controls-panel.is-filter-panel .tiled-controls-body{flex:0 auto;display:grid;overflow:auto}.tiled-controls-panel.is-filter-panel .ap-column-filter-embedded{display:block}.tiled-controls-panel.is-filter-panel .ap-column-filter-fields,.tiled-controls-panel.is-filter-panel .ap-column-filter-values{overflow:visible}}.record-layout:not(.split){grid-template-columns:minmax(0,1fr)}.record-layout:not(.split)>.detail-panel.empty{display:none}.table-wrap.record-table{border:1px solid var(--color-border);background:var(--color-panel);border-radius:10px;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.record-table-scroll{overscroll-behavior:contain;scrollbar-width:thin;flex:1;min-width:0;min-height:0;max-height:min(65dvh,640px);overflow:auto}.record-layout-viewport>.record-table .record-table-scroll{max-height:none}.record-table-scroll:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.record-table .data-table{border-collapse:separate;border-spacing:0;min-width:max(680px,100%);font-size:13px;line-height:1.4}.record-table .data-table thead{z-index:3;position:sticky;top:0}.app-shell .record-table .data-table th{border-bottom:1px solid var(--color-border);background:var(--color-control-bg);color:var(--color-muted);text-transform:none;padding:0 12px;font-size:12px;font-weight:600}.record-table .data-table-sort{min-height:44px}.record-table .data-table td{background:var(--color-panel);padding:11px 12px}.record-table .data-table tbody tr:hover td,.record-table .data-table tbody tr.selected td,.record-table .data-table tbody tr:focus-visible td{background:var(--color-selection)}.record-table .data-table tbody tr{cursor:default}.record-table .data-table tbody tr.record-selectable-row{cursor:pointer}.record-table .data-table tbody tr:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.record-table .data-table th:first-child,.record-table .data-table td:first-child:not([colspan]){z-index:1;border-right:1px solid var(--color-border);position:sticky;left:0}.record-table .data-table th:first-child{z-index:4}.record-table-identifier{overflow-wrap:anywhere;min-width:100px;max-width:200px;font-weight:600;display:block}.record-table-empty{width:100%;min-height:120px;color:var(--color-muted);place-items:center;padding:20px;font-size:13px;display:grid;position:sticky;left:0}.record-table-scroll-hint{border-top:1px solid var(--color-border);background:var(--color-control-bg);min-height:30px;color:var(--color-muted);flex:none;align-items:center;gap:7px;padding:6px 12px;font-size:11px;display:flex}.record-toolbar.record-list-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.record-list-toolbar .search-box{border-radius:8px;flex:240px;min-width:0;max-width:520px;min-height:42px}.record-list-toolbar .search-box input{background:0 0;min-height:40px;font-size:14px}.record-list-toolbar select{border-radius:8px;min-width:0;max-width:220px;min-height:42px}.record-list-toolbar>span{color:var(--color-muted);text-transform:none;margin-left:auto;font-size:12px;font-weight:500}.record-search-clear{width:32px;height:32px;color:var(--color-muted);background:0 0;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.record-search-clear:hover{background:var(--color-control-hover)}.record-list-toolbar .ap-column-filter-trigger{border-radius:8px;min-height:42px}.record-list-actions{flex-wrap:wrap;justify-content:flex-end}.record-list-more,.record-list-more-content{display:contents}.record-list-more>summary{display:none}.record-list-actions .primary-action,.record-list-actions .secondary-action{border:1px solid var(--color-border);background:var(--color-control-bg);min-height:40px;color:var(--color-accent-strong);border-radius:8px;margin:0;padding:0 12px;font-size:13px}.record-list-actions .icon-action.primary-action{background:var(--color-selection);justify-content:center;min-width:40px;padding:0}.record-list-actions button:hover{background:var(--color-control-hover)}@media (width>=1025px){.record-layout.split{grid-template-columns:minmax(0,1fr) minmax(300px,380px)}[data-table-density=compact] .record-table .data-table td{padding:7px 10px;font-size:12px}[data-table-density=compact] .record-table .data-table-sort{min-height:36px}}@media (width<=1024px){.record-layout-viewport:not(.split){height:var(--record-viewport-height);min-height:0}.record-layout-viewport:not(.split)>.record-table{height:100%}.panel:has(>.record-layout .record-table){padding:14px}.record-list-toolbar .search-box{flex:160px;max-width:none}.record-list-toolbar .search-box input{font-size:16px}.record-list-toolbar>span{text-align:left;flex:100%;margin:0}.record-list-toolbar .ap-column-filter{flex:none}.record-list-toolbar .ap-column-filter-trigger{justify-content:center;width:44px;height:44px;padding:0}.record-list-toolbar .ap-column-filter-trigger>span{display:none}.record-list-toolbar .ap-column-filter-trigger>strong{position:absolute;top:-4px;right:-4px}.record-list-toolbar select{flex:100%;max-width:none}.record-table .data-table td{min-height:44px;padding:11px 10px}.record-table-identifier{min-width:96px;max-width:150px}.record-list-more{display:block;position:relative}.record-list-more>summary{border:1px solid var(--color-border);background:var(--color-panel);width:44px;height:44px;color:var(--color-text);cursor:pointer;border-radius:8px;place-items:center;list-style:none;display:grid}.record-list-more>summary::-webkit-details-marker{display:none}.record-list-more[open]>summary{background:var(--color-selection);color:var(--color-accent-strong)}.record-list-more-content{z-index:45;border:1px solid var(--color-border);background:var(--color-panel);width:min(260px,100vw - 48px);box-shadow:var(--shadow-panel);border-radius:10px;gap:4px;padding:8px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.record-list-more-content .primary-action,.record-list-more-content .secondary-action{background:var(--color-panel);border:0;justify-content:flex-start;width:100%;min-height:44px;padding:8px 12px;font-size:13px;display:flex}.record-list-more-content .icon-action[aria-label]:after{content:attr(aria-label)}.record-list-more:not([open])>.record-list-more-content{display:none}}.record-list-toolbar .ap-column-filter-footer{align-items:center}.record-list-toolbar .ap-column-filter-footer .primary-action,.record-list-toolbar .ap-column-filter-footer .secondary-action{margin-top:0}@media (width<=1024px){.record-list-toolbar .ap-column-filter-menu{top:auto;left:12px;right:12px;bottom:calc(80px + env(safe-area-inset-bottom));z-index:75;width:auto;max-height:calc(100dvh - 160px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:12px;position:fixed}.record-layout-viewport:not(.split)>.site-equipment-groups{overscroll-behavior:contain;height:100%;min-height:0;overflow:auto}.record-list-more-content .icon-action.primary-action{justify-content:flex-start;padding:8px 12px}}.equipment-create-fields{border:0;min-width:0;margin:0;padding:0}.signin-panel .signin-account{overflow-wrap:anywhere;font-weight:600}.project-access-help{min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));place-items:center;display:grid}.project-access-help>.panel{width:min(100%,640px);padding:clamp(20px,5vw,40px)}.project-access-help p,.project-access-help a,.project-access-help strong{overflow-wrap:anywhere}.project-access-help li{flex-direction:column;gap:4px;margin:16px 0;display:flex}.project-access-help a{color:var(--color-accent)}.project-access-actions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.project-access-help.embedded{min-height:0;padding:0;display:block}.pending-photo-evidence{border:1px solid var(--color-border);background:var(--color-control-bg);overflow-wrap:anywhere;border-radius:10px;flex-direction:column;align-items:flex-start;gap:10px;margin:12px 0;padding:14px;display:flex}.pending-photo-evidence img{object-fit:contain;border-radius:6px;max-width:100%;max-height:180px;display:block}.pending-photo-evidence a{color:var(--color-accent);overflow-wrap:anywhere}.pending-photo-evidence button{white-space:normal;text-align:left}.navigation-history-header{min-width:0}.navigation-history-header .breadcrumbs{white-space:nowrap;width:100%;min-width:0;padding:4px 0;overflow-x:auto}.breadcrumb-step,.breadcrumb-back{flex-shrink:0;align-items:center;gap:8px;display:inline-flex}.breadcrumbs [aria-current=page]{flex-shrink:0}.breadcrumbs button:disabled{color:var(--color-muted);cursor:default}.pin-record-view.panel{min-width:0;box-shadow:none;background:0 0;border:0;margin:0;padding:0}.pin-record-view>.record-layout{min-height:0;display:block}.pin-record-view>.record-layout>.record-detail-panel:not(.record-detail-expanded){border:0;width:100%;max-height:none;padding:0;position:static;overflow:visible}.pin-record-view .detail-heading{flex-wrap:wrap}.pin-record-view .detail-field-grid{grid-template-columns:minmax(0,1fr)}.pin-record-view .record-detail-expanded .detail-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.floorplan-workspace-viewer .has-record-card>.tiled-detail-close{display:none}.floorplan-workspace-viewer .has-record-card:has(.record-detail-expanded,.ap-photo-lightbox,.survey-ap-overlay){z-index:95}.floorplan-workspace-viewer:has(.record-detail-expanded,.ap-photo-lightbox,.survey-ap-overlay){z-index:95}@media (width<=1024px){.floorplan-workspace-viewer .has-record-card:not(.is-expanded):not(.is-editing) .tiled-record-content{display:none}.floorplan-workspace-viewer .has-record-card:not(.is-expanded)>.tiled-detail-close,.floorplan-workspace-viewer .has-record-card.is-editing>.tiled-detail-close{display:grid}}@media (width<=360px){.pin-record-view .record-detail-expanded .detail-field-grid{grid-template-columns:minmax(0,1fr)}}.floorplan-workspace-viewer .has-record-card .tiled-detail-hero{aspect-ratio:auto;min-height:44px;margin-bottom:0;background-image:none!important}.floorplan-workspace-viewer .has-record-card .tiled-detail-hero .tiled-detail-heading{text-shadow:none;background:0 0;padding:0}.floorplan-workspace-viewer .has-record-card.is-editing>.tiled-detail-close{display:grid}.record-photo-preview{width:100%;height:100%;min-height:110px;color:var(--color-muted);justify-content:center;align-items:center;font-size:.85rem;display:flex}.record-photo-preview>img{object-fit:cover;width:100%;height:100%}.record-photo-form-preview{height:180px;overflow:hidden}.record-photo-form-preview img{object-fit:contain;width:100%;height:100%}.idf-install-photos .idf-install-photo-field{flex-direction:column;align-items:stretch;gap:10px;display:flex}
