.login-wrap[data-v-225bfefc]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-app);padding:16px}.login-box[data-v-225bfefc]{width:100%;max-width:380px;background:var(--bg-card);border:1px solid var(--border-dark);border-radius:var(--radius-xl);padding:36px 32px 32px;box-shadow:0 24px 60px #00000073;position:relative;overflow:hidden}.login-box[data-v-225bfefc]:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(124,58,237,.8),rgba(203,166,247,.6),transparent)}.login-logo[data-v-225bfefc]{display:flex;align-items:center;gap:12px;margin-bottom:32px;font-size:1.3rem;color:var(--text-muted)}.login-logo i[data-v-225bfefc]{width:42px;height:42px;background:var(--accent-light);color:var(--accent-text);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:1.1rem}.login-logo strong[data-v-225bfefc]{color:var(--text-primary)}.login-form[data-v-225bfefc]{display:flex;flex-direction:column;gap:20px}.login-field[data-v-225bfefc]{display:flex;flex-direction:column}.dl-input-wrap[data-v-225bfefc]{position:relative}.dl-input-wrap .dl-input[data-v-225bfefc]{padding-left:36px;padding-right:40px}.pass-toggle[data-v-225bfefc]{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;font-size:.85rem;transition:color .12s}.pass-toggle[data-v-225bfefc]:hover{color:var(--text-primary)}.panel-shell[data-v-fd9a494f]{display:flex;height:100vh;overflow:hidden}.panel-sidebar[data-v-fd9a494f]{width:220px;flex-shrink:0;background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:20px 12px;gap:4px}.sidebar-logo[data-v-fd9a494f]{display:flex;align-items:center;gap:10px;padding:4px 8px 20px;font-size:1rem;color:var(--text-muted);border-bottom:1px solid var(--border);margin-bottom:8px}.sidebar-logo i[data-v-fd9a494f]{width:34px;height:34px;background:var(--accent-light);color:var(--accent-text);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:.9rem}.sidebar-logo strong[data-v-fd9a494f]{color:var(--text-primary)}.sidebar-nav[data-v-fd9a494f]{display:flex;flex-direction:column;gap:2px;flex:1}.nav-item[data-v-fd9a494f]{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius-md);background:transparent;border:none;color:var(--text-muted);font-size:.88rem;font-weight:700;font-family:inherit;cursor:pointer;transition:background .12s,color .12s;text-align:left}.nav-item[data-v-fd9a494f]:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item.active[data-v-fd9a494f]{background:var(--accent-light);color:var(--accent-text)}.nav-item i[data-v-fd9a494f]{width:16px;text-align:center;font-size:.85rem}.sidebar-logout[data-v-fd9a494f]{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius-md);background:transparent;border:none;color:var(--text-muted);font-size:.88rem;font-weight:700;font-family:inherit;cursor:pointer;transition:background .12s,color .12s;margin-top:auto}.sidebar-logout[data-v-fd9a494f]:hover{background:var(--danger-bg);color:var(--danger)}.panel-main[data-v-fd9a494f]{flex:1;overflow-y:auto;background:var(--bg-app)}.tab-content[data-v-fd9a494f]{padding:28px;display:flex;flex-direction:column;gap:20px}.tab-header[data-v-fd9a494f]{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.tab-title[data-v-fd9a494f]{font-size:1.15rem;font-weight:900;color:var(--text-primary);display:flex;align-items:center;gap:10px}.tab-title i[data-v-fd9a494f]{color:var(--accent-text)}.projects-grid[data-v-fd9a494f]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.project-stats[data-v-fd9a494f]{display:flex;gap:16px;flex-wrap:wrap;padding:10px 0;font-size:.82rem;color:var(--text-secondary)}.stat-item[data-v-fd9a494f]{display:flex;align-items:center;gap:5px}.stat-item i[data-v-fd9a494f]{color:var(--text-muted);font-size:.78rem}.log-box[data-v-fd9a494f]{background:var(--bg-deep);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px;height:calc(100vh - 140px);overflow-y:auto;font-family:Courier New,monospace;font-size:.8rem;line-height:1.7}.log-line[data-v-fd9a494f]{color:var(--text-secondary);white-space:pre-wrap;word-break:break-all}.log-line.log-error[data-v-fd9a494f]{color:var(--danger)}.log-line.log-warn[data-v-fd9a494f]{color:var(--warning)}.log-line.log-ok[data-v-fd9a494f]{color:var(--success)}.firewall-grid[data-v-fd9a494f]{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}.ban-list[data-v-fd9a494f]{display:flex;flex-direction:column;gap:6px;margin-top:4px}.ban-item[data-v-fd9a494f]{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 8px;background:var(--bg-hover);border-radius:var(--radius-sm)}.ban-ip[data-v-fd9a494f]{font-family:monospace;font-size:.85rem;color:var(--danger)}.services-grid[data-v-fd9a494f]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.rebuild-log[data-v-fd9a494f]{background:var(--bg-deep);color:var(--text-secondary);font-family:monospace;font-size:.8rem;line-height:1.7;padding:16px;white-space:pre-wrap;word-break:break-all;max-height:400px;overflow-y:auto;border-radius:0}
