.joystick-ghost-wrapper{margin-top:38px;margin-bottom:60px;height:calc(100% - 100px);width:100%;position:relative}.react-joystick-wrapper .arrows-wrapper{visibility:hidden}.react-joystick{border:none!important;background:none!important;box-shadow:none!important}.react-joystick .react-joystick-controller{opacity:.5}.react-joystick-ghost-area{height:100%;width:100%}.react-joystick.hidden{visibility:hidden}.react-joystick.visible{visibility:visible}.zoom-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;opacity:0;transition:opacity .15s ease-in-out;font-size:2rem;color:#fff;background:#00000080;border-radius:50%;padding:.5rem}.zoom-indicator.visible{opacity:1}.gamepad-active{border:2px dashed var(--primary-color)}.gamepad-indicator{position:absolute;bottom:5px;right:5px;z-index:10;padding:.2rem .4rem;font-size:.8rem;animation:pulse 1.5s infinite}@keyframes pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.custom-joystick{position:absolute;top:0;left:0;width:100%;height:100%;cursor:grab;user-select:none;transition:opacity .2s ease-in-out}.custom-joystick:active{cursor:grabbing}.custom-joystick.hidden{visibility:hidden}.custom-joystick.visible{visibility:visible}.custom-joystick-controller{position:absolute;top:50%;left:50%;border-radius:50%;background:linear-gradient(to bottom,#ffffffe6,#eaf4fecc);border:1px solid rgba(217,221,228,.8);box-shadow:0 0 16px #0000004d;transition:none;pointer-events:none;z-index:10}.drawer-card-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.drawer-card-nav-actions .p-button{transition:all .2s ease}@media (pointer: coarse),(max-width: 768px){.drawer-card-nav-actions .p-button{min-width:44px;min-height:44px}.drawer-card-nav-actions .p-button.p-button-icon-only{width:44px;height:44px}.drawer-card-nav-actions .p-button .p-button-icon{font-size:1.25rem}.drawer-card-header{padding:.75rem 1rem}.drawer-card-header-icon{width:2.5rem;height:2.5rem}.drawer-card-header-title{font-size:1rem}.drawer-card-header-subtitle{font-size:.75rem}.drawer-card-actions{gap:.5rem}}.drawer-card-body .p-card,.drawer-card-body .p-tabview{max-height:100%}.drawer-card-body .p-tabview-panels{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.variable-autocomplete{background:var(--surface-overlay);border:1px solid var(--surface-border);border-radius:6px;box-shadow:0 2px 12px #0000001a;max-height:200px;overflow-y:auto;min-width:200px}.variable-autocomplete-item{padding:8px 12px;cursor:pointer;display:flex;flex-direction:column;gap:2px}.variable-autocomplete-item:hover,.variable-autocomplete-item.selected{background:var(--highlight-bg)}.variable-autocomplete-item .variable-name{font-family:monospace;font-size:.9em;color:var(--primary-color)}.variable-autocomplete-item .variable-label{font-size:.85em;color:var(--text-color-secondary)}.dynamic-form{display:flex;flex-direction:column;gap:8px}.form-fields{display:flex;flex-wrap:wrap;flex-direction:column;container-type:inline-size;container-name:form-fields}.form-field{display:flex;flex-direction:column;min-height:50px;justify-content:flex-start;padding-top:4px;position:relative;cursor:default}.form-field input,.form-field textarea{caret-color:var(--text-color)}.form-field.field-dirty .p-float-label:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background-color:var(--yellow-500);border-radius:0 0 2px 2px;z-index:1}.form-field.field-dirty:has(.p-invalid) .p-float-label:after{display:none}.form-field.field-dirty .datetime-input-group.has-now-button .p-float-label:after{display:none}.form-field.field-dirty .datetime-input-group.has-now-button{position:relative}.form-field.field-dirty .datetime-input-group.has-now-button:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background-color:var(--yellow-500);border-radius:0 0 2px 2px;z-index:1}.form-field.field-dirty:has(.p-invalid) .datetime-input-group.has-now-button:after{display:none}.form-field.field-dirty:has(.p-inputswitch) label:after{content:" *";color:var(--yellow-500);font-weight:700}.error-summary{background-color:var(--red-50);border:1px solid var(--red-200);border-radius:6px;padding:12px;margin-bottom:16px}.error-summary-header{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--red-700);margin-bottom:8px}.error-summary-header i{color:var(--red-500)}.error-summary-list{margin:0;padding-left:24px}.error-summary-list li{margin:4px 0}.error-summary-link{background:none;border:none;color:var(--red-700);text-decoration:underline;cursor:pointer;padding:0;font-size:inherit;font-family:inherit;text-align:left}.error-summary-link:hover{color:var(--red-900)}.p-float-label label{z-index:1}.form-field.full{flex:0 0 100%}.form-field.half{flex:2 1 45%;min-width:150px}.form-field.third{flex:1.33 1 30%;min-width:175px}.form-field.quarter{flex:1 1 22%;min-width:200px}button{align-self:flex-start}.form-accordion{width:100%}.form-accordion .p-accordion-tab{margin-bottom:16px}.form-accordion .p-accordion-tab:last-child{margin-bottom:0}.form-accordion .p-accordion-header-link{border-top-left-radius:var(--border-radius);border-top-right-radius:var(--border-radius)}.form-accordion .p-accordion-tab.p-accordion-tab-active .p-accordion-header-link{border-bottom-left-radius:0;border-bottom-right-radius:0}.form-accordion .p-accordion-tab:not(.p-accordion-tab-active) .p-accordion-header-link{border-bottom-left-radius:var(--border-radius);border-bottom-right-radius:var(--border-radius)}.form-accordion .p-accordion-content{border-bottom-left-radius:var(--border-radius);border-bottom-right-radius:var(--border-radius)}.accordion-header-icon-right{display:flex!important;flex-direction:row-reverse!important;justify-content:flex-start!important}.accordion-header-icon-right .p-accordion-header-text{flex:1}.section-header{display:flex;align-items:center;gap:8px}.section-header .section-icon{color:var(--primary-color);font-size:1rem;cursor:help;transition:color .2s ease}.section-header .section-icon:hover{color:var(--primary-color-emphasis)}.form-accordion .p-accordion-content:focus-within{border-color:var(--primary-color)}.section-fields{display:flex;flex-wrap:wrap;gap:8px;padding:4px;margin:-4px}.form-accordion.compact .p-accordion-tab{margin-bottom:0}.form-accordion.compact .p-accordion-header-link,.form-accordion.compact .p-accordion-content{border-radius:0}.form-accordion.compact .p-accordion-tab:first-child .p-accordion-header-link{border-top-left-radius:var(--border-radius);border-top-right-radius:var(--border-radius)}.form-accordion.compact .p-accordion-tab:last-child:not(.p-accordion-tab-active) .p-accordion-header-link{border-bottom-left-radius:var(--border-radius);border-bottom-right-radius:var(--border-radius)}.form-accordion.compact .p-accordion-tab:last-child.p-accordion-tab-active .p-accordion-header-link{border-bottom-left-radius:0;border-bottom-right-radius:0}.form-accordion.compact .p-accordion-tab:last-child .p-accordion-content{border-bottom-left-radius:var(--border-radius);border-bottom-right-radius:var(--border-radius)}.form-accordion.compact .p-accordion-tab:not(:first-child) .p-accordion-header-link{border-top:none}.form-accordion.compact .p-accordion-tab:not(:first-child) .p-accordion-content{border-top:none}.form-fields.compact>.form-accordion.compact:not(:first-child) .p-accordion-header-link,.form-fields.compact>.form-accordion.compact:not(:first-child) .p-accordion-content{border-top:none!important}.form-fields.compact>.form-accordion.compact:not(:last-child) .p-accordion-content{border-bottom:none!important}.form-fields.compact>.form-accordion.compact:not(:last-child) .p-accordion-tab:not(.p-accordion-tab-active) .p-accordion-header-link{border-bottom:none!important}.form-fields.compact>.form-accordion.compact:not(:first-child) .p-accordion-header-link{border-top-left-radius:0!important;border-top-right-radius:0!important}.form-fields.compact>.form-accordion.compact:not(:last-child) .p-accordion-content,.form-fields.compact>.form-accordion.compact:not(:last-child) .p-accordion-tab:not(.p-accordion-tab-active) .p-accordion-header-link{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.form-fields.compact .form-column>.form-accordion.compact:not(:first-child) .p-accordion-header-link,.form-fields.compact .form-column>.form-accordion.compact:not(:first-child) .p-accordion-content{border-top:none!important}.form-fields.compact .form-column>.form-accordion.compact:not(:last-child) .p-accordion-content{border-bottom:none!important}.form-fields.compact .form-column>.form-accordion.compact:not(:last-child) .p-accordion-tab:not(.p-accordion-tab-active) .p-accordion-header-link{border-bottom:none!important}.form-fields.compact .form-column>.form-accordion.compact:not(:first-child) .p-accordion-header-link{border-top-left-radius:0!important;border-top-right-radius:0!important}.form-fields.compact .form-column>.form-accordion.compact:not(:last-child) .p-accordion-content,.form-fields.compact .form-column>.form-accordion.compact:not(:last-child) .p-accordion-tab:not(.p-accordion-tab-active) .p-accordion-header-link{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.form-accordion.compact .p-accordion-header-link,.form-accordion.compact .p-accordion-content{padding:.75rem 1rem}.form-accordion.compact .section-fields{gap:4px}.form-fields.compact .form-field{min-height:40px;padding-top:2px}.form-fields.compact .form-field label{margin-bottom:2px}@container form-fields (max-width: 500px){.form-field.quarter,.form-field.third,.form-field.half,.form-field.full{flex:0 0 100%;min-width:0}}@container form-fields (min-width: 501px) and (max-width: 800px){.form-field.quarter,.form-field.third,.form-field.half{flex:1 1 45%;min-width:0}.form-field.full{flex:0 0 100%}}.form-field .p-float-label:has(input.p-filled) label{top:0!important;background-color:var(--surface-0);padding-left:3px;padding-right:3px}.form-field .p-float-label:has(.p-inputwrapper-focus) label{top:0!important;background-color:var(--surface-0);padding-left:3px;padding-right:3px;z-index:1}.form-field .p-float-label:has(input:focus) label{top:0!important;background-color:var(--surface-0);padding-left:3px;padding-right:3px}.form-field .p-float-label:has(.p-inputwrapper-filled) label{top:0!important;background-color:var(--surface-0);padding-left:3px;padding-right:3px;z-index:1}.form-field .p-float-label:has(textarea:focus) label{top:0!important;background-color:var(--surface-0);padding-left:3px;padding-right:3px}.form-field .p-float-label:has(textarea.p-filled) label{top:0!important;background-color:var(--surface-0);padding-left:3px;padding-right:3px}.form-field .p-float-label:has(.react-select__control--is-focused) label,.form-field .p-float-label:has(.react-select__value-container--has-value) label{top:0!important;background-color:var(--surface-0);padding-left:3px;padding-right:3px;z-index:1;font-size:.85rem;transform:translateY(-50%)}.form-field .p-float-label label{position:absolute;top:50%;left:.75rem;transform:translateY(-50%);transition:all .2s ease;pointer-events:none;margin-top:0}.form-field .p-float-label .react-select__control{background-color:var(--surface-card);border-color:var(--surface-border)}.react-select__menu{z-index:1000!important}[aria-required=true] label:after{content:"*";color:red}.dynamic-text-float-label .p-float-label label{top:0!important;background-color:var(--surface-0);padding-left:3px;padding-right:3px;z-index:1}.form-field .p-float-label{width:100%}.dynamic-text-float-label .p-float-label:has(input[value]:not([value=""])) label{top:0!important;background-color:var(--surface-0);padding-left:3px;padding-right:3px}.crop-container{position:relative;width:100%;background:#333;border-radius:8px;overflow:hidden}.crop-container .reactEasyCrop_Container{border-radius:8px}.crop-container .reactEasyCrop_CropArea{border:2px solid #fff;box-shadow:0 0 0 9999px #00000080}.geojson-map-editing .maplibregl-canvas-container,.geojson-map-editing .maplibregl-canvas{cursor:crosshair!important}.form-columns{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;width:100%}.form-column{display:flex;flex-direction:column;gap:8px}@container form-fields (max-width: 800px){.form-columns{grid-template-columns:1fr}}@media (max-width: 800px){.form-columns{grid-template-columns:1fr}}.map-layer-selector{box-shadow:0 4px 25px #00000026!important}.sign-layer-icon{display:inline-block!important;vertical-align:middle!important;width:16px!important;height:16px!important;color:inherit!important}.map-layer-selector .p-sidebar-header{background:linear-gradient(135deg,var(--surface-card) 0%,var(--surface-100) 100%)!important;border-bottom:1px solid var(--surface-border)!important;padding:0!important}.base-layer-tree .p-tree-container,.overlay-layer-tree .p-tree-container{background:transparent!important}.base-layer-tree .p-treenode,.overlay-layer-tree .p-treenode{margin-bottom:.25rem!important}.base-layer-tree .p-treenode-content,.overlay-layer-tree .p-treenode-content{border-radius:.5rem!important;transition:all .2s ease!important;border:1px solid transparent!important;padding:.5rem!important}.base-layer-tree .p-treenode-content:hover,.overlay-layer-tree .p-treenode-content:hover{background:var(--surface-100)!important;border-color:var(--primary-200)!important;transform:translateY(-1px)!important;box-shadow:0 2px 8px #0000001a!important}.base-layer-tree .p-treenode-content.p-highlight,.overlay-layer-tree .p-treenode-content.p-highlight{background:var(--primary-50)!important;border-color:var(--primary-300)!important;color:var(--primary-700)!important}.base-layer-tree .p-radiobutton,.overlay-layer-tree .p-checkbox{margin-right:.75rem!important}.base-layer-tree .p-radiobutton .p-radiobutton-box,.overlay-layer-tree .p-checkbox .p-checkbox-box{border-width:2px!important;transition:all .2s ease!important}.base-layer-tree .p-radiobutton .p-radiobutton-box:hover,.overlay-layer-tree .p-checkbox .p-checkbox-box:hover{border-color:var(--primary-500)!important;box-shadow:0 0 0 2px var(--primary-100)!important}.base-layer-tree .p-treenode-label,.overlay-layer-tree .p-treenode-label{font-weight:500!important;color:var(--text-color)!important;line-height:1.4!important}.base-layer-tree .p-tree-toggler,.overlay-layer-tree .p-tree-toggler{width:2rem!important;height:2rem!important;border-radius:50%!important;background:var(--surface-200)!important;border:none!important;color:var(--text-color-secondary)!important;transition:all .2s ease!important;margin-right:.5rem!important}.base-layer-tree .p-tree-toggler:hover,.overlay-layer-tree .p-tree-toggler:hover{background:var(--primary-500)!important;color:#fff!important;transform:scale(1.1)!important}.base-layer-tree .p-treenode[aria-level="1"] .p-treenode-content,.overlay-layer-tree .p-treenode[aria-level="1"] .p-treenode-content{background:var(--surface-200)!important;border:1px solid var(--surface-300)!important;font-weight:600!important}.base-layer-tree .p-treenode[aria-level="1"] .p-treenode-content:hover,.overlay-layer-tree .p-treenode[aria-level="1"] .p-treenode-content:hover{background:var(--surface-300)!important;border-color:var(--primary-400)!important}.base-layer-tree .p-treenode[aria-level="2"] .p-treenode-content,.overlay-layer-tree .p-treenode[aria-level="2"] .p-treenode-content{background:#fff!important;margin-left:1rem!important;border:1px solid var(--surface-200)!important}.map-layer-selector .surface-50{background:var(--surface-0)!important;border:1px solid var(--surface-200)!important;box-shadow:0 1px 3px #0000001a!important;transition:all .2s ease!important}.map-layer-selector .surface-50:hover{border-color:var(--primary-200)!important;box-shadow:0 2px 8px #00000026!important}.map-layer-selector .p-badge{font-size:.75rem!important;padding:.25rem .5rem!important;font-weight:600!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:1.5rem!important;flex-shrink:0!important}.map-layer-selector .flex.align-items-center.gap-1.mb-3{padding-right:.5rem!important}.map-layer-selector .selected-base-layer .p-treenode-content{background:var(--primary-50)!important;border:2px solid var(--primary-300)!important;color:var(--primary-700)!important;font-weight:600!important}.map-layer-selector .selected-base-layer .p-treenode-label{color:var(--primary-700)!important;font-weight:600!important}.map-layer-selector .selected-base-layer .p-treenode-icon{color:var(--primary-600)!important}.base-layer-tree .p-treenode-content.p-highlight{background:var(--primary-50)!important;border:2px solid var(--primary-400)!important;color:var(--primary-700)!important}.base-layer-tree .p-treenode-content.p-highlight .p-treenode-label{color:var(--primary-700)!important;font-weight:600!important}.base-layer-tree .p-treenode-content.p-highlight .p-treenode-icon{color:var(--primary-600)!important}.map-layer-selector .bg-bluegray-50{background:var(--surface-100)!important;border-top:1px solid var(--surface-border)!important}.map-layer-selector .p-scrollpanel{background:transparent!important}.map-layer-selector .p-scrollpanel .p-scrollpanel-content{padding:0!important}.map-layer-selector .pi-map.text-6xl{display:block!important;margin:0 auto 1rem!important}@media (max-width: 768px){.map-layer-selector{width:100%!important;max-width:100%!important}.map-layer-selector .p-2{padding:1rem!important}.map-layer-selector .p-badge{font-size:.625rem!important;padding:.125rem .375rem!important}}.map-layer-selector .surface-50{width:100%!important;max-width:100%!important;box-sizing:border-box!important;overflow:hidden!important}.map-layer-selector .p-2{width:100%!important;max-width:100%!important;box-sizing:border-box!important;overflow-x:hidden!important}.base-layer-tree,.overlay-layer-tree,.base-layer-tree .p-tree-container,.overlay-layer-tree .p-tree-container{width:100%!important;max-width:100%!important;overflow:hidden!important}.map-layer-selector .p-treenode-content{width:100%!important;max-width:100%!important;box-sizing:border-box!important;overflow:hidden!important;word-wrap:break-word!important}.map-layer-selector .p-treenode-label{max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.lexical-renderer{background:#fff;border-radius:4px;padding:8px 12px;font-size:14px;line-height:1.5;max-width:300px}.lexical-renderer-content{outline:none;padding:0;min-height:auto}.lexical-bold{font-weight:700}.lexical-italic{font-style:italic}.map-tooltip-overlay{position:fixed;z-index:10000;pointer-events:none;box-shadow:0 2px 8px #00000026;border-radius:4px;max-width:400px}.editor-shell{display:flex;flex-direction:column;border:1px solid var(--surface-border);border-radius:4px;background:var(--surface-card)}.editor-container{display:flex;flex-direction:column;height:100%}.editor-scroller{flex:1;overflow:auto;padding:.75rem;background:var(--surface-card)}.editor{outline:none;min-height:120px}.editor-placeholder{color:var(--text-color-secondary);pointer-events:none;position:absolute;top:.75rem;left:.75rem;user-select:none}.editor-text-bold{font-weight:700}.editor-text-italic{font-style:italic}.editor-text-underline{text-decoration:underline}.editor-text-strikethrough{text-decoration:line-through}.editor-paragraph{margin:0 0 .5rem;position:relative}:root{--lane-widget-bg: #f1f5f9;--lane-widget-card-bg: #ffffff;--lane-widget-road-bg: #374151;--lane-widget-border: rgba(0, 0, 0, .1);--lane-widget-accent: #059669;--lane-widget-accent-dim: rgba(5, 150, 105, .2);--lane-widget-text-primary: #1e293b;--lane-widget-text-secondary: #475569;--lane-widget-text-muted: rgba(0, 0, 0, .5);--lane-widget-lane-marking: rgba(255, 255, 255, .4);--lane-widget-lane-marking-dim: rgba(255, 255, 255, .15);--lane-widget-grid-color: rgba(255, 255, 255, .03);--lane-widget-ref-bg: rgba(255, 255, 255, .05);--lane-widget-ref-border: rgba(255, 255, 255, .15);--lane-widget-direction-bg: rgba(0, 0, 0, .05);--lane-widget-direction-border: rgba(0, 0, 0, .15);--lane-widget-mode-bg: transparent;--lane-widget-mode-border: rgba(0, 0, 0, .1)}.lane-widget .road-surface{--lane-widget-text-primary: #f8fafc;--lane-widget-text-secondary: #94a3b8;--lane-widget-text-muted: rgba(255, 255, 255, .6)}.dark-mode .lane-widget{--lane-widget-bg: #0a1628;--lane-widget-card-bg: #0d1b2a;--lane-widget-road-bg: #020617;--lane-widget-border: rgba(0, 255, 200, .15);--lane-widget-accent: #10b981;--lane-widget-accent-dim: rgba(16, 185, 129, .3);--lane-widget-text-primary: #f8fafc;--lane-widget-text-secondary: #64748b;--lane-widget-text-muted: rgba(255, 255, 255, .4);--lane-widget-lane-marking: rgba(0, 255, 200, .3);--lane-widget-lane-marking-dim: rgba(255, 255, 255, .08);--lane-widget-grid-color: rgba(255, 255, 255, .015);--lane-widget-ref-bg: transparent;--lane-widget-ref-border: rgba(255, 255, 255, .1);--lane-widget-direction-bg: rgba(255, 255, 255, .08);--lane-widget-direction-border: rgba(255, 255, 255, .15);--lane-widget-mode-bg: transparent;--lane-widget-mode-border: rgba(255, 255, 255, .1)}.lane-widget{background-color:transparent}.lane-group-card{background-color:var(--lane-widget-card-bg);border:1px solid var(--lane-widget-border);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.road-surface{background-color:var(--lane-widget-road-bg);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E"),linear-gradient(var(--lane-widget-grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--lane-widget-grid-color) 1px,transparent 1px);background-size:200px 200px,30px 30px,30px 30px;position:relative}.lane-marking-dashed{height:1px;width:100%;background-image:linear-gradient(to right,var(--lane-widget-lane-marking) 50%,transparent 50%);background-size:20px 100%;animation:lane-flow 1s linear infinite}.lane-marking-solid{height:1px;width:100%;background-color:var(--lane-widget-lane-marking-dim)}.lane-marking-hov{height:2px;width:100%;background-image:linear-gradient(to right,var(--lane-widget-accent) 50%,transparent 50%);background-size:12px 100%}.shoulder-hatching{background:repeating-linear-gradient(45deg,transparent,transparent 8px,rgba(255,255,255,.04) 8px,rgba(255,255,255,.04) 16px)}.hov-surface{background-color:#06b6d405}.reversible-surface{background-color:#6366f105}.lane-label{color:var(--lane-widget-text-primary);font-weight:700;letter-spacing:.02em;font-size:11px}.ref-point{display:flex;align-items:center;justify-content:center;padding:.25rem;min-width:1.5rem;background-color:var(--lane-widget-ref-bg)}.ref-point-left{border-right:1px solid var(--lane-widget-ref-border)}.ref-point-left .ref-label-value{writing-mode:vertical-rl;transform:rotate(180deg)}.ref-point-right{border-left:1px solid var(--lane-widget-ref-border)}.ref-point-right .ref-label-value{writing-mode:vertical-rl}.ref-label-value{color:var(--lane-widget-text-secondary);font-size:10px;font-weight:600;font-family:ui-monospace,monospace;white-space:nowrap}.direction-tag{display:inline-flex;align-items:center;gap:.25rem;background-color:var(--lane-widget-direction-bg);border:1px solid var(--lane-widget-direction-border);border-radius:9999px;padding:.2rem .6rem}.direction-tag-text{color:var(--lane-widget-text-primary);font-size:8px;font-weight:700;letter-spacing:.08em}.direction-tag-arrow{color:var(--lane-widget-accent);width:8px;height:8px}.mode-tag{display:inline-flex;align-items:center;background-color:var(--lane-widget-mode-bg);border:1px solid var(--lane-widget-mode-border);border-radius:9999px;padding:.2rem .6rem}.mode-tag-text{color:var(--lane-widget-text-muted);font-size:8px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.section-title{color:var(--lane-widget-text-secondary);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;position:relative;padding-bottom:.5rem}.section-title:after{content:"";position:absolute;bottom:0;left:0;width:2rem;height:2px;background-color:var(--lane-widget-accent);border-radius:1px}.lane-status-icon{width:1.25rem;height:1.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.lane-status-open{background-color:var(--lane-widget-accent);border:none;box-shadow:0 0 8px var(--lane-widget-accent-dim)}.lane-status-open svg{color:#fff}.lane-status-closed{background-color:#ef4444;border:none;box-shadow:0 0 8px #ef444466}.lane-status-closed svg{color:#fff}.lane-status-caution{background-color:#f59e0b;border:none;box-shadow:0 0 8px #f59e0b66}.lane-status-caution span{color:#fff}.toggle-btn-group{display:flex;background-color:var(--lane-widget-direction-bg);border:1px solid var(--lane-widget-direction-border);border-radius:6px;padding:2px}.toggle-btn{padding:.4rem 1rem;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border:none;background:transparent;color:var(--lane-widget-text-secondary);cursor:pointer;border-radius:4px;transition:all .15s ease}.toggle-btn:hover{color:var(--lane-widget-text-primary)}.toggle-btn-active{background-color:#3b82f6;color:#fff;box-shadow:0 1px 3px #0000004d}.config-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:1px solid var(--lane-widget-direction-border);border-radius:6px;background-color:var(--lane-widget-direction-bg);color:var(--lane-widget-text-secondary);cursor:pointer;transition:all .15s ease}.config-btn:hover{color:var(--lane-widget-text-primary);border-color:var(--lane-widget-accent)}.config-btn-active{background-color:var(--lane-widget-accent);border-color:var(--lane-widget-accent);color:#fff}.config-btn svg{width:1rem;height:1rem}.road-ruler{position:relative;width:100%;height:1.25rem;background-color:#0000004d;border-top:1px solid var(--lane-widget-lane-marking-dim)}.road-ruler-track{position:relative;width:100%;height:100%}.road-ruler-tick{position:absolute;top:0;transform:translate(-50%);display:flex;flex-direction:column;align-items:center}.road-ruler-tick-mark{width:1px;height:6px;background-color:var(--lane-widget-text-muted)}.road-ruler-tick-incident .road-ruler-tick-mark{width:2px;height:10px;background-color:var(--lane-widget-accent)}.road-ruler-tick-label{font-size:8px;font-family:ui-monospace,monospace;color:var(--lane-widget-text-muted);margin-top:1px;white-space:nowrap}.road-ruler-tick-incident .road-ruler-tick-label{color:var(--lane-widget-accent);font-weight:600}.road-ruler-tick-start{transform:translate(0);align-items:flex-start}.road-ruler-tick-end{transform:translate(-100%);align-items:flex-end}.add-lane-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;width:100%;border:1px dashed var(--lane-widget-ref-border);background-color:transparent;color:var(--lane-widget-text-muted);cursor:pointer;transition:all .15s ease;position:relative;z-index:1}.add-lane-btn-outer{border-bottom:1px dashed var(--lane-widget-ref-border);border-top:none;border-left:none;border-right:none}.add-lane-btn-inner{border-top:1px dashed var(--lane-widget-ref-border);border-bottom:none;border-left:none;border-right:none}.add-lane-btn:hover{background-color:var(--lane-widget-accent-dim);border-color:var(--lane-widget-accent);color:var(--lane-widget-text-primary)}.remove-lane-btn{display:flex;align-items:center;justify-content:center;padding:.5rem;border:none;border-radius:4px;background-color:transparent;color:var(--lane-widget-text-muted);cursor:pointer;transition:all .15s ease;flex-shrink:0}.remove-lane-btn:hover{background-color:#ef44441a;color:#ef4444}.remove-lane-btn svg{width:.75rem;height:.75rem}.lane-row-outer{border-top:1px solid var(--lane-widget-lane-marking-dim)}.lane-row-inner{border-bottom:1px solid var(--lane-widget-lane-marking-dim)}.add-lane-btn-icon{font-size:14px;font-weight:700;line-height:1}.add-lane-btn-text{font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.lane-row:hover{background-color:#ffffff08}.lane-row:focus{outline:none}.lane-row:focus-visible{outline:2px solid var(--lane-widget-accent);outline-offset:-2px}.road-surface::-webkit-scrollbar{height:4px}.road-surface::-webkit-scrollbar-track{background:transparent}.road-surface::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}.remove-section-btn{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border:1px solid var(--lane-widget-direction-border);border-radius:4px;background-color:transparent;color:var(--lane-widget-text-secondary);cursor:pointer;transition:all .15s ease}.remove-section-btn:hover{background-color:#ef44441a;border-color:#ef4444;color:#ef4444}.remove-section-btn svg{width:.875rem;height:.875rem}.add-section-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border:1px dashed var(--lane-widget-border);border-radius:8px;background-color:transparent;color:var(--lane-widget-text-muted);font-size:11px;font-weight:600;letter-spacing:.05em;cursor:pointer;transition:all .15s ease}.add-section-btn:hover{background-color:var(--lane-widget-accent-dim);border-color:var(--lane-widget-accent);color:var(--lane-widget-text-primary)}.edit-mode-fade-enter{opacity:0;transform:translateY(-5px)}.edit-mode-fade-enter-active{opacity:1;transform:translateY(0);transition:opacity .2s ease-out,transform .2s ease-out}.edit-mode-slide-enter{opacity:0;transform:translate(-10px)}.edit-mode-slide-enter-active{opacity:1;transform:translate(0);transition:opacity .15s ease-out,transform .15s ease-out}@media (prefers-reduced-motion: reduce){.edit-mode-fade-enter-active,.edit-mode-slide-enter-active{transition:none}}@keyframes lane-flow{0%{background-position:0 0}to{background-position:20px 0}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-reduced-motion: reduce){.lane-marking-dashed{animation:none}}@keyframes status-change{0%{transform:scale(1) translateY(0);opacity:1}50%{transform:scale(1.3) translateY(-3px);opacity:.7}to{transform:scale(1) translateY(0);opacity:1}}.lane-status-animating{animation:status-change .3s ease-out}@media (prefers-reduced-motion: reduce){.lane-status-animating{animation:none}}.fc-header-toolbar{margin-bottom:1rem!important;padding:1rem!important;background:var(--surface-card)!important;border:1px solid var(--surface-border)!important;border-radius:var(--border-radius)!important;box-shadow:0 2px 12px #0000001a!important;display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:space-between!important;gap:.75rem!important}.fc-toolbar-chunk{display:flex!important;align-items:center!important;gap:.5rem!important;flex-shrink:1!important;min-width:0!important}.fc-button-group{display:flex!important;border-radius:var(--border-radius)!important;overflow:hidden!important;box-shadow:none!important;flex-shrink:0!important;min-width:0!important}.fc-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:.75rem 1rem!important;margin:0!important;border:1px solid var(--primary-color)!important;background:var(--primary-color)!important;color:var(--primary-color-text)!important;font-family:var(--font-family)!important;font-size:.875rem!important;font-weight:500!important;text-align:center!important;text-decoration:none!important;cursor:pointer!important;transition:all .2s!important;border-radius:0!important;box-shadow:none!important;outline:none!important;white-space:nowrap!important;flex-shrink:0!important;min-width:fit-content!important}.fc-button-group .fc-button:first-child{border-top-left-radius:var(--border-radius)!important;border-bottom-left-radius:var(--border-radius)!important}.fc-button-group .fc-button:last-child{border-top-right-radius:var(--border-radius)!important;border-bottom-right-radius:var(--border-radius)!important}.fc-button:not(:disabled):hover{background:var(--primary-600)!important;border-color:var(--primary-600)!important;color:var(--primary-color-text)!important;transform:translateY(-1px)!important;box-shadow:0 2px 8px #00000026!important}.fc-button:not(:disabled):active,.fc-button-active{background:var(--primary-700)!important;border-color:var(--primary-700)!important;color:var(--primary-color-text)!important;transform:translateY(0)!important;box-shadow:inset 0 2px 4px #0003!important}.fc-button:focus{box-shadow:0 0 0 2px var(--focus-ring)!important;outline:none!important}.fc-button:disabled{background:var(--surface-200)!important;border-color:var(--surface-200)!important;color:var(--surface-500)!important;cursor:not-allowed!important}.fc-today-button{border-radius:var(--border-radius)!important;margin-left:.5rem!important}.fc-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:1rem!important;height:1rem!important;line-height:1!important}.fc-icon-chevron-left:before,.fc-icon-chevron-right:before{display:flex!important;align-items:center!important;justify-content:center!important}.fc-icon-chevron-left:before{content:""!important;font-family:primeicons!important}.fc-icon-chevron-right:before{content:""!important;font-family:primeicons!important}.fc-toolbar-title{font-size:1.5rem!important;font-weight:600!important;color:var(--text-color)!important;margin:0!important;padding:0 1rem!important}.fc-button-group+.fc-button-group{margin-left:.5rem!important}@media (max-width: 992px){.fc-header-toolbar{gap:.5rem!important}.fc-toolbar-chunk{gap:.375rem!important}.fc-button{padding:.625rem .875rem!important;font-size:.8125rem!important}}@media (max-width: 768px){.fc-header-toolbar{flex-direction:column!important;gap:1rem!important;padding:.75rem!important}.fc-toolbar-chunk{justify-content:center!important;flex-wrap:wrap!important;gap:.5rem!important}.fc-toolbar-title{order:-1!important;margin-bottom:1rem!important;font-size:1.25rem!important;text-align:center!important}.fc-button{padding:.5rem .75rem!important;font-size:.8125rem!important;min-width:auto!important}.fc-button-group{flex-shrink:1!important}}@media (max-width: 576px){.fc-header-toolbar{padding:.5rem!important}.fc-toolbar-title{font-size:1.125rem!important}.fc-button{padding:.4375rem .625rem!important;font-size:.75rem!important}.fc-toolbar-chunk:last-child{width:100%!important;justify-content:center!important}.fc-button-group{width:100%!important;max-width:300px!important}.fc-button-group .fc-button{flex:1!important;min-width:0!important}}@media (max-width: 480px){.fc-toolbar-chunk{flex-direction:column!important;align-items:center!important;width:100%!important}.fc-toolbar-chunk:first-child{order:1!important}.fc-toolbar-chunk:last-child{order:2!important;margin-top:.5rem!important}}.fc-dayGridMonth-button,.fc-timeGridWeek-button,.fc-timeGridDay-button{background:var(--surface-0)!important;border-color:var(--surface-border)!important;color:var(--text-color)!important}.fc-dayGridMonth-button:not(:disabled):hover,.fc-timeGridWeek-button:not(:disabled):hover,.fc-timeGridDay-button:not(:disabled):hover{background:var(--surface-100)!important;border-color:var(--surface-border)!important;color:var(--text-color)!important;transform:translateY(-1px)!important;box-shadow:0 2px 8px #0000001a!important}.fc-dayGridMonth-button:not(:disabled):active,.fc-timeGridWeek-button:not(:disabled):active,.fc-timeGridDay-button:not(:disabled):active{transform:translateY(0)!important}.fc-dayGridMonth-button.fc-button-active,.fc-timeGridWeek-button.fc-button-active,.fc-timeGridDay-button.fc-button-active{background:var(--primary-color)!important;border-color:var(--primary-color)!important;color:var(--primary-color-text)!important;transform:translateY(0)!important;box-shadow:inset 0 2px 4px #00000026!important}.fc{font-family:var(--font-family)!important;color:var(--text-color)!important;height:100%!important;min-height:500px!important;display:flex!important;flex-direction:column!important}.fc .fc-view-harness{flex:1!important;height:100%!important}.fc .fc-view{height:100%!important}.fc-theme-standard .fc-view-container{background:var(--surface-card)!important;border:1px solid var(--surface-border)!important;border-radius:var(--border-radius)!important;height:100%!important}.fc-theme-standard .fc-daygrid-body{background:var(--surface-card)!important}.fc-theme-standard .fc-scrollgrid{border:1px solid var(--surface-border)!important;border-radius:var(--border-radius)!important;height:100%!important}.fc-col-header-cell{background:var(--surface-100)!important;border-color:var(--surface-border)!important;color:var(--text-color-secondary)!important;font-weight:600!important;padding:.75rem!important}.fc-daygrid-day{background:var(--surface-card)!important;border-color:var(--surface-border)!important;transition:background-color .2s!important}.fc-daygrid-day:hover{background:var(--surface-hover)!important}.fc-daygrid-day.fc-day-today{background:var(--primary-50)!important}.fc-daygrid-day-number{color:var(--text-color)!important;padding:.5rem!important;font-weight:500!important}.fc-day-today .fc-daygrid-day-number{color:var(--primary-color)!important;font-weight:600!important}.fc-event{background:var(--primary-color)!important;border-color:var(--primary-color)!important;color:var(--primary-color-text)!important;border-radius:4px!important;font-size:.875rem!important;font-weight:500!important}.fc-event:hover{background:var(--primary-600)!important;border-color:var(--primary-600)!important;cursor:pointer!important}.fc-more-link{color:var(--primary-color)!important;font-weight:500!important;text-decoration:none!important}.fc-more-link:hover{color:var(--primary-600)!important;text-decoration:underline!important}.fc-scroller::-webkit-scrollbar{width:8px!important}.fc-scroller::-webkit-scrollbar-track{background:var(--surface-100)!important;border-radius:4px!important}.fc-scroller::-webkit-scrollbar-thumb{background:var(--surface-400)!important;border-radius:4px!important}.fc-scroller::-webkit-scrollbar-thumb:hover{background:var(--surface-500)!important}.graphic-dialog .p-dialog-content{padding:0!important}.graphic-dialog .p-dialog-header{background:var(--surface-800);color:var(--surface-0);border-radius:6px 6px 0 0}.graphic-dialog .p-dialog-header .p-dialog-title{color:var(--surface-0);font-weight:600}.graphic-dialog .p-dialog-header .p-dialog-header-icon{color:var(--surface-0)}.graphic-dialog .p-dialog-header .p-dialog-header-icon:hover{background-color:var(--surface-0-alpha-10)}.graphic-dialog-content{padding:1.5rem;min-height:600px}.graphic-panel{background:var(--surface-50);border:1px solid var(--surface-border);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;height:550px}.graphic-panel-header{background:var(--primary-500);color:#fff;padding:1rem 1.5rem;display:flex;align-items:center;gap:.75rem;font-weight:600;font-size:.95rem;flex-shrink:0}.graphic-panel-header i{font-size:1.1rem}.graphic-count-badge{background:#ffffff40;color:#fff;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;margin-left:auto;font-weight:500}.graphic-panel-content{padding:1.5rem;flex:1;overflow:hidden;display:flex;flex-direction:column}.graphic-subsection-header{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--text-color);margin-bottom:1rem}.graphic-subsection-header i{color:var(--primary-500)}.graphic-dialog .p-fileupload-choose{background:var(--primary-color);border-color:var(--primary-color);transition:all .2s ease;padding:.75rem 1.5rem;font-weight:500;border-radius:8px}.graphic-dialog .p-fileupload-choose:hover{background:var(--primary-600);transform:translateY(-1px)}.available-graphics-container{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;min-height:300px;max-height:400px;padding-right:.5rem}.available-graphics-item{display:flex;align-items:center;padding:1rem;background:#fff;border:1px solid var(--surface-border);border-radius:8px;cursor:pointer;transition:all .2s ease;gap:1rem}.available-graphics-item:hover{background:var(--primary-50);border-color:var(--primary-300);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.available-graphics-image{width:48px;height:48px;object-fit:cover;border-radius:6px;border:1px solid var(--surface-border);flex-shrink:0}.available-graphics-info{flex:1;min-width:0}.available-graphics-name{font-weight:500;color:var(--text-color);margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.available-graphics-details{font-size:.875rem;color:var(--text-color-secondary)}.current-graphics-container{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;min-height:300px;max-height:400px;padding-right:.5rem;padding-bottom:.75rem}.current-graphics-item{display:flex;align-items:center;padding:1rem;background:#fff;border:1px solid var(--surface-border);border-radius:8px;gap:1rem;transition:all .2s ease}.current-graphics-item:hover{background:var(--surface-100);border-color:var(--surface-300)}.current-graphics-image{width:48px;height:48px;object-fit:cover;border-radius:6px;border:1px solid var(--surface-border);flex-shrink:0}.current-graphics-info{flex:1;min-width:0}.current-graphics-position{font-size:.875rem;color:var(--text-color);font-weight:500}.current-graphics-actions{display:flex;gap:.5rem;flex-shrink:0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;text-align:center;padding:2rem 1rem}.empty-state-icon{font-size:3rem;color:var(--text-color-secondary);margin-bottom:1rem;opacity:.5}.empty-state-title{font-size:1.1rem;font-weight:500;color:var(--text-color);margin-bottom:.5rem}.empty-state-description{font-size:.875rem;color:var(--text-color-secondary);line-height:1.5;max-width:280px}.graphic-dialog .p-inputtext:focus,.graphic-dialog .p-inputnumber-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color-alpha-20)}.graphic-dialog .p-dialog-footer{border-top:1px solid var(--surface-border);background:var(--surface-50);padding:1rem 1.5rem}.graphic-dialog .p-inputnumber.p-inputnumber-buttons-horizontal .p-inputnumber-button{width:2rem}.graphic-dialog .p-inputnumber.p-inputnumber-buttons-horizontal .p-inputnumber-input{padding:.375rem .5rem;height:2.125rem}.graphic-dialog .p-inputnumber.p-inputnumber-buttons-horizontal{display:flex}.graphic-dialog .p-inputnumber.p-inputnumber-buttons-horizontal .p-inputnumber-button-group{display:flex;flex-direction:column}.snap-button-grid{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr 1fr 1fr;gap:.25rem;aspect-ratio:1;max-width:100px;margin:0 auto}.snap-button-container{display:flex;flex-direction:column;align-items:center}.snap-button-icon{display:flex!important;align-items:center;justify-content:center;aspect-ratio:1;padding:.15rem!important}.snap-button-icon .p-button-icon{font-size:1rem}.snap-top-left{grid-column:1;grid-row:1}.snap-top-right{grid-column:3;grid-row:1}.snap-bottom-left{grid-column:1;grid-row:3}.snap-bottom-right{grid-column:3;grid-row:3}.snap-center{grid-column:2;grid-row:2}.graphic-dialog .canvas-container{background:var(--surface-100);border:1px solid var(--surface-border);border-radius:8px;padding:1rem;display:flex;justify-content:center;align-items:center}.graphic-dialog .info-panel{background:var(--blue-50);border:1px solid var(--blue-200);border-radius:8px;padding:1rem}.graphic-dialog .warning-panel{background:var(--yellow-50);border:1px solid var(--yellow-500);border-radius:8px;padding:.75rem;color:var(--yellow-900)}.available-graphics-container::-webkit-scrollbar,.current-graphics-container::-webkit-scrollbar{width:8px}.available-graphics-container::-webkit-scrollbar-track,.current-graphics-container::-webkit-scrollbar-track{background:var(--surface-100);border-radius:4px}.available-graphics-container::-webkit-scrollbar-thumb,.current-graphics-container::-webkit-scrollbar-thumb{background:var(--surface-400);border-radius:4px;border:1px solid var(--surface-200)}.available-graphics-container::-webkit-scrollbar-thumb:hover,.current-graphics-container::-webkit-scrollbar-thumb:hover{background:var(--surface-500)}@media (max-width: 1500px){.graphic-dialog-content{padding:1rem}.graphic-panel{height:500px}.available-graphics-container,.current-graphics-container{min-height:250px;max-height:350px}}@media (max-width: 1200px){.graphic-dialog-content{padding:1rem;min-height:500px}.graphic-panel{height:450px}.available-graphics-container,.current-graphics-container{min-height:200px;max-height:300px}}@media (max-width: 768px){.graphic-dialog{margin:1rem!important;width:calc(100vw - 2rem)!important;max-width:none!important}.graphic-dialog-content{padding:1rem;min-height:auto}.graphic-dialog-content .flex{flex-direction:column}.graphic-panel{height:350px;margin-bottom:1rem}.graphic-panel:last-child{margin-bottom:0}.snap-button-grid{max-width:100px}.available-graphics-item,.current-graphics-item{padding:.75rem}.available-graphics-image,.current-graphics-image{width:40px;height:40px}}.variable-chip{display:inline-flex;align-items:center;background-color:var(--primary-100);border:1px solid var(--primary-300);border-radius:4px;padding:0 4px;margin:0 2px;font-family:monospace;font-size:.9em;color:var(--primary-700);vertical-align:baseline}.variable-chip-content{white-space:nowrap}.phase-status-table .p-column-title{width:100%}.phase-status-table td{padding:.25rem!important}@keyframes phase-flash{0%,to{opacity:1}50%{opacity:.25}}.phase-dot-flashing{animation:phase-flash 1s infinite}.phase-next-indicator{animation:pulse-next 2s infinite}@keyframes pulse-next{0%,to{opacity:1;transform:translate(0)}50%{opacity:.6;transform:translate(3px)}}.phase-call-indicator{animation:pulse-call 1.5s infinite}@keyframes pulse-call{0%,to{opacity:1}50%{opacity:.4}}.phase-status-table .p-datatable-header{padding:.75rem 1rem;background:transparent;border:none}.form-builder{display:flex;flex-direction:column;height:100%;min-height:600px}.form-builder-toolbar{padding:.75rem 1rem;border-bottom:1px solid var(--surface-border)}.form-builder-toolbar-title{font-weight:600;font-size:1.1rem;margin-right:auto}.form-builder-content{display:flex;flex:1;overflow:hidden}.form-builder-sidebar{width:280px;border-right:1px solid var(--surface-border);background:var(--surface-ground);overflow-y:auto}.form-builder-main{flex:1;padding:1rem;overflow-y:auto}.form-builder-properties{width:320px;border-left:1px solid var(--surface-border);overflow-y:auto}.form-builder-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-color-secondary)}.form-builder-empty-state i{font-size:3rem;margin-bottom:1rem;opacity:.5}.section-list{display:flex;flex-direction:column;min-height:0}.section-list-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem .5rem 1rem;border-bottom:1px solid var(--surface-border)}.section-list-header-left{display:flex;flex-direction:column;gap:.125rem}.section-list-title{font-weight:600}.section-list-count{font-size:.875rem;color:var(--text-color-secondary)}.section-list-items{flex:1;overflow-y:auto;padding:.5rem}.section-list-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;margin-bottom:.25rem;border-radius:var(--border-radius);border:2px solid transparent;cursor:grab;transition:all .2s ease,transform .15s ease;position:relative}.section-list-item:hover{background:var(--surface-hover);border-color:var(--surface-border);box-shadow:var(--shadow-1)}.section-list-item--selected{background:var(--primary-color);color:var(--primary-color-text);border-color:var(--primary-color)}.section-list-item--selected:hover{background:var(--primary-color);box-shadow:none}.section-list-item--dragging{opacity:.3;transform:scale(.95);border-style:dashed;border-color:var(--surface-400);background:var(--surface-100);pointer-events:none}.section-list-item--dragging *{opacity:0}.section-list-item--drop-target{border-color:var(--primary-color);background:var(--highlight-bg);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb, 59, 130, 246),.2);transform:scale(1.01)}.section-list-item--drop-target:before{content:"";position:absolute;top:-3px;left:0;right:0;height:3px;background:var(--primary-color);border-radius:2px}.section-list-item-icon{width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;background:var(--surface-100);border-radius:var(--border-radius);flex-shrink:0}.section-list-item--selected .section-list-item-icon{background:#fff3}.section-list-item-icon i{font-size:.875rem}.section-list-item-content{flex:1;display:flex;flex-direction:column;min-width:0}.section-list-item-label-row{display:flex;align-items:center;gap:.375rem}.section-list-item-label{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.section-list-item-column-badge{font-size:.625rem;font-weight:600;padding:.125rem .25rem;background:var(--surface-300);color:var(--text-color);border-radius:3px;flex-shrink:0}.section-list-item--selected .section-list-item-column-badge{background:#ffffff4d;color:var(--primary-color-text)}.section-list-item-count{font-size:.75rem;opacity:.7}.section-list-item-actions{display:flex;gap:.125rem;opacity:0;transition:opacity .15s ease}.section-list-item:hover .section-list-item-actions,.section-list-item--selected .section-list-item-actions,.section-list-item:focus-within .section-list-item-actions{opacity:1}.section-editor{padding:1rem}.section-editor-title{margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--surface-border)}.section-editor-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;color:var(--text-color-secondary);text-align:center;padding:1rem}.section-editor-empty i{font-size:2rem;margin-bottom:.5rem;opacity:.5}.section-editor-info{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--surface-border);font-size:.875rem;color:var(--text-color-secondary)}.form-config-panel{padding:1rem;border-bottom:1px solid var(--surface-border)}.form-config-panel-title{margin:0 0 1rem;font-size:.875rem;text-transform:uppercase;color:var(--text-color-secondary)}.form-builder-field-area{padding:1rem}.form-builder-field-area h3{margin:0 0 1rem}.field-type-selector{padding:1rem;max-height:60vh;overflow-y:auto}.field-type-category{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--surface-border)}.field-type-category:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.field-type-category-title{margin:0 0 .75rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-color-secondary)}.field-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.field-type-item{display:flex;align-items:center;gap:.5rem;padding:.75rem;min-height:44px;border:1px solid var(--surface-border);border-radius:var(--border-radius);background:var(--surface-card);cursor:pointer;transition:all .2s ease;font-size:.875rem}.field-type-item:hover{background:var(--surface-hover);border-color:var(--primary-color);box-shadow:var(--shadow-1)}.field-type-item--selected{background:var(--primary-color);color:var(--primary-color-text);border-color:var(--primary-color)}.field-type-item i{font-size:1.125rem;width:1.5rem;text-align:center}.field-size-selector{margin-bottom:1rem}.field-size-label-row{display:flex;align-items:center;gap:.375rem;margin-bottom:.5rem}.field-size-label{font-size:.875rem}.field-size-help-icon{font-size:.875rem;color:var(--text-color-secondary);cursor:help;transition:color .2s}.field-size-help-icon:hover{color:var(--primary-color)}.field-size-options{display:flex;gap:.25rem}.field-size-option{flex:1;height:2rem;padding:.25rem;border:2px solid var(--surface-border);border-radius:var(--border-radius);background:var(--surface-ground);cursor:pointer;transition:all .2s}.field-size-option:hover{border-color:var(--primary-color)}.field-size-option--selected{border-color:var(--primary-color);background:var(--primary-50)}.field-size-option:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.field-size-preview{height:100%;background:var(--primary-color);border-radius:2px}.field-card{display:flex;align-items:center;gap:.5rem;padding:.75rem;border:2px solid var(--surface-border);border-radius:var(--border-radius);background:var(--surface-card);cursor:grab;transition:all .2s ease,transform .15s ease;position:relative;flex-basis:100%;flex-grow:1;min-width:0}.field-card--size-full{flex-basis:100%}.field-card--size-half{flex-basis:calc(50% - .25rem)}.field-card--size-third{flex-basis:calc(33.333% - .334rem)}.field-card--size-quarter{flex-basis:calc(25% - .375rem)}.field-card--size-half,.field-card--size-third,.field-card--size-quarter{flex-wrap:wrap;padding:.5rem;gap:.375rem}.field-card--size-half .field-card-content,.field-card--size-third .field-card-content,.field-card--size-quarter .field-card-content{flex-basis:calc(100% - 4.5rem);order:1}.field-card--size-half .field-card-badges,.field-card--size-third .field-card-badges,.field-card--size-quarter .field-card-badges{order:2;flex-basis:100%;justify-content:flex-start;margin-top:.25rem}.field-card--size-half .field-card-actions,.field-card--size-third .field-card-actions,.field-card--size-quarter .field-card-actions{position:absolute;top:.25rem;right:.25rem}.field-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-2);transform:translateY(-1px)}.field-card:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.field-card--selected{border-color:var(--primary-color);background:var(--highlight-bg)}.field-card--selected:hover{transform:none}.field-card--dragging{position:absolute;visibility:hidden;width:0;height:0;margin:0;padding:0;border:none;overflow:hidden;pointer-events:none}.field-card--drop-target{border-color:var(--primary-color);background:var(--highlight-bg);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb, 59, 130, 246),.2);transform:scale(1.01)}.field-card--drop-target:before{content:"";position:absolute;top:-4px;left:.5rem;right:.5rem;height:3px;background:var(--primary-color);border-radius:2px}.field-drop-placeholder{display:flex;align-items:center;justify-content:center;min-height:60px;border:2px dashed var(--primary-color);border-radius:var(--border-radius);background:linear-gradient(135deg,var(--highlight-bg) 0%,rgba(var(--primary-color-rgb, 59, 130, 246),.1) 100%);animation:placeholder-pulse 1.5s ease-in-out infinite,placeholder-appear .15s ease-out;flex-basis:100%;flex-grow:1;min-width:0}@keyframes placeholder-appear{0%{opacity:0;transform:scaleY(.8)}to{opacity:1;transform:scaleY(1)}}.field-drop-placeholder--size-full{flex-basis:100%}.field-drop-placeholder--size-half{flex-basis:calc(50% - .25rem)}.field-drop-placeholder--size-third{flex-basis:calc(33.333% - .334rem)}.field-drop-placeholder--size-quarter{flex-basis:calc(25% - .375rem)}.field-drop-placeholder-inner{display:flex;align-items:center;justify-content:center;color:var(--primary-color);opacity:.7}.field-drop-placeholder-inner i{font-size:1.25rem}@keyframes placeholder-pulse{0%,to{opacity:1;border-color:var(--primary-color)}50%{opacity:.6;border-color:var(--primary-400)}}.field-list-items--dragging{background:var(--surface-50);border-radius:var(--border-radius)}.field-card-icon{width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:var(--surface-ground);border-radius:var(--border-radius)}.field-card-icon i{font-size:1rem}.field-card-content{flex:1;min-width:0}.field-card-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field-card-type{font-size:.75rem;color:var(--text-color-secondary)}.field-card-badges{display:flex;gap:.25rem}.field-card-badges .p-tag{font-size:.625rem;padding:.125rem .375rem}.field-card-actions{display:flex;gap:.125rem;opacity:0;transition:opacity .15s ease}.field-card:hover .field-card-actions,.field-card--selected .field-card-actions,.field-card:focus-within .field-card-actions{opacity:1}.field-list{display:flex;flex-direction:column;height:100%}.field-list-header{display:flex;justify-content:space-between;align-items:center;padding:0 0 1rem;border-bottom:1px solid var(--surface-border);margin-bottom:1rem}.field-list-header h3{margin:0}.field-list-count{color:var(--text-color-secondary);font-size:.875rem}.field-list-items{flex:1;overflow-y:auto;display:flex;flex-wrap:wrap;gap:.5rem;align-content:flex-start;padding:.25rem}.field-list-empty,.field-list-empty-section{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:200px;width:100%;color:var(--text-color-secondary);text-align:center;padding:2rem}.field-list-empty i,.field-list-empty-section i{font-size:3rem;margin-bottom:1rem;opacity:.4}.field-list-empty p{margin:0 0 .5rem;font-size:1.1rem}.field-list-empty small{max-width:280px;line-height:1.4}.field-list-empty .p-button{align-self:center}.field-list-footer{padding-top:1rem;border-top:1px solid var(--surface-border)}.properties-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;color:var(--text-color-secondary);text-align:center}.properties-placeholder i{font-size:2.5rem;margin-bottom:.5rem;opacity:.5}.options-editor-list{margin-bottom:.5rem}.options-editor-item{display:flex;gap:.25rem;margin-bottom:.25rem}.options-editor-add{display:flex;gap:.25rem}.logic-rule-builder{padding:.75rem;background:var(--surface-ground);border-radius:var(--border-radius)}.logic-rule-row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.field-editor{height:100%;overflow-y:auto}.field-editor-title{margin:0;padding:1rem;border-bottom:1px solid var(--surface-border);position:sticky;top:0;background:var(--surface-card);z-index:1}.field-editor-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;color:var(--text-color-secondary);text-align:center;padding:1rem}.field-editor-empty i{font-size:2rem;margin-bottom:.5rem;opacity:.5}.form-preview-dialog .p-dialog-content{padding:0}.form-preview-content{padding:1rem}.form-preview-notice{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;margin-bottom:1rem;background:var(--blue-50);border:1px solid var(--blue-200);border-radius:var(--border-radius);color:var(--blue-700)}.form-preview-notice i{font-size:1.25rem}.dirty-indicator{width:8px;height:8px;border-radius:50%;background:var(--orange-500);display:inline-block;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.section-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;text-align:center;color:var(--text-color-secondary)}.section-list-empty i{font-size:2.5rem;margin-bottom:.75rem;opacity:.5}.section-list-empty p{margin:0 0 1rem}.section-list-empty .p-button{align-self:center}.field-card-size-indicator{width:32px;height:4px;background:var(--surface-200);border-radius:2px;overflow:hidden;flex-shrink:0}.field-card-size-bar{height:100%;background:var(--primary-color);border-radius:2px;transition:width .2s ease}.field-list-quick-add{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.p-theme-dark .field-card{background:var(--surface-800);border-color:var(--surface-700)}.p-theme-dark .field-card:hover{box-shadow:0 4px 14px #0006}.p-theme-dark .form-builder-sidebar{background:var(--surface-900)}.p-theme-dark .field-type-item{background:var(--surface-800);border-color:var(--surface-700)}.p-theme-dark .field-type-item:hover{box-shadow:0 2px 8px #0000004d}.p-theme-dark .section-list-item:hover{background:var(--surface-800)}.p-theme-dark .section-list-item-icon{background:var(--surface-700)}.p-theme-dark .section-list-item-column-badge{background:var(--surface-600)}.p-theme-dark .section-list-item--drop-target,.p-theme-dark .field-card--drop-target{background:rgba(var(--primary-color-rgb, 59, 130, 246),.15);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb, 59, 130, 246),.3)}.p-theme-dark .section-list-item--dragging,.p-theme-dark .field-card--dragging{background:var(--surface-700);border-color:var(--surface-500)}.p-theme-dark .field-drop-placeholder{background:linear-gradient(135deg,rgba(var(--primary-color-rgb, 59, 130, 246),.15),rgba(var(--primary-color-rgb, 59, 130, 246),.05))}.p-theme-dark .field-list-items--dragging,.p-theme-dark .field-editor-title{background:var(--surface-800)}.rule-builder-container{display:flex;flex-direction:column;gap:.75rem}.conditions-fullscreen-dialog .rule-builder-container{flex:1;min-height:0}.rule-builder-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:.75rem;border-bottom:1px solid var(--surface-border);flex-wrap:wrap;gap:.5rem}.rule-builder-header-left,.rule-builder-status{display:flex;align-items:center;gap:.5rem}.rule-builder-badge{min-width:1.5rem}.rule-builder-status-text{font-size:.875rem;color:var(--text-color-secondary)}.rule-builder-header-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.rule-builder-mode-toggle{flex-shrink:0}.rule-builder-mode-toggle .p-button{padding:.5rem .75rem}.rule-builder-presets{min-width:140px}.rule-builder-validation{border-radius:var(--border-radius)}.rule-builder-validation-content{display:flex;align-items:flex-start}.rule-builder-validation-list{margin:0;padding-left:1rem;font-size:.875rem}.rule-builder-validation-list li{margin-bottom:.25rem}.rule-builder-validation-list li:last-child{margin-bottom:0}.rule-builder-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;color:var(--text-color-secondary);background:var(--surface-ground);border:2px dashed var(--surface-border);border-radius:var(--border-radius);margin-bottom:.5rem}.rule-builder-empty i{font-size:2.5rem;margin-bottom:.75rem;opacity:.5;color:var(--primary-color)}.rule-builder-empty p{margin:0 0 .5rem;font-size:1rem;font-weight:500;color:var(--text-color)}.rule-builder-empty-hint{font-size:.875rem;max-width:280px;line-height:1.4}.rule-builder-wrapper{background:var(--surface-ground);border:1px solid var(--surface-border);border-radius:var(--border-radius);padding:1rem;min-height:100px}.rule-builder-wrapper--readonly{opacity:.7;pointer-events:none}.rule-builder-wrapper--empty{min-height:60px}.rule-builder-json{display:flex;flex-direction:column;gap:.5rem}.rule-builder-json-header{display:flex;justify-content:space-between;align-items:center}.rule-builder-json-label{font-size:.875rem;font-weight:500;color:var(--text-color)}.rule-builder-json-hint{font-size:.75rem;color:var(--text-color-secondary)}.rule-builder-json-textarea{font-family:Consolas,Monaco,Courier New,monospace;font-size:.8125rem;line-height:1.5;min-height:150px;resize:vertical;background:var(--surface-ground)}.rule-builder-json-error{font-size:.75rem;color:var(--red-500);display:flex;align-items:center;gap:.375rem}.rule-builder-test-accordion{margin-top:.5rem}.rule-builder-test-accordion .p-accordion-header-link{padding:.75rem 1rem;background:var(--surface-50);border-radius:var(--border-radius)}.rule-builder-test-accordion .p-accordion-content{padding:1rem;background:var(--surface-ground);border:1px solid var(--surface-border);border-top:none;border-radius:0 0 var(--border-radius) var(--border-radius)}.rule-builder-test{display:flex;flex-direction:column;gap:1rem}.rule-builder-test-input{display:flex;flex-direction:column;gap:.5rem}.rule-builder-test-label{font-size:.875rem;font-weight:500;color:var(--text-color)}.rule-builder-test-textarea{font-family:Consolas,Monaco,Courier New,monospace;font-size:.8125rem;line-height:1.5;resize:vertical}.rule-builder-test-actions{display:flex;justify-content:flex-start}.rule-builder-test-result{border-radius:var(--border-radius)}.rule-builder-test-result-content{display:flex;align-items:center}.rule-builder-summary{background:var(--surface-ground);border:1px solid var(--surface-border);border-radius:var(--border-radius);padding:1rem}.rule-builder-summary-empty{color:var(--text-color-secondary);font-style:italic;font-size:.875rem}.rule-builder-summary-conditions{display:flex;flex-direction:column;gap:.5rem}.rule-builder-summary-condition{display:flex;align-items:center;gap:.5rem;padding:.625rem .875rem;background:var(--surface-card);border-radius:var(--border-radius);border:1px solid var(--surface-200);font-size:.875rem;transition:all .2s ease}.rule-builder-summary-condition:hover{border-color:var(--primary-color);box-shadow:var(--shadow-1)}.rule-builder-summary-condition i{color:var(--primary-color);font-size:.875rem}.rule-builder-summary-logic{display:flex;align-items:center;justify-content:center;padding:.375rem 0}.rule-builder-summary-logic-badge{font-size:.6875rem;font-weight:600;padding:.125rem .625rem;border-radius:3px;background:var(--surface-200);color:var(--text-color-secondary);text-transform:uppercase;letter-spacing:.025em}.rule-builder-shortcuts{display:flex;justify-content:flex-end;padding-top:.5rem;border-top:1px solid var(--surface-border);margin-top:.25rem}.rule-builder-shortcuts-hint{font-size:.75rem;color:var(--text-color-secondary);display:flex;align-items:center;gap:.25rem}.rule-builder-shortcuts-hint kbd{display:inline-block;padding:.125rem .375rem;font-family:Consolas,Monaco,Courier New,monospace;font-size:.6875rem;line-height:1;color:var(--text-color);background:var(--surface-100);border:1px solid var(--surface-300);border-radius:3px;box-shadow:0 1px 0 var(--surface-300)}.constraint-row{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem;background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--border-radius)}.constraint-row-inputs{display:flex;align-items:flex-start;gap:.5rem;flex:1;flex-wrap:wrap}.rule-value-input{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;flex:1;min-width:200px}.value-type-toggle{flex-shrink:0}.rule-value-chips{flex:1;min-width:160px}.rule-select__control{border-color:var(--surface-border)!important;min-height:36px!important}.rule-select__control:hover{border-color:var(--primary-color)!important}.rule-select__control--is-focused{border-color:var(--primary-color)!important;box-shadow:0 0 0 1px var(--primary-color)!important}.rule-select__menu{z-index:9999!important}.condition-group{border:1px solid var(--surface-border);background:var(--surface-ground);position:relative}.condition-group--and{border-left:3px solid var(--blue-500)}.condition-group--or{border-left:3px solid var(--green-500)}.condition-group--none{border-left:3px solid var(--red-500)}.condition-group--depth-0{background:var(--surface-ground)}.condition-group--depth-1{background:var(--surface-50);margin-left:1.5rem}.condition-group--depth-2{background:var(--surface-100);margin-left:1.5rem}.condition-group--depth-3{background:var(--surface-200);margin-left:1.5rem}.condition-group--depth-4{background:var(--surface-300);margin-left:1.5rem}.condition-group-header{display:flex;align-items:center;gap:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--surface-border);margin-bottom:.5rem}.condition-group-header>button:last-child{margin-left:auto}.condition-group-items{display:flex;flex-direction:column;gap:.5rem;position:relative;margin-left:.75rem;padding-left:.5rem}.condition-group-items:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--surface-300);border-radius:1px}.condition-group--and .condition-group-items:before{background:var(--blue-300)}.condition-group--or .condition-group-items:before{background:var(--green-300)}.condition-group--none .condition-group-items:before{background:var(--red-300)}.condition-group-item{position:relative;padding-left:.5rem}.condition-group-item:before{content:"";position:absolute;left:0;top:50%;width:.5rem;height:2px;background:var(--surface-300)}.condition-group--and .condition-group-item:before{background:var(--blue-300)}.condition-group--or .condition-group-item:before{background:var(--green-300)}.condition-group--none .condition-group-item:before{background:var(--red-300)}.condition-group-actions{display:flex;gap:.5rem;padding-top:.5rem;border-top:1px solid var(--surface-border);margin-top:.5rem}.group-type-toggle{flex-shrink:0}.group-type-toggle .p-button{padding:.375rem .75rem;font-size:.75rem;font-weight:600}.rule-builder-visual{display:flex;flex-direction:column;gap:1rem}.rule-builder-conditions{display:flex;flex-direction:column;gap:.75rem}.rule-builder-add-root{display:flex;justify-content:center;padding-top:.5rem}.p-theme-dark .rule-builder-wrapper{background:var(--surface-800);border-color:var(--surface-700)}.p-theme-dark .rule-builder-empty{background:var(--surface-800);border-color:var(--surface-600)}.p-theme-dark .rule-builder-empty i{color:var(--primary-400)}.p-theme-dark .rule-builder-json-textarea,.p-theme-dark .rule-builder-test-accordion .p-accordion-header-link{background:var(--surface-800)}.p-theme-dark .rule-builder-test-accordion .p-accordion-content,.p-theme-dark .rule-builder-summary{background:var(--surface-800);border-color:var(--surface-700)}.p-theme-dark .rule-builder-summary-condition{background:var(--surface-700);border-color:var(--surface-600)}.p-theme-dark .rule-builder-summary-logic-badge{background:var(--surface-600)}.p-theme-dark .rule-builder-shortcuts-hint kbd{background:var(--surface-700);border-color:var(--surface-600);box-shadow:0 1px 0 var(--surface-600)}.p-theme-dark .condition-group--and{border-left-color:var(--blue-400)}.p-theme-dark .condition-group--or{border-left-color:var(--green-400)}.p-theme-dark .condition-group--none{border-left-color:var(--red-400)}.p-theme-dark .condition-group--and .condition-group-items:before,.p-theme-dark .condition-group--and .condition-group-item:before{background:var(--blue-400)}.p-theme-dark .condition-group--or .condition-group-items:before,.p-theme-dark .condition-group--or .condition-group-item:before{background:var(--green-400)}.p-theme-dark .condition-group--none .condition-group-items:before,.p-theme-dark .condition-group--none .condition-group-item:before{background:var(--red-400)}@media screen and (max-width: 768px){.rule-builder-header{flex-direction:column;align-items:flex-start}.rule-builder-header-actions{width:100%;justify-content:flex-start}.rule-builder-mode-toggle,.rule-builder-presets{flex-grow:1}.rule-builder-shortcuts{justify-content:center}.constraint-row{flex-direction:column;align-items:stretch}.constraint-row-inputs{flex-direction:column}}.rule-builder-flow{position:relative;height:400px;min-height:300px;border:1px solid var(--surface-border);border-radius:var(--border-radius);background:var(--surface-ground)}.rule-builder-flow--fullscreen{height:100%;flex:1}.root-node{position:relative;display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--surface-card);border:1px dashed var(--surface-border);border-radius:var(--border-radius);font-size:.75rem;color:var(--text-color-secondary)}.root-node-label{white-space:nowrap}.root-node-handle{width:8px;height:8px;background:var(--surface-border)}.group-node{position:relative;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .1s,filter .1s;box-sizing:border-box}.group-node:hover{transform:scale(1.08);filter:brightness(1.1)}.group-node--and{width:70px!important;height:40px!important;min-width:70px;min-height:40px;border-radius:6px;background:var(--blue-500);border:none}.group-node--and:hover{box-shadow:0 4px 12px #3b82f666}.group-node--or{width:56px!important;height:56px!important;min-width:56px;min-height:56px;background:transparent;border:none;position:relative}.group-node--or:before{content:"";position:absolute;inset:0;background:var(--green-500);clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);z-index:0;transition:filter .1s}.group-node--or:hover:before{filter:brightness(1.1)}.group-node--or .group-node-label,.group-node--or .group-node-handle{z-index:1}.group-node--none{width:70px!important;height:40px!important;min-width:70px;min-height:40px;border:none;background:transparent;position:relative}.group-node--none:before{content:"";position:absolute;inset:0;background:var(--orange-500);clip-path:polygon(12% 0%,88% 0%,100% 50%,88% 100%,12% 100%,0% 50%);z-index:0;transition:filter .1s}.group-node--none:hover:before{filter:brightness(1.1)}.group-node--none .group-node-label,.group-node--none .group-node-handle{z-index:1}.group-node-label{position:relative;z-index:1;padding:4px 8px;font-size:.75rem;font-weight:700;color:#fff;background:transparent;border:none;cursor:pointer;white-space:nowrap;text-align:center;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.2)}.group-node-label:disabled{cursor:default}.group-node-handle{width:10px;height:10px;border-radius:50%;background:#fff!important;border:2px solid currentColor!important}.group-node-actions{position:absolute;top:-30px;left:50%;transform:translate(-50%);display:flex;gap:4px;padding:4px;background:var(--surface-card);border-radius:var(--border-radius);box-shadow:var(--shadow-2)}.group-node-actions .p-button{width:24px;height:24px;padding:0}.root-node-actions{position:absolute;top:-30px;left:50%;transform:translate(-50%);display:flex;gap:4px;padding:4px;background:var(--surface-card);border-radius:var(--border-radius);box-shadow:var(--shadow-2)}.root-node-actions .p-button{width:24px;height:24px;padding:0}.condition-node{position:relative;background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--border-radius);cursor:pointer;transition:box-shadow .2s,width .2s,height .2s}.condition-node.collapsed{padding:8px 12px;min-width:180px}.condition-node.expanded{padding:12px;min-width:300px;cursor:default}.condition-node:hover{box-shadow:0 0 0 2px var(--primary-color)}.condition-node-handle{width:8px;height:8px;background:var(--primary-color)}.condition-node-summary{display:flex;align-items:center;gap:6px;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.condition-field{color:var(--text-color)}.condition-operator{color:var(--primary-color);font-weight:600}.condition-value{color:var(--text-color-secondary)}.condition-node-form{display:flex;flex-direction:column;gap:8px}.condition-node-row{display:flex;flex-direction:column;gap:4px}.condition-node-row label{font-size:.75rem;color:var(--text-color-secondary)}.condition-node-actions{display:flex;justify-content:flex-end;margin-top:8px}.condition-node-delete{position:absolute;top:-8px;right:-8px;width:20px;height:20px;padding:0}.flow-bottom-dock{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:12px;padding:12px;background:var(--surface-card);border-top:1px solid var(--surface-border)}.flow-bottom-dock-label{font-size:.875rem;color:var(--text-color-secondary)}.flow-bottom-dock .p-button{min-width:60px}.flow-empty-state{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--text-color-secondary);pointer-events:none}.flow-empty-state i{font-size:3rem;opacity:.5}.flow-empty-state p{margin:0;font-size:.875rem}.react-flow__edge-path{stroke-width:2}.react-flow__edge.selected .react-flow__edge-path{stroke-width:3}.condition-edit-dialog .p-dialog-content{padding-top:1rem}.condition-dialog-preview{display:flex;align-items:center;gap:.5rem;padding:.875rem 1rem;background:linear-gradient(135deg,var(--surface-100) 0%,var(--surface-50) 100%);border:1px solid var(--surface-200);border-radius:var(--border-radius);font-size:.9375rem;overflow:hidden}.condition-dialog-preview>i{color:var(--text-color-secondary);font-size:.875rem;flex-shrink:0}.condition-preview-field{color:var(--text-color);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.condition-preview-operator{color:var(--primary-color);font-weight:600;flex-shrink:0}.condition-preview-value{color:var(--text-color-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.condition-dialog-label{display:flex;align-items:center;gap:.5rem;font-weight:500;font-size:.875rem;color:var(--text-color)}.condition-dialog-label>i{color:var(--primary-color);font-size:.875rem}.p-theme-dark .condition-dialog-preview{background:linear-gradient(135deg,var(--surface-700) 0%,var(--surface-800) 100%);border-color:var(--surface-600)}.p-theme-dark .condition-preview-field{color:var(--text-color)}.p-theme-dark .condition-preview-value{color:var(--text-color-secondary)}.conditions-card-backdrop{position:fixed;inset:0;background:#00000080;z-index:99998;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.conditions-card-backdrop--visible{opacity:1;visibility:visible}.conditions-card-wrapper{position:relative;transition:top .3s cubic-bezier(.4,0,.2,1),left .3s cubic-bezier(.4,0,.2,1),right .3s cubic-bezier(.4,0,.2,1),bottom .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1),height .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s ease}.conditions-card-wrapper--fullscreen{position:fixed;inset:16px;z-index:99999;box-shadow:0 25px 50px -12px #00000040}.conditions-card{height:100%;display:flex;flex-direction:column}.conditions-card-wrapper--fullscreen .conditions-card{border-radius:var(--border-radius);overflow:hidden}.conditions-card-wrapper--fullscreen .rule-builder-container{flex:1;display:flex;flex-direction:column;min-height:0}.p-theme-dark .conditions-card-backdrop{background:#000000b3}.module-dashboard{background-color:var(--surface-ground)}.module-dashboard .p-toolbar{background:var(--surface-card);border-color:var(--surface-border);padding:.75rem 1rem}.dashboard-widget-container{background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--border-radius);overflow:hidden;transition:box-shadow .2s;min-height:0;min-width:0}.dashboard-widget-container:hover{box-shadow:var(--shadow-2)}.dashboard-grid-layout.drop-zone{position:relative}.dashboard-grid-layout.drop-zone:after{content:"";position:absolute;inset:0;background:rgba(var(--primary-500-rgb),.05);border:2px dashed var(--primary-300);border-radius:var(--border-radius);pointer-events:none;opacity:0;transition:opacity .2s ease-in-out;z-index:10}.dashboard-grid-layout.drop-zone.drag-over:after{opacity:1}.widget-type-card{transition:all .2s ease-in-out}.widget-type-card:hover{transform:translateY(-2px)}.widget-type-card:active{transform:scale(.98)}.add-widget-drawer .p-sidebar-content{padding:0}.add-widget-drawer .widget-type-card{cursor:grab}.add-widget-drawer .widget-type-card:active{cursor:grabbing}.drag-preview{pointer-events:none;transition:all .15s ease-out;animation:dragPreviewAppear .2s ease-out}@keyframes dragPreviewAppear{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.drag-preview-content{width:100%;height:100%;background:var(--surface-card);border:2px solid var(--primary-500);border-radius:var(--border-radius);box-shadow:0 8px 32px rgba(var(--primary-500-rgb),.3);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px;position:relative;overflow:hidden}.drag-preview-content:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(var(--primary-500-rgb),.1),rgba(var(--primary-500-rgb),.05));border-radius:inherit}.drag-preview-content:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(var(--primary-500-rgb),.1) 10px,rgba(var(--primary-500-rgb),.1) 12px);border-radius:inherit}.drag-preview-icon{position:relative;z-index:2;margin-bottom:8px;padding:12px;background:var(--surface-ground);border-radius:50%;box-shadow:0 2px 8px #0000001a}.drag-preview-info{position:relative;z-index:2;text-align:center;margin-bottom:8px}.drag-preview-title{font-size:14px;font-weight:600;color:var(--text-color);margin-bottom:4px;line-height:1.2}.drag-preview-size{font-size:12px;color:var(--text-color-secondary);font-weight:500}.drag-preview-position{position:absolute;top:8px;right:8px;background:var(--primary-500);color:var(--primary-color-text);padding:4px 8px;border-radius:12px;font-size:11px;font-weight:600;z-index:3;box-shadow:0 2px 4px #0003}.widget-drag-preview{background:var(--surface-card)!important;border:2px solid var(--primary-500)!important;border-radius:var(--border-radius)!important;box-shadow:0 8px 32px #00000026!important;font-family:var(--font-family)!important}.widget-drag-preview-content{display:flex;align-items:center;gap:12px;width:100%;height:100%}.widget-drag-preview-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--surface-100);border-radius:8px}.widget-drag-preview-icon i{font-size:20px!important}.widget-drag-preview-text{flex:1;display:flex;flex-direction:column;gap:2px}.widget-drag-preview-name{font-size:14px;font-weight:600;color:var(--text-color);line-height:1.2}.widget-drag-preview-size{font-size:12px;color:var(--text-color-secondary);font-weight:500}.react-grid-item.react-draggable-dragging .dashboard-widget-container{box-shadow:var(--shadow-4);transform:rotate(3deg);z-index:1000}.react-grid-item.react-resizable-resizing .dashboard-widget-container{box-shadow:var(--shadow-4)}.react-grid-layout{position:relative}.react-grid-item{transition:all .2s ease;transition-property:left,top}.react-grid-item.cssTransforms{transition-property:transform}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px;bottom:0;right:0;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNiIgaGVpZ2h0PSI2IiB2aWV3Qm94PSIwIDAgNiA2IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZmlsbC1vcGFjaXR5PSIuMyI+PHBhdGggZD0iTTYgNkgwVjRoNHYyeiIgZmlsbD0iIzk5OSIvPjxwYXRoIGQ9Ik02IDZINFYwaDJ2NnoiIGZpbGw9IiM5OTkiLz48L2c+PC9zdmc+);background-position:bottom right;padding:0 3px 3px 0;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;cursor:se-resize;opacity:.7}.dashboard-widget{border:none!important}.dashboard-widget .p-card-header{background:transparent;border-bottom:1px solid var(--surface-border);padding:.75rem 1rem}.dashboard-widget .p-card-content{padding:1rem}.dashboard-widget .p-card-title{font-size:1rem;font-weight:600;color:var(--text-color)}@media (max-width: 768px){.module-dashboard .p-toolbar .p-toolbar-group-start{flex-direction:column;gap:.5rem;align-items:stretch}.module-dashboard .p-toolbar .p-toolbar-group-start>div{flex-wrap:wrap}.module-dashboard .p-toolbar .p-toolbar-group-end{margin-top:.5rem}}@media (max-width: 480px){.module-dashboard .p-toolbar{flex-direction:column;gap:1rem}.module-dashboard .p-toolbar .p-toolbar-group-start,.module-dashboard .p-toolbar .p-toolbar-group-end{width:100%;justify-content:center}}.dashboard-loading{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--text-color-secondary)}.dashboard-error{padding:1rem}.dashboard-no-data{display:flex;align-items:center;justify-content:center;min-height:300px;color:var(--text-color-secondary);text-align:center}.dashboard-no-data i{color:var(--primary-color)}@keyframes dashboardWidgetPulse{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.dashboard-widget-container.loading{animation:dashboardWidgetPulse 1.5s ease-in-out infinite}.p-theme-dark .dashboard-widget-container{background:var(--surface-800);border-color:var(--surface-700)}.p-theme-dark .react-grid-item>.react-resizable-handle{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNiIgaGVpZ2h0PSI2IiB2aWV3Qm94PSIwIDAgNiA2IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZmlsbC1vcGFjaXR5PSIuNSI+PHBhdGggZD0iTTYgNkgwVjRoNHYyeiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik02IDZINFYwaDJ2NnoiIGZpbGw9IiNmZmYiLz48L2c+PC9zdmc+)}.dashboard-edit-overlay{position:absolute;inset:0;background:#0000001a;display:flex;align-items:center;justify-content:center;z-index:10;border-radius:var(--border-radius)}.dashboard-edit-overlay i{font-size:2rem;color:var(--text-color-secondary)}.recharts-wrapper{overflow:hidden!important}.dashboard-recharts{overflow:hidden;min-height:0;min-width:0}.vehicle-class-viewer{animation:fadeInUp .6s ease-out}.vehicle-class-viewer .p-card-title{animation:slideInFromTop .5s ease-out .1s both}.vehicle-class-viewer .p-chip{animation:scaleIn .4s ease-out .3s both;transition:transform .2s ease}.vehicle-class-viewer .p-chip:hover{transform:scale(1.05)}.vehicle-image-container{animation:slideInFromLeft .3s ease-out .2s both}.vehicle-image{transition:transform .3s ease,filter .3s ease}.vehicle-image:hover{transform:scale(1.02);filter:brightness(1.1)}.axle-indicator{animation:bounceIn .2s ease-out both;transition:all .3s ease}.axle-indicator:hover{transform:translate(-50%) scale(1.2);box-shadow:0 4px 12px #0000004d}.axle-indicator.overloaded{animation:pulseRedDramatic 1.5s infinite,bounceIn .5s ease-out both;box-shadow:0 0 10px #dc354599}.vehicle-info{animation:slideInFromRight .3s ease-out .2s both}.vehicle-info .field{animation:fadeInUp .2s ease-out both;transition:transform .2s ease}.vehicle-info .field:nth-child(1){animation-delay:.5s}.vehicle-info .field:nth-child(2){animation-delay:.6s}.vehicle-info .field:hover{transform:translateY(-2px)}.vehicle-info .field i{transition:color .3s ease,transform .3s ease}.vehicle-info .field:hover i{color:var(--primary-color);transform:scale(1.1)}.axle-weight-tag{animation:fadeInUp .4s ease-out both;transition:all .3s ease;font-weight:500}.axle-weight-tag:nth-child(1){animation-delay:.7s}.axle-weight-tag:nth-child(2){animation-delay:.8s}.axle-weight-tag:nth-child(3){animation-delay:.9s}.axle-weight-tag:nth-child(4){animation-delay:1s}.axle-weight-tag:nth-child(5){animation-delay:1.1s}.axle-weight-tag:nth-child(6){animation-delay:1.2s}.axle-weight-tag:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 4px 12px #00000026}.overloaded-tag{animation:fadeInUp .4s ease-out both,pulseTagRed 2s infinite 1s}.overloaded-tag:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 4px 12px #dc354566}.axle-spacing-diagram{animation:slideInFromBottom .6s ease-out .3s both}.axle-spacing-diagram svg{overflow:visible}.axle-number{animation:fadeInScale .2s ease-out both;transition:fill .2s ease}.axle-number.overloaded{animation:fadeInScale .3s ease-out both,pulseRedTextDramatic 1.5s infinite}.axle-line{animation:drawLine .3s ease-out both;transition:stroke .2s ease}.measurement-line{animation:drawLine .3s ease-out both;transition:stroke .2s ease,stroke-width .2s ease}.measurement-arrow{animation:fadeInScale .3s ease-out both;transition:stroke .2s ease}.distance-text{animation:fadeInUp .3s ease-out both;transition:fill .2s ease,font-size .2s ease}.axle-spacing-diagram:hover .axle-number{fill:var(--primary-color)}.axle-spacing-diagram:hover .measurement-line{stroke:var(--primary-color);stroke-width:2}.axle-spacing-diagram:hover .measurement-arrow{stroke:var(--primary-color)}.axle-spacing-diagram:hover .distance-text{fill:var(--primary-color);font-size:12px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:translate(-50%) scale(.5)}50%{opacity:1;transform:translate(-50%) scale(1.1)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes drawLine{0%{stroke-dasharray:1000;stroke-dashoffset:1000}to{stroke-dasharray:1000;stroke-dashoffset:0}}@keyframes pulseTagRed{0%,to{box-shadow:0 0 #dc3545b3}50%{box-shadow:0 0 0 8px #dc354500}}@keyframes pulseRedDramatic{0%{background-color:#dc3545;transform:translate(-50%) scale(1);box-shadow:0 0 10px #dc354599}25%{background-color:#ff4757;transform:translate(-50%) scale(1.15);box-shadow:0 0 20px #ff4757cc}50%{background-color:#ff6b7a;transform:translate(-50%) scale(1.25);box-shadow:0 0 25px #ff6b7a}75%{background-color:#ff4757;transform:translate(-50%) scale(1.15);box-shadow:0 0 20px #ff4757cc}to{background-color:#dc3545;transform:translate(-50%) scale(1);box-shadow:0 0 10px #dc354599}}@keyframes pulseRedTextDramatic{0%{fill:#dc3545;filter:drop-shadow(0 0 2px rgba(220,53,69,.8))}25%{fill:#ff4757;filter:drop-shadow(0 0 4px rgba(255,71,87,.9))}50%{fill:#ff6b7a;filter:drop-shadow(0 0 6px rgba(255,107,122,1))}75%{fill:#ff4757;filter:drop-shadow(0 0 4px rgba(255,71,87,.9))}to{fill:#dc3545;filter:drop-shadow(0 0 2px rgba(220,53,69,.8))}}@keyframes pulseRed{0%,to{background-color:#dc3545;transform:translate(-50%) scale(1)}50%{background-color:#ff6b7a;transform:translate(-50%) scale(1.05)}}@keyframes pulseRedText{0%,to{fill:#dc3545}50%{fill:#ff6b7a}}@media (max-width: 768px){.vehicle-class-viewer,.vehicle-image-container,.vehicle-info,.axle-spacing-diagram{animation-duration:.4s}}@media (prefers-reduced-motion: reduce){.vehicle-class-viewer,.vehicle-class-viewer *,.axle-spacing-diagram,.axle-spacing-diagram *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.bottom-drawer-resizable .p-sidebar-content{display:flex;flex-direction:column;height:100%}.bottom-drawer-resize-handle{position:absolute;top:0;left:0;right:0;height:24px;cursor:ns-resize;display:flex;align-items:center;justify-content:center;z-index:10;background:transparent;transition:background-color .2s ease;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.bottom-drawer-resize-handle:hover{background-color:var(--surface-hover)}.bottom-drawer-resize-handle-bar{width:64px;height:6px;background-color:var(--surface-400);border-radius:3px;transition:background-color .2s ease,width .2s ease}.bottom-drawer-resize-handle:hover .bottom-drawer-resize-handle-bar,.bottom-drawer-resize-handle:active .bottom-drawer-resize-handle-bar{background-color:var(--primary-color);width:80px}.bottom-drawer-content{height:100%;padding-top:24px;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.bottom-drawer-content .overflow-auto{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}@media (pointer: coarse),(max-width: 768px){.bottom-drawer-resize-handle{height:32px}.bottom-drawer-resize-handle-bar{width:80px;height:8px;border-radius:4px}.bottom-drawer-resize-handle:active .bottom-drawer-resize-handle-bar{width:96px;background-color:var(--primary-600)}.bottom-drawer-content{padding-top:32px}}.wim-icon{display:inline-block;width:1rem;height:1rem;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='20 -100 256 256'%3E%3Cpath d='m 14183.5,7510.5 c 339.6,0 606.2,-266.6 606.2,-606.1 0,-339.5 -266.6,-606.1 -606.2,-606.1 -339.5,0 -606,266.6 -606,606.1 0,339.5 266.5,606.1 606,606.1 z m -8099.68,0 c 339.51,0 606.07,-266.6 606.07,-606.1 0,-339.5 -266.56,-606.1 -606.07,-606.1 -339.52,0 -606.11,266.6 -606.11,606.1 0,339.5 266.59,606.1 606.11,606.1 z M 3192.4,8116.6 c -107.75,0 -195.11,-87.3 -195.11,-195.1 v -536.1 c 0,-131.8 106.77,-238.5 238.47,-238.5 h 1046.01 c 48.54,360.7 204.17,698.5 446.77,969.7 z m 10991.1,202 c -776.2,0 -1414.2,-637.9 -1414.2,-1414.2 0,-776.2 638,-1414.2 1414.2,-1414.2 776.3,0 1414.3,638 1414.3,1414.2 0,776.3 -638,1414.2 -1414.3,1414.2 z m -8099.68,0 c -776.28,0 -1414.24,-637.9 -1414.24,-1414.2 0,-776.2 637.96,-1414.2 1414.24,-1414.2 776.25,0 1414.2,638 1414.2,1414.2 0,776.3 -637.95,1414.2 -1414.2,1414.2 z m 6168.58,2452.2 h 557.2 c 61.9,0 111.7,-49.8 111.7,-111.6 0,-61.9 -49.8,-111.7 -111.7,-111.7 h -557.2 c -61.8,0 -111.6,49.8 -111.6,111.7 0,61.8 49.8,111.6 111.6,111.6 z m 164.3,1953.3 h 2095.6 c 126.6,0 245.1,-62.5 316.6,-167 l 894.5,-1308.1 c 18.6,-27.3 20.6,-62.6 5.2,-91.8 -15.4,-29.2 -45.6,-47.4 -78.7,-47.4 h -3340.6 c -84.6,0 -153.3,68.6 -153.3,153.3 v 1200.4 c 0,69.1 27.5,135.4 76.4,184.3 48.9,48.9 115.1,76.3 184.3,76.3 z m -565.2,842.6 c -236.8,-0.2 -428.8,-192.1 -429,-429 l -5,-5021.1 H 7439.07 c 242.63,-271.2 398.25,-609 446.8,-969.7 h 4495.63 c 121.4,902.4 891.5,1575.8 1802,1575.8 910.6,0 1680.7,-673.4 1802.1,-1575.8 h 1093.1 c 56.9,0 111.5,22.6 151.8,62.8 40.2,40.3 62.8,94.9 62.8,151.8 v 571.2 c 0,101.6 -82.3,183.9 -183.9,183.9 h -196.7 v 2376.6 c 0,378.8 -118.7,748.1 -339.5,1055.9 l -1180,1645.7 c -138,192.5 -358.8,308.6 -595.6,313.3 l -2937.1,58.5 c -3,0.1 -6,0.1 -9,0.1 z m -8339.94,943.1 c -275.38,0 -498.64,-223.3 -498.64,-498.6 V 8813.9 c 0,-32.5 12.91,-63.7 35.93,-86.7 22.99,-23 54.21,-35.9 86.74,-35.9 h 7485.81 c 39.6,0 77.7,15.7 105.8,43.8 28,28 43.7,66.1 43.7,105.8 v 5213.6 c 0,251.5 -203.8,455.3 -455.2,455.3 H 3511.56' fill='%23000000' fill-rule='evenodd' stroke='none' transform='matrix(0.017,0,0,-0.024,-20,276)'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:contain;vertical-align:middle;filter:brightness(0) saturate(100%) invert(32%) sepia(6%) saturate(861%) hue-rotate(169deg) brightness(99%) contrast(84%)}.wim-icon.wim-icon-sm{width:.875rem;height:.875rem}.wim-icon.wim-icon-lg{width:1.25rem;height:1.25rem}.wim-icon.wim-icon-xl{width:1.5rem;height:1.5rem}.wim-icon[style*=font-size]{width:1em;height:1em}.wim-icon.wim-icon-primary{filter:brightness(0) saturate(100%) invert(27%) sepia(51%) saturate(2878%) hue-rotate(346deg) brightness(104%) contrast(97%)}.wim-icon.wim-icon-secondary{filter:brightness(0) saturate(100%) invert(64%) sepia(23%) saturate(818%) hue-rotate(169deg) brightness(91%) contrast(88%)}.wim-icon.wim-icon-success{filter:brightness(0) saturate(100%) invert(42%) sepia(93%) saturate(1352%) hue-rotate(87deg) brightness(119%) contrast(119%)}.wim-icon.wim-icon-danger{filter:brightness(0) saturate(100%) invert(17%) sepia(79%) saturate(2198%) hue-rotate(343deg) brightness(97%) contrast(110%)}.wim-icon.wim-icon-warning{filter:brightness(0) saturate(100%) invert(84%) sepia(50%) saturate(2618%) hue-rotate(345deg) brightness(99%) contrast(99%)}.wim-icon.wim-icon-info{filter:brightness(0) saturate(100%) invert(53%) sepia(96%) saturate(1206%) hue-rotate(169deg) brightness(101%) contrast(107%)}.wim-icon.wim-icon-light{filter:brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(2%) hue-rotate(233deg) brightness(107%) contrast(101%)}.wim-icon.wim-icon-dark{filter:brightness(0) saturate(100%) invert(0%) sepia(0%) saturate(0%) hue-rotate(93deg) brightness(107%) contrast(107%)}.wim-icon.wim-icon-inherit{filter:brightness(0) saturate(100%)}.dark-mode .wim-icon{filter:brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(87%) contrast(100%)}:root{--shadow-1: 0 2px 4px rgba(0, 0, 0, .1);--shadow-2: 0 4px 8px rgba(0, 0, 0, .12);--shadow-4: 0 8px 16px rgba(0, 0, 0, .15)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--surface-ground)}::-webkit-scrollbar-thumb{background:var(--surface-400);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--text-color-secondary)}*{scrollbar-width:thin;scrollbar-color:var(--surface-400) var(--surface-ground)}#root,html{height:100%;width:100%}body{height:100%;width:100%;padding:0;margin:0}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.breadcrumb{color:var(--surface-200);text-decoration:none}.pi:before{backface-visibility:visible!important;--webkit-backface-visibility: visible !important}a.nostyle{color:var(--text-color);text-decoration:none}.p-datatable .p-datatable-tbody>tr>td:has(>a){padding:0}.p-datatable .p-datatable-tbody>tr>td>a{padding:1rem}.cursor-pointer-rows .p-datatable-tbody>tr{cursor:pointer}.p-breadcrumb-list a{color:var(--surface-200);text-decoration:underline}.p-datatable{display:flex}.p-datatable-wrapper{flex:1;display:flex}.p-submenu-list{width:13.5rem}video{height:100%;width:100%;object-fit:fill;object-position:center}.video-sidebar-content{height:75px!important}.maplibregl-popup-content{min-width:300px;border-radius:6px;padding:0!important;background:var(--surface-card)!important;color:var(--text-color);box-shadow:0 3px 5px #0000001a,0 0 2px #00000026,0 1px 4px #0003!important;border:1px solid var(--surface-border)}.maplibregl-popup-close-button{width:1.5rem;height:1.5rem;border-radius:50%!important;background:var(--primary-color)!important;color:var(--primary-color-text)!important;border:2px solid var(--surface-card)!important;padding:0;margin:0;transition:background-color .2s,color .2s,box-shadow .2s;position:absolute;top:-.5rem!important;right:-.5rem!important;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;z-index:2}.maplibregl-popup-close-button:hover{background:var(--primary-600);color:var(--primary-color-text);cursor:pointer}.maplibregl-popup-close-button:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--primary-color);outline:0 none}.maplibregl-popup-tip{border-top-color:var(--surface-card)!important;border-bottom-color:var(--surface-card)!important}.sign-icon{background-image:url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2060%2040'%20width='60px'%20height='40px'%3e%3crect%20x='5'%20y='32'%20width='4'%20height='8'%20fill='%23555'/%3e%3crect%20x='51'%20y='32'%20width='4'%20height='8'%20fill='%23555'/%3e%3crect%20width='58'%20height='32'%20rx='2'%20ry='2'%20fill='%23222'%20stroke='%23444'%20stroke-width='2'%20y='1'%20x='1'/%3e%3c/svg%3e");background-repeat:no-repeat;background-size:contain;background-position:center;display:inline-block;width:100%;max-width:100%;filter:brightness(0) saturate(100%) invert(32%) sepia(6%) saturate(861%) hue-rotate(169deg) brightness(99%) contrast(84%)}.sign-icon.sign-icon-primary{filter:brightness(0) saturate(100%) invert(27%) sepia(51%) saturate(2878%) hue-rotate(346deg) brightness(104%) contrast(97%)}.sign-icon.sign-icon-secondary{filter:brightness(0) saturate(100%) invert(64%) sepia(23%) saturate(818%) hue-rotate(169deg) brightness(91%) contrast(88%)}.sign-icon.sign-icon-success{filter:brightness(0) saturate(100%) invert(42%) sepia(93%) saturate(1352%) hue-rotate(87deg) brightness(119%) contrast(119%)}.sign-icon.sign-icon-danger{filter:brightness(0) saturate(100%) invert(17%) sepia(79%) saturate(2198%) hue-rotate(343deg) brightness(97%) contrast(110%)}.sign-icon.sign-icon-warning{filter:brightness(0) saturate(100%) invert(84%) sepia(50%) saturate(2618%) hue-rotate(345deg) brightness(99%) contrast(99%)}.sign-icon.sign-icon-info{filter:brightness(0) saturate(100%) invert(53%) sepia(96%) saturate(1206%) hue-rotate(169deg) brightness(101%) contrast(107%)}.sign-icon.sign-icon-light{filter:brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(2%) hue-rotate(233deg) brightness(107%) contrast(101%)}.sign-icon.sign-icon-dark{filter:brightness(0) saturate(100%) invert(0%) sepia(0%) saturate(0%) hue-rotate(93deg) brightness(107%) contrast(107%)}.sign-icon.sign-icon-inherit{filter:brightness(0) saturate(100%)}.dark-mode .sign-icon{filter:brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(87%) contrast(100%)}.dark-mode .bg-primary-50{background:var(--surface-ground)!important}.dark-mode .bg-primary-100{background:var(--surface-300)!important}.custom-icon{width:16px;height:16px}.p-avatar{width:32px;min-width:32px}.p-tabview-title{margin-left:4px}.p-datatable .p-datatable-tbody>tr>td{padding:.5rem}.p-tabview{display:flex;flex-direction:column}.p-tabview-nav-container{min-height:50px}.p-tabview-panels{display:flex;flex-direction:column;overflow:auto;flex:1;padding:0}.p-card-body,.p-card-content{flex:1;display:flex;flex-direction:column}.p-card{overflow:auto}.react-select__menu-portal{z-index:1000}.p-tabview-nav li{height:48px!important;overflow:visible!important}.p-sidebar-icons{align-self:start;margin-top:2px}.react-resizable-handle{z-index:5}.p-galleria .p-galleria-thumbnail-container{background:var(--surface-100)}.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev,.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next{color:var(--surface-700)}.recharts-legend-item{cursor:pointer}.recharts-tooltip-wrapper{z-index:1000!important}[contenteditable=true]:focus{outline:none}.lexical-text-underline{text-decoration:underline}.lexical-text-strikethrough{text-decoration:line-through}.lexical-text-bold{font-weight:700}.lexical-text-italic{font-style:italic}.maplibregl-ctrl-group>button:first-child{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:none}.maplibregl-ctrl-group>button:last-child{border-top-left-radius:0;border-top-right-radius:0}.maplibregl-ctrl-group>button:not(:first-child):not(:last-child){border-radius:0;border-bottom:none}button{align-self:normal}@media screen and (max-width: 960px){.p-menubar .p-menubar-button:not(.mobile-menu-button){display:none}.p-menubar{position:relative}.p-menubar .p-menubar-root-list{display:flex;align-items:center;position:static;padding:0;background:inherit;border:none;box-shadow:none;width:auto}.p-menubar .p-submenu-list{position:absolute;z-index:1000}.p-menubar .p-menuitem{position:relative}}.notification-badge-wrapper{position:relative;display:inline-block}.notification-badge{position:absolute;top:.4rem;right:.4rem;pointer-events:none;transform:translate(50%,-50%) scale(.8);padding:0 .4rem}
