:root{--primary-dark: #1a1d29;--secondary-dark: #252936;--accent-blue: #4a9eff;--text-light: #e4e6eb;--text-muted: #8b92a8;--border-color: #3a3f51}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(135deg,#1a1d29,#252936);color:var(--text-light);margin:0;padding:0;min-height:100vh}.wizard-container{min-height:calc(100vh - 60px);padding:40px 20px}.wizard-content{max-width:800px;margin:0 auto}.step-indicators{display:flex;justify-content:space-between;align-items:center;max-width:600px;margin:0 auto 30px;position:relative;padding:0 20px}.step-indicators:before{content:"";position:absolute;top:21px;left:100px;right:100px;height:1px;background:var(--border-color);z-index:0}.step-item{display:flex;flex-direction:column;align-items:center;gap:10px;position:relative;z-index:1;transition:all .3s ease}.step-number{width:42px;height:42px;border-radius:50%;background:var(--secondary-dark);border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px;color:var(--text-muted);transition:all .3s ease}.step-item.active .step-number{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.step-item.completed .step-number{background:#34c759;border-color:#34c759;color:#fff}.step-item.completed .step-number:before{content:"\2713";font-family:inherit;font-size:24px;font-weight:700}.step-item.completed .step-number{font-size:0}.step-label{font-size:12px;color:var(--text-muted);font-weight:500;white-space:nowrap}.step-item.active .step-label{color:var(--text-light)}.wizard-main{background:var(--secondary-dark);border-radius:12px;padding:40px;border:1px solid var(--border-color)}.wizard-title{text-align:center;color:var(--text-light);margin-bottom:15px;font-size:28px;font-weight:600}.wizard-subtitle{text-align:center;color:var(--text-muted);margin-bottom:40px;font-size:16px}.form-label{color:var(--text-light);font-weight:500;margin-bottom:10px}.form-control,.form-select{background:var(--primary-dark);border:1px solid var(--border-color);color:var(--text-light);padding:12px 16px;border-radius:8px;transition:all .3s ease}.form-control:focus,.form-select:focus{background:var(--primary-dark);border-color:var(--accent-blue);color:var(--text-light);box-shadow:0 0 0 .25rem #4a9eff26}.form-control::placeholder{color:var(--text-muted)}.form-select option{background:var(--primary-dark);color:var(--text-light)}textarea.form-control{resize:vertical;min-height:120px}.form-text{color:var(--text-muted);font-size:13px}.additional-context-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:15px}.context-btn{background:var(--primary-dark);border:2px solid var(--border-color);border-radius:10px;padding:20px;display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer;transition:all .3s ease;color:var(--text-light)}.context-btn:hover{border-color:var(--accent-blue);transform:translateY(-2px)}.context-btn.active{background:transparent;border-color:var(--accent-blue);color:var(--accent-blue)}.context-btn i{font-size:28px}.data-source-card{background:var(--primary-dark);border:1px solid var(--border-color);border-radius:10px;padding:20px;margin-bottom:15px}.btn-primary{background:var(--accent-blue);border-color:var(--accent-blue);padding:10px 24px;font-weight:500;border-radius:8px;transition:all .3s ease}.btn-primary:hover{background:#3a8eef;border-color:#3a8eef;transform:translateY(-2px);box-shadow:0 4px 12px #4a9eff4d}.btn-outline-primary{color:var(--accent-blue);border-color:var(--accent-blue);padding:10px 24px;font-weight:500;border-radius:8px}.btn-outline-primary:hover{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.btn-secondary,.btn-outline-secondary{background:var(--border-color);border-color:var(--border-color);color:var(--text-light)}.btn-success{background:#28a745;border-color:#28a745}.card{background:var(--primary-dark);border:1px solid var(--border-color);color:var(--text-light);border-radius:10px;transition:transform .3s ease,box-shadow .3s ease}.card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.card-title{color:var(--text-light)}.card-subtitle{color:var(--text-muted)}.card-text{color:var(--text-light)}.alert-info{background:#4a9eff1a;border-color:var(--accent-blue);color:var(--text-light)}.alert-success{background:#28a7451a;border-color:#28a745;color:var(--text-light)}.badge{padding:6px 12px;font-weight:500;border-radius:6px}.list-group-item{background:var(--secondary-dark);border-color:var(--border-color);color:var(--text-light)}.navbar{padding:15px 0}.navbar-brand{font-weight:600;font-size:20px;color:var(--text-light)!important}.brand-icon{width:40px;height:40px;background:var(--accent-blue);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:20px}.nav-link{color:var(--text-muted)!important;font-weight:500;transition:all .3s ease;padding:8px 16px!important;border-radius:6px}.nav-link:hover{color:var(--text-light)!important;background:#ffffff0d}.nav-link.active{color:var(--accent-blue)!important;background:#4a9eff1a}.spinner-border{width:3rem;height:3rem}.modal-overlay{position:fixed;inset:0;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px;animation:modalFadeIn .2s ease}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal-dialog{background:var(--secondary-dark);border:1px solid var(--border-color);border-radius:12px;width:100%;max-width:600px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080;animation:modalSlideUp .3s ease;position:relative;pointer-events:auto;z-index:10000}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{padding:24px 28px;border-bottom:1px solid var(--border-color);position:sticky;top:0;background:var(--secondary-dark);z-index:10;display:flex;justify-content:space-between;align-items:flex-start}.modal-header-content{flex:1;padding-right:20px}.modal-title{color:var(--text-light);font-size:20px;font-weight:600;margin:0 0 8px;line-height:1.3}.modal-subtitle{color:var(--text-muted);font-size:14px;margin:0;line-height:1.5}.btn-close{position:relative;top:0;right:0;background:transparent;border:none;color:var(--text-muted);font-size:24px;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease;padding:0;line-height:1;flex-shrink:0}.btn-close:hover{background:#ffffff1a;color:var(--text-light)}.modal-body{padding:24px;overflow-y:auto;flex:1;pointer-events:auto}.modal-footer{padding:20px 24px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:12px;pointer-events:auto}.btn-cancel{background:transparent;border:1px solid var(--border-color);color:var(--text-light);padding:10px 24px;border-radius:8px;font-weight:500;cursor:pointer;transition:all .3s ease}.btn-cancel:hover{border-color:var(--accent-blue);color:var(--accent-blue);background:#4a9eff0d}.btn-submit{background:var(--accent-blue);border:none;color:#fff;padding:10px 24px;border-radius:8px;font-weight:500;cursor:pointer;transition:all .3s ease}.btn-submit:hover:not(:disabled){background:#3a8eef;transform:translateY(-2px);box-shadow:0 4px 12px #4a9eff66}.btn-submit:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.wizard-main{padding:24px}.step-indicators{flex-direction:column;gap:20px}.step-indicators:before{display:none}.additional-context-grid{grid-template-columns:repeat(2,1fr)}.modal-overlay{padding:0}.modal-dialog{max-width:100%;max-height:100vh;height:100vh;border-radius:0}}
