[data-editor-2d] .app-container{background-color:var(--modus-wc-color-base-page);touch-action:none;zoom:1;flex-direction:column;width:100%;height:100vh;max-height:100vh;display:flex;position:relative;overflow:hidden}[data-editor-2d] .editor-container-wrapper{flex-direction:row;flex:1;min-height:0;max-height:100%;display:flex;position:relative;overflow:hidden}[data-editor-2d] .editor-container{touch-action:none;zoom:1;flex-direction:column;flex:1;min-height:0;max-height:100%;display:flex;overflow:hidden}[data-editor-2d] .utility-panel-header{justify-content:space-between;align-items:center;width:100%;display:flex}[data-editor-2d] .project-tabs-container{background-color:var(--modus-wc-color-base-page);align-items:center;gap:.5rem;min-width:0;padding:0 1rem;display:flex;position:relative;overflow:auto hidden}[data-editor-2d] .project-tabs-logo{flex-shrink:0;align-items:center;display:flex}[data-editor-2d] .project-tabs-logo modus-wc-logo{width:81px;height:24px}[data-editor-2d] .tabs-wrapper{flex-grow:1;min-width:0;overflow:auto hidden}[data-editor-2d] .tabs-wrapper modus-wc-tabs,[data-editor-2d] .tabs-wrapper modus-wc-tabs .modus-wc-tab{--tab-bg:var(--modus-wc-color-base-page)}[data-editor-2d] .tabs-wrapper modus-wc-tabs{white-space:nowrap;min-width:max-content}[data-editor-2d] .project-tabs-actions{align-items:center;gap:.5rem;margin-left:auto;display:flex}[data-editor-2d] .project-dashboard-content{min-height:300px;max-height:70vh;overflow-y:auto}[data-editor-2d] .project-dashboard-empty{min-height:300px;color:var(--modus-wc-color-base-content-low-contrast);justify-content:center;align-items:center;display:flex}[data-editor-2d] .project-dashboard-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;padding:1rem 0;display:grid}[data-editor-2d] .project-card-wrapper{cursor:pointer;transition:transform .2s,box-shadow .2s}[data-editor-2d] .project-card-wrapper:hover{transform:translateY(-2px)}[data-editor-2d] .project-card-wrapper:hover .modus-wc-card{box-shadow:0 4px 8px #0000001a}[data-editor-2d] .project-card-wrapper.active .modus-wc-card{border-color:var(--modus-wc-color-primary);box-shadow:0 0 0 2px var(--modus-wc-color-primary)}[data-editor-2d] .project-card-content{flex-direction:column;gap:.5rem;margin-top:.5rem;display:flex}[data-editor-2d] .project-card-actions,[data-editor-2d] .project-dashboard-footer{justify-content:flex-end;gap:.5rem;display:flex}[data-editor-2d] .canvas-container{background-color:var(--modus-wc-color-base-100);touch-action:none;overscroll-behavior:none;border-radius:0;flex-direction:column;flex:1;min-height:0;max-height:100%;display:flex;position:relative;overflow:hidden}[data-editor-2d] .canvas-scroll-area{z-index:0;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y pinch-zoom;overscroll-behavior:contain;flex:1;min-height:0;max-height:100vh;position:relative;overflow:auto}[data-editor-2d] .canvas-scroll-wrapper{width:3000px;height:3000px;position:relative}[data-editor-2d] .canvas{z-index:2;pointer-events:auto;background-color:var(--modus-wc-color-base-100);width:3000px;height:3000px;position:absolute;top:0;left:0}[data-editor-2d] .canvas-bottom-controls-wrapper{z-index:100;pointer-events:none;flex-direction:column;align-items:flex-end;gap:.5rem;display:flex;position:absolute;bottom:40px;right:1rem}[data-editor-2d] .canvas-bottom-controls-wrapper>*{pointer-events:auto}[data-editor-2d] .canvas-bottom-controls-wrapper .canvas-info{pointer-events:none}[data-editor-2d] .canvas-info{background-color:var(--modus-wc-color-base-100);border:1px solid var(--modus-wc-color-base-200);color:var(--modus-wc-color-base-content);box-shadow:var(--modus-wc-shadow-lg);border-radius:4px;gap:1rem;padding:.5rem 1rem;font-size:.875rem;display:flex}[data-editor-2d] .canvas-info span{font-weight:500}[data-editor-2d] .floating-toolbar-wrapper{z-index:10;pointer-events:auto;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}[data-editor-2d] .floating-toolbar-wrapper .modus-wc-panel.editor-2d-floating-toolbar-panel,[data-editor-2d] .floating-toolbar-wrapper modus-wc-panel.editor-2d-floating-toolbar-panel,[data-editor-2d] .layers-toggle-wrapper .modus-wc-panel.editor-2d-floating-toolbar-panel,[data-editor-2d] .layers-toggle-wrapper modus-wc-panel.editor-2d-floating-toolbar-panel,[data-editor-2d] .color-toolbar-container .modus-wc-panel.editor-2d-floating-toolbar-panel,[data-editor-2d] .color-toolbar-container modus-wc-panel.editor-2d-floating-toolbar-panel,[data-map-editor] .view-toggle-container .modus-wc-panel.editor-2d-floating-toolbar-panel,[data-map-editor] .view-toggle-container modus-wc-panel.editor-2d-floating-toolbar-panel,[data-map-editor] .legend-container .modus-wc-panel.editor-2d-floating-toolbar-panel,[data-map-editor] .legend-container modus-wc-panel.editor-2d-floating-toolbar-panel{--modus-wc-color-gray-0:var(--modus-wc-color-base-200);box-shadow:var(--modus-wc-shadow-lg);background-color:var(--modus-wc-color-base-page)!important;border:none!important}[data-editor-2d] .floating-toolbar-content{flex-direction:column;gap:0;padding:.5rem;display:flex}[data-editor-2d] .floating-toolbar-wrapper .floating-toolbar-content{gap:.25rem}[data-editor-2d] .floating-toolbar-wrapper .floating-toolbar-content modus-wc-button,[data-editor-2d] .layers-toggle-wrapper .floating-toolbar-content modus-wc-button{margin:0!important}[data-editor-2d] .floating-toolbar-content modus-wc-button:first-child{margin-top:0!important}[data-editor-2d] .layer-panel{background-color:var(--modus-wc-color-base-100);flex-direction:column;height:100%;padding:1rem;display:flex}[data-editor-2d] .layer-list{flex-direction:column;flex:1;gap:.25rem;margin-top:1rem;display:flex;overflow-y:auto}[data-editor-2d] .layer-item{cursor:pointer;user-select:none;border-radius:4px;align-items:center;gap:.5rem;padding:.5rem;transition:background-color .2s,opacity .2s,transform .2s;display:flex}[data-editor-2d] .layer-item:hover:not(.dragging){background-color:var(--modus-wc-color-base-200)}[data-editor-2d] .layer-item.selected{background-color:var(--modus-wc-color-base-200);border:1px solid var(--modus-wc-color-primary)}[data-editor-2d] .layer-item.dragging{opacity:.5;cursor:grabbing}[data-editor-2d] .layer-item.drag-over{border-top:2px solid var(--modus-wc-color-primary);padding-top:calc(.5rem - 1px)}[data-editor-2d] .drag-handle{cursor:grab;color:var(--modus-wc-color-base-content-low-contrast);pointer-events:none}[data-editor-2d] .layer-item.dragging .drag-handle{cursor:grabbing}[data-editor-2d] .layer-item modus-wc-icon,[data-editor-2d] .layer-item modus-wc-typography{pointer-events:none;user-select:none}[data-editor-2d] .layer-empty{color:var(--modus-wc-color-base-content-low-contrast);justify-content:center;align-items:center;padding:2rem;display:flex}[data-editor-2d] .layers-toggle-wrapper{z-index:10;pointer-events:auto;position:absolute;top:1rem;right:1rem}[data-editor-2d] .color-toolbar-container{z-index:20;pointer-events:auto;position:absolute;transform:translate(-50%)}[data-editor-2d] .color-toolbar-content{flex-direction:row;align-items:center;gap:.5rem;padding:.5rem;display:flex}[data-editor-2d] .color-picker-input{border:1px solid var(--modus-wc-color-base-200);cursor:pointer;background:0 0;border-radius:3px;flex-shrink:0;width:24px;height:24px;padding:0}[data-editor-2d] .color-picker-input::-webkit-color-swatch-wrapper{padding:0}[data-editor-2d] .color-picker-input::-webkit-color-swatch{border:none;border-radius:3px}[data-map-editor] p{margin-bottom:0!important}[data-map-editor] .app-container{flex-direction:column;width:100%;height:100vh;display:flex;overflow:hidden}[data-map-editor][data-embedded-preview=true].app-container{height:auto;min-height:28rem}[data-map-editor] modus-wc-card .modus-wc-card-body{gap:0!important;padding:.5rem!important}[data-map-editor] .device-list modus-wc-card .modus-wc-card-body{padding:var(--padding-card,1rem)!important;gap:unset!important}[data-map-editor] .modus-wc-card{margin-bottom:var(--modus-wc-spacing-md)!important}[data-map-editor] .navbar-container{border-bottom:1px solid var(--modus-wc-color-base-200);flex-shrink:0}[data-map-editor] .navbar-start{align-items:center;padding-left:.5rem;display:flex}[data-map-editor] .navbar-logo{align-items:center;gap:.75rem;display:flex}[data-map-editor] .navbar-title{align-items:center;gap:.5rem;font-size:.95rem;display:flex}[data-map-editor] .navbar-brand{color:var(--modus-wc-color-base-content);font-weight:600}[data-map-editor] .navbar-divider{color:var(--modus-wc-color-base-content-low-contrast)}[data-map-editor] .navbar-project{color:var(--modus-wc-color-base-content)}[data-map-editor] .navbar-end{align-items:center;gap:1rem;padding-right:1rem;display:flex}[data-map-editor] .help-text{color:var(--modus-wc-color-base-content);cursor:pointer;font-size:.9rem}[data-map-editor] .main-layout{flex:1;display:flex;overflow:hidden}[data-map-editor] .sidebar{background-color:var(--modus-wc-color-base-page);border-right:1px solid var(--modus-wc-color-base-200);flex-direction:column;width:300px;display:flex;overflow:hidden}[data-map-editor] .sidebar-header{border-bottom:1px solid var(--modus-wc-color-base-200);padding:1rem}[data-map-editor] .sidebar-title{color:var(--modus-wc-color-base-content);margin-bottom:1rem;font-size:1rem;font-weight:600}[data-map-editor] .tabs-container{border-bottom:1px solid var(--modus-wc-color-base-200)}[data-map-editor] .device-list{gap:var(--modus-wc-spacing-md);flex-direction:column;flex:1;min-height:0;padding:.5rem;display:flex;overflow-y:auto}[data-map-editor] .device-list modus-wc-card.device-card{flex:none!important;height:120px!important;min-height:0!important;max-height:120px!important;margin-bottom:0!important;overflow:hidden!important}[data-map-editor] .device-list modus-wc-card.device-card article,[data-map-editor] .device-list modus-wc-card.device-card .modus-wc-card-body{height:120px!important;min-height:0!important;max-height:120px!important;overflow:hidden!important}[data-map-editor] .device-header{justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;display:flex}[data-map-editor] .device-icon-name{align-items:flex-start;gap:.75rem;display:flex}[data-map-editor] .device-icon{color:var(--modus-wc-color-base-content);flex-shrink:0;font-size:1.5rem}[data-map-editor] .device-info{flex-direction:column;gap:0;display:flex}[data-map-editor] .device-name-row{align-items:center;gap:.5rem;display:flex}[data-map-editor] .device-name{color:var(--modus-wc-color-base-content);font-size:.9rem;font-weight:500}[data-map-editor] .device-operator{color:var(--modus-wc-color-base-content-low-contrast);font-size:.8rem}[data-map-editor] .device-wifi{color:var(--modus-wc-color-success);font-size:1rem}[data-map-editor] .device-syncing{color:var(--modus-wc-color-warning);font-size:1rem;animation:1s linear infinite map-editor-spin}@keyframes map-editor-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}[data-map-editor] .device-footer{justify-content:space-between;align-items:flex-end;margin-top:.5rem;display:flex}[data-map-editor] .device-zones{color:var(--modus-wc-color-base-content);font-size:.8rem}[data-map-editor] .device-sync{color:var(--modus-wc-color-base-content-low-contrast);text-align:right;font-size:.75rem;line-height:1.4}[data-map-editor] .sync-progress{margin-top:.25rem;display:block}[data-map-editor] .sync-bar{background-color:var(--modus-wc-color-base-200);border-radius:2px;width:80px;height:3px;display:block;position:relative;overflow:hidden}[data-map-editor] .sync-bar-fill{background-color:var(--modus-wc-color-primary);width:60%;height:100%;animation:2s ease-in-out infinite map-editor-progress;display:block}@keyframes map-editor-progress{0%{transform:translate(-100%)}to{transform:translate(250%)}}[data-map-editor] .zones-list{flex-direction:column;flex:1;align-items:stretch;min-height:0;padding:.5rem 0;display:flex;overflow-y:auto}[data-map-editor] .zones-list modus-wc-card.zone-card,[data-map-editor] .zones-list modus-wc-card{flex:none!important;height:auto!important}[data-map-editor] .zones-list modus-wc-card article{height:auto!important;min-height:0!important}[data-map-editor] .zones-placeholder{text-align:center;color:var(--modus-wc-color-base-content-low-contrast);padding:2rem 1rem;font-size:.9rem}[data-map-editor] .zone-card{border-bottom:1px solid var(--modus-wc-color-base-200);border-radius:0;margin-bottom:var(--modus-wc-spacing-md)!important}[data-map-editor] .zone-item{padding:.75rem 1rem}[data-map-editor] .zone-header{justify-content:space-between;align-items:flex-start;display:flex}[data-map-editor] .zone-info{flex:1}[data-map-editor] .zone-name-row{align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}[data-map-editor] .zone-color-indicator{border-radius:3px;flex-shrink:0;width:12px;height:12px}[data-map-editor] .zone-name{color:var(--modus-wc-color-base-content);font-size:.9rem;font-weight:600}[data-map-editor] .zone-type{color:var(--modus-wc-color-base-content-low-contrast);font-size:.8rem}[data-map-editor] .zone-type-select{width:100%;margin-top:.5rem}[data-map-editor] .zone-type-select modus-wc-select{width:100%}[data-map-editor] .zone-footer{justify-content:space-between;align-items:center;margin-top:.5rem;display:flex}[data-map-editor] .zone-date{color:var(--modus-wc-color-base-content-low-contrast);font-size:.75rem}[data-map-editor] .zone-actions{gap:.5rem;display:flex}[data-map-editor] .zone-action-btn{cursor:pointer;color:var(--modus-wc-color-base-content-low-contrast);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.25rem;transition:all .2s;display:flex}[data-map-editor] .zone-action-btn:hover{background-color:var(--modus-wc-color-base-200);color:var(--modus-wc-color-base-content)}[data-map-editor] .zone-action-btn svg{width:16px;height:16px}[data-map-editor] .content-area{background-color:var(--modus-wc-color-base-page);flex:1;position:relative;overflow:hidden}[data-map-editor] .view-toggle-container{z-index:10;align-items:center;gap:.75rem;display:flex;position:absolute;top:1.5rem;left:1.5rem}[data-map-editor] .view-toggle modus-wc-button{margin:0}[data-map-editor] .view-toggle-container .modus-wc-panel.editor-2d-floating-toolbar-panel,[data-map-editor] .view-toggle-container modus-wc-panel.editor-2d-floating-toolbar-panel{border-radius:8px}[data-map-editor] .view-toggle-container .modus-wc-panel-body,[data-map-editor] .view-toggle-container modus-wc-panel .modus-wc-panel-body{align-items:center!important;padding:.5rem!important;display:flex!important}[data-map-editor] .view-toggle-wrapper{padding:0}[data-map-editor] .view-toggle{align-items:stretch;gap:0;display:flex}[data-map-editor] .view-toggle modus-wc-button{border-radius:0}[data-map-editor] .view-toggle modus-wc-button:first-child{border-radius:4px 0 0 4px}[data-map-editor] .view-toggle modus-wc-button:last-child{border-radius:0 4px 4px 0}[data-map-editor] .view-toggle-wrapper modus-wc-button .modus-wc-btn-borderless.modus-wc-btn-primary[aria-pressed=true],[data-map-editor] .view-toggle modus-wc-button .modus-wc-btn-borderless.modus-wc-btn-primary[aria-pressed=true]{background-color:var(--modus-wc-color-primary-pale)!important;color:var(--modus-wc-color-primary)!important}[data-map-editor] .live-sync-indicator{z-index:10;position:absolute;top:1.5rem;right:1.5rem}[data-map-editor] .live-sync-dot{background-color:#b8e6b8;background-color:color-mix(in srgb, var(--modus-wc-color-success) 55%, white);border-radius:50%;width:8px;height:8px;margin-right:.5rem;animation:2s ease-in-out infinite map-editor-pulse;display:inline-block}@keyframes map-editor-pulse{0%,to{opacity:1}50%{opacity:.5}}[data-map-editor] .map-container{width:100%;height:100%;position:relative;overflow:hidden}[data-map-editor] .trimble-map-container{background-color:var(--modus-wc-color-base-100);background-image:linear-gradient(to right, var(--modus-wc-color-base-200) 1px, transparent 1px), linear-gradient(to bottom, var(--modus-wc-color-base-200) 1px, transparent 1px);background-size:20px 20px;width:100%;height:100%;min-height:400px;position:absolute;top:0;left:0}[data-map-editor] .map-label{background-color:var(--modus-wc-color-base-100);border:2px solid;border-radius:4px;padding:.5rem 1rem;font-size:.9rem;font-weight:500;position:absolute;box-shadow:0 2px 8px #0000001a}[data-map-editor] .map-label.underground{border-color:var(--modus-wc-color-primary);color:var(--modus-wc-color-primary);top:35%;left:50%;transform:translate(-50%,-50%)}[data-map-editor] .map-label.excavation{border-color:var(--modus-wc-color-error);color:var(--modus-wc-color-error);top:55%;left:50%;transform:translate(-50%,-50%)}[data-map-editor] .drawing-instructions{background-color:var(--modus-wc-color-base-100);z-index:1000;border:2px solid var(--modus-wc-color-primary);border-radius:8px;padding:1rem 1.5rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 12px #00000026}[data-map-editor] .drawing-instructions p{color:var(--modus-wc-color-base-content);text-align:center;margin:0;font-size:.95rem;font-weight:500}[data-map-editor] .legend-container{z-index:10;min-width:0;max-width:350px;position:absolute;bottom:1rem;left:1.5rem;right:1.5rem}[data-map-editor] .legend-container .modus-wc-panel.editor-2d-floating-toolbar-panel,[data-map-editor] .legend-container modus-wc-panel.editor-2d-floating-toolbar-panel{box-sizing:border-box;border-radius:8px;max-width:100%}[data-map-editor] .legend-header{border-bottom:1px solid var(--modus-wc-color-base-200);padding:1rem 1rem .75rem}[data-map-editor] .legend-container .modus-wc-panel-body,[data-map-editor] .legend-container modus-wc-panel .modus-wc-panel-body{padding:1rem!important}[data-map-editor] .legend-title{color:var(--modus-wc-color-base-content);margin:0;font-weight:600}[data-map-editor] .legend-items{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}[data-map-editor] .legend-item{align-items:center;gap:.5rem;display:flex}[data-map-editor] .legend-color{border-radius:3px;flex-shrink:0;width:16px;height:16px}[data-map-editor] .legend-label{color:var(--modus-wc-color-base-content);font-size:.85rem;line-height:1.3}[data-map-editor][data-mobile=true] .main-layout{flex-direction:column!important}[data-map-editor][data-mobile=true] .sidebar{border-right:none;border-bottom:1px solid var(--modus-wc-color-base-200);flex-shrink:0;max-height:40vh;width:100%!important}[data-map-editor][data-mobile=true] .legend-items{grid-template-columns:1fr!important}[data-map-editor][data-mobile=true] .view-toggle-container{flex-wrap:wrap;gap:.5rem}[data-map-editor][data-mobile=true] .legend-container{max-width:100%}
