@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";.sidebar[data-v-0284a030]{width:var(--sidebar-width);height:100vh;position:fixed;top:0;left:0;display:flex;flex-direction:column;border-radius:0;border:none;border-right:1px solid var(--border-light);background:var(--bg-secondary);z-index:100}.logo[data-v-0284a030]{display:flex;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--border-light);text-decoration:none;transition:background var(--transition-fast)}.logo[data-v-0284a030]:hover{background:var(--interactive-hover)}.logo .logo-icon[data-v-0284a030]{width:36px;height:36px;background:linear-gradient(135deg,#7c3aed,#a855f7);border-radius:9px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #a855f740;border:1px solid rgba(255,255,255,.12);flex-shrink:0}.logo .logo-icon .icon-sparkle[data-v-0284a030]{width:18px;height:18px;color:#fff}.logo .logo-text[data-v-0284a030]{display:flex;flex-direction:column;gap:2px}.logo .logo-text .brand-row[data-v-0284a030]{display:flex;align-items:center;gap:7px}.logo .logo-text .brand-row .brand-name[data-v-0284a030]{font-weight:700;font-size:1.05rem;letter-spacing:-.01em;color:var(--text-primary)}.logo .logo-text .brand-row .brand-badge[data-v-0284a030]{font-size:.6rem;font-weight:700;letter-spacing:.06em;padding:1px 5px;border-radius:4px;background:#a855f729;color:var(--color-secondary);border:1px solid rgba(192,132,252,.22)}.logo .logo-text .sub-text[data-v-0284a030]{font-size:.7rem;color:var(--text-tertiary);font-weight:500}.nav-links[data-v-0284a030]{display:flex;flex-direction:column;gap:16px;padding:16px 12px;flex:1;overflow-y:auto}.nav-links .nav-group[data-v-0284a030]{display:flex;flex-direction:column;gap:3px}.nav-links .nav-group .group-label[data-v-0284a030]{padding:6px 12px 4px;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.nav-links .nav-item[data-v-0284a030]{position:relative;display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:var(--border-radius-sm);color:var(--text-secondary);font-size:.88rem;font-weight:500;border:1px solid transparent;transition:all var(--transition-fast);text-decoration:none}.nav-links .nav-item .nav-icon[data-v-0284a030]{width:17px;height:17px;color:var(--text-tertiary);transition:color var(--transition-fast),filter var(--transition-fast);flex-shrink:0}.nav-links .nav-item[data-v-0284a030]:hover{color:var(--text-primary);background:var(--interactive-hover)}.nav-links .nav-item:hover .nav-icon[data-v-0284a030]{color:var(--text-secondary)}.nav-links .nav-item.active[data-v-0284a030]{color:#fff;background:var(--interactive-active-bg);border-color:var(--interactive-active-border);font-weight:600}.nav-links .nav-item.active .nav-icon[data-v-0284a030]{color:var(--color-secondary);filter:drop-shadow(0 0 6px var(--color-secondary-glow))}.nav-links .nav-item.active[data-v-0284a030]:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:16px;border-radius:0 3px 3px 0;background:var(--color-secondary);box-shadow:0 0 8px var(--color-secondary-glow)}.nav-links .nav-item .badge-counter[data-v-0284a030]{margin-left:auto;padding:1px 7px;font-size:.68rem;font-weight:700;border-radius:10px;background:#a855f733;color:var(--color-secondary);border:1px solid rgba(192,132,252,.25);line-height:1.4}.nav-links .nav-item .badge-counter.warning[data-v-0284a030]{background:#deaa792e;color:var(--status-pending);border-color:#deaa7959}.nav-links .nav-item .badge-counter.success[data-v-0284a030]{background:#6592872e;color:var(--status-success);border-color:#65928759}.nav-links .nav-item .badge-counter.danger[data-v-0284a030]{background:#f871712e;color:#f87171;border-color:#f8717159}.sidebar-footer[data-v-0284a030]{padding:14px 16px;border-top:1px solid var(--border-light);background:#0000001f}.sidebar-footer .system-status[data-v-0284a030]{display:flex;flex-direction:column;gap:2px}.sidebar-footer .system-status .status-indicator-wrapper[data-v-0284a030]{display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:600;color:var(--text-primary)}.sidebar-footer .system-status .status-indicator-wrapper .status-dot[data-v-0284a030]{width:7px;height:7px;border-radius:50%;background:var(--status-success);box-shadow:0 0 6px var(--status-success)}.sidebar-footer .system-status .status-desc[data-v-0284a030]{padding-left:15px;color:var(--text-tertiary);font-size:.7rem}.header[data-v-7441a9d0]{height:var(--header-height);width:calc(100% - var(--sidebar-width));position:fixed;top:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 32px;border-radius:0;border:none;border-bottom:1px solid var(--border-light);background:var(--bg-secondary);z-index:99}.route-info h1[data-v-7441a9d0]{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.header-actions[data-v-7441a9d0]{display:flex;align-items:center;gap:20px}.profile-card[data-v-7441a9d0]{display:flex;align-items:center;gap:12px}.profile-card .avatar[data-v-7441a9d0]{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#a855f7);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:#fff;box-shadow:0 2px 8px #a855f740;border:1px solid rgba(255,255,255,.12)}.profile-card .profile-info[data-v-7441a9d0]{display:flex;flex-direction:column}.profile-card .profile-info .username[data-v-7441a9d0]{font-size:.85rem;font-weight:600;color:var(--text-primary)}.profile-card .profile-info .role[data-v-7441a9d0]{font-size:.7rem;color:var(--text-muted)}.app-container{display:flex;min-height:100vh}.main-layout{flex:1;margin-left:var(--sidebar-width);display:flex;flex-direction:column;min-height:100vh}.page-content{margin-top:var(--header-height);padding:32px;flex:1;background-color:var(--bg-primary);overflow-y:auto}.fade-enter-active,.fade-leave-active{transition:opacity .15s ease,transform .15s ease}.fade-enter-from{opacity:0;transform:translateY(6px)}.fade-leave-to{opacity:0;transform:translateY(-6px)}.metric-card[data-v-b0a881d9]{display:flex;justify-content:space-between;align-items:center;padding:24px;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--border-radius-md)}.metric-card .metric-content[data-v-b0a881d9]{display:flex;flex-direction:column;gap:4px}.metric-card .metric-content .title[data-v-b0a881d9]{font-size:.85rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.metric-card .metric-content .value[data-v-b0a881d9]{font-size:2rem;font-weight:800;color:var(--text-primary);line-height:1.2}.metric-card .metric-content .subtext[data-v-b0a881d9]{font-size:.75rem;color:var(--text-muted)}.metric-card .metric-icon-wrapper[data-v-b0a881d9]{width:48px;height:48px;border-radius:var(--border-radius-sm);display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:1px solid var(--border-light);color:var(--text-secondary);transition:all var(--transition-fast)}.metric-card.purple[data-v-b0a881d9]:hover{border-color:#8b5cf64d}.metric-card.purple:hover .metric-icon-wrapper[data-v-b0a881d9]{background:#8b5cf61a;color:var(--color-primary);border-color:#8b5cf633;box-shadow:0 0 10px #8b5cf626}.metric-card.cyan[data-v-b0a881d9]:hover{border-color:#00f0ff4d}.metric-card.cyan:hover .metric-icon-wrapper[data-v-b0a881d9]{background:#00f0ff1a;color:var(--color-secondary);border-color:#00f0ff33;box-shadow:0 0 10px #00f0ff26}.metric-card.green[data-v-b0a881d9]:hover{border-color:#10b9814d}.metric-card.green:hover .metric-icon-wrapper[data-v-b0a881d9]{background:#10b9811a;color:var(--status-success);border-color:#10b98133;box-shadow:0 0 10px #10b98126}.metric-card.orange[data-v-b0a881d9]:hover{border-color:#f59e0b4d}.metric-card.orange:hover .metric-icon-wrapper[data-v-b0a881d9]{background:#f59e0b1a;color:var(--status-pending);border-color:#f59e0b33;box-shadow:0 0 10px #f59e0b26}.dashboard[data-v-5ab7f4a1]{display:flex;flex-direction:column;gap:32px}.stats-grid[data-v-5ab7f4a1]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}.dashboard-panels[data-v-5ab7f4a1]{display:grid;grid-template-columns:2fr 1fr;gap:32px;align-items:start}.panel-left[data-v-5ab7f4a1],.panel-right[data-v-5ab7f4a1]{display:flex;flex-direction:column;gap:20px}.panel-left h2[data-v-5ab7f4a1],.panel-right h2[data-v-5ab7f4a1]{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.panel-header[data-v-5ab7f4a1]{display:flex;justify-content:space-between;align-items:center}.panel-header .btn[data-v-5ab7f4a1]{font-size:.85rem;padding:8px 16px}.panel-header .btn .btn-icon[data-v-5ab7f4a1]{width:14px;height:14px}.projects-list-container[data-v-5ab7f4a1]{min-height:200px}.recent-projects-list[data-v-5ab7f4a1]{display:flex;flex-direction:column;gap:16px}.recent-project-item[data-v-5ab7f4a1]{display:flex;align-items:center;gap:16px;padding:16px;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--border-radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.recent-project-item[data-v-5ab7f4a1]:hover{border-color:var(--border-glow);box-shadow:var(--shadow-main),var(--shadow-glow)}.recent-project-item .proj-cover[data-v-5ab7f4a1]{width:48px;height:64px;object-fit:cover;border-radius:var(--border-radius-sm)}.recent-project-item .proj-details[data-v-5ab7f4a1]{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.recent-project-item .proj-details h4[data-v-5ab7f4a1]{font-size:.95rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-project-item .proj-details .proj-meta[data-v-5ab7f4a1]{font-size:.75rem;color:var(--text-secondary)}.recent-project-item .proj-details .time-stamp[data-v-5ab7f4a1]{font-size:.7rem;color:var(--text-muted)}.recent-project-item .proj-actions[data-v-5ab7f4a1]{display:flex;gap:10px}.recent-project-item .proj-actions .action-btn[data-v-5ab7f4a1]{font-size:.75rem;padding:6px 12px;height:32px;white-space:nowrap}.empty-state[data-v-5ab7f4a1]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;text-align:center;border-radius:var(--border-radius-md);border:1px dashed var(--border-light)}.empty-state .empty-icon[data-v-5ab7f4a1]{width:48px;height:48px;color:var(--text-muted);margin-bottom:16px;opacity:.5}.empty-state h3[data-v-5ab7f4a1]{font-size:1rem;font-weight:600;margin-bottom:6px}.empty-state p[data-v-5ab7f4a1]{font-size:.85rem;color:var(--text-muted)}.services-list[data-v-5ab7f4a1]{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--border-radius-md);padding:20px;display:flex;flex-direction:column;gap:16px}.service-item[data-v-5ab7f4a1]{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--border-light)}.service-item[data-v-5ab7f4a1]:last-of-type{border-bottom:none;padding-bottom:0}.service-item .service-info[data-v-5ab7f4a1]{display:flex;align-items:center;gap:12px}.service-item .service-info .service-icon[data-v-5ab7f4a1]{width:20px;height:20px;color:var(--text-secondary)}.service-item .service-info h4[data-v-5ab7f4a1]{font-size:.85rem;font-weight:600;color:var(--text-primary)}.service-item .service-info p[data-v-5ab7f4a1]{font-size:.75rem;color:var(--text-muted)}.service-item .badge[data-v-5ab7f4a1]{padding:2px 8px;font-size:.7rem}.service-item .badge .dot[data-v-5ab7f4a1]{width:5px;height:5px;border-radius:50%;background:currentColor;display:inline-block;margin-right:4px}.storage-info[data-v-5ab7f4a1]{margin-top:8px;display:flex;flex-direction:column;gap:8px}.storage-info .storage-labels[data-v-5ab7f4a1]{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-secondary);font-weight:500}.storage-info .storage-bar[data-v-5ab7f4a1]{height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden}.storage-info .storage-bar .bar-fill[data-v-5ab7f4a1]{height:100%;background:var(--color-primary);border-radius:3px}.logs-widget[data-v-5ab7f4a1]{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--border-radius-md);padding:20px}.logs-widget h3[data-v-5ab7f4a1]{font-size:.9rem;font-weight:600;margin-bottom:16px;color:var(--text-primary)}.logs-list[data-v-5ab7f4a1]{display:flex;flex-direction:column;gap:10px}.log-entry[data-v-5ab7f4a1]{display:flex;gap:12px;font-size:.75rem}.log-entry .log-time[data-v-5ab7f4a1]{color:var(--text-muted);font-family:monospace}.log-entry .log-text[data-v-5ab7f4a1]{color:var(--text-secondary)}.log-entry .log-text.success-text[data-v-5ab7f4a1]{color:var(--status-success)}.log-entry.error-entry .log-text[data-v-5ab7f4a1]{color:var(--status-error)}.list-enter-active[data-v-5ab7f4a1],.list-leave-active[data-v-5ab7f4a1]{transition:all .4s ease}.list-enter-from[data-v-5ab7f4a1]{opacity:0;transform:translateY(-20px)}.list-leave-to[data-v-5ab7f4a1]{opacity:0;transform:translate(30px)}@media (max-width: 1200px){.dashboard-panels[data-v-5ab7f4a1]{grid-template-columns:1fr}}:root{--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--bg-primary: #141218;--bg-secondary: #1f1c26;--bg-tertiary: #2a2734;--bg-elevated-primary: #1f1c26;--bg-elevated-secondary: #17151e;--bg-glass: rgba(31, 28, 38, .8);--bg-glass-hover: rgba(42, 39, 52, .9);--color-primary: #a855f7;--color-primary-glow: rgba(168, 85, 247, .22);--color-secondary: #c084fc;--color-secondary-glow: rgba(192, 132, 252, .18);--text-primary: #ffffff;--text-secondary: #e2def0;--text-tertiary: #a9a4b8;--text-muted: #8b859e;--border-light: rgba(255, 255, 255, .08);--border-default: rgba(255, 255, 255, .12);--border-glow: rgba(192, 132, 252, .2);--interactive-hover: rgba(255, 255, 255, .05);--interactive-active-bg: rgba(168, 85, 247, .14);--interactive-active-border: rgba(192, 132, 252, .25);--status-idle: #8b859e;--status-pending: #DEAA79;--status-active: #a855f7;--status-success: rgb(101, 146, 135);--status-error: #f87171;--sidebar-width: 260px;--header-height: 64px;--border-radius-sm: 8px;--border-radius-md: 12px;--border-radius-lg: 18px;--transition-fast: .18s ease;--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--shadow-main: 0 8px 30px 0 rgba(0, 0, 0, .4);--shadow-glow: 0 0 16px rgba(168, 85, 247, .1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;overflow-x:hidden;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit;background:none;border:none;outline:none}button{cursor:pointer}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}.glass-panel{background:var(--bg-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px stroke var(--border-light);border-radius:var(--border-radius-md);box-shadow:var(--shadow-main);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.glass-panel.interactive:hover{border-color:var(--border-glow);box-shadow:var(--shadow-main),var(--shadow-glow);background:var(--bg-glass-hover)}.glow-text-primary{text-shadow:0 0 8px var(--color-primary-glow)}.glow-text-secondary{text-shadow:0 0 8px var(--color-secondary-glow)}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.badge.idle{background:#6b728026;color:var(--status-idle);border:1px solid rgba(107,114,128,.25)}.badge.pending{background:#f59e0b26;color:var(--status-pending);border:1px solid rgba(245,158,11,.25)}.badge.active{background:#3b82f626;color:var(--status-active);border:1px solid rgba(59,130,246,.25)}.badge.success{background:#10b98126;color:var(--status-success);border:1px solid rgba(16,185,129,.25)}.badge.error{background:#ef444426;color:var(--status-error);border:1px solid rgba(239,68,68,.25)}.input-group{display:flex;flex-direction:column;gap:8px}.input-group label{font-size:.85rem;font-weight:500;color:var(--text-secondary)}.input-group input,.input-group select,.input-group textarea{padding:10px 14px;background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:var(--border-radius-sm);color:var(--text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input-group input:focus,.input-group select:focus,.input-group textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #8b5cf626}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:var(--border-radius-sm);font-weight:500;transition:all var(--transition-fast);cursor:pointer}.btn.primary{background:var(--color-primary);color:#fff;box-shadow:0 4px 14px 0 var(--color-primary-glow)}.btn.primary:hover{background:#7c4dff;transform:translateY(-1px);box-shadow:0 6px 20px 0 var(--color-primary-glow)}.btn.primary:active{transform:translateY(0)}.btn.secondary{background:transparent;border:1px solid var(--border-light);color:var(--text-primary)}.btn.secondary:hover{background:var(--bg-tertiary);border-color:var(--text-secondary)}.btn.icon-only{padding:8px;border-radius:50%}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}@keyframes pulse-glow{0%,to{opacity:.6;box-shadow:0 0 8px var(--color-primary-glow)}50%{opacity:1;box-shadow:0 0 16px var(--color-primary-glow)}}.pulsing-indicator{width:8px;height:8px;border-radius:50%;background:var(--color-primary);animation:pulse-glow 2s infinite ease-in-out}@keyframes progress-stripe{0%{background-position:1rem 0}to{background-position:0 0}}.animated-progress{height:6px;border-radius:3px;background-color:var(--bg-tertiary);overflow:hidden;position:relative}.animated-progress .bar{height:100%;border-radius:3px;background-size:1rem 1rem;transition:width var(--transition-normal)}.animated-progress .bar.active-bar{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);animation:progress-stripe 1s linear infinite}
