.app-layout[data-v-fbf07723]{height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)!important;position:relative;min-height:100vh}.app-header[data-v-fbf07723]{height:64px;background:#fffffffa!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 2px 8px #0000001a;padding:0 24px;position:relative;z-index:10}.header-content[data-v-fbf07723]{display:flex;align-items:center;justify-content:space-between;height:100%}.header-left[data-v-fbf07723]{display:flex;align-items:center}.logo[data-v-fbf07723]{display:flex;align-items:center;gap:12px;font-weight:600;font-size:18px;color:#1d1d1d}.logo-text[data-v-fbf07723]{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-right[data-v-fbf07723]{display:flex;align-items:center;gap:12px}.app-body[data-v-fbf07723]{height:calc(100vh - 64px)}.app-sider[data-v-fbf07723]{background:#fffffffa!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:2px 0 8px #0000001a;position:relative;z-index:10}.app-menu[data-v-fbf07723]{margin-top:16px}.app-content[data-v-fbf07723]{background:transparent!important;padding:24px;overflow-y:auto;position:relative;z-index:1;min-height:calc(100vh - 64px)}[data-v-fbf07723] .n-layout-content,[data-v-fbf07723] .n-layout{background:transparent!important}[data-v-fbf07723] .n-layout-header,[data-v-fbf07723] .n-layout-sider{background:#fffffffa!important}.content-wrapper[data-v-fbf07723]{max-width:1400px;margin:0 auto;width:100%}.fade-enter-active[data-v-fbf07723],.fade-leave-active[data-v-fbf07723]{transition:opacity .2s ease,transform .2s ease}.fade-enter-from[data-v-fbf07723]{opacity:0;transform:translateY(8px)}.fade-leave-to[data-v-fbf07723]{opacity:0;transform:translateY(-8px)}.content-wrapper[data-v-fbf07723]{min-height:calc(100vh - 112px);position:relative}*{margin:0;padding:0;box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden}#app{width:100%;height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;position:relative}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0000001a;border-radius:4px}::-webkit-scrollbar-thumb{background:#0000004d;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#00000080}.page-container[data-v-eaf681d8]{animation:fadeIn-eaf681d8 .3s ease-in}@keyframes fadeIn-eaf681d8{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modern-card[data-v-eaf681d8]{background:#fffffffa;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:20px;box-shadow:0 4px 16px #0000001a;border:1px solid rgba(255,255,255,.5)}.card-header[data-v-eaf681d8]{display:flex;justify-content:space-between;align-items:center;font-size:20px;font-weight:700;color:#333}.header-title[data-v-eaf681d8]{display:flex;align-items:center}.stat-card[data-v-eaf681d8]{background:#fffffffa;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:16px;box-shadow:0 4px 12px #0000001a;border:1px solid rgba(255,255,255,.5);transition:transform .3s ease,box-shadow .3s ease}.stat-card[data-v-eaf681d8]:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026}.stat-content[data-v-eaf681d8]{display:flex;align-items:center;gap:16px}.stat-icon[data-v-eaf681d8]{width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-info[data-v-eaf681d8]{flex:1}.stat-label[data-v-eaf681d8]{font-size:14px;color:#666;margin-bottom:8px}.stat-value[data-v-eaf681d8]{font-size:28px;font-weight:700;color:#1d1d1d;line-height:1.2;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.device-card-wrapper[data-v-eaf681d8]{height:100%}.device-card[data-v-eaf681d8]{background:linear-gradient(135deg,#fffffffa,#fffffff2)!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:20px!important;border:1px solid rgba(102,126,234,.15)!important;box-shadow:0 4px 20px #667eea1a!important;transition:all .4s cubic-bezier(.4,0,.2,1);overflow:hidden;height:100%;position:relative;cursor:pointer}.device-card[data-v-eaf681d8]:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2,#f093fb);opacity:0;transition:opacity .3s ease}.device-card[data-v-eaf681d8]:hover{transform:translateY(-4px);box-shadow:0 8px 32px #667eea33!important;border-color:#667eea4d!important}.device-card[data-v-eaf681d8]:hover:before{opacity:1}.device-card[data-v-eaf681d8] .n-card__content{padding:0!important}.card-header-section[data-v-eaf681d8]{padding:20px;background:linear-gradient(135deg,#667eea14,#764ba214);border-bottom:1px solid rgba(102,126,234,.1)}.device-header[data-v-eaf681d8]{display:flex;align-items:center;gap:12px;margin-bottom:12px}.device-icon[data-v-eaf681d8]{width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #667eea4d;flex-shrink:0}.device-info[data-v-eaf681d8]{flex:1;min-width:0}.device-name-row[data-v-eaf681d8]{display:flex;align-items:center;gap:8px;margin-bottom:6px}.device-name[data-v-eaf681d8]{font-size:18px;font-weight:700;color:#1d1d1d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.online-status-tag[data-v-eaf681d8]{flex-shrink:0}.device-code-tag[data-v-eaf681d8]{font-size:11px;font-weight:600;letter-spacing:.5px}.time-badge[data-v-eaf681d8]{display:flex;align-items:center;font-size:12px;color:#666;padding:6px 12px;background:#fff9;border-radius:12px;width:fit-content}.card-body-section[data-v-eaf681d8]{padding:20px}.data-grid[data-v-eaf681d8]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.data-cell[data-v-eaf681d8]{padding:12px;border-radius:12px;background:#fafafccc;border:1px solid rgba(239,239,245,.8);transition:all .3s ease;display:flex;align-items:center;gap:10px}.data-cell[data-v-eaf681d8]:hover{background:#667eea0d;border-color:#667eea33;transform:translateY(-2px)}.data-cell.primary[data-v-eaf681d8]{background:linear-gradient(135deg,#667eea26,#764ba226);border-color:#667eea4d}.data-cell.success[data-v-eaf681d8]{background:linear-gradient(135deg,#18a05826,#36ad6a26);border-color:#18a0584d}.data-cell.highlight[data-v-eaf681d8]{background:linear-gradient(135deg,#ff6b6b1a,#4ecdc41a);border-color:#ff6b6b33}.data-icon[data-v-eaf681d8]{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.voltage-icon[data-v-eaf681d8]{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #667eea4d}.current-icon[data-v-eaf681d8]{background:linear-gradient(135deg,#18a058,#36ad6a);box-shadow:0 2px 8px #18a0584d}.temp-icon[data-v-eaf681d8]{background:#ff6b6b1a}.data-content[data-v-eaf681d8]{flex:1;min-width:0}.data-label[data-v-eaf681d8]{font-size:12px;color:#666;margin-bottom:4px}.data-value[data-v-eaf681d8]{font-size:16px;font-weight:700;color:#1d1d1d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stage-value[data-v-eaf681d8]{color:#764ba2;font-weight:700}.page-container[data-v-b1e49cd2]{animation:fadeIn-b1e49cd2 .3s ease-in}@keyframes fadeIn-b1e49cd2{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modern-card[data-v-b1e49cd2]{background:#fffffffa!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:16px;box-shadow:0 8px 32px #00000026;border:1px solid rgba(255,255,255,.5);margin-bottom:24px}.card-header[data-v-b1e49cd2]{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.header-title[data-v-b1e49cd2]{display:flex;align-items:center;font-size:20px;font-weight:600;color:#1d1d1d}.device-card-wrapper[data-v-b1e49cd2]{height:100%}.device-card[data-v-b1e49cd2]{background:linear-gradient(135deg,#fffffffa,#fffffff2)!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:20px!important;border:1px solid rgba(102,126,234,.15)!important;box-shadow:0 4px 20px #667eea1a!important;transition:all .4s cubic-bezier(.4,0,.2,1);overflow:hidden;height:100%;position:relative;cursor:pointer}.device-card-selected[data-v-b1e49cd2]{border-color:#667eea80!important;box-shadow:0 8px 32px #667eea4d!important}.device-card-selected[data-v-b1e49cd2]:before{opacity:1!important}.device-card[data-v-b1e49cd2]:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2,#f093fb);opacity:0;transition:opacity .3s ease}.device-card[data-v-b1e49cd2]:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 12px 40px #667eea40!important;border-color:#667eea4d!important}.device-card[data-v-b1e49cd2]:hover:before{opacity:1}.device-card[data-v-b1e49cd2] .n-card__content{padding:0!important}.card-header-section[data-v-b1e49cd2]{padding:20px;background:linear-gradient(135deg,#667eea14,#764ba214);border-bottom:1px solid rgba(102,126,234,.1)}.device-header[data-v-b1e49cd2]{display:flex;align-items:center;gap:12px;margin-bottom:12px}.device-icon[data-v-b1e49cd2]{width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #667eea4d;flex-shrink:0}.device-info[data-v-b1e49cd2]{flex:1;min-width:0}.device-name-row[data-v-b1e49cd2]{display:flex;align-items:center;gap:8px;margin-bottom:6px}.device-name[data-v-b1e49cd2]{font-size:18px;font-weight:700;color:#1d1d1d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.online-status-tag[data-v-b1e49cd2]{flex-shrink:0}.device-code-tag[data-v-b1e49cd2]{font-size:11px;font-weight:600;letter-spacing:.5px}.time-badge[data-v-b1e49cd2]{display:flex;align-items:center;font-size:12px;color:#666;padding:6px 12px;background:#fff9;border-radius:12px;width:fit-content}.card-body-section[data-v-b1e49cd2]{padding:20px}.data-grid[data-v-b1e49cd2]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.data-cell[data-v-b1e49cd2]{padding:12px;border-radius:12px;background:#fafafccc;border:1px solid rgba(239,239,245,.8);transition:all .3s ease;display:flex;align-items:center;gap:10px}.data-cell[data-v-b1e49cd2]:hover{background:#667eea0d;border-color:#667eea33;transform:translateY(-2px)}.data-cell.primary[data-v-b1e49cd2]{background:linear-gradient(135deg,#667eea26,#764ba226);border-color:#667eea4d}.data-cell.success[data-v-b1e49cd2]{background:linear-gradient(135deg,#18a05826,#36ad6a26);border-color:#18a0584d}.data-cell.highlight[data-v-b1e49cd2]{background:linear-gradient(135deg,#ff6b6b1a,#4ecdc41a);border-color:#ff6b6b33}.data-icon[data-v-b1e49cd2]{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.voltage-icon[data-v-b1e49cd2]{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #667eea4d}.current-icon[data-v-b1e49cd2]{background:linear-gradient(135deg,#18a058,#36ad6a);box-shadow:0 2px 8px #18a0584d}.temp-icon[data-v-b1e49cd2]{background:#ff6b6b1a}.data-content[data-v-b1e49cd2]{flex:1;min-width:0}.data-label[data-v-b1e49cd2]{font-size:12px;color:#666;margin-bottom:4px}.data-value[data-v-b1e49cd2]{font-size:16px;font-weight:700;color:#1d1d1d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stage-value[data-v-b1e49cd2]{color:#764ba2;font-weight:700}.card-actions[data-v-b1e49cd2]{padding:12px 20px;border-top:1px solid rgba(102,126,234,.1);display:flex;gap:8px;justify-content:flex-end}.device-detail-section[data-v-b1e49cd2]{margin-top:24px}.card-header-wrapper[data-v-b1e49cd2]{background:linear-gradient(135deg,#667eea1a,#764ba21a);margin:-16px -16px 0;padding:20px 24px 24px;border-radius:16px 16px 0 0}.header-left[data-v-b1e49cd2]{display:flex;align-items:center;flex:1}.title-icon[data-v-b1e49cd2]{width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #667eea4d}.title-content[data-v-b1e49cd2]{display:flex;flex-direction:column;gap:4px;margin-left:16px}.title-text[data-v-b1e49cd2]{font-size:24px;font-weight:700;color:#1d1d1d;margin:0;line-height:1.2}.title-subtitle[data-v-b1e49cd2]{font-size:14px;color:#666;font-weight:400}.header-right[data-v-b1e49cd2]{display:flex;align-items:center}.stats-section[data-v-b1e49cd2]{padding-top:20px;margin:0}.stat-item[data-v-b1e49cd2]{display:flex;align-items:center;gap:12px;padding:12px;background:#fff9;border-radius:12px;border:1px solid rgba(239,239,245,.8);transition:all .3s ease}.stat-item[data-v-b1e49cd2]:hover{background:#ffffffe6;transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.stat-icon-small[data-v-b1e49cd2]{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px #00000026}.stat-info-small[data-v-b1e49cd2]{flex:1;min-width:0}.stat-label-small[data-v-b1e49cd2]{font-size:12px;color:#666;margin-bottom:4px;white-space:nowrap}.stat-value-small[data-v-b1e49cd2]{font-size:16px;font-weight:700;color:#1d1d1d;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.info-card[data-v-b1e49cd2]{background:#fffc;border-radius:16px;border:1px solid rgba(239,239,245,.8);transition:all .3s ease;box-shadow:0 2px 8px #0000000a}.info-card[data-v-b1e49cd2]:hover{box-shadow:0 4px 16px #00000014;transform:translateY(-2px)}.latest-data-card[data-v-b1e49cd2]{background:linear-gradient(135deg,#f5576c0d,#f093fb0d);border:1px solid rgba(245,87,108,.2)}.chart-card[data-v-b1e49cd2]{background:linear-gradient(135deg,#4facfe0d,#00f2fe0d);border:1px solid rgba(79,172,254,.2)}.table-card[data-v-b1e49cd2]{background:linear-gradient(135deg,#43e97b0d,#38f9d70d);border:1px solid rgba(67,233,123,.2)}.section-header[data-v-b1e49cd2]{display:flex;align-items:center;justify-content:space-between;font-size:16px;font-weight:600;color:#1d1d1d;width:100%}.section-header-left[data-v-b1e49cd2]{display:flex;align-items:center;flex:1}.section-header-right[data-v-b1e49cd2]{display:flex;align-items:center;gap:8px}.section-title[data-v-b1e49cd2]{font-size:16px;font-weight:600;color:#1d1d1d}.chart-container[data-v-b1e49cd2]{padding:20px;background:#fff9;border-radius:12px;border:1px solid rgba(79,172,254,.1)}.chart[data-v-b1e49cd2]{height:450px;width:100%}.time-text[data-v-b1e49cd2]{color:#666;font-size:13px}.device-descriptions[data-v-b1e49cd2]{margin-top:8px}.device-code-text[data-v-b1e49cd2]{font-family:Monaco,Menlo,Courier New,monospace;font-size:14px;font-weight:600;color:#667eea;background:#667eea1a;padding:4px 8px;border-radius:4px}.device-name-text[data-v-b1e49cd2]{font-size:15px;font-weight:500;color:#1d1d1d}.telemetry-descriptions[data-v-b1e49cd2]{margin-top:8px}.voltage-value[data-v-b1e49cd2]{color:#667eea;font-weight:700;font-size:15px}.current-value[data-v-b1e49cd2]{color:#18a058;font-weight:700;font-size:15px}.temp-value[data-v-b1e49cd2]{color:#f5576c;font-weight:600;font-size:14px}.capacity-value[data-v-b1e49cd2]{color:#4facfe;font-weight:600;font-size:14px}.raw-hex-code[data-v-b1e49cd2]{font-family:Monaco,Menlo,Courier New,monospace;font-size:13px;color:#666;word-break:break-all;line-height:1.6}[data-v-b1e49cd2] .n-descriptions{background:transparent}[data-v-b1e49cd2] .n-descriptions-item-label{font-weight:600;color:#666;font-size:14px;width:120px;text-align:right;padding-right:16px;vertical-align:middle}[data-v-b1e49cd2] .n-descriptions-item-content{font-size:14px;padding-left:16px;vertical-align:middle}[data-v-b1e49cd2] .n-descriptions-table-row{height:auto;min-height:48px}[data-v-b1e49cd2] .n-descriptions-table-row td,[data-v-b1e49cd2] .n-descriptions-table-row th{vertical-align:middle;padding:12px 16px}[data-v-b1e49cd2] .n-data-table-th{background:linear-gradient(135deg,#43e97b1a,#38f9d71a);font-weight:600;font-size:14px}[data-v-b1e49cd2] .n-data-table-tr--striped{background:#43e97b08}[data-v-b1e49cd2] .n-data-table-td{font-size:13px}[data-v-b1e49cd2] .n-data-table-tr:hover{background:#43e97b0d!important}.modern-modal :deep(.n-card){border-radius:12px;box-shadow:0 8px 32px #0000001f}.modern-modal :deep(.n-card-header){padding:20px 24px;border-bottom:1px solid rgba(0,0,0,.06)}.modern-modal :deep(.n-card-body){padding:24px}.modern-modal :deep(.n-card__action){padding:16px 24px;border-top:1px solid rgba(0,0,0,.06)}.error-modal :deep(.n-card-header){background:linear-gradient(135deg,#d030500d,#d0305005)}.error-modal :deep(.n-card-body){background:#d0305005}.login-container[data-v-f4c69a66]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.login-card[data-v-f4c69a66]{width:100%;max-width:420px;background:#fffffffa;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:20px;padding:48px;box-shadow:0 20px 60px #0000004d;animation:slideUp-f4c69a66 .4s ease-out}@keyframes slideUp-f4c69a66{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header[data-v-f4c69a66]{text-align:center;margin-bottom:32px}.login-title[data-v-f4c69a66]{font-size:24px;font-weight:700;color:#1d1d1d;margin:0 0 8px}.login-subtitle[data-v-f4c69a66]{font-size:14px;color:#666;margin:0}.login-footer[data-v-f4c69a66]{text-align:center;margin-top:24px;font-size:14px}.register-link[data-v-f4c69a66]{color:#667eea;text-decoration:none;font-weight:500;margin-left:8px;transition:color .2s ease}.register-link[data-v-f4c69a66]:hover{color:#764ba2;text-decoration:underline}[data-v-f4c69a66] .n-form-item-label{font-weight:500}.register-container[data-v-85a1baf9]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.register-card[data-v-85a1baf9]{width:100%;max-width:420px;background:#fffffffa;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:20px;padding:48px;box-shadow:0 20px 60px #0000004d;animation:slideUp-85a1baf9 .4s ease-out}@keyframes slideUp-85a1baf9{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.register-header[data-v-85a1baf9]{text-align:center;margin-bottom:32px}.register-title[data-v-85a1baf9]{font-size:24px;font-weight:700;color:#1d1d1d;margin:0 0 8px}.register-subtitle[data-v-85a1baf9]{font-size:14px;color:#666;margin:0}.register-footer[data-v-85a1baf9]{text-align:center;margin-top:24px;font-size:14px}.login-link[data-v-85a1baf9]{color:#667eea;text-decoration:none;font-weight:500;margin-left:8px;transition:color .2s ease}.login-link[data-v-85a1baf9]:hover{color:#764ba2;text-decoration:underline}[data-v-85a1baf9] .n-form-item-label{font-weight:500}
