*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;overflow:hidden}:root{--bg: #0b1220;--bg-panel: rgba(15, 23, 42, .82);--bg-panel-hover: rgba(30, 41, 59, .9);--border: rgba(148, 163, 184, .18);--text: #e2e8f0;--text-muted: #94a3b8;--accent: #3ee0b0;--accent-dim: rgba(62, 224, 176, .15);--danger: #f87171;--warning: #fbbf24;--radius: 12px;--shadow: 0 8px 32px rgba(0, 0, 0, .45);--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}button,input,select{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}.app{position:relative;width:100%;height:100%}.glass-panel{background:var(--bg-panel);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.875rem 1rem;border-bottom:1px solid var(--border)}.drag-handle{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.drag-handle:active,.is-dragging,.is-dragging .drag-handle{cursor:grabbing}.panel-header h2{font-size:.8125rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.panel-body{padding:.875rem 1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem .875rem;border-radius:8px;font-size:.8125rem;font-weight:500;transition:background .15s,border-color .15s,opacity .15s}.btn-primary{background:var(--accent);color:#0b1220}.btn-primary:hover:not(:disabled){filter:brightness(1.08)}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--text)}.btn-ghost:hover{background:var(--bg-panel-hover)}.btn-ghost:disabled{opacity:.45;cursor:not-allowed}.btn-danger{background:#f8717124;border:1px solid rgba(248,113,113,.4);color:var(--danger)}.btn-danger:hover:not(:disabled){background:#f871713d}.btn-danger:disabled{opacity:.45;cursor:not-allowed}.btn-icon{width:2rem;height:2rem;padding:0;border-radius:8px;color:var(--text-muted)}.btn-icon:hover{background:var(--bg-panel-hover);color:var(--text)}.map-shell{position:absolute;top:0;right:0;bottom:0;left:0}.map-overlay-top{position:absolute;top:1rem;left:1rem;right:1rem;display:flex;align-items:center;gap:.75rem;pointer-events:none;z-index:12}.map-overlay-top>*{pointer-events:auto}.map-overlay-left{position:absolute;top:5.5rem;left:1rem;bottom:1rem;z-index:10;display:flex;flex-direction:column;gap:.75rem;overflow:auto;max-width:320px;pointer-events:none}.map-overlay-left>*{pointer-events:auto}.map-overlay-right{position:absolute;top:1rem;right:1rem;bottom:1rem;z-index:10;display:flex;flex-direction:column;gap:.75rem;max-width:360px}.brand{display:flex;align-items:center;gap:.625rem;padding:.625rem 1rem;white-space:nowrap}.brand-logo{width:30px;height:30px;border-radius:7px;display:block;flex-shrink:0;object-fit:contain}.brand-name{font-size:.875rem;font-weight:600;letter-spacing:-.02em}.brand-tag{font-size:.6875rem;color:var(--text-muted);font-weight:500}.topbar-actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0;margin-left:auto}.topbar-btn{height:42px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);border-radius:var(--radius);flex-shrink:0}.topbar-btn:hover{color:var(--text);background:var(--bg-panel-hover)}.map-type-fab{position:absolute;right:calc(2.2rem + 96px);bottom:calc(1.1rem + 4px);z-index:18;width:44px;height:44px;padding:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:pointer;pointer-events:auto}.map-type-fab:hover{color:var(--text)}.add-fab{position:absolute;right:1.1rem;bottom:1.1rem;z-index:18;display:flex;flex-direction:column;align-items:flex-end;gap:.55rem;pointer-events:auto}.add-fab-menu{display:flex;flex-direction:column;align-items:flex-end;gap:.4rem}.add-fab-option{min-width:5.5rem;padding:.45rem .85rem;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.04em;color:var(--text);background:#0f172aeb;border:1px solid rgba(148,163,184,.22);box-shadow:0 8px 24px #00000059}.add-fab-option:hover:not(:disabled){color:var(--accent);border-color:#34d39973}.add-fab-btn{width:52px;height:52px;border-radius:999px;border:0;background:var(--accent);color:#042f24;font-size:1.85rem;font-weight:500;line-height:1;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 10px 28px #0006}.add-fab-btn:hover:not(:disabled){filter:brightness(1.08)}.add-fab-btn--open{background:#e2e8f0}.add-fab-btn:disabled{opacity:.45}.tap-picker{position:absolute;top:0;right:0;bottom:0;left:0;z-index:45;pointer-events:none}.tap-picker-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;padding:0;background:transparent;pointer-events:auto}.tap-picker-panel{position:absolute;left:var(--tap-x);top:var(--tap-y);transform:translate(-50%);width:min(290px,calc(100% - 1rem));max-height:min(360px,60vh);display:flex;flex-direction:column;overflow:hidden;pointer-events:auto;box-shadow:0 14px 40px #00000080}.tap-picker-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.45rem .45rem .35rem .85rem;font-size:.8125rem;border-bottom:1px solid var(--border)}.tap-picker-close{min-width:36px;min-height:36px}.tap-picker-list{list-style:none;margin:0;padding:.25rem;overflow-y:auto}.tap-picker-item{width:100%;min-height:44px;display:flex;align-items:center;gap:.6rem;padding:.35rem .55rem;border:0;border-radius:8px;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.tap-picker-item:hover,.tap-picker-item:focus-visible{background:var(--bg-panel-hover)}.tap-picker-icon{flex:0 0 26px;display:inline-flex;align-items:center;justify-content:center}.tap-picker-text{min-width:0;display:flex;flex-direction:column}.tap-picker-name{font-size:.875rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tap-picker-text small{color:var(--text-muted);font-size:.75rem}@media(max-width:768px){.tap-picker-backdrop{background:#02061759}.tap-picker-panel{left:max(.5rem,env(safe-area-inset-left));right:max(.5rem,env(safe-area-inset-right));top:auto;bottom:max(.5rem,env(safe-area-inset-bottom));width:auto;transform:none;max-height:55vh;border-radius:16px}.tap-picker-close{min-width:44px;min-height:44px}.tap-picker-item{min-height:52px}}.gps-fab{position:absolute;right:calc(1.1rem + 52px + .6rem);bottom:calc(1.1rem + 4px);z-index:18;width:44px;height:44px;padding:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:pointer;pointer-events:auto}.gps-fab--locating{color:#93c5fd;animation:gps-pulse 1.2s ease-in-out infinite}.gps-fab--on{color:#60a5fa}.gps-fab--follow{color:#fff;background:#2563eb;border-color:#2563eb}.gps-fab--error{color:var(--danger)}@keyframes gps-pulse{50%{opacity:.45}}.gps-toast{position:absolute;left:50%;bottom:calc(5rem + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:42;width:min(92vw,380px);padding:.6rem .9rem;font-size:.8125rem;text-align:center;pointer-events:none}.geometry-gps-btn{min-width:44px;min-height:44px;padding:0 .6rem;display:inline-flex;align-items:center;justify-content:center;color:#60a5fa}.geometry-gps-spinner{width:18px;height:18px;border-radius:999px;border:2px solid currentColor;border-right-color:transparent;animation:gps-spin .8s linear infinite}@keyframes gps-spin{to{transform:rotate(360deg)}}.layer-panel-header{padding:.65rem .75rem}.layer-mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:.25rem;width:100%;padding:.2rem;border-radius:8px;background:#0f172a73}.layer-mode-btn{padding:.4rem .5rem;border-radius:6px;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.layer-mode-btn:hover{color:var(--text)}.layer-mode-btn--active{background:var(--bg-panel-hover);color:var(--text);box-shadow:inset 0 0 0 1px var(--border)}.layer-item--selected{background:var(--accent-dim)}.layer-item--off{opacity:.45}.layer-item--off:hover{opacity:.72}.layer-muni-toolbar{display:flex;gap:.4rem;margin-bottom:.55rem}.layer-muni-action{flex:1;padding:.4rem .45rem;border-radius:6px;font-size:.75rem;font-weight:600;letter-spacing:0;color:var(--text-muted);background:#0f172a73;border:1px solid var(--border);white-space:nowrap}.layer-muni-action:hover:not(:disabled){color:var(--text);background:var(--bg-panel-hover)}.layer-muni-action:disabled{opacity:.4}.layer-muni-filter{margin-bottom:.6rem}.layer-muni-check{display:inline-flex;align-items:center;flex-shrink:0;cursor:pointer}.layer-muni-name{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:.05rem;padding:.05rem 0;background:none;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.layer-muni-title{max-width:100%;font-size:.8125rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-muni-meta{max-width:100%;font-size:.6875rem;line-height:1.2;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-muni-kinds{display:flex;flex-direction:column;gap:.25rem;padding:0 .15rem .25rem .85rem}.layer-list{list-style:none;display:flex;flex-direction:column;gap:.375rem}.layer-item{display:flex;align-items:center;gap:.375rem;padding:.5rem .5rem .5rem .35rem;border-radius:8px;transition:background .15s;-webkit-user-select:none;user-select:none}.layer-item:hover{background:var(--bg-panel-hover)}.layer-item input[type=checkbox]{accent-color:var(--accent);width:1rem;height:1rem}.layer-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.layer-icon svg{width:20px;height:20px}.layer-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.layer-dot--pop{background:#3ee0b0}.layer-dot--thirdPartyPop{background:#818cf8}.layer-dot--ceo{background:#fff}.layer-dot--cable{background:linear-gradient(90deg,#3ee0b0,#38bdf8)}.layer-dot--swap{background:#facc15}.layer-dot--partnerCable{background:#f43f5e}.layer-dot--client{background:#22d3ee}.layer-dot--technicalReserve{background:#facc15}.layer-dot--municipio{background:#7dd3fc47;box-shadow:inset 0 0 0 1.5px #38bdf8}.layer-label{flex:1;font-size:.8125rem}.layer-count{font-size:.75rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.layer-panel{max-height:100%;display:flex;flex-direction:column;min-height:0}.layer-panel .panel-body{overflow-y:auto;min-height:0;overscroll-behavior:contain}.layer-row{display:flex;flex-direction:column;gap:.25rem}.layer-expand-btn{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;flex-shrink:0;border-radius:6px;color:var(--text-muted)}.layer-expand-btn:hover{background:#94a3b81f;color:var(--text)}.layer-chevron{display:block;transition:transform .15s ease}.layer-chevron--open{transform:rotate(90deg)}.layer-toggle{display:flex;align-items:center;gap:.625rem;flex:1;min-width:0;cursor:pointer}.layer-objects{display:flex;flex-direction:column;gap:.35rem;padding:0 .25rem .35rem 1.6rem}.layer-object-filter{width:100%;padding:.35rem .5rem;border:1px solid var(--border);border-radius:6px;background:#0f172a8c;font-size:.75rem;outline:none}.layer-object-filter:focus{border-color:var(--accent)}.layer-object-filter::placeholder{color:var(--text-muted)}.layer-object-list{max-height:240px;overflow-y:auto;padding-right:.15rem;overscroll-behavior:contain}.layer-object-list-inner{position:relative;list-style:none;margin:0;padding:0}.layer-object-list-inner>li{position:absolute;left:0;right:0}.layer-objects-empty{padding:.45rem .35rem;font-size:.75rem;color:var(--text-muted)}.layer-object-item{width:100%;height:28px;box-sizing:border-box;display:flex;align-items:center;gap:.4rem;padding:0 .45rem;border-radius:6px;text-align:left;font-size:.75rem;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-object-item:hover{background:var(--bg-panel-hover)}.layer-object-item--selected{background:var(--accent-dim)}.layer-object-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-object-secondary{flex-shrink:0;font-size:.6875rem;color:var(--text-muted)}.detail-panel{width:380px;max-height:100%;display:flex;flex-direction:column;animation:slideIn .2s ease-out}@keyframes slideIn{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.detail-panel .panel-body{overflow-y:auto;flex:1}.detail-kind{display:inline-flex;align-items:center;gap:.375rem;max-width:100%;padding:.25rem .625rem;border-radius:999px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;background:var(--accent-dim);color:var(--accent);margin-bottom:.75rem;overflow-wrap:anywhere}.detail-name{font-size:1.125rem;font-weight:600;line-height:1.3;margin-bottom:1rem}.detail-sigla{margin-left:.4rem;font-size:.85em;font-weight:600;letter-spacing:.04em;color:var(--accent)}.detail-grid{display:grid;gap:.625rem}.detail-row{display:grid;grid-template-columns:110px 1fr;gap:.5rem;font-size:.8125rem}.detail-row dt{color:var(--text-muted)}.detail-row dd{word-break:break-word}.detail-attributes{margin-top:1rem;padding-top:.875rem;border-top:1px solid var(--border)}.detail-attributes h3{font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.625rem}.attr-list{list-style:none;display:flex;flex-direction:column;gap:.375rem}.attr-list li{display:flex;justify-content:space-between;gap:.5rem;font-size:.75rem;padding:.375rem .5rem;background:#0003;border-radius:6px}.attr-key{color:var(--text-muted)}.detail-actions{margin-top:1.125rem;padding-top:.875rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.625rem}.detail-delete-confirm{display:flex;flex-direction:column;gap:.625rem}.detail-delete-hint{margin:0;font-size:.8125rem;color:var(--text-muted);line-height:1.4}.detail-delete-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.detail-error{font-size:.75rem;color:var(--danger);line-height:1.4}.detail-muted{margin:0;font-size:.75rem;color:var(--text-muted);line-height:1.4}.detail-assets{margin-top:1rem;padding-top:.875rem;border-top:1px solid var(--border)}.detail-assets h3,.detail-assets h4{font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.625rem}.detail-assets h4{margin-top:.75rem}.detail-assets-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.detail-assets-head h3{margin-bottom:0}.diagram-summary{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:.5rem}.diagram-summary span{font-size:.6875rem;padding:.2rem .5rem;border-radius:999px;background:var(--accent-dim);color:var(--accent)}.diagram-address{margin-bottom:.625rem}.diagram-cables{display:flex;flex-direction:column;gap:.5rem}.diagram-cable{padding:.5rem;border-radius:8px;background:#00000038}.diagram-cable-head{display:flex;align-items:center;gap:.375rem;font-size:.75rem;margin-bottom:.375rem}.diagram-cable-head strong{flex:1;font-weight:600;overflow-wrap:anywhere}.diagram-swatch{width:.625rem;height:.625rem;border-radius:999px;flex-shrink:0;border:1px solid rgba(255,255,255,.25)}.diagram-tubes{display:flex;flex-direction:column;gap:.2rem}.diagram-tube{display:flex;align-items:center;gap:.375rem}.diagram-tube-bar{width:3px;align-self:stretch;min-height:8px;border-radius:2px}.diagram-fibers{display:flex;flex-wrap:wrap;gap:2px}.diagram-fiber{width:8px;height:8px;border-radius:2px;border:1px solid rgba(0,0,0,.35)}.fusion-list{list-style:none;display:flex;flex-direction:column;gap:.375rem;max-height:220px;overflow:auto}.diagram-overlay .fusion-list{max-height:min(48vh,480px)}.fusion-list li{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .375rem;font-size:.6875rem;padding:.375rem .5rem;background:#0003;border-radius:6px}.fusion-side{display:inline-flex;align-items:center;gap:.25rem;min-width:0;overflow-wrap:anywhere}.fusion-arrow{color:var(--text-muted)}.fusion-label{margin-left:auto;color:var(--accent);font-weight:600}.image-gallery{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.image-thumb{display:flex;flex-direction:column;gap:.25rem;width:100%;padding:0;text-align:left;color:inherit}.image-thumb img{width:100%;height:88px;object-fit:cover;border-radius:8px;border:1px solid var(--border);background:#0000004d}.image-thumb span{font-size:.6875rem;color:var(--text-muted);overflow-wrap:anywhere}.diagram-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:#020617b8}.diagram-overlay-panel{width:min(960px,100%);max-height:90vh;display:flex;flex-direction:column;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.diagram-overlay-body{overflow:auto}.diagram-hint{margin-bottom:.625rem}.diagram-viewer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;z-index:400;display:flex;overflow:hidden;background:#fff}.diagram-viewer-overlay[hidden]{display:none}.diagram-viewer{display:flex;flex-direction:column;width:100vw;height:100vh;max-width:none;max-height:none;background:#fff;color:#111827}.diagram-viewer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;padding:.6rem max(.5rem,env(safe-area-inset-right,0px)) .6rem max(.75rem,env(safe-area-inset-left,0px));border-bottom:1px solid #e5e7eb;background:#f8fafc;flex-shrink:0}.diagram-viewer-header>div:first-child{flex:1;min-width:0}.diagram-viewer-header h2{font-size:.875rem;font-weight:650;letter-spacing:.02em;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.diagram-viewer-meta{margin-top:.2rem;font-size:.6875rem;color:#64748b;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.diagram-viewer-actions{display:flex;align-items:center;gap:.15rem;flex-shrink:0}.diagram-viewer .btn-icon{color:#64748b;min-width:44px;min-height:44px}.diagram-viewer .btn-icon.is-active{background:#dbeafe;color:#1d4ed8}.diagram-viewer .btn-icon:hover{background:#e2e8f0;color:#0f172a}.diagram-cable-body.is-draggable,.diagram-tube-handle.is-draggable{cursor:grab}.diagram-canvas-shell.is-editing .diagram-cable-body.is-draggable:active,.diagram-canvas-shell.is-editing .diagram-tube-handle.is-draggable:active{cursor:grabbing}.diagram-snap-guide{stroke:#3b82f6;stroke-width:1;stroke-dasharray:4 4;opacity:.7;pointer-events:none}.diagram-vertex-handle{fill:#fff;stroke:#2563eb;stroke-width:2;cursor:grab}.diagram-vertex{cursor:grab}.diagram-vertex:active{cursor:grabbing}.diagram-vertex.is-selected .diagram-vertex-handle{fill:#2563eb;stroke:#fff}.diagram-link-label-hit{fill:transparent;stroke:none}.diagram-link-label-group.is-draggable{cursor:grab;touch-action:none}.diagram-link-label-group.is-draggable:active{cursor:grabbing}.diagram-link-label-group.is-selected .diagram-link-label-hit{fill:#dbeafee6;stroke:#2563eb;stroke-width:1;stroke-dasharray:3 2}.diagram-vertex-remove{cursor:pointer}.diagram-vertex-remove-bg{fill:#dc2626;stroke:#fff;stroke-width:2}.diagram-vertex-remove-x{stroke:#fff;stroke-width:2.2;stroke-linecap:round}.diagram-cable-selection{fill:#2563eb14;stroke:#2563eb;stroke-width:1.5;stroke-dasharray:5 4;pointer-events:none}.diagram-vertex-add{fill:#93c5fd;stroke:#1d4ed8;stroke-width:1;opacity:.85;cursor:pointer}.diagram-fusion-toolbar{position:absolute;z-index:3;left:50%;bottom:calc(3.75rem + env(safe-area-inset-bottom,0px));display:flex;justify-content:center;transform:translate(-50%);pointer-events:auto}.diagram-fusion-toolbar .diagram-fusion-editor{width:min(240px,calc(100vw - 2rem))}.diagram-fusion-actions{display:flex;align-items:center;gap:.25rem;padding:.3rem;background:#fffffff5;border:1px solid #cbd5e1;border-radius:10px;box-shadow:0 4px 16px #0f172a1f}.diagram-fusion-actions .btn-icon{min-width:44px;min-height:44px;color:#334155}.diagram-fusion-editor{display:flex;align-items:center;gap:.35rem;padding:.35rem;width:100%;background:#fffffff5;border:1px solid #cbd5e1;border-radius:8px;box-shadow:0 4px 16px #0f172a1f}.diagram-fusion-editor input{flex:1;min-width:0;min-height:40px;border:1px solid #cbd5e1;border-radius:6px;padding:.35rem .55rem;font-size:.8125rem}.diagram-fusion-editor .btn-icon{min-width:40px;min-height:40px}.diagram-label-inline{position:absolute;z-index:6;width:min(320px,calc(100% - 1rem));gap:.25rem;transform:translate(-50%,-50%);box-shadow:0 6px 20px #0f172a47;border-color:#2563eb}.diagram-label-inline input{flex:1 1 auto;min-width:0;font-size:16px;font-weight:650;text-align:center}.diagram-label-inline .btn-icon{flex:0 0 44px;width:44px;padding:0;min-width:44px;min-height:44px;color:#0f172a}.diagram-viewer-body{position:relative;flex:1;min-height:0;min-width:0;background:#fff}.diagram-label-prompt{position:fixed;left:50%;bottom:calc(.75rem + env(safe-area-inset-bottom,0px));z-index:40;width:min(30rem,calc(100vw - 1.5rem));max-height:70vh;overflow-y:auto;transform:translate(-50%);display:grid;gap:.5rem;padding:.9rem 1rem;background:#fff;color:#111827;border:1px solid #cbd5e1;border-radius:14px;box-shadow:0 12px 32px #0f172a40;font-size:.875rem}.diagram-label-prompt p{margin:0;color:#334155}.diagram-label-prompt ul{margin:0;padding:0;list-style:none;display:grid;gap:.25rem;font-size:.8125rem}.diagram-label-prompt li{display:grid;padding:.3rem .5rem;background:#f1f5f9;border-radius:8px}.diagram-label-prompt li small{color:#64748b;overflow-wrap:anywhere}.diagram-label-prompt-btns{display:flex;flex-wrap:wrap;gap:.5rem}.diagram-label-prompt-btns .btn{flex:1 1 12rem;min-height:2.75rem}.diagram-label-prompt-btns .btn-ghost{color:#1e293b;border-color:#cbd5e1}.diagram-viewer-status{padding:2rem 1.25rem;color:#64748b;font-size:.875rem}.diagram-canvas-shell{position:relative;width:100%;height:100%}.diagram-canvas{width:100%;height:100%;overflow:hidden;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}.diagram-canvas:active{cursor:grabbing}.diagram-svg{display:block;width:100%;height:100%}.diagram-cable-body{fill:#fff;stroke-width:1.6}.diagram-cable-title{display:flex;align-items:flex-end;justify-content:center;gap:.3rem;width:100%;height:100%;font-size:11px;font-weight:600;color:#111827;line-height:1.2;text-align:center;pointer-events:none}.diagram-cable-title>span:last-child{min-width:0;overflow-wrap:anywhere}.diagram-cable-title small{font-weight:500;color:#64748b}.diagram-pin{display:inline-flex;margin-top:1px;flex-shrink:0}.diagram-cable-title.is-button{margin:0;padding:0 2px 1px;border:0;border-radius:4px;background:transparent;font:inherit;font-size:11px;font-weight:600;cursor:pointer;pointer-events:auto}.diagram-cable-title.is-button .diagram-pin{color:#dc2626}.diagram-cable-title.is-button:hover,.diagram-cable-title.is-button:focus-visible{background:#2563eb1a;outline:none}.diagram-cable-title.is-button:active{background:#2563eb33}.diagram-trace-banner{align-items:center;gap:.5rem;padding:.35rem .35rem .35rem .8rem;background:#1e3a8a;color:#fff;border-radius:10px;font-size:.875rem;font-weight:600;white-space:nowrap;box-shadow:0 6px 18px #0f172a40}.diagram-trace-banner .btn{min-height:44px;color:#fff;border-color:#ffffff80}.diagram-map-sheet{position:fixed;z-index:390;left:50%;bottom:0;transform:translate(-50%);width:min(460px,100vw);max-height:45vh;display:flex;flex-direction:column;background:#fff;color:#111827;border-radius:14px 14px 0 0;box-shadow:0 -6px 24px #0f172a38;padding-bottom:env(safe-area-inset-bottom,0px)}.diagram-map-sheet-head{display:flex;align-items:center;gap:.25rem;padding:.4rem .5rem .4rem .25rem;border-bottom:1px solid #e5e7eb}.diagram-map-sheet-head .btn-icon{min-width:44px;min-height:44px}.diagram-map-sheet-title{flex:1;min-width:0;min-height:44px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:.2rem .5rem;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.diagram-map-sheet-title strong,.diagram-map-sheet-title span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.diagram-map-sheet-title span{font-size:.8rem;color:#64748b}.diagram-map-sheet-warn{margin:0;padding:.45rem .9rem;font-size:.8rem;color:#92400e;background:#fef3c7}.diagram-route-list{margin:0;padding:.35rem .5rem .6rem;list-style:none;overflow-y:auto;-webkit-overflow-scrolling:touch}.diagram-route-end{padding:.35rem .5rem;font-size:.75rem;font-style:italic;color:#64748b}.diagram-route-item{width:100%;min-height:44px;display:flex;align-items:center;gap:.6rem;padding:.35rem .5rem;border:0;border-radius:8px;background:transparent;color:inherit;font:inherit;font-size:.85rem;text-align:left;cursor:pointer}.diagram-route-item:active,.diagram-route-item:hover{background:#f1f5f9}.diagram-route-item>span:last-child{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere}.diagram-route-item small{font-size:.75rem;color:#64748b}.diagram-route-item.is-cable>span:last-child{flex-direction:row;flex-wrap:wrap;gap:.2rem;color:#334155}.diagram-route-item.is-missing{opacity:.55}.diagram-route-fiber{flex-shrink:0;width:4px;height:26px;margin:0 5px;border-radius:2px;box-shadow:0 0 0 1px #0f172a33}.diagram-route-box{flex-shrink:0;width:14px;height:14px;border-radius:4px;background:#fff;border:3px solid #2563eb}.diagram-fiber-num{font-size:8px;font-weight:700;text-anchor:middle;dominant-baseline:central;pointer-events:none}.diagram-tube-handle{cursor:grab}.diagram-fiber-node,.diagram-link{cursor:pointer}.diagram-link-line{fill:none;stroke:#2b2b2b;stroke-width:2;stroke-linecap:round;vector-effect:non-scaling-stroke;pointer-events:none}.diagram-link-hit{fill:none;stroke:transparent;stroke-width:18;vector-effect:non-scaling-stroke}.diagram-link.is-active .diagram-link-line{stroke:#dc2626;stroke-width:2.4}.diagram-link-label{font-size:11px;font-weight:650;fill:#0f172a;text-anchor:middle;dominant-baseline:central;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round;pointer-events:none}.diagram-zoom{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:.35rem}.diagram-zoom .btn{width:2.1rem;height:2.1rem;padding:0;background:#fff;color:#0f172a;border:1px solid #cbd5e1;box-shadow:0 4px 12px #0f172a1f}.diagram-zoom .btn:hover{background:#f1f5f9}.diagram-link-count{position:absolute;left:.75rem;bottom:.75rem;padding:.25rem .55rem;border-radius:999px;background:#f8fafceb;border:1px solid #e2e8f0;color:#334155;font-size:.6875rem;font-weight:600;pointer-events:none}.image-lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;display:flex;align-items:center;justify-content:center;padding:2.75rem 3.75rem 2rem;background:#020617e0}.image-lightbox-stage{max-width:96vw;max-height:94vh;display:flex;flex-direction:column;align-items:center;gap:.65rem}.image-lightbox-stage img{display:block;max-width:min(96vw,1400px);max-height:88vh;width:auto;height:auto;object-fit:contain;border-radius:8px;background:#000;box-shadow:0 16px 48px #0000008c}.image-lightbox-close{position:absolute;top:.85rem;right:.85rem;width:2.35rem;height:2.35rem;border-radius:999px;background:#0f172ad1;color:#fff;font-size:1.45rem;line-height:1;display:flex;align-items:center;justify-content:center}.image-lightbox-close:hover,.image-lightbox-nav:hover{background:#0f172af5}.image-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:2.5rem;height:2.5rem;border-radius:999px;background:#0f172ac7;color:#fff;font-size:1.85rem;line-height:1;display:flex;align-items:center;justify-content:center}.image-lightbox-nav--prev{left:.75rem}.image-lightbox-nav--next{right:.75rem}.image-lightbox-count{color:#cbd5e1;font-size:.8125rem;font-variant-numeric:tabular-nums}.toast{position:absolute;bottom:1.25rem;left:50%;transform:translate(-50%);z-index:40;pointer-events:none;padding:.625rem 1rem;border-radius:8px;background:var(--bg-panel);border:1px solid var(--border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);font-size:.8125rem;font-weight:500;color:var(--accent)}.search-box{flex:1;max-width:420px;min-width:0;position:relative}.search-box-field{overflow:hidden}.search-box input{width:100%;padding:.625rem 1rem;border:none;background:transparent;font-size:.875rem;outline:none}.search-box input:focus{outline:none}.search-box-field:focus-within{border-color:var(--accent)}.search-box input::placeholder{color:var(--text-muted)}.search-box-results{position:absolute;top:calc(100% + .4rem);left:0;right:0;list-style:none;display:flex;flex-direction:column;gap:.15rem;max-height:min(360px,60vh);overflow-y:auto;margin:0;padding:.4rem}.search-box-group{padding:.45rem .625rem .2rem;font-size:.625rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.search-box-group--places{margin-top:.25rem;padding-top:.55rem;border-top:1px solid var(--border)}.search-box-empty{padding:.625rem .5rem;font-size:.8125rem;color:var(--text-muted);text-align:center}.search-box-item{width:100%;display:flex;align-items:center;gap:.5rem;padding:.5rem .625rem;border-radius:8px;text-align:left;transition:background .15s}.search-box-item:hover{background:var(--bg-panel-hover)}.search-box-item--selected{background:var(--accent-dim)}.search-box-kind{flex-shrink:0;padding:.125rem .5rem;border-radius:999px;font-size:.625rem;font-weight:600;letter-spacing:.02em;background:var(--accent-dim);color:var(--accent)}.search-box-kind--place{background:#38bdf826;color:#7dd3fc}.search-box-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.search-box-name{flex:1;min-width:0;font-size:.8125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-box-secondary{font-size:.6875rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-placeholder{background:radial-gradient(ellipse at 30% 20%,rgba(62,224,176,.08),transparent 50%),radial-gradient(ellipse at 80% 80%,rgba(56,189,248,.08),transparent 45%),var(--bg)}.api-key-banner{position:absolute;top:.5rem;left:50%;transform:translate(-50%);z-index:20;padding:.5rem .875rem;font-size:.75rem;color:var(--text-muted);max-width:min(720px,calc(100% - 2rem));pointer-events:none}.api-key-banner code{color:var(--accent);font-size:.75rem}.api-key-card{max-width:480px;padding:2rem;text-align:center}.api-key-card h1{font-size:1.25rem;margin-bottom:.75rem}.api-key-card p{color:var(--text-muted);font-size:.875rem;line-height:1.6}.api-key-card code{display:inline-block;margin-top:1rem;padding:.375rem .75rem;background:#00000059;border-radius:6px;font-size:.8125rem;color:var(--accent)}.loading-bar{position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent-dim);z-index:20;overflow:hidden}.loading-bar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--accent);animation:loading 1.2s ease-in-out infinite}@keyframes loading{0%{transform:translate(-100%)}to{transform:translate(100%)}}.map-marker{cursor:pointer;transition:transform .15s;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))}.map-marker:hover{transform:scale(1.12)}.map-marker--selected{transform:scale(1.18);filter:drop-shadow(0 0 8px var(--accent))}.settings-menu{position:relative;flex-shrink:0}.settings-menu-btn{width:42px}.settings-menu-btn--open{color:var(--text);background:var(--bg-panel-hover)}.settings-menu-dropdown{position:absolute;top:calc(100% + .4rem);right:0;min-width:220px;padding:.4rem;z-index:20}.settings-menu-item{width:100%;text-align:left;padding:.55rem .7rem;border-radius:8px;font-size:.8125rem;font-weight:500}.settings-menu-item:hover:not(:disabled){background:var(--bg-panel-hover)}.settings-menu-item:disabled{opacity:.45;cursor:not-allowed}.settings-menu-hint{margin:.25rem .7rem .4rem;font-size:.6875rem;color:var(--text-muted);line-height:1.4}.sync-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:flex-start;justify-content:center;padding:4.5rem 1rem 1rem;background:#02061773}.sync-modal{width:min(920px,100%);max-height:calc(100% - .5rem);display:flex;flex-direction:column}.sync-header-actions{display:flex;align-items:center;gap:.15rem}.sync-minibar{position:absolute;right:1rem;bottom:5.4rem;z-index:31;display:flex;align-items:center;gap:.25rem;padding:.4rem .45rem .4rem .7rem;max-width:min(360px,calc(100% - 2rem))}.sync-minibar-main{display:flex;flex-direction:column;align-items:flex-start;gap:.05rem;min-width:0;flex:1;background:transparent;padding:.1rem .35rem .1rem 0;text-align:left}.sync-minibar-main strong{font-size:.75rem}.sync-minibar-main span{font-size:.6875rem;color:var(--text-muted)}.sync-folder-tabs{display:flex;flex-wrap:wrap;gap:.35rem}.sync-folder-tab{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .55rem;border-radius:999px;border:1px solid var(--border);background:#0f172a73;color:var(--text);font:inherit;font-size:.6875rem;font-weight:600}.sync-folder-tab span{font-variant-numeric:tabular-nums;color:var(--text-muted)}.sync-folder-tab.is-active{border-color:#3ee0b073;background:var(--accent-dim);color:var(--accent)}.sync-folder-tab.is-active span{color:var(--accent)}.sync-item-reason,.sync-item-folder{flex-shrink:0;padding:.1rem .4rem;border-radius:999px;font-size:.625rem;font-weight:600;color:var(--text-muted);background:#94a3b81f}.sync-map-btn{display:inline-flex;align-items:center;gap:.28rem;margin-left:auto;padding:.18rem .45rem;border-radius:6px;border:1px solid var(--border);background:#0f172a73;color:var(--text);font:inherit;font-size:.6875rem;font-weight:600}.sync-map-btn:hover:not(:disabled){border-color:#3ee0b066;color:var(--accent)}.sync-map-btn:disabled{opacity:.45}.sync-modal-body{overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.sync-hint{margin:0;font-size:.75rem;color:var(--text-muted);line-height:1.45}.sync-actions{display:flex;flex-direction:column;gap:.55rem;padding:.85rem;border-radius:10px;background:#0000002e;border:1px solid var(--border)}.sync-actions .btn{align-self:flex-start}.sync-actions-hint{margin:0;font-size:.72rem;color:var(--text-muted);line-height:1.45}.sync-pull-result{display:flex;flex-direction:column;gap:.35rem;padding:.75rem .85rem;border-radius:10px;background:#34d3991a;border:1px solid rgba(52,211,153,.28);font-size:.8125rem}.correction-tabs{display:flex;gap:.35rem;padding:.2rem;border-radius:10px;background:#0f172a66;border:1px solid var(--border)}.correction-tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.45rem .7rem;border:0;border-radius:8px;background:transparent;color:var(--text-muted);font:inherit;font-size:.8125rem;font-weight:600}.correction-tab span{font-variant-numeric:tabular-nums;font-size:.6875rem;color:inherit;opacity:.8}.correction-tab.is-active{background:var(--accent-dim);color:var(--accent)}.naming-summary{display:flex;flex-direction:column;gap:.2rem;padding:.75rem .85rem;border-radius:10px;background:#0000002e;border:1px solid var(--border);font-size:.8125rem}.naming-summary span{font-size:.75rem;color:var(--text-muted)}.naming-search input{width:100%;padding:.5rem .7rem;border-radius:8px;border:1px solid var(--border);background:#0f172a8c;color:var(--text);font:inherit;font-size:.8125rem}.naming-search input::placeholder{color:var(--text-muted)}.naming-list{max-height:min(52vh,480px)}.naming-card{gap:.55rem}.naming-chip{flex-shrink:0;max-width:100%;padding:.12rem .45rem;border-radius:999px;font-size:.625rem;font-weight:600;line-height:1.3;color:#fbbf24;background:#fbbf241f;white-space:normal}.naming-side-suggested{border-color:#34d39952;background:#10b98114}.naming-city-choices{display:flex;flex-direction:column;gap:.28rem;margin:.4rem 0 0;padding:.4rem .45rem;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:#0f172a47}.naming-city-choices legend{padding:0 .2rem;font-size:.625rem;font-weight:650;letter-spacing:.01em;color:var(--text-muted)}.naming-city-choice{display:flex;align-items:flex-start;gap:.4rem;font-size:.75rem;line-height:1.3;color:var(--text);cursor:pointer}.naming-city-choice input{margin-top:.12rem;accent-color:#34d399}.naming-name-row{display:flex;align-items:center;gap:.35rem;min-width:0}.naming-name-row .sync-side-name{flex:1;min-width:0}.naming-name-empty{font-weight:500;font-style:italic;color:var(--text-muted)}.naming-pencil{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.4rem;height:1.4rem;padding:0;border:0;border-radius:6px;background:transparent;color:var(--text-muted)}.naming-pencil:hover:not(:disabled){background:#94a3b824;color:var(--accent)}.naming-pencil:disabled{opacity:.45}.naming-name-input{flex:1;min-width:0;padding:.28rem .45rem;border-radius:6px;border:1px solid var(--accent);background:#0f172a8c;color:var(--text);font:inherit;font-size:.8125rem;font-weight:600}.naming-name-input:focus{outline:none}.naming-apply-actions{display:flex;flex-direction:column;align-items:stretch;gap:.3rem;margin-top:.4rem}.naming-apply-btn,.naming-more-btn{align-self:flex-start;min-width:0}.naming-apply-btn{width:100%;justify-content:center;padding:.32rem .6rem;font-size:.6875rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sync-progress{padding:.75rem .85rem;border-radius:10px;background:#00000038;border:1px solid var(--border)}.sync-progress-bar{height:3px;border-radius:99px;overflow:hidden;background:var(--accent-dim);margin-bottom:.6rem}.sync-progress-bar:after{content:"";display:block;height:100%;width:40%;background:var(--accent);animation:loading 1.2s ease-in-out infinite}.sync-progress-text{font-size:.8125rem;font-weight:500}.sync-progress-meta{margin-top:.25rem;font-size:.75rem;color:var(--text-muted)}.sync-error{display:flex;flex-direction:column;gap:.6rem;padding:.75rem;border-radius:10px;background:#f871711f;color:var(--danger);font-size:.8125rem}.sync-totals{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.5rem}.sync-totals div{padding:.6rem .4rem;border-radius:10px;background:#00000038;text-align:center}.sync-totals strong{display:block;font-size:1.05rem;font-variant-numeric:tabular-nums}.sync-totals span{font-size:.625rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.sync-table-wrap{overflow-x:auto}.sync-table{width:100%;border-collapse:collapse;font-size:.75rem}.sync-table th,.sync-table td{padding:.5rem .4rem;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}.sync-table th{color:var(--text-muted);font-weight:600;font-size:.625rem;letter-spacing:.05em;text-transform:uppercase}.sync-table td:nth-child(n+2){font-variant-numeric:tabular-nums;white-space:nowrap}.sync-folder-name{font-weight:600}.sync-folder-meta,.sync-folder-kinds{color:var(--text-muted);font-size:.6875rem;margin-top:.15rem}.sync-folder-kinds{display:flex;flex-wrap:wrap;gap:.35rem .6rem}.sync-warnings{margin:0;padding-left:1.1rem;font-size:.75rem;color:var(--warning);line-height:1.45}.sync-section h3{display:flex;align-items:center;gap:.5rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.45rem}.sync-section h3 span{font-variant-numeric:tabular-nums;color:var(--text)}.sync-empty{margin:0;font-size:.75rem;color:var(--text-muted)}.sync-list{list-style:none;display:flex;flex-direction:column;gap:.55rem;max-height:380px;overflow-y:auto}.sync-item-card{display:flex;flex-direction:column;gap:.45rem;padding:.55rem;border-radius:10px;background:#0000002e}.sync-item-head{display:flex;align-items:center;gap:.4rem;width:100%;text-align:left;background:transparent;padding:.1rem .15rem;flex-wrap:wrap}.sync-item-kind{flex-shrink:0;padding:.1rem .45rem;border-radius:999px;font-size:.625rem;font-weight:600;background:var(--accent-dim);color:var(--accent)}.sync-item-name{font-size:.8125rem;font-weight:600}.sync-item-cols{display:grid;grid-template-columns:1fr 1fr;gap:.45rem}.sync-side{display:flex;flex-direction:column;gap:.2rem;min-width:0;padding:.5rem .55rem;border-radius:8px;background:#0f172a73;border:1px solid rgba(148,163,184,.16)}.sync-side-label{font-size:.625rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent)}.sync-side-name{font-size:.8125rem;font-weight:600;word-break:break-word}.sync-side-meta,.sync-side-date,.sync-side-empty{font-size:.6875rem;color:var(--text-muted);line-height:1.35;word-break:break-word}.sync-side-empty{margin:0;font-style:italic}.sync-item-btn{margin-top:0;align-self:stretch;min-width:0;min-height:2rem;padding:.35rem .6rem;font-size:.6875rem;line-height:1.2}.sync-side-actions{display:flex;flex-wrap:nowrap;align-items:center;gap:.4rem;margin-top:.45rem}.sync-delete-btn{flex:0 0 auto;width:2rem;height:2rem;min-width:2rem;min-height:2rem;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;color:#fecaca;background:#ef444438;border:1px solid rgba(248,113,113,.55)}.sync-delete-btn:hover:not(:disabled){color:#fff;background:#ef444466;border-color:#f87171}.sync-delete-btn:disabled{opacity:.5}.sync-confirm-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:1rem;padding-bottom:max(1rem,env(safe-area-inset-bottom));background:#020617b8}.sync-confirm-dialog{width:min(420px,100%);padding:1.1rem 1.15rem 1rem;display:flex;flex-direction:column;gap:.75rem;box-shadow:0 16px 48px #0000008c}.sync-confirm-dialog h3{margin:0;font-size:1.05rem;font-weight:700;color:var(--text)}.sync-confirm-desc{margin:0;font-size:.875rem;line-height:1.45;color:var(--text-muted)}.sync-confirm-desc strong{color:var(--text);font-weight:600}.sync-confirm-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.sync-confirm-actions .btn{min-height:2.75rem;flex:1 1 auto;justify-content:center;padding:.55rem .85rem}@media(max-width:820px){.sync-totals{grid-template-columns:repeat(3,minmax(0,1fr))}.sync-side-actions{gap:.5rem}.sync-item-btn{min-height:2.75rem;padding:.5rem .75rem}.sync-delete-btn{width:2.75rem;height:2.75rem;min-width:2.75rem;min-height:2.75rem}}.gm-style .gm-style-iw-a,.gm-style .gm-style-iw-t{z-index:120!important;pointer-events:auto}.gm-style .gm-style-iw-c{background:#0f172af5!important;padding:0!important;border-radius:12px!important;box-shadow:0 8px 32px #00000073!important;border:1px solid rgba(148,163,184,.18);max-width:280px!important}.gm-style .gm-style-iw-d{overflow:auto!important;max-height:min(360px,55vh)!important;padding:0!important}.gm-style .gm-style-iw-d::-webkit-scrollbar{width:6px}.gm-style .gm-style-iw-tc:after,.gm-style .gm-style-iw-t:after{background:#0f172af5!important;box-shadow:none!important}.gm-style .gm-style-iw-chr{background:transparent!important}.gm-style .gm-ui-hover-effect{filter:invert(1);opacity:.75!important}.gm-style .gm-ui-hover-effect:hover{opacity:1!important}.feature-callout{color:var(--text)}.feature-callout-body{padding:.75rem 2rem .75rem .85rem;min-width:180px}.feature-callout-head{display:flex;align-items:flex-start;gap:.15rem}.feature-callout-name{flex:1;min-width:0;font-size:.9375rem;font-weight:650;line-height:1.3;overflow-wrap:anywhere;padding-right:.15rem}.feature-callout-head-actions{display:flex;flex-shrink:0;align-items:center;margin-top:-.12rem}.feature-callout-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;padding:0;border-radius:5px;color:var(--text-muted)}.feature-callout-icon-btn:hover:not(:disabled){background:var(--bg-panel-hover);color:var(--text)}.feature-callout-icon-btn--danger:hover:not(:disabled){background:#f8717129;color:var(--danger)}.feature-callout-icon-btn:disabled{opacity:.4;cursor:not-allowed}.feature-callout-desc{margin-top:.4rem;font-size:.75rem;color:var(--text-muted);line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere}.feature-callout-edit{display:flex;flex-direction:column;gap:.4rem}.feature-callout-ceo-name{display:flex;align-items:center;gap:.2rem;min-width:0}.feature-callout-ceo-prefix{flex:0 0 auto;font-size:.8125rem;font-weight:700;letter-spacing:.02em;color:var(--text-muted);background:#0f172a8c;border:1px solid var(--border);border-radius:6px;padding:.32rem .45rem;-webkit-user-select:none;user-select:none;white-space:nowrap}.feature-callout-ceo-dash{flex:0 0 auto;color:var(--text-muted);font-weight:650}.feature-callout-ceo-suffix{flex:1;min-width:0}.feature-callout-input,.feature-callout-textarea{width:100%;font:inherit;color:var(--text);background:#0f172ab3;border:1px solid var(--border);border-radius:6px;padding:.32rem .45rem}.feature-callout-input{font-size:.8125rem;font-weight:600}.feature-callout-textarea{font-size:.75rem;line-height:1.4;resize:vertical;min-height:3.2rem}.feature-callout-input:focus,.feature-callout-textarea:focus{outline:none;border-color:#3ee0b08c}.feature-callout-model,.feature-callout-field{display:grid;gap:.2rem;font-size:.75rem;color:var(--muted)}.feature-callout-model select{width:100%;font:inherit;font-size:.8125rem;color:var(--text);background:#0f172ab3;border:1px solid var(--border);border-radius:6px;padding:.32rem .45rem}.feature-callout-model select:focus{outline:none;border-color:#3ee0b08c}.feature-callout-edit-btns{display:flex;flex-wrap:wrap;gap:.375rem}.feature-callout-edit-btns .btn{padding:.28rem .55rem;font-size:.6875rem}.feature-callout-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;margin-top:.7rem}.feature-callout-actions .btn{padding:.28rem .55rem;font-size:.6875rem}.feature-callout-confirm{display:flex;flex-direction:column;gap:.4rem;width:100%}.feature-callout-confirm p{margin:0;font-size:.6875rem;color:var(--text-muted);line-height:1.35}.feature-callout-confirm-btns{display:flex;flex-direction:column;gap:.375rem}.feature-callout-confirm-btns .btn{width:100%;justify-content:center}.feature-callout-error{margin-top:.4rem;font-size:.6875rem;color:var(--danger);line-height:1.35}.info-carousel{margin-top:.65rem}.info-carousel-frame{position:relative;border-radius:8px;overflow:hidden;background:#00000059;border:1px solid var(--border)}.info-carousel-frame img{display:block;width:100%;height:148px;object-fit:cover;cursor:zoom-in}.info-carousel-nav{position:absolute;top:50%;transform:translateY(-50%);width:1.6rem;height:1.6rem;border-radius:999px;background:#0f172ab8;color:#fff;font-size:1.15rem;line-height:1;display:flex;align-items:center;justify-content:center}.info-carousel-nav:hover{background:#0f172aeb}.info-carousel-nav--prev{left:.3rem}.info-carousel-nav--next{right:.3rem}.info-carousel-meta{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.3rem;font-size:.6875rem;color:var(--text-muted)}.info-carousel-count{flex-shrink:0;font-variant-numeric:tabular-nums}.info-carousel--empty{display:flex;flex-direction:column;gap:.35rem}.info-carousel-add{width:100%}.info-carousel-edit{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.4rem}.info-carousel-edit .btn{flex:1;min-width:0;font-size:.75rem;padding:.4rem .5rem}.geometry-edit-bar{position:absolute;left:50%;bottom:1.1rem;transform:translate(-50%);z-index:16;display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;max-width:min(720px,calc(100% - 2rem));padding:.75rem .9rem;pointer-events:auto}.geometry-edit-bar-copy{display:flex;flex-direction:column;gap:.15rem;min-width:12rem;flex:1}.geometry-edit-bar-copy strong{font-size:.8125rem}.geometry-edit-hint{font-size:.75rem;color:var(--text-muted);line-height:1.35}.geometry-edit-hint--mobile{display:none}.geometry-edit-bar-copy span{font-size:.75rem;color:var(--text-muted);line-height:1.35}.geometry-edit-tools,.geometry-edit-actions{display:flex;flex-wrap:wrap;gap:.35rem}.geometry-edit-error{width:100%;font-size:.75rem;color:var(--danger)}.geometry-edit-bar-copy .geometry-edit-snap{color:#22c55e;font-weight:600}.cable-name-form{flex-direction:column;align-items:stretch;width:min(420px,calc(100% - 2rem));max-height:calc(100% - 2rem);overflow-y:auto}.cable-owner{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem}.cable-owner--two{grid-template-columns:repeat(2,1fr)}.reserve-meters-presets{grid-template-columns:repeat(4,1fr)}.lateral-drop-cable{display:grid;gap:.3rem}.lateral-drop-cable .cable-owner{margin:0 0 .35rem 2.1rem}.feature-callout-drop-cables{margin:.35rem 0 0;padding:0;list-style:none;display:grid;gap:.3rem;font-size:.8125rem}.feature-callout-drop-cables li{display:flex;justify-content:space-between;gap:.5rem;padding:.35rem .5rem;border:1px solid var(--border);border-radius:8px}.feature-callout-drop-cables span{min-width:0;overflow-wrap:anywhere}.feature-callout-drop-cables small{flex-shrink:0;color:var(--text-muted)}.cable-ends{display:flex;align-items:stretch;gap:.3rem;margin:.4rem 0 .1rem}.cable-end-chip{flex:1 1 0;min-width:0;min-height:2.75rem;display:flex;flex-direction:column;justify-content:center;gap:.05rem;padding:.3rem .55rem;font:inherit;font-size:.75rem;text-align:left;color:#d1fae5;background:#16a34a47;border:1px solid rgba(34,197,94,.65);border-radius:8px}button.cable-end-chip{cursor:pointer}button.cable-end-chip:hover{background:#16a34a66}.cable-end-chip strong{font-size:.6875rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;opacity:.85}.cable-end-chip span{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cable-end-chip--free{color:var(--text-muted);background:#94a3b81f;border-color:var(--border);border-style:dashed}.cable-end-chip--missing{color:#fde68a;background:#d9770633;border-color:#f59e0b99}button.cable-end-chip--free:hover{background:#94a3b83d}button.cable-end-chip--missing:hover{background:#d9770652}.cable-end-flash{position:absolute;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;border:3px solid #f97316;background:#f9731659;box-shadow:0 0 0 2px #fff;pointer-events:none;animation:cable-end-flash 1s ease-out infinite}@keyframes cable-end-flash{0%{transform:scale(.8)}60%{transform:scale(1.6);opacity:.6}to{transform:scale(.8);opacity:1}}.cable-ends-link{flex:0 0 auto;align-self:center;display:flex;color:var(--text-muted)}.merge-sheet-hint.lateral-drop-warn{color:#fbbf24}.cable-owner-btn{min-height:2.5rem;font:inherit;font-size:.8125rem;font-weight:600;color:var(--text);background:#0f172ab3;border:1px solid var(--border);border-radius:8px;cursor:pointer}.cable-owner-btn--active{border-color:#3ee0b0b3;background:#3ee0b02e;color:#3ee0b0}.cable-name-field{display:grid;gap:.2rem;font-size:.75rem;color:var(--text-muted)}.cable-name-field select,.cable-name-field input{width:100%;font:inherit;font-size:.875rem;color:var(--text);background:#0f172ab3;border:1px solid var(--border);border-radius:8px;padding:.45rem .55rem}.cable-name-field select:focus,.cable-name-field input:focus{outline:none;border-color:#3ee0b08c}.cable-name-preview{display:grid;gap:.1rem;font-size:.75rem;color:var(--text-muted)}.cable-name-preview strong{font-size:.95rem;color:var(--text);word-break:break-word}.merge-sheet{position:absolute;left:50%;bottom:0;transform:translate(-50%);z-index:30;width:min(460px,100%);max-height:70vh;display:flex;flex-direction:column;border-radius:16px 16px 0 0;padding-bottom:env(safe-area-inset-bottom,0px);pointer-events:auto}@media(min-width:768px){.merge-sheet{bottom:1rem;border-radius:var(--radius)}}.merge-sheet-head{display:flex;align-items:center;gap:.5rem;padding:.5rem .5rem .5rem 1rem;border-bottom:1px solid var(--border)}.merge-sheet-head>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.merge-sheet-head strong{font-size:.875rem}.merge-sheet-head span{font-size:.75rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.merge-sheet-head .btn-icon{min-width:44px;min-height:44px}.merge-sheet-body{padding:.75rem 1rem 1rem;overflow-y:auto;-webkit-overflow-scrolling:touch}.merge-sheet-hint{margin:0 0 .5rem;font-size:.8125rem;line-height:1.4;color:var(--text-muted)}.merge-sheet-hint strong{color:var(--text)}.merge-sheet-error{margin:0 0 .6rem;font-size:.8125rem;line-height:1.4;color:var(--danger);font-weight:600}.merge-sheet-list{margin:0 0 .75rem;padding:0;list-style:none;display:flex;flex-direction:column;gap:.4rem}.merge-sheet-list li{display:flex;flex-direction:column;gap:.1rem;padding:.5rem .65rem;border:1px solid var(--border);border-radius:10px;font-size:.8125rem}.merge-sheet-list li span{font-size:.75rem;color:var(--text-muted);overflow-wrap:anywhere}.merge-sheet-form fieldset{margin:0 0 .75rem;padding:0;border:0;display:flex;flex-direction:column;gap:.2rem}.merge-sheet-form legend{margin-bottom:.25rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.merge-option{display:flex;align-items:center;gap:.6rem;min-height:44px;padding:.25rem .5rem;border-radius:10px;font-size:.875rem;cursor:pointer}.merge-option:has(input:checked){background:#3ee0b01f}.merge-option input{width:20px;height:20px;flex-shrink:0;accent-color:var(--accent)}.merge-option span{min-width:0;overflow-wrap:anywhere}.merge-option small{color:var(--text-muted)}.merge-sheet-form .feature-callout-input{min-height:44px;margin-top:.2rem}.merge-sheet-btns{display:flex;flex-wrap:wrap;gap:.5rem}.merge-sheet-btns .btn{flex:1 1 auto;min-height:44px}.kmz-export-bar{position:absolute;left:50%;bottom:1.1rem;transform:translate(-50%);z-index:18;display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;max-width:min(560px,calc(100% - 2rem));padding:.75rem .9rem;pointer-events:auto}.kmz-export-bar-text{display:flex;flex-direction:column;gap:.15rem;min-width:10rem;flex:1}.kmz-export-bar-text strong{font-size:.8125rem}.kmz-export-bar-text span{font-size:.75rem;color:var(--text-muted);line-height:1.35}.kmz-export-bar-actions{display:flex;flex-wrap:wrap;gap:.4rem}.kmz-export-bar-actions .btn{min-height:2.75rem;padding:.45rem .85rem}.kmz-export-error{color:var(--danger);font-size:.75rem}.kmz-confirm-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:1rem;padding-bottom:max(1rem,env(safe-area-inset-bottom));background:#020617b8}.kmz-confirm-dialog{width:min(420px,100%);padding:1.1rem 1.15rem 1rem;display:flex;flex-direction:column;gap:.7rem;box-shadow:0 16px 48px #0000008c}.kmz-confirm-dialog h3{margin:0;font-size:1.05rem;font-weight:700}.kmz-confirm-desc{margin:0;font-size:.875rem;line-height:1.45;color:var(--text-muted)}.kmz-confirm-check{display:flex;align-items:flex-start;gap:.65rem;min-height:44px;padding:.35rem 0;font-size:.875rem;line-height:1.35;cursor:pointer}.kmz-confirm-check input{width:1.15rem;height:1.15rem;margin-top:.15rem;flex-shrink:0;accent-color:var(--accent)}.kmz-confirm-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.kmz-confirm-actions .btn{min-height:2.75rem;flex:1 1 auto;justify-content:center}.vertex-delete-btn{position:absolute;width:22px;height:22px;padding:0;border:0;border-radius:999px;background:#ef4444;color:#fff;font-size:1rem;font-weight:700;line-height:22px;text-align:center;cursor:pointer;box-shadow:0 2px 8px #0006;z-index:40;pointer-events:auto}.vertex-delete-btn:hover{background:#dc2626}@media(max-width:768px){.map-overlay-top{top:max(.5rem,env(safe-area-inset-top));left:max(.5rem,env(safe-area-inset-left));right:max(.5rem,env(safe-area-inset-right));gap:.4rem;flex-wrap:nowrap}.brand{padding:.4rem;gap:0}.brand-text{display:none}.brand-logo{width:28px;height:28px}.search-box{flex:1;min-width:0;max-width:none}.search-box input{font-size:1rem;min-height:2.75rem;padding:.55rem .75rem}.topbar-actions{gap:.35rem}.topbar-btn,.settings-menu-btn{min-width:2.75rem;min-height:2.75rem;padding:0 .55rem;font-size:.75rem}.map-overlay-left{display:none}.map-overlay-right{top:auto;left:max(.5rem,env(safe-area-inset-left));right:max(.5rem,env(safe-area-inset-right));bottom:max(5.5rem,calc(env(safe-area-inset-bottom) + 5rem));max-width:none}.layers-fab{position:absolute;left:max(.75rem,env(safe-area-inset-left));bottom:max(1rem,calc(env(safe-area-inset-bottom) + .75rem));z-index:18;min-height:2.75rem;padding:0 .9rem;font-size:.8125rem;font-weight:600;pointer-events:auto}.layers-fab:disabled{opacity:.45}.layers-fab--open{border-color:#3ee0b073}.layers-drawer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;pointer-events:none}.layers-drawer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#02061773;pointer-events:auto}.layers-drawer-sheet{position:absolute;left:0;right:0;bottom:0;max-height:min(72vh,640px);display:flex;flex-direction:column;border-radius:16px 16px 0 0;padding-bottom:env(safe-area-inset-bottom);pointer-events:auto}.layers-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem .5rem;flex-shrink:0}.layers-drawer-head strong{font-size:.875rem}.layers-drawer-sheet .layer-panel{flex:1;min-height:0;border:0;box-shadow:none;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.layers-drawer-sheet .layer-panel-header{padding:0 1rem .35rem;border-bottom:0}.layers-drawer-sheet .layer-mode-btn,.layers-drawer-sheet .layer-muni-action,.layers-drawer-sheet .layers-drawer-head .btn-icon{min-height:2.75rem;font-size:.8125rem}.layers-drawer-sheet .layers-drawer-head .btn-icon{min-width:2.75rem}.layers-drawer-sheet .layer-object-filter{min-height:2.75rem;font-size:1rem}.layers-drawer-sheet .panel-body{padding-top:.25rem}.layers-drawer-sheet .layer-expand-btn,.layers-drawer-sheet .layer-toggle{min-height:2.5rem}.layers-drawer-sheet .layer-expand-btn{width:2.5rem;height:2.5rem}.add-fab{right:max(.75rem,env(safe-area-inset-right));bottom:max(1rem,calc(env(safe-area-inset-bottom) + .75rem))}.add-fab-btn{width:3.5rem;height:3.5rem}.gps-fab{width:3rem;height:3rem;right:calc(max(.75rem,env(safe-area-inset-right)) + 4.1rem);bottom:calc(max(1rem,calc(env(safe-area-inset-bottom) + .75rem)) + .25rem)}.map-type-fab{width:3rem;height:3rem;right:calc(max(.75rem,env(safe-area-inset-right)) + 7.6rem);bottom:calc(max(1rem,calc(env(safe-area-inset-bottom) + .75rem)) + .25rem)}.add-fab-option{min-height:2.75rem;min-width:5.5rem;font-size:.875rem}.geometry-edit-bar,.kmz-export-bar{left:max(.5rem,env(safe-area-inset-left));right:max(.5rem,env(safe-area-inset-right));bottom:max(5.25rem,calc(env(safe-area-inset-bottom) + 4.75rem));transform:none;max-width:none;width:auto;flex-direction:column;align-items:stretch;gap:.55rem;padding:.85rem}.kmz-export-bar-actions{width:100%}.kmz-export-bar-actions .btn{flex:1}.geometry-edit-hint--desktop{display:none}.geometry-edit-hint--mobile{display:block}.geometry-edit-actions{width:100%}.geometry-edit-actions .btn{flex:1;min-height:2.75rem}.geometry-edit-actions .geometry-gps-btn{flex:0 0 3rem}.cable-name-form{width:auto;max-height:calc(100dvh - 8rem)}.cable-owner-btn{min-height:2.75rem}.cable-name-field select,.cable-name-field input{font-size:1rem;min-height:2.75rem}.vertex-delete-btn{width:32px;height:32px;line-height:32px;font-size:1.15rem}.feature-sheet{position:absolute;left:0;right:0;bottom:0;z-index:28;max-height:min(70vh,560px);display:flex;flex-direction:column;border-radius:16px 16px 0 0;padding-bottom:env(safe-area-inset-bottom);pointer-events:auto}.feature-sheet-grab{width:2.5rem;height:.28rem;border-radius:999px;background:#94a3b873;margin:.55rem auto .15rem;flex-shrink:0}.feature-sheet-chrome{display:flex;justify-content:flex-end;padding:0 .5rem;flex-shrink:0}.feature-sheet-close{width:2.75rem;height:2.75rem}.feature-sheet-body{padding:0 1rem 1rem;overflow:auto;min-height:0;-webkit-overflow-scrolling:touch}.feature-sheet-title-block{margin-bottom:.75rem}.feature-sheet-kind{font-size:.6875rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:600}.feature-sheet-name{font-size:1.05rem;font-weight:650;line-height:1.3;overflow-wrap:anywhere;margin-top:.15rem}.feature-sheet-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:.75rem}.feature-sheet-actions .feature-callout-icon-btn{width:2.75rem;height:2.75rem;border-radius:10px;background:#94a3b81a;color:var(--text)}.feature-sheet-actions .feature-callout-icon-btn svg{width:18px;height:18px}.feature-sheet-actions .feature-callout-icon-btn--danger{color:var(--danger)}.feature-callout-input,.feature-callout-textarea,.feature-callout-model select{font-size:1rem;min-height:2.75rem}.feature-callout-edit-btns .btn,.feature-callout-confirm-btns .btn{min-height:2.75rem;flex:1}.sync-panel,.naming-panel{left:0!important;right:0!important;top:auto!important;bottom:0!important;width:100%!important;max-width:none!important;max-height:min(85vh,720px);border-radius:16px 16px 0 0;transform:none!important}.toast{left:.75rem;right:.75rem;bottom:max(5.5rem,calc(env(safe-area-inset-bottom) + 5rem));max-width:none}}@media(min-width:769px){.layers-fab,.layers-drawer{display:none!important}}.settings-menu-btn{position:relative}.settings-menu-dot{position:absolute;top:.3rem;right:.3rem;width:.55rem;height:.55rem;border-radius:50%;background:#22c55e;box-shadow:0 0 0 2px var(--bg)}.settings-menu-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;margin-left:.4rem;padding:0 .35rem;border-radius:999px;background:#22c55e;color:#0b1220;font-size:.6875rem;font-weight:700}.wa-panel-root{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;pointer-events:none}.wa-panel-backdrop{display:none}.wa-panel{position:absolute;top:4.5rem;right:1rem;width:min(400px,calc(100% - 2rem));max-height:calc(100% - 6rem);display:flex;flex-direction:column;pointer-events:auto}.wa-panel-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem .75rem .4rem 1rem;flex-shrink:0}.wa-panel-head strong{font-size:.875rem}.wa-panel-head-actions{display:flex;gap:.25rem}.wa-tabs{display:flex;gap:.35rem;padding:0 .75rem .5rem;border-bottom:1px solid var(--border);flex-shrink:0}.wa-tab{flex:1;min-height:2.5rem;border-radius:8px;font-size:.8125rem;font-weight:600;color:var(--text-muted)}.wa-tab--active{background:var(--accent-dim);color:var(--accent)}.wa-panel-body{overflow-y:auto;padding:.75rem;display:flex;flex-direction:column;gap:.6rem}.wa-muted{color:var(--text-muted);font-size:.75rem;line-height:1.45}.wa-error{color:var(--danger);font-size:.75rem;line-height:1.45}.wa-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}.wa-item{border:1px solid var(--border);border-radius:10px;padding:.6rem .65rem;background:#0f172a73;display:flex;flex-direction:column;gap:.35rem}.wa-item--active{border-color:#22c55e;box-shadow:0 0 0 1px #22c55e inset}.wa-item-head{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem}.wa-item-author{font-size:.8125rem}.wa-item-when{margin-left:auto}.wa-tag{padding:.1rem .45rem;border-radius:999px;font-size:.6875rem;font-weight:700;background:#94a3b829;color:var(--text-muted)}.wa-tag--nova{background:#22c55e2e;color:#4ade80}.wa-tag--existente{background:#fbbf2429;color:var(--warning)}.wa-status-action{margin-left:auto}.wa-author-form{display:flex;flex-direction:column;gap:.4rem;padding:.5rem;border-radius:8px;background:#fbbf241a;border:1px solid rgba(251,191,36,.35)}.wa-author-warn{font-size:.75rem;line-height:1.4;color:var(--warning)}.wa-author-row{display:flex;gap:.4rem}.wa-author-row input{flex:1;min-width:0;min-height:2.75rem;padding:0 .6rem;border-radius:8px;border:1px solid var(--border);background:#0f172acc;color:var(--text);font:inherit;font-size:16px}.wa-author-row .btn{min-height:2.75rem;white-space:nowrap}.wa-item-note{font-size:.8125rem;line-height:1.4}.wa-item-near{font-size:.75rem;color:var(--text-muted)}.wa-item-actions{display:flex;gap:.4rem}.wa-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:10px;background:#94a3b81a;color:var(--text)}.wa-icon-btn:hover:not(:disabled){background:var(--bg-panel-hover)}.wa-icon-btn:disabled{opacity:.45;cursor:not-allowed}.wa-icon-btn--primary{background:#22c55e;color:#0b1220}.wa-icon-btn--primary:hover:not(:disabled){background:#22c55e;filter:brightness(1.08)}.wa-icon-btn--ghost{background:transparent;color:var(--text-muted)}.wa-link{display:flex;flex-direction:column;gap:.75rem}.wa-status{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600}.wa-status-dot{width:.6rem;height:.6rem;border-radius:50%;background:var(--text-muted)}.wa-status--connected .wa-status-dot{background:#22c55e}.wa-status--qr .wa-status-dot,.wa-status--connecting .wa-status-dot{background:var(--warning)}.wa-cta{min-height:2.75rem}.wa-qr{display:flex;flex-direction:column;align-items:center;gap:.6rem;text-align:center}.wa-qr img{width:min(240px,70vw);height:auto;border-radius:10px;background:#fff}.wa-field{display:flex;flex-direction:column;gap:.35rem;font-size:.75rem;color:var(--text-muted)}.wa-field select{min-height:2.75rem;padding:0 .6rem;border-radius:8px;border:1px solid var(--border);background:#0f172acc;color:var(--text);font:inherit;font-size:.875rem}.wa-confirm{display:flex;flex-direction:column;gap:.5rem;font-size:.8125rem}.wa-confirm-actions{display:flex;gap:.5rem}.wa-confirm-actions .btn{flex:1;min-height:2.75rem}@media(max-width:768px){.wa-panel-backdrop{display:block;position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#02061773;pointer-events:auto}.wa-panel{top:auto;left:0;right:0;bottom:0;width:100%;max-height:min(78vh,680px);border-radius:16px 16px 0 0;padding-bottom:env(safe-area-inset-bottom)}}.login-screen{min-height:100%;display:flex;align-items:center;justify-content:center;padding:max(1rem,env(safe-area-inset-top)) 1rem max(1rem,env(safe-area-inset-bottom));background:radial-gradient(circle at 20% 10%,rgba(62,224,176,.12),transparent 45%),radial-gradient(circle at 80% 90%,rgba(59,130,246,.12),transparent 45%),var(--bg);overflow-y:auto}.login-card{width:min(380px,100%);display:flex;flex-direction:column;gap:.85rem;padding:1.5rem 1.25rem}.login-brand{display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem}.login-brand div{display:flex;flex-direction:column}.login-brand strong{font-size:1.05rem}.login-brand span{font-size:.8125rem;color:var(--text-muted)}.login-field{display:flex;flex-direction:column;gap:.35rem;font-size:.75rem;color:var(--text-muted)}.login-field input,.login-field select,.acct-reject input{min-height:2.75rem;padding:0 .7rem;border-radius:8px;border:1px solid var(--border);background:#0f172acc;color:var(--text);font:inherit;font-size:16px}.login-field input:focus,.login-field select:focus,.acct-reject input:focus{outline:none;border-color:var(--accent)}.login-field input:disabled,.login-field select:disabled{opacity:.6}.login-submit{min-height:2.75rem;margin-top:.25rem}.login-error{color:var(--danger);font-size:.8125rem}.login-notice{padding:.55rem .7rem;border-radius:8px;background:#fbbf241f;border:1px solid rgba(251,191,36,.35);color:var(--warning);font-size:.8125rem}.settings-menu-user{display:flex;flex-direction:column;padding:.35rem .7rem .55rem;margin-bottom:.25rem;border-bottom:1px solid var(--border)}.settings-menu-user strong{font-size:.8125rem}.settings-menu-user span{font-size:.6875rem;color:var(--text-muted)}.settings-menu-badge--warn{background:var(--warning)}.acct-toolbar{display:flex;align-items:center;gap:.5rem}.acct-toolbar .wa-muted{flex:1}.acct-group{display:flex;flex-direction:column;gap:.45rem}.acct-group+.acct-group{margin-top:.4rem}.acct-group-head{display:flex;align-items:center;gap:.5rem;font-size:.8125rem}.acct-approve-all{margin-left:auto;min-height:2.75rem;font-size:.75rem}.acct-status--pending{background:#fbbf2429;color:var(--warning)}.acct-status--approved{background:#22c55e2e;color:#4ade80}.acct-status--rejected{background:#f8717129;color:var(--danger)}.acct-status--codemaps{background:#3b82f62e;color:#93c5fd}.acct-danger{color:var(--danger)}.acct-reject{display:flex;flex-direction:column;gap:.45rem;padding-top:.35rem}.acct-form{display:flex;flex-direction:column;gap:.65rem}.acct-form>strong{font-size:.875rem}.acct-check{display:flex;align-items:center;gap:.55rem;min-height:2.75rem;font-size:.8125rem}.acct-check input{width:1.2rem;height:1.2rem}.acct-me{display:flex;flex-direction:column;gap:.15rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.acct-user-actions{display:flex;gap:.25rem;margin-left:auto}.acct-user-email{overflow-wrap:anywhere}.acct-user--inactive{opacity:.6}.acct-role--superadmin{background:#a855f733;color:#d8b4fe}.acct-role--admin{background:var(--accent-dim);color:var(--accent)}.pending-notice{position:absolute;left:50%;bottom:calc(4.25rem + env(safe-area-inset-bottom));transform:translate(-50%);z-index:41;width:min(92vw,420px);min-height:2.75rem;padding:.6rem .9rem;border-radius:10px;border:1px solid rgba(251,191,36,.45);color:var(--warning);font-size:.8125rem;font-weight:600;text-align:center}.feature-author{margin-top:.3rem;font-size:.6875rem;color:var(--text-muted)}.feature-author--codemaps{color:#93c5fd}.feature-pending-badge{display:inline-block;margin-top:.35rem;padding:.15rem .5rem;border-radius:999px;background:#fbbf2429;color:var(--warning);font-size:.6875rem;font-weight:700}.feature-callout-icon-btn--active,.feature-sheet-actions .feature-callout-icon-btn--active{background:var(--accent-dim);color:var(--accent)}.feature-history{list-style:none;margin-top:.5rem;max-height:12rem;overflow-y:auto;display:flex;flex-direction:column;gap:.4rem;border-top:1px solid var(--border);padding-top:.45rem}.feature-history li{font-size:.6875rem;line-height:1.35}.feature-history-head{display:flex;justify-content:space-between;gap:.5rem}.feature-history-head span,.feature-history small{color:var(--text-muted)}.feature-history-empty{margin-top:.5rem;font-size:.6875rem;color:var(--text-muted)}
