.iot-registry[data-v-82746450]{width:100%;font-family:Ubuntu,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.iot-registry__loading[data-v-82746450]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:var(--space-12,48px);color:var(--text-secondary,#6b7280);font-size:var(--font-size-body,14px);gap:var(--space-3,12px)}.iot-registry__loading .pi-spinner[data-v-82746450]{font-size:2rem;color:var(--color-primary,#2f80ed)}.iot-registry__stats-grid[data-v-82746450]{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4,16px);margin-bottom:var(--space-6,24px)}.iot-registry__stat-card[data-v-82746450]{background:var(--surface-primary,#fff);border:1px solid var(--border-light,#e5e7eb);border-radius:var(--radius-md,8px);padding:var(--space-5,20px);border-left:4px solid var(--accent-color);-webkit-transition:-webkit-transform .2s,-webkit-box-shadow .2s;transition:-webkit-transform .2s,-webkit-box-shadow .2s;transition:transform .2s,box-shadow .2s;transition:transform .2s,box-shadow .2s,-webkit-transform .2s,-webkit-box-shadow .2s}.iot-registry__stat-card[data-v-82746450]:hover{-webkit-transform:translateY(-2px);transform:translateY(-2px);-webkit-box-shadow:var(--shadow-md,0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06));box-shadow:var(--shadow-md,0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06))}.iot-registry__stat-row[data-v-82746450]{gap:var(--space-4,16px)}.iot-registry__stat-icon[data-v-82746450],.iot-registry__stat-row[data-v-82746450]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.iot-registry__stat-icon[data-v-82746450]{width:var(--space-10,40px);height:var(--space-10,40px);border-radius:var(--radius-full,9999px);-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:1.25rem;-ms-flex-negative:0;flex-shrink:0}.iot-registry__stat-content[data-v-82746450]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.iot-registry__stat-value[data-v-82746450]{font-size:var(--font-size-heading-2,20px);font-weight:700;color:var(--color-gray-900,#111827);line-height:1.2}.iot-registry__stat-label[data-v-82746450]{font-size:var(--font-size-caption,12px);font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary,#6b7280)}.iot-registry__section[data-v-82746450]{background:var(--surface-primary,#fff);border:1px solid var(--border-light,#e5e7eb);border-radius:var(--radius-md,8px);padding:var(--space-6,24px)}.iot-registry__toolbar[data-v-82746450]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;gap:var(--space-4,16px);margin-bottom:var(--space-5,20px)}.iot-registry__toolbar-left[data-v-82746450]{-ms-flex-align:center;-webkit-box-flex:1;-ms-flex:1;flex:1}.iot-registry__toolbar-left[data-v-82746450],.iot-registry__toolbar-right[data-v-82746450]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;align-items:center;gap:var(--space-3,12px)}.iot-registry__toolbar-right[data-v-82746450]{-ms-flex-align:center}.iot-registry__search-wrapper[data-v-82746450]{position:relative;-webkit-box-flex:1;-ms-flex:1;flex:1;max-width:280px}.iot-registry__search-icon[data-v-82746450]{position:absolute;left:var(--space-3,12px);top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);color:var(--color-gray-400,#9ca3af);font-size:1rem}.iot-registry__search-input[data-v-82746450]{width:100%;padding:var(--space-2,8px) var(--space-3,12px) var(--space-2,8px) var(--space-8,32px);border:1px solid var(--border-medium,#d1d5db);border-radius:var(--radius-sm,4px);font-size:var(--font-size-body-sm,13px);font-family:inherit;outline:none;-webkit-transition:border-color .15s,-webkit-box-shadow .15s;transition:border-color .15s,-webkit-box-shadow .15s;transition:border-color .15s,box-shadow .15s;transition:border-color .15s,box-shadow .15s,-webkit-box-shadow .15s}.iot-registry__search-input[data-v-82746450]:focus{border-color:var(--color-primary,#2f80ed);-webkit-box-shadow:0 0 0 2px rgba(47,128,237,.15);box-shadow:0 0 0 2px rgba(47,128,237,.15)}.iot-registry__select[data-v-82746450]{padding:var(--space-2,8px) var(--space-8,32px) var(--space-2,8px) var(--space-3,12px);border:1px solid var(--border-medium,#d1d5db);border-radius:var(--radius-sm,4px);font-size:var(--font-size-body-sm,13px);font-family:inherit;background:var(--surface-primary,#fff);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:1em}.iot-registry__select[data-v-82746450]:focus{border-color:var(--color-primary,#2f80ed);-webkit-box-shadow:0 0 0 2px rgba(47,128,237,.15);box-shadow:0 0 0 2px rgba(47,128,237,.15)}.iot-registry__btn[data-v-82746450]{padding:var(--space-2,8px) var(--space-4,16px);border-radius:var(--radius-sm,4px);font-size:var(--font-size-body-sm,13px);font-family:inherit;font-weight:600;cursor:pointer;border:none;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-2,8px);-webkit-transition:all .15s;transition:all .15s}.iot-registry__btn--secondary[data-v-82746450]{background:var(--color-gray-100,#f3f4f6);color:var(--text-primary,#1f2937)}.iot-registry__btn--secondary[data-v-82746450]:hover{background:var(--border-light,#e5e7eb)}.iot-registry__table-wrapper[data-v-82746450]{overflow-x:auto}.iot-registry__table[data-v-82746450]{width:100%;border-collapse:collapse;font-size:var(--font-size-body-sm,13px)}.iot-registry__table th[data-v-82746450]{padding:var(--space-3,12px) var(--space-3,12px);font-size:var(--font-size-overline,11px);font-weight:600;color:var(--text-secondary,#6b7280);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border-light,#e5e7eb);text-align:left;white-space:nowrap}.iot-registry__table td[data-v-82746450]{padding:var(--space-3,12px) var(--space-3,12px);border-bottom:1px solid var(--color-gray-100,#f3f4f6);vertical-align:middle}.iot-registry__table tr[data-v-82746450]{-webkit-transition:background .15s;transition:background .15s}.iot-registry__table tbody tr[data-v-82746450]:hover{background:var(--color-gray-50,#f9fafb)}.iot-registry__actions[data-v-82746450]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--space-1,4px)}.iot-registry__action-btn[data-v-82746450]{width:30px;height:30px;border-radius:var(--radius-sm,4px);border:1px solid var(--border-light,#e5e7eb);background:var(--surface-primary,#fff);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;cursor:pointer;-webkit-transition:all .15s;transition:all .15s;color:var(--text-secondary,#6b7280);font-size:.9rem;margin-right:var(--space-1,4px)}.iot-registry__action-btn[data-v-82746450]:hover{background:var(--color-gray-100,#f3f4f6);color:var(--text-primary,#1f2937)}.iot-registry__action-btn--view[data-v-82746450]:hover{color:#4f46e5;border-color:#4f46e5}.iot-registry__action-btn--assign[data-v-82746450]:hover{color:var(--color-success,#10b981);border-color:var(--color-success,#10b981)}.iot-registry__action-btn--activate[data-v-82746450]:hover{color:var(--color-info,#3b82f6);border-color:var(--color-info,#3b82f6)}.iot-registry__badge[data-v-82746450]{padding:2px var(--space-2,8px);border-radius:var(--radius-full,9999px);font-size:var(--font-size-overline,11px);font-weight:600;display:inline-block}.iot-registry__badge--active[data-v-82746450]{background:rgba(16,185,129,.1);color:var(--color-success-dark,#059669)}.iot-registry__badge--inactive[data-v-82746450]{background:rgba(245,158,11,.1);color:var(--color-warning-dark,#d97706)}.iot-registry__badge--offline[data-v-82746450]{background:rgba(239,68,68,.1);color:var(--color-danger-dark,#dc2626)}.iot-registry__badge--warning[data-v-82746450]{background:rgba(245,158,11,.1);color:var(--color-warning-dark,#d97706)}.iot-registry__battery-wrapper[data-v-82746450]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.iot-registry__battery-bar[data-v-82746450]{width:50px;height:6px;background:var(--border-light,#e5e7eb);border-radius:3px;display:inline-block;vertical-align:middle}.iot-registry__battery-fill[data-v-82746450]{height:100%;border-radius:3px;-webkit-transition:width .3s;transition:width .3s}.iot-registry__battery-text[data-v-82746450]{font-size:var(--font-size-caption,12px);color:var(--text-secondary,#6b7280);margin-left:var(--space-2,8px)}.iot-registry__empty-state[data-v-82746450]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:var(--space-12,48px);color:var(--color-gray-400,#9ca3af);gap:var(--space-2,8px)}.iot-registry__empty-icon[data-v-82746450]{font-size:2.5rem;color:var(--border-medium,#d1d5db)}.iot-registry__empty-state p[data-v-82746450]{margin:0;font-size:var(--font-size-body,14px);color:var(--color-gray-400,#9ca3af)}.iot-registry__pagination[data-v-82746450]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-top:var(--space-5,20px);padding-top:var(--space-4,16px);border-top:1px solid var(--color-gray-100,#f3f4f6)}.iot-registry__pagination-info[data-v-82746450]{font-size:var(--font-size-body-sm,13px);color:var(--text-secondary,#6b7280)}.iot-registry__pagination-buttons[data-v-82746450]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-1,4px)}.iot-registry__page-btn[data-v-82746450]{padding:var(--space-2,8px) var(--space-3,12px);border:1px solid var(--border-light,#e5e7eb);border-radius:var(--radius-sm,4px);background:var(--surface-primary,#fff);font-size:var(--font-size-body-sm,13px);font-family:inherit;color:var(--text-primary,#1f2937);cursor:pointer;-webkit-transition:all .15s;transition:all .15s}.iot-registry__page-btn[data-v-82746450]:hover:not(:disabled){background:var(--color-gray-100,#f3f4f6)}.iot-registry__page-btn--active[data-v-82746450]{background:var(--color-primary,#2f80ed);color:var(--surface-primary,#fff);border-color:var(--color-primary,#2f80ed)}.iot-registry__page-btn[data-v-82746450]:disabled{opacity:.4;cursor:not-allowed}.iot-registry__freshness-dot[data-v-82746450]{display:inline-block;width:6px;height:6px;border-radius:var(--radius-full,9999px);margin-right:var(--space-2,8px);vertical-align:middle}.iot-registry__freshness-dot--live[data-v-82746450]{background:var(--color-success,#10b981)}.iot-registry__freshness-dot--delayed[data-v-82746450]{background:var(--color-warning,#f59e0b)}.iot-registry__freshness-dot--stale[data-v-82746450]{background:var(--color-danger,#ef4444)}.iot-registry__font-mono[data-v-82746450]{font-family:JetBrains Mono,Courier New,monospace;font-size:var(--font-size-body,14px)}@media (max-width:991px){.iot-registry__stats-grid[data-v-82746450]{grid-template-columns:repeat(2,1fr)}}@media (max-width:767px){.iot-registry__stats-grid[data-v-82746450]{grid-template-columns:repeat(2,1fr)}.iot-registry__toolbar[data-v-82746450]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:var(--space-3,12px)}.iot-registry__toolbar-left[data-v-82746450],.iot-registry__toolbar-right[data-v-82746450]{width:100%}.iot-registry__pagination[data-v-82746450]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:var(--space-3,12px);-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}}.iot-gateways[data-v-80c1b912]{padding:0;font-family:Ubuntu,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.iot-gateways__font-mono[data-v-80c1b912]{font-family:JetBrains Mono,Courier New,monospace;font-size:var(--font-size-body-sm,13px)}.iot-gateways__loading[data-v-80c1b912]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:var(--space-3,12px);padding:var(--space-12,48px);color:var(--text-secondary,#6b7280);font-size:var(--font-size-body,14px)}.iot-gateways__empty-state[data-v-80c1b912]{text-align:center;padding:var(--space-12,48px);color:var(--color-gray-400,#9ca3af)}.iot-gateways__toolbar[data-v-80c1b912]{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:var(--space-4,16px)}.iot-gateways__toolbar-left[data-v-80c1b912],.iot-gateways__toolbar[data-v-80c1b912]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.iot-gateways__toolbar-left[data-v-80c1b912]{gap:var(--space-3,12px)}.iot-gateways__toolbar-right[data-v-80c1b912]{gap:var(--space-2,8px)}.iot-gateways__search-wrapper[data-v-80c1b912],.iot-gateways__toolbar-right[data-v-80c1b912]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.iot-gateways__search-wrapper[data-v-80c1b912]{position:relative}.iot-gateways__search-icon[data-v-80c1b912]{position:absolute;left:var(--space-3,12px);color:var(--color-gray-400,#9ca3af);font-size:1rem;pointer-events:none}.iot-gateways__search-input[data-v-80c1b912]{padding:var(--space-2,8px) var(--space-3,12px) var(--space-2,8px) var(--space-8,32px);border:1px solid var(--border-medium,#d1d5db);border-radius:var(--radius-sm,4px);font-size:var(--font-size-body-sm,13px);font-family:inherit;outline:none;-webkit-transition:border-color .15s,-webkit-box-shadow .15s;transition:border-color .15s,-webkit-box-shadow .15s;transition:border-color .15s,box-shadow .15s;transition:border-color .15s,box-shadow .15s,-webkit-box-shadow .15s;min-width:240px}.iot-gateways__search-input[data-v-80c1b912]:focus{border-color:var(--color-primary,#2f80ed);-webkit-box-shadow:0 0 0 2px rgba(47,128,237,.15);box-shadow:0 0 0 2px rgba(47,128,237,.15)}.iot-gateways__btn[data-v-80c1b912]{padding:var(--space-2,8px) var(--space-4,16px);border-radius:var(--radius-sm,4px);font-size:var(--font-size-body-sm,13px);font-family:inherit;font-weight:600;cursor:pointer;border:none;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-2,8px);-webkit-transition:all .15s;transition:all .15s}.iot-gateways__btn--primary[data-v-80c1b912]{background:var(--color-primary,#2f80ed);color:var(--surface-primary,#fff)}.iot-gateways__btn--primary[data-v-80c1b912]:hover{background:var(--color-primary-hover,#3da5d6)}.iot-gateways__btn--primary[data-v-80c1b912]:disabled{opacity:.5;cursor:not-allowed}.iot-gateways__btn--secondary[data-v-80c1b912]{background:var(--color-gray-100,#f3f4f6);color:var(--text-primary,#1f2937)}.iot-gateways__btn--secondary[data-v-80c1b912]:hover{background:var(--border-light,#e5e7eb)}.iot-gateways__table-wrapper[data-v-80c1b912]{overflow-x:auto}.iot-gateways__table[data-v-80c1b912]{width:100%;border-collapse:collapse;font-size:var(--font-size-body-sm,13px)}.iot-gateways__table th[data-v-80c1b912]{padding:var(--space-3,12px) var(--space-3,12px);font-size:var(--font-size-overline,11px);font-weight:600;color:var(--text-secondary,#6b7280);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border-light,#e5e7eb);text-align:left}.iot-gateways__table td[data-v-80c1b912]{padding:var(--space-3,12px) var(--space-3,12px);border-bottom:1px solid var(--color-gray-100,#f3f4f6);vertical-align:middle}.iot-gateways__table tr[data-v-80c1b912]{-webkit-transition:background .15s;transition:background .15s}.iot-gateways__table tbody tr[data-v-80c1b912]:hover{background:var(--color-gray-50,#f9fafb)}.iot-gateways__action-group[data-v-80c1b912]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--space-1,4px)}.iot-gateways__action-btn[data-v-80c1b912]{width:30px;height:30px;border-radius:var(--radius-sm,4px);border:1px solid var(--border-light,#e5e7eb);background:var(--surface-primary,#fff);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;cursor:pointer;-webkit-transition:all .15s;transition:all .15s;color:var(--text-secondary,#6b7280);font-size:.9rem;margin-right:var(--space-1,4px)}.iot-gateways__action-btn[data-v-80c1b912]:hover{background:var(--color-gray-100,#f3f4f6);color:var(--text-primary,#1f2937)}.iot-gateways__action-btn--edit[data-v-80c1b912]:hover{color:var(--color-primary,#2f80ed);border-color:var(--color-primary,#2f80ed)}.iot-gateways__action-btn--delete[data-v-80c1b912]:hover{color:var(--color-danger-dark,#dc2626);border-color:var(--color-danger-dark,#dc2626)}.iot-gateways__badge[data-v-80c1b912]{padding:2px var(--space-2,8px);border-radius:var(--radius-full,9999px);font-size:var(--font-size-overline,11px);font-weight:600;display:inline-block}.iot-gateways__badge--online[data-v-80c1b912]{background:rgba(16,185,129,.1);color:var(--color-success-dark,#059669)}.iot-gateways__badge--error[data-v-80c1b912],.iot-gateways__badge--offline[data-v-80c1b912]{background:rgba(239,68,68,.1);color:var(--color-danger-dark,#dc2626)}.iot-gateways__badge--info[data-v-80c1b912]{background:rgba(59,130,246,.1);color:var(--color-info,#3b82f6)}.iot-gateways__pagination[data-v-80c1b912]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-top:var(--space-4,16px);padding-top:var(--space-4,16px)}.iot-gateways__pagination-info[data-v-80c1b912]{font-size:var(--font-size-caption,12px);color:var(--text-secondary,#6b7280)}.iot-gateways__pagination-buttons[data-v-80c1b912]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--space-1,4px)}.iot-gateways__page-btn[data-v-80c1b912]{padding:var(--space-2,8px) var(--space-3,12px);border:1px solid var(--border-medium,#d1d5db);border-radius:var(--radius-sm,4px);background:var(--surface-primary,#fff);font-size:var(--font-size-caption,12px);font-family:inherit;color:var(--text-primary,#1f2937);cursor:pointer;-webkit-transition:all .15s;transition:all .15s}.iot-gateways__page-btn[data-v-80c1b912]:hover:not(:disabled){background:var(--color-gray-100,#f3f4f6)}.iot-gateways__page-btn--active[data-v-80c1b912]{background:var(--color-primary,#2f80ed);color:var(--surface-primary,#fff);border-color:var(--color-primary,#2f80ed)}.iot-gateways__page-btn[data-v-80c1b912]:disabled{opacity:.4;cursor:not-allowed}.iot-gateways__modal-overlay[data-v-80c1b912]{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--overlay-bg,rgba(0,0,0,.5));display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;z-index:1050}.iot-gateways__modal[data-v-80c1b912]{background:var(--surface-primary,#fff);border-radius:var(--radius-lg,12px);width:100%;max-width:600px;max-height:90vh;overflow-y:auto;-webkit-box-shadow:var(--shadow-xl,0 10px 15px rgba(0,0,0,.1),0 4px 6px rgba(0,0,0,.05));box-shadow:var(--shadow-xl,0 10px 15px rgba(0,0,0,.1),0 4px 6px rgba(0,0,0,.05))}.iot-gateways__modal-header[data-v-80c1b912]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:var(--space-5,20px) var(--space-6,24px);border-bottom:1px solid var(--border-light,#e5e7eb)}.iot-gateways__modal-title[data-v-80c1b912]{font-size:var(--font-size-heading-3,18px);font-weight:600;color:var(--text-primary,#1f2937);margin:0}.iot-gateways__modal-close[data-v-80c1b912]{background:none;border:none;font-size:1.5rem;color:var(--text-secondary,#6b7280);cursor:pointer;line-height:1;padding:0}.iot-gateways__modal-close[data-v-80c1b912]:hover{color:var(--text-primary,#1f2937)}.iot-gateways__modal-body[data-v-80c1b912]{padding:var(--space-6,24px)}.iot-gateways__modal-footer[data-v-80c1b912]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;gap:var(--space-3,12px);padding:var(--space-4,16px) var(--space-6,24px);border-top:1px solid var(--border-light,#e5e7eb)}.iot-gateways__form-grid[data-v-80c1b912]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4,16px)}.iot-gateways__form-full[data-v-80c1b912]{grid-column:1/-1}.iot-gateways__form-group[data-v-80c1b912]{margin-bottom:0}.iot-gateways__form-label[data-v-80c1b912]{display:block;font-size:var(--font-size-body-sm,13px);font-weight:600;color:var(--text-primary,#1f2937);margin-bottom:var(--space-2,8px)}.iot-gateways__form-hint[data-v-80c1b912]{font-size:var(--font-size-overline,11px);color:var(--color-gray-400,#9ca3af);margin-top:var(--space-1,4px)}.iot-gateways__form-input[data-v-80c1b912]{width:100%;padding:var(--space-2,8px) var(--space-3,12px);border:1px solid var(--border-medium,#d1d5db);border-radius:var(--radius-sm,4px);font-size:var(--font-size-body-sm,13px);font-family:inherit;outline:none;-webkit-transition:border-color .15s,-webkit-box-shadow .15s;transition:border-color .15s,-webkit-box-shadow .15s;transition:border-color .15s,box-shadow .15s;transition:border-color .15s,box-shadow .15s,-webkit-box-shadow .15s;-webkit-box-sizing:border-box;box-sizing:border-box}.iot-gateways__form-input[data-v-80c1b912]:focus{border-color:var(--color-primary,#2f80ed);-webkit-box-shadow:0 0 0 2px rgba(47,128,237,.15);box-shadow:0 0 0 2px rgba(47,128,237,.15)}.iot-gateways__form-select[data-v-80c1b912]{width:100%;padding:var(--space-2,8px) var(--space-8,32px) var(--space-2,8px) var(--space-3,12px);border:1px solid var(--border-medium,#d1d5db);border-radius:var(--radius-sm,4px);font-size:var(--font-size-body-sm,13px);font-family:inherit;background:var(--surface-primary,#fff);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:1em;-webkit-box-sizing:border-box;box-sizing:border-box}.iot-gateways__form-select[data-v-80c1b912]:focus{border-color:var(--color-primary,#2f80ed);-webkit-box-shadow:0 0 0 2px rgba(47,128,237,.15);box-shadow:0 0 0 2px rgba(47,128,237,.15)}.iot-gateways__success-banner[data-v-80c1b912]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-2,8px);padding:var(--space-3,12px) var(--space-4,16px);background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.3);border-radius:var(--radius-md,8px);color:var(--color-success-dark,#059669);font-size:var(--font-size-body-sm,13px);font-weight:500;margin-bottom:var(--space-4,16px);-webkit-animation:iot-gateways-fadeIn-80c1b912 .3s ease;animation:iot-gateways-fadeIn-80c1b912 .3s ease}@-webkit-keyframes iot-gateways-fadeIn-80c1b912{0%{opacity:0;-webkit-transform:translateY(-8px);transform:translateY(-8px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes iot-gateways-fadeIn-80c1b912{0%{opacity:0;-webkit-transform:translateY(-8px);transform:translateY(-8px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.iot-gateways__form-input--error[data-v-80c1b912]{border-color:var(--color-danger-dark,#dc2626)!important;-webkit-box-shadow:0 0 0 2px rgba(220,38,38,.15)!important;box-shadow:0 0 0 2px rgba(220,38,38,.15)!important}.iot-gateways__field-error[data-v-80c1b912]{font-size:var(--font-size-overline,11px);color:var(--color-danger-dark,#dc2626);margin-top:var(--space-1,4px)}.iot-gateways__form-input--highlight[data-v-80c1b912]{border-color:var(--color-success,#10b981)!important;-webkit-box-shadow:0 0 0 2px rgba(16,185,129,.2)!important;box-shadow:0 0 0 2px rgba(16,185,129,.2)!important;-webkit-transition:border-color .3s,-webkit-box-shadow .3s;transition:border-color .3s,-webkit-box-shadow .3s;transition:border-color .3s,box-shadow .3s;transition:border-color .3s,box-shadow .3s,-webkit-box-shadow .3s}@media (max-width:991px){.iot-gateways__toolbar[data-v-80c1b912]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:var(--space-3,12px)}.iot-gateways__toolbar-left[data-v-80c1b912],.iot-gateways__toolbar-right[data-v-80c1b912]{width:100%}.iot-gateways__toolbar-right[data-v-80c1b912]{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}}@media (max-width:767px){.iot-gateways__search-input[data-v-80c1b912]{width:100%;min-width:unset}.iot-gateways__form-grid[data-v-80c1b912]{grid-template-columns:1fr}.iot-gateways__modal[data-v-80c1b912]{max-width:calc(100% - var(--space-8, 32px));margin:var(--space-4,16px)}.iot-gateways__pagination[data-v-80c1b912]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:var(--space-3,12px);-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}}.iot-types[data-v-d3a0d9ba]{width:100%;padding:0}.iot-types__loading[data-v-d3a0d9ba]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:var(--space-12,48px);color:var(--color-gray-400,#9ca3af)}.iot-types__spinner[data-v-d3a0d9ba]{width:var(--space-8,32px);height:var(--space-8,32px);border:3px solid var(--border-light,#e5e7eb);border-top-color:var(--color-primary,#2f80ed);border-radius:var(--radius-full,9999px);-webkit-animation:iot-types-spin-d3a0d9ba .7s linear infinite;animation:iot-types-spin-d3a0d9ba .7s linear infinite;margin-bottom:var(--space-3,12px)}@-webkit-keyframes iot-types-spin-d3a0d9ba{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes iot-types-spin-d3a0d9ba{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.iot-types__toolbar[data-v-d3a0d9ba]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:var(--space-5,20px)}.iot-types__toolbar-left[data-v-d3a0d9ba]{-webkit-box-flex:1;-ms-flex:1;flex:1;max-width:320px}.iot-types__toolbar-right[data-v-d3a0d9ba]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--space-2,8px)}.iot-types__search-wrapper[data-v-d3a0d9ba]{position:relative}.iot-types__search-icon[data-v-d3a0d9ba]{position:absolute;left:var(--space-3,12px);top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);color:var(--color-gray-400,#9ca3af);font-size:var(--font-size-base,14px)}.iot-types__search-input[data-v-d3a0d9ba]{width:100%;padding:var(--space-2,8px) var(--space-3,12px) var(--space-2,8px) var(--space-8,32px);border:1px solid var(--color-gray-300,#d1d5db);border-radius:var(--radius-sm,4px);font-size:var(--font-size-sm,13px);font-family:inherit;color:var(--text-primary,#1f2937);background:var(--surface-primary,#fff);outline:none;-webkit-transition:border-color var(--duration-normal,.2s),-webkit-box-shadow var(--duration-normal,.2s);transition:border-color var(--duration-normal,.2s),-webkit-box-shadow var(--duration-normal,.2s);transition:border-color var(--duration-normal,.2s),box-shadow var(--duration-normal,.2s);transition:border-color var(--duration-normal,.2s),box-shadow var(--duration-normal,.2s),-webkit-box-shadow var(--duration-normal,.2s)}.iot-types__search-input[data-v-d3a0d9ba]:focus{border-color:var(--color-primary,#2f80ed);-webkit-box-shadow:0 0 0 2px rgba(47,128,237,.15);box-shadow:0 0 0 2px rgba(47,128,237,.15)}.iot-types__btn[data-v-d3a0d9ba]{padding:var(--space-2,8px) var(--space-4,16px);border-radius:var(--radius-sm,4px);font-size:var(--font-size-sm,13px);font-weight:600;font-family:inherit;cursor:pointer;border:none;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-1,4px);-webkit-transition:all var(--duration-normal,.2s);transition:all var(--duration-normal,.2s)}.iot-types__btn--primary[data-v-d3a0d9ba]{background:var(--color-primary,#2f80ed);color:var(--color-white,#fff)}.iot-types__btn--primary[data-v-d3a0d9ba]:hover{background:var(--color-primary-hover,#3da5d6)}.iot-types__btn--primary[data-v-d3a0d9ba]:disabled{opacity:.6;cursor:not-allowed}.iot-types__btn--secondary[data-v-d3a0d9ba]{background:var(--color-gray-100,#f3f4f6);color:var(--color-gray-700,#374151)}.iot-types__btn--secondary[data-v-d3a0d9ba]:hover{background:var(--color-gray-200,#e5e7eb)}.iot-types__grid[data-v-d3a0d9ba]{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4,16px)}.iot-types__card[data-v-d3a0d9ba]{background:var(--surface-primary,#fff);border:1px solid var(--border-light,#e5e7eb);border-radius:var(--radius-md,8px);padding:0;overflow:hidden;-webkit-transition:-webkit-box-shadow var(--duration-normal,.2s);transition:-webkit-box-shadow var(--duration-normal,.2s);transition:box-shadow var(--duration-normal,.2s);transition:box-shadow var(--duration-normal,.2s),-webkit-box-shadow var(--duration-normal,.2s)}.iot-types__card[data-v-d3a0d9ba]:hover{-webkit-box-shadow:var(--shadow-lg,0 4px 6px rgba(0,0,0,.07),0 2px 4px rgba(0,0,0,.06));box-shadow:var(--shadow-lg,0 4px 6px rgba(0,0,0,.07),0 2px 4px rgba(0,0,0,.06))}.iot-types__card-header[data-v-d3a0d9ba]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;padding:var(--space-4,16px) var(--space-5,20px);border-bottom:1px solid var(--color-gray-100,#f3f4f6)}.iot-types__name[data-v-d3a0d9ba]{font-size:var(--font-size-base,14px);font-weight:600;color:var(--color-gray-900,#111827);margin:0 0 var(--space-1,4px) 0}.iot-types__model[data-v-d3a0d9ba]{font-size:var(--font-size-xs,12px);color:var(--text-secondary,#6b7280)}.iot-types__actions[data-v-d3a0d9ba]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--space-1,4px)}.iot-types__card-body[data-v-d3a0d9ba]{padding:var(--space-4,16px) var(--space-5,20px)}.iot-types__action-btn[data-v-d3a0d9ba]{width:28px;height:28px;border-radius:var(--radius-sm,4px);border:1px solid var(--border-light,#e5e7eb);background:var(--surface-primary,#fff);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;cursor:pointer;-webkit-transition:all var(--duration-normal,.2s);transition:all var(--duration-normal,.2s);color:var(--text-secondary,#6b7280);font-size:var(--font-size-sm,13px)}.iot-types__action-btn[data-v-d3a0d9ba]:hover{background:var(--color-gray-100,#f3f4f6)}.iot-types__action-btn--edit[data-v-d3a0d9ba]:hover{color:var(--color-primary,#2f80ed);border-color:var(--color-primary,#2f80ed)}.iot-types__action-btn--delete[data-v-d3a0d9ba]:hover{color:var(--color-danger,#ef4444);border-color:var(--color-danger,#ef4444)}.iot-types__caps[data-v-d3a0d9ba]{margin-bottom:var(--space-3,12px)}.iot-types__cap-tag[data-v-d3a0d9ba]{display:inline-block;padding:2px var(--space-2,8px);border-radius:var(--radius-full,9999px);font-size:var(--font-size-xs,12px);font-weight:600;background:rgba(47,128,237,.08);color:var(--color-primary,#2f80ed);margin:0 var(--space-1,4px) var(--space-1,4px) 0}.iot-types__detail[data-v-d3a0d9ba]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:var(--space-2,8px)}.iot-types__detail-label[data-v-d3a0d9ba]{font-size:var(--font-size-xs,12px);color:var(--text-secondary,#6b7280)}.iot-types__detail-value[data-v-d3a0d9ba]{font-size:var(--font-size-xs,12px);font-weight:600;color:var(--color-gray-900,#111827)}.iot-types__thresholds[data-v-d3a0d9ba]{margin-top:var(--space-2,8px)}.iot-types__section-label[data-v-d3a0d9ba]{font-size:var(--font-size-xs,12px);font-weight:600;color:var(--color-gray-400,#9ca3af);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2,8px)}.iot-types__threshold-list[data-v-d3a0d9ba]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:var(--space-2,8px)}.iot-types__threshold-item[data-v-d3a0d9ba]{font-size:var(--font-size-xs,12px);color:var(--color-gray-700,#374151);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-1,4px);background:var(--color-gray-50,#f9fafb);padding:2px var(--space-2,8px);border-radius:var(--radius-sm,4px)}.iot-types__threshold-icon--danger[data-v-d3a0d9ba]{color:var(--color-danger,#ef4444)}.iot-types__threshold-icon--info[data-v-d3a0d9ba]{color:var(--color-info,#3b82f6)}.iot-types__threshold-icon--purple[data-v-d3a0d9ba]{color:#8b5cf6}.iot-types__threshold-icon--indigo[data-v-d3a0d9ba]{color:#6366f1}.iot-types__threshold-icon--pink[data-v-d3a0d9ba]{color:#ec4899}.iot-types__threshold-icon--orange[data-v-d3a0d9ba]{color:#f97316}.iot-types__threshold-icon--yellow[data-v-d3a0d9ba]{color:var(--color-warning,#f59e0b)}.iot-types__threshold-icon--success[data-v-d3a0d9ba]{color:var(--color-success,#10b981)}.iot-types__empty[data-v-d3a0d9ba]{text-align:center;padding:var(--space-12,48px);color:var(--color-gray-400,#9ca3af)}.iot-types__empty-icon[data-v-d3a0d9ba]{font-size:var(--font-size-display,36px);color:var(--color-gray-300,#d1d5db)}.iot-types__empty p[data-v-d3a0d9ba]{margin:var(--space-3,12px) 0;font-size:var(--font-size-base,14px)}.iot-types__overlay[data-v-d3a0d9ba]{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--overlay-bg,rgba(0,0,0,.5));display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;z-index:1050}.iot-types__modal[data-v-d3a0d9ba]{background:var(--surface-primary,#fff);border-radius:var(--radius-lg,12px);width:100%;max-width:650px;max-height:90vh;overflow-y:auto;-webkit-box-shadow:var(--shadow-xl,0 10px 15px rgba(0,0,0,.1),0 4px 6px rgba(0,0,0,.05));box-shadow:var(--shadow-xl,0 10px 15px rgba(0,0,0,.1),0 4px 6px rgba(0,0,0,.05))}.iot-types__modal-header[data-v-d3a0d9ba]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:var(--space-5,20px) var(--space-6,24px);border-bottom:1px solid var(--border-light,#e5e7eb)}.iot-types__modal-title[data-v-d3a0d9ba]{font-size:var(--font-size-lg,16px);font-weight:600;color:var(--color-gray-900,#111827);margin:0}.iot-types__modal-close[data-v-d3a0d9ba]{background:none;border:none;font-size:var(--font-size-h1,24px);color:var(--text-secondary,#6b7280);cursor:pointer;padding:var(--space-1,4px);border-radius:var(--radius-sm,4px);line-height:1}.iot-types__modal-close[data-v-d3a0d9ba]:hover{color:var(--color-gray-900,#111827);background:var(--color-gray-100,#f3f4f6)}.iot-types__modal-body[data-v-d3a0d9ba]{padding:var(--space-6,24px)}.iot-types__modal-footer[data-v-d3a0d9ba]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;gap:var(--space-3,12px);padding:var(--space-4,16px) var(--space-6,24px);border-top:1px solid var(--border-light,#e5e7eb)}.iot-types__form-group[data-v-d3a0d9ba]{margin-bottom:var(--space-4,16px)}.iot-types__form-label[data-v-d3a0d9ba]{display:block;font-size:var(--font-size-sm,13px);font-weight:600;color:var(--color-gray-700,#374151);margin-bottom:var(--space-1,4px)}.iot-types__form-hint[data-v-d3a0d9ba]{font-size:var(--font-size-xs,12px);color:var(--color-gray-400,#9ca3af);margin-top:var(--space-1,4px)}.iot-types__form-input[data-v-d3a0d9ba]{width:100%;padding:var(--space-2,8px) var(--space-3,12px);border:1px solid var(--color-gray-300,#d1d5db);border-radius:var(--radius-sm,4px);font-size:var(--font-size-sm,13px);font-family:inherit;color:var(--text-primary,#1f2937);background:var(--surface-primary,#fff);outline:none;-webkit-transition:border-color var(--duration-normal,.2s),-webkit-box-shadow var(--duration-normal,.2s);transition:border-color var(--duration-normal,.2s),-webkit-box-shadow var(--duration-normal,.2s);transition:border-color var(--duration-normal,.2s),box-shadow var(--duration-normal,.2s);transition:border-color var(--duration-normal,.2s),box-shadow var(--duration-normal,.2s),-webkit-box-shadow var(--duration-normal,.2s);-webkit-box-sizing:border-box;box-sizing:border-box}.iot-types__form-input[data-v-d3a0d9ba]:focus{border-color:var(--color-primary,#2f80ed);-webkit-box-shadow:0 0 0 2px rgba(47,128,237,.15);box-shadow:0 0 0 2px rgba(47,128,237,.15)}.iot-types__checkbox-grid[data-v-d3a0d9ba]{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2,8px)}.iot-types__checkbox-item[data-v-d3a0d9ba]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-1,4px);cursor:pointer;padding:var(--space-1,4px) var(--space-2,8px);border-radius:var(--radius-sm,4px);-webkit-transition:background var(--duration-normal,.2s);transition:background var(--duration-normal,.2s)}.iot-types__checkbox-item[data-v-d3a0d9ba]:hover{background:var(--color-gray-50,#f9fafb)}.iot-types__checkbox[data-v-d3a0d9ba]{accent-color:var(--color-primary,#2f80ed);width:14px;height:14px;cursor:pointer}.iot-types__checkbox-label[data-v-d3a0d9ba]{font-size:var(--font-size-sm,13px);color:var(--color-gray-700,#374151)}.iot-types__form-grid[data-v-d3a0d9ba]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4,16px)}.iot-types__form-section-label[data-v-d3a0d9ba]{font-size:var(--font-size-xs,12px);font-weight:600;color:var(--text-secondary,#6b7280);text-transform:uppercase;letter-spacing:.03em;margin:var(--space-4,16px) 0 var(--space-3,12px);padding-bottom:var(--space-2,8px);border-bottom:1px solid var(--color-gray-100,#f3f4f6)}@media (max-width:991px){.iot-types__checkbox-grid[data-v-d3a0d9ba],.iot-types__grid[data-v-d3a0d9ba]{grid-template-columns:repeat(2,1fr)}}@media (max-width:767px){.iot-types__grid[data-v-d3a0d9ba]{grid-template-columns:1fr}.iot-types__toolbar[data-v-d3a0d9ba]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:var(--space-3,12px)}.iot-types__toolbar-left[data-v-d3a0d9ba]{max-width:100%;width:100%}.iot-types__toolbar-right[data-v-d3a0d9ba]{width:100%}.iot-types__toolbar-right .iot-types__btn[data-v-d3a0d9ba]{width:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.iot-types__checkbox-grid[data-v-d3a0d9ba]{grid-template-columns:1fr 1fr}.iot-types__form-grid[data-v-d3a0d9ba]{grid-template-columns:1fr}.iot-types__modal[data-v-d3a0d9ba]{max-width:calc(100% - var(--space-8, 32px));margin:var(--space-4,16px)}}.iot-assign[data-v-62d4bc1c]{min-height:400px;font-family:Ubuntu,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.iot-assign__steps[data-v-62d4bc1c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:var(--space-6,24px);padding:0 var(--space-2,8px)}.iot-assign__step[data-v-62d4bc1c]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;position:relative;-webkit-box-flex:1;-ms-flex:1;flex:1}.iot-assign__step-circle[data-v-62d4bc1c],.iot-assign__step[data-v-62d4bc1c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;align-items:center}.iot-assign__step-circle[data-v-62d4bc1c]{width:36px;height:36px;border-radius:var(--radius-full,9999px);background:var(--border-light,#e5e7eb);color:var(--text-secondary,#6b7280);-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-weight:600;font-size:var(--font-size-body-sm,13px);-webkit-transition:all .2s;transition:all .2s;z-index:1}.iot-assign__step--active .iot-assign__step-circle[data-v-62d4bc1c]{background:var(--color-primary,#2f80ed);color:var(--surface-primary,#fff);-webkit-box-shadow:0 0 0 3px rgba(47,128,237,.2);box-shadow:0 0 0 3px rgba(47,128,237,.2)}.iot-assign__step--completed .iot-assign__step-circle[data-v-62d4bc1c]{background:var(--color-success,#10b981);color:var(--surface-primary,#fff)}.iot-assign__step-label[data-v-62d4bc1c]{font-size:var(--font-size-overline,11px);color:var(--text-secondary,#6b7280);margin-top:var(--space-2,8px);text-align:center;white-space:nowrap}.iot-assign__step--active .iot-assign__step-label[data-v-62d4bc1c]{color:var(--color-primary,#2f80ed);font-weight:600}.iot-assign__step--completed .iot-assign__step-label[data-v-62d4bc1c]{color:var(--color-success-dark,#059669)}.iot-assign__step-connector[data-v-62d4bc1c]{position:absolute;top:18px;left:calc(50% + 20px);right:calc(-50% + 20px);height:2px;background:var(--border-light,#e5e7eb);z-index:0}.iot-assign__step-connector--filled[data-v-62d4bc1c]{background:var(--color-success,#10b981)}.iot-assign__section-title[data-v-62d4bc1c]{font-size:var(--font-size-body-lg,16px);font-weight:600;color:var(--text-primary,#1f2937);margin:0 0 var(--space-4,16px) 0}.iot-assign__content[data-v-62d4bc1c]{min-height:300px}.iot-assign__card[data-v-62d4bc1c]{background:var(--color-gray-50,#f9fafb);border:1px solid var(--border-light,#e5e7eb);border-radius:var(--radius-md,8px);padding:var(--space-4,16px);margin-bottom:var(--space-3,12px)}.iot-assign__card--mt[data-v-62d4bc1c]{margin-top:var(--space-4,16px)}.iot-assign__card-title[data-v-62d4bc1c]{font-size:var(--font-size-body-sm,13px);font-weight:600;color:var(--text-primary,#1f2937);margin-bottom:var(--space-3,12px)}.iot-assign__form-grid[data-v-62d4bc1c]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3,12px)}.iot-assign__form-full[data-v-62d4bc1c]{grid-column:1/-1}.iot-assign__form-group[data-v-62d4bc1c]{margin-bottom:0}.iot-assign__form-label[data-v-62d4bc1c]{display:block;font-size:var(--font-size-caption,12px);font-weight:600;color:var(--text-primary,#1f2937);margin-bottom:var(--space-1,4px)}.iot-assign__form-hint[data-v-62d4bc1c]{font-size:var(--font-size-overline,11px);color:var(--color-gray-400,#9ca3af);margin-top:var(--space-1,4px)}.iot-assign__form-input[data-v-62d4bc1c]{width:100%;padding:var(--space-2,8px) var(--space-3,12px);border:1px solid var(--border-medium,#d1d5db);border-radius:var(--radius-sm,4px);font-size:var(--font-size-body-sm,13px);font-family:inherit;outline:none;-webkit-transition:border-color .15s,-webkit-box-shadow .15s;transition:border-color .15s,-webkit-box-shadow .15s;transition:border-color .15s,box-shadow .15s;transition:border-color .15s,box-shadow .15s,-webkit-box-shadow .15s;-webkit-box-sizing:border-box;box-sizing:border-box;background:var(--surface-primary,#fff)}.iot-assign__form-input[data-v-62d4bc1c]:focus{border-color:var(--color-primary,#2f80ed);-webkit-box-shadow:0 0 0 2px rgba(47,128,237,.15);box-shadow:0 0 0 2px rgba(47,128,237,.15)}.iot-assign__form-input[data-v-62d4bc1c]:disabled{background:var(--color-gray-100,#f3f4f6);color:var(--text-secondary,#6b7280);cursor:not-allowed}.iot-assign__form-select[data-v-62d4bc1c]{width:100%;padding:var(--space-2,8px) var(--space-8,32px) var(--space-2,8px) var(--space-3,12px);border:1px solid var(--border-medium,#d1d5db);border-radius:var(--radius-sm,4px);font-size:var(--font-size-body-sm,13px);font-family:inherit;background:var(--surface-primary,#fff);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:1em;-webkit-box-sizing:border-box;box-sizing:border-box}.iot-assign__form-select[data-v-62d4bc1c]:focus{border-color:var(--color-primary,#2f80ed);-webkit-box-shadow:0 0 0 2px rgba(47,128,237,.15);box-shadow:0 0 0 2px rgba(47,128,237,.15)}.iot-assign__search-wrapper[data-v-62d4bc1c]{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:var(--space-2,8px)}.iot-assign__search-icon[data-v-62d4bc1c]{position:absolute;left:var(--space-3,12px);color:var(--color-gray-400,#9ca3af);font-size:1rem;pointer-events:none}.iot-assign__search-input[data-v-62d4bc1c]{width:100%;padding:var(--space-2,8px) var(--space-3,12px) var(--space-2,8px) var(--space-8,32px);border:1px solid var(--border-medium,#d1d5db);border-radius:var(--radius-sm,4px);font-size:var(--font-size-body-sm,13px);font-family:inherit;outline:none;-webkit-transition:border-color .15s,-webkit-box-shadow .15s;transition:border-color .15s,-webkit-box-shadow .15s;transition:border-color .15s,box-shadow .15s;transition:border-color .15s,box-shadow .15s,-webkit-box-shadow .15s;-webkit-box-sizing:border-box;box-sizing:border-box}.iot-assign__search-input[data-v-62d4bc1c]:focus{border-color:var(--color-primary,#2f80ed);-webkit-box-shadow:0 0 0 2px rgba(47,128,237,.15);box-shadow:0 0 0 2px rgba(47,128,237,.15)}.iot-assign__required[data-v-62d4bc1c]{color:var(--color-danger,#ef4444)}.iot-assign__badge[data-v-62d4bc1c]{padding:2px var(--space-2,8px);border-radius:var(--radius-full,9999px);font-size:var(--font-size-overline,11px);font-weight:600;display:inline-block}.iot-assign__badge--info[data-v-62d4bc1c]{background:rgba(59,130,246,.1);color:var(--color-info,#3b82f6)}.iot-assign__badge--online[data-v-62d4bc1c]{background:rgba(16,185,129,.1);color:var(--color-success-dark,#059669)}.iot-assign__badge--offline[data-v-62d4bc1c]{background:rgba(239,68,68,.1);color:var(--color-danger-dark,#dc2626)}.iot-assign__badge--warning[data-v-62d4bc1c]{background:rgba(245,158,11,.1);color:var(--color-warning-dark,#d97706)}.iot-assign__capability-tags[data-v-62d4bc1c]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:var(--space-2,8px)}.iot-assign__info-banner[data-v-62d4bc1c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:var(--space-2,8px);padding:var(--space-3,12px) var(--space-4,16px);background:rgba(59,130,246,.08);border:1px solid rgba(59,130,246,.2);border-radius:var(--radius-md,8px);color:#1d4ed8;font-size:var(--font-size-body-sm,13px);margin-bottom:var(--space-3,12px)}.iot-assign__info-text[data-v-62d4bc1c]{margin:var(--space-1,4px) 0 0}.iot-assign__detail-item[data-v-62d4bc1c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:2px}.iot-assign__detail-label[data-v-62d4bc1c]{font-size:var(--font-size-overline,11px);font-weight:600;color:var(--text-secondary,#6b7280);text-transform:uppercase;letter-spacing:.02em}.iot-assign__detail-value[data-v-62d4bc1c]{font-size:var(--font-size-body-sm,13px);color:var(--text-primary,#1f2937)}.iot-assign__review-grid[data-v-62d4bc1c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:var(--space-2,8px)}.iot-assign__review-row[data-v-62d4bc1c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:var(--space-2,8px) 0;border-bottom:1px solid var(--color-gray-100,#f3f4f6)}.iot-assign__review-row[data-v-62d4bc1c]:last-child{border-bottom:none}.iot-assign__review-label[data-v-62d4bc1c]{font-size:var(--font-size-body-sm,13px);font-weight:500;color:var(--text-secondary,#6b7280)}.iot-assign__review-value[data-v-62d4bc1c]{font-size:var(--font-size-body-sm,13px);color:var(--text-primary,#1f2937);font-weight:500}.iot-assign__checkbox-label[data-v-62d4bc1c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-2,8px);font-size:var(--font-size-body-sm,13px);color:var(--text-primary,#1f2937);cursor:pointer;margin-bottom:var(--space-2,8px)}.iot-assign__checkbox[data-v-62d4bc1c]{width:var(--space-4,16px);height:var(--space-4,16px);accent-color:var(--color-primary,#2f80ed);cursor:pointer;-ms-flex-negative:0;flex-shrink:0}.iot-assign__recipients-section[data-v-62d4bc1c]{margin-top:var(--space-3,12px)}.iot-assign__recipient-list[data-v-62d4bc1c]{max-height:160px;overflow-y:auto;border:1px solid var(--border-light,#e5e7eb);border-radius:var(--radius-sm,4px);padding:var(--space-2,8px);background:var(--surface-primary,#fff)}.iot-assign__text-muted[data-v-62d4bc1c]{color:var(--color-gray-400,#9ca3af);font-size:var(--font-size-caption,12px)}.iot-assign__btn[data-v-62d4bc1c]{padding:var(--space-2,8px) var(--space-4,16px);border-radius:var(--radius-sm,4px);font-size:var(--font-size-body-sm,13px);font-family:inherit;font-weight:600;cursor:pointer;border:none;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-2,8px);-webkit-transition:all .15s;transition:all .15s}.iot-assign__btn--primary[data-v-62d4bc1c]{background:var(--color-primary,#2f80ed);color:var(--surface-primary,#fff)}.iot-assign__btn--primary[data-v-62d4bc1c]:hover{background:var(--color-primary-hover,#3da5d6)}.iot-assign__btn--primary[data-v-62d4bc1c]:disabled{opacity:.5;cursor:not-allowed}.iot-assign__btn--secondary[data-v-62d4bc1c]{background:var(--color-gray-100,#f3f4f6);color:var(--text-primary,#1f2937)}.iot-assign__btn--secondary[data-v-62d4bc1c]:hover{background:var(--border-light,#e5e7eb)}.iot-assign__btn--success[data-v-62d4bc1c]{background:var(--color-success,#10b981);color:var(--surface-primary,#fff)}.iot-assign__btn--success[data-v-62d4bc1c]:hover{background:var(--color-success-dark,#059669)}.iot-assign__btn--success[data-v-62d4bc1c]:disabled{opacity:.5;cursor:not-allowed}.iot-assign__footer[data-v-62d4bc1c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-top:var(--space-5,20px);padding-top:var(--space-4,16px);border-top:1px solid var(--border-light,#e5e7eb)}.iot-assign__footer-right[data-v-62d4bc1c]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--space-2,8px)}.iot-assign__font-mono[data-v-62d4bc1c]{font-family:JetBrains Mono,Courier New,monospace;font-size:var(--font-size-body-sm,13px)}@media (max-width:991px){.iot-assign__form-grid[data-v-62d4bc1c]{grid-template-columns:1fr 1fr}}@media (max-width:767px){.iot-assign__form-grid[data-v-62d4bc1c]{grid-template-columns:1fr}.iot-assign__step-label[data-v-62d4bc1c]{font-size:10px}.iot-assign__step-circle[data-v-62d4bc1c]{width:30px;height:30px;font-size:var(--font-size-caption,12px)}.iot-assign__step-connector[data-v-62d4bc1c]{top:15px}.iot-assign__footer[data-v-62d4bc1c]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:var(--space-3,12px)}.iot-assign__footer-right[data-v-62d4bc1c]{width:100%;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}}.iot-settings[data-v-7f9b500c]{min-height:400px}.iot-settings__tab-nav[data-v-7f9b500c]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:0;border-bottom:1px solid var(--border-light,#e5e7eb);margin-bottom:var(--space-4,16px)}.iot-settings__tab[data-v-7f9b500c]{padding:var(--space-2,8px) var(--space-4,16px);font-size:var(--font-size-sm,13px);font-weight:500;font-family:inherit;color:var(--text-secondary,#6b7280);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-1,4px);-webkit-transition:all var(--duration-normal,.2s);transition:all var(--duration-normal,.2s)}.iot-settings__tab[data-v-7f9b500c]:hover{color:var(--color-gray-700,#374151)}.iot-settings__tab--active[data-v-7f9b500c]{color:var(--color-primary,#2f80ed);border-bottom-color:var(--color-primary,#2f80ed);font-weight:600}.iot-settings__panel[data-v-7f9b500c]{padding:var(--space-2,8px) 0}.iot-settings__form-grid[data-v-7f9b500c]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4,16px)}.iot-settings__form-group--full[data-v-7f9b500c]{grid-column:1/-1}.iot-settings__form-group--spaced[data-v-7f9b500c]{margin-top:var(--space-4,16px)}.iot-settings__form-group[data-v-7f9b500c]{margin-bottom:0}.iot-settings__form-label[data-v-7f9b500c]{display:block;font-size:var(--font-size-xs,12px);font-weight:600;color:var(--color-gray-700,#374151);margin-bottom:var(--space-1,4px)}.iot-settings__form-input[data-v-7f9b500c]{width:100%;padding:var(--space-2,8px) var(--space-3,12px);border:1px solid var(--color-gray-300,#d1d5db);border-radius:var(--radius-sm,4px);font-size:var(--font-size-sm,13px);font-family:inherit;color:var(--text-primary,#1f2937);background:var(--surface-primary,#fff);outline:none;-webkit-transition:border-color var(--duration-normal,.2s),-webkit-box-shadow var(--duration-normal,.2s);transition:border-color var(--duration-normal,.2s),-webkit-box-shadow var(--duration-normal,.2s);transition:border-color var(--duration-normal,.2s),box-shadow var(--duration-normal,.2s);transition:border-color var(--duration-normal,.2s),box-shadow var(--duration-normal,.2s),-webkit-box-shadow var(--duration-normal,.2s);-webkit-box-sizing:border-box;box-sizing:border-box}.iot-settings__form-input--mono[data-v-7f9b500c]{font-family:Courier New,monospace}.iot-settings__form-input--textarea[data-v-7f9b500c]{resize:vertical;min-height:60px}.iot-settings__form-input[data-v-7f9b500c]:focus{border-color:var(--color-primary,#2f80ed);-webkit-box-shadow:0 0 0 2px rgba(47,128,237,.15);box-shadow:0 0 0 2px rgba(47,128,237,.15)}.iot-settings__form-input[data-v-7f9b500c]:disabled{background:var(--color-gray-50,#f9fafb);color:var(--text-secondary,#6b7280)}.iot-settings__form-hint[data-v-7f9b500c]{font-size:var(--font-size-xs,12px);color:var(--color-gray-400,#9ca3af);margin-top:var(--space-1,4px);display:inline-block}.iot-settings__form-hint--inline[data-v-7f9b500c]{margin-left:var(--space-2,8px);margin-top:0}.iot-settings__status-row[data-v-7f9b500c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.iot-settings__card[data-v-7f9b500c]{background:var(--color-gray-50,#f9fafb);border:1px solid var(--border-light,#e5e7eb);border-radius:var(--radius-md,8px);padding:var(--space-4,16px) var(--space-5,20px);margin-bottom:var(--space-3,12px)}.iot-settings__card-title[data-v-7f9b500c]{font-size:var(--font-size-sm,13px);font-weight:600;color:var(--color-gray-900,#111827);margin:0 0 var(--space-3,12px)}.iot-settings__badge[data-v-7f9b500c]{display:inline-block;padding:2px var(--space-2,8px);border-radius:var(--radius-full,9999px);font-size:var(--font-size-xs,12px);font-weight:600;text-transform:capitalize}.iot-settings__badge--online[data-v-7f9b500c]{background:rgba(16,185,129,.1);color:var(--color-success-dark,#059669)}.iot-settings__badge--warning[data-v-7f9b500c]{background:rgba(245,158,11,.1);color:var(--color-warning-dark,#d97706)}.iot-settings__badge--error[data-v-7f9b500c],.iot-settings__badge--offline[data-v-7f9b500c]{background:rgba(239,68,68,.1);color:var(--color-danger-dark,#dc2626)}.iot-settings__badge--info[data-v-7f9b500c]{background:rgba(59,130,246,.1);color:var(--color-info,#3b82f6)}.iot-settings__toggle-row[data-v-7f9b500c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-2,8px);cursor:pointer;font-size:var(--font-size-sm,13px);font-weight:500;color:var(--color-gray-900,#111827)}.iot-settings__toggle-input[data-v-7f9b500c]{accent-color:var(--color-primary,#2f80ed);width:var(--space-4,16px);height:var(--space-4,16px)}.iot-settings__multiselect-list[data-v-7f9b500c]{max-height:200px;overflow-y:auto;border:1px solid var(--color-gray-300,#d1d5db);border-radius:var(--radius-sm,4px);padding:var(--space-2,8px);background:var(--surface-primary,#fff)}.iot-settings__checkbox-item[data-v-7f9b500c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-2,8px);padding:var(--space-1,4px) var(--space-1,4px);font-size:var(--font-size-sm,13px);color:var(--color-gray-700,#374151);cursor:pointer;border-radius:var(--radius-sm,4px)}.iot-settings__checkbox-item[data-v-7f9b500c]:hover{background:var(--color-gray-50,#f9fafb)}.iot-settings__checkbox-item input[type=checkbox][data-v-7f9b500c]{accent-color:var(--color-primary,#2f80ed)}.iot-settings__status-grid[data-v-7f9b500c]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3,12px)}.iot-settings__status-item[data-v-7f9b500c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:var(--space-1,4px)}.iot-settings__status-label[data-v-7f9b500c]{font-size:var(--font-size-xs,12px);font-weight:600;color:var(--text-secondary,#6b7280);text-transform:uppercase}.iot-settings__action-list[data-v-7f9b500c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:var(--space-2,8px)}.iot-settings__btn[data-v-7f9b500c]{padding:var(--space-2,8px) var(--space-4,16px);border-radius:var(--radius-sm,4px);font-size:var(--font-size-sm,13px);font-weight:600;font-family:inherit;cursor:pointer;border:none;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-1,4px);-webkit-transition:all var(--duration-normal,.2s);transition:all var(--duration-normal,.2s)}.iot-settings__btn[data-v-7f9b500c]:disabled{opacity:.6;cursor:not-allowed}.iot-settings__btn--primary[data-v-7f9b500c]{background:var(--color-primary,#2f80ed);color:var(--color-white,#fff)}.iot-settings__btn--primary[data-v-7f9b500c]:hover:not(:disabled){background:var(--color-primary-hover,#3da5d6)}.iot-settings__btn--secondary[data-v-7f9b500c]{background:var(--color-gray-100,#f3f4f6);color:var(--color-gray-700,#374151)}.iot-settings__btn--secondary[data-v-7f9b500c]:hover{background:var(--color-gray-200,#e5e7eb)}.iot-settings__btn--success[data-v-7f9b500c]{background:var(--color-success,#10b981);color:var(--color-white,#fff)}.iot-settings__btn--success[data-v-7f9b500c]:hover{background:var(--color-success-dark,#059669)}.iot-settings__btn--warning[data-v-7f9b500c]{background:var(--color-warning,#f59e0b);color:var(--color-white,#fff)}.iot-settings__btn--warning[data-v-7f9b500c]:hover{background:var(--color-warning-dark,#d97706)}.iot-settings__btn--danger[data-v-7f9b500c]{background:var(--color-danger,#ef4444);color:var(--color-white,#fff)}.iot-settings__btn--danger[data-v-7f9b500c]:hover{background:var(--color-danger-dark,#dc2626)}.iot-settings__btn--outline-danger[data-v-7f9b500c]{background:var(--surface-primary,#fff);color:var(--color-danger-dark,#dc2626);border:1px solid var(--color-danger-light,#fecaca)}.iot-settings__btn--outline-danger[data-v-7f9b500c]:hover{background:var(--color-danger-bg,#fef2f2)}.iot-settings__footer[data-v-7f9b500c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;gap:var(--space-3,12px);padding:var(--space-4,16px) 0 0;margin-top:var(--space-4,16px);border-top:1px solid var(--border-light,#e5e7eb)}.iot-settings__empty[data-v-7f9b500c]{text-align:center;padding:var(--space-8,32px);color:var(--color-gray-400,#9ca3af);font-size:var(--font-size-base,14px)}.iot-settings__confirm-overlay[data-v-7f9b500c]{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--overlay-bg,rgba(0,0,0,.4));display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;z-index:10001}.iot-settings__confirm-box[data-v-7f9b500c]{background:var(--surface-primary,#fff);border-radius:var(--radius-lg,12px);padding:var(--space-6,24px);max-width:400px;width:90%;-webkit-box-shadow:var(--shadow-xl,0 10px 15px rgba(0,0,0,.1),0 4px 6px rgba(0,0,0,.05));box-shadow:var(--shadow-xl,0 10px 15px rgba(0,0,0,.1),0 4px 6px rgba(0,0,0,.05))}.iot-settings__confirm-title[data-v-7f9b500c]{margin:0 0 var(--space-2,8px);font-size:var(--font-size-lg,16px);color:var(--color-gray-900,#111827)}.iot-settings__confirm-message[data-v-7f9b500c]{margin:0 0 var(--space-5,20px);font-size:var(--font-size-sm,13px);color:var(--text-secondary,#6b7280)}.iot-settings__confirm-actions[data-v-7f9b500c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;gap:var(--space-2,8px)}@media (max-width:991px){.iot-settings__status-grid[data-v-7f9b500c]{grid-template-columns:1fr 1fr}}@media (max-width:767px){.iot-settings__form-grid[data-v-7f9b500c],.iot-settings__status-grid[data-v-7f9b500c]{grid-template-columns:1fr}.iot-settings__tab-nav[data-v-7f9b500c]{overflow-x:auto}.iot-settings__tab[data-v-7f9b500c]{white-space:nowrap}.iot-settings__footer[data-v-7f9b500c]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.iot-settings__footer .iot-settings__btn[data-v-7f9b500c]{width:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}}.iot-dashboard[data-v-d8bfd082]{min-height:400px;font-family:Ubuntu,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.iot-dashboard__loading[data-v-d8bfd082]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:var(--space-2,8px);padding:var(--space-16,64px) var(--space-8,32px);color:var(--text-secondary,#6b7280);font-size:var(--font-size-body,14px)}.iot-dashboard__loading .pi[data-v-d8bfd082]{font-size:1.25rem}.iot-dashboard__error-banner[data-v-d8bfd082]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-3,12px);padding:var(--space-4,16px) var(--space-5,20px);border-radius:var(--radius-md,8px);background:rgba(239,68,68,.06);border:1px solid rgba(239,68,68,.2);color:#991b1b;font-size:var(--font-size-body-sm,13px);line-height:1.5}.iot-dashboard__error-banner .pi[data-v-d8bfd082]{font-size:1.25rem;color:var(--color-danger,#ef4444);-ms-flex-negative:0;flex-shrink:0}.iot-dashboard__retry-btn[data-v-d8bfd082]{margin-left:auto;border:1px solid var(--border-light,#e5e7eb);background:var(--surface-primary,#fff);padding:var(--space-2,8px) var(--space-3,12px);border-radius:var(--radius-sm,4px);cursor:pointer;font-size:var(--font-size-caption,12px);font-family:inherit;color:var(--text-primary,#1f2937);white-space:nowrap;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-1,4px)}.iot-dashboard__retry-btn[data-v-d8bfd082]:hover{background:var(--color-gray-50,#f9fafb)}.iot-dashboard__top-bar[data-v-d8bfd082]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:var(--space-5,20px);-ms-flex-wrap:wrap;flex-wrap:wrap;gap:var(--space-3,12px)}.iot-dashboard__time-range[data-v-d8bfd082]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:0;border:1px solid var(--border-light,#e5e7eb);border-radius:var(--radius-sm,4px);overflow:hidden}.iot-dashboard__range-btn[data-v-d8bfd082]{padding:var(--space-2,8px) var(--space-3,12px);border:none;background:var(--surface-primary,#fff);cursor:pointer;font-size:var(--font-size-caption,12px);font-family:inherit;font-weight:500;color:var(--text-secondary,#6b7280);-webkit-transition:all .15s;transition:all .15s;border-right:1px solid var(--border-light,#e5e7eb)}.iot-dashboard__range-btn[data-v-d8bfd082]:last-child{border-right:none}.iot-dashboard__range-btn[data-v-d8bfd082]:hover{background:var(--color-gray-50,#f9fafb);color:var(--text-primary,#1f2937)}.iot-dashboard__range-btn--active[data-v-d8bfd082]{background:var(--color-primary,#2f80ed);color:var(--surface-primary,#fff)}.iot-dashboard__top-actions[data-v-d8bfd082]{gap:var(--space-3,12px)}.iot-dashboard__auto-toggle[data-v-d8bfd082],.iot-dashboard__top-actions[data-v-d8bfd082]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.iot-dashboard__auto-toggle[data-v-d8bfd082]{gap:var(--space-2,8px);cursor:pointer;position:relative}.iot-dashboard__auto-toggle input[data-v-d8bfd082]{opacity:0;width:0;height:0;position:absolute}.iot-dashboard__toggle-slider[data-v-d8bfd082]{position:relative;display:inline-block;width:36px;height:20px;background:var(--border-medium,#d1d5db);border-radius:var(--radius-full,9999px);-webkit-transition:.2s;transition:.2s;-ms-flex-negative:0;flex-shrink:0}.iot-dashboard__toggle-slider[data-v-d8bfd082]:before{content:"";position:absolute;height:14px;width:14px;left:3px;bottom:3px;background:var(--surface-primary,#fff);border-radius:var(--radius-full,9999px);-webkit-transition:.2s;transition:.2s}.iot-dashboard__auto-toggle input:checked+.iot-dashboard__toggle-slider[data-v-d8bfd082]{background:var(--color-primary,#2f80ed)}.iot-dashboard__auto-toggle input:checked+.iot-dashboard__toggle-slider[data-v-d8bfd082]:before{-webkit-transform:translateX(16px);transform:translateX(16px)}.iot-dashboard__toggle-label[data-v-d8bfd082]{font-size:var(--font-size-caption,12px);color:var(--text-secondary,#6b7280);font-weight:500}.iot-dashboard__refresh-btn[data-v-d8bfd082]{border:1px solid var(--border-light,#e5e7eb);background:var(--surface-primary,#fff);padding:var(--space-2,8px) var(--space-3,12px);border-radius:var(--radius-sm,4px);cursor:pointer;font-size:var(--font-size-body-sm,13px);font-family:inherit;color:var(--text-primary,#1f2937);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-1,4px)}.iot-dashboard__refresh-btn[data-v-d8bfd082]:hover{background:var(--color-gray-50,#f9fafb)}.iot-dashboard__refresh-btn[data-v-d8bfd082]:disabled{opacity:.6;cursor:not-allowed}.iot-dashboard__summary-grid[data-v-d8bfd082]{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-4,16px);margin-bottom:var(--space-6,24px)}.iot-dashboard__card[data-v-d8bfd082]{background:var(--surface-primary,#fff);border:1px solid var(--border-light,#e5e7eb);border-left:4px solid var(--accent);border-radius:var(--radius-md,8px);padding:var(--space-5,20px);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-4,16px);-webkit-transition:-webkit-transform .2s,-webkit-box-shadow .2s;transition:-webkit-transform .2s,-webkit-box-shadow .2s;transition:transform .2s,box-shadow .2s;transition:transform .2s,box-shadow .2s,-webkit-transform .2s,-webkit-box-shadow .2s}.iot-dashboard__card[data-v-d8bfd082]:hover{-webkit-transform:translateY(-2px);transform:translateY(-2px);-webkit-box-shadow:var(--shadow-md,0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06));box-shadow:var(--shadow-md,0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06))}.iot-dashboard__card--clickable[data-v-d8bfd082]{cursor:pointer}.iot-dashboard__card-icon[data-v-d8bfd082]{width:44px;height:44px;border-radius:var(--radius-full,9999px);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-negative:0;flex-shrink:0}.iot-dashboard__card-icon .pi[data-v-d8bfd082]{font-size:1.25rem}.iot-dashboard__card-body[data-v-d8bfd082]{min-width:0}.iot-dashboard__card-value[data-v-d8bfd082]{font-size:var(--font-size-heading-1,24px);font-weight:700;color:var(--color-gray-900,#111827);line-height:1.2}.iot-dashboard__card-label[data-v-d8bfd082]{font-size:var(--font-size-overline,11px);font-weight:600;color:var(--text-secondary,#6b7280);text-transform:uppercase;letter-spacing:.03em;margin-top:2px}.iot-dashboard__card-subtitle[data-v-d8bfd082]{font-size:var(--font-size-overline,11px);color:var(--color-gray-400,#9ca3af);margin-top:2px}.iot-dashboard__section[data-v-d8bfd082]{background:var(--surface-primary,#fff);border:1px solid var(--border-light,#e5e7eb);border-radius:var(--radius-md,8px);padding:var(--space-5,20px) var(--space-6,24px)}.iot-dashboard__section-header[data-v-d8bfd082]{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:var(--space-4,16px);-ms-flex-wrap:wrap;flex-wrap:wrap}.iot-dashboard__section-header[data-v-d8bfd082],.iot-dashboard__section-title[data-v-d8bfd082]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-2,8px)}.iot-dashboard__section-title[data-v-d8bfd082]{font-size:var(--font-size-body-lg,16px);font-weight:600;color:var(--text-primary,#1f2937);margin:0}.iot-dashboard__section-title .pi[data-v-d8bfd082]{color:var(--text-secondary,#6b7280)}.iot-dashboard__charts-grid[data-v-d8bfd082]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4,16px);margin-bottom:var(--space-4,16px)}.iot-dashboard__chart-container[data-v-d8bfd082]{position:relative;min-height:280px}.iot-dashboard__chart[data-v-d8bfd082]{height:280px}.iot-dashboard__doughnut[data-v-d8bfd082]{height:220px}.iot-dashboard__chart-empty[data-v-d8bfd082]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;height:280px;color:var(--color-gray-400,#9ca3af);font-size:var(--font-size-body-sm,13px);font-style:italic}.iot-dashboard__metric-pills[data-v-d8bfd082]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--space-2,8px)}.iot-dashboard__pill[data-v-d8bfd082]{padding:var(--space-1,4px) var(--space-3,12px);border:1px solid var(--border-light,#e5e7eb);border-radius:var(--radius-full,9999px);background:var(--surface-primary,#fff);cursor:pointer;font-size:var(--font-size-overline,11px);font-family:inherit;font-weight:600;color:var(--text-secondary,#6b7280);-webkit-transition:all .15s;transition:all .15s}.iot-dashboard__pill[data-v-d8bfd082]:hover{border-color:var(--border-medium,#d1d5db);color:var(--text-primary,#1f2937)}.iot-dashboard__pill--active[data-v-d8bfd082]{color:var(--surface-primary,#fff);border-color:transparent}.iot-dashboard__bottom-grid[data-v-d8bfd082]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4,16px)}.iot-dashboard__battery-layout[data-v-d8bfd082]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--space-5,20px);-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.iot-dashboard__battery-chart[data-v-d8bfd082],.iot-dashboard__battery-list[data-v-d8bfd082]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}.iot-dashboard__list-title[data-v-d8bfd082]{font-size:var(--font-size-overline,11px);font-weight:600;color:var(--text-secondary,#6b7280);text-transform:uppercase;letter-spacing:.03em;margin-bottom:var(--space-3,12px)}.iot-dashboard__list-empty[data-v-d8bfd082]{font-size:var(--font-size-body-sm,13px);color:var(--color-gray-400,#9ca3af);font-style:italic;padding:var(--space-2,8px) 0}.iot-dashboard__battery-item[data-v-d8bfd082]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-2,8px);padding:var(--space-2,8px) 0;border-bottom:1px solid var(--color-gray-100,#f3f4f6)}.iot-dashboard__battery-item[data-v-d8bfd082]:last-child{border-bottom:none}.iot-dashboard__battery-icon[data-v-d8bfd082]{font-size:1rem;-ms-flex-negative:0;flex-shrink:0;color:var(--color-danger,#ef4444)}.iot-dashboard__battery-info[data-v-d8bfd082]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}.iot-dashboard__battery-name[data-v-d8bfd082]{font-size:var(--font-size-body-sm,13px);color:var(--text-primary,#1f2937);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.iot-dashboard__battery-level[data-v-d8bfd082]{font-size:var(--font-size-caption,12px);font-weight:600;color:var(--color-danger,#ef4444);-ms-flex-negative:0;flex-shrink:0;margin-left:var(--space-2,8px)}.iot-dashboard__attention-list[data-v-d8bfd082]{max-height:320px;overflow-y:auto}.iot-dashboard__attention-item[data-v-d8bfd082]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:var(--space-3,12px);padding:var(--space-2,8px) 0;border-bottom:1px solid var(--color-gray-100,#f3f4f6)}.iot-dashboard__attention-item[data-v-d8bfd082]:last-child{border-bottom:none}.iot-dashboard__attention-item>.pi[data-v-d8bfd082]{font-size:1rem;-ms-flex-negative:0;flex-shrink:0;margin-top:2px}.iot-dashboard__attention-body[data-v-d8bfd082]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}.iot-dashboard__attention-title[data-v-d8bfd082]{display:block;font-size:var(--font-size-body-sm,13px);color:var(--text-primary,#1f2937);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.iot-dashboard__attention-meta[data-v-d8bfd082]{display:block;font-size:var(--font-size-overline,11px);color:var(--color-gray-400,#9ca3af);margin-top:2px}.iot-dashboard__attention-time[data-v-d8bfd082]{font-size:var(--font-size-overline,11px);color:var(--color-gray-400,#9ca3af);-ms-flex-negative:0;flex-shrink:0;white-space:nowrap}@media (max-width:1100px){.iot-dashboard__summary-grid[data-v-d8bfd082]{grid-template-columns:repeat(3,1fr)}}@media (max-width:991px){.iot-dashboard__bottom-grid[data-v-d8bfd082],.iot-dashboard__charts-grid[data-v-d8bfd082]{grid-template-columns:1fr}}@media (max-width:767px){.iot-dashboard__summary-grid[data-v-d8bfd082]{grid-template-columns:repeat(2,1fr)}.iot-dashboard__top-bar[data-v-d8bfd082]{-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.iot-dashboard__battery-layout[data-v-d8bfd082],.iot-dashboard__top-bar[data-v-d8bfd082]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}@media (max-width:500px){.iot-dashboard__summary-grid[data-v-d8bfd082]{grid-template-columns:1fr}}.iot-alert-detail__overlay[data-v-9118b278]{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--overlay-bg,rgba(0,0,0,.4));display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;z-index:10000}.iot-alert-detail__modal[data-v-9118b278]{background:var(--surface-primary,#fff);border-radius:var(--radius-lg,12px);width:90%;max-width:700px;max-height:85vh;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-shadow:var(--shadow-xl,0 10px 15px rgba(0,0,0,.1),0 4px 6px rgba(0,0,0,.05));box-shadow:var(--shadow-xl,0 10px 15px rgba(0,0,0,.1),0 4px 6px rgba(0,0,0,.05))}.iot-alert-detail__header[data-v-9118b278]{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:var(--space-5,20px) var(--space-6,24px);border-bottom:1px solid var(--border-light,#e5e7eb);-ms-flex-negative:0;flex-shrink:0}.iot-alert-detail__header[data-v-9118b278],.iot-alert-detail__title[data-v-9118b278]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.iot-alert-detail__title[data-v-9118b278]{font-size:var(--font-size-h3,18px);font-weight:600;color:var(--color-gray-900,#111827);margin:0;gap:var(--space-2,8px)}.iot-alert-detail__close[data-v-9118b278]{border:none;background:transparent;cursor:pointer;padding:var(--space-1,4px);border-radius:var(--radius-sm,4px);color:var(--color-gray-500,#6b7280);font-size:var(--font-size-h3,18px)}.iot-alert-detail__close[data-v-9118b278]:hover{color:var(--color-gray-900,#111827);background:var(--color-gray-100,#f3f4f6)}.iot-alert-detail__close--small[data-v-9118b278]{font-size:var(--font-size-lg,16px)}.iot-alert-detail__loading[data-v-9118b278]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:var(--space-2,8px);padding:var(--space-12,48px);color:var(--color-gray-500,#6b7280);font-size:var(--font-size-base,14px)}.iot-alert-detail__body[data-v-9118b278]{padding:var(--space-6,24px);overflow-y:auto;-webkit-box-flex:1;-ms-flex:1;flex:1}.iot-alert-detail__grid[data-v-9118b278]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4,16px);margin-bottom:var(--space-6,24px)}.iot-alert-detail__field label[data-v-9118b278]{display:block;font-size:var(--font-size-xs,12px);font-weight:600;color:var(--color-gray-500,#6b7280);text-transform:uppercase;letter-spacing:.03em;margin-bottom:var(--space-1,4px)}.iot-alert-detail__field span[data-v-9118b278]{font-size:var(--font-size-base,14px);color:var(--color-gray-900,#111827);font-weight:500}.iot-alert-detail__mono[data-v-9118b278]{font-family:Courier New,monospace;font-size:var(--font-size-sm,13px)!important}.iot-alert-detail__value-highlight[data-v-9118b278]{color:var(--color-danger-dark,#dc2626)!important;font-weight:600!important}.iot-alert-detail__badge[data-v-9118b278]{display:inline-block;padding:2px var(--space-2,8px);border-radius:var(--radius-full,9999px);font-size:var(--font-size-xs,12px)!important;font-weight:600;text-transform:capitalize}.iot-alert-detail__badge--active[data-v-9118b278]{background:rgba(239,68,68,.1);color:var(--color-danger-dark,#dc2626)}.iot-alert-detail__badge--acknowledged[data-v-9118b278]{background:rgba(245,158,11,.1);color:var(--color-warning-dark,#d97706)}.iot-alert-detail__badge--resolved[data-v-9118b278]{background:rgba(16,185,129,.1);color:var(--color-success-dark,#059669)}.iot-alert-detail__section[data-v-9118b278]{margin-top:var(--space-6,24px);padding-top:var(--space-5,20px);border-top:1px solid var(--border-light,#e5e7eb)}.iot-alert-detail__section-title[data-v-9118b278]{font-size:var(--font-size-sm,13px);font-weight:600;color:var(--color-gray-700,#374151);margin:0 0 var(--space-3,12px)}.iot-alert-detail__chart-wrapper[data-v-9118b278]{background:var(--color-gray-50,#f9fafb);border-radius:var(--radius-md,8px);padding:var(--space-4,16px)}.iot-alert-detail__timeline[data-v-9118b278]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:0}.iot-alert-detail__timeline-item[data-v-9118b278]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:var(--space-3,12px);padding:var(--space-2,8px) 0;border-bottom:1px solid var(--color-gray-100,#f3f4f6)}.iot-alert-detail__timeline-item[data-v-9118b278]:last-child{border-bottom:none}.iot-alert-detail__timeline-dot[data-v-9118b278]{width:var(--space-2,8px);height:var(--space-2,8px);border-radius:var(--radius-full,9999px);background:var(--color-gray-300,#d1d5db);margin-top:var(--space-1,4px);-ms-flex-negative:0;flex-shrink:0}.iot-alert-detail__timeline-dot--created[data-v-9118b278],.iot-alert-detail__timeline-dot--triggered[data-v-9118b278]{background:var(--color-danger,#ef4444)}.iot-alert-detail__timeline-dot--acknowledged[data-v-9118b278]{background:var(--color-warning,#f59e0b)}.iot-alert-detail__timeline-dot--resolved[data-v-9118b278]{background:var(--color-success,#10b981)}.iot-alert-detail__timeline-content[data-v-9118b278]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;gap:var(--space-1,4px);font-size:var(--font-size-sm,13px)}.iot-alert-detail__timeline-action[data-v-9118b278]{color:var(--color-gray-900,#111827);font-weight:500}.iot-alert-detail__timeline-user[data-v-9118b278]{color:var(--color-gray-500,#6b7280)}.iot-alert-detail__timeline-time[data-v-9118b278]{color:var(--color-gray-400,#9ca3af);font-size:var(--font-size-xs,12px)}.iot-alert-detail__footer[data-v-9118b278]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;gap:var(--space-2,8px);padding:var(--space-4,16px) var(--space-6,24px);border-top:1px solid var(--border-light,#e5e7eb);-ms-flex-negative:0;flex-shrink:0}.iot-alert-detail__footer-spacer[data-v-9118b278]{-webkit-box-flex:1;-ms-flex:1;flex:1}.iot-alert-detail__btn[data-v-9118b278]{padding:var(--space-2,8px) var(--space-4,16px);border:none;border-radius:var(--radius-sm,4px);cursor:pointer;font-size:var(--font-size-sm,13px);font-weight:600;font-family:inherit;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-1,4px);-webkit-transition:background var(--duration-normal,.2s);transition:background var(--duration-normal,.2s)}.iot-alert-detail__btn[data-v-9118b278]:disabled{opacity:.6;cursor:not-allowed}.iot-alert-detail__btn--secondary[data-v-9118b278]{background:var(--surface-primary,#fff);color:var(--color-gray-700,#374151);border:1px solid var(--border-light,#e5e7eb)}.iot-alert-detail__btn--secondary[data-v-9118b278]:hover{background:var(--color-gray-50,#f9fafb)}.iot-alert-detail__btn--warning[data-v-9118b278]{background:var(--color-warning,#f59e0b);color:var(--color-white,#fff)}.iot-alert-detail__btn--warning[data-v-9118b278]:hover{background:var(--color-warning-dark,#d97706)}.iot-alert-detail__btn--success[data-v-9118b278]{background:var(--color-success,#10b981);color:var(--color-white,#fff)}.iot-alert-detail__btn--success[data-v-9118b278]:hover{background:var(--color-success-dark,#059669)}.iot-alert-detail__btn--outline[data-v-9118b278]{background:var(--surface-primary,#fff);color:var(--color-primary,#2f80ed);border:1px solid var(--color-primary-100,#c7d2fe)}.iot-alert-detail__btn--outline[data-v-9118b278]:hover{background:var(--color-primary-50,#eef2ff)}.iot-alert-detail__note-panel[data-v-9118b278]{padding:var(--space-4,16px) var(--space-6,24px);border-top:1px solid var(--border-light,#e5e7eb);background:var(--color-gray-50,#f9fafb);-webkit-animation:iot-alert-detail-slideDown-9118b278 var(--duration-normal,.2s) ease;animation:iot-alert-detail-slideDown-9118b278 var(--duration-normal,.2s) ease}@-webkit-keyframes iot-alert-detail-slideDown-9118b278{0%{opacity:0;max-height:0}to{opacity:1;max-height:200px}}@keyframes iot-alert-detail-slideDown-9118b278{0%{opacity:0;max-height:0}to{opacity:1;max-height:200px}}.iot-alert-detail__note-header[data-v-9118b278]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:var(--font-size-sm,13px);font-weight:600;color:var(--color-gray-700,#374151);margin-bottom:var(--space-2,8px)}.iot-alert-detail__note-input[data-v-9118b278]{width:100%;padding:var(--space-2,8px) var(--space-3,12px);border:1px solid var(--color-gray-300,#d1d5db);border-radius:var(--radius-sm,4px);font-size:var(--font-size-sm,13px);font-family:inherit;color:var(--text-primary,#1f2937);background:var(--surface-primary,#fff);resize:vertical;min-height:50px;outline:none;-webkit-box-sizing:border-box;box-sizing:border-box}.iot-alert-detail__note-input[data-v-9118b278]:focus{border-color:var(--color-primary,#2f80ed);-webkit-box-shadow:0 0 0 2px rgba(47,128,237,.15);box-shadow:0 0 0 2px rgba(47,128,237,.15)}.iot-alert-detail__note-actions[data-v-9118b278]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;gap:var(--space-2,8px);margin-top:var(--space-2,8px)}@media (max-width:991px){.iot-alert-detail__modal[data-v-9118b278]{width:95%;max-width:650px}}@media (max-width:767px){.iot-alert-detail__modal[data-v-9118b278]{width:calc(100% - var(--space-8, 32px));max-height:90vh}.iot-alert-detail__grid[data-v-9118b278]{grid-template-columns:1fr}.iot-alert-detail__footer[data-v-9118b278]{-ms-flex-wrap:wrap;flex-wrap:wrap}.iot-alert-detail__footer-spacer[data-v-9118b278]{display:none}}.iot-alerts[data-v-dd14d7d6]{max-width:1400px;margin:0 auto;padding:var(--space-8,32px);font-family:Ubuntu,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.iot-alerts__header[data-v-dd14d7d6]{margin-bottom:var(--space-6,24px)}.iot-alerts__title[data-v-dd14d7d6]{font-size:var(--font-size-display-sm,30px);font-weight:700;color:var(--text-primary,#1f2937);margin:0 0 var(--space-1,4px)}.iot-alerts__subtitle[data-v-dd14d7d6]{font-size:var(--font-size-body,14px);color:var(--text-secondary,#6b7280);margin:0}.iot-alerts__stats-bar[data-v-dd14d7d6]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--space-3,12px);margin-bottom:var(--space-5,20px)}.iot-alerts__stat-pill[data-v-dd14d7d6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-2,8px);padding:var(--space-3,12px) var(--space-4,16px);background:var(--surface-primary,#fff);border:1px solid var(--border-light,#e5e7eb);border-radius:var(--radius-full,9999px);cursor:pointer;-webkit-transition:all .15s;transition:all .15s;font-size:var(--font-size-body-sm,13px);font-family:inherit}.iot-alerts__stat-pill[data-v-dd14d7d6]:hover{border-color:var(--border-medium,#d1d5db);background:var(--color-gray-50,#f9fafb)}.iot-alerts__stat-pill--active[data-v-dd14d7d6]{border-color:var(--color-primary,#2f80ed);background:rgba(47,128,237,.05)}.iot-alerts__stat-dot[data-v-dd14d7d6]{width:var(--space-2,8px);height:var(--space-2,8px);border-radius:var(--radius-full,9999px);-ms-flex-negative:0;flex-shrink:0}.iot-alerts__stat-dot--red[data-v-dd14d7d6]{background:var(--color-danger,#ef4444)}.iot-alerts__stat-dot--orange[data-v-dd14d7d6]{background:var(--color-warning,#f59e0b)}.iot-alerts__stat-dot--green[data-v-dd14d7d6]{background:var(--color-success,#10b981)}.iot-alerts__stat-count[data-v-dd14d7d6]{font-weight:700;color:var(--text-primary,#1f2937);font-size:var(--font-size-body,14px)}.iot-alerts__stat-label[data-v-dd14d7d6]{color:var(--text-secondary,#6b7280);font-weight:500}.iot-alerts__toolbar[data-v-dd14d7d6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:var(--space-4,16px);margin-bottom:var(--space-5,20px);-ms-flex-wrap:wrap;flex-wrap:wrap}.iot-alerts__toolbar-actions[data-v-dd14d7d6],.iot-alerts__toolbar-filters[data-v-dd14d7d6]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--space-2,8px);-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.iot-alerts__input[data-v-dd14d7d6]{padding:var(--space-2,8px) var(--space-3,12px);border:1px solid var(--border-medium,#d1d5db);border-radius:var(--radius-sm,4px);font-size:var(--font-size-body-sm,13px);font-family:inherit;color:var(--text-primary,#1f2937);background:var(--surface-primary,#fff)}.iot-alerts__input[data-v-dd14d7d6]:focus{outline:none;border-color:var(--color-primary,#2f80ed);-webkit-box-shadow:0 0 0 2px rgba(47,128,237,.15);box-shadow:0 0 0 2px rgba(47,128,237,.15)}.iot-alerts__input--date[data-v-dd14d7d6]{width:140px}.iot-alerts__select[data-v-dd14d7d6]{padding:var(--space-2,8px) var(--space-3,12px);border:1px solid var(--border-medium,#d1d5db);border-radius:var(--radius-sm,4px);font-size:var(--font-size-body-sm,13px);font-family:inherit;color:var(--text-primary,#1f2937);background:var(--surface-primary,#fff);cursor:pointer}.iot-alerts__select[data-v-dd14d7d6]:focus{outline:none;border-color:var(--color-primary,#2f80ed);-webkit-box-shadow:0 0 0 2px rgba(47,128,237,.15);box-shadow:0 0 0 2px rgba(47,128,237,.15)}.iot-alerts__btn[data-v-dd14d7d6]{padding:var(--space-2,8px) var(--space-3,12px);border:none;border-radius:var(--radius-sm,4px);cursor:pointer;font-size:var(--font-size-body-sm,13px);font-family:inherit;font-weight:600;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-1,4px);-webkit-transition:background .15s;transition:background .15s;white-space:nowrap}.iot-alerts__btn[data-v-dd14d7d6]:disabled{opacity:.5;cursor:not-allowed}.iot-alerts__btn--secondary[data-v-dd14d7d6]{background:var(--surface-primary,#fff);color:var(--text-primary,#1f2937);border:1px solid var(--border-light,#e5e7eb)}.iot-alerts__btn--secondary[data-v-dd14d7d6]:hover:not(:disabled){background:var(--color-gray-50,#f9fafb)}.iot-alerts__btn--primary[data-v-dd14d7d6]{background:var(--color-primary,#2f80ed);color:var(--surface-primary,#fff)}.iot-alerts__btn--primary[data-v-dd14d7d6]:hover:not(:disabled){background:var(--color-primary-hover,#3da5d6)}.iot-alerts__btn--warning[data-v-dd14d7d6]{background:var(--color-warning,#f59e0b);color:var(--surface-primary,#fff)}.iot-alerts__btn--warning[data-v-dd14d7d6]:hover:not(:disabled){background:var(--color-warning-dark,#d97706)}.iot-alerts__btn--success[data-v-dd14d7d6]{background:var(--color-success,#10b981);color:var(--surface-primary,#fff)}.iot-alerts__btn--success[data-v-dd14d7d6]:hover:not(:disabled){background:var(--color-success-dark,#059669)}.iot-alerts__error-banner[data-v-dd14d7d6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-3,12px);padding:var(--space-4,16px) var(--space-5,20px);border-radius:var(--radius-md,8px);background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.25);color:#92400e;font-size:var(--font-size-body-sm,13px);line-height:1.5;margin-bottom:var(--space-4,16px)}.iot-alerts__error-banner .pi[data-v-dd14d7d6]{font-size:1.25rem;color:var(--color-warning,#f59e0b);-ms-flex-negative:0;flex-shrink:0}.iot-alerts__loading[data-v-dd14d7d6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:var(--space-2,8px);padding:var(--space-12,48px);color:var(--text-secondary,#6b7280);font-size:var(--font-size-body,14px)}.iot-alerts__table-wrapper[data-v-dd14d7d6]{background:var(--surface-primary,#fff);border:1px solid var(--border-light,#e5e7eb);border-radius:var(--radius-md,8px);overflow-x:auto}.iot-alerts__table[data-v-dd14d7d6]{width:100%;border-collapse:collapse;font-size:var(--font-size-body-sm,13px)}.iot-alerts__table th[data-v-dd14d7d6]{padding:var(--space-3,12px) var(--space-3,12px);text-align:left;font-size:var(--font-size-overline,11px);font-weight:600;color:var(--text-secondary,#6b7280);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border-light,#e5e7eb);background:var(--color-gray-50,#f9fafb)}.iot-alerts__table td[data-v-dd14d7d6]{padding:var(--space-3,12px) var(--space-3,12px);border-bottom:1px solid var(--color-gray-100,#f3f4f6);color:var(--text-primary,#1f2937)}.iot-alerts__col-checkbox[data-v-dd14d7d6]{width:var(--space-10,40px);text-align:center}.iot-alerts__col-actions[data-v-dd14d7d6]{width:110px;text-align:center}.iot-alerts__row[data-v-dd14d7d6]{cursor:pointer;-webkit-transition:background .15s;transition:background .15s}.iot-alerts__row[data-v-dd14d7d6]:hover{background:var(--color-gray-50,#f9fafb)}.iot-alerts__row--selected[data-v-dd14d7d6]{background:#eef2ff}.iot-alerts__empty[data-v-dd14d7d6]{text-align:center;padding:var(--space-8,32px)!important;color:var(--color-gray-400,#9ca3af);font-style:italic}.iot-alerts__badge[data-v-dd14d7d6]{display:inline-block;padding:2px var(--space-3,12px);border-radius:var(--radius-full,9999px);font-size:var(--font-size-overline,11px);font-weight:600;text-transform:capitalize}.iot-alerts__badge--active[data-v-dd14d7d6]{background:rgba(239,68,68,.1);color:var(--color-danger-dark,#dc2626)}.iot-alerts__badge--acknowledged[data-v-dd14d7d6]{background:rgba(245,158,11,.1);color:var(--color-warning-dark,#d97706)}.iot-alerts__badge--resolved[data-v-dd14d7d6]{background:rgba(16,185,129,.1);color:var(--color-success-dark,#059669)}.iot-alerts__type-cell[data-v-dd14d7d6]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-2,8px)}.iot-alerts__type-cell .pi[data-v-dd14d7d6]{font-size:1rem}.iot-alerts__device-cell[data-v-dd14d7d6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.iot-alerts__device-name[data-v-dd14d7d6]{font-weight:500;color:var(--text-primary,#1f2937)}.iot-alerts__device-mac[data-v-dd14d7d6]{font-size:var(--font-size-overline,11px);color:var(--color-gray-400,#9ca3af);font-family:JetBrains Mono,monospace}.iot-alerts__value-cell[data-v-dd14d7d6]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;gap:var(--space-1,4px)}.iot-alerts__actual-value[data-v-dd14d7d6]{font-weight:600;color:var(--text-primary,#1f2937)}.iot-alerts__threshold-value[data-v-dd14d7d6]{font-size:var(--font-size-overline,11px);color:var(--color-gray-400,#9ca3af)}.iot-alerts__time-cell[data-v-dd14d7d6]{color:var(--text-secondary,#6b7280);white-space:nowrap}.iot-alerts__action-btn[data-v-dd14d7d6]{border:none;background:transparent;cursor:pointer;padding:var(--space-1,4px) var(--space-2,8px);border-radius:var(--radius-sm,4px);color:var(--text-secondary,#6b7280);font-size:1rem}.iot-alerts__action-btn[data-v-dd14d7d6]:hover{background:var(--color-gray-100,#f3f4f6);color:var(--text-primary,#1f2937)}.iot-alerts__pagination[data-v-dd14d7d6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-top:var(--space-4,16px);padding:var(--space-3,12px) 0}.iot-alerts__pagination-info[data-v-dd14d7d6]{font-size:var(--font-size-body-sm,13px);color:var(--text-secondary,#6b7280)}.iot-alerts__pagination-buttons[data-v-dd14d7d6]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--space-1,4px)}.iot-alerts__page-btn[data-v-dd14d7d6]{min-width:var(--space-8,32px);height:var(--space-8,32px);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border:1px solid var(--border-light,#e5e7eb);background:var(--surface-primary,#fff);border-radius:var(--radius-sm,4px);cursor:pointer;font-size:var(--font-size-body-sm,13px);font-family:inherit;color:var(--text-primary,#1f2937);padding:0 var(--space-2,8px);-webkit-transition:all .15s;transition:all .15s}.iot-alerts__page-btn[data-v-dd14d7d6]:hover:not(:disabled):not(.iot-alerts__page-btn--active){background:var(--color-gray-50,#f9fafb);border-color:var(--border-medium,#d1d5db)}.iot-alerts__page-btn--active[data-v-dd14d7d6]{background:var(--color-primary,#2f80ed);color:var(--surface-primary,#fff);border-color:var(--color-primary,#2f80ed)}.iot-alerts__page-btn[data-v-dd14d7d6]:disabled{opacity:.4;cursor:not-allowed}@media (max-width:991px){.iot-alerts__toolbar[data-v-dd14d7d6]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.iot-alerts__toolbar-actions[data-v-dd14d7d6],.iot-alerts__toolbar-filters[data-v-dd14d7d6]{width:100%}.iot-alerts__stats-bar[data-v-dd14d7d6]{-ms-flex-wrap:wrap;flex-wrap:wrap}}@media (max-width:767px){.iot-alerts[data-v-dd14d7d6]{padding:var(--space-4,16px)}.iot-alerts__pagination[data-v-dd14d7d6],.iot-alerts__stats-bar[data-v-dd14d7d6]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.iot-alerts__pagination[data-v-dd14d7d6]{gap:var(--space-3,12px);-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}}.iot-readings[data-v-0bbfc5e4]{max-width:1400px;margin:0 auto;padding:var(--space-8,32px);font-family:Ubuntu,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.iot-readings__header[data-v-0bbfc5e4]{margin-bottom:var(--space-6,24px)}.iot-readings__title[data-v-0bbfc5e4]{font-size:var(--font-size-display-sm,30px);font-weight:700;color:var(--text-primary,#1f2937);margin:0 0 var(--space-1,4px)}.iot-readings__subtitle[data-v-0bbfc5e4]{font-size:var(--font-size-body,14px);color:var(--text-secondary,#6b7280);margin:0}.iot-readings__toolbar[data-v-0bbfc5e4]{background:var(--surface-primary,#fff);border:1px solid var(--border-light,#e5e7eb);border-radius:var(--radius-md,8px);padding:var(--space-4,16px);margin-bottom:var(--space-4,16px)}.iot-readings__toolbar-row[data-v-0bbfc5e4]{margin-bottom:var(--space-3,12px)}.iot-readings__toolbar-actions[data-v-0bbfc5e4],.iot-readings__toolbar-row[data-v-0bbfc5e4]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:var(--space-2,8px);-webkit-box-align:center;-ms-flex-align:center;align-items:center}.iot-readings__search-input[data-v-0bbfc5e4]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:160px;max-width:240px;padding:var(--space-2,8px) var(--space-3,12px);border:1px solid var(--border-medium,#d1d5db);border-radius:var(--radius-sm,4px);font-size:var(--font-size-body-sm,13px);font-family:inherit;color:var(--text-primary,#1f2937)}.iot-readings__search-input[data-v-0bbfc5e4]:focus{outline:none;border-color:var(--color-primary,#2f80ed);-webkit-box-shadow:0 0 0 2px rgba(47,128,237,.15);box-shadow:0 0 0 2px rgba(47,128,237,.15)}.iot-readings__select[data-v-0bbfc5e4]{padding:var(--space-2,8px) var(--space-3,12px);border:1px solid var(--border-medium,#d1d5db);border-radius:var(--radius-sm,4px);font-size:var(--font-size-body-sm,13px);font-family:inherit;color:var(--text-primary,#1f2937);background:var(--surface-primary,#fff);min-width:140px}.iot-readings__select[data-v-0bbfc5e4]:focus{outline:none;border-color:var(--color-primary,#2f80ed);-webkit-box-shadow:0 0 0 2px rgba(47,128,237,.15);box-shadow:0 0 0 2px rgba(47,128,237,.15)}.iot-readings__date-buttons[data-v-0bbfc5e4]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:0;border:1px solid var(--border-medium,#d1d5db);border-radius:var(--radius-sm,4px);overflow:hidden}.iot-readings__date-btn[data-v-0bbfc5e4]{padding:var(--space-2,8px) var(--space-3,12px);border:none;background:var(--color-gray-50,#f9fafb);font-size:var(--font-size-caption,12px);font-family:inherit;font-weight:500;color:var(--text-secondary,#6b7280);cursor:pointer;-webkit-transition:all .15s;transition:all .15s;border-right:1px solid var(--border-light,#e5e7eb)}.iot-readings__date-btn[data-v-0bbfc5e4]:last-child{border-right:none}.iot-readings__date-btn--active[data-v-0bbfc5e4]{background:var(--color-primary,#2f80ed);color:var(--surface-primary,#fff)}.iot-readings__date-btn[data-v-0bbfc5e4]:not(.iot-readings__date-btn--active):hover{background:var(--border-light,#e5e7eb)}.iot-readings__date-input[data-v-0bbfc5e4]{padding:var(--space-2,8px) var(--space-2,8px);border:1px solid var(--border-medium,#d1d5db);border-radius:var(--radius-sm,4px);font-size:var(--font-size-body-sm,13px);font-family:inherit;color:var(--text-primary,#1f2937);width:130px}.iot-readings__date-input[data-v-0bbfc5e4]:focus{outline:none;border-color:var(--color-primary,#2f80ed);-webkit-box-shadow:0 0 0 2px rgba(47,128,237,.15);box-shadow:0 0 0 2px rgba(47,128,237,.15)}.iot-readings__btn[data-v-0bbfc5e4]{padding:var(--space-2,8px) var(--space-3,12px);border:none;border-radius:var(--radius-sm,4px);font-size:var(--font-size-body-sm,13px);font-family:inherit;font-weight:500;cursor:pointer;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-1,4px);-webkit-transition:background .15s;transition:background .15s}.iot-readings__btn[data-v-0bbfc5e4]:disabled{opacity:.5;cursor:not-allowed}.iot-readings__btn--primary[data-v-0bbfc5e4]{background:var(--color-primary,#2f80ed);color:var(--surface-primary,#fff)}.iot-readings__btn--primary[data-v-0bbfc5e4]:hover:not(:disabled){background:var(--color-primary-hover,#3da5d6)}.iot-readings__btn--secondary[data-v-0bbfc5e4]{background:var(--surface-primary,#fff);color:var(--text-primary,#1f2937);border:1px solid var(--border-light,#e5e7eb)}.iot-readings__btn--secondary[data-v-0bbfc5e4]:hover:not(:disabled){background:var(--color-gray-50,#f9fafb)}.iot-readings__error-banner[data-v-0bbfc5e4]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-3,12px);padding:var(--space-4,16px) var(--space-5,20px);border-radius:var(--radius-md,8px);background:var(--color-danger-light,#fef2f2);border:1px solid #fecaca;color:#991b1b;font-size:var(--font-size-body-sm,13px);margin-bottom:var(--space-4,16px)}.iot-readings__error-banner .pi[data-v-0bbfc5e4]{font-size:1.25rem;-ms-flex-negative:0;flex-shrink:0}.iot-readings__summary-strip[data-v-0bbfc5e4]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--space-3,12px);margin-bottom:var(--space-4,16px);-ms-flex-wrap:wrap;flex-wrap:wrap}.iot-readings__stat[data-v-0bbfc5e4]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:130px;gap:var(--space-3,12px);background:var(--surface-primary,#fff);border:1px solid var(--border-light,#e5e7eb);border-radius:var(--radius-md,8px);padding:var(--space-3,12px) var(--space-4,16px)}.iot-readings__stat-icon[data-v-0bbfc5e4],.iot-readings__stat[data-v-0bbfc5e4]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.iot-readings__stat-icon[data-v-0bbfc5e4]{width:var(--space-8,32px);height:var(--space-8,32px);border-radius:var(--radius-md,8px);-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:var(--font-size-body-lg,16px);background:var(--color-gray-100,#f3f4f6);color:var(--text-secondary,#6b7280);-ms-flex-negative:0;flex-shrink:0}.iot-readings__stat-icon--good[data-v-0bbfc5e4]{background:rgba(16,185,129,.1);color:var(--color-success-dark,#059669)}.iot-readings__stat-icon--danger[data-v-0bbfc5e4]{background:rgba(239,68,68,.1);color:var(--color-danger-dark,#dc2626)}.iot-readings__stat-icon--temp[data-v-0bbfc5e4]{background:rgba(59,130,246,.1);color:#2563eb}.iot-readings__stat-icon--warn[data-v-0bbfc5e4]{background:rgba(245,158,11,.1);color:var(--color-warning-dark,#d97706)}.iot-readings__stat-icon--cool[data-v-0bbfc5e4]{background:rgba(99,102,241,.1);color:#6366f1}.iot-readings__stat-body[data-v-0bbfc5e4]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.iot-readings__stat-value[data-v-0bbfc5e4]{font-size:var(--font-size-body-lg,16px);font-weight:700;color:var(--text-primary,#1f2937);line-height:1.2}.iot-readings__stat-label[data-v-0bbfc5e4]{font-size:var(--font-size-overline,11px);font-weight:600;color:var(--text-secondary,#6b7280);text-transform:uppercase;letter-spacing:.03em}.iot-readings__view-toggle[data-v-0bbfc5e4]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:0;margin-bottom:var(--space-4,16px);border:1px solid var(--border-medium,#d1d5db);border-radius:var(--radius-sm,4px);overflow:hidden;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.iot-readings__toggle-btn[data-v-0bbfc5e4]{padding:var(--space-2,8px) var(--space-4,16px);border:none;background:var(--color-gray-50,#f9fafb);font-size:var(--font-size-body-sm,13px);font-family:inherit;font-weight:500;color:var(--text-secondary,#6b7280);cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-2,8px);-webkit-transition:all .15s;transition:all .15s}.iot-readings__toggle-btn--active[data-v-0bbfc5e4]{background:var(--color-primary,#2f80ed);color:var(--surface-primary,#fff)}.iot-readings__toggle-btn[data-v-0bbfc5e4]:not(.iot-readings__toggle-btn--active):hover{background:var(--border-light,#e5e7eb)}.iot-readings__loading[data-v-0bbfc5e4]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:var(--space-2,8px);padding:var(--space-12,48px);color:var(--text-secondary,#6b7280);font-size:var(--font-size-body,14px)}.iot-readings__loading .pi[data-v-0bbfc5e4]{font-size:1.25rem}.iot-readings__table-wrapper[data-v-0bbfc5e4]{overflow-x:auto}.iot-readings__table[data-v-0bbfc5e4]{width:100%;border-collapse:collapse;font-size:var(--font-size-body-sm,13px);background:var(--surface-primary,#fff);border:1px solid var(--border-light,#e5e7eb);border-radius:var(--radius-md,8px);overflow:hidden}.iot-readings__table th[data-v-0bbfc5e4]{padding:var(--space-3,12px) var(--space-3,12px);text-align:left;font-size:var(--font-size-overline,11px);font-weight:600;color:var(--text-secondary,#6b7280);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border-light,#e5e7eb);background:var(--color-gray-50,#f9fafb)}.iot-readings__table td[data-v-0bbfc5e4]{padding:var(--space-3,12px) var(--space-3,12px);border-bottom:1px solid var(--color-gray-100,#f3f4f6);color:var(--text-primary,#1f2937)}.iot-readings__row[data-v-0bbfc5e4]{-webkit-transition:background .15s;transition:background .15s}.iot-readings__row[data-v-0bbfc5e4]:hover{background:var(--color-gray-50,#f9fafb)}.iot-readings__empty[data-v-0bbfc5e4]{text-align:center;color:var(--color-gray-400,#9ca3af);padding:var(--space-8,32px) var(--space-4,16px)!important;font-style:italic}.iot-readings__cell-time[data-v-0bbfc5e4]{white-space:nowrap;font-size:var(--font-size-caption,12px);color:var(--text-secondary,#6b7280)}.iot-readings__stale-badge[data-v-0bbfc5e4]{display:inline-block;margin-left:var(--space-1,4px);padding:1px var(--space-2,8px);background:rgba(245,158,11,.15);color:var(--color-warning-dark,#d97706);border-radius:3px;font-size:var(--font-size-overline,11px);font-weight:700;text-transform:uppercase;vertical-align:middle}.iot-readings__cell-asset[data-v-0bbfc5e4]{font-weight:600;color:var(--text-primary,#1f2937)}.iot-readings__cell-device[data-v-0bbfc5e4]{font-size:var(--font-size-body-sm,13px)}.iot-readings__manual-badge[data-v-0bbfc5e4]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-1,4px);padding:2px var(--space-2,8px);background:rgba(99,102,241,.1);color:#4f46e5;border-radius:var(--radius-sm,4px);font-size:var(--font-size-overline,11px);font-weight:600}.iot-readings__cell-sensor[data-v-0bbfc5e4]{font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-size:var(--font-size-body-sm,13px);white-space:nowrap}.iot-readings__cell-other[data-v-0bbfc5e4]{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:inherit;font-size:var(--font-size-caption,12px);color:var(--text-secondary,#6b7280)}.iot-readings__cell-sensor--good[data-v-0bbfc5e4]{color:var(--color-success-dark,#059669)}.iot-readings__cell-sensor--warn[data-v-0bbfc5e4]{color:var(--color-warning-dark,#d97706)}.iot-readings__cell-sensor--danger[data-v-0bbfc5e4]{color:var(--color-danger-dark,#dc2626);font-weight:600}.iot-readings__status-badge[data-v-0bbfc5e4]{display:inline-block;padding:2px var(--space-2,8px);border-radius:var(--radius-sm,4px);font-size:var(--font-size-overline,11px);font-weight:600;text-transform:capitalize}.iot-readings__status-badge--good[data-v-0bbfc5e4]{background:rgba(16,185,129,.1);color:var(--color-success-dark,#059669)}.iot-readings__status-badge--danger[data-v-0bbfc5e4]{background:rgba(239,68,68,.1);color:var(--color-danger-dark,#dc2626)}.iot-readings__status-badge--warn[data-v-0bbfc5e4]{background:rgba(245,158,11,.1);color:var(--color-warning-dark,#d97706)}.iot-readings__status-badge--pending[data-v-0bbfc5e4]{background:rgba(107,114,128,.1);color:var(--text-secondary,#6b7280)}.iot-readings__pagination[data-v-0bbfc5e4]{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:var(--space-3,12px);padding:var(--space-4,16px) 0}.iot-readings__page-btn[data-v-0bbfc5e4],.iot-readings__pagination[data-v-0bbfc5e4]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.iot-readings__page-btn[data-v-0bbfc5e4]{background:var(--surface-primary,#fff);border:1px solid var(--border-light,#e5e7eb);border-radius:var(--radius-sm,4px);padding:var(--space-2,8px) var(--space-3,12px);cursor:pointer;color:var(--text-primary,#1f2937);font-size:var(--font-size-body,14px);font-family:inherit}.iot-readings__page-btn[data-v-0bbfc5e4]:hover:not(:disabled){background:var(--color-gray-50,#f9fafb)}.iot-readings__page-btn[data-v-0bbfc5e4]:disabled{opacity:.4;cursor:not-allowed}.iot-readings__page-info[data-v-0bbfc5e4]{font-size:var(--font-size-body-sm,13px);color:var(--text-primary,#1f2937)}.iot-readings__page-total[data-v-0bbfc5e4]{color:var(--color-gray-400,#9ca3af);font-size:var(--font-size-caption,12px)}.iot-readings__empty-section[data-v-0bbfc5e4]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:var(--space-2,8px);padding:var(--space-12,48px);color:var(--color-gray-400,#9ca3af);font-size:var(--font-size-body,14px);font-style:italic}.iot-readings__schedule-card[data-v-0bbfc5e4]{background:var(--surface-primary,#fff);border:1px solid var(--border-light,#e5e7eb);border-radius:var(--radius-md,8px);padding:var(--space-5,20px);margin-bottom:var(--space-4,16px)}.iot-readings__schedule-header[data-v-0bbfc5e4]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;margin-bottom:var(--space-4,16px);-ms-flex-wrap:wrap;flex-wrap:wrap;gap:var(--space-2,8px)}.iot-readings__schedule-title h3[data-v-0bbfc5e4]{margin:0 0 2px;font-size:var(--font-size-body-lg,16px);font-weight:600;color:var(--text-primary,#1f2937)}.iot-readings__schedule-meta[data-v-0bbfc5e4]{font-size:var(--font-size-caption,12px);color:var(--text-secondary,#6b7280)}.iot-readings__schedule-stats[data-v-0bbfc5e4]{gap:var(--space-3,12px)}.iot-readings__sched-stat[data-v-0bbfc5e4],.iot-readings__schedule-stats[data-v-0bbfc5e4]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.iot-readings__sched-stat[data-v-0bbfc5e4]{font-size:var(--font-size-caption,12px);font-weight:500;color:var(--text-secondary,#6b7280);gap:3px}.iot-readings__sched-stat--good[data-v-0bbfc5e4]{color:var(--color-success-dark,#059669)}.iot-readings__sched-stat--danger[data-v-0bbfc5e4]{color:var(--color-danger-dark,#dc2626)}.iot-readings__compliance-badge[data-v-0bbfc5e4]{padding:2px var(--space-2,8px);border-radius:var(--radius-sm,4px);font-size:var(--font-size-overline,11px);font-weight:700}.iot-readings__compliance-badge--good[data-v-0bbfc5e4]{background:rgba(16,185,129,.1);color:var(--color-success-dark,#059669)}.iot-readings__compliance-badge--warn[data-v-0bbfc5e4]{background:rgba(245,158,11,.1);color:var(--color-warning-dark,#d97706)}.iot-readings__compliance-badge--danger[data-v-0bbfc5e4]{background:rgba(239,68,68,.1);color:var(--color-danger-dark,#dc2626)}.iot-readings__schedule-grid[data-v-0bbfc5e4]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:var(--space-2,8px)}.iot-readings__slot[data-v-0bbfc5e4]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:2px;width:60px;padding:var(--space-2,8px) var(--space-1,4px);border-radius:var(--radius-sm,4px);border:1px solid var(--border-light,#e5e7eb);background:var(--color-gray-50,#f9fafb);cursor:default;-webkit-transition:all .15s;transition:all .15s}.iot-readings__slot[data-v-0bbfc5e4]:hover{-webkit-box-shadow:var(--shadow-sm,0 1px 2px rgba(0,0,0,.05));box-shadow:var(--shadow-sm,0 1px 2px rgba(0,0,0,.05))}.iot-readings__slot--captured[data-v-0bbfc5e4]{border-color:rgba(16,185,129,.3);background:rgba(16,185,129,.05)}.iot-readings__slot--missed[data-v-0bbfc5e4]{border-color:rgba(239,68,68,.3);background:rgba(239,68,68,.05)}.iot-readings__slot--pending[data-v-0bbfc5e4]{border-color:var(--border-light,#e5e7eb);background:var(--color-gray-50,#f9fafb)}.iot-readings__slot-time[data-v-0bbfc5e4]{font-size:10px;font-weight:600;color:var(--text-secondary,#6b7280);text-transform:uppercase}.iot-readings__slot-value[data-v-0bbfc5e4]{font-size:var(--font-size-caption,12px);font-weight:700;color:var(--text-primary,#1f2937);line-height:1}.iot-readings__slot-icon[data-v-0bbfc5e4]{font-size:var(--font-size-body-sm,13px);line-height:1}.iot-readings__slot--captured .iot-readings__slot-icon[data-v-0bbfc5e4]{color:var(--color-success-dark,#059669)}.iot-readings__slot--missed .iot-readings__slot-icon[data-v-0bbfc5e4]{color:var(--color-danger-dark,#dc2626)}.iot-readings__slot--pending .iot-readings__slot-icon[data-v-0bbfc5e4]{color:var(--color-gray-400,#9ca3af)}.iot-readings__modal-overlay[data-v-0bbfc5e4]{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--overlay-bg,rgba(0,0,0,.4));display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;z-index:10000}.iot-readings__modal[data-v-0bbfc5e4]{background:var(--surface-primary,#fff);border-radius:var(--radius-lg,12px);width:90%;max-width:520px;max-height:85vh;overflow-y:auto;-webkit-box-shadow:var(--shadow-xl,0 10px 15px rgba(0,0,0,.1),0 4px 6px rgba(0,0,0,.05));box-shadow:var(--shadow-xl,0 10px 15px rgba(0,0,0,.1),0 4px 6px rgba(0,0,0,.05))}.iot-readings__modal-header[data-v-0bbfc5e4]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:var(--space-5,20px) var(--space-6,24px);border-bottom:1px solid var(--border-light,#e5e7eb)}.iot-readings__modal-header h3[data-v-0bbfc5e4]{margin:0;font-size:var(--font-size-heading-3,18px);font-weight:600;color:var(--text-primary,#1f2937)}.iot-readings__close-btn[data-v-0bbfc5e4]{background:none;border:none;cursor:pointer;padding:var(--space-1,4px);border-radius:var(--radius-sm,4px);color:var(--text-secondary,#6b7280);font-size:1.125rem}.iot-readings__close-btn[data-v-0bbfc5e4]:hover{color:var(--text-primary,#1f2937);background:var(--color-gray-100,#f3f4f6)}.iot-readings__modal-body[data-v-0bbfc5e4]{padding:var(--space-6,24px)}.iot-readings__modal-footer[data-v-0bbfc5e4]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;gap:var(--space-3,12px);padding:var(--space-4,16px) var(--space-6,24px);border-top:1px solid var(--border-light,#e5e7eb)}.iot-readings__form-group[data-v-0bbfc5e4]{margin-bottom:var(--space-4,16px)}.iot-readings__form-group label[data-v-0bbfc5e4]{display:block;font-size:var(--font-size-overline,11px);font-weight:600;color:var(--text-secondary,#6b7280);text-transform:uppercase;letter-spacing:.03em;margin-bottom:var(--space-2,8px)}.iot-readings__form-row[data-v-0bbfc5e4]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3,12px)}.iot-readings__input[data-v-0bbfc5e4]{width:100%;padding:var(--space-2,8px) var(--space-3,12px);border:1px solid var(--border-medium,#d1d5db);border-radius:var(--radius-sm,4px);font-size:var(--font-size-body-sm,13px);font-family:inherit;color:var(--text-primary,#1f2937);background:var(--surface-primary,#fff);-webkit-box-sizing:border-box;box-sizing:border-box}.iot-readings__input[data-v-0bbfc5e4]:focus{outline:none;border-color:var(--color-primary,#2f80ed);-webkit-box-shadow:0 0 0 2px rgba(47,128,237,.15);box-shadow:0 0 0 2px rgba(47,128,237,.15)}.iot-readings__textarea[data-v-0bbfc5e4]{resize:vertical;min-height:60px}.iot-readings__form-error[data-v-0bbfc5e4]{margin-top:var(--space-2,8px);padding:var(--space-2,8px) var(--space-3,12px);background:var(--color-danger-light,#fef2f2);border:1px solid #fecaca;border-radius:var(--radius-sm,4px);color:#991b1b;font-size:var(--font-size-body-sm,13px)}.iot-readings__form-hint[data-v-0bbfc5e4]{font-size:var(--font-size-caption,12px);color:var(--color-gray-400,#9ca3af);font-style:italic}.iot-readings__multiselect-list[data-v-0bbfc5e4]{max-height:180px;overflow-y:auto;border:1px solid var(--border-medium,#d1d5db);border-radius:var(--radius-sm,4px);padding:var(--space-2,8px);background:var(--surface-primary,#fff)}.iot-readings__checkbox-item[data-v-0bbfc5e4]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-2,8px);padding:var(--space-2,8px) var(--space-1,4px);font-size:var(--font-size-body-sm,13px);color:var(--text-primary,#1f2937);cursor:pointer;border-radius:var(--radius-sm,4px);text-transform:none;font-weight:400}.iot-readings__checkbox-item[data-v-0bbfc5e4]:hover{background:var(--color-gray-50,#f9fafb)}.iot-readings__checkbox-item input[type=checkbox][data-v-0bbfc5e4]{accent-color:var(--color-primary,#2f80ed)}@media (max-width:991px){.iot-readings__summary-strip[data-v-0bbfc5e4]{-ms-flex-wrap:wrap;flex-wrap:wrap}.iot-readings__stat[data-v-0bbfc5e4]{min-width:calc(33% - var(--space-3, 12px))}}@media (max-width:767px){.iot-readings[data-v-0bbfc5e4]{padding:var(--space-4,16px)}.iot-readings__toolbar-row[data-v-0bbfc5e4]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.iot-readings__search-input[data-v-0bbfc5e4]{max-width:100%}.iot-readings__summary-strip[data-v-0bbfc5e4]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.iot-readings__stat[data-v-0bbfc5e4]{min-width:auto}.iot-readings__schedule-header[data-v-0bbfc5e4]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.iot-readings__form-row[data-v-0bbfc5e4]{grid-template-columns:1fr}}.iot-index[data-v-04477891]{max-width:1400px;margin:0 auto;padding:var(--space-8,32px)}.iot-index__header[data-v-04477891]{margin-bottom:var(--space-6,24px)}.iot-index__title[data-v-04477891]{font-size:var(--font-size-display-sm,30px);font-weight:700;color:var(--color-gray-900,#111827);margin:0}.iot-index__subtitle[data-v-04477891]{font-size:var(--font-size-base,14px);color:var(--text-secondary,#6b7280);margin:var(--space-1,4px) 0 0 0}.iot-index__tab-nav[data-v-04477891]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:0;border-bottom:1px solid var(--border-light,#e5e7eb);margin-bottom:var(--space-6,24px);overflow-x:auto}.iot-index__tab[data-v-04477891]{padding:var(--space-2,8px) var(--space-4,16px);font-size:var(--font-size-sm,13px);font-weight:500;font-family:inherit;color:var(--text-secondary,#6b7280);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;-webkit-transition:all var(--duration-normal,.2s);transition:all var(--duration-normal,.2s);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-1,4px)}.iot-index__tab-icon[data-v-04477891]{margin-right:var(--space-1,4px)}.iot-index__tab[data-v-04477891]:hover{color:var(--color-gray-700,#374151)}.iot-index__tab--active[data-v-04477891]{color:var(--color-primary,#2f80ed);border-bottom-color:var(--color-primary,#2f80ed);font-weight:600}.iot-index__tab-badge[data-v-04477891]{background:var(--color-danger,#ef4444);color:var(--color-white,#fff);font-size:var(--font-size-xs,12px);font-weight:700;padding:2px var(--space-1,4px);border-radius:var(--radius-full,9999px);min-width:18px;text-align:center;line-height:1.2}.iot-index__tab-content[data-v-04477891]{min-height:400px}.iot-index__overlay[data-v-04477891]{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--overlay-bg,rgba(0,0,0,.5));display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;z-index:1050}.iot-index__modal[data-v-04477891]{background:var(--surface-primary,#fff);border-radius:var(--radius-lg,12px);width:100%;max-width:700px;max-height:90vh;overflow-y:auto;-webkit-box-shadow:var(--shadow-xl,0 10px 15px rgba(0,0,0,.1),0 4px 6px rgba(0,0,0,.05));box-shadow:var(--shadow-xl,0 10px 15px rgba(0,0,0,.1),0 4px 6px rgba(0,0,0,.05))}.iot-index__modal-header[data-v-04477891]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:var(--space-5,20px) var(--space-6,24px);border-bottom:1px solid var(--border-light,#e5e7eb)}.iot-index__modal-title[data-v-04477891]{font-size:var(--font-size-lg,16px);font-weight:600;color:var(--color-gray-900,#111827);margin:0}.iot-index__modal-close[data-v-04477891]{background:none;border:none;font-size:var(--font-size-h1,24px);color:var(--text-secondary,#6b7280);cursor:pointer;line-height:1;padding:var(--space-1,4px);border-radius:var(--radius-sm,4px)}.iot-index__modal-close[data-v-04477891]:hover{color:var(--color-gray-900,#111827);background:var(--color-gray-100,#f3f4f6)}.iot-index__modal-body[data-v-04477891]{padding:var(--space-6,24px)}@media (max-width:991px){.iot-index[data-v-04477891]{padding:var(--space-5,20px)}.iot-index__tab-nav[data-v-04477891]{-webkit-overflow-scrolling:touch}}@media (max-width:767px){.iot-index[data-v-04477891]{padding:var(--space-3,12px)}.iot-index__title[data-v-04477891]{font-size:var(--font-size-h1,24px)}.iot-index__modal[data-v-04477891]{max-width:calc(100% - var(--space-8, 32px));margin:var(--space-4,16px)}.iot-index__tab[data-v-04477891]{padding:var(--space-2,8px) var(--space-3,12px);font-size:var(--font-size-xs,12px)}}