@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=Fira+Code:wght@400;500&display=swap";*{box-sizing:border-box}body{background-color:#0f0f1b;margin:0;padding:0}:root{--bg-gradient:radial-gradient(circle at 50% 50%, #1a1a2e 0%, #0f0f1b 100%);--panel-bg:#1e1e2e73;--panel-border:#ffffff14;--panel-border-hover:#8b5cf666;--accent-color:#8b5cf6;--accent-glow:#8b5cf640;--text-primary:#f3f4f6;--text-secondary:#9ca3af;--success-color:#10b981;--error-color:#ef4444;--button-hover:#7c3aed;--font-family:"Outfit", "Inter", -apple-system, sans-serif}body{background:var(--bg-gradient);color:var(--text-primary);font-family:var(--font-family);justify-content:center;align-items:stretch;min-height:100vh;margin:0;padding:0;display:flex;overflow-x:hidden}#root{flex-direction:column;width:100%;display:flex}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#ffffff05}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#8b5cf666}.login-container{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:var(--panel-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--panel-border);text-align:center;border-radius:24px;width:100%;max-width:420px;padding:40px;animation:.6s cubic-bezier(.16,1,.3,1) fadeInUp;box-shadow:0 20px 40px #00000080}.login-card h2{letter-spacing:-.5px;margin:15px 0 10px;font-size:28px;font-weight:700}.badge{background:var(--accent-glow);color:#c084fc;letter-spacing:1px;text-transform:uppercase;border:1px solid #c084fc4d;border-radius:9999px;padding:4px 12px;font-size:11px;font-weight:700;display:inline-block}.subtitle{color:var(--text-secondary);margin-bottom:30px;font-size:14px;line-height:1.5}.input-group{margin-bottom:20px;position:relative}.input-group input{box-sizing:border-box;border:1px solid var(--panel-border);color:#fff;background:#0f0f1b99;border-radius:12px;width:100%;padding:14px 16px;font-family:inherit;font-size:16px;transition:all .3s}.input-group input:focus{border-color:var(--accent-color);box-shadow:0 0 12px var(--accent-glow);outline:none}.dashboard-container{box-sizing:border-box;flex-direction:column;gap:30px;width:100%;max-width:1300px;margin:0 auto;padding:30px 20px;display:flex}.dashboard-header{background:var(--panel-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--panel-border);border-radius:20px;justify-content:space-between;align-items:center;padding:20px 30px;display:flex}.brand{align-items:center;gap:15px;display:flex}.brand h1{letter-spacing:-.5px;margin:0;font-size:22px;font-weight:700}.brand .subtitle{margin:0;font-size:13px}.logo-icon{font-size:32px}.logout-btn{padding:8px 16px;font-size:13px}.dashboard-grid{grid-template-columns:1fr 1.2fr;gap:30px;display:grid}@media (width<=1024px){.dashboard-grid{grid-template-columns:1fr}}.panel{background:var(--panel-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--panel-border);border-radius:24px;padding:30px;box-shadow:0 10px 30px #0003}.panel h3{color:#fff;border-left:3px solid var(--accent-color);margin-top:0;margin-bottom:20px;padding-left:10px;font-size:18px;font-weight:600}.input-field{margin-bottom:16px}.input-field label{text-transform:uppercase;color:var(--text-secondary);letter-spacing:.5px;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.input-field input,.input-field select{box-sizing:border-box;border:1px solid var(--panel-border);color:#fff;background:#0f0f1b80;border-radius:10px;width:100%;padding:12px 14px;font-family:inherit;font-size:14px;transition:all .3s}.input-field input:focus,.input-field select:focus{border-color:var(--accent-color);box-shadow:0 0 10px var(--accent-glow);outline:none}.divider{background:#ffffff14;border:0;height:1px;margin:25px 0}.btn-primary{background:linear-gradient(135deg, var(--accent-color) 0%, #6d28d9 100%);color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;padding:14px 20px;font-family:inherit;font-size:15px;font-weight:600;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 15px #8b5cf64d}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg, #9b6bf7 0%, var(--button-hover) 100%);transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf673}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn-secondary{color:#fff;border:1px solid var(--panel-border);cursor:pointer;background:#ffffff0d;border-radius:10px;width:100%;padding:12px 20px;font-family:inherit;font-size:14px;font-weight:500;transition:all .3s}.btn-secondary:hover:not(:disabled){background:#ffffff1a;border-color:#fff3}.start-btn{margin-top:10px}.generators-list{flex-direction:column;gap:12px;margin-bottom:25px;display:flex}.generator-card{border:1px solid var(--panel-border);cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff05;border-radius:14px;align-items:flex-start;gap:15px;padding:14px 16px;transition:all .3s;display:flex}.generator-card:hover{border-color:var(--panel-border-hover);background:#ffffff0a}.generator-card.selected{border-color:var(--accent-color);box-shadow:0 0 10px var(--accent-glow);background:#8b5cf614}.gen-checkbox input{width:18px;height:18px;accent-color:var(--accent-color);cursor:pointer;margin-top:3px}.gen-details h4{margin:0 0 4px;font-size:14px;font-weight:600}.gen-details p{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.4}.status-box{border-radius:10px;margin-top:15px;padding:12px 16px;font-size:13px;line-height:1.4}.error-box{color:#f87171;background:#ef44441a;border:1px solid #ef444433}.success-box{color:#34d399;background:#10b9811a;border:1px solid #10b98133}.error-text{color:#f87171;margin-bottom:15px;font-size:13px}.console-panel{flex-direction:column;height:calc(100vh - 170px);min-height:600px;display:flex}@media (width<=1024px){.console-panel{height:500px;min-height:400px}}.console-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.pulsing-dot{background-color:var(--success-color);border-radius:50%;width:8px;height:8px;animation:1.6s infinite pulse;box-shadow:0 0 #10b981b3}.progress-container{align-items:center;gap:15px;margin-bottom:20px;display:flex}.progress-bar-wrapper{background:#ffffff0d;border-radius:9999px;flex-grow:1;height:6px;overflow:hidden}.progress-bar{background:linear-gradient(90deg, var(--accent-color) 0%, #a78bfa 100%);border-radius:9999px;height:100%;transition:width .4s;box-shadow:0 0 8px #8b5cf680}.progress-value{color:var(--accent-color);text-align:right;min-width:35px;font-size:13px;font-weight:700}.console-window{color:#34d399;background:#0a0a12d9;border:1px solid #ffffff0d;border-radius:16px;flex-direction:column;flex-grow:1;gap:8px;padding:20px;font-family:Fira Code,Courier New,Courier,monospace;font-size:12px;line-height:1.6;display:flex;overflow-y:auto;box-shadow:inset 0 2px 8px #00000080}.console-placeholder{color:var(--text-secondary);text-align:center;font-family:var(--font-family);margin:auto;font-size:13px}.console-line{word-break:break-all;white-space:pre-wrap}.timestamp{color:var(--accent-color);margin-right:8px}@keyframes pulse{0%{transform:scale(.95);box-shadow:0 0 #10b981b3}70%{transform:scale(1);box-shadow:0 0 0 6px #10b98100}to{transform:scale(.95);box-shadow:0 0 #10b98100}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.counts-config{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:5px;display:grid}.count-field{flex-direction:column;gap:6px;display:flex}.count-field label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.count-field input[type=range]{width:100%;accent-color:var(--accent-color);cursor:pointer;background:#ffffff0d;border-radius:4px;outline:none;height:6px;transition:opacity .2s}.count-field input[type=range]:disabled{opacity:.3;cursor:not-allowed}.modules-checklist{border:1px solid var(--panel-border);text-align:left;background:#ffffff05;border-radius:12px;margin-top:20px;padding:15px}.modules-checklist h4{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px;font-size:11px;font-weight:600}.modules-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.module-badge{border:1px solid var(--panel-border);background:#0f0f1b66;border-radius:8px;align-items:center;gap:8px;padding:6px 10px;font-family:monospace;font-size:11px;display:flex}.module-badge.installed{color:#34d399;border-color:#10b98140}.module-badge.installed .dot{background-color:var(--success-color);box-shadow:0 0 8px var(--success-color)}.module-badge.missing{color:#f87171;border-color:#ef444440}.module-badge.missing .dot{background-color:var(--error-color);box-shadow:0 0 8px var(--error-color)}.module-badge .dot{border-radius:50%;width:6px;height:6px}.toast-container{z-index:9999;flex-direction:column;gap:12px;display:flex;position:fixed;top:24px;right:24px}.toast{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--panel-border);color:var(--text-primary);background:#0f172ae6;border-radius:12px;align-items:center;gap:12px;min-width:280px;max-width:400px;padding:14px 20px;font-size:13px;font-weight:500;animation:.3s cubic-bezier(.16,1,.3,1) forwards slideIn;display:flex;box-shadow:0 10px 25px -5px #00000080,0 8px 10px -6px #00000080}.toast-success{border-left:4px solid var(--success-color)}.toast-error{border-left:4px solid var(--error-color)}.toast-icon{font-size:16px}.toast-message{line-height:1.4}@keyframes slideIn{0%{opacity:0;transform:translate(100px)translateY(-10px)}to{opacity:1;transform:translate(0)translateY(0)}}
