.metric-widget[data-v-160e4b48]{height:100%;display:flex;align-items:center;justify-content:center;padding:16px}.metric-display[data-v-160e4b48]{display:flex;align-items:center;width:100%;gap:16px}.metric-icon[data-v-160e4b48]{flex-shrink:0}.metric-content[data-v-160e4b48]{flex:1;min-width:0}.metric-value[data-v-160e4b48]{font-size:2.5rem;font-weight:700;line-height:1;margin-bottom:4px}.metric-value.critical[data-v-160e4b48]{color:#f44336}.metric-value.healthy[data-v-160e4b48]{color:#4caf50}.metric-value.warning[data-v-160e4b48]{color:#ff9800}.metric-label[data-v-160e4b48]{font-size:1rem;font-weight:600;color:#424242;margin-bottom:2px}.metric-subtitle[data-v-160e4b48]{font-size:.875rem;color:#666}.metric-progress[data-v-160e4b48]{margin-top:8px;width:100%}.health-score[data-v-160e4b48]{flex-direction:column;text-align:center}.health-score .metric-display[data-v-160e4b48]{flex-direction:row;align-items:center;margin-bottom:12px}@media (max-width:960px){.metric-value[data-v-160e4b48]{font-size:2rem}.metric-display[data-v-160e4b48]{flex-direction:column;text-align:center;gap:8px}}.accel-chart[data-v-18cd469a],.alerts-location-chart[data-v-18cd469a],.alerts-timeline-chart[data-v-18cd469a],.battery-chart[data-v-18cd469a],.chart-widget[data-v-18cd469a],.device-status-chart[data-v-18cd469a],.gyro-chart[data-v-18cd469a],.torque-chart[data-v-18cd469a],.work-orders-chart[data-v-18cd469a]{height:100%;display:flex;flex-direction:column}.chart-controls[data-v-18cd469a]{padding:8px;border-bottom:1px solid #e0e0e0}.chart-controls.d-flex[data-v-18cd469a]{gap:8px}.chart-container[data-v-18cd469a]{flex:1;position:relative;width:100%;min-width:0;min-height:200px;overflow:hidden}.device-status-chart .chart-container[data-v-18cd469a]{min-height:170px;margin:auto;width:100%;display:flex;align-items:center;justify-content:center}.accel-chart .chart-container[data-v-18cd469a],.alerts-location-chart .chart-container[data-v-18cd469a],.alerts-timeline-chart .chart-container[data-v-18cd469a],.gyro-chart .chart-container[data-v-18cd469a],.torque-chart .chart-container[data-v-18cd469a],.work-orders-chart .chart-container[data-v-18cd469a]{min-height:200px;padding:10px;width:100%;min-width:0}.battery-chart .chart-container[data-v-18cd469a]{flex:1;padding:10px;width:100%;margin:0;min-width:0;min-height:150px}canvas[data-v-18cd469a]{width:100%!important;height:100%!important;max-width:100%;display:block}.generic-chart[data-v-18cd469a]{height:100%;display:flex;align-items:center;justify-content:center}.chart-placeholder[data-v-18cd469a]{text-align:center;padding:20px}.table-widget[data-v-47981481]{height:100%;display:flex;flex-direction:column;overflow:hidden}.asset-lifecycle-table[data-v-47981481],.generic-table[data-v-47981481],.maintenance-schedule-table[data-v-47981481]{height:100%;overflow:auto}.v-data-table[data-v-47981481]{background:transparent!important}.v-data-table[data-v-47981481] .v-data-table__wrapper{overflow-x:auto;max-height:100%}.v-data-table[data-v-47981481] tbody tr{cursor:default}.v-data-table[data-v-47981481] tbody tr:hover{background-color:rgba(0,0,0,.03)}.v-data-table[data-v-47981481] .v-data-table-header{background-color:#f5f5f5}.v-data-table[data-v-47981481] .v-data-table-header th{font-weight:600!important;color:#424242!important}.asset-lifecycle-table[data-v-47981481]::-webkit-scrollbar,.generic-table[data-v-47981481]::-webkit-scrollbar,.maintenance-schedule-table[data-v-47981481]::-webkit-scrollbar{width:6px}.asset-lifecycle-table[data-v-47981481]::-webkit-scrollbar-track,.generic-table[data-v-47981481]::-webkit-scrollbar-track,.maintenance-schedule-table[data-v-47981481]::-webkit-scrollbar-track{background:#f1f1f1}.asset-lifecycle-table[data-v-47981481]::-webkit-scrollbar-thumb,.generic-table[data-v-47981481]::-webkit-scrollbar-thumb,.maintenance-schedule-table[data-v-47981481]::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.asset-lifecycle-table[data-v-47981481]::-webkit-scrollbar-thumb:hover,.generic-table[data-v-47981481]::-webkit-scrollbar-thumb:hover,.maintenance-schedule-table[data-v-47981481]::-webkit-scrollbar-thumb:hover{background:#a1a1a1}@media (max-width:960px){.v-data-table[data-v-47981481] .v-data-table__wrapper{overflow-x:scroll}}.kpi-widget[data-v-21f277cd]{height:100%;padding:16px;position:relative}.kpi-content[data-v-21f277cd]{height:100%;display:flex;flex-direction:column;gap:12px}.kpi-header[data-v-21f277cd]{display:flex;justify-content:space-between;align-items:center}.kpi-title[data-v-21f277cd]{font-size:14px;font-weight:600;color:#424242;margin:0}.kpi-metrics[data-v-21f277cd]{flex:1;display:flex;flex-direction:column;gap:12px}.primary-metric[data-v-21f277cd]{text-align:center}.primary-metric .metric-value[data-v-21f277cd]{font-size:28px;font-weight:700;line-height:1;margin-bottom:4px}.metric-change[data-v-21f277cd]{display:flex;align-items:center;justify-content:center;gap:4px;font-size:12px;font-weight:600}.change-positive[data-v-21f277cd]{color:#4caf50}.change-negative[data-v-21f277cd]{color:#f44336}.secondary-metrics[data-v-21f277cd]{display:flex;justify-content:space-between;gap:8px}.secondary-metric[data-v-21f277cd]{flex:1;text-align:center;padding:8px;background:#f8f9fa;border-radius:4px}.secondary-metric .metric-label[data-v-21f277cd]{display:block;font-size:10px;color:#666;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.secondary-metric .metric-value[data-v-21f277cd]{display:block;font-size:14px;font-weight:600;color:#424242}.kpi-progress[data-v-21f277cd]{margin-top:auto}.progress-label[data-v-21f277cd]{display:flex;justify-content:space-between;align-items:center;margin-top:4px;font-size:10px;color:#666}.kpi-error[data-v-21f277cd],.kpi-loading[data-v-21f277cd]{position:absolute;top:8px;right:8px;display:flex;align-items:center;gap:4px}@media (max-width:600px){.kpi-widget[data-v-21f277cd]{padding:12px}.primary-metric .metric-value[data-v-21f277cd]{font-size:24px}.secondary-metrics[data-v-21f277cd]{flex-direction:column;gap:4px}}.widget-renderer[data-v-18dd503f]{height:100%;width:100%;display:flex;flex-direction:column}.unknown-widget[data-v-18dd503f]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;flex:1}.widget-container[data-v-2c6b2108]{position:relative;min-height:100px;width:100%;height:100%}.widget-card[data-v-2c6b2108]{height:100%;width:100%;transition:box-shadow .2s ease;cursor:default;display:flex;flex-direction:column}.widget-card[data-v-2c6b2108]:hover{box-shadow:0 4px 12px rgba(0,0,0,.15)!important}.widget-selected[data-v-2c6b2108]{opacity:.8;transform:rotate(1deg);z-index:1000;box-shadow:0 8px 24px rgba(0,0,0,.3)!important}.widget-dragging[data-v-2c6b2108]{opacity:.7;transform:scale(1.02) rotate(2deg);z-index:1001;box-shadow:0 12px 32px rgba(33,150,243,.4)!important;transition:none}.widget-selected-card[data-v-2c6b2108]{border:2px solid #2196f3;box-shadow:0 4px 12px rgba(33,150,243,.3)!important}.widget-controls[data-v-2c6b2108]{position:absolute;top:8px;right:8px;z-index:10;display:flex;gap:4px}.control-btn[data-v-2c6b2108]{background:hsla(0,0%,100%,.9)!important;backdrop-filter:blur(4px)}.widget-header[data-v-2c6b2108]{padding:12px 16px 8px 16px;border-bottom:1px solid #e0e0e0;flex-shrink:0}.widget-title[data-v-2c6b2108]{font-size:14px;font-weight:600;color:#424242}.widget-content[data-v-2c6b2108]{padding:16px;flex:1;overflow:hidden;display:flex;flex-direction:column}.selection-indicator[data-v-2c6b2108]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:#424242;font-size:12px;font-weight:600;background:hsla(0,0%,100%,.9);padding:8px 12px;border-radius:4px;z-index:20}.selection-text[data-v-2c6b2108]{display:block;margin-top:4px}.resize-preview[data-v-2c6b2108]{position:absolute;bottom:0;right:0;width:100%;height:100%;border:2px dashed #2196f3;border-radius:4px;pointer-events:none}.resize-handle[data-v-2c6b2108]{position:absolute;bottom:8px;right:8px;z-index:10;width:24px;height:24px;background:rgba(0,0,0,.5);border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease}.resize-handle[data-v-2c6b2108]:hover{background:rgba(0,0,0,.7)}.move-handle[data-v-2c6b2108]{position:absolute;top:8px;left:8px;z-index:10;width:28px;height:28px;background:rgba(33,150,243,.8);border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;border:2px solid hsla(0,0%,100%,.3)}.move-handle[data-v-2c6b2108]:hover{background:#2196f3;transform:scale(1.1);border-color:hsla(0,0%,100%,.5)}.move-handle-dragging[data-v-2c6b2108]{background:#2196f3;border-color:hsla(0,0%,100%,.8);box-shadow:0 2px 8px rgba(33,150,243,.4)}@media (max-width:960px){.widget-container[data-v-2c6b2108]{grid-column:1/-1!important;grid-row:auto!important}}.dashboard-grid[data-v-5f9ed246]{min-height:400px;width:100%}.empty-state[data-v-5f9ed246]{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;text-align:center}.grid-spot[data-v-5f9ed246]{border:2px dashed transparent;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;min-height:80px}.grid-spot-indicator[data-v-5f9ed246]{font-size:10px;color:rgba(0,0,0,.3);background:hsla(0,0%,100%,.8);padding:2px 4px;border-radius:2px;opacity:0;transition:opacity .2s ease}.grid-spot:hover .grid-spot-indicator[data-v-5f9ed246]{opacity:1}.grid-spot-valid[data-v-5f9ed246]{border-color:#4caf50;background:rgba(76,175,80,.1)}.grid-spot-valid[data-v-5f9ed246]:hover{background:rgba(76,175,80,.2);border-color:#4caf50}.grid-spot-invalid[data-v-5f9ed246]{border-color:#f44336;background:rgba(244,67,54,.1);cursor:not-allowed}.grid-spot-occupied[data-v-5f9ed246]{border-color:#ff9800;background:rgba(255,152,0,.1)}.grid-spot-occupied[data-v-5f9ed246]:hover{background:rgba(255,152,0,.2);border-color:#ff9800}.grid-spot-resize-area[data-v-5f9ed246]{border-color:#2196f3;background:rgba(33,150,243,.2)}.grid-spot-resize-area[data-v-5f9ed246]:hover{background:rgba(33,150,243,.3);border-color:#1976d2}.grid-spot-resize-invalid[data-v-5f9ed246]{border-color:#f44336;background:rgba(244,67,54,.2);cursor:not-allowed}.grid-spot-resize-invalid[data-v-5f9ed246]:hover{background:rgba(244,67,54,.3);border-color:#d32f2f}.grid-spot-drag-area[data-v-5f9ed246]{border-color:#2196f3;background:rgba(33,150,243,.2)}.grid-spot-drag-area[data-v-5f9ed246]:hover{background:rgba(33,150,243,.3);border-color:#1976d2}@media (max-width:960px){.dashboard-grid[data-v-5f9ed246]{grid-template-columns:1fr!important;gap:12px}.grid-spot[data-v-5f9ed246]{display:none}}.widget-library[data-v-42275880]{z-index:1000}.widget-list[data-v-42275880]{max-height:calc(100vh - 200px);overflow-y:auto}.widget-item[data-v-42275880]{border-bottom:1px solid #f0f0f0;transition:background-color .2s ease}.widget-item[data-v-42275880]:hover{background-color:rgba(33,150,243,.04)}.widget-meta[data-v-42275880]{display:flex;align-items:center;margin-top:4px}.empty-state[data-v-42275880]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;height:300px}.widget-list[data-v-42275880]::-webkit-scrollbar{width:6px}.widget-list[data-v-42275880]::-webkit-scrollbar-track{background:#f1f1f1}.widget-list[data-v-42275880]::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.widget-list[data-v-42275880]::-webkit-scrollbar-thumb:hover{background:#a1a1a1}@media (max-width:600px){.widget-library[data-v-42275880]{width:100%!important}}.v-chip-group .v-chip{margin:4px 8px 4px 0}.v-chip-group .v-chip--active{color:inherit}.v-chip-group .v-chip--active.v-chip--no-color:after{opacity:.22}.v-chip-group .v-chip--active.v-chip--no-color:focus:after{opacity:.32}.v-chip-group .v-slide-group__content{padding:4px 0}.v-chip-group--column .v-slide-group__content{white-space:normal;flex-wrap:wrap;max-width:100%}.v-slide-group{display:flex}.v-slide-group:not(.v-slide-group--has-affixes)>.v-slide-group__next,.v-slide-group:not(.v-slide-group--has-affixes)>.v-slide-group__prev{display:none}.v-slide-group.v-item-group>.v-slide-group__next,.v-slide-group.v-item-group>.v-slide-group__prev{cursor:pointer}.v-slide-item{display:inline-flex;flex:0 1 auto}.v-slide-group__next,.v-slide-group__prev{align-items:center;display:flex;flex:0 1 52px;justify-content:center;min-width:52px}.v-slide-group__content{display:flex;flex:1 0 auto;position:relative;transition:.3s cubic-bezier(.25,.8,.5,1);white-space:nowrap}.v-slide-group__wrapper{contain:content;display:flex;flex:1 1 auto;overflow:hidden}.v-slide-group__next--disabled,.v-slide-group__prev--disabled{pointer-events:none}.custom-dashboard[data-v-d6bf3b56]{padding:24px;min-height:100vh}.dashboard-content[data-v-d6bf3b56]{position:relative}@media (max-width:960px){.custom-dashboard[data-v-d6bf3b56]{padding:16px}}.v-textarea textarea{align-self:stretch;flex:1 1 auto;line-height:1.75rem;max-width:100%;min-height:32px;outline:none;padding:0;width:100%}.v-textarea .v-text-field__prefix,.v-textarea .v-text-field__suffix{padding-top:2px;align-self:start}.v-textarea.v-text-field--box .v-text-field__prefix,.v-textarea.v-text-field--box textarea,.v-textarea.v-text-field--enclosed .v-text-field__prefix,.v-textarea.v-text-field--enclosed textarea{margin-top:24px}.v-textarea.v-text-field--box.v-text-field--outlined:not(.v-input--dense) .v-text-field__prefix,.v-textarea.v-text-field--box.v-text-field--outlined:not(.v-input--dense) .v-text-field__suffix,.v-textarea.v-text-field--box.v-text-field--outlined:not(.v-input--dense) textarea,.v-textarea.v-text-field--box.v-text-field--single-line:not(.v-input--dense) .v-text-field__prefix,.v-textarea.v-text-field--box.v-text-field--single-line:not(.v-input--dense) .v-text-field__suffix,.v-textarea.v-text-field--box.v-text-field--single-line:not(.v-input--dense) textarea,.v-textarea.v-text-field--enclosed.v-text-field--outlined:not(.v-input--dense) .v-text-field__prefix,.v-textarea.v-text-field--enclosed.v-text-field--outlined:not(.v-input--dense) .v-text-field__suffix,.v-textarea.v-text-field--enclosed.v-text-field--outlined:not(.v-input--dense) textarea,.v-textarea.v-text-field--enclosed.v-text-field--single-line:not(.v-input--dense) .v-text-field__prefix,.v-textarea.v-text-field--enclosed.v-text-field--single-line:not(.v-input--dense) .v-text-field__suffix,.v-textarea.v-text-field--enclosed.v-text-field--single-line:not(.v-input--dense) textarea{margin-top:10px}.v-textarea.v-text-field--box.v-text-field--outlined:not(.v-input--dense) .v-label,.v-textarea.v-text-field--box.v-text-field--single-line:not(.v-input--dense) .v-label,.v-textarea.v-text-field--enclosed.v-text-field--outlined:not(.v-input--dense) .v-label,.v-textarea.v-text-field--enclosed.v-text-field--single-line:not(.v-input--dense) .v-label{top:18px}.v-textarea.v-text-field--box.v-text-field--outlined.v-input--dense .v-text-field__prefix,.v-textarea.v-text-field--box.v-text-field--outlined.v-input--dense .v-text-field__suffix,.v-textarea.v-text-field--box.v-text-field--outlined.v-input--dense textarea,.v-textarea.v-text-field--box.v-text-field--single-line.v-input--dense .v-text-field__prefix,.v-textarea.v-text-field--box.v-text-field--single-line.v-input--dense .v-text-field__suffix,.v-textarea.v-text-field--box.v-text-field--single-line.v-input--dense textarea,.v-textarea.v-text-field--enclosed.v-text-field--outlined.v-input--dense .v-text-field__prefix,.v-textarea.v-text-field--enclosed.v-text-field--outlined.v-input--dense .v-text-field__suffix,.v-textarea.v-text-field--enclosed.v-text-field--outlined.v-input--dense textarea,.v-textarea.v-text-field--enclosed.v-text-field--single-line.v-input--dense .v-text-field__prefix,.v-textarea.v-text-field--enclosed.v-text-field--single-line.v-input--dense .v-text-field__suffix,.v-textarea.v-text-field--enclosed.v-text-field--single-line.v-input--dense textarea{margin-top:6px}.v-textarea.v-text-field--box.v-text-field--outlined.v-input--dense .v-input__append-inner,.v-textarea.v-text-field--box.v-text-field--outlined.v-input--dense .v-input__append-outer,.v-textarea.v-text-field--box.v-text-field--outlined.v-input--dense .v-input__prepend-inner,.v-textarea.v-text-field--box.v-text-field--outlined.v-input--dense .v-input__prepend-outer,.v-textarea.v-text-field--box.v-text-field--single-line.v-input--dense .v-input__append-inner,.v-textarea.v-text-field--box.v-text-field--single-line.v-input--dense .v-input__append-outer,.v-textarea.v-text-field--box.v-text-field--single-line.v-input--dense .v-input__prepend-inner,.v-textarea.v-text-field--box.v-text-field--single-line.v-input--dense .v-input__prepend-outer,.v-textarea.v-text-field--enclosed.v-text-field--outlined.v-input--dense .v-input__append-inner,.v-textarea.v-text-field--enclosed.v-text-field--outlined.v-input--dense .v-input__append-outer,.v-textarea.v-text-field--enclosed.v-text-field--outlined.v-input--dense .v-input__prepend-inner,.v-textarea.v-text-field--enclosed.v-text-field--outlined.v-input--dense .v-input__prepend-outer,.v-textarea.v-text-field--enclosed.v-text-field--single-line.v-input--dense .v-input__append-inner,.v-textarea.v-text-field--enclosed.v-text-field--single-line.v-input--dense .v-input__append-outer,.v-textarea.v-text-field--enclosed.v-text-field--single-line.v-input--dense .v-input__prepend-inner,.v-textarea.v-text-field--enclosed.v-text-field--single-line.v-input--dense .v-input__prepend-outer{align-self:flex-start;margin-top:8px}.v-textarea.v-text-field--solo{align-items:flex-start}.v-textarea.v-text-field--solo .v-input__append-inner,.v-textarea.v-text-field--solo .v-input__append-outer,.v-textarea.v-text-field--solo .v-input__prepend-inner,.v-textarea.v-text-field--solo .v-input__prepend-outer{align-self:flex-start;margin-top:12px}.v-application--is-ltr .v-textarea.v-text-field--solo .v-input__append-inner{padding-left:12px}.v-application--is-rtl .v-textarea.v-text-field--solo .v-input__append-inner{padding-right:12px}.v-textarea--auto-grow textarea{overflow:hidden}.v-textarea--no-resize textarea{resize:none}.v-textarea.v-text-field--enclosed .v-text-field__slot{align-self:stretch}.v-application--is-ltr .v-textarea.v-text-field--enclosed .v-text-field__slot{margin-right:-12px}.v-application--is-rtl .v-textarea.v-text-field--enclosed .v-text-field__slot{margin-left:-12px}.v-application--is-ltr .v-textarea.v-text-field--enclosed .v-text-field__slot textarea{padding-right:12px}.v-application--is-rtl .v-textarea.v-text-field--enclosed .v-text-field__slot textarea{padding-left:12px}