.language-switcher[data-v-0b3c17b2]{margin-left:auto;padding:0 1rem}select[data-v-0b3c17b2]{padding:.25rem .5rem;border-radius:4px;border:1px solid #ccc;background:#fff}.theme-toggle[data-v-59676736]{display:flex;align-items:center}.theme-toggle-button[data-v-59676736]{background:none;border:none;cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-color);transition:background-color .3s}.theme-toggle-button[data-v-59676736]:hover{background-color:var(--hover-color)}.material-icons[data-v-59676736]{font-size:24px}.nav-bar[data-v-dae5545c]{position:fixed;top:0;left:240px;right:0;padding:10px 20px;background:var(--background-color);box-shadow:0 2px 4px var(--shadow-color);z-index:1000;display:flex;justify-content:flex-end;align-items:center;gap:16px}.user-toggle[data-v-dae5545c]{position:relative;cursor:pointer}.user-icon[data-v-dae5545c]{font-size:24px;display:inline-block;padding:5px;border-radius:50%;background:#fff3;transition:all .3s ease}.user-icon[data-v-dae5545c]:hover{background:#fff6;transform:scale(1.1)}.user-info[data-v-dae5545c]{position:absolute;top:100%;right:0;background:var(--background-color);border-radius:8px;padding:15px;box-shadow:0 4px 12px var(--shadow-color);min-width:200px}.info-item[data-v-dae5545c]{margin-bottom:10px;color:var(--text-color);font-size:14px}.logout-btn[data-v-dae5545c]{width:100%;padding:8px 12px;background-color:#dc3545;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s ease}.logout-btn[data-v-dae5545c]:hover{background-color:#c82333}.fade-enter-active[data-v-dae5545c],.fade-leave-active[data-v-dae5545c]{transition:opacity .3s ease}.fade-enter-from[data-v-dae5545c],.fade-leave-to[data-v-dae5545c]{opacity:0}.change-pwd-btn[data-v-dae5545c]{width:100%;padding:8px 12px;background-color:#007bff;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s ease;margin-bottom:10px}.change-pwd-btn[data-v-dae5545c]:hover{background-color:#0069d9}.modal-overlay[data-v-dae5545c]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1001}.modal-content[data-v-dae5545c]{background:#fff;padding:25px 30px;border-radius:12px;width:380px;box-shadow:0 10px 25px #0000001a}.modal-title[data-v-dae5545c]{color:#2c3e50;margin:0 0 20px;font-size:1.3rem;text-align:center;font-weight:600}.input-group[data-v-dae5545c]{margin-bottom:20px}.input-group label[data-v-dae5545c]{display:block;margin-bottom:8px;font-size:14px;color:#555;font-weight:500}.password-input[data-v-dae5545c]{width:100%;padding:12px 15px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;transition:border-color .3s}.password-input[data-v-dae5545c]:focus{border-color:#007bff;outline:none;box-shadow:0 0 0 3px #007bff1a}.modal-buttons[data-v-dae5545c]{display:flex;justify-content:space-between;margin-top:25px}.confirm-btn[data-v-dae5545c]{background-color:#007bff;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s;flex:1;margin-right:10px}.confirm-btn[data-v-dae5545c]:hover{background-color:#0069d9}.confirm-btn[data-v-dae5545c]:disabled{background-color:#b8d4ff;cursor:not-allowed}.cancel-btn[data-v-dae5545c]{background-color:#f8f9fa;color:#495057;border:1px solid #dee2e6;padding:10px 20px;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s;flex:1}.cancel-btn[data-v-dae5545c]:hover{background-color:#e2e6ea}.cancel-btn[data-v-dae5545c]:disabled{opacity:.6;cursor:not-allowed}.error-msg[data-v-dae5545c]{color:#dc3545;font-size:14px;margin-top:15px;text-align:center}.sidebar[data-v-ee456669]{width:240px;height:100vh;position:fixed;left:0;top:0;background:var(--secondary-color);color:var(--text-color);padding:20px 0}.logo[data-v-ee456669]{padding:0 20px 20px;font-size:20px;font-weight:700;border-bottom:1px solid var(--border-color);margin-bottom:20px}.nav-menu[data-v-ee456669]{display:flex;flex-direction:column}.nav-item[data-v-ee456669]{padding:12px 20px;color:var(--text-color);opacity:.7;text-decoration:none;transition:all .3s}.nav-item[data-v-ee456669]:hover{background:var(--hover-color);opacity:1}.nav-item.router-link-active[data-v-ee456669]{background:var(--hover-color);opacity:1;border-left:3px solid var(--primary-color)}:root{--background-color: #ffffff;--text-color: #2c3e50;--primary-color: #3498db;--primary-light: #e3f2fd;--primary-dark: #2980b9;--secondary-color: #f8f9fa;--border-color: #e9ecef;--shadow-color: rgba(0, 0, 0, .08);--hover-color: #f1f3f5;--success-color: #2ecc71;--success-light: #e8f5e9;--warning-color: #f1c40f;--warning-light: #fff8e1;--error-color: #e74c3c;--error-light: #ffebee;--info-color: #3498db;--info-light: #e3f2fd;--table-header-bg: #f8f9fa;--table-row-hover: #f1f3f5;--input-bg: #ffffff;--input-border: #e9ecef;--input-focus-border: #3498db;--button-primary-bg: #3498db;--button-primary-hover: #2980b9;--button-secondary-bg: #f8f9fa;--button-secondary-hover: #e9ecef;--card-bg: #ffffff;--card-shadow: rgba(0, 0, 0, .08);--dialog-bg: #ffffff;--dialog-shadow: rgba(0, 0, 0, .1);--scrollbar-thumb: #cbd5e0;--scrollbar-track: #f1f3f5;--gradient-primary: linear-gradient(135deg, #3498db, #2980b9);--gradient-success: linear-gradient(135deg, #2ecc71, #27ae60);--gradient-warning: linear-gradient(135deg, #f1c40f, #f39c12);--gradient-error: linear-gradient(135deg, #e74c3c, #c0392b)}[data-theme=dark]{--background-color: #1a1a1a;--text-color: #e2e8f0;--primary-color: #3b82f6;--primary-light: #1e3a8a;--primary-dark: #2563eb;--secondary-color: #2d3748;--border-color: #4a5568;--shadow-color: rgba(0, 0, 0, .3);--hover-color: #2d3748;--success-color: #48bb78;--success-light: #22543d;--warning-color: #ecc94b;--warning-light: #744210;--error-color: #f56565;--error-light: #742a2a;--info-color: #4299e1;--info-light: #2c5282;--table-header-bg: #2d3748;--table-row-hover: #2d3748;--input-bg: #2d3748;--input-border: #4a5568;--input-focus-border: #3b82f6;--button-primary-bg: #3b82f6;--button-primary-hover: #2563eb;--button-secondary-bg: #2d3748;--button-secondary-hover: #4a5568;--card-bg: #2d3748;--card-shadow: rgba(0, 0, 0, .3);--dialog-bg: #2d3748;--dialog-shadow: rgba(0, 0, 0, .4);--scrollbar-thumb: #4a5568;--scrollbar-track: #2d3748;--gradient-primary: linear-gradient(135deg, #3b82f6, #2563eb);--gradient-success: linear-gradient(135deg, #48bb78, #38a169);--gradient-warning: linear-gradient(135deg, #ecc94b, #d69e2e);--gradient-error: linear-gradient(135deg, #f56565, #e53e3e)}body{margin:0;font-family:Segoe UI,Roboto,Helvetica Neue,sans-serif;background-color:var(--background-color);color:var(--text-color);transition:background-color .3s,color .3s;padding-top:60px;line-height:1.6}.app-container{background-color:var(--background-color);color:var(--text-color)}.main-content,.content-wrapper{background-color:var(--background-color)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}input,textarea,select{background-color:var(--input-bg);border:1px solid var(--input-border);color:var(--text-color);transition:all .3s ease;border-radius:8px;padding:10px 12px;font-size:14px}input:focus,textarea:focus,select:focus{border-color:var(--input-focus-border);box-shadow:0 0 0 3px var(--shadow-color);outline:none}button{transition:all .3s ease;border-radius:8px;font-weight:500;padding:10px 16px;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:8px}button:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-color)}button:active{transform:translateY(0)}button.primary{background:var(--gradient-primary);color:#fff;border:none}button.primary:hover{opacity:.9}button.secondary{background:var(--button-secondary-bg);color:var(--text-color);border:1px solid var(--border-color)}button.secondary:hover{background:var(--button-secondary-hover)}.card{background-color:var(--card-bg);border-radius:12px;box-shadow:0 4px 16px var(--card-shadow);transition:all .3s ease;padding:20px;border:1px solid var(--border-color)}.card:hover{transform:translateY(-2px);box-shadow:0 8px 24px var(--shadow-color)}table{border-collapse:separate;border-spacing:0;width:100%;border-radius:8px;overflow:hidden}th{background-color:var(--table-header-bg);color:var(--text-color);font-weight:600;text-align:left;padding:16px;border-bottom:2px solid var(--border-color);font-size:14px;text-transform:uppercase;letter-spacing:.5px}td{padding:16px;border-bottom:1px solid var(--border-color);color:var(--text-color);font-size:14px;transition:all .2s ease}tr:hover td{background-color:var(--table-row-hover)}.status-tag{display:inline-flex;align-items:center;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:500;gap:6px}.status-tag.success{background:var(--success-light);color:var(--success-color)}.status-tag.warning{background:var(--warning-light);color:var(--warning-color)}.status-tag.error{background:var(--error-light);color:var(--error-color)}.status-tag.info{background:var(--info-light);color:var(--info-color)}.dialog{background-color:var(--dialog-bg);border-radius:16px;box-shadow:0 8px 32px var(--dialog-shadow);transition:all .3s ease;border:1px solid var(--border-color)}.dialog-header{padding:20px;border-bottom:1px solid var(--border-color)}.dialog-content{padding:20px}.dialog-footer{padding:20px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:12px}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}.fade-enter-active,.fade-leave-active{transition:all .3s ease}.fade-enter-from,.fade-leave-to{opacity:0;transform:translateY(-10px)}.loading-spinner{width:24px;height:24px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}[data-tooltip]{position:relative}[data-tooltip]:before{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding:6px 12px;background:var(--secondary-color);color:var(--text-color);font-size:12px;border-radius:4px;white-space:nowrap;opacity:0;visibility:hidden;transition:all .3s ease}[data-tooltip]:hover:before{opacity:1;visibility:visible;transform:translate(-50%) translateY(-8px)}@media (max-width: 768px){.card{padding:16px}th,td{padding:12px}button{padding:8px 12px}.dialog{width:90%;max-width:400px}}/**
 * Copyright (c) 2014 The xterm.js authors. All rights reserved.
 * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
 * https://github.com/chjj/term.js
 * @license MIT
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Originally forked from (with the author's permission):
 *   Fabrice Bellard's javascript vt100 for jslinux:
 *   http://bellard.org/jslinux/
 *   Copyright (c) 2011 Fabrice Bellard
 *   The original design remains. The terminal itself
 *   has been extended to include xterm CSI codes, among
 *   other features.
 */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility,.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.terminal-section[data-v-2f560d66]{margin-top:30px;background:var(--background-color);border-radius:10px;padding:20px;box-shadow:0 4px 12px var(--shadow-color)}.terminal-container[data-v-2f560d66]{background-color:#1e1e1e;border-radius:4px;padding:10px;height:400px;overflow:hidden}select.url-input[data-v-2f560d66]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23333"><path d="M7 10l5 5 5-5z"/></svg>');background-repeat:no-repeat;background-position:right 10px center;background-size:12px;padding-right:30px}.home-container[data-v-2f560d66]{max-width:1200px;margin:0 auto;padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:var(--background-color);color:var(--text-color)}.card[data-v-2f560d66]{background:var(--background-color);border-radius:10px;box-shadow:0 4px 12px var(--shadow-color);overflow:hidden}.card-header[data-v-2f560d66]{background:var(--primary-color);color:#fff;padding:20px}.card-header h2[data-v-2f560d66]{margin:0;font-weight:500}.card-body[data-v-2f560d66]{padding:25px}.section-title[data-v-2f560d66]{color:var(--text-color);margin-bottom:20px;font-weight:500;border-bottom:1px solid var(--border-color);padding-bottom:10px}.loading-spinner[data-v-2f560d66]{display:flex;align-items:center;justify-content:center;padding:30px}.spinner[data-v-2f560d66]{border:3px solid var(--border-color);border-radius:50%;border-top:3px solid var(--primary-color);width:20px;height:20px;animation:spin-2f560d66 1s linear infinite;margin-right:10px}@keyframes spin-2f560d66{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message[data-v-2f560d66]{background:var(--secondary-color);color:var(--text-color);padding:15px;border-radius:5px;display:flex;align-items:center}.error-icon[data-v-2f560d66]{display:inline-block;width:20px;height:20px;background:var(--primary-color);color:#fff;border-radius:50%;text-align:center;line-height:20px;margin-right:10px;font-weight:700}.directory-list[data-v-2f560d66]{list-style-type:none;padding:0;margin:0}.directory-item[data-v-2f560d66]{padding:12px 15px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;transition:background .2s}.directory-item[data-v-2f560d66]:hover{background:var(--hover-color)}.folder-icon[data-v-2f560d66]{display:inline-block;width:20px;height:20px;background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%233498db"><path d="M10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8l-2-2z"/></svg>') no-repeat;margin-right:10px}.url-form[data-v-2f560d66]{margin-top:30px}.input-group[data-v-2f560d66]{display:flex;border-radius:5px;overflow:hidden;box-shadow:0 2px 5px var(--shadow-color)}.url-input[data-v-2f560d66]{flex:1;padding:12px 15px;border:1px solid var(--border-color);border-right:none;font-size:16px;outline:none;transition:border .3s;background-color:var(--background-color);color:var(--text-color)}.url-input[data-v-2f560d66]:focus{border-color:var(--primary-color)}.submit-btn[data-v-2f560d66]{background:#3498db;color:#fff;border:none;padding:0 20px;cursor:pointer;font-size:16px;display:flex;align-items:center;transition:background .3s}.submit-btn[data-v-2f560d66]:hover{background:#2980b9}.submit-icon[data-v-2f560d66]{display:inline-block;width:16px;height:16px;background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"><path d="M2.01 21L23 12 2.01 3 2 10l15 2-15 2z"/></svg>') no-repeat;margin-right:8px}[data-v-2f560d66] .xterm{padding:10px}[data-v-2f560d66] .xterm-viewport{overflow-y:auto!important}.home-container[data-v-a627067e]{max-width:100%;height:100%;margin:0 0 0 240px;padding:20px;font-family:Inter,Roboto,sans-serif;background-color:var(--background-color);border-radius:16px;box-shadow:0 4px 6px var(--shadow-color);display:flex;flex-direction:row;gap:24px}.env-and-fw[data-v-a627067e]{flex:1;display:flex;flex-direction:column;gap:24px}.env-list[data-v-a627067e],.fw-list[data-v-a627067e]{padding:24px;background-color:var(--background-color);border-radius:12px;box-shadow:0 4px 16px var(--shadow-color);margin-bottom:0;border:1px solid var(--border-color);transition:all .3s ease;position:relative;overflow:hidden}.env-list[data-v-a627067e]:before,.fw-list[data-v-a627067e]:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-primary);opacity:0;transition:opacity .3s ease}.env-list[data-v-a627067e]:hover:before,.fw-list[data-v-a627067e]:hover:before{opacity:1}.env-list[data-v-a627067e]:hover,.fw-list[data-v-a627067e]:hover{box-shadow:0 8px 24px var(--shadow-color);transform:translateY(-2px)}.log-section[data-v-a627067e]{flex:1;padding:24px;background-color:var(--background-color);border-radius:12px;box-shadow:0 2px 4px var(--shadow-color);border:1px solid var(--border-color)}.log-container[data-v-a627067e]{padding:20px;background-color:#1a1a1a;border-radius:8px;box-shadow:0 2px 4px var(--shadow-color);height:80%;font-family:Fira Code,monospace}h2[data-v-a627067e],h3[data-v-a627067e],h4[data-v-a627067e]{color:var(--text-color);font-weight:600;margin-bottom:16px}.welcome-text[data-v-a627067e]{font-size:1.1rem;color:var(--text-color);text-align:center;margin-bottom:24px;line-height:1.6}.button-container[data-v-a627067e]{text-align:center;margin-bottom:24px}.action-button[data-v-a627067e]{background:var(--gradient-primary);color:#fff;border:none;padding:14px 28px;font-size:1.1rem;border-radius:12px;cursor:pointer;transition:all .3s ease;font-weight:500;box-shadow:0 4px 12px var(--shadow-color)}.action-button[data-v-a627067e]:hover{transform:translateY(-2px);box-shadow:0 6px 16px var(--shadow-color);opacity:.9}.action-button[data-v-a627067e]:active{transform:translateY(0)}.sdk-dropdown[data-v-a627067e]{width:100%;padding:14px;font-size:1.1rem;border:2px solid var(--border-color);border-radius:12px;margin-bottom:24px;background-color:var(--background-color);transition:all .3s ease;color:var(--text-color);cursor:pointer;font-weight:500;box-shadow:0 2px 8px var(--shadow-color)}.sdk-dropdown[data-v-a627067e]:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 4px var(--shadow-color);transform:translateY(-2px)}.config-section[data-v-a627067e]{margin-top:24px;max-height:500px;overflow-y:auto;background:var(--secondary-color);border-radius:12px;padding:16px;border:1px solid var(--border-color)}.config-list[data-v-a627067e]{list-style:none;padding:0;margin:0}.config-item[data-v-a627067e]{display:flex;justify-content:space-between;align-items:center;padding:16px;margin:12px 0;border-radius:12px;cursor:pointer;transition:all .3s ease;background-color:var(--background-color);border:1px solid var(--border-color);position:relative;overflow:hidden}.config-item[data-v-a627067e]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--success-color);opacity:0;transition:opacity .3s ease}.config-item[data-v-a627067e]:hover:before{opacity:1}.config-item[data-v-a627067e]:hover{background-color:var(--hover-color);transform:translate(8px);box-shadow:0 4px 12px var(--shadow-color);border-color:var(--success-color)}.config-item>span[data-v-a627067e]{flex:1;padding:8px;margin-right:12px;color:var(--text-color);font-weight:500;font-size:1.05rem}.highlight[data-v-a627067e]{background:var(--background-color);border:1px solid var(--success-color);font-weight:600;color:var(--success-color);box-shadow:0 4px 16px var(--shadow-color);transform:translate(8px);position:relative}.highlight[data-v-a627067e]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--success-color);opacity:1}.highlight[data-v-a627067e]:hover{background:var(--hover-color);transform:translate(12px);box-shadow:0 6px 20px var(--shadow-color)}.log-button[data-v-a627067e]{padding:10px 20px;background:var(--gradient-primary);color:#fff;border:none;border-radius:8px;font-size:.95rem;cursor:pointer;transition:all .3s ease;font-weight:500;box-shadow:0 2px 8px var(--shadow-color)}.log-button[data-v-a627067e]:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-color);opacity:.9}.button-group[data-v-a627067e]{display:flex;gap:12px;margin-top:16px}.release-notes-button[data-v-a627067e]{flex:1;padding:12px;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .3s ease;font-weight:500}.release-notes-button[data-v-a627067e]:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-color)}.compile-button[data-v-a627067e]{flex:1;padding:12px;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .3s ease;font-weight:500}.compile-button[data-v-a627067e]:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-color)}.compile-button[data-v-a627067e]:disabled{background:#cbd5e1;cursor:not-allowed;transform:none;box-shadow:none}.fw-list-items[data-v-a627067e]{list-style:none;padding:0;margin:0}.fw-item[data-v-a627067e]{padding:16px;margin:12px 0;border-radius:12px;cursor:pointer;transition:all .3s ease;display:flex;justify-content:space-between;align-items:center;background-color:var(--background-color);border:1px solid var(--border-color);box-shadow:0 2px 8px var(--shadow-color)}.fw-item[data-v-a627067e]:hover{background-color:var(--hover-color);transform:translate(8px);box-shadow:0 4px 16px var(--shadow-color)}.fw-name[data-v-a627067e]{font-family:Fira Code,monospace;color:var(--text-color);font-size:1rem;font-weight:500}.download-hint[data-v-a627067e]{color:var(--primary-color);font-size:.9em;opacity:0;transition:all .3s ease;font-weight:500}.fw-item:hover .download-hint[data-v-a627067e]{opacity:1;transform:translate(-4px)}.version-input[data-v-a627067e]{width:100%;padding:14px;font-size:1.1rem;border:2px solid var(--border-color);border-radius:12px;margin-bottom:16px;transition:all .3s ease;color:var(--text-color);background-color:var(--background-color);box-shadow:0 2px 8px var(--shadow-color)}.version-input[data-v-a627067e]:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 4px var(--shadow-color);transform:translateY(-2px)}.dialog-overlay[data-v-a627067e]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:1000;opacity:0;visibility:hidden;transition:opacity .3s ease;pointer-events:none}.dialog-overlay.active[data-v-a627067e]{opacity:1;visibility:visible;pointer-events:auto}.release-notes-dialog[data-v-a627067e]{background-color:var(--background-color);padding:32px;border-radius:16px;width:90%;max-width:800px;box-shadow:0 20px 40px var(--shadow-color);border:1px solid var(--border-color);position:fixed;top:50px;left:50px;opacity:0;transform:scale(.95);transition:opacity .3s ease,transform .3s ease;will-change:transform,opacity;transform-origin:top left}.dialog-overlay.active .release-notes-dialog[data-v-a627067e]{opacity:1;transform:scale(1)}.dialog-subtitle[data-v-a627067e]{color:var(--text-color);font-size:.9rem;margin-bottom:16px;opacity:.8}.release-notes-textarea[data-v-a627067e]{width:100%;height:300px;padding:16px;margin:16px 0;border:1px solid var(--border-color);border-radius:8px;resize:vertical;font-family:Inter,sans-serif;font-size:1rem;line-height:1.6;background-color:var(--secondary-color);color:var(--text-color)}.release-notes-textarea[data-v-a627067e]:focus{border-color:var(--success-color);outline:none;box-shadow:0 0 0 3px var(--shadow-color);background-color:var(--background-color)}.dialog-buttons[data-v-a627067e]{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.dialog-button[data-v-a627067e]{padding:12px 24px;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:all .3s ease;min-width:100px}.dialog-button.confirm[data-v-a627067e]{background:var(--gradient-primary);color:#fff}.dialog-button.clear[data-v-a627067e]{background:var(--gradient-warning);color:#fff}.dialog-button.cancel[data-v-a627067e]{background:var(--secondary-color);color:var(--text-color)}.firmware-log-container[data-v-a627067e]{max-height:70vh;overflow-y:auto;padding-right:12px;margin:0 -12px}.firmware-log-item[data-v-a627067e]{margin-bottom:24px;padding:20px;border-radius:12px;background-color:var(--secondary-color);border-left:4px solid var(--border-color);transition:all .3s ease}.firmware-log-item[data-v-a627067e]:hover{transform:translate(4px);box-shadow:0 4px 12px var(--shadow-color)}.firmware-log-header[data-v-a627067e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.firmware-log-title[data-v-a627067e]{display:flex;flex-direction:column;gap:4px}.firmware-version[data-v-a627067e]{font-weight:600;color:var(--text-color);font-size:1.1rem}.firmware-date[data-v-a627067e]{color:var(--text-color);font-size:.9rem}.firmware-status[data-v-a627067e]{font-weight:500;padding:6px 12px;border-radius:6px;font-size:.9rem}.firmware-log-content[data-v-a627067e]{white-space:pre-wrap;font-family:Fira Code,monospace;line-height:1.6;color:var(--text-color);margin:0;font-size:.95rem;background-color:var(--background-color);padding:16px;border-radius:8px;border:1px solid var(--border-color)}.status-untested[data-v-a627067e]{border-left-color:var(--border-color)}.status-untested .firmware-status[data-v-a627067e]{background-color:var(--secondary-color);color:var(--text-color)}.status-tested[data-v-a627067e]{border-left-color:var(--primary-color)}.status-tested .firmware-status[data-v-a627067e]{background-color:var(--secondary-color);color:var(--primary-color)}.status-disabled[data-v-a627067e]{border-left-color:var(--border-color)}.status-disabled .firmware-status[data-v-a627067e]{background-color:var(--secondary-color);color:var(--text-color)}.firmware-log-container[data-v-a627067e]::-webkit-scrollbar{width:8px}.firmware-log-container[data-v-a627067e]::-webkit-scrollbar-track{background:var(--secondary-color);border-radius:4px}.firmware-log-container[data-v-a627067e]::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.firmware-log-container[data-v-a627067e]::-webkit-scrollbar-thumb:hover{background:var(--text-color)}.delete-button[data-v-a627067e]{background:var(--gradient-error);color:#fff;margin-left:12px}.delete-button[data-v-a627067e]:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-color)}h4[data-v-a627067e]{font-size:1.2rem;color:var(--success-color);font-weight:600;margin:20px 0;padding:16px 20px;background:var(--background-color);border:1px solid var(--success-color);border-radius:12px;box-shadow:0 4px 16px var(--shadow-color);position:relative;transition:all .3s ease;text-align:center;letter-spacing:.5px}h4[data-v-a627067e]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--success-color);border-radius:4px 0 0 4px}h4[data-v-a627067e]:hover{transform:translate(4px);box-shadow:0 6px 20px var(--shadow-color);background:var(--secondary-color)}[data-v-a627067e]::selection{background:var(--success-color);color:#fff;text-shadow:none}[data-v-a627067e]::-moz-selection{background:var(--success-color);color:#fff;text-shadow:none}.login-container[data-v-cf4c0ba2]{display:flex;justify-content:center;align-items:center;min-height:100vh;width:100vw;margin:0;padding:0;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));position:fixed;top:0;left:0;right:0;bottom:0;overflow:hidden}.login-card[data-v-cf4c0ba2]{background:var(--background-color);border-radius:12px;box-shadow:0 10px 30px var(--shadow-color);padding:40px;width:100%;max-width:400px;margin:20px}.login-title[data-v-cf4c0ba2]{text-align:center;margin-bottom:30px;color:var(--text-color);font-size:24px}.login-form[data-v-cf4c0ba2]{display:flex;flex-direction:column;gap:20px}.form-input[data-v-cf4c0ba2]{width:100%;padding:12px 15px;border:1px solid var(--border-color);border-radius:8px;font-size:16px;transition:border-color .3s;background-color:var(--background-color);color:var(--text-color)}.form-input[data-v-cf4c0ba2]:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px var(--shadow-color)}.login-btn[data-v-cf4c0ba2]{padding:12px;background-color:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s;height:44px}.login-btn[data-v-cf4c0ba2]:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-color)}.loading-spinner[data-v-cf4c0ba2]{display:inline-block;width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin-cf4c0ba2 1s ease-in-out infinite}@keyframes spin-cf4c0ba2{to{transform:rotate(360deg)}}@media (max-width: 480px){.login-card[data-v-cf4c0ba2]{margin:15px;padding:30px}.login-title[data-v-cf4c0ba2]{font-size:20px}.form-input[data-v-cf4c0ba2]{font-size:14px}}.user-management[data-v-766d5d06]{max-width:1200px;margin:0 auto;padding:30px;font-family:Segoe UI,Roboto,Helvetica Neue,sans-serif}.header[data-v-766d5d06]{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.page-title[data-v-766d5d06]{font-size:24px;font-weight:600;color:var(--text-color);margin:0}.card[data-v-766d5d06]{background:var(--background-color);border-radius:10px;box-shadow:0 4px 12px var(--shadow-color);padding:20px;overflow:hidden}.user-list[data-v-766d5d06]{width:100%;border-collapse:collapse;font-size:14px}.user-list th[data-v-766d5d06]{background-color:var(--secondary-color);color:var(--text-color);font-weight:600;padding:16px;text-align:left;border-bottom:1px solid var(--border-color)}.user-list td[data-v-766d5d06]{padding:16px;border-bottom:1px solid var(--border-color);color:var(--text-color)}.user-list tr[data-v-766d5d06]:hover{background-color:var(--hover-color)}.cloud-tag[data-v-766d5d06]{display:inline-block;padding:4px 10px;background-color:var(--secondary-color);color:var(--text-color);border-radius:20px;font-size:12px}.create-btn[data-v-766d5d06]{padding:10px 20px;background-color:var(--primary-color);color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;display:flex;align-items:center;gap:8px;transition:all .3s ease}.create-btn[data-v-766d5d06]:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 4px 8px var(--shadow-color)}.delete-btn[data-v-766d5d06]{padding:8px 16px;background-color:var(--secondary-color);color:var(--text-color);border:none;border-radius:6px;cursor:pointer;font-weight:500;display:flex;align-items:center;gap:8px;transition:all .2s ease}.delete-btn[data-v-766d5d06]:hover{background-color:var(--hover-color)}.dialog-overlay[data-v-766d5d06]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.dialog[data-v-766d5d06]{background:var(--background-color);padding:30px;border-radius:12px;width:450px;box-shadow:0 10px 25px var(--shadow-color);animation:fadeIn-766d5d06 .3s ease}.dialog-header[data-v-766d5d06]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dialog-header h3[data-v-766d5d06]{font-size:20px;color:var(--text-color);margin:0}.close-btn[data-v-766d5d06]{background:none;border:none;cursor:pointer;color:var(--text-color);font-size:18px;transition:color .2s}.close-btn[data-v-766d5d06]:hover{color:var(--primary-color)}.form-group[data-v-766d5d06]{margin-bottom:20px}.form-group label[data-v-766d5d06]{display:block;margin-bottom:8px;font-weight:500;color:var(--text-color)}.form-group input[data-v-766d5d06],.form-group select[data-v-766d5d06]{width:100%;padding:12px;border:1px solid var(--border-color);border-radius:6px;font-size:14px;transition:border-color .2s;background-color:var(--background-color);color:var(--text-color)}.form-group input[data-v-766d5d06]:focus,.form-group select[data-v-766d5d06]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--shadow-color)}.dialog-buttons[data-v-766d5d06]{display:flex;justify-content:flex-end;gap:12px;margin-top:30px}.cancel-btn[data-v-766d5d06]{padding:10px 20px;background-color:var(--secondary-color);color:var(--text-color);border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s ease}.cancel-btn[data-v-766d5d06]:hover{background-color:var(--hover-color)}.confirm-btn[data-v-766d5d06]{padding:10px 20px;background-color:var(--primary-color);color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s ease}.confirm-btn[data-v-766d5d06]:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 4px 8px var(--shadow-color)}.status-btn[data-v-766d5d06]{padding:8px 16px;background-color:var(--secondary-color);color:var(--text-color);border:none;border-radius:6px;cursor:pointer;font-weight:500;margin-right:8px;transition:all .2s ease}.status-btn[data-v-766d5d06]:hover{background-color:var(--hover-color)}.status-btn.enable-btn[data-v-766d5d06]{background-color:var(--primary-color);color:#fff}.status-btn.enable-btn[data-v-766d5d06]:hover{opacity:.9}.status-btn.disable-btn[data-v-766d5d06]{background-color:var(--secondary-color);color:var(--text-color)}.status-btn.disable-btn[data-v-766d5d06]:hover{background-color:var(--hover-color)}.reset-btn[data-v-766d5d06]{padding:8px 16px;background-color:var(--secondary-color);color:var(--text-color);border:none;border-radius:6px;cursor:pointer;font-weight:500;margin-right:8px;display:flex;align-items:center;gap:8px;transition:all .2s ease}.reset-btn[data-v-766d5d06]:hover{background-color:var(--hover-color)}.status-tag[data-v-766d5d06]{display:inline-block;padding:4px 10px;border-radius:20px;font-size:12px}.status-tag.enabled[data-v-766d5d06]{background-color:var(--primary-color);color:#fff}.status-tag.disabled[data-v-766d5d06]{background-color:var(--secondary-color);color:var(--text-color)}@keyframes fadeIn-766d5d06{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.icon-plus[data-v-766d5d06]:before{content:"+"}.icon-trash[data-v-766d5d06]:before{content:"🗑"}.icon-close[data-v-766d5d06]:before{content:"×"}@media (max-width: 768px){.user-management[data-v-766d5d06]{padding:15px}.dialog[data-v-766d5d06]{width:90%;padding:20px}.header[data-v-766d5d06]{flex-direction:column;align-items:flex-start;gap:15px}.user-list th[data-v-766d5d06],.user-list td[data-v-766d5d06]{padding:12px 8px}}.password-input-group[data-v-766d5d06]{display:flex;gap:10px}.password-input-group input[data-v-766d5d06]{flex:1}.generate-btn[data-v-766d5d06],.copy-btn[data-v-766d5d06]{padding:12px 15px;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s ease}.generate-btn[data-v-766d5d06]{background-color:#17a2b8}.generate-btn[data-v-766d5d06]:hover{background-color:#138496}.copy-btn[data-v-766d5d06]{background-color:#6f42c1}.copy-btn[data-v-766d5d06]:hover{background-color:#5a32a3}.reset-btn[data-v-766d5d06]{padding:8px 16px;background-color:#17a2b8;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;display:flex;align-items:center;gap:8px;transition:all .2s ease;margin-right:8px}.reset-btn[data-v-766d5d06]:hover{background-color:#138496}.icon-reset[data-v-766d5d06]:before{content:"🔄"}.user-list td button[data-v-766d5d06]{margin-right:8px}.user-list td button[data-v-766d5d06]:last-child{margin-right:0}.management-container[data-v-7a2b7566]{width:80%;margin:0 auto;padding:30px;font-family:Segoe UI,Roboto,Helvetica Neue,sans-serif}.header[data-v-7a2b7566]{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.table-container[data-v-7a2b7566]{background:var(--background-color);border-radius:10px;box-shadow:0 4px 12px var(--shadow-color);padding:20px;overflow:hidden;overflow-x:auto}.management-table[data-v-7a2b7566]{--stripe-color: var(--secondary-color);--hover-color: var(--hover-color);width:100%;table-layout:auto;border-collapse:separate;border-spacing:0;font-size:14px;background:var(--background-color);border-radius:8px;overflow:hidden}.management-table th[data-v-7a2b7566]{background:var(--secondary-color);color:var(--text-color);font-weight:600;padding:16px;border-bottom:2px solid var(--border-color)}.management-table td[data-v-7a2b7566]{padding:14px 16px;border-bottom:1px solid var(--border-color);transition:all .2s ease;color:var(--text-color)}.management-table tbody tr[data-v-7a2b7566]:nth-child(2n){background-color:var(--stripe-color)}.management-table tr:hover td[data-v-7a2b7566]{background-color:var(--hover-color);transform:translate(4px);box-shadow:2px 0 8px var(--shadow-color)}.actions[data-v-7a2b7566]{display:flex;gap:12px}.status-btn[data-v-7a2b7566],.edit-btn[data-v-7a2b7566]{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .3s ease;background:var(--secondary-color);color:var(--text-color);border:1px solid var(--border-color)}.status-btn[data-v-7a2b7566]:hover{transform:translateY(-1px);box-shadow:0 2px 6px var(--shadow-color)}.status-btn .icon-enable[data-v-7a2b7566]{color:var(--primary-color)}.status-btn .icon-disable[data-v-7a2b7566]{color:var(--text-color)}.delete-btn[data-v-7a2b7566]{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .3s ease;background:var(--secondary-color);border:1px solid var(--border-color);color:var(--text-color)}.delete-btn[data-v-7a2b7566]:hover{background:var(--hover-color);border-color:var(--border-color)}.delete-btn .icon-delete[data-v-7a2b7566]{color:var(--text-color)}.dialog[data-v-7a2b7566]{animation:dialogEnter-7a2b7566 .3s cubic-bezier(.4,0,.2,1);background:var(--background-color);color:var(--text-color)}@keyframes dialogEnter-7a2b7566{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.form-group input[data-v-7a2b7566]:focus,.form-group textarea[data-v-7a2b7566]:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--shadow-color)}.table-container[data-v-7a2b7566]{position:relative}.loading-overlay[data-v-7a2b7566]{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--background-color);opacity:.8;display:flex;align-items:center;justify-content:center}.dialog-overlay[data-v-7a2b7566]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.dialog[data-v-7a2b7566]{background:var(--background-color);border-radius:12px;box-shadow:0 10px 25px var(--shadow-color);width:500px;max-width:90%;overflow:hidden}.dialog-header[data-v-7a2b7566]{padding:20px;background:var(--primary-color);color:#fff;display:flex;justify-content:space-between;align-items:center}.dialog-header h3[data-v-7a2b7566]{margin:0;font-size:1.25rem;font-weight:600}.close-btn[data-v-7a2b7566]{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;transition:transform .2s}.close-btn[data-v-7a2b7566]:hover{transform:scale(1.1)}.form-group[data-v-7a2b7566]{padding:20px}.form-group label[data-v-7a2b7566]{display:block;margin-bottom:8px;font-weight:500;color:var(--text-color)}.form-group input[data-v-7a2b7566],.form-group textarea[data-v-7a2b7566]{width:100%;padding:10px;border:1px solid var(--border-color);border-radius:6px;font-size:1rem;transition:all .3s;background-color:var(--background-color);color:var(--text-color)}.form-group textarea[data-v-7a2b7566]{min-height:100px;resize:vertical}.dialog-footer[data-v-7a2b7566]{padding:15px 20px;background:var(--secondary-color);display:flex;justify-content:flex-end;gap:10px}.cancel-btn[data-v-7a2b7566],.confirm-btn[data-v-7a2b7566]{padding:10px 20px;border-radius:6px;font-weight:500;cursor:pointer;transition:all .3s}.cancel-btn[data-v-7a2b7566]{background:var(--secondary-color);border:1px solid var(--border-color);color:var(--text-color)}.cancel-btn[data-v-7a2b7566]:hover{background:var(--hover-color)}.confirm-btn[data-v-7a2b7566]{background:var(--primary-color);border:1px solid var(--primary-color);color:#fff}.confirm-btn[data-v-7a2b7566]:hover{background:var(--primary-color);opacity:.9;transform:translateY(-1px)}.checkbox-group[data-v-7a2b7566]{display:flex;align-items:center;gap:10px}.checkbox-group input[type=checkbox][data-v-7a2b7566]{width:auto;accent-color:var(--primary-color)}
