@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg-primary:#080b11;--bg-secondary:#0f1420;--bg-tertiary:#171d2e;--border-color:#ffffff12;--border-hover:#00f2fe40;--border-focus:#00f2fe;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--accent-cyan:#00f2fe;--accent-blue:#3b82f6;--accent-purple:#a855f7;--accent-green:#10b981;--accent-yellow:#eab308;--accent-red:#ef4444;--gradient-primary:linear-gradient(135deg, #00f2fe 0%, #4facfe 100%);--gradient-dark:linear-gradient(180deg, #111827 0%, #030712 100%);--gradient-glass:linear-gradient(135deg, #171d2eb3 0%, #0f142080 100%);--gradient-neon:linear-gradient(90deg, #00f2fe, #a855f7, #3b82f6);--shadow-glow-cyan:0 0 20px #00f2fe40;--shadow-glow-purple:0 0 20px #a855f740;--shadow-card:0 10px 30px -10px #00000080;--glass-blur:blur(16px);--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-header:"Outfit", sans-serif;--font-mono:"JetBrains Mono", monospace;--sidebar-width:280px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;width:100vw;height:100vh;overflow:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-header);letter-spacing:-.02em}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}.app-container{background:radial-gradient(circle at 10% 20%, #00f2fe0d 0%, #a855f705 90%), var(--bg-primary);width:100vw;height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border-color);z-index:10;flex-direction:column;flex-shrink:0;height:100%;display:flex}.sidebar-header{border-bottom:1px solid var(--border-color);align-items:center;gap:12px;padding:24px 20px;display:flex}.logo-icon{background:var(--gradient-primary);width:38px;height:38px;box-shadow:var(--shadow-glow-cyan);border-radius:10px;justify-content:center;align-items:center;display:flex}.logo-text{background:linear-gradient(120deg,#fff 30%,#a855f7 90%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.15rem;font-weight:800}.sidebar-menu{flex-direction:column;flex:1;gap:6px;padding:16px 12px;display:flex;overflow-y:auto}.menu-section-title{text-transform:uppercase;color:var(--text-muted);letter-spacing:.1em;padding:12px 12px 6px;font-size:.7rem;font-weight:700}.menu-item{color:var(--text-secondary);cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:center;gap:12px;padding:11px 12px;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.menu-item:hover{color:var(--text-primary);border-color:var(--border-color);background:#ffffff08}.menu-item.active{color:var(--accent-cyan);background:#00f2fe14;border-color:#00f2fe33;box-shadow:inset 0 0 12px #00f2fe0d}.sidebar-footer{border-top:1px solid var(--border-color);background:#00000026;padding:16px}.company-selector{background:var(--bg-tertiary);border:1px solid var(--border-color);cursor:pointer;border-radius:6px;align-items:center;gap:10px;padding:8px 12px;font-size:.8rem;display:flex}.main-wrapper{flex-direction:column;flex:1;height:100%;display:flex;overflow:hidden}.topbar{height:64px;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--border-color);z-index:9;background:#0f142099;justify-content:space-between;align-items:center;padding:0 24px;display:flex}.topbar-left,.topbar-right{align-items:center;gap:16px;display:flex}.project-badge{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:20px;align-items:center;gap:8px;padding:6px 16px;font-size:.85rem;font-weight:500;display:flex}.project-status{background-color:var(--accent-green);width:8px;height:8px;box-shadow:0 0 8px var(--accent-green);border-radius:50%}.workspace-container{flex-direction:column;flex:1;gap:24px;padding:24px;display:flex;overflow-y:auto}.glass-card{background:var(--gradient-glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--border-color);box-shadow:var(--shadow-card);border-radius:12px;padding:24px;transition:border-color .3s}.glass-card:hover{border-color:var(--border-hover)}.glass-card-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:18px;padding-bottom:12px;display:flex}.glass-card-title{align-items:center;gap:10px;font-size:1.1rem;font-weight:600;display:flex}.btn{cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:.875rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-primary{background:var(--gradient-primary);color:#030712;box-shadow:var(--shadow-glow-cyan)}.btn-primary:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 0 25px #00f2fe66}.btn-secondary{border:1px solid var(--border-color);color:var(--text-primary);background:#ffffff0d}.btn-secondary:hover{border-color:var(--border-hover);background:#ffffff14}.form-group{flex-direction:column;gap:8px;display:flex}.form-label{color:var(--text-secondary);font-size:.8rem;font-weight:600}.form-input,.form-select{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);font-size:.9rem;font-family:var(--font-sans);border-radius:8px;outline:none;padding:10px 14px;transition:all .2s}.form-input:focus,.form-select:focus{border-color:var(--border-focus);box-shadow:0 0 10px #00f2fe26}@keyframes pulseGlow{0%,to{opacity:.4}50%{opacity:1}}@keyframes scanLine{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes particleFlow{0%{stroke-dashoffset:20px}to{stroke-dashoffset:0}}.pulse-dot{animation:2s infinite pulseGlow}.cfd-canvas{border:1px solid var(--border-color);background:#05070c;border-radius:8px}.wizard-shell{flex:1;height:100%;display:flex;overflow:hidden}.wizard-progress-rail{background:var(--bg-secondary);border-right:1px solid var(--border-color);flex-shrink:0;width:260px;padding:20px 14px;overflow-y:auto}.wizard-progress-title{text-transform:uppercase;color:var(--text-muted);letter-spacing:.1em;margin-bottom:16px;padding:0 8px;font-size:.7rem;font-weight:700}.wizard-step-item{cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:center;gap:12px;margin-bottom:2px;padding:10px 12px;transition:all .25s;display:flex}.wizard-step-item:hover{background:#ffffff08}.wizard-step-item.active{background:#00f2fe14;border-color:#00f2fe33}.wizard-step-item.completed{opacity:.8}.wizard-step-dot{border:2px solid var(--border-color);width:28px;height:28px;color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.7rem;font-weight:700;transition:all .3s;display:flex}.wizard-step-item.active .wizard-step-dot{border-color:var(--accent-cyan);color:var(--accent-cyan);background:#00f2fe1a;box-shadow:0 0 12px #00f2fe4d}.wizard-step-item.completed .wizard-step-dot{border-color:var(--accent-green);color:var(--accent-green);background:#10b98126}.wizard-step-label{color:var(--text-secondary);font-size:.8rem;font-weight:500;line-height:1.3}.wizard-step-item.active .wizard-step-label{color:var(--text-primary);font-weight:600}.wizard-content{flex-direction:column;flex:1;display:flex;overflow:hidden}.wizard-header{border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background:#0f142080;justify-content:space-between;align-items:center;padding:20px 32px;display:flex}.wizard-question{font-family:var(--font-header);color:var(--text-primary);font-size:1.5rem;font-weight:700;line-height:1.3}.wizard-subtitle{color:var(--text-secondary);margin-top:4px;font-size:.9rem}.wizard-body{flex:1;padding:28px 32px;overflow-y:auto}.wizard-mode-toggle{border:1px solid var(--border-color);border-radius:8px;gap:0;display:flex;overflow:hidden}.wizard-mode-btn{cursor:pointer;color:var(--text-muted);white-space:nowrap;background:0 0;border:none;padding:6px 14px;font-size:.75rem;font-weight:600;transition:all .2s}.wizard-mode-btn.active{color:var(--accent-cyan);background:#00f2fe1f}.wizard-mode-btn:hover:not(.active){color:var(--text-primary);background:#ffffff08}.wizard-card-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-top:20px;display:grid}.wizard-option-card{background:var(--gradient-glass);border:1px solid var(--border-color);cursor:pointer;text-align:center;border-radius:12px;padding:20px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.wizard-option-card:hover{border-color:var(--border-hover);transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.wizard-option-card.selected{border-color:var(--accent-cyan);box-shadow:var(--shadow-glow-cyan);background:#00f2fe0f}.wizard-option-card .card-icon{margin-bottom:10px;font-size:2rem;display:block}.wizard-option-card .card-title{color:var(--text-primary);margin-bottom:4px;font-size:.9rem;font-weight:600}.wizard-option-card .card-desc{color:var(--text-muted);font-size:.75rem;line-height:1.4}.wizard-upload-zone{border:2px dashed var(--border-color);text-align:center;cursor:pointer;background:#00000026;border-radius:16px;margin-top:16px;padding:48px 32px;transition:all .3s}.wizard-upload-zone:hover{border-color:var(--accent-cyan);background:#00f2fe08}.wizard-upload-zone.dragover{border-color:var(--accent-cyan);background:#00f2fe14;box-shadow:inset 0 0 30px #00f2fe0d}.wizard-ai-badge{color:var(--accent-purple);background:linear-gradient(135deg,#a855f726,#3b82f626);border:1px solid #a855f74d;border-radius:20px;align-items:center;gap:6px;padding:5px 12px;font-size:.75rem;font-weight:600;display:inline-flex}.wizard-action-bar{border-top:1px solid var(--border-color);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background:#0f1420cc;justify-content:space-between;align-items:center;padding:16px 32px;display:flex}.wizard-action-bar .progress-text{color:var(--text-muted);font-size:.8rem;font-weight:500}.wizard-action-bar .btn-group{gap:10px;display:flex}.wizard-progress-bar{background:var(--bg-tertiary);border-radius:2px;height:4px;margin:16px 8px 8px;overflow:hidden}.wizard-progress-fill{background:var(--gradient-primary);border-radius:2px;height:100%;transition:width .5s cubic-bezier(.4,0,.2,1);box-shadow:0 0 8px #00f2fe66}.wizard-review-table{border-collapse:separate;border-spacing:0;width:100%;font-size:.85rem}.wizard-review-table th{background:var(--bg-tertiary);text-align:left;color:var(--text-secondary);border-bottom:1px solid var(--border-color);text-transform:uppercase;letter-spacing:.05em;padding:10px 14px;font-size:.75rem;font-weight:600}.wizard-review-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:10px 14px}.wizard-review-table tr:hover td{background:#ffffff05}.wizard-report-card{background:var(--gradient-glass);border:1px solid var(--border-color);border-radius:12px;transition:border-color .3s;overflow:hidden}.wizard-report-card:hover{border-color:var(--border-hover)}.wizard-report-header{border-bottom:1px solid var(--border-color);align-items:center;gap:10px;padding:16px 20px;font-size:.95rem;font-weight:600;display:flex}.wizard-report-body{padding:16px 20px;overflow-x:auto}.wizard-alert{background:#0003;border-left:4px solid;border-radius:10px;margin-bottom:10px;padding:14px 18px}.wizard-alert.critical{border-left-color:var(--accent-red);background:#ef44440f}.wizard-alert.warning{border-left-color:var(--accent-yellow);background:#eab3080f}.wizard-alert.advisory{border-left-color:var(--accent-blue);background:#3b82f60f}.wizard-alert-title{align-items:center;gap:8px;margin-bottom:4px;font-size:.9rem;font-weight:700;display:flex}.wizard-alert-desc{color:var(--text-secondary);font-size:.8rem;line-height:1.5}.wizard-step-enter{opacity:0;transform:translate(20px)}.wizard-step-active{opacity:1;transition:all .35s cubic-bezier(.4,0,.2,1);transform:translate(0)}.wizard-why-panel{border:1px solid var(--border-color);color:var(--text-secondary);background:#0003;border-radius:8px;margin-top:16px;padding:14px 18px;font-size:.8rem;line-height:1.6}.wizard-why-toggle{cursor:pointer;color:var(--accent-purple);background:0 0;border:none;align-items:center;gap:4px;margin-top:12px;padding:0;font-size:.8rem;font-weight:600;display:inline-flex}.wizard-room-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:10px;margin-bottom:10px;padding:16px 20px;transition:border-color .2s}.wizard-room-card:hover{border-color:var(--border-hover)}.wizard-room-card.active-room{border-color:var(--accent-cyan);box-shadow:0 0 12px #00f2fe1a}@keyframes wizardSpin{to{transform:rotate(360deg)}}@keyframes wizardPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.wizard-generating{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:24px;padding:60px 32px;display:flex}.wizard-spinner{border:3px solid var(--border-color);border-top-color:var(--accent-cyan);border-radius:50%;width:48px;height:48px;animation:1s linear infinite wizardSpin}.wizard-gen-step{color:var(--text-secondary);font-size:.9rem;animation:2s infinite wizardPulse}.wizard-inline-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.wizard-inline-row .form-group{flex:1;min-width:160px}.wizard-stat-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:24px;display:grid}.wizard-stat-card{background:var(--bg-tertiary);border:1px solid var(--border-color);text-align:center;border-radius:10px;padding:18px}.wizard-stat-value{font-family:var(--font-mono);color:var(--accent-cyan);font-size:1.6rem;font-weight:700}.wizard-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:4px;font-size:.75rem;font-weight:600}.wizard-diagram{border:1px solid var(--border-color);background:#00000040;border-radius:10px;justify-content:center;align-items:center;min-height:200px;margin:16px 0;padding:24px;display:flex}.wizard-tabs{border-bottom:1px solid var(--border-color);gap:0;padding:0 32px;display:flex;overflow-x:auto}.wizard-tab{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:12px 18px;font-size:.8rem;font-weight:600;transition:all .2s}.wizard-tab:hover{color:var(--text-primary)}.wizard-tab.active{color:var(--accent-cyan);border-bottom-color:var(--accent-cyan)}
