:root{--bg:#0f1419;--bg-panel:#171d26;--bg-elevated:#1f2733;--border:#2d3848;--accent:#3b9eff;--accent-hover:#5ab0ff;--text:#e8edf5;--muted:#8b9cb3;--success:#34d399;--danger:#f87171}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}.site-shell{flex-direction:column;min-height:100vh;display:flex}.site-shell--measure{height:100vh;min-height:100vh;max-height:100vh;overflow:hidden}.site-shell--measure .save-bar{flex-shrink:0;padding:.55rem 1rem}.site-shell--measure .save-bar-copy .muted-text.small{display:none}.site-shell--measure .measure-tool-host{flex:1;min-height:0;overflow:hidden}@media (max-width:900px){.site-shell--measure{height:auto;max-height:none;overflow:visible}.site-shell--measure .measure-tool-host{flex:none;min-height:0;overflow:visible}.site-shell--measure .save-bar-copy .muted-text.small{display:inline}}.site-header{border-bottom:1px solid var(--border);background:var(--bg-panel);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.site-brand{font-size:1.1rem;font-weight:700}.site-nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.global-save-control{align-items:center;display:inline-flex;position:relative}.global-save-feedback{z-index:40;border:1px solid var(--border);background:var(--bg-elevated);pointer-events:none;border-radius:8px;min-width:max-content;max-width:min(18rem,70vw);padding:.4rem .65rem;font-size:.78rem;font-weight:600;line-height:1.3;position:absolute;top:calc(100% + .4rem);right:0;box-shadow:0 8px 24px #00000047}.global-save-feedback--saved{color:var(--success);border-color:#4ade8059}.global-save-feedback--nothing{color:var(--muted)}.global-save-feedback--error{color:var(--danger);border-color:#f8717173}.site-main{flex:1;width:min(1100px,100%);margin:0 auto;padding:1.5rem}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;padding:1.25rem}.btn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.35rem;padding:.65rem 1rem;font-size:.92rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--accent);color:#041018}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{color:var(--text);border:1px solid var(--border);background:0 0}.btn-secondary:hover{border-color:var(--accent)}.btn-danger-outline{color:var(--danger);background:0 0;border:1px solid #f871718c}.btn-danger-outline:hover:not(:disabled){border-color:var(--danger);background:#f8717114}.btn-link{color:#0369a1;font:inherit;font-size:inherit;cursor:pointer;background:0 0;border:none;margin:0;padding:0;text-decoration:underline;display:inline}.btn-link:hover{color:#0c4a6e}.btn:disabled{opacity:.55;cursor:not-allowed}.field{flex-direction:column;gap:.35rem;margin-bottom:.9rem;display:flex}.field label{color:var(--muted);font-size:.85rem}.field input{border:1px solid var(--border);color:var(--text);background:#0f1419;border-radius:8px;padding:.7rem .8rem;font-size:1rem}.auth-form .auth-form-submit{touch-action:manipulation;width:100%;min-height:44px}.install-app-prompt{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 92%, var(--accent) 8%);border-radius:10px;flex-direction:column;gap:.75rem;margin-top:1.25rem;padding:1rem 1.1rem;display:flex}.install-app-prompt-title{color:var(--text);margin:0;font-size:1.05rem;font-weight:600}.install-app-prompt-blurb{color:var(--muted);margin:.35rem 0 0;font-size:.92rem;line-height:1.4}.install-app-prompt-btn{touch-action:manipulation;width:100%;min-height:44px}.install-app-prompt-hint{margin:0}.install-app-steps{color:var(--text);flex-direction:column;gap:.4rem;margin:0;padding-left:1.2rem;font-size:.9rem;line-height:1.45;display:flex}.install-app-steps strong{font-weight:600}.error-text{color:var(--danger);font-size:.88rem}.migration-error-text{white-space:pre-wrap}.soft-delete-setup-notice{border-color:color-mix(in srgb, var(--danger) 28%, var(--border));background:color-mix(in srgb, var(--bg-elevated) 92%, var(--danger) 8%);margin-top:1rem}.soft-delete-setup-notice__title{color:var(--text);margin:0;font-size:1rem;font-weight:700}.soft-delete-setup-notice__body{margin:.45rem 0 0;font-size:.9rem;line-height:1.45}.soft-delete-setup-notice__sql-wrap{border:1px solid var(--border);background:var(--bg-panel);border-radius:8px;margin-top:.85rem;overflow:hidden}.soft-delete-setup-notice__sql-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.soft-delete-setup-notice__copy{padding:.35rem .7rem;font-size:.8rem}.soft-delete-setup-notice__sql{color:var(--text);white-space:pre;margin:0;padding:.75rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;line-height:1.45;overflow-x:auto}.soft-delete-setup-notice__actions{flex-wrap:wrap;gap:.5rem;margin-top:.85rem;display:flex}.success-text{color:var(--success);font-size:.88rem}.save-success-banner{border-color:color-mix(in srgb, var(--success) 35%, var(--border));margin-bottom:1rem}.save-success-banner strong{color:var(--success);margin-bottom:.35rem;display:block}.measure-context-hint{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface) 92%, var(--accent) 8%);margin:0;padding:.65rem 1rem}.unassigned-pole-list{gap:.5rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.unassigned-pole-list li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem .75rem;display:flex}.unassigned-pole-list__main{flex-wrap:wrap;align-items:baseline;gap:.25rem;min-width:0;display:flex}.unassigned-pole-list__actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.dashboard-section--collapsed .dashboard-section-header{margin-bottom:0}.dashboard-section-header{margin-bottom:.75rem}.dashboard-section-title{font-size:1.15rem}.dashboard-section-body[hidden]{display:none}.dashboard-section-empty{margin:0}.dashboard-survey-list{gap:.65rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.dashboard-survey-list li{gap:.15rem;display:grid}.dashboard-survey-list__link{font-weight:600}.dashboard-survey-list__meta{line-height:1.35}.dashboard-project-picker{z-index:1300;background:#020617e0;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.dashboard-project-picker-inner{background:var(--surface);border:1px solid var(--border);border-radius:12px;gap:.75rem;width:min(420px,100%);max-height:min(80vh,560px);padding:1rem;display:grid;overflow:auto}.dashboard-project-picker-title{margin:0;font-size:1rem;font-weight:600}.dashboard-project-picker-intro{margin:0}.dashboard-project-picker-list{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.dashboard-project-picker-option{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 92%, var(--accent) 8%);width:100%;color:var(--text);text-align:left;cursor:pointer;border-radius:8px;gap:.15rem;padding:.65rem .75rem;display:grid}.dashboard-project-picker-option:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 55%, var(--border));background:color-mix(in srgb, var(--surface) 85%, var(--accent) 15%)}.dashboard-project-picker-option:disabled{opacity:.6;cursor:not-allowed}.dashboard-project-picker-option-name{font-weight:600}.dashboard-project-picker-option-meta{display:block}.sync-names-modal-inner{gap:.85rem;width:min(520px,100%);max-height:min(90vh,720px)}.sync-names-section{gap:.5rem;display:grid}.sync-names-section-title{color:var(--text);margin:0;font-size:.85rem;font-weight:600}.sync-names-mappings{gap:.4rem;display:grid}.sync-names-mapping-row{grid-template-columns:minmax(7rem,.9fr) 1.4fr;align-items:center;gap:.55rem;display:grid}.sync-names-slot-label{gap:.05rem;font-size:.88rem;display:grid}.sync-names-mapping-row input{border:1px solid var(--border);color:var(--text);background:#0f1419;border-radius:8px;width:100%;min-width:0;padding:.55rem .7rem;font-size:.92rem}.sync-names-mapping-row input:disabled{opacity:.65}.sync-names-phase-tabs{flex-wrap:wrap;gap:.4rem;display:flex}.sync-names-poles-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.sync-names-poles-actions{gap:.35rem;display:flex}.sync-names-pole-list{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 92%, #000 8%);border-radius:8px;gap:.25rem;max-height:180px;margin:0;padding:.35rem;list-style:none;display:grid;overflow:auto}.sync-names-pole-row{cursor:pointer;border-radius:6px;align-items:flex-start;gap:.55rem;padding:.4rem .45rem;display:flex}.sync-names-pole-row:hover{background:color-mix(in srgb, var(--surface) 80%, var(--accent) 12%)}.sync-names-pole-row input{margin-top:.15rem}.sync-names-pole-row span{gap:.1rem;min-width:0;display:grid}.sync-names-pole-name{color:var(--text);font-size:.9rem;font-weight:560}.sync-names-result-list{gap:.2rem;max-height:120px;margin:0;padding:.35rem 0 0;list-style:none;display:grid;overflow:auto}.sync-names-footer{flex-wrap:wrap;gap:.5rem;margin-top:.15rem;display:flex}@media (max-width:520px){.sync-names-mapping-row{grid-template-columns:1fr;gap:.25rem}}.measurement-grid{gap:1rem;display:grid}.measurement-card h3{margin:0 0 .35rem;font-size:1rem}.measurement-card p{color:var(--muted);margin:.2rem 0;font-size:.88rem}.measurement-actions{gap:.5rem;margin-top:.75rem;display:flex}.project-dashboard-grid{gap:1rem;display:grid}.project-dashboard-card{grid-template-columns:minmax(0,1fr) minmax(280px,58%);align-items:start;gap:1rem;display:grid}.project-dashboard-card__main h3,.project-dashboard-card__main .project-rename__title{margin:0;font-size:1rem}.project-rename{margin:0 0 .35rem}.project-rename__title-row{flex-wrap:wrap;align-items:baseline;gap:.5rem .75rem;display:flex}.project-rename__title{margin:0}.project-rename__trigger{flex-shrink:0;font-size:.85rem}.project-rename__form{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.project-rename__input{flex:12rem;min-width:min(100%,16rem)}.project-rename__actions{flex-wrap:wrap;gap:.4rem;display:flex}.project-rename__error{margin:.35rem 0 0}.project-dashboard-card__main p{margin:.2rem 0}.project-dashboard-card__aside{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);align-items:stretch;gap:.75rem;min-width:0;display:grid}.project-dashboard-card__section{flex-direction:column;gap:.4rem;min-width:0;display:flex}.project-dashboard-card__heading{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.72rem;font-weight:700}.project-dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem .75rem;margin:0;display:grid}.project-dashboard-stat{min-width:0}.project-dashboard-stat--wide{grid-column:1/-1}.project-dashboard-stat dt{color:var(--muted);margin:0;font-size:.72rem}.project-dashboard-stat dd{margin:.1rem 0 0;font-size:.88rem;font-weight:600;line-height:1.35}.project-dashboard-stat__alert{color:var(--danger)}.project-dashboard-card__section--map{min-height:200px}.project-dashboard-card__section--map .poles-map,.project-dashboard-card__section--map .poles-map-empty--preview{flex:1;width:100%;min-height:200px}.poles-map--preview{border-radius:8px}.poles-map-empty--preview{border:1px solid var(--border);background:#1f2937;border-radius:8px;min-height:0;padding:.75rem}.poles-map-empty--preview p{margin:0;font-size:.78rem}@media (max-width:720px){.project-dashboard-card{grid-template-columns:1fr}}@media (max-width:520px){.project-dashboard-card__aside{grid-template-columns:1fr}}.save-bar{border-bottom:1px solid var(--border);background:#13261f;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.save-bar input{border:1px solid var(--border);min-width:180px;color:var(--text);background:#0f1419;border-radius:8px;flex:1;padding:.55rem .75rem}.hero{max-width:860px}.hero-video-wrap{border:1px solid var(--border);aspect-ratio:16/9;background:#000;border-radius:12px;width:100%;margin:0 0 1.25rem;overflow:hidden}.hero-video{object-fit:contain;width:100%;height:100%;display:block}.hero h1{margin:0 0 .5rem;font-size:2rem}.hero p{color:var(--muted)}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.25rem;display:flex}.detail-grid{gap:1rem;display:grid}@media (min-width:900px){.detail-grid{grid-template-columns:1fr 1fr}}.detail-photo{border:1px solid var(--border);border-radius:10px;width:100%}.phase-attachments{border:1px solid var(--border);background:var(--bg-elevated);border-radius:8px;margin:.75rem 0 1rem;padding:.75rem .85rem}.phase-attachments-title{margin:0 0 .5rem;font-size:.95rem}.phase-attachments-list{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.phase-attachments-list li{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:.15rem .75rem;font-size:.9rem;display:grid}.phase-attachments-label{font-weight:600}.phase-attachments-list .muted-text{grid-column:1}.phase-attachments-height{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;grid-area:1/2/span 2}.json-block{border:1px solid var(--border);background:#0f1419;border-radius:8px;max-height:420px;padding:.75rem;font-size:.78rem;overflow:auto}.muted-text{color:var(--muted)}.muted-text.small{font-size:.82rem}.page-header-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem;display:flex}.header-actions{flex-wrap:wrap;gap:.5rem;display:flex}.create-project-form{margin-top:1rem}.create-project-row{flex-wrap:wrap;gap:.5rem;display:flex}.create-project-row input{border:1px solid var(--border);min-width:200px;color:var(--text);background:#0f1419;border-radius:8px;flex:1;padding:.65rem .8rem}.map-panel h2{margin:0 0 .65rem;font-size:.95rem}.map-coords{margin:.55rem 0 0}.poles-map{border:1px solid var(--border);background:#1f2937;border-radius:10px;width:100%;overflow:hidden}.poles-map .leaflet-container{background:#1f2937;width:100%;height:100%}.poles-map-empty{color:var(--muted);text-align:center;justify-content:center;align-items:center;padding:1.25rem;display:flex}.poles-map-div-icon{background:0 0!important;border:none!important}.poles-map-tooltip{text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:120px;overflow:hidden;color:#e8edf5!important;box-shadow:none!important;background:#0f1419e6!important;border:1px solid #34d39973!important;border-radius:4px!important;padding:.15rem .45rem!important;font-size:.68rem!important;font-weight:600!important;line-height:1.2!important}.poles-map-tooltip:before{display:none}.poles-map-tooltip--active{border-color:#34d399d9!important;box-shadow:0 0 0 2px #34d39959!important}.poles-map--clickable .leaflet-interactive{cursor:pointer}.poles-map--drawing .leaflet-interactive{cursor:crosshair}.route-phase-section{margin-top:1rem}.project-njuns-section{gap:.85rem;display:grid}.project-njuns-section--collapsed{gap:0}.project-njuns-toolbar{margin-bottom:0}.project-njuns-section:not(.project-njuns-section--collapsed) .project-njuns-toolbar{margin-bottom:.15rem}.project-njuns-body[hidden]{display:none}.project-njuns-body{gap:.85rem;display:grid}.project-njuns-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.project-njuns-title{margin:0;font-size:1.05rem}.project-njuns-actions{flex-wrap:wrap;gap:.5rem;display:flex}.project-njuns-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;display:grid}.project-njuns-field{gap:.3rem;display:grid}.project-njuns-label{color:var(--muted);font-size:.78rem;font-weight:600}.project-njuns-input{border:1px solid var(--border);width:100%;color:var(--text);font:inherit;background:#0f1419;border-radius:8px;padding:.55rem .65rem}.project-njuns-textarea{resize:vertical;min-height:2.75rem}.project-njuns-notes{margin-top:.15rem}.project-njuns-notes-actions{margin-top:.45rem}.project-njuns-format-hint{margin:0}.route-phase-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;display:flex}.route-phase-header h2{margin:0;font-size:.95rem}.route-phase-controls{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.route-phase-tabs{flex-wrap:wrap;gap:.4rem;display:flex}.route-phase-restore,.route-phase-tabs .btn{white-space:nowrap;padding:.45rem .7rem;font-size:.78rem}.route-phase-tabs .btn.is-active{color:#86efac;background:#34d39926;border-color:#34d399a6}.route-phase-description{margin:0 0 .75rem}.project-plan-map{flex-direction:column;gap:.65rem;display:flex}.project-plan-map--maximized{z-index:1200;background:var(--bg);margin:0;padding:.75rem;position:fixed;inset:0;overflow:hidden}.project-plan-map--maximized .project-plan-map-frame{flex:1;min-height:0}.project-plan-map--maximized .project-plan-map-frame .poles-map{height:100%;min-height:0}.project-plan-map-frame{position:relative}.project-plan-parcel-notice{z-index:1000;border:1px solid var(--border,#2d3748);background:#171d26eb;border-radius:8px;max-width:min(280px,100% - 20px);margin:0;padding:.4rem .65rem;position:absolute;bottom:10px;left:10px;box-shadow:0 2px 8px #00000059}.project-plan-parcel-popup{font-size:.85rem;line-height:1.35}.leaflet-tooltip.project-plan-parcel-label{box-shadow:none;color:#fefce8;letter-spacing:.01em;white-space:nowrap;text-shadow:-1px -1px #111827,1px -1px #111827,-1px 1px #111827,1px 1px #111827,0 0 3px #000000d9;pointer-events:none;background:0 0;border:none;border-radius:0;padding:0;font-size:11px;font-weight:700;line-height:1.15}.leaflet-tooltip.project-plan-parcel-label:before{display:none}.project-plan-map-controls{z-index:1000;flex-direction:column;gap:6px;display:flex;position:absolute;top:10px;right:10px}.project-plan-map-control{border:1px solid var(--border);width:44px;height:44px;color:var(--text);cursor:pointer;background:#171d26eb;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex;box-shadow:0 2px 8px #00000059}.project-plan-map-control:hover{border-color:var(--accent)}.project-plan-map-control.is-active{border-color:#34d399bf;box-shadow:0 0 0 1px #34d39959}.project-plan-map-control svg{flex-shrink:0;width:20px;height:20px}.map-fullscreen-shell{flex-direction:column;gap:.55rem;display:flex}.map-fullscreen-shell--maximized{z-index:1300;background:var(--bg,#0f1419);margin:0;padding:.75rem;position:fixed;inset:0;overflow:hidden}.map-fullscreen-shell--maximized .map-fullscreen-frame{flex-direction:column;flex:1;min-height:0;display:flex}.map-fullscreen-shell--maximized .map-fullscreen-map-host,.map-fullscreen-shell--maximized .pole-location-map{flex:1;min-height:0;height:100%!important}.map-fullscreen-shell--collapsed .map-fullscreen-body,.map-fullscreen-header{display:none}@media (max-width:720px){.map-fullscreen-header{display:block}}.map-fullscreen-header-toggle{border:1px solid var(--border,#2d3748);width:100%;min-height:44px;color:var(--text,#e2e8f0);cursor:pointer;background:#0f172aa6;border-radius:8px;justify-content:space-between;align-items:center;gap:.65rem;padding:.55rem .75rem;font-size:.88rem;font-weight:600;display:flex}.map-fullscreen-header-toggle svg{flex-shrink:0;width:18px;height:18px}.map-fullscreen-body{gap:.65rem;display:grid}.map-fullscreen-frame{position:relative}.map-fullscreen-map-host,.pole-location-map.map-fullscreen-map-host{border:1px solid var(--border,#2d3748);background:#1a2330;border-radius:10px;width:100%;min-height:220px;overflow:hidden}.map-controls{z-index:1000;flex-direction:column;gap:6px;display:flex;position:absolute}.map-controls--right{top:10px;right:10px}.map-control,.project-plan-map-control{border:1px solid var(--border,#2d3748);width:44px;height:44px;color:var(--text,#e2e8f0);cursor:pointer;background:#171d26eb;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex;box-shadow:0 2px 8px #00000059}.map-control:hover,.project-plan-map-control:hover{border-color:var(--accent,#34d399)}.map-control svg,.project-plan-map-control svg{flex-shrink:0;width:20px;height:20px}.project-plan-map-layer{position:relative}.project-plan-map-layer-menu{border:1px solid var(--border);background:#171d26f5;border-radius:8px;flex-direction:column;gap:4px;min-width:176px;max-width:min(260px,100vw - 72px);padding:6px;display:flex;position:absolute;top:0;right:calc(100% + 6px);box-shadow:0 4px 16px #00000073}.project-plan-map-layer-menu button{width:100%;min-height:44px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:.45rem .65rem;font-size:.82rem;font-weight:600;display:block}.project-plan-map-layer-menu button:hover:not(:disabled){border-color:var(--border);background:#ffffff0a}.project-plan-map-layer-menu button:disabled{opacity:.55;cursor:not-allowed}.project-plan-map-layer-menu button.is-active{color:#86efac;background:#34d3991f;border-color:#34d399bf}.project-plan-toolbar{flex-direction:column;gap:.35rem;display:flex}.project-plan-asbuilt{flex-direction:column;gap:.45rem;padding:.75rem .9rem;display:flex}.project-plan-asbuilt-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.project-plan-asbuilt-row .btn{cursor:pointer;flex-shrink:0}.project-plan-asbuilt-row .btn.is-disabled{opacity:.6;pointer-events:none}.project-plan-asbuilt-actions{flex-direction:column;flex-shrink:0;align-items:stretch;gap:.4rem;display:flex}.project-plan-asbuilt-actions .btn{text-align:center}.project-plan-asbuilt-secondary{opacity:.9;font-size:.85em}.project-plan-asbuilt-selected{margin:.45rem 0 0;font-size:.92rem}.project-plan-asbuilt-selected-hint{color:#b45309;margin:.45rem 0 0}.project-plan-asbuilt-list{margin:0;padding-left:1.1rem}.project-plan-depth-prompt{border-color:#22c55e73;flex-direction:column;gap:.45rem;padding:.75rem .9rem;display:flex}.project-plan-depth-prompt-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.project-plan-depth-prompt-actions{flex-wrap:wrap;align-items:flex-end;gap:.45rem;display:flex}.project-plan-depth-prompt-field{flex-direction:column;gap:.2rem;min-width:7rem;display:flex}.project-plan-depth-prompt-field input{width:7.5rem;color:inherit;background:#0f172a8c;border:1px solid #94a3b88c;border-radius:.45rem;padding:.4rem .55rem}.project-plan-tools{flex-wrap:wrap;gap:.45rem;display:flex}.project-plan-tools .btn.is-active{border-color:#34d399bf;box-shadow:0 0 0 1px #34d39959}.project-plan-tool--aerial.is-active{border-color:#facc15d9;box-shadow:0 0 0 1px #facc1573}.project-plan-tool--underground.is-active{border-color:#22c55ed9;box-shadow:0 0 0 1px #22c55e73}.project-plan-tool--conduit.is-active{border-color:#111827e6;box-shadow:0 0 0 1px #ffffff59}.project-plan-tool--strand.is-active{border-color:#ffffffd9;box-shadow:0 0 0 1px #ffffff59}.project-plan-tool--pedestal.is-active{border-color:#fbbf24e6;box-shadow:0 0 0 1px #fbbf2473}.project-plan-tool--riser.is-active{border-color:#60a5fae6;box-shadow:0 0 0 1px #60a5fa73}.project-plan-tool--aerial-strand.is-active{border-color:#facc15d9;box-shadow:0 0 0 1px #facc1573,inset 0 -2px #ffffff59}.project-plan-tool--underground-conduit.is-active{border-color:#22c55ed9;box-shadow:0 0 0 1px #22c55e73,inset 0 -2px #111827a6}.project-plan-tool--down-guy.is-active{border-color:#c084fce6;box-shadow:0 0 0 1px #c084fc73}.poles-map-tooltip--pedestal{border-color:#fbbf24a6!important}.poles-map-tooltip--riser{font-weight:600;border-color:#60a5faa6!important}.poles-map-tooltip--down-guy{font-weight:600;border-color:#c084fca6!important}.riser-map-marker{background:0 0!important;border:none!important}.riser-map-marker span{color:#fff;width:26px;height:26px;font-size:.95rem;font-weight:800;line-height:1;font-family:var(--font-sans,system-ui, sans-serif);cursor:grab;background:#1e3a5f;border:2px solid #60a5fa;border-radius:50%;justify-content:center;align-items:center;display:flex;box-shadow:0 1px 4px #00000073}.riser-map-marker--selected span{border-color:#fff;box-shadow:0 0 0 2px #60a5fa}.poles-map--drawing .riser-map-marker span{cursor:crosshair}.riser-map-marker:active span{cursor:grabbing}.down-guy-map-marker{background:0 0!important;border:none!important}.down-guy-map-marker span{color:#fff;width:22px;height:22px;font-size:.75rem;font-weight:800;line-height:1;font-family:var(--font-sans,system-ui, sans-serif);cursor:grab;background:#581c87;border:2px solid #c084fc;justify-content:center;align-items:center;display:flex;transform:rotate(45deg);box-shadow:0 1px 4px #00000073}.down-guy-map-marker span i{font-size:.75rem;font-style:normal;font-weight:800;line-height:1;transform:rotate(-45deg)}.poles-map--drawing .down-guy-map-marker span{cursor:crosshair}.down-guy-map-marker:active span{cursor:grabbing}.cable-footage-label{background:0 0!important;border:none!important}.cable-footage-label span{color:#f8fafc;white-space:nowrap;background:#0f1419e0;border:1px solid #ffffff40;border-radius:4px;padding:.1rem .4rem;font-size:.68rem;font-weight:700;line-height:1.2;display:inline-block}.cable-depth-label{background:0 0!important;border:none!important}.cable-depth-label span{color:#ecfdf5;white-space:nowrap;background:#064e3beb;border:1px solid #a7f3d0a6;border-radius:4px;padding:.08rem .32rem;font-size:.62rem;font-weight:700;line-height:1.15;display:inline-block;box-shadow:0 1px 3px #00000059}.cable-lr-end-label span{text-align:center;border-radius:4px;min-width:1rem;padding:.06rem .22rem;font-size:.7rem;font-weight:800;line-height:1.1}.leaflet-tooltip.cable-depth-tooltip{color:#ecfdf5;background:#064e3bf5;border:1px solid #a7f3d0b3;border-radius:8px;padding:.35rem .5rem;font-size:.78rem;line-height:1.35;box-shadow:0 4px 12px #00000059}.leaflet-tooltip.cable-depth-tooltip:before{border-top-color:#064e3bf5}.project-plan-swatch--strand{border-top-color:#fff}.project-plan-swatch--conduit{border-top-color:#111827}.project-plan-swatch--pedestal{background:#b45309;border:2px solid #fbbf24;border-radius:50%;width:12px;height:12px}.project-plan-swatch--riser{color:#fff;background:#1e3a5f;border:2px solid #60a5fa;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:.62rem;font-weight:800;line-height:1;display:inline-flex}.project-plan-swatch--down-guy{color:#fff;background:#581c87;border:2px solid #c084fc;justify-content:center;align-items:center;width:16px;height:16px;font-size:.55rem;font-weight:800;line-height:1;display:inline-flex;transform:rotate(45deg)}.project-plan-swatch--down-guy:after{content:"G";transform:rotate(-45deg)}.project-plan-footage{flex-wrap:wrap;align-items:baseline;gap:.5rem .75rem;margin-top:.15rem;padding:.65rem .8rem;display:flex}.project-plan-footage strong{font-size:.82rem}.pedestal-map-marker{background:0 0!important;border:none!important}.pedestal-map-marker span{cursor:grab;background:#b45309;border:2px solid #fbbf24;border-radius:50%;width:14px;height:14px;display:block;box-shadow:0 1px 3px #00000073}.pedestal-map-marker--selected span{border-color:#fff;box-shadow:0 0 0 2px #fbbf24}.pedestal-map-marker:active span{cursor:grabbing}.pole-drag-handle{cursor:grab;background:0 0!important;border:none!important}.pole-drag-handle:active{cursor:grabbing}.project-title-row{flex-wrap:wrap;align-items:center;gap:.65rem .85rem;display:flex}.project-title-row h1,.project-title-row h3{margin:0}.project-status-control{align-items:center;gap:.55rem;margin:.15rem 0 .55rem;display:inline-flex}.project-status-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text);font-size:.78rem;font-weight:700}.project-status-badge{appearance:none;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;min-height:2.35rem;padding:.55rem 1rem;font-size:.92rem;font-weight:700;line-height:1;transition:transform .12s,opacity .15s;display:inline-flex;box-shadow:0 2px 10px #00000059}.project-status-badge:active:not(:disabled){transform:scale(.98)}.project-status-badge:disabled{opacity:.65;cursor:wait}.project-status-badge--in_progress{color:#fff;background:#2563eb;border:2px solid #60a5fa}.project-status-badge--completed{color:#fff;background:#15803d;border:2px solid #4ade80}.header-actions .project-status-control{margin:0}.project-plan-pending{color:#93c5fd;margin:0;font-size:.82rem}.project-plan-legend{flex-wrap:wrap;align-items:center;gap:.85rem;display:flex}.project-plan-legend-item{color:var(--muted);align-items:center;gap:.35rem;font-size:.82rem;display:inline-flex}.project-plan-swatch{border-top:4px solid #0000;border-radius:999px;width:22px;height:0}.project-plan-swatch--aerial{border-top-color:#facc15}.project-plan-swatch--underground{border-top-style:dashed;border-top-color:#22c55e}.save-bar-copy{flex-direction:column;gap:.15rem;display:flex}.pole-map-div-icon{background:0 0;border:none}.pole-map-marker{border:2px solid #fff;border-radius:50%;width:22px;height:22px;display:block;box-shadow:0 1px 4px #00000073}.pole-map-marker--pole{background:#34d399}.pole-map-marker--gps{background:#60a5fa}.pole-map-marker--legend{border-width:1.5px;flex-shrink:0;width:14px;height:14px}.work-photos-grid{gap:1rem;display:grid}@media (min-width:900px){.work-photos-grid{grid-template-columns:1fr 1fr}}.work-photo-card h2{margin:0;font-size:1rem}.work-photo-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.phase-badge{border-radius:999px;padding:.2rem .55rem;font-size:.72rem;font-weight:700;display:inline-flex}.phase-badge--before{color:#93c5fd;background:#60a5fa26;border:1px solid #60a5fa73}.phase-badge--after{color:#6ee7b7;background:#34d39926;border:1px solid #34d39973}.work-photo-empty{flex-direction:column;gap:.75rem;padding:1rem 0;display:flex}.work-comparison h2,.work-comparison h3{margin:0 0 .5rem;font-size:.95rem}.comparison-grid{gap:1rem;display:grid}@media (min-width:900px){.comparison-grid{grid-template-columns:repeat(3,1fr)}}.violation-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.violation-item{border:1px solid var(--border);background:#0f14198c;border-radius:8px;gap:.2rem;padding:.55rem .65rem;font-size:.82rem;display:grid}.violation-item strong{font-size:.84rem}.violation-item--error{border-color:#f8717173}.violation-item--caution{border-color:#fbbf2473}.violation-item--ok{border-color:#34d39973}.method-tier-badge{color:#93c5fd;background:#60a5fa1f;border:1px solid #60a5fa59;border-radius:999px;margin:0 0 .75rem;padding:.2rem .65rem;font-size:.75rem;font-weight:700;display:inline-block}.how-it-works h1{margin:0 0 .75rem}.how-it-works h2{margin:1.5rem 0 .65rem;font-size:1rem}.how-lead{color:var(--muted);margin:0;font-size:1.05rem}.how-muted{color:var(--muted)}.how-steps{margin:0;padding-left:1.25rem}.how-steps li{margin-bottom:.45rem}.project-photos-panel-header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.field-project-photos--collapsed .project-photos-panel-header{margin-bottom:0}.project-photos-panel-title{margin:0;font-size:1.05rem}.project-photos-panel-toggle{min-width:2.75rem;min-height:2.75rem;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent;background:#e8edf514;border:1px solid #e8edf547;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;gap:.35rem;padding:.45rem .65rem;display:inline-flex}.project-photos-panel-toggle:hover,.project-photos-panel-toggle:focus-visible{color:var(--text);background:#3b9eff1f;border-color:#3b9eff8c;outline:none}.project-photos-panel-toggle-hint{letter-spacing:.01em;white-space:nowrap;font-size:.72rem;font-weight:600;display:none}@media (max-width:900px){.project-photos-panel-toggle{min-width:2.75rem;min-height:2.75rem}.project-photos-panel-toggle-hint{display:inline}}.project-photos-panel-chevron{border-bottom:2.5px solid;border-right:2.5px solid;flex-shrink:0;width:.55rem;height:.55rem;transition:transform .2s;display:inline-block;transform:rotate(45deg)}.project-photos-panel-toggle[aria-expanded=true] .project-photos-panel-chevron{transform:rotate(-135deg)}.project-photos-panel-body[hidden]{display:none}.project-photos-panel .field-project-photos{gap:1rem;display:grid}.project-photos-panel .field-project-photos-intro{color:var(--muted);margin:0;font-size:.88rem}.project-photos-panel .field-project-photos-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.field-file-input-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.project-photos-panel .field-btn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;padding:.65rem 1rem;font-size:.92rem;font-weight:600;display:inline-flex}.project-photos-panel .field-btn:disabled{opacity:.55;cursor:not-allowed}.project-photos-panel .field-btn-primary{background:var(--accent);color:#041018}.project-photos-panel .field-btn-primary:hover:not(:disabled){background:var(--accent-hover)}.project-photos-panel .field-btn-secondary{color:var(--text);border:1px solid var(--border);background:0 0}.project-photos-panel .field-btn-secondary:hover:not(:disabled){border-color:var(--accent)}.project-photos-panel .field-btn-ghost{color:var(--muted);background:0 0;border:1px solid #0000;padding:.35rem .55rem;font-size:.82rem;font-weight:500}.project-photos-panel .field-btn-ghost:hover:not(:disabled){color:var(--text);border-color:var(--border)}.project-photos-panel .field-project-photos-status{margin-left:.25rem;font-size:.82rem}.project-photos-panel .field-project-photos-status--saving{color:var(--muted)}.project-photos-panel .field-project-photos-status--saved{color:var(--success)}.project-photos-panel .field-project-photos-status--error{color:var(--danger)}.project-photos-panel .field-error{color:var(--danger);margin:0;font-size:.88rem}.project-photos-panel .field-project-photos-empty{background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;padding:1rem}.project-photos-panel .field-project-photos-empty p{color:var(--muted);margin:0;font-size:.88rem}.project-photos-panel .field-project-photos-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.85rem;display:grid}.project-photos-panel .field-project-photo{background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;gap:.45rem;padding:.55rem;display:grid}.project-photos-panel .field-project-photo-thumb{aspect-ratio:4/3;cursor:pointer;background:#0f1419;border:0;border-radius:8px;width:100%;padding:0;display:block;overflow:hidden}.project-photos-panel .field-project-photo-thumb img{object-fit:cover;width:100%;height:100%;display:block}.project-photos-panel .field-project-photo-placeholder{width:100%;height:100%;color:var(--muted);justify-content:center;align-items:center;font-size:.78rem;display:flex}.project-photos-panel .field-project-photo-meta{gap:.25rem;display:grid}.project-photos-panel .field-project-photo-caption{border:1px solid var(--border);width:100%;color:var(--text);background:#0f1419;border-radius:6px;padding:.35rem .45rem;font-size:.78rem}.project-photos-panel .field-project-photo-time{color:var(--muted);margin:0;font-size:.72rem}.project-photos-panel .field-project-photo-item-actions{flex-wrap:wrap;gap:.25rem;display:flex}.project-photos-panel .field-project-photo-lightbox{z-index:1200;background:#020617e0;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.project-photos-panel .field-project-photo-lightbox-inner{gap:.75rem;max-width:min(960px,100%);max-height:100%;display:grid}.project-photos-panel .field-project-photo-lightbox-inner img{object-fit:contain;border-radius:8px;width:100%;max-height:calc(100vh - 6rem)}.project-photos-panel .field-project-photo-lightbox-actions{flex-wrap:wrap;gap:.5rem;display:flex}.project-photos-panel .field-project-photo-camera{z-index:1400;background:#020617e0;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.project-photos-panel .field-project-photo-camera-inner{background:#0f172afa;border:1px solid #94a3b838;border-radius:12px;gap:.75rem;width:min(480px,100%);padding:1rem;display:grid;overflow:hidden}.project-photos-panel .field-project-photo-camera-title{margin:0;font-size:1rem;font-weight:600}.project-photos-panel .field-project-photo-camera-preview{background:#000;border-radius:8px;overflow:hidden}.project-photos-panel .field-project-photo-camera-preview video{object-fit:cover;width:100%;max-height:min(70vh,480px);display:block}.project-photos-panel .field-project-photo-camera-actions{flex-wrap:wrap;gap:.5rem;display:flex}.project-photos-panel .field-project-photo-move-dialog{z-index:1300;background:#020617e0;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.project-photos-panel .field-project-photo-move-dialog-inner{background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;gap:.75rem;width:min(420px,100%);max-height:min(80vh,560px);padding:1rem;display:grid;overflow:auto}.project-photos-panel .field-project-photo-move-dialog-title{margin:0;font-size:1rem;font-weight:600}.project-photos-panel .field-project-photo-move-dialog-intro{color:var(--muted);margin:0;font-size:.82rem}.project-photos-panel .field-muted{color:var(--muted);font-size:.88rem}.project-photos-panel .field-project-photo-move-list{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.project-photos-panel .field-project-photo-move-option{text-align:left;border:1px solid var(--border);background:var(--bg-panel);width:100%;color:var(--text);cursor:pointer;border-radius:8px;gap:.15rem;padding:.55rem .65rem;display:grid}.project-photos-panel .field-project-photo-move-option:hover{border-color:var(--accent)}.project-photos-panel .field-project-photo-move-option-name{font-size:.88rem;font-weight:600}.project-photos-panel .field-project-photo-move-option-meta{color:var(--muted);font-size:.72rem}.tour-welcome-card{background:linear-gradient(180deg, #3b9eff1f, var(--bg-panel));border-color:#3b9eff73;margin-bottom:1rem}.tour-welcome-card h2{margin:0 0 .4rem;font-size:1.15rem}.tour-welcome-card__actions{flex-wrap:wrap;gap:.55rem;margin-top:.85rem;display:flex}.tour-overlay{z-index:10000;pointer-events:none;position:fixed;inset:0}.tour-overlay--dim{background:#080c1273}.tour-target-ring{z-index:10001;pointer-events:none;border:2px solid #3b9eff;border-radius:10px;position:fixed;box-shadow:0 0 0 3px #3b9eff59}.tour-spotlight{z-index:10001;pointer-events:none;background:0 0;border-radius:10px;position:fixed;box-shadow:0 0 0 2px #3b9efff2,0 0 0 9999px #080c128c}.tour-bubble{color:#0f172a;pointer-events:auto;background:#e8edf5;border:1px solid #64748b73;border-radius:12px;padding:.75rem 2.4rem .75rem .85rem;position:fixed;box-shadow:0 12px 32px #00000059}.tour-bubble__close{color:#334155;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:2rem;height:2rem;margin:0;padding:0;font-size:1.35rem;line-height:1;display:inline-flex;position:absolute;top:.35rem;right:.35rem}.tour-bubble__close:hover{color:#0f172a;background:#64748b33}.tour-bubble__close:focus-visible{outline-offset:1px;outline:2px solid #2563eb}.tour-bubble__meta{color:#64748b;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.2rem;font-size:.72rem;font-weight:600}.tour-bubble__title{margin-bottom:.3rem;font-size:.98rem;display:block}.tour-bubble__body{color:#1e293b;margin:0;font-size:.88rem;line-height:1.4}.tour-bubble__action{color:#0f172a;background:#dbeafe;border:1px solid #93c5fd;border-radius:8px;margin:.55rem 0 0;padding:.45rem .55rem;font-size:.86rem;font-weight:600;line-height:1.35}.tour-bubble__action-label{text-transform:uppercase;letter-spacing:.04em;color:#1d4ed8;margin-bottom:.15rem;font-size:.68rem;font-weight:700;display:block}.tour-bubble__action[data-waiting=true]{background:#fef3c7;border-color:#fcd34d}.tour-bubble__action[data-waiting=true] .tour-bubble__action-label{color:#b45309}.tour-bubble__actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.tour-bubble__nav{gap:.4rem;display:flex}.tour-bubble__btn{padding:.35rem .7rem;font-size:.82rem}.tour-bubble .btn-secondary{color:#0f172a;background:#cbd5e1;border-color:#94a3b8}.tour-bubble .btn-secondary:hover:not(:disabled){background:#b6c2d1}.tour-bubble .btn-secondary:disabled{opacity:.45}.tour-bubble .btn-primary{background:#2563eb;border-color:#2563eb}.save-copy-to-phone{background:#10b9811f;border:1px solid #34d39973;border-radius:10px;margin:0 0 .75rem;padding:.7rem .8rem}.save-copy-to-phone__text{color:#e2e8f0;margin:0 0 .55rem;font-size:.88rem;line-height:1.35}.save-copy-to-phone__actions{flex-wrap:wrap;gap:.45rem;display:flex}.save-copy-to-phone__btn{font-size:.88rem}.save-copy-to-phone__result{color:#a7f3d0;margin:.55rem 0 0;font-size:.82rem;line-height:1.35}@media (max-width:640px){.tour-bubble{max-width:calc(100vw - 20px)!important}.tour-bubble__actions{flex-direction:column;align-items:stretch}.tour-bubble__nav{width:100%}.tour-bubble__nav .tour-bubble__btn{flex:1}}.org-settings{flex-direction:column;gap:1rem;display:flex}.org-rename-form{flex-wrap:wrap;align-items:flex-end;gap:.5rem;display:flex}.org-rename-form .org-field{flex:220px}.org-settings-card{flex-direction:column;gap:.85rem;display:flex}.org-settings-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.org-field{flex-direction:column;gap:.35rem;display:flex}.org-field input{width:100%}.org-invite-block{flex-direction:column;gap:.4rem;display:flex}.org-invite-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.org-invite-code{letter-spacing:.08em;border:1px solid var(--border);background:var(--bg-panel);border-radius:8px;padding:.45rem .7rem;font-size:1.1rem}.org-member-list{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.org-member-list li{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.45rem 0;display:flex}.org-member-list li>span:first-child{overflow-wrap:anywhere}.org-member-actions,.org-actions-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.btn.btn-small{padding:.3rem .6rem;font-size:.85rem}.org-rename-form .org-field.org-field-narrow{flex:0 160px}.org-credits-balance{margin:0;font-size:1.1rem}.org-credits-balance strong{font-size:1.6rem}.credits-notice{border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:8px;margin:.5rem 1rem;padding:.6rem .8rem}.credits-notice--out{border-left-color:var(--danger)}.org-admin-warning,.org-invite-received{border-left:4px solid var(--accent)}.master-map-page{min-height:100vh}.master-map-page .site-header{flex-shrink:0}.master-map-shell{flex:1;grid-template-columns:minmax(280px,360px) 1fr;min-height:calc(100vh - 64px);display:grid}.master-map-sidebar{border-right:1px solid var(--border);background:var(--bg-panel);flex-direction:column;gap:.85rem;max-height:calc(100vh - 64px);padding:1rem;display:flex;overflow:auto}.master-map-sidebar-header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.master-map-sidebar-header h1{margin:.15rem 0;font-size:1.35rem}.master-map-kicker{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.75rem}.master-map-filters{gap:.55rem;display:grid}.master-map-filters label{color:var(--muted);flex-direction:column;gap:.25rem;font-size:.82rem;display:flex}.master-map-filters select{width:100%}.master-map-hint{margin:0}.master-map-legend{color:var(--muted);flex-wrap:wrap;gap:.45rem .75rem;font-size:.78rem;display:flex}.master-map-legend span{align-items:center;gap:.3rem;display:inline-flex}.master-map-swatch{background:currentColor;border-radius:999px;width:.9rem;height:.28rem;display:inline-block}.master-map-swatch--aerial{background:#facc15}.master-map-swatch--underground{background:#22c55e repeating-linear-gradient(90deg,#22c55e 0 4px,#0000 4px 7px);height:.22rem}.master-map-swatch--strand{background:#fff}.master-map-swatch--conduit{background:#111827}.master-map-swatch--pole{background:#60a5fa;border:1px solid #fff;border-radius:999px;width:.55rem;height:.55rem}.master-map-swatch--survey{background:#c084fc;border:1px solid #fff;border-radius:999px;width:.55rem;height:.55rem}.leaflet-parcelsPane-pane path.master-map-parcel-path,.leaflet-pane.leaflet-parcelsPane-pane path{paint-order:stroke fill;filter:drop-shadow(0 0 1.5px #020617)drop-shadow(0 0 1.5px #020617);stroke:#22d3ee!important;stroke-opacity:1!important;stroke-width:4px!important;fill:#22d3ee!important;fill-opacity:.14!important}.master-map-swatch--parcel{background:#22d3ee40;border:2px solid #22d3ee;border-radius:2px;width:.7rem;height:.45rem}.master-map-swatch--county{background:#fbbf2433;border:2px solid #fbbf24;border-radius:2px;width:.7rem;height:.45rem}.master-map-swatch--city{background:#fb718533;border:2px solid #fb7185;border-radius:2px;width:.7rem;height:.45rem}.leaflet-countiesPane-pane path.master-map-county-path,.leaflet-pane.leaflet-countiesPane-pane path.master-map-county-path{stroke:#fbbf24!important;stroke-opacity:.95!important;stroke-width:2.5px!important;fill:#fbbf24!important;fill-opacity:.05!important}.leaflet-citiesPane-pane path.master-map-city-path,.leaflet-pane.leaflet-citiesPane-pane path.master-map-city-path{stroke:#fb7185!important;stroke-opacity:.9!important;stroke-width:1.75px!important;fill:#fb7185!important;fill-opacity:.06!important}.master-map-jurisdiction-notice{bottom:3.25rem}.master-map-parcels{border-bottom:1px solid var(--border);flex-direction:column;gap:.55rem;padding-bottom:.75rem;display:flex}.master-map-basemap-options{flex-direction:column;gap:.35rem;display:flex}.master-map-basemap-options button{border:1px solid var(--border);width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:8px;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.45rem .6rem;display:flex}.master-map-basemap-options button:hover{border-color:color-mix(in srgb, var(--border) 40%, #60a5fa)}.master-map-basemap-options button.is-active{background:#60a5fa24;border-color:#60a5fa}.master-map-basemap-options button span:first-child{font-size:.9rem;font-weight:600}.master-map-parcels h3{margin:0;font-size:.92rem}.master-map-parcel-nudge-overlay{z-index:1100;color:#f8fafc;background:#080f1cf0;border:1px solid #94a3b873;border-radius:12px;width:min(180px,100% - 24px);padding:.65rem .7rem .7rem;position:absolute;bottom:12px;right:12px;box-shadow:0 10px 28px #00000073}.master-map-parcel-nudge-overlay-title{font-size:.82rem;font-weight:700}.master-map-parcel-nudge-overlay-meta{color:#cbd5e1;margin:.15rem 0 .55rem;font-size:.72rem}.master-map-parcel-nudge-pad{grid-template-columns:1fr;justify-items:center;gap:.3rem;display:grid}.master-map-parcel-nudge-mid{grid-template-columns:1fr 1fr;gap:.3rem;width:100%;display:grid}.master-map-parcel-nudge-btn{color:#f8fafc;cursor:pointer;background:#1e293bf2;border:1px solid #94a3b873;border-radius:8px;min-width:2.6rem;min-height:2.2rem;font-weight:700}.master-map-parcel-nudge-btn:hover{background:#0e74908c;border-color:#38bdf8}.master-map-parcel-nudge-overlay-actions{gap:.35rem;margin-top:.55rem;display:flex}.master-map-parcel-nudge-overlay-actions button{color:#e2e8f0;cursor:pointer;background:0 0;border:1px solid #94a3b859;border-radius:8px;flex:1;padding:.35rem .4rem;font-size:.72rem}.master-map-parcel-nudge-overlay-actions button:hover{border-color:#93c5fd}.master-map-parcel-nudge{flex-direction:column;gap:.4rem;display:flex}.master-map-parcel-nudge-label{font-size:.85rem}.master-map-parcel-nudge-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;display:grid}.master-map-parcel-nudge-grid .btn,.master-map-parcel-nudge-actions .btn{padding:.35rem .45rem;font-size:.8rem}.master-map-parcel-nudge-actions{flex-wrap:wrap;gap:.35rem;display:flex}.master-map-parcel-actions{flex-direction:column;gap:.45rem;display:flex}.master-map-check{cursor:pointer;align-items:center;gap:.45rem;font-size:.9rem;display:flex}.master-map-check input:disabled+span{opacity:.5}.master-map-contributors h3{margin:0 0 .4rem;font-size:.92rem}.master-map-contributors ul{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.master-map-contributors li button{text-align:left;border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;background:0 0;border-radius:8px;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.45rem .55rem;display:flex}.master-map-contributors li button.is-active{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));background:color-mix(in srgb, var(--bg-elevated) 88%, var(--accent) 12%)}.master-map-canvas-frame{min-width:0;min-height:calc(100vh - 64px);position:relative}.master-map-canvas{background:#0b1220;width:100%;height:100%;min-height:calc(100vh - 64px)}.master-map-cluster{color:#f8fafc;background:#0f172ae0;border:2px solid #93c5fd;border-radius:999px;justify-content:center;align-items:center;width:36px;height:36px;font-size:.85rem;font-weight:700;display:flex;box-shadow:0 4px 14px #00000059}.master-map-cluster span{line-height:1}.master-map-detail{border-top:1px solid var(--border);flex-direction:column;gap:.7rem;padding-top:.5rem;display:flex}.master-map-detail-header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.master-map-detail-header h2{margin:0;font-size:1.05rem}.master-map-phase-toggle{grid-template-columns:1fr 1fr;gap:.4rem;display:grid}.master-map-phase-toggle button{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:8px;padding:.45rem .6rem;font-weight:600}.master-map-phase-toggle button.is-active{background:var(--accent);color:#041018;border-color:#0000}.master-map-phase-toggle button:disabled{opacity:.4;cursor:not-allowed}.master-map-photo{object-fit:contain;border:1px solid var(--border);background:#0f172a;border-radius:10px;width:100%;height:auto;max-height:min(60vh,560px);display:block}.master-map-photo-block{flex-direction:column;gap:.45rem;display:flex}.master-map-photo-button{cursor:zoom-in;text-align:left;background:0 0;border:none;width:100%;padding:0}.master-map-photo-zoom-btn{align-self:stretch}.master-map-photo-caption{color:var(--muted);font-size:.78rem;display:block}.master-map-photo--empty{min-height:180px;color:var(--muted);justify-content:center;align-items:center;font-size:.85rem;display:flex}.master-map-leaflet-popup .leaflet-popup-content-wrapper{color:#f8fafc;background:#080f1cf5;border:1px solid #94a3b859;border-radius:12px;box-shadow:0 16px 40px #00000073}.master-map-leaflet-popup .leaflet-popup-content{margin:.7rem;width:280px!important}.master-map-leaflet-popup .leaflet-popup-tip{background:#080f1cf5}.master-map-photo-popup-title{margin-bottom:.25rem;font-size:.92rem;font-weight:700}.master-map-photo-popup-meta{color:#cbd5e1;margin-bottom:.5rem;font-size:.75rem}.master-map-photo-popup-img{object-fit:contain;cursor:zoom-in;background:#020617;border-radius:8px;width:100%;max-height:360px;display:block}.master-map-photo-popup-zoom{cursor:pointer;color:#041018;background:#38bdf8;border:none;border-radius:8px;width:100%;margin-top:.45rem;padding:.55rem .7rem;font-weight:700}.master-map-photo-popup-hint,.master-map-photo-popup-empty{color:#94a3b8;margin-top:.4rem;font-size:.75rem}.master-map-lightbox{z-index:10050;background:#020617f0;flex-direction:column;display:flex;position:fixed;inset:0}.master-map-lightbox-toolbar{background:#080f1cf2;border-bottom:1px solid #94a3b840;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.master-map-lightbox-tools{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.master-map-lightbox-zoom-btn{min-width:6.5rem;padding:.7rem 1rem;font-size:1rem}.master-map-lightbox-scale{color:#e2e8f0;min-width:3.5rem;font-size:.95rem;font-weight:700}.master-map-lightbox-viewport{touch-action:none;cursor:zoom-in;flex:1;justify-content:center;align-items:center;min-height:0;padding:.75rem;display:flex;overflow:hidden}.master-map-lightbox-viewport.is-zoomed{cursor:grab}.master-map-lightbox-viewport.is-zoomed:active{cursor:grabbing}.master-map-lightbox-img{object-fit:contain;transform-origin:50%;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;cursor:zoom-in;background:#020617;border:1px solid #94a3b859;border-radius:12px;width:auto;max-width:min(96vw,1100px);height:auto;max-height:calc(100vh - 7.5rem)}.master-map-lightbox-help{text-align:center;color:#e2e8f0;background:#080f1cf2;border-top:1px solid #94a3b833;margin:0;padding:.55rem 1rem .75rem;font-size:.82rem}.master-map-meta{gap:.45rem;margin:0;display:grid}.master-map-meta div{grid-template-columns:7rem 1fr;gap:.5rem;font-size:.86rem;display:grid}.master-map-meta dt{color:var(--muted);margin:0}.master-map-meta dd{margin:0}.master-map-attachments ul,.master-map-violations ul{flex-direction:column;gap:.35rem;margin:.35rem 0 0;padding:0;list-style:none;display:flex}.master-map-attachments h3,.master-map-violations h3{margin:0;font-size:.92rem}.master-map-attachments li{justify-content:space-between;gap:.75rem;font-size:.84rem;display:flex}.master-map-violations li{flex-direction:column;gap:.15rem;font-size:.84rem;display:flex}.master-map-open-measure{align-self:flex-start}.master-map-empty-state{flex-direction:column;align-items:flex-start;gap:.85rem;max-width:560px;padding:2rem 1.5rem;display:flex}.admin-entry{margin-top:1.75rem;font-size:.82rem}.admin-entry a{color:var(--muted)}.admin-entry a:hover{color:var(--text)}.admin-main{max-width:1200px}.site-main.admin-main{width:min(1200px,100%)}.admin-dashboard-hint{margin:.35rem 0 0}.admin-stat-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.85rem;margin:1rem 0 1.5rem;display:grid}button.admin-stat-card{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;transition:border-color .15s,box-shadow .15s}button.admin-stat-card:hover,button.admin-stat-card:focus-visible{border-color:var(--accent)}button.admin-stat-card[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 2px #3b9eff47}.admin-stat-card h2{margin:.15rem 0 0;font-size:.92rem;font-weight:600}.admin-stat-value{letter-spacing:-.03em;margin:0;font-size:1.85rem;font-weight:700}.admin-companies{margin-bottom:2rem}.admin-companies>.card+.card{margin-top:1rem}.admin-dashboard-layout{grid-template-columns:minmax(0,1fr) minmax(260px,320px);align-items:start;gap:1rem;display:grid}.admin-table-header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.admin-table-card h2,.admin-account-detail h2{margin:0 0 .35rem}.admin-table tbody tr{cursor:pointer}.admin-table tbody tr:hover,.admin-table tbody tr:focus-visible{background:var(--bg-panel)}.admin-table tbody tr.is-selected,.admin-table tbody tr[aria-selected=true]{background:#3b9eff1f}.admin-account-email{word-break:break-word;margin:.35rem 0 .75rem;font-weight:700}.admin-account-facts{grid-template-columns:minmax(7.5rem,42%) 1fr;gap:.4rem .75rem;margin:0;display:grid}.admin-account-facts dt{color:var(--muted);font-size:.82rem}.admin-account-facts dd{margin:0;font-weight:600}.admin-org-list{gap:.65rem;margin:.85rem 0 0;padding:0;list-style:none;display:grid}.admin-org-list li{border-bottom:1px solid var(--border);flex-direction:column;gap:.1rem;padding-bottom:.65rem;display:flex}.admin-org-list li:last-child{border-bottom:none;padding-bottom:0}.admin-table-wrap{margin-top:.85rem;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.86rem}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:.55rem .65rem}.admin-table th{color:var(--muted);font-weight:600}.admin-warnings{color:var(--danger);margin:0 0 1rem;padding-left:1.15rem;font-size:.88rem}@media (max-width:900px){.admin-dashboard-layout{grid-template-columns:1fr}.master-map-shell{grid-template-rows:minmax(280px,45vh) minmax(40vh,1fr);grid-template-columns:1fr}.master-map-sidebar{border-right:none;border-bottom:1px solid var(--border);order:2;max-height:none}.master-map-canvas-frame{order:1;min-height:45vh}.master-map-canvas{order:unset;min-height:45vh}.org-settings-header{flex-direction:column}}.pole-row-with-pedestals{grid-template-columns:minmax(0,1fr) minmax(240px,340px);align-items:stretch;gap:.75rem;display:grid}.pole-row-pedestals{align-content:start;gap:.5rem;display:grid}.pole-row-pedestals-heading{color:var(--muted);letter-spacing:.02em;text-transform:uppercase;margin:0;font-size:.82rem;font-weight:700}.pole-row-pedestals-list{gap:.5rem;display:grid}.pole-row-pedestal-card h3,.pole-row-span-card h3{font-size:.95rem}.pole-row-spans{gap:.5rem;display:grid}.pedestal-edit-header{margin-bottom:1rem}.pedestal-edit-grid{align-items:start;gap:1rem;display:grid}.pedestal-edit-left{gap:1rem;display:grid}.pedestal-edit-panel h2{margin:0 0 .65rem;font-size:1rem}.pedestal-edit-photo-actions{flex-wrap:wrap;gap:.5rem;display:flex}.pedestal-edit-right{flex-direction:column;justify-content:center;min-height:280px;display:flex}.pedestal-edit-photo{object-fit:contain;background:#000;border-radius:8px;width:100%;max-height:min(80vh,720px);display:block}.pedestal-edit-photo-empty{text-align:center;border:1px dashed var(--border);border-radius:8px;place-items:center;min-height:240px;padding:1.5rem;display:grid}.pedestal-edit-camera{gap:.75rem;display:grid}.pedestal-edit-camera-preview{background:#000;border-radius:8px;overflow:hidden}.pedestal-edit-camera-preview video{object-fit:cover;width:100%;max-height:min(70vh,560px);display:block}.pedestal-edit-camera-actions{flex-wrap:wrap;gap:.5rem;display:flex}.pedestal-location-panel{gap:.75rem;display:grid}.pedestal-location-coords{background:#0f172a73;border:1px solid #34d39959;border-radius:8px;padding:.75rem}.pedestal-location-coords-value{color:#86efac;word-break:break-all;font-size:.95rem;font-weight:650}.pedestal-location-maps-link{margin-top:.55rem;font-size:.82rem;font-weight:600;display:inline-block}.pedestal-location-legend{color:var(--muted);flex-wrap:wrap;gap:.75rem 1rem;font-size:.82rem;display:flex}.pedestal-location-legend-item{align-items:center;gap:.45rem;display:inline-flex}.pedestal-location-map{width:100%;height:100%;min-height:220px}.pedestal-location-map .leaflet-container{width:100%;height:100%}@media (min-width:900px){.pedestal-edit-grid{grid-template-columns:minmax(280px,380px) minmax(0,1fr)}}@media (max-width:720px){.pole-row-with-pedestals{grid-template-columns:1fr}}.project-pole-search{gap:.3rem;display:grid}.project-pole-search--bar{max-width:28rem;margin-bottom:.85rem}.project-pole-search-input{border:1px solid var(--border);background:var(--bg-panel);width:100%;color:var(--text);font:inherit;border-radius:8px;padding:.6rem .75rem}.project-pole-search-input::placeholder{color:var(--muted)}.project-pole-search-input:focus{border-color:var(--accent);outline:none}
