.data-table-wrapper[data-v-a59a1075]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-xs)}.table-toolbar[data-v-a59a1075]{padding:16px 20px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--bg-secondary)}.table-scroll[data-v-a59a1075]{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table[data-v-a59a1075]{width:100%;border-collapse:collapse;min-width:580px}.th[data-v-a59a1075]{padding:12px 18px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);border-bottom:1px solid var(--border-color);background:var(--bg-tertiary);user-select:none;white-space:nowrap}.th--sortable[data-v-a59a1075]{cursor:pointer}.th--sortable:hover .th-label[data-v-a59a1075]{color:var(--text-primary)}.th--active[data-v-a59a1075],.th--active .th-label[data-v-a59a1075]{color:var(--color-primary)}.th-inner[data-v-a59a1075]{display:inline-flex;align-items:center;gap:4px}.th-label[data-v-a59a1075]{transition:color .15s}.sort-icons[data-v-a59a1075]{display:inline-flex;flex-direction:column;gap:1px;opacity:.4;transition:opacity .15s}.th--sortable:hover .sort-icons[data-v-a59a1075]{opacity:.7}.th--active .sort-icons[data-v-a59a1075]{opacity:1}.sort-up[data-v-a59a1075],.sort-down[data-v-a59a1075]{color:var(--text-muted);transition:color .2s ease,transform .2s cubic-bezier(.34,1.56,.64,1)}.sort-up.active[data-v-a59a1075],.sort-down.active[data-v-a59a1075]{color:var(--color-primary);transform:scale(1.3)}.td[data-v-a59a1075]{padding:14px 18px;font-size:13.5px;color:var(--text-primary);border-bottom:1px solid var(--border-light);transition:background .2s ease,box-shadow .2s ease;line-height:1.4}.data-row:nth-child(2n) .td[data-v-a59a1075]{background:#00000004}[data-theme=dark] .data-row:nth-child(2n) .td[data-v-a59a1075]{background:#ffffff04}.data-row:last-child .td[data-v-a59a1075]{border-bottom:none}.th--sticky[data-v-a59a1075]{z-index:3!important;background:var(--bg-tertiary, #f9fafb)!important;box-shadow:3px 0 6px -2px #0000001f}.td--sticky[data-v-a59a1075]{z-index:1!important;background:var(--bg-secondary, #ffffff)!important;box-shadow:3px 0 6px -2px #0000001f}.data-row:hover .td--sticky[data-v-a59a1075]{background:var(--bg-hover, #f3f4f6)!important}[data-theme=dark] .th--sticky[data-v-a59a1075]{background:var(--bg-tertiary, #1f2937)!important}[data-theme=dark] .td--sticky[data-v-a59a1075]{background:var(--bg-secondary, #111827)!important}[data-theme=dark] .data-row:hover .td--sticky[data-v-a59a1075]{background:var(--bg-hover, #1f2937)!important}.data-row:hover .td[data-v-a59a1075]{background:var(--bg-hover)}.data-row:hover .td[data-v-a59a1075]:first-child{box-shadow:inset 3px 0 0 var(--color-primary)}.data-row.clickable[data-v-a59a1075]{cursor:pointer}.data-row.clickable:active .td[data-v-a59a1075]{background:var(--bg-tertiary)}.state-row[data-v-a59a1075]{padding:60px 20px;text-align:center;color:var(--text-tertiary);font-size:14px}.state-row[data-v-a59a1075]>*{display:inline-flex;align-items:center;gap:10px;justify-content:center}.skeleton-row .td[data-v-a59a1075]{padding:18px}.skeleton-cell[data-v-a59a1075]{height:14px;border-radius:6px;background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-hover) 37%,var(--bg-tertiary) 63%);background-size:400% 100%;animation:tableShimmer-a59a1075 1.4s ease-in-out infinite}.skeleton-row:nth-child(2) .skeleton-cell[data-v-a59a1075]{animation-delay:.1s}.skeleton-row:nth-child(3) .skeleton-cell[data-v-a59a1075]{animation-delay:.2s}.skeleton-row:nth-child(4) .skeleton-cell[data-v-a59a1075]{animation-delay:.3s}.skeleton-row:nth-child(5) .skeleton-cell[data-v-a59a1075]{animation-delay:.4s}@keyframes tableShimmer-a59a1075{0%{background-position:200% 0}to{background-position:-200% 0}}.loading-spinner[data-v-a59a1075]{display:inline-block;width:18px;height:18px;border:2px solid var(--border-color);border-top-color:var(--color-primary);border-radius:50%;animation:spin-a59a1075 .7s linear infinite}@keyframes spin-a59a1075{to{transform:rotate(360deg)}}.empty-state-inner[data-v-a59a1075]{display:flex;flex-direction:column;align-items:center;gap:8px}.empty-icon[data-v-a59a1075]{font-size:28px;opacity:.4}.empty-text[data-v-a59a1075]{font-size:13px;color:var(--text-muted)}.table-pagination[data-v-a59a1075]{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-top:1px solid var(--border-color);gap:16px;flex-wrap:wrap;background:var(--bg-tertiary)}.page-info[data-v-a59a1075]{font-size:12.5px;color:var(--text-secondary)}.page-info strong[data-v-a59a1075]{color:var(--text-primary)}.page-btns[data-v-a59a1075]{display:flex;gap:4px;flex-wrap:wrap}.page-btn[data-v-a59a1075]{height:32px;min-width:32px;padding:0 8px;border:1px solid var(--border-color);border-radius:7px;background:var(--bg-secondary);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.page-btn[data-v-a59a1075]:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-color-hover);color:var(--text-primary)}.page-btn--active[data-v-a59a1075]{background:var(--color-primary);color:#fff;border-color:var(--color-primary);font-weight:700;box-shadow:0 2px 8px #2563eb4d;transform:scale(1.05)}.page-btn--active[data-v-a59a1075]:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);transform:scale(1.05)}.page-btn--nav[data-v-a59a1075]{transition:all .15s ease,transform .15s cubic-bezier(.34,1.56,.64,1)}.page-btn--nav[data-v-a59a1075]:hover:not(:disabled){transform:scale(1.1)}.page-btn[data-v-a59a1075]:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}@media(max-width:768px){.table-toolbar[data-v-a59a1075]{padding:14px 16px}.th[data-v-a59a1075]{padding:10px 14px;font-size:10px}.td[data-v-a59a1075]{padding:12px 14px;font-size:13px}.table-pagination[data-v-a59a1075]{padding:12px 16px}.page-info[data-v-a59a1075]{width:100%;text-align:center;order:-1}.page-btns[data-v-a59a1075]{width:100%;justify-content:center}}.status-badge[data-v-c8250496]{display:inline-flex;align-items:center;gap:5px;padding:3px 10px 3px 7px;border-radius:20px;font-size:11.5px;font-weight:600;white-space:nowrap;letter-spacing:.1px}.status-dot[data-v-c8250496]{width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-dot.pulse[data-v-c8250496]{animation:livePulse-c8250496 2.2s ease-in-out infinite}@keyframes livePulse-c8250496{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}.green[data-v-c8250496]{background:#0596691a;color:#059669;border:1px solid rgba(5,150,105,.2)}.green .status-dot[data-v-c8250496]{background:#059669}.amber[data-v-c8250496]{background:#d977061a;color:#d97706;border:1px solid rgba(217,119,6,.2)}.amber .status-dot[data-v-c8250496]{background:#d97706}.red[data-v-c8250496]{background:#dc26261a;color:#dc2626;border:1px solid rgba(220,38,38,.2)}.red .status-dot[data-v-c8250496]{background:#dc2626}.gray[data-v-c8250496]{background:#6b728014;color:#6b7280;border:1px solid rgba(107,114,128,.15)}.gray .status-dot[data-v-c8250496]{background:#9ca3af}.blue[data-v-c8250496]{background:#2563eb1a;color:#2563eb;border:1px solid rgba(37,99,235,.2)}.blue .status-dot[data-v-c8250496]{background:#2563eb}[data-theme=dark] .green[data-v-c8250496]{background:#34d3991f;color:#34d399;border-color:#34d39933}[data-theme=dark] .green .status-dot[data-v-c8250496]{background:#34d399}[data-theme=dark] .amber[data-v-c8250496]{background:#fbbf241f;color:#fbbf24;border-color:#fbbf2433}[data-theme=dark] .amber .status-dot[data-v-c8250496]{background:#fbbf24}[data-theme=dark] .red[data-v-c8250496]{background:#f871711f;color:#f87171;border-color:#f8717133}[data-theme=dark] .red .status-dot[data-v-c8250496]{background:#f87171}[data-theme=dark] .gray[data-v-c8250496]{background:#7373731f;color:#9ca3af;border-color:#73737333}[data-theme=dark] .blue[data-v-c8250496]{background:#60a5fa1f;color:#60a5fa;border-color:#60a5fa33}.geography-filter[data-v-3bc01b9f]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.geography-select[data-v-3bc01b9f]{padding:8px 12px;font-size:14px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);min-width:140px}.geography-select[data-v-3bc01b9f]:focus{outline:none;border-color:var(--color-primary-solid)}.include-descendants[data-v-3bc01b9f]{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);cursor:pointer}.include-descendants input[data-v-3bc01b9f]{cursor:pointer}.auto-refresh[data-v-dd477967]{display:flex;align-items:center;gap:8px}.toggle-label[data-v-dd477967]{display:flex;align-items:center;gap:6px;cursor:pointer;user-select:none}.toggle-label input[type=checkbox][data-v-dd477967]{width:16px;height:16px;accent-color:var(--color-primary-solid);cursor:pointer}.toggle-text[data-v-dd477967]{font-size:13px;font-weight:600;color:var(--text-secondary);white-space:nowrap}.interval-select[data-v-dd477967]{padding:6px 10px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.interval-select[data-v-dd477967]:focus{outline:none;border-color:var(--color-primary-solid);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary-solid) 10%,transparent)}.empty-state[data-v-2051024a]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:56px 24px;text-align:center;min-height:300px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px;box-shadow:var(--shadow-xs);animation:emptyFadeIn-2051024a .35s ease}@keyframes emptyFadeIn-2051024a{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.empty-icon[data-v-2051024a]{font-size:56px;margin-bottom:16px;opacity:.5;filter:grayscale(.2)}.empty-title[data-v-2051024a]{font-size:18px;font-weight:700;color:var(--text-primary);margin:0 0 8px;letter-spacing:-.2px}.empty-message[data-v-2051024a]{font-size:14px;color:var(--text-secondary);margin:0 0 24px;max-width:400px;line-height:1.5}.empty-action[data-v-2051024a]{padding:10px 22px;background:var(--color-primary-solid);color:#fff;border:none;border-radius:10px;font-weight:700;font-size:14px;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm)}.empty-action[data-v-2051024a]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.empty-action[data-v-2051024a]:active{transform:translateY(0)}.empty-action[data-v-2051024a]:focus-visible{outline:2px solid var(--color-primary-solid);outline-offset:2px;box-shadow:var(--shadow-glow)}@media(max-width:640px){.empty-state[data-v-2051024a]{padding:40px 20px;min-height:240px}.empty-icon[data-v-2051024a]{font-size:44px}.empty-title[data-v-2051024a]{font-size:16px}}.error-state[data-v-85a2417c]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;min-height:300px}.error-icon[data-v-85a2417c]{font-size:64px;margin-bottom:16px;opacity:.8}.error-title[data-v-85a2417c]{font-size:20px;font-weight:700;color:var(--text-primary);margin:0 0 8px}.error-message[data-v-85a2417c]{font-size:14px;color:var(--text-secondary);margin:0 0 24px;max-width:400px}.error-actions[data-v-85a2417c]{display:flex;gap:12px}.btn-retry[data-v-85a2417c]{padding:10px 24px;background:var(--color-primary-solid);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:opacity .2s}.btn-retry[data-v-85a2417c]:hover{opacity:.9}.btn-secondary[data-v-85a2417c]{padding:10px 24px;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:background .2s}.btn-secondary[data-v-85a2417c]:hover{background:var(--bg-tertiary)}.skeleton[data-v-de1e8adc]{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;border-radius:4px;display:inline-block}.skeleton.pulse[data-v-de1e8adc]{animation:shimmer-de1e8adc 1.5s infinite}@keyframes shimmer-de1e8adc{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton.text[data-v-de1e8adc]{width:100%;height:16px;margin:4px 0}.skeleton.rect[data-v-de1e8adc]{width:100%;height:100px}.skeleton.circle[data-v-de1e8adc]{width:40px;height:40px;border-radius:50%}.skeleton.button[data-v-de1e8adc]{width:120px;height:40px;border-radius:8px}.table-skeleton[data-v-e6cefe6c]{width:100%;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-xs);animation:skeletonFadeIn-e6cefe6c .3s ease}@keyframes skeletonFadeIn-e6cefe6c{0%{opacity:0}to{opacity:1}}.skeleton-row[data-v-e6cefe6c]{display:flex;padding:14px 18px;border-bottom:1px solid var(--border-light)}.skeleton-row[data-v-e6cefe6c]:last-child{border-bottom:none}.skeleton-row.header-row[data-v-e6cefe6c]{background:var(--bg-tertiary);padding:12px 18px;border-bottom:1px solid var(--border-color)}.skeleton-cell[data-v-e6cefe6c]{flex:1;padding:0 8px}.page[data-v-69d6352d]{display:flex;flex-direction:column;gap:24px}.page-header[data-v-69d6352d]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.page-header h1[data-v-69d6352d]{font-size:28px;font-weight:800;color:var(--text-primary);margin:0;letter-spacing:-.5px}.header-actions[data-v-69d6352d]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.search-input[data-v-69d6352d],.filter-select[data-v-69d6352d]{padding:10px 16px;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px;transition:all .2s ease;font-weight:500}.search-input[data-v-69d6352d]{width:240px;min-width:0}.search-input[data-v-69d6352d]:focus,.filter-select[data-v-69d6352d]:focus{outline:none;border-color:var(--color-primary-solid);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary-solid) 10%,transparent)}.search-input[data-v-69d6352d]::placeholder{color:var(--text-tertiary)}.btn-primary[data-v-69d6352d]{padding:10px 20px;background:var(--color-primary);color:#fff;border-radius:10px;text-decoration:none;font-size:14px;font-weight:700;white-space:nowrap;transition:all .2s ease;border:none;cursor:pointer;box-shadow:var(--shadow-sm)}.btn-primary[data-v-69d6352d]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-primary[data-v-69d6352d]:active{transform:translateY(0)}.filter-tags[data-v-69d6352d]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filter-tag[data-v-69d6352d]{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:20px;font-size:13px;font-weight:500;color:var(--text-secondary)}.tag-remove[data-v-69d6352d]{background:none;border:none;color:var(--text-tertiary);font-size:16px;cursor:pointer;padding:0;line-height:1;font-weight:700}.tag-remove[data-v-69d6352d]:hover{color:var(--color-danger, #dc2626)}.clear-all-btn[data-v-69d6352d]{background:none;border:none;color:var(--color-primary-solid);font-size:13px;font-weight:600;cursor:pointer;padding:5px 8px}.clear-all-btn[data-v-69d6352d]:hover{text-decoration:underline}.record-count[data-v-69d6352d]{font-size:13px;font-weight:500;color:var(--text-secondary)}.pump-id-cell[data-v-69d6352d]{font-family:monospace;font-size:12px;color:var(--text-secondary);font-weight:600}.pump-name-cell[data-v-69d6352d]{font-weight:600}.imei-link[data-v-69d6352d]{color:var(--color-primary-solid);text-decoration:none;font-weight:500;font-size:13px;font-family:monospace}.imei-link[data-v-69d6352d]:hover{text-decoration:underline}.text-muted[data-v-69d6352d]{color:var(--text-tertiary)}.electricity-badge[data-v-69d6352d]{display:inline-block;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap}.elec-available[data-v-69d6352d]{background:color-mix(in srgb,#16a34a 12%,transparent);color:#16a34a}.elec-low[data-v-69d6352d]{background:color-mix(in srgb,#eab308 12%,transparent);color:#b45309}.elec-high[data-v-69d6352d]{background:color-mix(in srgb,#f97316 12%,transparent);color:#c2410c}.elec-none[data-v-69d6352d]{background:color-mix(in srgb,#6b7280 12%,transparent);color:#6b7280}.level-badge[data-v-69d6352d]{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600;white-space:nowrap}.level-green[data-v-69d6352d]{background:color-mix(in srgb,#16a34a 12%,transparent);color:#16a34a}.level-amber[data-v-69d6352d]{background:color-mix(in srgb,#eab308 12%,transparent);color:#b45309}.level-red[data-v-69d6352d]{background:color-mix(in srgb,#dc2626 12%,transparent);color:#dc2626}.mode-badge[data-v-69d6352d]{display:inline-block;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap}.mode-auto[data-v-69d6352d]{background:color-mix(in srgb,#3b82f6 12%,transparent);color:#2563eb}.mode-manual[data-v-69d6352d]{background:color-mix(in srgb,#8b5cf6 12%,transparent);color:#7c3aed}.status-detail[data-v-69d6352d]{font-size:13px;color:var(--text-secondary);white-space:nowrap}.fault-badges[data-v-69d6352d]{display:flex;flex-wrap:wrap;gap:4px}.fault-badge[data-v-69d6352d]{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:700;background:color-mix(in srgb,#dc2626 12%,transparent);color:#dc2626;white-space:nowrap}.control-cell[data-v-69d6352d]{display:flex;gap:4px}.control-btn[data-v-69d6352d]{padding:5px 12px;border-radius:8px;font-size:12px;font-weight:700;border:none;cursor:pointer;white-space:nowrap;transition:all .2s ease}.control-on[data-v-69d6352d]{background:color-mix(in srgb,#16a34a 15%,transparent);color:#16a34a}.control-on[data-v-69d6352d]:hover{background:#16a34a;color:#fff}.control-off[data-v-69d6352d]{background:color-mix(in srgb,#eab308 15%,transparent);color:#b45309}.control-off[data-v-69d6352d]:hover{background:#eab308;color:#fff}.reports-cell[data-v-69d6352d],.reports-dropdown[data-v-69d6352d]{position:relative}.reports-trigger[data-v-69d6352d]{padding:6px 10px;font-size:13px;font-weight:500;color:var(--color-primary-solid);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;white-space:nowrap}.reports-trigger[data-v-69d6352d]:hover{background:var(--bg-tertiary, #f3f4f6)}.reports-menu[data-v-69d6352d]{position:absolute;top:100%;left:0;margin-top:4px;min-width:140px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-md);z-index:10;padding:4px 0}.reports-item[data-v-69d6352d]{display:block;padding:8px 12px;font-size:13px;color:var(--text-primary);text-decoration:none}.reports-item[data-v-69d6352d]:hover{background:var(--bg-secondary)}.settings-cell[data-v-69d6352d],.settings-dropdown[data-v-69d6352d]{position:relative}.settings-trigger[data-v-69d6352d]{padding:6px 10px;font-size:16px;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;line-height:1;transition:all .2s ease}.settings-trigger[data-v-69d6352d]:hover{background:var(--bg-tertiary, #f3f4f6);color:var(--text-primary)}.settings-menu[data-v-69d6352d]{position:absolute;top:100%;right:0;margin-top:4px;min-width:180px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-md);z-index:10;padding:4px 0}.settings-item[data-v-69d6352d]{display:block;width:100%;padding:8px 12px;font-size:13px;color:var(--text-primary);text-decoration:none;text-align:left;background:none;border:none;cursor:pointer;white-space:nowrap}.settings-item[data-v-69d6352d]:hover{background:var(--bg-secondary)}@media(max-width:1024px){.page-header h1[data-v-69d6352d]{font-size:24px}.search-input[data-v-69d6352d]{width:200px}}@media(max-width:640px){.page[data-v-69d6352d]{gap:20px}.page-header[data-v-69d6352d]{gap:12px}.page-header h1[data-v-69d6352d]{font-size:22px;width:100%}.header-actions[data-v-69d6352d]{width:100%;gap:8px}.search-input[data-v-69d6352d]{flex:1;width:auto;min-width:0}.filter-select[data-v-69d6352d]{flex:1;min-width:0}.btn-primary[data-v-69d6352d]{width:100%;justify-content:center;display:flex;align-items:center}}.empty-state[data-v-db7eaad9]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.empty-icon[data-v-db7eaad9]{font-size:48px;margin-bottom:16px}.empty-title[data-v-db7eaad9]{font-size:18px;font-weight:700;color:var(--text-primary);margin:0 0 8px}.empty-desc[data-v-db7eaad9]{font-size:14px;color:var(--text-secondary);margin:0;max-width:360px}.image-gallery[data-v-8553a20a]{--gallery-radius: 10px;--gallery-gap: 12px}.gallery-header[data-v-8553a20a]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.gallery-header h4[data-v-8553a20a]{font-size:16px;font-weight:700;color:var(--text-primary);margin:0}.upload-btn[data-v-8553a20a]{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--color-primary);color:#fff;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm)}.upload-btn[data-v-8553a20a]:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.gallery-empty[data-v-8553a20a]{padding:32px;text-align:center;color:var(--text-tertiary);font-size:14px;background:var(--bg-secondary);border:2px dashed var(--border-color);border-radius:var(--gallery-radius)}.gallery-grid[data-v-8553a20a]{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--gallery-gap)}.gallery-item[data-v-8553a20a]{position:relative;border-radius:var(--gallery-radius);overflow:hidden;cursor:pointer;aspect-ratio:4 / 3;background:var(--bg-secondary);border:1px solid var(--border-color);transition:transform .2s ease,box-shadow .2s ease}.gallery-item[data-v-8553a20a]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.gallery-item img[data-v-8553a20a]{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.gallery-item:hover img[data-v-8553a20a]{transform:scale(1.05)}.delete-btn[data-v-8553a20a]{position:absolute;top:6px;right:6px;width:26px;height:26px;border-radius:50%;border:none;background:#dc2626d9;color:#fff;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease,transform .15s ease;line-height:1}.gallery-item:hover .delete-btn[data-v-8553a20a]{opacity:1}.delete-btn[data-v-8553a20a]:hover{transform:scale(1.1);background:#dc2626}.lightbox-overlay[data-v-8553a20a]{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-8553a20a .2s ease}@keyframes fadeIn-8553a20a{0%{opacity:0}to{opacity:1}}.lightbox-content[data-v-8553a20a]{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;gap:12px}.lightbox-content img[data-v-8553a20a]{max-width:100%;max-height:80vh;border-radius:8px;object-fit:contain;box-shadow:0 8px 32px #0006}.lightbox-close[data-v-8553a20a]{position:absolute;top:-12px;right:-12px;width:36px;height:36px;border-radius:50%;border:none;background:#ffffff26;color:#fff;font-size:22px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease;z-index:1}.lightbox-close[data-v-8553a20a]:hover{background:#ffffff4d}.lightbox-prev[data-v-8553a20a],.lightbox-next[data-v-8553a20a]{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:none;background:#ffffff26;color:#fff;font-size:28px;font-weight:400;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease}.lightbox-prev[data-v-8553a20a]{left:-56px}.lightbox-next[data-v-8553a20a]{right:-56px}.lightbox-prev[data-v-8553a20a]:hover,.lightbox-next[data-v-8553a20a]:hover{background:#ffffff4d}.lightbox-caption[data-v-8553a20a]{color:#ffffffd9;font-size:14px;font-weight:500;text-align:center;margin:0;padding:4px 12px}@media(max-width:768px){.gallery-grid[data-v-8553a20a]{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.lightbox-prev[data-v-8553a20a]{left:8px}.lightbox-next[data-v-8553a20a]{right:8px}.lightbox-prev[data-v-8553a20a],.lightbox-next[data-v-8553a20a]{width:36px;height:36px;font-size:22px}}.chart[data-v-ab39f12c]{width:100%;height:320px;min-height:250px}@media(max-width:768px){.chart[data-v-ab39f12c]{height:280px}}@media(max-width:480px){.chart[data-v-ab39f12c]{height:240px}}.chart[data-v-74331f19]{width:100%;height:320px;min-height:250px}@media(max-width:768px){.chart[data-v-74331f19]{height:280px}}@media(max-width:480px){.chart[data-v-74331f19]{height:240px}}.page[data-v-a9ab2a54]{display:flex;flex-direction:column;gap:20px}.back-link[data-v-a9ab2a54]{font-size:13px;color:var(--color-primary-solid);text-decoration:none;font-weight:600}.detail-header[data-v-a9ab2a54]{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px}.info h1[data-v-a9ab2a54]{font-size:22px;font-weight:800;color:var(--text-primary);margin:0}.geo[data-v-a9ab2a54]{font-size:13px;color:var(--text-secondary);margin:4px 0 0}.header-right[data-v-a9ab2a54]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.action-btns[data-v-a9ab2a54]{display:flex;gap:6px;flex-wrap:wrap}.btn[data-v-a9ab2a54]{padding:7px 14px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s}.btn[data-v-a9ab2a54]:hover{opacity:.85}.btn.green[data-v-a9ab2a54]{background:#16a34a;color:#fff}.btn.amber[data-v-a9ab2a54]{background:#d97706;color:#fff}.btn.red[data-v-a9ab2a54]{background:#dc2626;color:#fff}.btn.outline[data-v-a9ab2a54]{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary)}.btn.red-outline[data-v-a9ab2a54]{background:var(--bg-tertiary);border:1px solid #dc2626;color:#dc2626}.btn.pinned[data-v-a9ab2a54]{background:color-mix(in srgb,var(--color-primary-solid) 10%,transparent);border-color:var(--color-primary-solid);color:var(--color-primary-solid)}.btn-sm[data-v-a9ab2a54]{padding:5px 10px;font-size:12px}.btn-xs[data-v-a9ab2a54]{padding:3px 8px;font-size:11px;border-radius:6px}.btn[data-v-a9ab2a54]:disabled{opacity:.4;cursor:not-allowed}.tabs[data-v-a9ab2a54]{display:flex;gap:4px;border-bottom:1px solid var(--border-color)}.tabs button[data-v-a9ab2a54]{padding:10px 16px;background:none;border:none;border-bottom:2px solid transparent;font-size:13px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .15s}.tabs button[data-v-a9ab2a54]:hover{color:var(--text-primary)}.tabs button.active[data-v-a9ab2a54]{color:var(--color-primary-solid);border-bottom-color:var(--color-primary-solid)}.tab-content[data-v-a9ab2a54]{padding-top:8px}.info-grid[data-v-a9ab2a54]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-auto-flow:dense;gap:16px}.info-item[data-v-a9ab2a54]{display:flex;flex-direction:column;gap:4px;padding:16px 20px;background:var(--glass-bg);backdrop-filter:blur(24px) saturate(1.8);-webkit-backdrop-filter:blur(24px) saturate(1.8);border:1px solid var(--glass-border);border-radius:24px;transition:transform .4s var(--spring-smooth),box-shadow .4s var(--spring-smooth)}.info-item[data-v-a9ab2a54]:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.info-item .label[data-v-a9ab2a54]{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-tertiary);letter-spacing:.5px}.info-item .val[data-v-a9ab2a54]{font-size:15px;font-weight:600;color:var(--text-primary)}.link[data-v-a9ab2a54]{color:var(--color-primary-solid);text-decoration:none;font-weight:600;font-size:15px}.badge-inline[data-v-a9ab2a54]{display:inline-block;padding:3px 10px;border-radius:6px;font-size:13px;font-weight:700;line-height:1.4}.badge-green[data-v-a9ab2a54]{background:#dcfce7;color:#16a34a}.badge-amber[data-v-a9ab2a54]{background:#fef3c7;color:#d97706}.badge-red[data-v-a9ab2a54]{background:#fee2e2;color:#dc2626}.badge-blue[data-v-a9ab2a54]{background:#dbeafe;color:#2563eb}.phase-badges[data-v-a9ab2a54]{display:flex;gap:6px;flex-wrap:wrap}.phase-badge[data-v-a9ab2a54]{padding:3px 8px;border-radius:6px;font-size:12px;font-weight:700}.phase-r[data-v-a9ab2a54]{background:#fee2e2;color:#dc2626}.phase-y[data-v-a9ab2a54]{background:#fef3c7;color:#a16207}.phase-b[data-v-a9ab2a54]{background:#dbeafe;color:#2563eb}.fault-badges[data-v-a9ab2a54]{display:flex;gap:4px;flex-wrap:wrap}.telemetry-grid[data-v-a9ab2a54]{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-auto-flow:dense;gap:14px}.tel-card[data-v-a9ab2a54]{padding:18px;background:var(--glass-bg);backdrop-filter:blur(24px) saturate(1.8);-webkit-backdrop-filter:blur(24px) saturate(1.8);border:1px solid var(--glass-border);border-radius:20px;text-align:center;transition:transform .4s var(--spring-smooth),box-shadow .4s var(--spring-smooth)}.tel-card[data-v-a9ab2a54]:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.tel-label[data-v-a9ab2a54]{display:block;font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:4px}.tel-value[data-v-a9ab2a54]{font-size:20px;font-weight:800;color:var(--text-primary)}.tel-charts-grid[data-v-a9ab2a54]{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));grid-auto-flow:dense;gap:16px;margin-top:20px}.tel-chart-card[data-v-a9ab2a54]{background:var(--glass-bg);backdrop-filter:blur(24px) saturate(1.8);-webkit-backdrop-filter:blur(24px) saturate(1.8);border:1px solid var(--glass-border);border-radius:24px;padding:20px;transition:transform .4s var(--spring-smooth),box-shadow .4s var(--spring-smooth)}.tel-chart-card[data-v-a9ab2a54]:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.tel-chart-card h4[data-v-a9ab2a54]{margin:0 0 10px;font-size:14px;font-weight:700;color:var(--text-primary)}.flow-meter-grid[data-v-a9ab2a54]{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.usage-summary-grid[data-v-a9ab2a54]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-auto-flow:dense;gap:14px}.usage-card[data-v-a9ab2a54]{padding:18px 20px;background:var(--glass-bg);backdrop-filter:blur(24px) saturate(1.8);-webkit-backdrop-filter:blur(24px) saturate(1.8);border:1px solid var(--glass-border);border-radius:20px;transition:transform .4s var(--spring-smooth),box-shadow .4s var(--spring-smooth)}.usage-card[data-v-a9ab2a54]:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.usage-header[data-v-a9ab2a54]{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.usage-label[data-v-a9ab2a54]{font-size:12px;font-weight:600;text-transform:uppercase;color:var(--text-tertiary)}.usage-value[data-v-a9ab2a54]{font-size:18px;font-weight:800;color:var(--text-primary)}.sparkline[data-v-a9ab2a54]{width:100%;height:30px}.power-sharing[data-v-a9ab2a54]{max-width:600px}.power-bar[data-v-a9ab2a54]{display:flex;height:36px;border-radius:8px;overflow:hidden;font-size:12px;font-weight:700;color:#fff}.power-ac[data-v-a9ab2a54]{background:#3b82f6;display:flex;align-items:center;justify-content:center;transition:width .3s}.power-dc[data-v-a9ab2a54]{background:#f97316;display:flex;align-items:center;justify-content:center;transition:width .3s}.power-legend[data-v-a9ab2a54]{display:flex;gap:16px;margin-top:8px}.legend-item[data-v-a9ab2a54]{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-secondary)}.legend-dot[data-v-a9ab2a54]{width:10px;height:10px;border-radius:50%}.legend-dot.ac[data-v-a9ab2a54]{background:#3b82f6}.legend-dot.dc[data-v-a9ab2a54]{background:#f97316}.legend-dot.on[data-v-a9ab2a54]{background:#16a34a}.legend-dot.off[data-v-a9ab2a54]{background:#e5e7eb}.timeline-header[data-v-a9ab2a54]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.timeline-container[data-v-a9ab2a54]{margin-top:8px}.timeline-labels[data-v-a9ab2a54]{display:flex;justify-content:space-between;font-size:10px;color:var(--text-tertiary);font-weight:600;padding:0 0 4px}.timeline-hour[data-v-a9ab2a54]{width:0;text-align:center}.timeline-bar[data-v-a9ab2a54]{position:relative;height:28px;background:#f3f4f6;border-radius:6px;overflow:hidden}.timeline-segment[data-v-a9ab2a54]{position:absolute;top:0;height:100%;transition:all .2s}.timeline-segment.on[data-v-a9ab2a54]{background:#16a34a}.timeline-segment.off[data-v-a9ab2a54]{background:#e5e7eb}.timeline-legend[data-v-a9ab2a54]{display:flex;gap:16px;margin-top:6px}.cmd-list[data-v-a9ab2a54]{display:flex;flex-direction:column;gap:8px}.cmd-item[data-v-a9ab2a54]{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px}.cmd-type[data-v-a9ab2a54]{font-size:13px;font-weight:700;color:var(--text-primary);min-width:100px}.cmd-time[data-v-a9ab2a54]{font-size:12px;color:var(--text-tertiary);margin-left:auto}.inline-toast[data-v-a9ab2a54]{position:fixed;bottom:24px;right:24px;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:600;z-index:100;animation:slideUp-a9ab2a54 .2s ease}.inline-toast.success[data-v-a9ab2a54]{background:#dcfce7;color:#16a34a}.inline-toast.error[data-v-a9ab2a54]{background:#fee2e2;color:#dc2626}@keyframes slideUp-a9ab2a54{0%{transform:translateY(8px);opacity:0}}.section-block[data-v-a9ab2a54]{margin-top:20px}.section-title[data-v-a9ab2a54]{font-size:16px;font-weight:700;color:var(--text-primary);margin:0 0 12px}.tank-cards[data-v-a9ab2a54]{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.tank-card[data-v-a9ab2a54]{padding:14px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px}.reports-links[data-v-a9ab2a54]{display:flex;flex-wrap:wrap;gap:10px}.report-link[data-v-a9ab2a54]{padding:8px 14px;font-size:14px;font-weight:500;color:var(--color-primary-solid);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;text-decoration:none}.report-link[data-v-a9ab2a54]:hover{background:var(--bg-tertiary, #f3f4f6)}.tank-header[data-v-a9ab2a54]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.tank-name[data-v-a9ab2a54]{font-size:14px;font-weight:700;color:var(--text-primary)}.tank-level[data-v-a9ab2a54]{font-size:13px;font-weight:800}.tank-level.low[data-v-a9ab2a54]{color:#dc2626}.tank-level.mid[data-v-a9ab2a54]{color:#d97706}.tank-level.high[data-v-a9ab2a54]{color:#16a34a}.tank-bar[data-v-a9ab2a54]{height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden}.tank-fill[data-v-a9ab2a54]{height:100%;border-radius:3px;transition:width .3s}.tank-fill.low[data-v-a9ab2a54]{background:#dc2626}.tank-fill.mid[data-v-a9ab2a54]{background:#d97706}.tank-fill.high[data-v-a9ab2a54]{background:#16a34a}.tank-meta[data-v-a9ab2a54]{display:flex;justify-content:space-between;font-size:11px;color:var(--text-tertiary);margin-top:6px}.config-panels[data-v-a9ab2a54]{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:16px}.config-card[data-v-a9ab2a54]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:20px}.config-card.full-width[data-v-a9ab2a54]{grid-column:1 / -1}.config-card h3[data-v-a9ab2a54]{font-size:15px;font-weight:700;color:var(--text-primary);margin:0 0 14px}.mode-toggle[data-v-a9ab2a54]{display:flex;gap:6px;margin-bottom:14px}.mode-toggle button[data-v-a9ab2a54]{flex:1;padding:10px;border:2px solid var(--border-color);border-radius:8px;background:var(--bg-tertiary);font-size:13px;font-weight:700;cursor:pointer;color:var(--text-secondary);transition:all .15s}.mode-toggle button.active[data-v-a9ab2a54]{border-color:var(--color-primary-solid);background:color-mix(in srgb,var(--color-primary-solid) 10%,transparent);color:var(--color-primary-solid)}.auto-settings[data-v-a9ab2a54]{display:flex;flex-direction:column;gap:10px}.field-row[data-v-a9ab2a54]{display:flex;justify-content:space-between;align-items:center;gap:8px}.field-row label[data-v-a9ab2a54]{font-size:13px;font-weight:600;color:var(--text-secondary)}.input-group[data-v-a9ab2a54]{display:flex;align-items:center;gap:4px}.input-group input[data-v-a9ab2a54]{width:70px;padding:6px 8px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:13px;text-align:right}.input-group.sm input[data-v-a9ab2a54]{width:60px}.unit[data-v-a9ab2a54]{font-size:11px;font-weight:600;color:var(--text-tertiary);min-width:20px}.sync-info[data-v-a9ab2a54]{font-size:11px;color:var(--text-tertiary);margin-top:10px}.protection-grid[data-v-a9ab2a54]{display:flex;flex-direction:column;gap:8px}.protection-row[data-v-a9ab2a54]{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid var(--border-color)}.protection-row[data-v-a9ab2a54]:last-child{border-bottom:none}.prot-toggle[data-v-a9ab2a54]{display:flex;align-items:center;gap:8px;cursor:pointer}.prot-toggle input[type=checkbox][data-v-a9ab2a54]{accent-color:var(--color-primary-solid);width:16px;height:16px}.prot-label[data-v-a9ab2a54]{font-size:13px;font-weight:600;color:var(--text-primary)}.prot-right[data-v-a9ab2a54]{display:flex;align-items:center;gap:8px}.prot-na[data-v-a9ab2a54]{font-size:11px;color:var(--text-tertiary)}.schedule-header[data-v-a9ab2a54]{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.schedule-header h3[data-v-a9ab2a54]{margin:0}.schedule-table-wrap[data-v-a9ab2a54]{overflow-x:auto}.schedule-table[data-v-a9ab2a54]{width:100%;border-collapse:collapse;font-size:13px}.schedule-table th[data-v-a9ab2a54]{text-align:left;padding:8px 10px;font-size:11px;font-weight:700;text-transform:uppercase;color:var(--text-secondary);border-bottom:1px solid var(--border-color)}.schedule-table td[data-v-a9ab2a54]{padding:8px 10px;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.schedule-table tr.inactive[data-v-a9ab2a54]{opacity:.5}.schedule-table input[type=time][data-v-a9ab2a54]{padding:4px 6px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:13px}.schedule-table input[type=checkbox][data-v-a9ab2a54]{accent-color:var(--color-primary-solid);width:16px;height:16px}.days-cell[data-v-a9ab2a54]{font-size:12px;color:var(--text-secondary)}.day-checkboxes[data-v-a9ab2a54]{display:flex;gap:2px}.day-checkbox[data-v-a9ab2a54]{display:flex;flex-direction:column;align-items:center;cursor:pointer}.day-checkbox input[data-v-a9ab2a54]{display:none}.day-checkbox .day-letter[data-v-a9ab2a54]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:11px;font-weight:700;border:2px solid var(--border-color);color:var(--text-secondary);transition:all .15s}.day-checkbox input:checked+.day-letter[data-v-a9ab2a54]{background:var(--color-primary-solid);color:#fff;border-color:var(--color-primary-solid)}.modal-days[data-v-a9ab2a54]{margin-top:4px}.config-actions[data-v-a9ab2a54]{grid-column:1 / -1;display:flex;gap:8px}.tel-toolbar[data-v-a9ab2a54]{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px;margin-bottom:12px}.view-mode-toggle[data-v-a9ab2a54]{display:flex;border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.view-mode-toggle button[data-v-a9ab2a54]{padding:7px 16px;border:none;background:var(--bg-secondary);font-size:13px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .15s}.view-mode-toggle button+button[data-v-a9ab2a54]{border-left:1px solid var(--border-color)}.view-mode-toggle button.active[data-v-a9ab2a54]{background:var(--color-primary-solid);color:#fff}.date-range[data-v-a9ab2a54]{display:flex;align-items:center;gap:6px}.date-range label[data-v-a9ab2a54]{font-size:12px;font-weight:600;color:var(--text-secondary)}.date-range input[type=date][data-v-a9ab2a54]{padding:6px 8px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:13px}.btn-download[data-v-a9ab2a54]{margin-left:auto}.modal-overlay[data-v-a9ab2a54]{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:200}.modal-card[data-v-a9ab2a54]{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:14px;padding:28px 32px;width:100%;max-width:420px;box-shadow:0 12px 40px #00000026}.modal-card.modal-wide[data-v-a9ab2a54]{max-width:560px}.modal-card h3[data-v-a9ab2a54]{font-size:18px;font-weight:800;color:var(--text-primary);margin:0 0 8px}.modal-desc[data-v-a9ab2a54]{font-size:13px;color:var(--text-secondary);margin:0 0 18px}.modal-field[data-v-a9ab2a54]{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}.modal-field label[data-v-a9ab2a54]{font-size:12px;font-weight:600;text-transform:uppercase;color:var(--text-tertiary)}.modal-current[data-v-a9ab2a54]{font-size:16px;font-weight:700;color:var(--text-primary)}.modal-field input[type=number][data-v-a9ab2a54],.modal-field input[type=time][data-v-a9ab2a54]{padding:8px 10px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px;width:100%}.modal-hint[data-v-a9ab2a54]{font-size:11px;color:var(--text-tertiary)}.modal-actions[data-v-a9ab2a54]{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.tank-select-list[data-v-a9ab2a54]{max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.tank-select-item[data-v-a9ab2a54]{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:background .15s}.tank-select-item[data-v-a9ab2a54]:hover{background:var(--bg-tertiary)}.tank-select-item input[type=checkbox][data-v-a9ab2a54]{accent-color:var(--color-primary-solid);width:16px;height:16px}.tank-select-name[data-v-a9ab2a54]{font-size:14px;font-weight:600;color:var(--text-primary);flex:1}.tank-select-village[data-v-a9ab2a54]{font-size:12px;color:var(--text-tertiary)}.tank-select-level[data-v-a9ab2a54]{font-size:13px;font-weight:800}.tank-select-level.low[data-v-a9ab2a54]{color:#dc2626}.tank-select-level.mid[data-v-a9ab2a54]{color:#d97706}.tank-select-level.high[data-v-a9ab2a54]{color:#16a34a}.loading-text[data-v-a9ab2a54]{font-size:14px;color:var(--text-muted)}.error-msg[data-v-a9ab2a54]{color:var(--color-error, #dc2626);font-size:14px;margin-top:8px}.installation-create[data-v-a9ab2a54]{margin-top:8px}.installation-create .muted[data-v-a9ab2a54]{color:var(--text-muted);margin-bottom:12px}.installation-actions[data-v-a9ab2a54]{display:flex;gap:8px;align-items:center;margin-top:12px}.installation-actions .form-input[data-v-a9ab2a54]{max-width:160px;padding:6px 10px}.photos-row[data-v-a9ab2a54]{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.photo-card[data-v-a9ab2a54]{width:140px}.photo-thumb[data-v-a9ab2a54]{width:100%;height:100px;object-fit:cover;border-radius:8px}.photo-meta[data-v-a9ab2a54]{font-size:11px;color:var(--text-muted);display:block;margin-top:4px}.photo-upload[data-v-a9ab2a54]{margin-top:8px}.hidden[data-v-a9ab2a54]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.page[data-v-a5099f48]{display:flex;flex-direction:column;gap:20px;max-width:800px}.back-link[data-v-a5099f48]{font-size:13px;color:var(--color-primary-solid);text-decoration:none;font-weight:600}h1[data-v-a5099f48]{font-size:22px;font-weight:800;color:var(--text-primary);margin:0}.create-form[data-v-a5099f48]{display:flex;flex-direction:column;gap:24px}.form-grid[data-v-a5099f48]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.field[data-v-a5099f48]{display:flex;flex-direction:column;gap:4px}.field label[data-v-a5099f48]{font-size:13px;font-weight:600;color:var(--text-secondary)}.field input[data-v-a5099f48],.field select[data-v-a5099f48]{padding:10px 12px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px}.field input[data-v-a5099f48]:focus,.field select[data-v-a5099f48]:focus{border-color:var(--color-primary-solid);outline:none}.form-actions[data-v-a5099f48]{display:flex;gap:12px;justify-content:flex-end}.btn-cancel[data-v-a5099f48]{padding:10px 20px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);text-decoration:none;font-size:14px;font-weight:600}.btn-primary[data-v-a5099f48]{padding:10px 20px;background:var(--color-primary-solid);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.field-full[data-v-a5099f48]{grid-column:1 / -1}.image-upload-area[data-v-a5099f48]{display:flex;flex-direction:column;gap:8px}.file-input[data-v-a5099f48]{padding:10px 12px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px}.image-previews[data-v-a5099f48]{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}.preview-item[data-v-a5099f48]{position:relative;width:120px;height:90px;border-radius:8px;overflow:hidden;border:1px solid var(--border-color)}.preview-img[data-v-a5099f48]{width:100%;height:100%;object-fit:cover;display:block}.remove-btn[data-v-a5099f48]{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;border:none;background:#dc2626d9;color:#fff;font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.remove-btn[data-v-a5099f48]:hover{background:#dc2626}.upload-status[data-v-a5099f48]{font-size:13px;color:var(--text-secondary);margin:4px 0 0}.simple-pump-view[data-v-002c0236]{min-height:100vh;background:var(--bg-secondary, #f5f5f5);display:flex;flex-direction:column}.top-bar[data-v-002c0236]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-primary, #fff);border-bottom:1px solid var(--border-color, #e5e7eb);position:sticky;top:0;z-index:50;box-shadow:0 1px 3px #0000000f}.top-bar-left[data-v-002c0236]{display:flex;align-items:center;gap:8px}.app-logo[data-v-002c0236]{font-size:22px}.app-title[data-v-002c0236]{font-size:18px;font-weight:700;color:var(--text-primary, #111827)}.top-bar-right[data-v-002c0236]{display:flex;align-items:center;gap:12px}.user-name[data-v-002c0236]{font-size:14px;font-weight:500;color:var(--text-secondary, #6b7280);display:none}@media(min-width:480px){.user-name[data-v-002c0236]{display:inline}}.btn-logout[data-v-002c0236]{padding:8px 16px;font-size:14px;font-weight:600;color:var(--text-secondary, #6b7280);background:var(--bg-secondary, #f3f4f6);border:1px solid var(--border-color, #e5e7eb);border-radius:8px;cursor:pointer;min-height:40px;transition:all .15s ease}.btn-logout[data-v-002c0236]:hover{background:var(--bg-tertiary, #e5e7eb)}.btn-logout[data-v-002c0236]:active{transform:scale(.97)}.content[data-v-002c0236]{flex:1;padding:16px;max-width:600px;width:100%;margin:0 auto}.refresh-hint[data-v-002c0236]{text-align:center;font-size:12px;color:var(--text-tertiary, #9ca3af);margin:0 0 16px}.loading-state[data-v-002c0236]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 16px;gap:16px;color:var(--text-secondary, #6b7280)}.spinner[data-v-002c0236]{width:32px;height:32px;border:3px solid var(--border-color, #e5e7eb);border-top-color:var(--color-primary-solid, #2563eb);border-radius:50%;animation:spin-002c0236 .8s linear infinite}@keyframes spin-002c0236{to{transform:rotate(360deg)}}.error-state[data-v-002c0236]{display:flex;flex-direction:column;align-items:center;padding:48px 16px;gap:16px}.error-message[data-v-002c0236]{color:#dc2626;font-size:15px;font-weight:500;text-align:center}.btn-retry[data-v-002c0236]{padding:12px 32px;font-size:15px;font-weight:600;color:#fff;background:var(--color-primary-solid, #2563eb);border:none;border-radius:10px;cursor:pointer;min-height:48px}.empty-state[data-v-002c0236]{display:flex;flex-direction:column;align-items:center;padding:64px 16px;gap:8px}.empty-icon[data-v-002c0236]{font-size:48px;margin-bottom:8px}.empty-text[data-v-002c0236]{font-size:16px;font-weight:600;color:var(--text-primary, #111827)}.empty-subtext[data-v-002c0236]{font-size:14px;color:var(--text-secondary, #6b7280)}.pump-cards[data-v-002c0236]{display:flex;flex-direction:column;gap:16px}.pump-card[data-v-002c0236]{background:var(--bg-primary, #fff);border:1px solid var(--border-color, #e5e7eb);border-radius:16px;padding:20px;box-shadow:0 1px 3px #0000000f;transition:box-shadow .2s ease}.pump-card[data-v-002c0236]:active{box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary-solid, #2563eb) 20%,transparent)}.pump-card-header[data-v-002c0236]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.pump-name[data-v-002c0236]{font-size:18px;font-weight:700;color:var(--text-primary, #111827);margin:0;line-height:1.3}.pump-status-badge[data-v-002c0236]{flex-shrink:0;font-size:13px;padding:5px 14px}.pump-card-details[data-v-002c0236]{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.detail-row[data-v-002c0236]{display:flex;justify-content:space-between;align-items:center}.detail-label[data-v-002c0236]{font-size:13px;color:var(--text-secondary, #6b7280);font-weight:500}.detail-value[data-v-002c0236]{font-size:14px;font-weight:600;color:var(--text-primary, #111827)}.pump-card-actions[data-v-002c0236]{display:flex;gap:10px}.btn-action[data-v-002c0236]{flex:1;min-height:48px;padding:12px 8px;font-size:15px;font-weight:700;border:none;border-radius:12px;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.btn-action[data-v-002c0236]:disabled{opacity:.6;cursor:not-allowed}.btn-action[data-v-002c0236]:not(:disabled):active{transform:scale(.97)}.btn-on[data-v-002c0236]{background:#16a34a;color:#fff}.btn-on[data-v-002c0236]:not(:disabled):hover{background:#15803d}.btn-off[data-v-002c0236]{background:#d97706;color:#fff}.btn-off[data-v-002c0236]:not(:disabled):hover{background:#b45309}.btn-status[data-v-002c0236]{background:transparent;color:var(--color-primary-solid, #2563eb);border:2px solid var(--color-primary-solid, #2563eb)}.btn-status[data-v-002c0236]:not(:disabled):hover{background:color-mix(in srgb,var(--color-primary-solid, #2563eb) 8%,transparent)}.btn-refresh[data-v-002c0236]{display:block;width:100%;margin-top:24px;padding:14px;font-size:15px;font-weight:600;color:var(--color-primary-solid, #2563eb);background:var(--bg-primary, #fff);border:1px solid var(--border-color, #e5e7eb);border-radius:12px;cursor:pointer;min-height:48px;transition:all .15s ease}.btn-refresh[data-v-002c0236]:hover{background:var(--bg-secondary, #f3f4f6)}.btn-refresh[data-v-002c0236]:active{transform:scale(.98)}.toast[data-v-002c0236]{position:fixed;bottom:24px;left:50%;transform:translate(-50%);padding:14px 24px;border-radius:12px;font-size:14px;font-weight:600;color:#fff;z-index:100;box-shadow:0 4px 12px #00000026;max-width:calc(100% - 32px);text-align:center}.toast.success[data-v-002c0236]{background:#16a34a}.toast.error[data-v-002c0236]{background:#dc2626}.toast-enter-active[data-v-002c0236],.toast-leave-active[data-v-002c0236]{transition:all .3s ease}.toast-enter-from[data-v-002c0236],.toast-leave-to[data-v-002c0236]{opacity:0;transform:translate(-50%) translateY(16px)}@media(min-width:640px){.content[data-v-002c0236],.pump-card[data-v-002c0236]{padding:24px}.pump-name[data-v-002c0236]{font-size:20px}.top-bar[data-v-002c0236]{padding:14px 24px}}.filter-bar[data-v-7bf7c1e3]{display:flex;flex-direction:column;gap:10px}.filter-bar__controls[data-v-7bf7c1e3]{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.filter-bar__search[data-v-7bf7c1e3]{position:relative;flex:1;min-width:220px;display:flex;align-items:center}.filter-bar__search-icon[data-v-7bf7c1e3]{position:absolute;left:12px;font-size:14px;pointer-events:none;z-index:1;opacity:.45;transition:opacity .2s ease,transform .2s ease}.filter-bar__search:focus-within .filter-bar__search-icon[data-v-7bf7c1e3]{opacity:.8;transform:scale(1.1)}.filter-bar__search-input[data-v-7bf7c1e3]{width:100%;padding:10px 34px 10px 36px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);font-size:14px;font-family:inherit;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.filter-bar__search-input[data-v-7bf7c1e3]::placeholder{color:var(--text-tertiary)}.filter-bar__search-input[data-v-7bf7c1e3]:focus{border-color:var(--color-primary-solid);box-shadow:0 0 0 3px var(--color-primary-bg),0 2px 8px #2563eb14}.filter-bar__search[data-v-7bf7c1e3]{transition:all .2s ease}.filter-bar__search[data-v-7bf7c1e3]:focus-within{transform:translateY(-1px)}.filter-bar__search-clear[data-v-7bf7c1e3]{position:absolute;right:8px;background:none;border:none;color:var(--text-tertiary);font-size:18px;cursor:pointer;padding:2px 6px;line-height:1;border-radius:4px;transition:color .15s,background .15s}.filter-bar__search-clear[data-v-7bf7c1e3]:hover{color:var(--text-primary);background:var(--bg-hover)}.filter-bar__controls[data-v-7bf7c1e3] select{padding:10px 14px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);font-size:14px;font-family:inherit;outline:none;cursor:pointer;transition:border-color .2s ease}.filter-bar__controls[data-v-7bf7c1e3] select:focus{border-color:var(--color-primary-solid)}.filter-bar__tags[data-v-7bf7c1e3]{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.filter-bar__tag[data-v-7bf7c1e3]{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;background:var(--color-primary-bg);border:1px solid var(--color-primary-border);border-radius:var(--radius-full);font-size:12px;font-weight:600;color:var(--color-primary-solid);white-space:nowrap;transition:all .2s cubic-bezier(.4,0,.2,1);animation:tagAppear-7bf7c1e3 .3s cubic-bezier(.34,1.56,.64,1) both;cursor:default}@keyframes tagAppear-7bf7c1e3{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.filter-bar__tag[data-v-7bf7c1e3]:hover{background:#2563eb1f;border-color:var(--color-primary);box-shadow:0 2px 8px #2563eb1f}.filter-bar__tag-remove[data-v-7bf7c1e3]{background:none;border:none;color:var(--color-primary-solid);font-size:14px;cursor:pointer;padding:0;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;line-height:1;opacity:.5;border-radius:50%;transition:all .15s ease}.filter-bar__tag-remove[data-v-7bf7c1e3]:hover{opacity:1;background:#dc26261a;color:var(--color-danger-solid)}.filter-bar__clear[data-v-7bf7c1e3]{background:none;border:none;color:var(--text-tertiary);font-size:12px;font-weight:600;cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm);transition:all .15s ease}.filter-bar__clear[data-v-7bf7c1e3]:hover{color:var(--color-danger-solid);background:#ef44440f}.filter-bar__tag-count[data-v-7bf7c1e3]{display:inline-flex;align-items:center;padding:3px 10px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-full);font-size:11px;font-weight:700;color:var(--text-secondary);letter-spacing:.3px;text-transform:uppercase}.filter-bar__count[data-v-7bf7c1e3]{font-size:13px;color:var(--text-tertiary)}.filter-bar__count strong[data-v-7bf7c1e3]{color:var(--text-primary);font-weight:600}@media(max-width:640px){.filter-bar__search[data-v-7bf7c1e3]{min-width:100%}}.reports-cell[data-v-3b97cee0],.reports-dropdown[data-v-3b97cee0]{position:relative}.reports-trigger[data-v-3b97cee0]{padding:6px 10px;font-size:13px;font-weight:500;color:var(--color-primary-solid);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;white-space:nowrap}.reports-trigger[data-v-3b97cee0]:hover{background:var(--bg-tertiary, #f3f4f6)}.reports-menu[data-v-3b97cee0]{position:absolute;top:100%;left:0;margin-top:4px;min-width:140px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-md);z-index:10;padding:4px 0}.reports-item[data-v-3b97cee0]{display:block;padding:8px 12px;font-size:13px;color:var(--text-primary);text-decoration:none}.reports-item[data-v-3b97cee0]:hover{background:var(--bg-secondary)}.no-pump[data-v-3b97cee0]{color:var(--text-tertiary)}.page[data-v-3b97cee0]{display:flex;flex-direction:column;gap:24px}.page-header[data-v-3b97cee0]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.page-header h1[data-v-3b97cee0]{font-size:28px;font-weight:800;color:var(--text-primary);margin:0;letter-spacing:-.5px}.btn-primary[data-v-3b97cee0]{padding:10px 20px;background:var(--color-primary-solid);color:#fff;border:none;border-radius:10px;font-weight:700;text-decoration:none;font-size:14px;white-space:nowrap;transition:all .2s ease;cursor:pointer;box-shadow:var(--shadow-sm)}.btn-primary[data-v-3b97cee0]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-primary[data-v-3b97cee0]:active{transform:translateY(0)}.filters[data-v-3b97cee0]{display:flex;gap:10px;flex-wrap:wrap}.search[data-v-3b97cee0]{flex:1;min-width:200px;padding:10px 14px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px}select[data-v-3b97cee0]{padding:10px 14px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px;transition:border-color .2s ease}select[data-v-3b97cee0]:focus{outline:none;border-color:var(--color-primary-solid);box-shadow:0 0 0 3px var(--color-primary-bg)}@media(max-width:1024px){.page-header h1[data-v-3b97cee0]{font-size:24px}}@media(max-width:640px){.page[data-v-3b97cee0]{gap:20px}.page-header[data-v-3b97cee0]{gap:12px}.page-header h1[data-v-3b97cee0]{font-size:22px;width:100%}.btn-primary[data-v-3b97cee0]{width:100%;justify-content:center;display:flex;align-items:center}}.page[data-v-18944558]{display:flex;flex-direction:column;gap:20px;max-width:800px}.back-link[data-v-18944558]{font-size:13px;color:var(--color-primary-solid);text-decoration:none;font-weight:600}h1[data-v-18944558]{font-size:22px;font-weight:800;color:var(--text-primary);margin:0}.create-form[data-v-18944558]{display:flex;flex-direction:column;gap:24px}.form-grid[data-v-18944558]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.field[data-v-18944558]{display:flex;flex-direction:column;gap:4px}.field label[data-v-18944558]{font-size:13px;font-weight:600;color:var(--text-secondary)}.field input[data-v-18944558],.field select[data-v-18944558]{padding:10px 12px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px}.field input[data-v-18944558]:focus,.field select[data-v-18944558]:focus{border-color:var(--color-primary-solid);outline:none}.form-actions[data-v-18944558]{display:flex;gap:12px;justify-content:flex-end}.btn-cancel[data-v-18944558]{padding:10px 20px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);text-decoration:none;font-size:14px;font-weight:600}.btn-primary[data-v-18944558]{padding:10px 20px;background:var(--color-primary-solid);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.btn-primary[data-v-18944558]:disabled{opacity:.6;cursor:not-allowed}.page[data-v-100c0d86]{display:flex;flex-direction:column;gap:16px}.back-link[data-v-100c0d86]{font-size:13px;color:var(--color-primary-solid);text-decoration:none;font-weight:600}.detail[data-v-100c0d86]{display:flex;flex-direction:column;gap:20px}.detail-header[data-v-100c0d86]{display:flex;justify-content:space-between;align-items:flex-start}.detail-header h1[data-v-100c0d86]{font-size:22px;font-weight:800;color:var(--text-primary);margin:0}.subtitle[data-v-100c0d86]{font-size:13px;color:var(--text-muted);margin:4px 0 0}.header-actions[data-v-100c0d86]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn-sm[data-v-100c0d86]{padding:6px 14px;font-size:12px}.info-grid[data-v-100c0d86]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;background:var(--bg-secondary);padding:16px;border-radius:10px}.info-item[data-v-100c0d86]{display:flex;flex-direction:column;gap:2px;font-size:14px}.info-item .label[data-v-100c0d86]{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.info-item a[data-v-100c0d86]{color:var(--color-primary-solid);text-decoration:none}.tabs[data-v-100c0d86]{display:flex;gap:4px;border-bottom:1px solid var(--border-color)}.tabs button[data-v-100c0d86]{padding:10px 16px;border:none;background:none;color:var(--text-secondary);font-weight:600;cursor:pointer;border-bottom:2px solid transparent;font-size:14px}.tabs button.active[data-v-100c0d86]{color:var(--color-primary-solid);border-bottom-color:var(--color-primary-solid)}.telemetry-section[data-v-100c0d86]{display:flex;flex-direction:column;gap:16px}.telemetry-loading[data-v-100c0d86]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;gap:1rem;color:var(--text-secondary)}.device-type-badge[data-v-100c0d86]{display:flex;align-items:center;justify-content:space-between;gap:8px}.badge[data-v-100c0d86]{display:inline-block;padding:4px 12px;border-radius:6px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.badge-standard[data-v-100c0d86]{background:color-mix(in srgb,var(--color-primary-solid) 12%,transparent);color:var(--color-primary-solid)}.badge-tlm[data-v-100c0d86]{background:color-mix(in srgb,#3b82f6 12%,transparent);color:#3b82f6}.badge-dual[data-v-100c0d86]{background:color-mix(in srgb,#8b5cf6 12%,transparent);color:#8b5cf6}.section-heading[data-v-100c0d86]{font-size:14px;font-weight:700;color:var(--text-secondary);margin:0;text-transform:uppercase;letter-spacing:.5px}.telemetry-grid[data-v-100c0d86]{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.tele-card[data-v-100c0d86]{display:flex;flex-direction:column;gap:4px;padding:14px;background:var(--bg-secondary);border-radius:10px}.tele-card.tank-card[data-v-100c0d86]{border-left:3px solid #3b82f6}.tele-label[data-v-100c0d86]{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase}.tele-value[data-v-100c0d86]{font-size:22px;font-weight:800;color:var(--text-primary)}.tele-value small[data-v-100c0d86]{font-size:12px;font-weight:500;color:var(--text-muted);margin-left:4px}.charts-section[data-v-100c0d86]{display:flex;flex-direction:column;gap:20px}.chart-card[data-v-100c0d86]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:20px}.chart-card .section-heading[data-v-100c0d86]{margin-bottom:12px}.config-tab[data-v-100c0d86]{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:16px}.config-card[data-v-100c0d86]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:20px}.config-card.full[data-v-100c0d86]{grid-column:1 / -1}.config-card h3[data-v-100c0d86]{font-size:15px;font-weight:700;color:var(--text-primary);margin:0 0 14px}.mode-toggle[data-v-100c0d86]{display:flex;gap:6px;margin-bottom:14px}.mode-toggle button[data-v-100c0d86]{flex:1;padding:10px;border:2px solid var(--border-color);border-radius:8px;background:var(--bg-tertiary);font-size:13px;font-weight:700;cursor:pointer;color:var(--text-secondary);transition:all .15s}.mode-toggle button.active[data-v-100c0d86]{border-color:var(--color-primary-solid);background:color-mix(in srgb,var(--color-primary-solid) 10%,transparent);color:var(--color-primary-solid)}.auto-settings[data-v-100c0d86]{display:flex;flex-direction:column;gap:10px}.field-row[data-v-100c0d86]{display:flex;justify-content:space-between;align-items:center}.field-row label[data-v-100c0d86]{font-size:13px;font-weight:600;color:var(--text-secondary)}.input-grp[data-v-100c0d86]{display:flex;align-items:center;gap:4px}.input-grp input[data-v-100c0d86]{width:70px;padding:6px 8px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:13px;text-align:right}.input-grp.sm input[data-v-100c0d86]{width:60px}.u[data-v-100c0d86]{font-size:11px;font-weight:600;color:var(--text-tertiary);min-width:20px}.sync-info[data-v-100c0d86]{font-size:11px;color:var(--text-tertiary);margin-top:10px}.prot-grid[data-v-100c0d86]{display:flex;flex-direction:column;gap:8px}.prot-row[data-v-100c0d86]{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid var(--border-color)}.prot-row[data-v-100c0d86]:last-child{border-bottom:none}.prot-toggle[data-v-100c0d86]{display:flex;align-items:center;gap:8px;cursor:pointer}.prot-toggle input[type=checkbox][data-v-100c0d86]{accent-color:var(--color-primary-solid);width:16px;height:16px}.prot-name[data-v-100c0d86]{font-size:13px;font-weight:600;color:var(--text-primary)}.na[data-v-100c0d86]{font-size:11px;color:var(--text-tertiary)}.sched-wrap[data-v-100c0d86]{overflow-x:auto}.sched-table[data-v-100c0d86]{width:100%;border-collapse:collapse;font-size:13px}.sched-table th[data-v-100c0d86]{text-align:left;padding:8px 10px;font-size:11px;font-weight:700;text-transform:uppercase;color:var(--text-secondary);border-bottom:1px solid var(--border-color)}.sched-table td[data-v-100c0d86]{padding:8px 10px;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.sched-table tr.dimmed[data-v-100c0d86]{opacity:.5}.sched-table input[type=time][data-v-100c0d86]{padding:4px 6px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:13px}.sched-table input[type=checkbox][data-v-100c0d86]{accent-color:var(--color-primary-solid);width:16px;height:16px}.days[data-v-100c0d86]{font-size:12px;color:var(--text-secondary)}.config-actions[data-v-100c0d86]{grid-column:1 / -1;display:flex;gap:8px}.btn-primary[data-v-100c0d86]{padding:10px 20px;background:var(--color-primary-solid);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer}.btn-outline[data-v-100c0d86]{padding:10px 20px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;font-weight:600;cursor:pointer;color:var(--text-primary)}.btn-danger[data-v-100c0d86]{padding:10px 20px;background:#ef4444;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer}.btn-secondary[data-v-100c0d86]{padding:10px 20px;background:var(--bg-tertiary, #e5e7eb);color:var(--text-primary);border:none;border-radius:8px;font-weight:600;cursor:pointer}.actions-section[data-v-100c0d86]{display:flex;gap:12px}.no-access[data-v-100c0d86]{color:var(--text-muted);font-style:italic}.not-found[data-v-100c0d86]{color:var(--text-muted);text-align:center;padding:40px}.inline-toast[data-v-100c0d86]{position:fixed;bottom:24px;right:24px;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:600;z-index:100;animation:slideUp-100c0d86 .2s ease}.inline-toast.success[data-v-100c0d86]{background:#dcfce7;color:#16a34a}.inline-toast.error[data-v-100c0d86]{background:#fee2e2;color:#dc2626}.inline-toast.info[data-v-100c0d86]{background:#dbeafe;color:#2563eb}@keyframes slideUp-100c0d86{0%{transform:translateY(8px);opacity:0}}.admin-field[data-v-100c0d86]{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border-color)}.admin-field[data-v-100c0d86]:last-child{border-bottom:none}.admin-field label[data-v-100c0d86]{font-size:13px;font-weight:600;color:var(--text-secondary)}.admin-select[data-v-100c0d86]{padding:6px 10px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:13px;min-width:160px;cursor:pointer}.admin-checkbox[data-v-100c0d86]{accent-color:var(--color-primary-solid);width:18px;height:18px;cursor:pointer}.input-grp.wide input[data-v-100c0d86]{width:180px}.readonly-value[data-v-100c0d86]{font-size:13px;font-weight:700;color:var(--text-primary);background:var(--bg-tertiary);padding:4px 10px;border-radius:6px}.loading-state[data-v-100c0d86]{display:flex;flex-direction:column;align-items:center;gap:16px;padding:48px 24px}.loading-spinner[data-v-100c0d86]{width:36px;height:36px;border:3px solid var(--color-border, #e0e0e0);border-top-color:var(--color-primary-solid, #3b82f6);border-radius:50%;animation:spin-100c0d86 .8s linear infinite}@keyframes spin-100c0d86{to{transform:rotate(360deg)}}.skeleton-cards[data-v-100c0d86]{display:flex;gap:16px;width:100%;max-width:800px}.skeleton-card[data-v-100c0d86]{flex:1;display:flex;flex-direction:column;gap:10px;padding:20px;border-radius:8px;background:var(--color-surface, #fff);border:1px solid var(--color-border, #e0e0e0)}.skeleton-line[data-v-100c0d86]{height:14px;border-radius:4px;background:linear-gradient(90deg,#e0e0e0 25%,#f0f0f0,#e0e0e0 75%);background-size:200% 100%;animation:shimmer-100c0d86 1.5s ease-in-out infinite}.skeleton-line--title[data-v-100c0d86]{width:50%;height:18px}.skeleton-line--text[data-v-100c0d86]{width:80%}.skeleton-line--short[data-v-100c0d86]{width:40%}@keyframes shimmer-100c0d86{0%{background-position:200% 0}to{background-position:-200% 0}}.error-boundary[data-v-a7432b88]{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px;background:linear-gradient(135deg,#fef3f3,#fff5f5)}.error-boundary-content[data-v-a7432b88]{max-width:600px;width:100%;padding:40px;background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000014;text-align:center}.error-icon[data-v-a7432b88]{font-size:64px;margin-bottom:20px;animation:pulse-a7432b88 2s ease-in-out infinite}@keyframes pulse-a7432b88{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}.error-title[data-v-a7432b88]{font-size:28px;font-weight:700;color:#dc2626;margin:0 0 16px}.error-message[data-v-a7432b88]{font-size:16px;color:#6b7280;line-height:1.6;margin:0 0 24px}.error-details[data-v-a7432b88]{margin:24px 0;text-align:left}.error-details details[data-v-a7432b88]{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:12px}.error-details summary[data-v-a7432b88]{cursor:pointer;font-weight:600;color:#374151;user-select:none}.error-details summary[data-v-a7432b88]:hover{color:#1f2937}.error-details pre[data-v-a7432b88]{margin:12px 0 0;padding:12px;background:#1f2937;color:#f9fafb;border-radius:4px;font-size:12px;overflow-x:auto;white-space:pre-wrap;word-wrap:break-word}.error-info[data-v-a7432b88]{margin-top:12px;padding:12px;background:#fef3c7;border-radius:4px;font-size:14px;color:#92400e}.error-actions[data-v-a7432b88]{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:24px}.error-actions button[data-v-a7432b88]{padding:10px 24px;font-size:14px;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:all .2s}.btn-primary[data-v-a7432b88]{background:#dc2626;color:#fff}.btn-primary[data-v-a7432b88]:hover{background:#b91c1c;transform:translateY(-1px);box-shadow:0 4px 12px #dc26264d}.btn-secondary[data-v-a7432b88]{background:#f3f4f6;color:#374151}.btn-secondary[data-v-a7432b88]:hover{background:#e5e7eb;transform:translateY(-1px)}.error-help[data-v-a7432b88]{font-size:13px;color:#9ca3af;margin:0}.error-help code[data-v-a7432b88]{background:#f3f4f6;padding:2px 6px;border-radius:3px;font-size:12px;color:#dc2626;font-family:Monaco,Courier New,monospace}@media(max-width:640px){.error-boundary-content[data-v-a7432b88]{padding:24px}.error-icon[data-v-a7432b88]{font-size:48px}.error-title[data-v-a7432b88]{font-size:22px}.error-actions[data-v-a7432b88]{flex-direction:column}.error-actions button[data-v-a7432b88]{width:100%}}.toast-container[data-v-748fc013]{position:fixed;top:80px;right:24px;z-index:10000;display:flex;flex-direction:column;gap:12px;max-width:420px;pointer-events:none}.toast[data-v-748fc013]{display:flex;align-items:flex-start;gap:12px;padding:16px 20px;border-radius:12px;background:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:var(--shadow-xl);backdrop-filter:blur(var(--glass-blur));pointer-events:auto;min-width:320px;position:relative;overflow:hidden}.toast[data-v-748fc013]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px}.toast.success[data-v-748fc013]:before{background:var(--color-success-solid)}.toast.error[data-v-748fc013]:before{background:var(--color-danger-solid)}.toast.warning[data-v-748fc013]:before{background:var(--color-warning-solid)}.toast.info[data-v-748fc013]:before{background:var(--color-info-solid)}.toast.success[data-v-748fc013]{border-color:color-mix(in srgb,var(--color-success-solid) 30%,transparent);background:color-mix(in srgb,var(--color-success-solid) 5%,var(--bg-secondary))}.toast.error[data-v-748fc013]{border-color:color-mix(in srgb,var(--color-danger-solid) 30%,transparent);background:color-mix(in srgb,var(--color-danger-solid) 5%,var(--bg-secondary))}.toast.warning[data-v-748fc013]{border-color:color-mix(in srgb,var(--color-warning-solid) 30%,transparent);background:color-mix(in srgb,var(--color-warning-solid) 5%,var(--bg-secondary))}.toast.info[data-v-748fc013]{border-color:color-mix(in srgb,var(--color-info-solid) 30%,transparent);background:color-mix(in srgb,var(--color-info-solid) 5%,var(--bg-secondary))}.toast-icon[data-v-748fc013]{font-size:20px;flex-shrink:0;line-height:1}.toast-body[data-v-748fc013]{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.toast-title[data-v-748fc013]{font-size:14px;font-weight:700;color:var(--text-primary);line-height:1.3}.toast-msg[data-v-748fc013]{font-size:13px;color:var(--text-secondary);line-height:1.4}.toast-close[data-v-748fc013]{margin-left:auto;background:none;border:none;font-size:22px;cursor:pointer;color:var(--text-tertiary);padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease;flex-shrink:0}.toast-close[data-v-748fc013]:hover{background:var(--bg-hover);color:var(--text-primary)}.toast-enter-active[data-v-748fc013]{animation:slideInRight-748fc013 .3s cubic-bezier(.4,0,.2,1)}.toast-leave-active[data-v-748fc013]{animation:slideOutRight-748fc013 .2s cubic-bezier(.4,0,1,1)}@keyframes slideInRight-748fc013{0%{transform:translate(calc(100% + 24px));opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutRight-748fc013{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(calc(100% + 24px)) scale(.95);opacity:0}}@media(max-width:1024px){.toast-container[data-v-748fc013]{right:20px;max-width:380px}.toast[data-v-748fc013]{min-width:280px}}@media(max-width:640px){.toast-container[data-v-748fc013]{top:70px;right:16px;left:16px;max-width:none}.toast[data-v-748fc013]{min-width:auto;padding:14px 16px}.toast-title[data-v-748fc013]{font-size:13px}.toast-msg[data-v-748fc013]{font-size:12px}.toast-icon[data-v-748fc013]{font-size:18px}}.dialog-overlay[data-v-44b37d81]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-44b37d81 .2s}@keyframes fadeIn-44b37d81{0%{opacity:0}to{opacity:1}}.dialog-content[data-v-44b37d81]{background:var(--bg-primary);border-radius:12px;max-width:500px;width:90%;box-shadow:0 20px 60px #0000004d;animation:slideUp-44b37d81 .3s}@keyframes slideUp-44b37d81{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.dialog-header[data-v-44b37d81]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-color)}.dialog-title[data-v-44b37d81]{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.dialog-close[data-v-44b37d81]{background:none;border:none;font-size:24px;color:var(--text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.dialog-close[data-v-44b37d81]:hover{background:var(--bg-secondary);color:var(--text-primary)}.dialog-close[data-v-44b37d81]:focus{outline:2px solid var(--color-primary-solid);outline-offset:2px}.dialog-body[data-v-44b37d81]{padding:24px}.dialog-body p[data-v-44b37d81]{margin:0;color:var(--text-secondary);line-height:1.6}.dialog-footer[data-v-44b37d81]{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border-color)}.dialog-button[data-v-44b37d81]{padding:10px 20px;border:none;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s}.dialog-button[data-v-44b37d81]:focus{outline:2px solid currentColor;outline-offset:2px}.dialog-button-secondary[data-v-44b37d81]{background:var(--bg-secondary);color:var(--text-primary)}.dialog-button-secondary[data-v-44b37d81]:hover{background:var(--bg-tertiary)}.dialog-button-danger[data-v-44b37d81]{background:#dc2626;color:#fff}.dialog-button-danger[data-v-44b37d81]:hover{background:#b91c1c}.dialog-button-warning[data-v-44b37d81]{background:#f59e0b;color:#fff}.dialog-button-warning[data-v-44b37d81]:hover{background:#d97706}.dialog-button-primary[data-v-44b37d81]{background:var(--color-primary-solid);color:#fff}.dialog-button-primary[data-v-44b37d81]:hover{background:var(--color-primary-hover)}.command-palette-overlay[data-v-1ce6bdd8]{position:fixed;inset:0;background:#0006;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:9999;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh}.command-palette-container[data-v-1ce6bdd8]{width:100%;max-width:600px;background:var(--glass-bg);backdrop-filter:blur(24px) saturate(1.8);-webkit-backdrop-filter:blur(24px) saturate(1.8);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);overflow:hidden;display:flex;flex-direction:column}.command-palette-header[data-v-1ce6bdd8]{display:flex;align-items:center;padding:0 16px;height:64px;border-bottom:1px solid var(--border-color)}.search-icon[data-v-1ce6bdd8]{color:var(--text-tertiary);margin-right:12px}.command-search-input[data-v-1ce6bdd8]{flex:1;border:none;background:transparent;font-size:1.125rem;color:var(--text-primary);outline:none;box-shadow:none!important}.command-search-input[data-v-1ce6bdd8]::placeholder{color:var(--text-tertiary);font-weight:400}.esc-hint[data-v-1ce6bdd8]{font-size:10px;font-weight:700;padding:4px 6px;border-radius:4px;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color)}.command-results[data-v-1ce6bdd8]{max-height:400px;overflow-y:auto;padding:8px 0}.result-group[data-v-1ce6bdd8]{margin-bottom:8px}.group-title[data-v-1ce6bdd8]{padding:8px 16px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary)}.result-item[data-v-1ce6bdd8]{display:flex;align-items:center;padding:12px 16px;cursor:pointer;transition:all .15s ease;margin:0 8px;border-radius:8px}.result-item.is-selected[data-v-1ce6bdd8]{background:var(--color-primary-bg);color:var(--color-primary)}.result-item.is-selected .item-title[data-v-1ce6bdd8]{color:var(--color-primary)}.item-icon[data-v-1ce6bdd8]{margin-right:12px;color:var(--text-secondary)}.result-item.is-selected .item-icon[data-v-1ce6bdd8]{color:var(--color-primary)}.item-content[data-v-1ce6bdd8]{flex:1;display:flex;flex-direction:column}.item-title[data-v-1ce6bdd8]{font-size:14px;font-weight:500;color:var(--text-primary)}.item-subtitle[data-v-1ce6bdd8]{font-size:12px;color:var(--text-tertiary);margin-top:2px}.item-action-icon[data-v-1ce6bdd8]{color:var(--text-muted);opacity:0;transform:translate(-4px);transition:all .2s ease}.result-item.is-selected .item-action-icon[data-v-1ce6bdd8]{opacity:1;transform:translate(0);color:var(--color-primary)}.no-results[data-v-1ce6bdd8]{padding:48px 24px;text-align:center;color:var(--text-tertiary);display:flex;flex-direction:column;align-items:center;gap:12px}.no-results-icon[data-v-1ce6bdd8]{opacity:.5}.command-palette-footer[data-v-1ce6bdd8]{padding:12px 16px;border-top:1px solid var(--border-color);background:var(--bg-tertiary);display:flex;justify-content:flex-end}.shortcut-hints[data-v-1ce6bdd8]{display:flex;gap:16px}.hint[data-v-1ce6bdd8]{font-size:11px;color:var(--text-secondary);display:flex;align-items:center;gap:4px}kbd[data-v-1ce6bdd8]{font-family:inherit;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;padding:1px 4px;box-shadow:0 1px 0 var(--border-color);font-size:10px;font-weight:600}.palette-fade-enter-active[data-v-1ce6bdd8]{animation:paletteScaleIn-1ce6bdd8 .2s cubic-bezier(.175,.885,.32,1.275)}.palette-fade-leave-active[data-v-1ce6bdd8]{animation:paletteScaleOut-1ce6bdd8 .15s ease-in}@keyframes paletteScaleIn-1ce6bdd8{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes paletteScaleOut-1ce6bdd8{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.95) translateY(-10px)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-primary);color:var(--text-primary);background:var(--bg-primary);line-height:1.6;overflow-x:hidden;letter-spacing:-.01em}:root{--color-primary: #2563EB;--color-primary-hover: #1D4ED8;--color-primary-muted: #3B82F6;--color-primary-solid: #2563EB;--color-primary-light: #3B82F6;--color-primary-dark: #1D4ED8;--color-primary-bg: rgba(37, 99, 235, .08);--color-primary-border: rgba(37, 99, 235, .25);--color-accent: #F97316;--color-accent-hover: #EA580C;--color-accent-bg: rgba(249, 115, 22, .1);--color-success: #059669;--color-success-solid: #059669;--color-success-bg: rgba(5, 150, 105, .1);--color-warning: #F97316;--color-warning-solid: #F97316;--color-warning-bg: rgba(249, 115, 22, .1);--color-danger: #DC2626;--color-danger-solid: #DC2626;--color-danger-bg: rgba(220, 38, 38, .1);--color-info: #3B82F6;--color-info-solid: #3B82F6;--color-info-bg: rgba(59, 130, 246, .08);--bg-primary: #FAFAF9;--bg-secondary: #FFFFFF;--bg-tertiary: #F5F5F4;--bg-elevated: #FFFFFF;--bg-hover: #F5F5F4;--bg-accent: rgba(37, 99, 235, .06);--text-primary: #0C0C0C;--text-secondary: #404040;--text-tertiary: #737373;--text-muted: #A3A3A3;--text-inverse: #FFFFFF;--border-color: #E7E5E4;--border-color-hover: #D6D3D1;--border-light: #F5F5F4;--surface: #FFFFFF;--surface-raised: #FFFFFF;--surface-overlay: rgba(255, 255, 255, .98);--glass-bg: rgba(255, 255, 255, .88);--glass-border: rgba(0, 0, 0, .06);--glass-blur: 20px;--font-primary: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Plus Jakarta Sans", var(--font-primary);--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .05), 0 1px 2px rgba(0, 0, 0, .03);--shadow-md: 0 4px 12px rgba(0, 0, 0, .05), 0 2px 4px rgba(0, 0, 0, .03);--shadow-lg: 0 12px 24px rgba(0, 0, 0, .06), 0 4px 8px rgba(0, 0, 0, .04);--shadow-xl: 0 24px 48px rgba(0, 0, 0, .08);--shadow-2xl: 0 32px 64px rgba(0, 0, 0, .12);--shadow-inner: inset 0 1px 2px rgba(0, 0, 0, .04);--shadow-glow: 0 0 0 3px var(--color-primary-bg);--shadow-glow-success: 0 0 0 3px var(--color-success-bg);--shadow-glow-danger: 0 0 0 3px var(--color-danger-bg);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.25, .1, .25, 1);--transition-base: .2s cubic-bezier(.25, .1, .25, 1);--transition-slow: .3s cubic-bezier(.25, .1, .25, 1);--transition-spring: .4s cubic-bezier(.34, 1.56, .64, 1);--spring-bouncy: cubic-bezier(.68, -.6, .32, 1.6);--spring-smooth: cubic-bezier(.175, .885, .32, 1.275);--spring-stiff: cubic-bezier(.2, .8, .2, 1);--gradient-primary: linear-gradient(135deg, var(--color-primary), var(--color-accent, #F97316));--gradient-header: linear-gradient(90deg, var(--color-primary), var(--color-primary-light));--gradient-card-glow: 0 8px 32px rgba(37, 99, 235, .12), 0 2px 8px rgba(37, 99, 235, .08);--mesh-bg: radial-gradient(at 40% 20%, rgba(37, 99, 235, .08) 0px, transparent 50%), radial-gradient(at 80% 0%, rgba(249, 115, 22, .08) 0px, transparent 50%), radial-gradient(at 0% 50%, rgba(5, 150, 105, .05) 0px, transparent 50%);--dot-pattern: radial-gradient(circle, var(--border-color) 1px, transparent 1px);--dot-pattern-size: 20px 20px;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--color-running: #059669;--color-running-bg: rgba(5, 150, 105, .12);--color-stopped: #D97706;--color-stopped-bg: rgba(217, 119, 6, .12);--color-fault: #DC2626;--color-fault-bg: rgba(220, 38, 38, .12);--color-offline: #737373;--color-offline-bg: #F5F5F4}[data-theme=dark]{--color-primary: #60A5FA;--color-primary-hover: #93C5FD;--color-primary-solid: #60A5FA;--color-primary-light: #93C5FD;--color-primary-dark: #3B82F6;--color-primary-bg: rgba(96, 165, 250, .12);--color-primary-border: rgba(96, 165, 250, .3);--color-accent: #FB923C;--color-accent-hover: #FDBA74;--color-accent-bg: rgba(251, 146, 60, .12);--color-success: #34D399;--color-success-solid: #34D399;--color-success-bg: rgba(52, 211, 153, .12);--color-warning: #FB923C;--color-warning-solid: #FB923C;--color-danger: #F87171;--color-danger-solid: #F87171;--color-danger-bg: rgba(248, 113, 113, .12);--color-info: #60A5FA;--color-info-solid: #60A5FA;--bg-primary: #0C0C0C;--bg-secondary: #171717;--bg-tertiary: #262626;--bg-elevated: #1F1F1F;--bg-hover: #262626;--bg-accent: rgba(96, 165, 250, .08);--text-primary: #FAFAFA;--text-secondary: #A3A3A3;--text-tertiary: #737373;--text-muted: #525252;--text-inverse: #0C0C0C;--border-color: #262626;--border-color-hover: #404040;--border-light: #1F1F1F;--surface: #171717;--surface-raised: #1F1F1F;--surface-overlay: rgba(12, 12, 12, .96);--glass-bg: rgba(23, 23, 23, .9);--glass-border: rgba(255, 255, 255, .08);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .35);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 12px 24px rgba(0, 0, 0, .45);--shadow-xl: 0 24px 48px rgba(0, 0, 0, .5);--shadow-2xl: 0 32px 64px rgba(0, 0, 0, .55);--gradient-card-glow: 0 8px 32px rgba(96, 165, 250, .15), 0 2px 8px rgba(96, 165, 250, .1);--mesh-bg: radial-gradient(at 40% 20%, rgba(96, 165, 250, .12) 0px, transparent 50%), radial-gradient(at 80% 0%, rgba(251, 146, 60, .1) 0px, transparent 50%), radial-gradient(at 0% 50%, rgba(52, 211, 153, .08) 0px, transparent 50%);--dot-pattern: radial-gradient(circle, var(--border-color) 1px, transparent 1px);--color-running: #34D399;--color-running-bg: rgba(52, 211, 153, .15);--color-stopped: #FBBF24;--color-stopped-bg: rgba(251, 191, 36, .15);--color-fault: #F87171;--color-fault-bg: rgba(248, 113, 113, .15);--color-offline: #737373;--color-offline-bg: #262626}.glass-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.gradient-text{background:linear-gradient(135deg,var(--color-primary),var(--color-accent, #F97316));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:800}.glass-card--frosted{background:var(--glass-bg);backdrop-filter:blur(24px) saturate(1.8);-webkit-backdrop-filter:blur(24px) saturate(1.8);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md),inset 0 1px #ffffff1a}.card-hover-lift{transition:transform .4s var(--spring-smooth),box-shadow .4s var(--spring-smooth),border-color .4s ease}.card-hover-lift:hover{transform:translateY(-6px) scale(1.01);box-shadow:var(--gradient-card-glow),var(--shadow-xl);border-color:var(--color-primary-border)}.gradient-accent-bar{position:relative}.gradient-accent-bar:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-primary);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.bg-dot-pattern{background-image:var(--dot-pattern);background-size:var(--dot-pattern-size)}.tab-transition-enter-active{animation:tabSlideIn var(--transition-slow) both}.tab-transition-leave-active{animation:tabSlideOut var(--transition-fast) both}@keyframes tabSlideIn{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}@keyframes tabSlideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-8px)}}@keyframes countUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-count-up{animation:countUp .6s cubic-bezier(.16,1,.3,1) both}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-shimmer{background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-hover) 37%,var(--bg-tertiary) 63%);background-size:400% 100%;animation:shimmer 1.4s ease-in-out infinite}@keyframes badgePulse{0%,to{box-shadow:0 0 #dc262666}50%{box-shadow:0 0 0 6px #dc262600}}.badge-pulse{animation:badgePulse 2s ease-in-out infinite}.page-section{display:flex;flex-direction:column;gap:20px}.section-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-title{font-size:15px;font-weight:700;color:var(--text-primary);letter-spacing:-.2px;display:flex;align-items:center;gap:8px}.section-title:before{content:"";display:inline-block;width:3px;height:16px;border-radius:2px;background:linear-gradient(180deg,var(--color-primary),var(--color-accent, #F97316));flex-shrink:0}.card-accent{border-top:2px solid var(--color-primary)}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--color-success);display:inline-block;animation:liveDotPulse 2s ease-in-out infinite}@keyframes liveDotPulse{0%,to{opacity:1;box-shadow:0 0 #05966966}50%{opacity:.8;box-shadow:0 0 0 4px #05966900}}.divider{height:1px;background:var(--border-color);border:none;margin:var(--space-lg) 0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-3xl) var(--space-xl);text-align:center;color:var(--text-tertiary);gap:var(--space-sm)}.empty-state__title{font-size:var(--text-base);font-weight:600;color:var(--text-secondary)}.empty-state__desc{font-size:var(--text-sm)}html{scroll-behavior:smooth}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--border-color-hover);border-radius:var(--radius-full);border:1px solid transparent;background-clip:content-box;transition:background .2s ease}::-webkit-scrollbar-thumb:hover{background:var(--text-muted);border:0}::-webkit-scrollbar-corner{background:transparent}*{scrollbar-width:thin;scrollbar-color:var(--border-color-hover) var(--bg-primary)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm);transition:outline-offset var(--transition-fast),box-shadow var(--transition-fast)}button:focus-visible,a:focus-visible,[role=button]:focus-visible,[role=tab]:focus-visible,[role=menuitem]:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;box-shadow:var(--shadow-glow),0 0 0 6px #2563eb0f;transition:outline-offset var(--transition-fast),box-shadow var(--transition-fast)}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-bg),0 0 0 1px var(--color-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.skip-to-content{position:absolute;top:-100%;left:var(--space-md);z-index:calc(var(--z-modal) + 10);padding:var(--space-sm) var(--space-lg);background:var(--color-primary);color:var(--text-inverse);font-weight:600;border-radius:0 0 var(--radius-md) var(--radius-md);transition:top var(--transition-fast)}.skip-to-content:focus{top:0}.kbd{display:inline-flex;align-items:center;justify-content:center;min-width:1.5em;padding:.125em .375em;font-family:var(--font-primary);font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:0 1px 0 var(--border-color);line-height:1.4}.focus-ring:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;box-shadow:var(--shadow-glow)}::selection{background:var(--color-primary-bg);color:var(--text-primary)}:disabled,.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}button,a,[role=button],[role=link]{-webkit-tap-highlight-color:transparent}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.card,.data-table tbody tr,.skeleton-row{contain:layout style}.sidebar,.main-content{contain:layout}.dialog-overlay,.confirm-overlay{contain:layout style paint}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.25;color:var(--text-primary);letter-spacing:-.02em}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}p{margin-bottom:var(--space-md)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 var(--space-lg)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@keyframes slideInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.animate-fade-in{animation:fadeIn var(--transition-base)}.animate-slide-in-up{animation:slideInUp var(--transition-base)}.animate-slide-in-down{animation:slideInDown var(--transition-base)}.animate-scale-in{animation:scaleIn var(--transition-base)}@media(min-width:768px){:root{--text-4xl: 2.5rem;--text-3xl: 2rem}}@media(min-width:1024px){:root{--text-4xl: 3rem;--text-3xl: 2.25rem}}@media(min-width:1280px){.container{max-width:1400px}}@media(max-width:1023px){.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:767px){:root{--text-4xl: 1.875rem;--text-3xl: 1.5rem;--text-2xl: 1.25rem}.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}.container{padding:0 var(--space-md)}}@media(max-width:479px){:root{--text-4xl: 1.5rem;--text-3xl: 1.25rem;--text-2xl: 1.125rem}body{font-size:15px}.container{padding:0 var(--space-sm)}}.page{width:100%;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md, 1rem);flex-wrap:wrap;margin-bottom:var(--space-lg, 1.5rem)}.page-header h1{font-size:var(--text-3xl, 1.875rem);font-weight:700;color:var(--text-primary);margin:0 0 var(--space-xs, .25rem) 0}.page-subtitle{font-size:var(--text-base, 1rem);color:var(--text-secondary);margin:0}.page-header.header-with-actions{align-items:flex-start}.header-btn-group,.page-actions{display:flex;align-items:center;gap:var(--space-sm, .5rem);flex-shrink:0}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-md, 1rem);margin-bottom:var(--space-lg, 1.5rem)}.search-bar{flex:1;min-width:200px}.search-input{width:100%;max-width:320px;padding:var(--space-sm, .5rem) var(--space-md, 1rem);font-size:var(--text-sm, .875rem);border:1px solid var(--border-color);border-radius:var(--radius-md, .5rem);background:var(--bg-secondary);color:var(--text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.search-input::placeholder{color:var(--text-tertiary)}.search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-bg)}.filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm, .5rem);margin-bottom:var(--space-lg, 1.5rem)}.search{padding:var(--space-sm, .5rem) var(--space-md, 1rem);font-size:var(--text-sm, .875rem);border:1px solid var(--border-color);border-radius:var(--radius-md, .5rem);background:var(--bg-secondary);color:var(--text-primary);min-width:200px;max-width:320px}.search::placeholder{color:var(--text-tertiary)}.filter-select,.filter-input{padding:var(--space-sm, .5rem) var(--space-md, 1rem);font-size:var(--text-sm, .875rem);border:1px solid var(--border-color);border-radius:var(--radius-md, .5rem);background:var(--bg-secondary);color:var(--text-primary);min-width:140px}.filter-input{min-width:120px}.btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-sm, .5rem) var(--space-lg, 1.5rem);font-size:var(--text-sm, .875rem);font-weight:600;color:var(--text-inverse);background:var(--color-primary);border:none;border-radius:var(--radius-md, 8px);cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);text-decoration:none}.btn-primary:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-sm, .5rem) var(--space-lg, 1.5rem);font-size:var(--text-sm, .875rem);font-weight:600;color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md, .5rem);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.btn-secondary:hover{background:var(--border-light);border-color:var(--border-color-hover)}.btn-sm{padding:var(--space-xs, .25rem) var(--space-sm, .5rem);font-size:var(--text-xs, .75rem)}.btn-outline{background:transparent;border:1px solid var(--border-color);color:var(--text-primary)}.btn-outline:hover{background:var(--bg-tertiary)}.table-container{overflow-x:auto;border:1px solid var(--border-color);border-radius:var(--radius-lg, .75rem);background:var(--bg-secondary);box-shadow:var(--shadow-sm)}.data-table{width:100%;border-collapse:collapse;font-size:var(--text-sm, .875rem)}.data-table thead{background:var(--bg-tertiary);border-bottom:2px solid var(--border-color)}.data-table th{text-align:left;padding:var(--space-md, 1rem);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.02em;font-size:var(--text-xs, .75rem)}.data-table td{padding:var(--space-md, 1rem);border-bottom:1px solid var(--border-light);color:var(--text-primary);vertical-align:middle}.data-table tbody tr:hover{background:var(--bg-hover)}.data-table tbody tr:last-child td{border-bottom:none}.data-table .name-cell{font-weight:500;color:var(--text-primary)}.text-muted{font-size:var(--text-xs, .75rem);color:var(--text-tertiary);display:block;margin-top:2px}.status-badge{display:inline-block;padding:.2rem .6rem;border-radius:var(--radius-full, 9999px);font-size:var(--text-xs, .75rem);font-weight:600}.status-badge.status-active,.status-badge.status-online,.status-badge.status-running,.status-badge.status-normal{background:var(--color-running-bg);color:var(--color-running)}.status-badge.status-inactive,.status-badge.status-offline,.status-badge.status-stopped{background:var(--color-stopped-bg);color:var(--color-stopped)}.status-badge.status-fault,.status-badge.status-faulted,.status-badge.status-error{background:var(--color-fault-bg);color:var(--color-fault)}.status-badge.status-low,.status-badge.status-warning{background:var(--color-warning-bg);color:var(--color-warning)}.status-badge.status-high{background:var(--color-info-bg);color:var(--color-info)}.status-badge.status-nodata{background:var(--bg-tertiary);color:var(--text-tertiary)}.status-badge.status-paused,.status-badge.status-maintenance{background:var(--color-primary-bg);color:var(--color-primary)}.loading-container{min-height:200px;display:flex;align-items:center;justify-content:center;padding:var(--space-xl, 2rem)}.geography-layout{display:grid;grid-template-columns:280px 1fr;gap:var(--space-lg, 1.5rem);min-height:400px}@media(max-width:768px){.geography-layout{grid-template-columns:1fr}}.tree-panel{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg, .75rem);padding:var(--space-md, 1rem);overflow-y:auto}.tree-panel h3{font-size:var(--text-sm, .875rem);font-weight:600;color:var(--text-secondary);margin:0 0 var(--space-md, 1rem) 0;text-transform:uppercase;letter-spacing:.05em}.tree-list{list-style:none;margin:0;padding:0}.tree-node{margin-bottom:2px}.tree-node-btn{width:100%;display:flex;align-items:center;gap:var(--space-sm, .5rem);padding:var(--space-sm, .5rem) var(--space-md, 1rem);font-size:var(--text-sm, .875rem);text-align:left;background:transparent;border:none;border-radius:var(--radius-md, .5rem);color:var(--text-primary);cursor:pointer;transition:background var(--transition-fast)}.tree-node-btn:hover{background:var(--bg-tertiary)}.tree-node-btn.active{background:var(--color-primary);color:var(--text-inverse)}.node-name{flex:1;font-weight:500}.node-type{font-size:var(--text-xs, .75rem);color:var(--text-tertiary);text-transform:uppercase}.tree-node-btn.active .node-type{color:color-mix(in srgb,var(--text-inverse) 85%,transparent)}.node-count{font-size:var(--text-xs, .75rem);background:var(--bg-tertiary);color:var(--text-secondary);padding:.1rem .4rem;border-radius:var(--radius-sm, .375rem)}.tree-node-btn.active .node-count{background:color-mix(in srgb,var(--text-inverse) 20%,transparent);color:var(--text-inverse)}.detail-panel{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg, .75rem);padding:var(--space-lg, 1.5rem)}.node-detail h2{font-size:var(--text-xl, 1.25rem);margin:0 0 var(--space-md, 1rem) 0}.detail-grid{display:grid;grid-template-columns:auto 1fr;gap:var(--space-sm, .5rem) var(--space-lg, 1.5rem);margin:0;font-size:var(--text-sm, .875rem)}.detail-grid dt{color:var(--text-secondary);font-weight:500}.detail-grid dd{margin:0;color:var(--text-primary)}.map-container{min-height:400px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-lg, .75rem);display:flex;align-items:center;justify-content:center;padding:var(--space-xl, 2rem)}.map-placeholder{text-align:center;color:var(--text-secondary)}.map-placeholder p{margin:0 0 var(--space-sm, .5rem) 0}.map-stats{font-size:var(--text-sm, .875rem);color:var(--text-tertiary)}.marker-sidebar{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg, .75rem);padding:var(--space-md, 1rem);max-height:400px;overflow-y:auto}.marker-sidebar h3{font-size:var(--text-sm, .875rem);font-weight:600;margin:0 0 var(--space-md, 1rem) 0}.marker-list{list-style:none;margin:0;padding:0}.marker-item{display:flex;align-items:center;gap:var(--space-sm, .5rem);padding:var(--space-sm, .5rem) 0;border-bottom:1px solid var(--border-light);cursor:pointer;transition:background var(--transition-fast)}.marker-item:hover,.marker-item.selected{background:var(--bg-tertiary)}.marker-type{font-size:1.25rem}.marker-name{flex:1;font-size:var(--text-sm, .875rem);font-weight:500}.action-badge{display:inline-block;padding:.2rem .5rem;font-size:var(--text-xs, .75rem);font-weight:600;background:var(--bg-tertiary);border-radius:var(--radius-sm, .375rem);color:var(--text-primary)}.profile-layout,.settings-layout{display:flex;flex-direction:column;gap:var(--space-xl, 2rem);max-width:640px}.profile-card{display:flex;align-items:center;gap:var(--space-lg, 1.5rem);padding:var(--space-lg, 1.5rem);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg, .75rem);box-shadow:var(--shadow-sm)}.profile-avatar{flex-shrink:0}.avatar-placeholder{width:72px;height:72px;border-radius:50%;background:var(--color-primary);color:var(--text-inverse);display:flex;align-items:center;justify-content:center;font-size:var(--text-xl, 1.25rem);font-weight:700}.profile-info h2{font-size:var(--text-xl, 1.25rem);margin:0 0 var(--space-xs, .25rem) 0}.profile-role,.profile-email,.profile-phone{font-size:var(--text-sm, .875rem);color:var(--text-secondary);margin:0 0 var(--space-xs, .25rem) 0}.settings-section h3{font-size:var(--text-base, 1rem);font-weight:600;color:var(--text-primary);margin:0 0 var(--space-md, 1rem) 0}.settings-grid{display:grid;gap:var(--space-md, 1rem);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg, .75rem);padding:var(--space-lg, 1.5rem)}.setting-item{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md, 1rem);font-size:var(--text-sm, .875rem)}.setting-item label{color:var(--text-secondary);font-weight:500}.setting-item span{color:var(--text-primary)}.role-badge{display:inline-block;padding:.2rem .5rem;font-size:var(--text-xs, .75rem);font-weight:600;background:var(--bg-tertiary);border-radius:var(--radius-sm, .375rem);color:var(--text-primary)}.status-dot{display:inline-flex;align-items:center;gap:.35rem;font-size:var(--text-sm, .875rem)}.status-dot.active{color:var(--color-success, #22c55e)}.status-dot.inactive{color:var(--text-tertiary)}.action-btn{padding:var(--space-xs, .25rem) var(--space-sm, .5rem);font-size:var(--text-xs, .75rem);font-weight:500;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm, .375rem);color:var(--text-primary);cursor:pointer}.action-btn:hover{background:var(--bg-secondary)}.glass{background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #1f268726}.glass-strong{background:#ffffff26;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px #1f268740}.glass-dark{background:#0003;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0000004d}.glass-card{background:#ffffff0d;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.18);border-radius:12px;box-shadow:0 8px 32px #1f268733}.transition-all{transition:all .3s cubic-bezier(.4,0,.2,1)}.transition-fast{transition:all .15s cubic-bezier(.4,0,.2,1)}.transition-slow{transition:all .5s cubic-bezier(.4,0,.2,1)}.transition-bounce{transition:all .4s cubic-bezier(.68,-.55,.265,1.55)}.transition-spring-bouncy{transition:all .5s var(--spring-bouncy)}.transition-spring-smooth{transition:all .4s var(--spring-smooth)}.transition-spring-stiff{transition:all .3s var(--spring-stiff)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.animate-fadeIn{animation:fadeIn .3s ease-out}.animate-fadeOut{animation:fadeOut .3s ease-out}.animate-fadeInUp{animation:fadeInUp .4s ease-out}.animate-fadeInDown{animation:fadeInDown .4s ease-out}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}.animate-scaleIn{animation:scaleIn .3s cubic-bezier(.4,0,.2,1)}.animate-scaleOut{animation:scaleOut .3s cubic-bezier(.4,0,.2,1)}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.animate-slideInRight{animation:slideInRight .3s ease-out}.animate-slideInLeft{animation:slideInLeft .3s ease-out}.animate-slideOutRight{animation:slideOutRight .3s ease-out}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-spin{animation:spin 1s linear infinite}.animate-shimmer{background:linear-gradient(90deg,#ffffff1a,#ffffff4d,#ffffff1a);background-size:1000px 100%;animation:shimmer 2s infinite}.animate-bounce{animation:bounce 1s ease-in-out infinite}.hover-lift{transition:transform .2s ease,box-shadow .2s ease}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 12px 24px #00000026}.hover-glow{position:relative;transition:all .3s ease}.hover-glow:before{content:"";position:absolute;inset:-2px;border-radius:inherit;background:var(--color-primary);opacity:0;transition:opacity .3s ease;z-index:-1;filter:blur(10px)}.hover-glow:hover:before{opacity:.6}.hover-scale{transition:transform .2s ease}.hover-scale:hover{transform:scale(1.05)}.hover-brightness{transition:filter .2s ease}.hover-brightness:hover{filter:brightness(1.1)}.skeleton{background:linear-gradient(90deg,#ffffff1a 25%,#fff3,#ffffff1a 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px}.skeleton-text{height:1em;margin-bottom:.5em;border-radius:4px}.skeleton-circle{border-radius:50%;aspect-ratio:1}.skeleton-card{min-height:200px;border-radius:12px}.stagger-item{animation:fadeInUp .5s ease-out backwards}.stagger-item:nth-child(1){animation-delay:.05s}.stagger-item:nth-child(2){animation-delay:.1s}.stagger-item:nth-child(3){animation-delay:.15s}.stagger-item:nth-child(4){animation-delay:.2s}.stagger-item:nth-child(5){animation-delay:.25s}.stagger-item:nth-child(6){animation-delay:.3s}.stagger-item:nth-child(7){animation-delay:.35s}.stagger-item:nth-child(8){animation-delay:.4s}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.gradient-animated{background:linear-gradient(270deg,var(--color-primary),var(--color-primary-light),var(--color-info-solid),var(--color-primary));background-size:400% 400%;animation:gradientShift 15s ease infinite}.ripple{position:relative;overflow:hidden}.ripple:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff80;transform:translate(-50%,-50%);transition:width .6s,height .6s}.ripple:active:after{width:300px;height:300px}.focus-ring{outline:none;transition:box-shadow .2s ease}.focus-ring:focus-visible{box-shadow:0 0 0 3px var(--color-primary-bg)}.page-enter-active,.page-leave-active{transition:opacity .3s ease,transform .3s ease}.page-enter-from{opacity:0;transform:translate(20px)}.page-leave-to{opacity:0;transform:translate(-20px)}.modal-enter-active{animation:fadeIn .2s ease-out,scaleIn .2s ease-out}.modal-leave-active{animation:fadeOut .2s ease-in,scaleOut .2s ease-in}.modal-backdrop-enter-active,.modal-backdrop-leave-active{transition:opacity .2s ease}.modal-backdrop-enter-from,.modal-backdrop-leave-to{opacity:0}.blur-sm{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.blur-md{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.blur-lg{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.blur-xl{backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.shadow-glow{box-shadow:0 0 0 3px var(--color-primary-bg),0 0 24px #0d948833}.transform-gpu{transform:translateZ(0);will-change:transform}
